aboutsummaryrefslogtreecommitdiff
path: root/priv/static/adminfe/static/js
diff options
context:
space:
mode:
Diffstat (limited to 'priv/static/adminfe/static/js')
-rw-r--r--priv/static/adminfe/static/js/ZhIB.861df339.js9
-rw-r--r--priv/static/adminfe/static/js/ZhIB.861df339.js.map1
-rw-r--r--priv/static/adminfe/static/js/app.19b7049e.js2
-rw-r--r--priv/static/adminfe/static/js/app.19b7049e.js.map1
-rw-r--r--priv/static/adminfe/static/js/app.9c4316f1.js2
-rw-r--r--priv/static/adminfe/static/js/app.9c4316f1.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-0620.c765c190.js9
-rw-r--r--priv/static/adminfe/static/js/chunk-0620.c765c190.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-0cb6.b9f32e0c.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-0cb6.b9f32e0c.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-0cc4.35b47d0a.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-0cc4.35b47d0a.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-15fa.10871dbf.js (renamed from priv/static/adminfe/static/js/chunk-15fa.34dcb9d8.js)2
-rw-r--r--priv/static/adminfe/static/js/chunk-15fa.10871dbf.js.map (renamed from priv/static/adminfe/static/js/chunk-15fa.34dcb9d8.js.map)2
-rw-r--r--priv/static/adminfe/static/js/chunk-18e1.9f7c9b0f.js (renamed from priv/static/adminfe/static/js/chunk-18e1.f8bb78f3.js)2
-rw-r--r--priv/static/adminfe/static/js/chunk-18e1.9f7c9b0f.js.map (renamed from priv/static/adminfe/static/js/chunk-18e1.f8bb78f3.js.map)2
-rw-r--r--priv/static/adminfe/static/js/chunk-1c46.b92c7c1b.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-1c46.b92c7c1b.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-23b2.442bb8df.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-23b2.442bb8df.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-2943.8ab5d0d9.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-2943.8ab5d0d9.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-3d1c.3334d3f1.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-3d1c.3334d3f1.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-4df4.9655f394.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-4df4.9655f394.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-538a.04530055.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-538a.04530055.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-7c6b.5240e052.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-7c6b.5240e052.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-7de9.7b8cda50.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-7de9.7b8cda50.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-7f8e.2c3e63e9.js (renamed from priv/static/adminfe/static/js/chunk-7f8e.c1eb619d.js)2
-rw-r--r--priv/static/adminfe/static/js/chunk-7f8e.2c3e63e9.js.map (renamed from priv/static/adminfe/static/js/chunk-7f8e.c1eb619d.js.map)2
-rw-r--r--priv/static/adminfe/static/js/chunk-9bb0.9c56835f.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-9bb0.9c56835f.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-a601.cc880efe.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-a601.cc880efe.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-d01a.970cf312.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-d01a.970cf312.js.map1
-rw-r--r--priv/static/adminfe/static/js/chunk-f3c9.b3de53e2.js2
-rw-r--r--priv/static/adminfe/static/js/chunk-f3c9.b3de53e2.js.map1
-rw-r--r--priv/static/adminfe/static/js/runtime.46db235c.js2
-rw-r--r--priv/static/adminfe/static/js/runtime.46db235c.js.map1
-rw-r--r--priv/static/adminfe/static/js/runtime.d6d1aaab.js2
-rw-r--r--priv/static/adminfe/static/js/runtime.d6d1aaab.js.map1
46 files changed, 43 insertions, 43 deletions
diff --git a/priv/static/adminfe/static/js/ZhIB.861df339.js b/priv/static/adminfe/static/js/ZhIB.861df339.js
new file mode 100644
index 000000000..aeec873c8
--- /dev/null
+++ b/priv/static/adminfe/static/js/ZhIB.861df339.js
@@ -0,0 +1,9 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([["ZhIB"],{ZhIB:function(e,r,t){var n,i;
+/*! @preserve
+ * numeral.js
+ * version : 2.0.6
+ * author : Adam Draper
+ * license : MIT
+ * http://adamwdraper.github.com/Numeral-js/
+ */void 0===(i="function"==typeof(n=function(){var e,r,t={},n={},i={currentLocale:"en",zeroFormat:null,nullFormat:null,defaultFormat:"0,0",scalePercentBy100:!0},o={currentLocale:i.currentLocale,zeroFormat:i.zeroFormat,nullFormat:i.nullFormat,defaultFormat:i.defaultFormat,scalePercentBy100:i.scalePercentBy100};function a(e,r){this._input=e,this._value=r}return(e=function(n){var i,l,u,s;if(e.isNumeral(n))i=n.value();else if(0===n||void 0===n)i=0;else if(null===n||r.isNaN(n))i=null;else if("string"==typeof n)if(o.zeroFormat&&n===o.zeroFormat)i=0;else if(o.nullFormat&&n===o.nullFormat||!n.replace(/[^0-9]+/g,"").length)i=null;else{for(l in t)if((s="function"==typeof t[l].regexps.unformat?t[l].regexps.unformat():t[l].regexps.unformat)&&n.match(s)){u=t[l].unformat;break}i=(u=u||e._.stringToNumber)(n)}else i=Number(n)||null;return new a(n,i)}).version="2.0.6",e.isNumeral=function(e){return e instanceof a},e._=r={numberToFormat:function(r,t,i){var o,a,l,u,s,c,f,m,h=n[e.options.currentLocale],d=!1,b=!1,p="",g="",v=!1;if(r=r||0,l=Math.abs(r),e._.includes(t,"(")?(d=!0,t=t.replace(/[\(|\)]/g,"")):(e._.includes(t,"+")||e._.includes(t,"-"))&&(c=e._.includes(t,"+")?t.indexOf("+"):r<0?t.indexOf("-"):-1,t=t.replace(/[\+|\-]/g,"")),e._.includes(t,"a")&&(a=!!(a=t.match(/a(k|m|b|t)?/))&&a[1],e._.includes(t," a")&&(p=" "),t=t.replace(new RegExp(p+"a[kmbt]?"),""),l>=1e12&&!a||"t"===a?(p+=h.abbreviations.trillion,r/=1e12):l<1e12&&l>=1e9&&!a||"b"===a?(p+=h.abbreviations.billion,r/=1e9):l<1e9&&l>=1e6&&!a||"m"===a?(p+=h.abbreviations.million,r/=1e6):(l<1e6&&l>=1e3&&!a||"k"===a)&&(p+=h.abbreviations.thousand,r/=1e3)),e._.includes(t,"[.]")&&(b=!0,t=t.replace("[.]",".")),u=r.toString().split(".")[0],s=t.split(".")[1],f=t.indexOf(","),o=(t.split(".")[0].split(",")[0].match(/0/g)||[]).length,s?(e._.includes(s,"[")?(s=(s=s.replace("]","")).split("["),g=e._.toFixed(r,s[0].length+s[1].length,i,s[1].length)):g=e._.toFixed(r,s.length,i),u=g.split(".")[0],g=e._.includes(g,".")?h.delimiters.decimal+g.split(".")[1]:"",b&&0===Number(g.slice(1))&&(g="")):u=e._.toFixed(r,0,i),p&&!a&&Number(u)>=1e3&&p!==h.abbreviations.trillion)switch(u=String(Number(u)/1e3),p){case h.abbreviations.thousand:p=h.abbreviations.million;break;case h.abbreviations.million:p=h.abbreviations.billion;break;case h.abbreviations.billion:p=h.abbreviations.trillion}if(e._.includes(u,"-")&&(u=u.slice(1),v=!0),u.length<o)for(var _=o-u.length;_>0;_--)u="0"+u;return f>-1&&(u=u.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+h.delimiters.thousands)),0===t.indexOf(".")&&(u=""),m=u+g+(p||""),d?m=(d&&v?"(":"")+m+(d&&v?")":""):c>=0?m=0===c?(v?"-":"+")+m:m+(v?"-":"+"):v&&(m="-"+m),m},stringToNumber:function(e){var r,t,i,a=n[o.currentLocale],l=e,u={thousand:3,million:6,billion:9,trillion:12};if(o.zeroFormat&&e===o.zeroFormat)t=0;else if(o.nullFormat&&e===o.nullFormat||!e.replace(/[^0-9]+/g,"").length)t=null;else{for(r in t=1,"."!==a.delimiters.decimal&&(e=e.replace(/\./g,"").replace(a.delimiters.decimal,".")),u)if(i=new RegExp("[^a-zA-Z]"+a.abbreviations[r]+"(?:\\)|(\\"+a.currency.symbol+")?(?:\\))?)?$"),l.match(i)){t*=Math.pow(10,u[r]);break}t*=(e.split("-").length+Math.min(e.split("(").length-1,e.split(")").length-1))%2?1:-1,e=e.replace(/[^0-9\.]+/g,""),t*=Number(e)}return t},isNaN:function(e){return"number"==typeof e&&isNaN(e)},includes:function(e,r){return-1!==e.indexOf(r)},insert:function(e,r,t){return e.slice(0,t)+r+e.slice(t)},reduce:function(e,r){if(null===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof r)throw new TypeError(r+" is not a function");var t,n=Object(e),i=n.length>>>0,o=0;if(3===arguments.length)t=arguments[2];else{for(;o<i&&!(o in n);)o++;if(o>=i)throw new TypeError("Reduce of empty array with no initial value");t=n[o++]}for(;o<i;o++)o in n&&(t=r(t,n[o],o,n));return t},multiplier:function(e){var r=e.toString().split(".");return r.length<2?1:Math.pow(10,r[1].length)},correctionFactor:function(){return Array.prototype.slice.call(arguments).reduce(function(e,t){var n=r.multiplier(t);return e>n?e:n},1)},toFixed:function(e,r,t,n){var i,o,a,l,u=e.toString().split("."),s=r-(n||0);return i=2===u.length?Math.min(Math.max(u[1].length,s),r):s,a=Math.pow(10,i),l=(t(e+"e+"+i)/a).toFixed(i),n>r-i&&(o=new RegExp("\\.?0{1,"+(n-(r-i))+"}$"),l=l.replace(o,"")),l}},e.options=o,e.formats=t,e.locales=n,e.locale=function(e){return e&&(o.currentLocale=e.toLowerCase()),o.currentLocale},e.localeData=function(e){if(!e)return n[o.currentLocale];if(e=e.toLowerCase(),!n[e])throw new Error("Unknown locale : "+e);return n[e]},e.reset=function(){for(var e in i)o[e]=i[e]},e.zeroFormat=function(e){o.zeroFormat="string"==typeof e?e:null},e.nullFormat=function(e){o.nullFormat="string"==typeof e?e:null},e.defaultFormat=function(e){o.defaultFormat="string"==typeof e?e:"0.0"},e.register=function(e,r,t){if(r=r.toLowerCase(),this[e+"s"][r])throw new TypeError(r+" "+e+" already registered.");return this[e+"s"][r]=t,t},e.validate=function(r,t){var n,i,o,a,l,u,s,c;if("string"!=typeof r&&(r+="",console.warn&&console.warn("Numeral.js: Value is not string. It has been co-erced to: ",r)),(r=r.trim()).match(/^\d+$/))return!0;if(""===r)return!1;try{s=e.localeData(t)}catch(r){s=e.localeData(e.locale())}return o=s.currency.symbol,l=s.abbreviations,n=s.delimiters.decimal,i="."===s.delimiters.thousands?"\\.":s.delimiters.thousands,!(null!==(c=r.match(/^[^\d]+/))&&(r=r.substr(1),c[0]!==o)||null!==(c=r.match(/[^\d]+$/))&&(r=r.slice(0,-1),c[0]!==l.thousand&&c[0]!==l.million&&c[0]!==l.billion&&c[0]!==l.trillion)||(u=new RegExp(i+"{2}"),r.match(/[^\d.,]/g)||(a=r.split(n)).length>2||(a.length<2?!a[0].match(/^\d+.*\d$/)||a[0].match(u):1===a[0].length?!a[0].match(/^\d+$/)||a[0].match(u)||!a[1].match(/^\d+$/):!a[0].match(/^\d+.*\d$/)||a[0].match(u)||!a[1].match(/^\d+$/))))},e.fn=a.prototype={clone:function(){return e(this)},format:function(r,n){var i,a,l,u=this._value,s=r||o.defaultFormat;if(n=n||Math.round,0===u&&null!==o.zeroFormat)a=o.zeroFormat;else if(null===u&&null!==o.nullFormat)a=o.nullFormat;else{for(i in t)if(s.match(t[i].regexps.format)){l=t[i].format;break}a=(l=l||e._.numberToFormat)(u,s,n)}return a},value:function(){return this._value},input:function(){return this._input},set:function(e){return this._value=Number(e),this},add:function(e){var t=r.correctionFactor.call(null,this._value,e);return this._value=r.reduce([this._value,e],function(e,r,n,i){return e+Math.round(t*r)},0)/t,this},subtract:function(e){var t=r.correctionFactor.call(null,this._value,e);return this._value=r.reduce([e],function(e,r,n,i){return e-Math.round(t*r)},Math.round(this._value*t))/t,this},multiply:function(e){return this._value=r.reduce([this._value,e],function(e,t,n,i){var o=r.correctionFactor(e,t);return Math.round(e*o)*Math.round(t*o)/Math.round(o*o)},1),this},divide:function(e){return this._value=r.reduce([this._value,e],function(e,t,n,i){var o=r.correctionFactor(e,t);return Math.round(e*o)/Math.round(t*o)}),this},difference:function(r){return Math.abs(e(this._value).subtract(r).value())}},e.register("locale","en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){var r=e%10;return 1==~~(e%100/10)?"th":1===r?"st":2===r?"nd":3===r?"rd":"th"},currency:{symbol:"$"}}),e.register("format","bps",{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function(r,t,n){var i,o=e._.includes(t," BPS")?" ":"";return r*=1e4,t=t.replace(/\s?BPS/,""),i=e._.numberToFormat(r,t,n),e._.includes(i,")")?((i=i.split("")).splice(-1,0,o+"BPS"),i=i.join("")):i=i+o+"BPS",i},unformat:function(r){return+(1e-4*e._.stringToNumber(r)).toFixed(15)}}),function(){var r={base:1e3,suffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]},t={base:1024,suffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},n=r.suffixes.concat(t.suffixes.filter(function(e){return r.suffixes.indexOf(e)<0})).join("|");n="("+n.replace("B","B(?!PS)")+")",e.register("format","bytes",{regexps:{format:/([0\s]i?b)/,unformat:new RegExp(n)},format:function(n,i,o){var a,l,u,s=e._.includes(i,"ib")?t:r,c=e._.includes(i," b")||e._.includes(i," ib")?" ":"";for(i=i.replace(/\s?i?b/,""),a=0;a<=s.suffixes.length;a++)if(l=Math.pow(s.base,a),u=Math.pow(s.base,a+1),null===n||0===n||n>=l&&n<u){c+=s.suffixes[a],l>0&&(n/=l);break}return e._.numberToFormat(n,i,o)+c},unformat:function(n){var i,o,a=e._.stringToNumber(n);if(a){for(i=r.suffixes.length-1;i>=0;i--){if(e._.includes(n,r.suffixes[i])){o=Math.pow(r.base,i);break}if(e._.includes(n,t.suffixes[i])){o=Math.pow(t.base,i);break}}a*=o||1}return a}})}(),e.register("format","currency",{regexps:{format:/(\$)/},format:function(r,t,n){var i,o,a=e.locales[e.options.currentLocale],l={before:t.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:t.match(/([\+|\-|\)|\s|\$]*)$/)[0]};for(t=t.replace(/\s?\$\s?/,""),i=e._.numberToFormat(r,t,n),r>=0?(l.before=l.before.replace(/[\-\(]/,""),l.after=l.after.replace(/[\-\)]/,"")):r<0&&!e._.includes(l.before,"-")&&!e._.includes(l.before,"(")&&(l.before="-"+l.before),o=0;o<l.before.length;o++)switch(l.before[o]){case"$":i=e._.insert(i,a.currency.symbol,o);break;case" ":i=e._.insert(i," ",o+a.currency.symbol.length-1)}for(o=l.after.length-1;o>=0;o--)switch(l.after[o]){case"$":i=o===l.after.length-1?i+a.currency.symbol:e._.insert(i,a.currency.symbol,-(l.after.length-(1+o)));break;case" ":i=o===l.after.length-1?i+" ":e._.insert(i," ",-(l.after.length-(1+o)+a.currency.symbol.length-1))}return i}}),e.register("format","exponential",{regexps:{format:/(e\+|e-)/,unformat:/(e\+|e-)/},format:function(r,t,n){var i=("number"!=typeof r||e._.isNaN(r)?"0e+0":r.toExponential()).split("e");return t=t.replace(/e[\+|\-]{1}0/,""),e._.numberToFormat(Number(i[0]),t,n)+"e"+i[1]},unformat:function(r){var t=e._.includes(r,"e+")?r.split("e+"):r.split("e-"),n=Number(t[0]),i=Number(t[1]);return i=e._.includes(r,"e-")?i*=-1:i,e._.reduce([n,Math.pow(10,i)],function(r,t,n,i){var o=e._.correctionFactor(r,t);return r*o*(t*o)/(o*o)},1)}}),e.register("format","ordinal",{regexps:{format:/(o)/},format:function(r,t,n){var i=e.locales[e.options.currentLocale],o=e._.includes(t," o")?" ":"";return t=t.replace(/\s?o/,""),o+=i.ordinal(r),e._.numberToFormat(r,t,n)+o}}),e.register("format","percentage",{regexps:{format:/(%)/,unformat:/(%)/},format:function(r,t,n){var i,o=e._.includes(t," %")?" ":"";return e.options.scalePercentBy100&&(r*=100),t=t.replace(/\s?\%/,""),i=e._.numberToFormat(r,t,n),e._.includes(i,")")?((i=i.split("")).splice(-1,0,o+"%"),i=i.join("")):i=i+o+"%",i},unformat:function(r){var t=e._.stringToNumber(r);return e.options.scalePercentBy100?.01*t:t}}),e.register("format","time",{regexps:{format:/(:)/,unformat:/(:)/},format:function(e,r,t){var n=Math.floor(e/60/60),i=Math.floor((e-60*n*60)/60),o=Math.round(e-60*n*60-60*i);return n+":"+(i<10?"0"+i:i)+":"+(o<10?"0"+o:o)},unformat:function(e){var r=e.split(":"),t=0;return 3===r.length?(t+=60*Number(r[0])*60,t+=60*Number(r[1]),t+=Number(r[2])):2===r.length&&(t+=60*Number(r[0]),t+=Number(r[1])),Number(t)}}),e})?n.call(r,t,r,e):n)||(e.exports=i)}}]);
+//# sourceMappingURL=ZhIB.861df339.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/ZhIB.861df339.js.map b/priv/static/adminfe/static/js/ZhIB.861df339.js.map
new file mode 100644
index 000000000..ff11a2e71
--- /dev/null
+++ b/priv/static/adminfe/static/js/ZhIB.861df339.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./node_modules/numeral/numeral.js"],"names":["__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","undefined","numeral","_","formats","locales","defaults","currentLocale","zeroFormat","nullFormat","defaultFormat","scalePercentBy100","options","Numeral","input","number","this","_input","_value","value","kind","unformatFunction","regexp","isNumeral","isNaN","replace","length","regexps","unformat","match","stringToNumber","Number","version","obj","numberToFormat","format","roundingFunction","leadingCount","abbrForce","abs","int","precision","signed","thousands","output","locale","negP","optDec","abbr","decimal","neg","Math","includes","indexOf","RegExp","abbreviations","trillion","billion","million","thousand","toString","split","toFixed","delimiters","slice","String","i","string","abbreviation","stringOriginal","currency","symbol","pow","min","search","insert","subString","start","reduce","array","callback","TypeError","t","Object","len","k","arguments","multiplier","x","parts","correctionFactor","Array","prototype","call","accum","next","mn","maxDecimals","optionals","boundedPrecision","optionalsRegExp","power","splitValue","minDecimals","max","key","toLowerCase","localeData","Error","reset","property","register","type","name","validate","val","culture","_decimalSep","_thousandSep","_currSymbol","_valArray","_abbrObj","_thousandRegEx","temp","console","warn","trim","e","substr","fn","clone","inputString","formatFunction","round","set","add","corrFactor","curr","currI","O","subtract","multiply","divide","difference","ordinal","b","space","splice","join","base","suffixes","binary","unformatRegex","concat","filter","item","bytes","suffix","bytesMultiplier","symbols","before","after","toExponential","hours","floor","minutes","seconds","timeArray","exports","__webpack_require__","module"],"mappings":"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","file":"static/js/ZhIB.861df339.js","sourcesContent":["/*! @preserve\n * numeral.js\n * version : 2.0.6\n * author : Adam Draper\n * license : MIT\n * http://adamwdraper.github.com/Numeral-js/\n */\n\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n global.numeral = factory();\n }\n}(this, function () {\n /************************************\n Variables\n ************************************/\n\n var numeral,\n _,\n VERSION = '2.0.6',\n formats = {},\n locales = {},\n defaults = {\n currentLocale: 'en',\n zeroFormat: null,\n nullFormat: null,\n defaultFormat: '0,0',\n scalePercentBy100: true\n },\n options = {\n currentLocale: defaults.currentLocale,\n zeroFormat: defaults.zeroFormat,\n nullFormat: defaults.nullFormat,\n defaultFormat: defaults.defaultFormat,\n scalePercentBy100: defaults.scalePercentBy100\n };\n\n\n /************************************\n Constructors\n ************************************/\n\n // Numeral prototype object\n function Numeral(input, number) {\n this._input = input;\n\n this._value = number;\n }\n\n numeral = function(input) {\n var value,\n kind,\n unformatFunction,\n regexp;\n\n if (numeral.isNumeral(input)) {\n value = input.value();\n } else if (input === 0 || typeof input === 'undefined') {\n value = 0;\n } else if (input === null || _.isNaN(input)) {\n value = null;\n } else if (typeof input === 'string') {\n if (options.zeroFormat && input === options.zeroFormat) {\n value = 0;\n } else if (options.nullFormat && input === options.nullFormat || !input.replace(/[^0-9]+/g, '').length) {\n value = null;\n } else {\n for (kind in formats) {\n regexp = typeof formats[kind].regexps.unformat === 'function' ? formats[kind].regexps.unformat() : formats[kind].regexps.unformat;\n\n if (regexp && input.match(regexp)) {\n unformatFunction = formats[kind].unformat;\n\n break;\n }\n }\n\n unformatFunction = unformatFunction || numeral._.stringToNumber;\n\n value = unformatFunction(input);\n }\n } else {\n value = Number(input)|| null;\n }\n\n return new Numeral(input, value);\n };\n\n // version number\n numeral.version = VERSION;\n\n // compare numeral object\n numeral.isNumeral = function(obj) {\n return obj instanceof Numeral;\n };\n\n // helper functions\n numeral._ = _ = {\n // formats numbers separators, decimals places, signs, abbreviations\n numberToFormat: function(value, format, roundingFunction) {\n var locale = locales[numeral.options.currentLocale],\n negP = false,\n optDec = false,\n leadingCount = 0,\n abbr = '',\n trillion = 1000000000000,\n billion = 1000000000,\n million = 1000000,\n thousand = 1000,\n decimal = '',\n neg = false,\n abbrForce, // force abbreviation\n abs,\n min,\n max,\n power,\n int,\n precision,\n signed,\n thousands,\n output;\n\n // make sure we never format a null value\n value = value || 0;\n\n abs = Math.abs(value);\n\n // see if we should use parentheses for negative number or if we should prefix with a sign\n // if both are present we default to parentheses\n if (numeral._.includes(format, '(')) {\n negP = true;\n format = format.replace(/[\\(|\\)]/g, '');\n } else if (numeral._.includes(format, '+') || numeral._.includes(format, '-')) {\n signed = numeral._.includes(format, '+') ? format.indexOf('+') : value < 0 ? format.indexOf('-') : -1;\n format = format.replace(/[\\+|\\-]/g, '');\n }\n\n // see if abbreviation is wanted\n if (numeral._.includes(format, 'a')) {\n abbrForce = format.match(/a(k|m|b|t)?/);\n\n abbrForce = abbrForce ? abbrForce[1] : false;\n\n // check for space before abbreviation\n if (numeral._.includes(format, ' a')) {\n abbr = ' ';\n }\n\n format = format.replace(new RegExp(abbr + 'a[kmbt]?'), '');\n\n if (abs >= trillion && !abbrForce || abbrForce === 't') {\n // trillion\n abbr += locale.abbreviations.trillion;\n value = value / trillion;\n } else if (abs < trillion && abs >= billion && !abbrForce || abbrForce === 'b') {\n // billion\n abbr += locale.abbreviations.billion;\n value = value / billion;\n } else if (abs < billion && abs >= million && !abbrForce || abbrForce === 'm') {\n // million\n abbr += locale.abbreviations.million;\n value = value / million;\n } else if (abs < million && abs >= thousand && !abbrForce || abbrForce === 'k') {\n // thousand\n abbr += locale.abbreviations.thousand;\n value = value / thousand;\n }\n }\n\n // check for optional decimals\n if (numeral._.includes(format, '[.]')) {\n optDec = true;\n format = format.replace('[.]', '.');\n }\n\n // break number and format\n int = value.toString().split('.')[0];\n precision = format.split('.')[1];\n thousands = format.indexOf(',');\n leadingCount = (format.split('.')[0].split(',')[0].match(/0/g) || []).length;\n\n if (precision) {\n if (numeral._.includes(precision, '[')) {\n precision = precision.replace(']', '');\n precision = precision.split('[');\n decimal = numeral._.toFixed(value, (precision[0].length + precision[1].length), roundingFunction, precision[1].length);\n } else {\n decimal = numeral._.toFixed(value, precision.length, roundingFunction);\n }\n\n int = decimal.split('.')[0];\n\n if (numeral._.includes(decimal, '.')) {\n decimal = locale.delimiters.decimal + decimal.split('.')[1];\n } else {\n decimal = '';\n }\n\n if (optDec && Number(decimal.slice(1)) === 0) {\n decimal = '';\n }\n } else {\n int = numeral._.toFixed(value, 0, roundingFunction);\n }\n\n // check abbreviation again after rounding\n if (abbr && !abbrForce && Number(int) >= 1000 && abbr !== locale.abbreviations.trillion) {\n int = String(Number(int) / 1000);\n\n switch (abbr) {\n case locale.abbreviations.thousand:\n abbr = locale.abbreviations.million;\n break;\n case locale.abbreviations.million:\n abbr = locale.abbreviations.billion;\n break;\n case locale.abbreviations.billion:\n abbr = locale.abbreviations.trillion;\n break;\n }\n }\n\n\n // format number\n if (numeral._.includes(int, '-')) {\n int = int.slice(1);\n neg = true;\n }\n\n if (int.length < leadingCount) {\n for (var i = leadingCount - int.length; i > 0; i--) {\n int = '0' + int;\n }\n }\n\n if (thousands > -1) {\n int = int.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1' + locale.delimiters.thousands);\n }\n\n if (format.indexOf('.') === 0) {\n int = '';\n }\n\n output = int + decimal + (abbr ? abbr : '');\n\n if (negP) {\n output = (negP && neg ? '(' : '') + output + (negP && neg ? ')' : '');\n } else {\n if (signed >= 0) {\n output = signed === 0 ? (neg ? '-' : '+') + output : output + (neg ? '-' : '+');\n } else if (neg) {\n output = '-' + output;\n }\n }\n\n return output;\n },\n // unformats numbers separators, decimals places, signs, abbreviations\n stringToNumber: function(string) {\n var locale = locales[options.currentLocale],\n stringOriginal = string,\n abbreviations = {\n thousand: 3,\n million: 6,\n billion: 9,\n trillion: 12\n },\n abbreviation,\n value,\n i,\n regexp;\n\n if (options.zeroFormat && string === options.zeroFormat) {\n value = 0;\n } else if (options.nullFormat && string === options.nullFormat || !string.replace(/[^0-9]+/g, '').length) {\n value = null;\n } else {\n value = 1;\n\n if (locale.delimiters.decimal !== '.') {\n string = string.replace(/\\./g, '').replace(locale.delimiters.decimal, '.');\n }\n\n for (abbreviation in abbreviations) {\n regexp = new RegExp('[^a-zA-Z]' + locale.abbreviations[abbreviation] + '(?:\\\\)|(\\\\' + locale.currency.symbol + ')?(?:\\\\))?)?$');\n\n if (stringOriginal.match(regexp)) {\n value *= Math.pow(10, abbreviations[abbreviation]);\n break;\n }\n }\n\n // check for negative number\n value *= (string.split('-').length + Math.min(string.split('(').length - 1, string.split(')').length - 1)) % 2 ? 1 : -1;\n\n // remove non numbers\n string = string.replace(/[^0-9\\.]+/g, '');\n\n value *= Number(string);\n }\n\n return value;\n },\n isNaN: function(value) {\n return typeof value === 'number' && isNaN(value);\n },\n includes: function(string, search) {\n return string.indexOf(search) !== -1;\n },\n insert: function(string, subString, start) {\n return string.slice(0, start) + subString + string.slice(start);\n },\n reduce: function(array, callback /*, initialValue*/) {\n if (this === null) {\n throw new TypeError('Array.prototype.reduce called on null or undefined');\n }\n\n if (typeof callback !== 'function') {\n throw new TypeError(callback + ' is not a function');\n }\n\n var t = Object(array),\n len = t.length >>> 0,\n k = 0,\n value;\n\n if (arguments.length === 3) {\n value = arguments[2];\n } else {\n while (k < len && !(k in t)) {\n k++;\n }\n\n if (k >= len) {\n throw new TypeError('Reduce of empty array with no initial value');\n }\n\n value = t[k++];\n }\n for (; k < len; k++) {\n if (k in t) {\n value = callback(value, t[k], k, t);\n }\n }\n return value;\n },\n /**\n * Computes the multiplier necessary to make x >= 1,\n * effectively eliminating miscalculations caused by\n * finite precision.\n */\n multiplier: function (x) {\n var parts = x.toString().split('.');\n\n return parts.length < 2 ? 1 : Math.pow(10, parts[1].length);\n },\n /**\n * Given a variable number of arguments, returns the maximum\n * multiplier that must be used to normalize an operation involving\n * all of them.\n */\n correctionFactor: function () {\n var args = Array.prototype.slice.call(arguments);\n\n return args.reduce(function(accum, next) {\n var mn = _.multiplier(next);\n return accum > mn ? accum : mn;\n }, 1);\n },\n /**\n * Implementation of toFixed() that treats floats more like decimals\n *\n * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n * problems for accounting- and finance-related software.\n */\n toFixed: function(value, maxDecimals, roundingFunction, optionals) {\n var splitValue = value.toString().split('.'),\n minDecimals = maxDecimals - (optionals || 0),\n boundedPrecision,\n optionalsRegExp,\n power,\n output;\n\n // Use the smallest precision value possible to avoid errors from floating point representation\n if (splitValue.length === 2) {\n boundedPrecision = Math.min(Math.max(splitValue[1].length, minDecimals), maxDecimals);\n } else {\n boundedPrecision = minDecimals;\n }\n\n power = Math.pow(10, boundedPrecision);\n\n // Multiply up by precision, round accurately, then divide and use native toFixed():\n output = (roundingFunction(value + 'e+' + boundedPrecision) / power).toFixed(boundedPrecision);\n\n if (optionals > maxDecimals - boundedPrecision) {\n optionalsRegExp = new RegExp('\\\\.?0{1,' + (optionals - (maxDecimals - boundedPrecision)) + '}$');\n output = output.replace(optionalsRegExp, '');\n }\n\n return output;\n }\n };\n\n // avaliable options\n numeral.options = options;\n\n // avaliable formats\n numeral.formats = formats;\n\n // avaliable formats\n numeral.locales = locales;\n\n // This function sets the current locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n numeral.locale = function(key) {\n if (key) {\n options.currentLocale = key.toLowerCase();\n }\n\n return options.currentLocale;\n };\n\n // This function provides access to the loaded locale data. If\n // no arguments are passed in, it will simply return the current\n // global locale object.\n numeral.localeData = function(key) {\n if (!key) {\n return locales[options.currentLocale];\n }\n\n key = key.toLowerCase();\n\n if (!locales[key]) {\n throw new Error('Unknown locale : ' + key);\n }\n\n return locales[key];\n };\n\n numeral.reset = function() {\n for (var property in defaults) {\n options[property] = defaults[property];\n }\n };\n\n numeral.zeroFormat = function(format) {\n options.zeroFormat = typeof(format) === 'string' ? format : null;\n };\n\n numeral.nullFormat = function (format) {\n options.nullFormat = typeof(format) === 'string' ? format : null;\n };\n\n numeral.defaultFormat = function(format) {\n options.defaultFormat = typeof(format) === 'string' ? format : '0.0';\n };\n\n numeral.register = function(type, name, format) {\n name = name.toLowerCase();\n\n if (this[type + 's'][name]) {\n throw new TypeError(name + ' ' + type + ' already registered.');\n }\n\n this[type + 's'][name] = format;\n\n return format;\n };\n\n\n numeral.validate = function(val, culture) {\n var _decimalSep,\n _thousandSep,\n _currSymbol,\n _valArray,\n _abbrObj,\n _thousandRegEx,\n localeData,\n temp;\n\n //coerce val to string\n if (typeof val !== 'string') {\n val += '';\n\n if (console.warn) {\n console.warn('Numeral.js: Value is not string. It has been co-erced to: ', val);\n }\n }\n\n //trim whitespaces from either sides\n val = val.trim();\n\n //if val is just digits return true\n if (!!val.match(/^\\d+$/)) {\n return true;\n }\n\n //if val is empty return false\n if (val === '') {\n return false;\n }\n\n //get the decimal and thousands separator from numeral.localeData\n try {\n //check if the culture is understood by numeral. if not, default it to current locale\n localeData = numeral.localeData(culture);\n } catch (e) {\n localeData = numeral.localeData(numeral.locale());\n }\n\n //setup the delimiters and currency symbol based on culture/locale\n _currSymbol = localeData.currency.symbol;\n _abbrObj = localeData.abbreviations;\n _decimalSep = localeData.delimiters.decimal;\n if (localeData.delimiters.thousands === '.') {\n _thousandSep = '\\\\.';\n } else {\n _thousandSep = localeData.delimiters.thousands;\n }\n\n // validating currency symbol\n temp = val.match(/^[^\\d]+/);\n if (temp !== null) {\n val = val.substr(1);\n if (temp[0] !== _currSymbol) {\n return false;\n }\n }\n\n //validating abbreviation symbol\n temp = val.match(/[^\\d]+$/);\n if (temp !== null) {\n val = val.slice(0, -1);\n if (temp[0] !== _abbrObj.thousand && temp[0] !== _abbrObj.million && temp[0] !== _abbrObj.billion && temp[0] !== _abbrObj.trillion) {\n return false;\n }\n }\n\n _thousandRegEx = new RegExp(_thousandSep + '{2}');\n\n if (!val.match(/[^\\d.,]/g)) {\n _valArray = val.split(_decimalSep);\n if (_valArray.length > 2) {\n return false;\n } else {\n if (_valArray.length < 2) {\n return ( !! _valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx));\n } else {\n if (_valArray[0].length === 1) {\n return ( !! _valArray[0].match(/^\\d+$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\\d+$/));\n } else {\n return ( !! _valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\\d+$/));\n }\n }\n }\n }\n\n return false;\n };\n\n\n /************************************\n Numeral Prototype\n ************************************/\n\n numeral.fn = Numeral.prototype = {\n clone: function() {\n return numeral(this);\n },\n format: function(inputString, roundingFunction) {\n var value = this._value,\n format = inputString || options.defaultFormat,\n kind,\n output,\n formatFunction;\n\n // make sure we have a roundingFunction\n roundingFunction = roundingFunction || Math.round;\n\n // format based on value\n if (value === 0 && options.zeroFormat !== null) {\n output = options.zeroFormat;\n } else if (value === null && options.nullFormat !== null) {\n output = options.nullFormat;\n } else {\n for (kind in formats) {\n if (format.match(formats[kind].regexps.format)) {\n formatFunction = formats[kind].format;\n\n break;\n }\n }\n\n formatFunction = formatFunction || numeral._.numberToFormat;\n\n output = formatFunction(value, format, roundingFunction);\n }\n\n return output;\n },\n value: function() {\n return this._value;\n },\n input: function() {\n return this._input;\n },\n set: function(value) {\n this._value = Number(value);\n\n return this;\n },\n add: function(value) {\n var corrFactor = _.correctionFactor.call(null, this._value, value);\n\n function cback(accum, curr, currI, O) {\n return accum + Math.round(corrFactor * curr);\n }\n\n this._value = _.reduce([this._value, value], cback, 0) / corrFactor;\n\n return this;\n },\n subtract: function(value) {\n var corrFactor = _.correctionFactor.call(null, this._value, value);\n\n function cback(accum, curr, currI, O) {\n return accum - Math.round(corrFactor * curr);\n }\n\n this._value = _.reduce([value], cback, Math.round(this._value * corrFactor)) / corrFactor;\n\n return this;\n },\n multiply: function(value) {\n function cback(accum, curr, currI, O) {\n var corrFactor = _.correctionFactor(accum, curr);\n return Math.round(accum * corrFactor) * Math.round(curr * corrFactor) / Math.round(corrFactor * corrFactor);\n }\n\n this._value = _.reduce([this._value, value], cback, 1);\n\n return this;\n },\n divide: function(value) {\n function cback(accum, curr, currI, O) {\n var corrFactor = _.correctionFactor(accum, curr);\n return Math.round(accum * corrFactor) / Math.round(curr * corrFactor);\n }\n\n this._value = _.reduce([this._value, value], cback);\n\n return this;\n },\n difference: function(value) {\n return Math.abs(numeral(this._value).subtract(value).value());\n }\n };\n\n /************************************\n Default Locale && Format\n ************************************/\n\n numeral.register('locale', 'en', {\n delimiters: {\n thousands: ',',\n decimal: '.'\n },\n abbreviations: {\n thousand: 'k',\n million: 'm',\n billion: 'b',\n trillion: 't'\n },\n ordinal: function(number) {\n var b = number % 10;\n return (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n },\n currency: {\n symbol: '$'\n }\n });\n\n \n\n(function() {\n numeral.register('format', 'bps', {\n regexps: {\n format: /(BPS)/,\n unformat: /(BPS)/\n },\n format: function(value, format, roundingFunction) {\n var space = numeral._.includes(format, ' BPS') ? ' ' : '',\n output;\n\n value = value * 10000;\n\n // check for space before BPS\n format = format.replace(/\\s?BPS/, '');\n\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n if (numeral._.includes(output, ')')) {\n output = output.split('');\n\n output.splice(-1, 0, space + 'BPS');\n\n output = output.join('');\n } else {\n output = output + space + 'BPS';\n }\n\n return output;\n },\n unformat: function(string) {\n return +(numeral._.stringToNumber(string) * 0.0001).toFixed(15);\n }\n });\n})();\n\n\n(function() {\n var decimal = {\n base: 1000,\n suffixes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\n },\n binary = {\n base: 1024,\n suffixes: ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']\n };\n\n var allSuffixes = decimal.suffixes.concat(binary.suffixes.filter(function (item) {\n return decimal.suffixes.indexOf(item) < 0;\n }));\n var unformatRegex = allSuffixes.join('|');\n // Allow support for BPS (http://www.investopedia.com/terms/b/basispoint.asp)\n unformatRegex = '(' + unformatRegex.replace('B', 'B(?!PS)') + ')';\n\n numeral.register('format', 'bytes', {\n regexps: {\n format: /([0\\s]i?b)/,\n unformat: new RegExp(unformatRegex)\n },\n format: function(value, format, roundingFunction) {\n var output,\n bytes = numeral._.includes(format, 'ib') ? binary : decimal,\n suffix = numeral._.includes(format, ' b') || numeral._.includes(format, ' ib') ? ' ' : '',\n power,\n min,\n max;\n\n // check for space before\n format = format.replace(/\\s?i?b/, '');\n\n for (power = 0; power <= bytes.suffixes.length; power++) {\n min = Math.pow(bytes.base, power);\n max = Math.pow(bytes.base, power + 1);\n\n if (value === null || value === 0 || value >= min && value < max) {\n suffix += bytes.suffixes[power];\n\n if (min > 0) {\n value = value / min;\n }\n\n break;\n }\n }\n\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n return output + suffix;\n },\n unformat: function(string) {\n var value = numeral._.stringToNumber(string),\n power,\n bytesMultiplier;\n\n if (value) {\n for (power = decimal.suffixes.length - 1; power >= 0; power--) {\n if (numeral._.includes(string, decimal.suffixes[power])) {\n bytesMultiplier = Math.pow(decimal.base, power);\n\n break;\n }\n\n if (numeral._.includes(string, binary.suffixes[power])) {\n bytesMultiplier = Math.pow(binary.base, power);\n\n break;\n }\n }\n\n value *= (bytesMultiplier || 1);\n }\n\n return value;\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'currency', {\n regexps: {\n format: /(\\$)/\n },\n format: function(value, format, roundingFunction) {\n var locale = numeral.locales[numeral.options.currentLocale],\n symbols = {\n before: format.match(/^([\\+|\\-|\\(|\\s|\\$]*)/)[0],\n after: format.match(/([\\+|\\-|\\)|\\s|\\$]*)$/)[0]\n },\n output,\n symbol,\n i;\n\n // strip format of spaces and $\n format = format.replace(/\\s?\\$\\s?/, '');\n\n // format the number\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n // update the before and after based on value\n if (value >= 0) {\n symbols.before = symbols.before.replace(/[\\-\\(]/, '');\n symbols.after = symbols.after.replace(/[\\-\\)]/, '');\n } else if (value < 0 && (!numeral._.includes(symbols.before, '-') && !numeral._.includes(symbols.before, '('))) {\n symbols.before = '-' + symbols.before;\n }\n\n // loop through each before symbol\n for (i = 0; i < symbols.before.length; i++) {\n symbol = symbols.before[i];\n\n switch (symbol) {\n case '$':\n output = numeral._.insert(output, locale.currency.symbol, i);\n break;\n case ' ':\n output = numeral._.insert(output, ' ', i + locale.currency.symbol.length - 1);\n break;\n }\n }\n\n // loop through each after symbol\n for (i = symbols.after.length - 1; i >= 0; i--) {\n symbol = symbols.after[i];\n\n switch (symbol) {\n case '$':\n output = i === symbols.after.length - 1 ? output + locale.currency.symbol : numeral._.insert(output, locale.currency.symbol, -(symbols.after.length - (1 + i)));\n break;\n case ' ':\n output = i === symbols.after.length - 1 ? output + ' ' : numeral._.insert(output, ' ', -(symbols.after.length - (1 + i) + locale.currency.symbol.length - 1));\n break;\n }\n }\n\n\n return output;\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'exponential', {\n regexps: {\n format: /(e\\+|e-)/,\n unformat: /(e\\+|e-)/\n },\n format: function(value, format, roundingFunction) {\n var output,\n exponential = typeof value === 'number' && !numeral._.isNaN(value) ? value.toExponential() : '0e+0',\n parts = exponential.split('e');\n\n format = format.replace(/e[\\+|\\-]{1}0/, '');\n\n output = numeral._.numberToFormat(Number(parts[0]), format, roundingFunction);\n\n return output + 'e' + parts[1];\n },\n unformat: function(string) {\n var parts = numeral._.includes(string, 'e+') ? string.split('e+') : string.split('e-'),\n value = Number(parts[0]),\n power = Number(parts[1]);\n\n power = numeral._.includes(string, 'e-') ? power *= -1 : power;\n\n function cback(accum, curr, currI, O) {\n var corrFactor = numeral._.correctionFactor(accum, curr),\n num = (accum * corrFactor) * (curr * corrFactor) / (corrFactor * corrFactor);\n return num;\n }\n\n return numeral._.reduce([value, Math.pow(10, power)], cback, 1);\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'ordinal', {\n regexps: {\n format: /(o)/\n },\n format: function(value, format, roundingFunction) {\n var locale = numeral.locales[numeral.options.currentLocale],\n output,\n ordinal = numeral._.includes(format, ' o') ? ' ' : '';\n\n // check for space before\n format = format.replace(/\\s?o/, '');\n\n ordinal += locale.ordinal(value);\n\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n return output + ordinal;\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'percentage', {\n regexps: {\n format: /(%)/,\n unformat: /(%)/\n },\n format: function(value, format, roundingFunction) {\n var space = numeral._.includes(format, ' %') ? ' ' : '',\n output;\n\n if (numeral.options.scalePercentBy100) {\n value = value * 100;\n }\n\n // check for space before %\n format = format.replace(/\\s?\\%/, '');\n\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n if (numeral._.includes(output, ')')) {\n output = output.split('');\n\n output.splice(-1, 0, space + '%');\n\n output = output.join('');\n } else {\n output = output + space + '%';\n }\n\n return output;\n },\n unformat: function(string) {\n var number = numeral._.stringToNumber(string);\n if (numeral.options.scalePercentBy100) {\n return number * 0.01;\n }\n return number;\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'time', {\n regexps: {\n format: /(:)/,\n unformat: /(:)/\n },\n format: function(value, format, roundingFunction) {\n var hours = Math.floor(value / 60 / 60),\n minutes = Math.floor((value - (hours * 60 * 60)) / 60),\n seconds = Math.round(value - (hours * 60 * 60) - (minutes * 60));\n\n return hours + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);\n },\n unformat: function(string) {\n var timeArray = string.split(':'),\n seconds = 0;\n\n // turn hours and minutes into seconds and add them all up\n if (timeArray.length === 3) {\n // hours\n seconds = seconds + (Number(timeArray[0]) * 60 * 60);\n // minutes\n seconds = seconds + (Number(timeArray[1]) * 60);\n // seconds\n seconds = seconds + Number(timeArray[2]);\n } else if (timeArray.length === 2) {\n // minutes\n seconds = seconds + (Number(timeArray[0]) * 60);\n // seconds\n seconds = seconds + Number(timeArray[1]);\n }\n return Number(seconds);\n }\n });\n})();\n\nreturn numeral;\n}));\n"],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/app.19b7049e.js b/priv/static/adminfe/static/js/app.19b7049e.js
new file mode 100644
index 000000000..d33589df4
--- /dev/null
+++ b/priv/static/adminfe/static/js/app.19b7049e.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([["app"],{"+aF5":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-pdf",use:"icon-pdf-usage",viewBox:"0 0 1024 1024",content:'<symbol viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" id="icon-pdf"><path d="M869.073 277.307H657.111V65.344l211.962 211.963zm-238.232 26.27V65.344l-476.498-.054v416.957h714.73v-178.67H630.841zm-335.836 360.57c-5.07-3.064-10.944-5.133-17.61-6.201-6.67-1.064-13.603-1.6-20.81-1.6h-48.821v85.641h48.822c7.206 0 14.14-.532 20.81-1.6 6.665-1.065 12.54-3.133 17.609-6.202 5.064-3.063 9.134-7.406 12.208-13.007 3.065-5.602 4.6-12.937 4.6-22.011 0-9.07-1.535-16.408-4.6-22.01-3.074-5.603-7.144-9.94-12.208-13.01zM35.82 541.805v416.904h952.358V541.805H35.821zm331.421 191.179c-3.6 11.071-9.343 20.879-17.209 29.413-7.874 8.542-18.078 15.408-30.617 20.61-12.544 5.206-27.747 7.807-45.621 7.807h-66.036v102.45h-62.831V607.517h128.867c17.874 0 33.077 2.6 45.62 7.802 12.541 5.207 22.745 12.076 30.618 20.615 7.866 8.538 13.604 18.277 17.21 29.212 3.6 10.943 5.401 22.278 5.401 34.018 0 11.477-1.8 22.752-5.402 33.819zM644.9 806.417c-5.343 17.61-13.408 32.818-24.212 45.627-10.807 12.803-24.283 22.879-40.423 30.213-16.146 7.343-35.155 11.007-57.03 11.007h-123.26V607.518h123.26c18.41 0 35.552 2.941 51.428 8.808 15.873 5.869 29.618 14.671 41.22 26.412 11.608 11.744 20.674 26.411 27.217 44.02 6.535 17.61 9.803 38.288 9.803 62.035 0 20.81-2.67 40.02-8.003 57.624zm245.362-146.07h-138.07v66.03h119.66v48.829h-119.66v118.058h-62.83V607.518h200.9v52.829h-.001zm-318.2 25.611c-6.402-8.266-14.877-14.604-25.412-19.01-10.544-4.402-23.551-6.602-39.019-6.602h-44.825v180.088h56.029c9.07 0 17.872-1.463 26.415-4.401 8.535-2.932 16.14-7.802 22.812-14.609 6.665-6.8 12.007-15.667 16.007-26.61 4.003-10.94 6.003-24.275 6.003-40.021 0-14.408-1.4-27.416-4.202-39.019-2.8-11.607-7.406-21.542-13.808-29.816zm0 0" /></symbol>'});o.a.add(i);t.default=i},"0Fbn":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-people",use:"icon-people-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-people"><path d="M104.185 95.254c8.161 7.574 13.145 17.441 13.145 28.28 0 1.508-.098 2.998-.285 4.466h-10.784c.238-1.465.403-2.948.403-4.465 0-8.983-4.36-17.115-11.419-23.216C86 104.66 75.355 107.162 64 107.162c-11.344 0-21.98-2.495-31.22-6.83-7.064 6.099-11.444 14.218-11.444 23.203 0 1.517.165 3 .403 4.465H10.955a35.444 35.444 0 0 1-.285-4.465c0-10.838 4.974-20.713 13.127-28.291C9.294 85.42.003 70.417.003 53.58.003 23.99 28.656.001 64 .001s63.997 23.988 63.997 53.58c0 16.842-9.299 31.85-23.812 41.673zM64 36.867c-29.454 0-53.33-10.077-53.33 15.342 0 25.418 23.876 46.023 53.33 46.023 29.454 0 53.33-20.605 53.33-46.023 0-25.419-23.876-15.342-53.33-15.342zm24.888 25.644c-3.927 0-7.111-2.665-7.111-5.953 0-3.288 3.184-5.954 7.11-5.954 3.928 0 7.111 2.666 7.111 5.954s-3.183 5.953-7.11 5.953zm-3.556 16.372c0 4.11-9.55 7.442-21.332 7.442-11.781 0-21.332-3.332-21.332-7.442 0-1.06.656-2.064 1.8-2.976 3.295 2.626 10.79 4.465 19.532 4.465 8.743 0 16.237-1.84 19.531-4.465 1.145.912 1.801 1.916 1.801 2.976zm-46.22-16.372c-3.927 0-7.11-2.665-7.11-5.953 0-3.288 3.183-5.954 7.11-5.954 3.927 0 7.111 2.666 7.111 5.954s-3.184 5.953-7.11 5.953z" /></symbol>'});o.a.add(i);t.default=i},"1+ww":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-eye-open",use:"icon-eye-open-usage",viewBox:"0 0 1024 1024",content:'<symbol class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" id="icon-eye-open"><defs><style></style></defs><path d="M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z" /></symbol>'});o.a.add(i);t.default=i},"18BR":function(e,t,n){"use strict";var a=n("CzPo");n.n(a).a},"28eg":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-exit-fullscreen",use:"icon-exit-fullscreen-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-exit-fullscreen"><path d="M49.217 41.329l-.136-35.24c-.06-2.715-2.302-4.345-5.022-4.405h-3.65c-2.712-.06-4.866 2.303-4.806 5.016l.152 19.164-24.151-23.79a6.698 6.698 0 0 0-9.499 0 6.76 6.76 0 0 0 0 9.526l23.93 23.713-18.345.074c-2.712-.069-5.228 1.813-5.64 5.02v3.462c.069 2.721 2.31 4.97 5.022 5.03l35.028-.207c.052.005.087.025.133.025l2.457.054a4.626 4.626 0 0 0 3.436-1.38c.88-.874 1.205-2.096 1.169-3.462l-.262-2.465c0-.048.182-.081.182-.136h.002zm52.523 51.212l18.32-.073c2.713.06 5.224-1.609 5.64-4.815v-3.462c-.068-2.722-2.317-4.97-5.021-5.04l-34.58.21c-.053 0-.086-.021-.138-.021l-2.451-.06a4.64 4.64 0 0 0-3.445 1.381c-.885.868-1.201 2.094-1.174 3.46l.27 2.46c.005.06-.177.095-.177.141l.141 34.697c.069 2.713 2.31 4.338 5.022 4.397l3.45.006c2.705.062 4.867-2.31 4.8-5.026l-.153-18.752 24.151 23.946a6.69 6.69 0 0 0 9.494 0 6.747 6.747 0 0 0 0-9.523L101.74 92.54v.001zM48.125 80.662a4.636 4.636 0 0 0-3.437-1.382l-2.457.06c-.05 0-.082.022-.137.022l-35.025-.21c-2.712.07-4.957 2.318-5.022 5.04v3.462c.409 3.206 2.925 4.874 5.633 4.814l18.554.06-24.132 23.928c-2.62 2.626-2.62 6.89 0 9.524a6.694 6.694 0 0 0 9.496 0l24.155-23.79-.155 18.866c-.06 2.722 2.094 5.093 4.801 5.025h3.65c2.72-.069 4.962-1.685 5.022-4.406l.141-34.956c0-.05-.182-.082-.182-.136l.262-2.46c.03-1.366-.286-2.592-1.166-3.46h-.001zM80.08 47.397a4.62 4.62 0 0 0 3.443 1.374l2.45-.054c.055 0 .088-.02.143-.028l35.08.21c2.712-.062 4.953-2.312 5.021-5.033l.009-3.463c-.417-3.211-2.937-5.084-5.64-5.025l-18.615-.073 23.917-23.715c2.63-2.623 2.63-6.879.008-9.513a6.691 6.691 0 0 0-9.494 0L92.251 26.016l.155-19.312c.065-2.713-2.097-5.085-4.802-5.025h-3.45c-2.713.069-4.954 1.693-5.022 4.406l-.139 35.247c0 .054.18.088.18.136l-.267 2.465c-.028 1.366.288 2.588 1.174 3.463v.001z" /></symbol>'});o.a.add(i);t.default=i},"3PhE":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-nested",use:"icon-nested-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-nested"><path d="M.002 9.2c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-5.043-3.58-9.132-7.997-9.132S.002 4.157.002 9.2zM31.997.066h95.981V18.33H31.997V.066zm0 45.669c0 5.044 3.58 9.132 7.998 9.132 4.417 0 7.997-4.088 7.997-9.132 0-3.263-1.524-6.278-3.998-7.91-2.475-1.63-5.524-1.63-7.998 0-2.475 1.632-4 4.647-4 7.91zM63.992 36.6h63.986v18.265H63.992V36.6zm-31.995 82.2c0 5.043 3.58 9.132 7.998 9.132 4.417 0 7.997-4.089 7.997-9.132 0-5.044-3.58-9.133-7.997-9.133s-7.998 4.089-7.998 9.133zm31.995-9.131h63.986v18.265H63.992V109.67zm0-27.404c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-3.263-1.524-6.277-3.998-7.909-2.475-1.631-5.524-1.631-7.998 0-2.475 1.632-4 4.646-4 7.91zm31.995-9.13h31.991V91.4H95.987V73.135z" /></symbol>'});o.a.add(i);t.default=i},"5TQQ":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-theme",use:"icon-theme-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-theme"><path d="M125.5 36.984L95.336 2.83C93.735 1.018 91.565 0 89.3 0c-2.263 0-4.433 1.018-6.033 2.83l-3.786 4.286c-1.6 1.812-3.77 2.83-6.032 2.831H54.553c-2.263 0-4.434-1.018-6.033-2.83L44.734 2.83C43.134 1.018 40.964 0 38.701 0c-2.263 0-4.434 1.018-6.034 2.83L2.5 36.984C.9 38.796 0 41.254 0 43.815c0 2.562.899 5.02 2.5 6.831L14.565 64.31c2.178 2.468 5.367 3.403 8.33 2.444 1.35-.435 2.709.592 2.709 2.18v49.407c0 5.313 3.84 9.66 8.532 9.66h59.726c4.693 0 8.532-4.347 8.532-9.66V68.934c0-1.59 1.36-2.616 2.71-2.181 2.962.96 6.15.024 8.329-2.444L125.5 50.646c1.6-1.811 2.499-4.269 2.499-6.83 0-2.563-.899-5.02-2.5-6.832z" /></symbol>'});o.a.add(i);t.default=i},"6xvN":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-form",use:"icon-form-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-form"><path d="M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z" /></symbol>'});o.a.add(i);t.default=i},"94Jb":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-dashboard",use:"icon-dashboard-usage",viewBox:"0 0 128 100",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 100" id="icon-dashboard"><path d="M27.429 63.638c0-2.508-.893-4.65-2.679-6.424-1.786-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.465 2.662-1.785 1.774-2.678 3.916-2.678 6.424 0 2.508.893 4.65 2.678 6.424 1.786 1.775 3.94 2.662 6.465 2.662 2.524 0 4.678-.887 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm13.714-31.801c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM71.714 65.98l7.215-27.116c.285-1.23.107-2.378-.536-3.443-.643-1.064-1.56-1.762-2.75-2.094-1.19-.33-2.333-.177-3.429.462-1.095.639-1.81 1.573-2.143 2.804l-7.214 27.116c-2.857.237-5.405 1.266-7.643 3.088-2.238 1.822-3.738 4.152-4.5 6.992-.952 3.644-.476 7.098 1.429 10.364 1.905 3.265 4.69 5.37 8.357 6.317 3.667.947 7.143.474 10.429-1.42 3.285-1.892 5.404-4.66 6.357-8.305.762-2.84.619-5.607-.429-8.305-1.047-2.697-2.762-4.85-5.143-6.46zm47.143-2.342c0-2.508-.893-4.65-2.678-6.424-1.786-1.775-3.94-2.662-6.465-2.662-2.524 0-4.678.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.786 1.775 3.94 2.662 6.464 2.662 2.524 0 4.679-.887 6.465-2.662 1.785-1.775 2.678-3.916 2.678-6.424zm-45.714-45.43c0-2.509-.893-4.65-2.679-6.425C68.68 10.01 66.524 9.122 64 9.122c-2.524 0-4.679.887-6.464 2.661-1.786 1.775-2.679 3.916-2.679 6.425 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm32 13.629c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM128 63.638c0 12.351-3.357 23.78-10.071 34.286-.905 1.372-2.19 2.058-3.858 2.058H13.93c-1.667 0-2.953-.686-3.858-2.058C3.357 87.465 0 76.037 0 63.638c0-8.613 1.69-16.847 5.071-24.703C8.452 31.08 13 24.312 18.714 18.634c5.715-5.68 12.524-10.199 20.429-13.559C47.048 1.715 55.333.035 64 .035c8.667 0 16.952 1.68 24.857 5.04 7.905 3.36 14.714 7.88 20.429 13.559 5.714 5.678 10.262 12.446 13.643 20.301 3.38 7.856 5.071 16.09 5.071 24.703z" /></symbol>'});o.a.add(i);t.default=i},"9i3r":function(e,t,n){"use strict";n.d(t,"a",function(){return a});var a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"localhost";return e.match(/https?:\/\//)?e:function(e){return e.startsWith("localhost:")||e.startsWith("127.0.0.1:")}(e)?"http://".concat(e):"https://".concat(e)}},CzPo:function(e,t,n){},EqXK:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-shopping",use:"icon-shopping-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-shopping"><path d="M42.913 101.36c1.642 0 3.198.332 4.667.996a12.28 12.28 0 0 1 3.89 2.772c1.123 1.184 1.987 2.582 2.592 4.193.605 1.612.908 3.318.908 5.118 0 1.8-.303 3.507-.908 5.118-.605 1.611-1.469 3.01-2.593 4.194a13.3 13.3 0 0 1-3.889 2.843 10.582 10.582 0 0 1-4.667 1.066c-1.729 0-3.306-.355-4.732-1.066a13.604 13.604 0 0 1-3.825-2.843c-1.123-1.185-1.988-2.583-2.593-4.194a14.437 14.437 0 0 1-.907-5.118c0-1.8.302-3.506.907-5.118.605-1.61 1.47-3.009 2.593-4.193a12.515 12.515 0 0 1 3.825-2.772c1.426-.664 3.003-.996 4.732-.996zm53.932.285c1.643 0 3.22.331 4.733.995a11.386 11.386 0 0 1 3.889 2.772c1.08 1.185 1.945 2.583 2.593 4.194.648 1.61.972 3.317.972 5.118 0 1.8-.324 3.506-.972 5.117-.648 1.611-1.513 3.01-2.593 4.194a12.253 12.253 0 0 1-3.89 2.843 11 11 0 0 1-4.732 1.066 10.58 10.58 0 0 1-4.667-1.066 12.478 12.478 0 0 1-3.824-2.843c-1.08-1.185-1.945-2.583-2.593-4.194a13.581 13.581 0 0 1-.973-5.117c0-1.801.325-3.507.973-5.118.648-1.611 1.512-3.01 2.593-4.194a11.559 11.559 0 0 1 3.824-2.772 11.212 11.212 0 0 1 4.667-.995zm21.781-80.747c2.42 0 4.3.355 5.64 1.066 1.34.71 2.29 1.587 2.852 2.63a6.427 6.427 0 0 1 .778 3.34c-.044 1.185-.195 2.204-.454 3.057-.26.853-.8 2.606-1.62 5.26a589.268 589.268 0 0 1-2.788 8.743 1236.373 1236.373 0 0 0-3.047 9.453c-.994 3.128-1.75 5.592-2.269 7.393-1.123 3.79-2.55 6.42-4.278 7.89-1.728 1.469-3.846 2.203-6.352 2.203H39.023l1.945 12.795h65.342c4.148 0 6.223 1.943 6.223 5.828 0 1.896-.41 3.53-1.232 4.905-.821 1.374-2.442 2.061-4.862 2.061H38.505c-1.729 0-3.176-.426-4.343-1.28-1.167-.852-2.14-1.966-2.917-3.34a21.277 21.277 0 0 1-1.88-4.478 44.128 44.128 0 0 1-1.102-4.55c-.087-.568-.324-1.942-.713-4.122-.39-2.18-.865-4.904-1.426-8.174l-1.88-10.947c-.692-4.027-1.383-8.079-2.075-12.154-1.642-9.572-3.5-20.234-5.574-31.986H6.87c-1.296 0-2.377-.356-3.24-1.067a9.024 9.024 0 0 1-2.14-2.558 10.416 10.416 0 0 1-1.167-3.2C.108 8.53 0 7.488 0 6.54c0-1.896.583-3.46 1.75-4.69C2.917.615 4.494 0 6.482 0h13.095c1.728 0 3.111.284 4.148.853 1.037.569 1.858 1.28 2.463 2.132a8.548 8.548 0 0 1 1.297 2.701c.26.948.475 1.754.648 2.417.173.758.346 1.825.519 3.199.173 1.374.345 2.772.518 4.193.26 1.706.519 3.507.778 5.403h88.678z" /></symbol>'});o.a.add(i);t.default=i},F3lI:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-bug",use:"icon-bug-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-bug"><path d="M127.88 73.143c0 1.412-.506 2.635-1.518 3.669-1.011 1.033-2.209 1.55-3.592 1.55h-17.887c0 9.296-1.783 17.178-5.35 23.645l16.609 17.044c1.011 1.034 1.517 2.257 1.517 3.67 0 1.412-.506 2.635-1.517 3.668-.958 1.033-2.155 1.55-3.593 1.55-1.438 0-2.635-.517-3.593-1.55l-15.811-16.063a15.49 15.49 0 0 1-1.196 1.06c-.532.434-1.65 1.208-3.353 2.322a50.104 50.104 0 0 1-5.192 2.974c-1.758.87-3.94 1.658-6.546 2.364-2.607.706-5.189 1.06-7.748 1.06V47.044H58.89v73.062c-2.716 0-5.417-.367-8.106-1.102-2.688-.734-5.003-1.631-6.945-2.692a66.769 66.769 0 0 1-5.268-3.179c-1.571-1.057-2.73-1.94-3.476-2.65L33.9 109.34l-14.611 16.877c-1.066 1.14-2.344 1.711-3.833 1.711-1.277 0-2.422-.434-3.434-1.304-1.012-.978-1.557-2.187-1.635-3.627-.079-1.44.333-2.705 1.236-3.794l16.129-18.51c-3.087-6.197-4.63-13.644-4.63-22.342H5.235c-1.383 0-2.58-.517-3.592-1.55S.125 74.545.125 73.132c0-1.412.506-2.635 1.518-3.668 1.012-1.034 2.21-1.55 3.592-1.55h17.887V43.939L9.308 29.833c-1.012-1.033-1.517-2.256-1.517-3.669 0-1.412.505-2.635 1.517-3.668 1.012-1.034 2.21-1.55 3.593-1.55s2.58.516 3.593 1.55l13.813 14.106h67.396l13.814-14.106c1.012-1.034 2.21-1.55 3.592-1.55 1.384 0 2.581.516 3.593 1.55 1.012 1.033 1.518 2.256 1.518 3.668 0 1.413-.506 2.636-1.518 3.67l-13.814 14.105v23.975h17.887c1.383 0 2.58.516 3.593 1.55 1.011 1.033 1.517 2.256 1.517 3.668l-.005.01zM89.552 26.175H38.448c0-7.23 2.489-13.386 7.466-18.469C50.892 2.623 56.92.082 64 .082c7.08 0 13.108 2.541 18.086 7.624 4.977 5.083 7.466 11.24 7.466 18.469z" /></symbol>'});o.a.add(i);t.default=i},"F9+T":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-international",use:"icon-international-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-international"><path d="M83.287 103.01c-1.57-3.84-6.778-10.414-15.447-19.548-2.327-2.444-2.182-4.306-1.338-9.862v-.64c.553-3.81 1.513-6.05 14.313-8.087 6.516-1.018 8.203 1.57 10.589 5.178l.785 1.193a12.625 12.625 0 0 0 6.43 5.207c1.134.524 2.53 1.164 4.421 2.24 4.596 2.53 4.596 5.41 4.596 11.753v.727a26.91 26.91 0 0 1-5.178 17.454 59.055 59.055 0 0 1-19.025 11.026c3.49-6.546.814-14.313 0-16.553l-.146-.087zM64 5.12a58.502 58.502 0 0 1 25.484 5.818 54.313 54.313 0 0 0-12.859 10.327c-.93 1.28-1.716 2.473-2.472 3.579-2.444 3.694-3.637 5.352-5.818 5.614a25.105 25.105 0 0 1-4.219 0c-4.276-.29-10.094-.64-11.956 4.422-1.193 3.23-1.396 11.956 2.444 16.495.66 1.077.778 2.4.32 3.578a7.01 7.01 0 0 1-2.066 3.229 18.938 18.938 0 0 1-2.909-2.91 18.91 18.91 0 0 0-8.32-6.603c-1.25-.349-2.647-.64-3.985-.93-3.782-.786-8.03-1.688-9.019-3.812a14.895 14.895 0 0 1-.727-5.818 21.935 21.935 0 0 0-1.396-9.25 8.873 8.873 0 0 0-5.557-4.946A58.705 58.705 0 0 1 64 5.12zM0 64c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64z" /></symbol>'});o.a.add(i);t.default=i},FDDl:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-qq",use:"icon-qq-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-qq"><path d="M18.448 57.545l-.244-.744-.198-.968-.132-.53v-2.181l.236-.859.24-.908.317-.953.428-1.06.561-1.103.794-1.104v-.773l.077-.724.123-.984.34-1.106.313-1.194.25-.548.289-.511.371-.569.405-.423v-2.73l.234-1.407.236-1.633.42-1.955.577-2.035.43-1.118.426-1.217.468-1.135.559-1.216.57-1.332.655-1.247.737-1.331.929-1.33.43-.762.457-.624.995-1.406 1.025-1.403 1.163-1.444 1.246-1.405 1.352-1.384 1.41-1.423 1.708-1.536 1.083-.934 1.322-1.008 1.34-.89 1.448-.855 1.392-.76 1.57-.63 1.667-.775 1.657-.532 1.653-.552 1.787-.548 1.785-.417 1.876-.347L59.128.68l1.879-.245 1.876-.252 2.002-.106h5.912l1.97.243 1.981.231 2.019.207 1.874.441 1.979.413 1.857.475 2.035.53 1.862.646 1.782.738 1.904.78 1.736.853 1.689.95 1.655 1.044 1.425.971.662.548.693.401 1.323 1.1 1.115 1.064 1.112 1.1 1.083 1.214.894 1.178 1.064 1.217.74 1.306.752 1.162.798 1.352.661 1.175 1.113 2.489.546 1.286.428 1.192.428 1.294.384 1.217.267 1.047.347 1.231.607 2.198.388 1.924.253 1.861.217 1.497.342 2.28.077.362.274.41.737 1.18.473.8.42.832.534.892.472 1.07.307 1.093.334 1.2.252 1.232.115.605.106.746v.648l-.106.643v.8l-.192.774-.35 1.5-.403.76-.299.852v.213l.142.264.4.623 1.746 2.53 1.377 1.9.66 1.267.889 1.389.774 1.52.893 1.627.894 1.828 1.006 2.069.567 1.268.518 1.239.447 1.307.44 1.175.336 1.235.342 1.16.432 2.261.343 2.31.235 2.05v2.891l-.158 1.025-.226 1.768-.308 1.59-.48 1.44-.18.588-.336.707-.28.493-.375.607-.33.383-.42.494-.375.4-.401.34-.48.207-.432.207-.355.114h-.543l-.346-.114-.66-.32-.302-.212-.317-.223-.347-.304-.35-.342-.579-.63-.684-.89-.539-.917-.538-.734-.526-.855-.741-1.517-.833-1.579-.098-.055h-.138l-.338.247-.196.415-.326.516-.567 1.533-.856 2.182-1.096 2.626-.824 1.308-.864 1.366-1.027 1.536-1.09 1.503-.557.68-.676.743-1.555 1.497.136.135.21.214.777.446 3.235 1.524 1.41.779 1.347.756 1.332.953 1.187.982.574.443.432.511.445.593.367.643.198.533.242.64.105.554.115.647-.115.433v.44l-.105.454-.242.415-.092.325-.22.394-.587.784-.543.627-.42.47-.35.348-.893.638-1.01.556-1.077.532-1.155.511-1.287.495-.693.207-.608.167-1.496.342-1.545.325-1.552.323-1.689.27-1.74.072-1.785.21h-5.539l-1.998-.114-1.86-.168-2.005-.27-1.99-.209-2.095-.286-2.03-.495-1.981-.374-1.968-.552-2.019-.707-1.98-.585-1.044-.342-.927-.323-.586-.223-.582-.12h-1.647l-1.904-.131-.962-.096-1.24-.135-.795.705-1.085.665-1.471.701-1.628.875-.99.475-1.033.376-2.281.914-1.24.305-1.3.343-1.803.344-1.13.086-1.193.1-1.246.135-1.45.053h-5.926l-3.346-.053-3.25-.321-1.644-.23-1.589-.23-1.546-.227-1.547-.305-1.442-.456-1.434-.325-1.294-.51-1.223-.474-1.142-.533-.99-.583-.984-.71-.336-.343-.44-.415-.334-.362-.3-.417-.278-.415-.215-.42-.311-.89-.109-.46-.138-.51v-.473l.138-.533v-.53l.109-.53v-1.069l.052-.564.259-.647.215-.646.39-.779.286-.3.236-.348.615-.738.49-.38.464-.266.428-.338.676-.21.543-.324.676-.341.77-.227.775-.231.897-.192.85-.11 1.008-.13 1.093-.081.284-.092h.063l.137-.115v-.13l-.2-.266-.58-.27-1.45-1.231-.975-.761-1.127-.967-1.136-1.082-1.181-1.382-1.36-1.558-.508-.843-.672-.87-.58-1.007-.522-1.1-.704-1.047-.459-1.194-.547-1.192-.546-1.33-.397-1.273-.378-1.575-.112-.057h-.115l-.059-.113h-.14l-.23.113-.114.057-.158.264-.057.321-.119.286-.206.477-.664 1.157-.345.701-.546.612-.58.736-.641.816-.677.724-.795.701-.734.658-.814.524-.89.546-.855.325-1.008.247-.99.095h-.233l-.228-.095-.18-.384-.29-.188-.38-.912-.237-.493-.255-.707-.21-.734-.113-.724-.313-1.648-.12-.972v-3.185l.12-2.379.196-1.214.23-1.252.21-1.347.374-1.254.42-1.443.431-1.407.578-1.448.545-1.38.754-1.4.699-1.52.855-1.425 1.006-1.538 1.023-1.382 1.069-1.538.891-1.071 1.142-1.227 1.202-1.237.56-.59.678-.662.985-.836 1.012-.853 1.647-1.446 1.242-.889z" /></symbol>'});o.a.add(i);t.default=i},GPBF:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-link",use:"icon-link-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-link"><path d="M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z" /><path d="M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z" /><path d="M127.893 37.982h-12.375V12.375H88.706V0h39.187z" /></symbol>'});o.a.add(i);t.default=i},HIWW:function(e,t,n){"use strict";var a=n("MoCq");n.n(a).a},Hnev:function(e,t,n){"use strict";var a=n("UqWv");n.n(a).a},ICep:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-guide 2",use:"icon-guide 2-usage",viewBox:"0 0 1000 1000",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" id="icon-guide 2"><path d="M11.576 547.9l282.848 126.404 409.285-383.26 137.057-128.341L361.234 714.22l362.77 146.362c8.742 3.327 18.733-1.33 21.855-10.644v-.666L999.985.374 10.327 514.636c-8.742 4.657-11.864 15.302-8.117 24.616 2.497 3.991 5.62 7.318 9.366 8.648zM360.61 999.626l141.112-161.663-141.112-61.206v222.869z" /></symbol>'});o.a.add(i);t.default=i},JYDz:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-language",use:"icon-language-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-language"><path d="M84.742 36.8c2.398 7.2 5.595 12.8 11.19 18.4 4.795-4.8 7.992-11.2 10.39-18.4h-21.58zm-52.748 40h20.78l-10.39-28-10.39 28z" /><path d="M111.916 0H16.009C7.218 0 .025 7.2.025 16v96c0 8.8 7.193 16 15.984 16h95.907c8.791 0 15.984-7.2 15.984-16V16c0-8.8-6.394-16-15.984-16zM72.754 103.2c-1.598 1.6-3.197 1.6-4.795 1.6-.8 0-2.398 0-3.197-.8-.8-.8-1.599 0-1.599-.8s-.799-1.6-1.598-3.2c-.8-1.6-.8-2.4-1.599-4l-3.196-8.8H28.797L25.6 96c-1.598 3.2-2.398 5.6-3.197 7.2-.8 1.6-2.398 1.6-4.795 1.6-1.599 0-3.197-.8-4.796-1.6-1.598-1.6-2.397-2.4-2.397-4 0-.8 0-1.6.799-3.2.8-1.6.8-2.4 1.598-4l17.583-44.8c.8-1.6.8-3.2 1.599-4.8.799-1.6 1.598-3.2 2.397-4 .8-.8 1.599-2.4 3.197-3.2 1.599-.8 3.197-.8 4.796-.8 1.598 0 3.196 0 4.795.8 1.598.8 2.398 1.6 3.197 3.2.799.8 1.598 2.4 2.397 4 .8 1.6 1.599 3.2 2.398 5.6l17.583 44c1.598 3.2 2.398 5.6 2.398 7.2-.8.8-1.599 2.4-2.398 4zM116.711 72c-8.791-3.2-15.185-7.2-20.78-12-5.594 5.6-12.787 9.6-21.579 12l-2.397-4c8.791-2.4 15.984-5.6 21.579-11.2C87.939 51.2 83.144 44 81.545 36h-7.992v-3.2h21.58c-1.6-2.4-3.198-5.6-4.796-8l2.397-.8c1.599 2.4 3.997 5.6 5.595 8.8h19.98v4h-7.992c-2.397 8-6.393 15.2-11.189 20 5.595 4.8 11.988 8.8 20.78 11.2l-3.197 4z" /></symbol>'});o.a.add(i);t.default=i},Kcm3:function(e,t,n){},Kj24:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-password",use:"icon-password-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-password"><path d="M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z" /></symbol>'});o.a.add(i);t.default=i},LxGF:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-peoples",use:"icon-peoples-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-peoples"><path d="M95.648 118.762c0 5.035-3.563 9.121-7.979 9.121H7.98c-4.416 0-7.979-4.086-7.979-9.121C0 100.519 15.408 83.47 31.152 76.75c-9.099-6.43-15.216-17.863-15.216-30.987v-9.128c0-20.16 14.293-36.518 31.893-36.518s31.894 16.358 31.894 36.518v9.122c0 13.137-6.123 24.556-15.216 30.993 15.738 6.726 31.141 23.769 31.141 42.012z" /><path d="M106.032 118.252h15.867c3.376 0 6.101-3.125 6.101-6.972 0-13.957-11.787-26.984-23.819-32.123 6.955-4.919 11.638-13.66 11.638-23.704v-6.985c0-15.416-10.928-27.926-24.39-27.926-1.674 0-3.306.193-4.89.561 1.936 4.713 3.018 9.974 3.018 15.526v9.121c0 13.137-3.056 23.111-11.066 30.993 14.842 4.41 27.312 23.42 27.541 41.509z" /></symbol>'});o.a.add(i);t.default=i},MEYL:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-money",use:"icon-money-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-money"><path d="M54.122 127.892v-28.68H7.513V87.274h46.609v-12.4H7.513v-12.86h38.003L.099 0h22.6l32.556 45.07c3.617 5.144 6.44 9.611 8.487 13.385 1.788-3.05 4.89-7.779 9.301-14.186L103.93 0h24.01L82.385 62.013h38.34v12.862h-46.41v12.4h46.41v11.937h-46.41v28.68H54.123z" /></symbol>'});o.a.add(i);t.default=i},MMMJ:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-example",use:"icon-example-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-example"><path d="M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z" /></symbol>'});o.a.add(i);t.default=i},MoCq:function(e,t,n){},MokB:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-list",use:"icon-list-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-list"><path d="M1.585 12.087c0 6.616 3.974 11.98 8.877 11.98 4.902 0 8.877-5.364 8.877-11.98 0-6.616-3.975-11.98-8.877-11.98-4.903 0-8.877 5.364-8.877 11.98zM125.86.107H35.613c-1.268 0-2.114 1.426-2.114 2.852v18.255c0 1.712 1.057 2.853 2.114 2.853h90.247c1.268 0 2.114-1.426 2.114-2.853V2.96c0-1.711-1.057-2.852-2.114-2.852zM.106 62.86c0 6.615 3.974 11.979 8.876 11.979 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zM124.17 50.88H33.921c-1.268 0-2.114 1.425-2.114 2.851v18.256c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852V53.73c0-1.426-.846-2.852-2.114-2.852zM.106 115.913c0 6.616 3.974 11.98 8.876 11.98 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zm124.064-11.98H33.921c-1.268 0-2.114 1.426-2.114 2.853v18.255c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852v-18.255c0-1.427-.846-2.853-2.114-2.853z" /></symbol>'});o.a.add(i);t.default=i},P8iQ:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-settings",use:"icon-settings-usage",viewBox:"0 0 490.2 490.2",content:'<symbol xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 490.2 490.2" id="icon-settings">\r\n<g>\r\n\t<g>\r\n\t\t<g>\r\n\t\t\t<path d="M469.1,173.1h-37.5c-1-3.1-3.1-6.3-4.2-9.4l26.1-26.1c8.3-8.3,8.3-20.9,0-29.2l-71.9-71.9c-8.3-8.3-20.9-8.3-29.2,0\r\n\t\t\t\tl-26.1,26.1c-3.1-2.1-6.3-3.1-9.4-4.2V20.9C316.9,9.4,307.5,0,296,0H193.9C182.4,0,173,9.4,173,20.9v37.5c-3.1,1-6.3,3.1-9.4,4.2\r\n\t\t\t\tl-26.1-26.1c-8.3-8.3-20.9-8.3-29.2,0l-71.9,71.9c-4.2,4.2-6.3,9.4-6.3,14.6s2.1,10.4,6.3,14.6l26.1,26.1\r\n\t\t\t\tc-2.1,3.1-3.1,6.3-4.2,9.4H20.9C9.4,173.1,0,182.5,0,194v102.2c0,11.5,9.4,20.9,20.9,20.9h37.5c1,3.1,3.1,6.3,4.2,9.4l-26.1,26.1\r\n\t\t\t\tc-4.2,4.2-6.3,9.4-6.3,14.6s2.1,10.4,6.3,14.6l71.9,71.9c8.3,8.3,20.9,8.3,29.2,0l26.1-26.1c3.1,2.1,6.3,3.1,9.4,4.2v37.5\r\n\t\t\t\tc0,11.5,9.4,20.9,20.9,20.9h102.2c11.5,0,20.9-9.4,20.9-20.9v-37.5c3.1-1,6.3-3.1,9.4-4.2l26.1,26.1c8.3,8.3,20.9,8.3,29.2,0\r\n\t\t\t\tl71.9-71.9c8.3-8.3,8.3-20.9,0-29.2l-26.1-26.1c2.1-3.1,3.1-6.3,4.2-9.4h37.5c11.5,0,20.9-9.4,20.9-20.9V193.9\r\n\t\t\t\tC490,182.4,480.6,173.1,469.1,173.1z M448.3,275.2H417c-9.4,0-16.7,6.3-19.8,14.6c-3.1,10.4-7.3,20.9-12.5,30.2\r\n\t\t\t\tc-5.2,8.3-3.1,18.8,3.1,25l21.9,21.9L367,409.7l-21.9-21.9c-7.3-6.3-16.7-7.3-25-3.1c-9.4,5.2-19.8,9.4-30.2,12.5\r\n\t\t\t\tc-8.3,2.1-14.6,10.4-14.6,19.8v31.3h-60.5l0,0V417c0-9.4-6.3-16.7-14.6-19.8c-10.4-3.1-20.9-7.3-30.2-12.5\r\n\t\t\t\tc-8.3-5.2-18.8-3.1-25,3.1l-22,21.9L80.3,367l21.9-21.9c6.3-7.3,7.3-16.7,3.1-25c-5.2-9.4-9.4-19.8-12.5-30.2\r\n\t\t\t\tc-2.1-8.3-10.4-14.6-19.8-14.6H41.7v-60.5H73c9.4,0,16.7-6.3,19.8-14.6c3.1-10.4,7.3-20.9,12.5-30.2c5.2-8.3,3.1-18.8-3.1-25\r\n\t\t\t\tl-21.9-22L123,80.3l21.9,21.9c7.3,6.3,16.7,7.3,25,3.1c9.4-5.2,19.8-9.4,30.2-12.5c8.3-2.1,14.6-10.4,14.6-19.8V41.7h60.5V73\r\n\t\t\t\tc0,9.4,6.3,16.7,14.6,19.8c10.4,3.1,20.9,7.3,30.2,12.5c8.3,5.2,18.8,3.1,25-3.1l22-21.9l42.7,42.7l-21.9,21.9\r\n\t\t\t\tc-6.3,7.3-7.3,16.7-3.1,25c5.2,9.4,9.4,19.8,12.5,30.2c2.1,8.3,10.4,14.6,19.8,14.6h31.3L448.3,275.2L448.3,275.2z" />\r\n\t\t\t<path d="M245,131.4c-62.6,0-113.6,51.1-113.6,113.6s51,113.6,113.6,113.6s113.6-51,113.6-113.6S307.6,131.4,245,131.4z\r\n\t\t\t\t M245,316.9c-39.6,0-71.9-32.3-71.9-71.9s32.3-71.9,71.9-71.9s71.9,32.3,71.9,71.9S284.6,316.9,245,316.9z" />\r\n\t\t</g>\r\n\t</g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n</symbol>'});o.a.add(i);t.default=i},"R/8a":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-message",use:"icon-message-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-message"><path d="M0 20.967v59.59c0 11.59 8.537 20.966 19.075 20.966h28.613l1 26.477L76.8 101.523h32.125c10.538 0 19.075-9.377 19.075-20.966v-59.59C128 9.377 119.463 0 108.925 0h-89.85C8.538 0 0 9.377 0 20.967zm82.325 33.1c0-5.524 4.013-9.935 9.037-9.935 5.026 0 9.038 4.41 9.038 9.934 0 5.524-4.025 9.934-9.038 9.934-5.024 0-9.037-4.41-9.037-9.934zm-27.613 0c0-5.524 4.013-9.935 9.038-9.935s9.037 4.41 9.037 9.934c0 5.524-4.025 9.934-9.037 9.934-5.025 0-9.038-4.41-9.038-9.934zm-27.1 0c0-5.524 4.013-9.935 9.038-9.935s9.038 4.41 9.038 9.934c0 5.524-4.026 9.934-9.05 9.934-5.013 0-9.025-4.41-9.025-9.934z" /></symbol>'});o.a.add(i);t.default=i},"R/Hx":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-table",use:"icon-table-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-table"><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z" /><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z" /></symbol>'});o.a.add(i);t.default=i},SZWj:function(e,t,n){"use strict";var a=n("Xm3t");n.n(a).a},TfVu:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-eye",use:"icon-eye-usage",viewBox:"0 0 128 64",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 64" id="icon-eye"><path d="M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z" /></symbol>'});o.a.add(i);t.default=i},Tfa4:function(e,t,n){},"Uf/o":function(e,t,n){var a={"./404.svg":"oUrx","./bug.svg":"F3lI","./chart.svg":"yCkv","./clipboard.svg":"vDVG","./component.svg":"VtY+","./dashboard.svg":"94Jb","./documentation.svg":"kPu2","./drag.svg":"m7++","./edit.svg":"qkZ8","./email.svg":"y7eQ","./example.svg":"MMMJ","./excel.svg":"ZZmv","./exit-fullscreen.svg":"28eg","./eye-open.svg":"1+ww","./eye.svg":"TfVu","./form.svg":"6xvN","./fullscreen.svg":"mSHS","./guide 2.svg":"ICep","./guide.svg":"ZoO1","./icon.svg":"nZHn","./international.svg":"F9+T","./language.svg":"JYDz","./link.svg":"GPBF","./list.svg":"MokB","./lock.svg":"qwAt","./message.svg":"R/8a","./money.svg":"MEYL","./nested.svg":"3PhE","./password.svg":"Kj24","./pdf.svg":"+aF5","./people.svg":"0Fbn","./peoples.svg":"LxGF","./qq.svg":"FDDl","./search.svg":"jo2x","./settings.svg":"P8iQ","./shopping.svg":"EqXK","./size.svg":"hkRB","./star.svg":"cIpu","./tab.svg":"j7e1","./table.svg":"R/Hx","./theme.svg":"5TQQ","./tree.svg":"k80C","./user.svg":"s7Vf","./wechat.svg":"gNoN","./zip.svg":"iqZD"};function r(e){var t=s(e);return n(t)}function s(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=s,e.exports=r,r.id="Uf/o"},UqWv:function(e,t,n){},"VtY+":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-component",use:"icon-component-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-component"><path d="M0 0h54.857v54.857H0V0zm0 73.143h54.857V128H0V73.143zm73.143 0H128V128H73.143V73.143zm27.428-18.286C115.72 54.857 128 42.577 128 27.43 128 12.28 115.72 0 100.571 0 85.423 0 73.143 12.28 73.143 27.429c0 15.148 12.28 27.428 27.428 27.428z" /></symbol>'});o.a.add(i);t.default=i},Vtdi:function(e,t,n){"use strict";n.r(t);var a={};n.r(a),n.d(a,"parseTime",function(){return ue}),n.d(a,"formatTime",function(){return le}),n.d(a,"timeAgo",function(){return ta}),n.d(a,"numberFormatter",function(){return na}),n.d(a,"toThousandFilter",function(){return aa});var r=n("Kw5r"),s=n("p46w"),o=n.n(s),i=(n("9d8Q"),n("XJYT")),c=n.n(i),u=(n("D66Q"),n("sg+I"),{name:"App"}),l=n("KHd+"),p=Object(l.a)(u,function(){var e=this.$createElement,t=this._self._c||e;return t("div",{attrs:{id:"app"}},[t("router-view")],1)},[],!1,null,null,null);p.options.__file="App.vue";var d=p.exports,m=n("L2JU"),h={state:{sidebar:{opened:!o.a.get("sidebarStatus")||!!+o.a.get("sidebarStatus"),withoutAnimation:!1},device:"desktop",language:o.a.get("language")||"en",size:o.a.get("size")||"medium"},mutations:{TOGGLE_SIDEBAR:function(e){e.sidebar.opened=!e.sidebar.opened,e.sidebar.withoutAnimation=!1,e.sidebar.opened?o.a.set("sidebarStatus",1):o.a.set("sidebarStatus",0)},CLOSE_SIDEBAR:function(e,t){o.a.set("sidebarStatus",0),e.sidebar.opened=!1,e.sidebar.withoutAnimation=t},TOGGLE_DEVICE:function(e,t){e.device=t},SET_LANGUAGE:function(e,t){e.language=t,o.a.set("language",t)},SET_SIZE:function(e,t){e.size=t,o.a.set("size",t)}},actions:{toggleSideBar:function(e){(0,e.commit)("TOGGLE_SIDEBAR")},closeSideBar:function(e,t){(0,e.commit)("CLOSE_SIDEBAR",t.withoutAnimation)},toggleDevice:function(e,t){(0,e.commit)("TOGGLE_DEVICE",t)},setLanguage:function(e,t){(0,e.commit)("SET_LANGUAGE",t)},setSize:function(e,t){(0,e.commit)("SET_SIZE",t)}}},f={state:{logs:[]},mutations:{ADD_ERROR_LOG:function(e,t){e.logs.push(t)}},actions:{addErrorLog:function(e,t){(0,e.commit)("ADD_ERROR_LOG",t)}}},v=n("o0o1"),g=n.n(v),b=n("yXPU"),w=n.n(b),y=n("MVZn"),x=n.n(y),k=n("LvDl"),T=n.n(k),S=n("t3Un"),_=n("X4fA"),E=n("9i3r");function O(e,t,n){return A.apply(this,arguments)}function A(){return(A=w()(g.a.mark(function e(t,n,a){var r,s,o=arguments;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>3&&void 0!==o[3]?o[3]:1,s=new URLSearchParams(T.a.omitBy(x()({},a,{page:r}),T.a.isUndefined)).toString(),e.next=4,Object(S.a)({baseURL:Object(E.a)(t),url:"/api/pleroma/admin/moderation_log?".concat(s),method:"get",headers:C(n)});case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function L(e,t){return P.apply(this,arguments)}function P(){return(P=w()(g.a.mark(function e(t,n){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(t),url:"/api/pleroma/admin/users?filters=is_admin",method:"get",headers:C(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function R(e,t){return I.apply(this,arguments)}function I(){return(I=w()(g.a.mark(function e(t,n){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(t),url:"/api/pleroma/admin/users?filters=is_moderator",method:"get",headers:C(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var C=function(e){return e?{Authorization:"Bearer ".concat(Object(_.b)())}:{}},M={state:{fetchedLog:[],logItemsCount:0,admins:[],moderators:[],logLoading:!0,adminsLoading:!0},mutations:{SET_LOG_LOADING:function(e,t){e.logLoading=t},SET_ADMINS_LOADING:function(e,t){e.adminsLoading=t},SET_MODERATION_LOG:function(e,t){e.fetchedLog=t},SET_MODERATION_LOG_COUNT:function(e,t){e.logItemsCount=t},SET_ADMINS:function(e,t){e.admins=t},SET_MODERATORS:function(e,t){e.moderators=t}},actions:{FetchModerationLog:function(){var e=w()(g.a.mark(function e(t){var n,a,r,s,o=arguments;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.getters,r=o.length>1&&void 0!==o[1]?o[1]:{},e.next=4,O(a.authHost,a.token,r);case 4:s=e.sent,n("SET_MODERATION_LOG",s.data.items),n("SET_MODERATION_LOG_COUNT",s.data.total),n("SET_LOG_LOADING",!1);case 8:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),FetchAdmins:function(){var e=w()(g.a.mark(function e(t){var n,a,r,s;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.getters,e.next=3,L(a.authHost,a.token);case 3:return r=e.sent,e.next=6,R(a.authHost,a.token);case 6:s=e.sent,n("SET_ADMINS",r.data),n("SET_MODERATORS",s.data),n("SET_ADMINS_LOADING",!1);case 10:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()}};function z(e,t,n,a){return V.apply(this,arguments)}function V(){return(V=w()(g.a.mark(function e(t,n,a,r){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(a),url:"/api/pleroma/admin/users/invite_token",method:"post",headers:N(r),data:n&&n.length>0?{max_use:t,expires_at:n}:{max_use:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function D(e,t,n,a){return U.apply(this,arguments)}function U(){return(U=w()(g.a.mark(function e(t,n,a,r){var s;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return s=n.length>0?"/api/pleroma/admin/users/email_invite?email=".concat(t,"&name=").concat(n):"/api/pleroma/admin/users/email_invite?email=".concat(t),e.next=3,Object(S.a)({baseURL:Object(E.a)(a),url:s,method:"post",headers:N(r)});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function j(e,t){return H.apply(this,arguments)}function H(){return(H=w()(g.a.mark(function e(t,n){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(t),url:"/api/pleroma/admin/users/invites",method:"get",headers:N(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function B(e,t,n){return F.apply(this,arguments)}function F(){return(F=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/users/revoke_invite",method:"post",headers:N(a),data:{token:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var N=function(e){return e?{Authorization:"Bearer ".concat(Object(_.b)())}:{}},G=n("mSNy"),q={state:{inviteTokens:[],loading:!1,newToken:{}},mutations:{SET_LOADING:function(e,t){e.loading=t},SET_NEW_TOKEN:function(e,t){e.newToken=t},SET_TOKENS:function(e,t){e.inviteTokens=t}},actions:{FetchInviteTokens:function(){var e=w()(g.a.mark(function e(t){var n,a,r;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.getters,n("SET_LOADING",!0),e.next=4,j(a.authHost,a.token);case 4:r=e.sent,n("SET_TOKENS",r.data.invites.reverse()),n("SET_LOADING",!1);case 7:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),GenerateInviteToken:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c,u;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,s=t.getters,o=n.maxUse,i=n.expiresAt,e.prev=2,e.next=5,z(o,i,s.authHost,s.token);case 5:c=e.sent,u=c.data,a("SET_NEW_TOKEN",{token:u.token,maxUse:u.max_use,expiresAt:u.expires_at}),e.next=13;break;case 10:return e.prev=10,e.t0=e.catch(2),e.abrupt("return");case 13:r("FetchInviteTokens");case 14:case"end":return e.stop()}},e,null,[[2,10]])}));return function(t,n){return e.apply(this,arguments)}}(),InviteUserViaEmail:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.commit,t.dispatch,a=t.getters,r=n.email,s=n.name,e.prev=2,e.next=5,D(r,s,a.authHost,a.token);case 5:e.next=10;break;case 7:return e.prev=7,e.t0=e.catch(2),e.abrupt("return");case 10:Object(i.Message)({message:G.a.t("invites.emailSent"),type:"success",duration:5e3});case 11:case"end":return e.stop()}},e,null,[[2,7]])}));return function(t,n){return e.apply(this,arguments)}}(),RemoveNewToken:function(e){(0,e.commit)("SET_NEW_TOKEN",{})},RevokeToken:function(){var e=w()(g.a.mark(function e(t,n){var a,r;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.commit,a=t.dispatch,r=t.getters,e.prev=1,e.next=4,B(n,r.authHost,r.token);case 4:e.next=9;break;case 6:return e.prev=6,e.t0=e.catch(1),e.abrupt("return");case 9:a("FetchInviteTokens");case 10:case"end":return e.stop()}},e,null,[[1,6]])}));return function(t,n){return e.apply(this,arguments)}}()}};function Y(e,t){return $.apply(this,arguments)}function $(){return($=w()(g.a.mark(function e(t,n){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(t),url:"/api/v1/instance/peers",method:"get",headers:W(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var W=function(e){return e?{Authorization:"Bearer ".concat(Object(_.b)())}:{}},K={state:{fetchedPeers:[],loading:!0},mutations:{SET_PEERS:function(e,t){e.fetchedPeers=t},SET_LOADING:function(e,t){e.loading=t}},actions:{FetchPeers:function(){var e=w()(g.a.mark(function e(t){var n,a,r;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.getters,e.next=3,Y(a.authHost,a.token);case 3:r=e.sent,n("SET_PEERS",r.data),n("SET_LOADING",!1);case 6:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()}},Z=n("RIqP"),Q=n.n(Z),J=n("jE9Z"),X={name:"Hamburger",props:{isActive:{type:Boolean,default:!1},toggleClick:{type:Function,default:null}}},ee=(n("18BR"),Object(l.a)(X,function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{padding:"0 15px"},on:{click:this.toggleClick}},[t("svg",{staticClass:"hamburger",class:{"is-active":this.isActive},attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64"}},[t("path",{attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z"}})])])},[],!1,null,"69c6c5c4",null));ee.options.__file="index.vue";var te={components:{Hamburger:ee.exports},computed:x()({},Object(m.b)(["sidebar","name","avatar","device"])),methods:{toggleSideBar:function(){this.$store.dispatch("toggleSideBar")},logout:function(){this.$store.dispatch("LogOut").then(function(){location.reload()})}}},ne=(n("gNT+"),Object(l.a)(te,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"navbar"},[n("hamburger",{staticClass:"hamburger-container",attrs:{"toggle-click":e.toggleSideBar,"is-active":e.sidebar.opened}}),e._v(" "),n("div",{staticClass:"right-menu"},[n("el-dropdown",{staticClass:"avatar-container right-menu-item hover-effect",attrs:{trigger:"click"}},[n("div",{staticClass:"avatar-wrapper"},[n("img",{staticClass:"user-avatar",attrs:{src:e.avatar+"?imageView2/1/w/80/h/80"}})]),e._v(" "),n("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[n("el-dropdown-item",[n("span",{staticStyle:{display:"block"},on:{click:e.logout}},[e._v(e._s(e.$t("navbar.logOut")))])])],1)],1)],1)],1)},[],!1,null,"19937682",null));ne.options.__file="Navbar.vue";var ae=ne.exports,re=n("33yf"),se=n.n(re);function oe(e){return this.$te("route."+e)?this.$t("route."+e):e}var ie=n("cDf5"),ce=n.n(ie);function ue(e,t){if(0===arguments.length)return null;var n,a=t||"{y}-{m}-{d} {h}:{i}:{s}";"object"===ce()(e)?n=e:("string"==typeof e&&/^[0-9]+$/.test(e)&&(e=parseInt(e)),"number"==typeof e&&10===e.toString().length&&(e*=1e3),n=new Date(e));var r={y:n.getFullYear(),m:n.getMonth()+1,d:n.getDate(),h:n.getHours(),i:n.getMinutes(),s:n.getSeconds(),a:n.getDay()};return a.replace(/{(y|m|d|h|i|s|a)+}/g,function(e,t){var n=r[t];return"a"===t?["日","一","二","三","四","五","六"][n]:(e.length>0&&n<10&&(n="0"+n),n||0)})}function le(e,t){e=1e3*+e;var n=new Date(e),a=(Date.now()-n)/1e3;return a<30?"刚刚":a<3600?Math.ceil(a/60)+"分钟前":a<86400?Math.ceil(a/3600)+"小时前":a<172800?"1天前":t?ue(e,t):n.getMonth()+1+"月"+n.getDate()+"日"+n.getHours()+"时"+n.getMinutes()+"分"}function pe(e){return/^(https?:|mailto:|tel:)/.test(e)}var de={name:"MenuItem",functional:!0,props:{icon:{type:String,default:""},title:{type:String,default:""}},render:function(e,t){var n=t.props,a=n.icon,r=n.title,s=[];return a&&s.push(e("svg-icon",{attrs:{"icon-class":a}})),r&&s.push(e("span",{slot:"title"},[r])),s}},me=Object(l.a)(de,void 0,void 0,!1,null,null,null);me.options.__file="Item.vue";var he=me.exports,fe={props:{to:{type:String,required:!0}},methods:{linkProps:function(e){return pe(e)?{is:"a",href:e,target:"_blank",rel:"noopener"}:{is:"router-link",to:e}}}},ve=Object(l.a)(fe,function(){var e=this.$createElement;return(this._self._c||e)("component",this._b({},"component",this.linkProps(this.to),!1),[this._t("default")],2)},[],!1,null,null,null);ve.options.__file="Link.vue";var ge={name:"SidebarItem",components:{Item:he,AppLink:ve.exports},mixins:[{computed:{device:function(){return this.$store.state.app.device}},mounted:function(){this.fixBugIniOS()},methods:{fixBugIniOS:function(){var e=this,t=this.$refs.subMenu;if(t){var n=t.handleMouseleave;t.handleMouseleave=function(t){"mobile"!==e.device&&n(t)}}}}}],props:{item:{type:Object,required:!0},isNest:{type:Boolean,default:!1},basePath:{type:String,default:""}},data:function(){return{onlyOneChild:null}},methods:{hasOneShowingChild:function(e,t){var n=this,a=e.filter(function(e){return!e.hidden&&(n.onlyOneChild=e,!0)});return 1===a.length||0===a.length&&(this.onlyOneChild=x()({},t,{path:"",noShowingChildren:!0}),!0)},resolvePath:function(e){return this.isExternalLink(e)?e:se.a.resolve(this.basePath,e)},isExternalLink:function(e){return pe(e)},generateTitle:oe}},be=Object(l.a)(ge,function(){var e=this,t=e.$createElement,n=e._self._c||t;return!e.item.hidden&&e.item.children?n("div",{staticClass:"menu-wrapper"},[!e.hasOneShowingChild(e.item.children,e.item)||e.onlyOneChild.children&&!e.onlyOneChild.noShowingChildren||e.item.alwaysShow?n("el-submenu",{ref:"subMenu",attrs:{index:e.resolvePath(e.item.path)}},[n("template",{slot:"title"},[e.item.meta?n("item",{attrs:{icon:e.item.meta.icon,title:e.generateTitle(e.item.meta.title)}}):e._e()],1),e._v(" "),e._l(e.item.children,function(t){return[t.hidden?e._e():[t.children&&t.children.length>0?n("sidebar-item",{key:t.path,staticClass:"nest-menu",attrs:{"is-nest":!0,item:t,"base-path":e.resolvePath(t.path)}}):n("app-link",{key:t.name,attrs:{to:e.resolvePath(t.path)}},[n("el-menu-item",{attrs:{index:e.resolvePath(t.path)}},[t.meta?n("item",{attrs:{icon:t.meta.icon,title:e.generateTitle(t.meta.title)}}):e._e()],1)],1)]]})],2):[n("app-link",{attrs:{to:e.resolvePath(e.onlyOneChild.path)}},[n("el-menu-item",{class:{"submenu-title-noDropdown":!e.isNest},attrs:{index:e.resolvePath(e.onlyOneChild.path)}},[e.onlyOneChild.meta?n("item",{attrs:{icon:e.onlyOneChild.meta.icon||e.item.meta.icon,title:e.generateTitle(e.onlyOneChild.meta.title)}}):e._e()],1)],1)]],2):e._e()},[],!1,null,null,null);be.options.__file="SidebarItem.vue";var we=be.exports,ye=n("zx4i"),xe=n.n(ye),ke={components:{SidebarItem:we},computed:x()({},Object(m.b)(["permission_routers","sidebar"]),{variables:function(){return xe.a},isCollapse:function(){return!this.sidebar.opened}})},Te=Object(l.a)(ke,function(){var e=this.$createElement,t=this._self._c||e;return t("el-scrollbar",{attrs:{"wrap-class":"scrollbar-wrapper"}},[t("el-menu",{attrs:{"default-active":this.$route.path,collapse:this.isCollapse,"background-color":this.variables.menuBg,"text-color":this.variables.menuText,"active-text-color":this.variables.menuActiveText,mode:"vertical"}},this._l(this.permission_routers,function(e){return t("sidebar-item",{key:e.path,attrs:{item:e,"base-path":e.path}})}),1)],1)},[],!1,null,null,null);Te.options.__file="index.vue";var Se=Te.exports,_e={name:"ScrollPane",data:function(){return{left:0}},methods:{handleScroll:function(e){var t=e.wheelDelta||40*-e.deltaY,n=this.$refs.scrollContainer.$refs.wrap;n.scrollLeft=n.scrollLeft+t/4},moveToTarget:function(e){var t=this.$refs.scrollContainer.$el.offsetWidth,n=this.$refs.scrollContainer.$refs.wrap,a=this.$parent.$refs.tag,r=null,s=null;if(a.length>0&&(r=a[0],s=a[a.length-1]),r===e)n.scrollLeft=0;else if(s===e)n.scrollLeft=n.scrollWidth-t;else{var o=a.findIndex(function(t){return t===e}),i=a[o-1],c=a[o+1],u=c.$el.offsetLeft+c.$el.offsetWidth+4,l=i.$el.offsetLeft-4;u>n.scrollLeft+t?n.scrollLeft=u-t:l<n.scrollLeft&&(n.scrollLeft=l)}}}},Ee=(n("HIWW"),Object(l.a)(_e,function(){var e=this,t=e.$createElement;return(e._self._c||t)("el-scrollbar",{ref:"scrollContainer",staticClass:"scroll-container",attrs:{vertical:!1},nativeOn:{wheel:function(t){return t.preventDefault(),e.handleScroll(t)}}},[e._t("default")],2)},[],!1,null,"591d6778",null));Ee.options.__file="index.vue";var Oe={components:{ScrollPane:Ee.exports},data:function(){return{visible:!1,top:0,left:0,selectedTag:{},affixTags:[]}},computed:{visitedViews:function(){return this.$store.state.tagsView.visitedViews},routers:function(){return this.$store.state.permission.routers}},watch:{$route:function(){this.addTags(),this.moveToCurrentTag()},visible:function(e){e?document.body.addEventListener("click",this.closeMenu):document.body.removeEventListener("click",this.closeMenu)}},mounted:function(){this.initTags(),this.addTags()},methods:{generateTitle:oe,isActive:function(e){return e.path===this.$route.path},filterAffixTags:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",a=[];return e.forEach(function(e){if(e.meta&&e.meta.affix&&a.push({path:se.a.resolve(n,e.path),name:e.name,meta:x()({},e.meta)}),e.children){var r=t.filterAffixTags(e.children,e.path);r.length>=1&&(a=[].concat(Q()(a),Q()(r)))}}),a},initTags:function(){var e=this.affixTags=this.filterAffixTags(this.routers),t=!0,n=!1,a=void 0;try{for(var r,s=e[Symbol.iterator]();!(t=(r=s.next()).done);t=!0){var o=r.value;o.name&&this.$store.dispatch("addVisitedView",o)}}catch(e){n=!0,a=e}finally{try{t||null==s.return||s.return()}finally{if(n)throw a}}},addTags:function(){return this.$route.name&&this.$store.dispatch("addView",this.$route),!1},moveToCurrentTag:function(){var e=this,t=this.$refs.tag;this.$nextTick(function(){var n=!0,a=!1,r=void 0;try{for(var s,o=t[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var i=s.value;if(i.to.path===e.$route.path){e.$refs.scrollPane.moveToTarget(i),i.to.fullPath!==e.$route.fullPath&&e.$store.dispatch("updateVisitedView",e.$route);break}}}catch(e){a=!0,r=e}finally{try{n||null==o.return||o.return()}finally{if(a)throw r}}})},refreshSelectedTag:function(e){var t=this;this.$store.dispatch("delCachedView",e).then(function(){var n=e.fullPath;t.$nextTick(function(){t.$router.replace({path:"/redirect"+n})})})},closeSelectedTag:function(e){var t=this;this.$store.dispatch("delView",e).then(function(n){var a=n.visitedViews;t.isActive(e)&&t.toLastView(a)})},closeOthersTags:function(){var e=this;this.$router.push(this.selectedTag),this.$store.dispatch("delOthersViews",this.selectedTag).then(function(){e.moveToCurrentTag()})},closeAllTags:function(e){var t=this;this.$store.dispatch("delAllViews").then(function(n){var a=n.visitedViews;t.affixTags.some(function(t){return t.path===e.path})||t.toLastView(a)})},toLastView:function(e){var t=e.slice(-1)[0];t?this.$router.push(t):this.$router.push("/")},openMenu:function(e,t){var n=this.$el.getBoundingClientRect().left,a=this.$el.offsetWidth-105,r=t.clientX-n+15;this.left=r>a?a:r,this.top=t.clientY,this.visible=!0,this.selectedTag=e},closeMenu:function(){this.visible=!1}}},Ae=(n("Hnev"),n("Yymj"),Object(l.a)(Oe,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"tags-view-container"},[n("scroll-pane",{ref:"scrollPane",staticClass:"tags-view-wrapper"},e._l(e.visitedViews,function(t){return n("router-link",{key:t.path,ref:"tag",refInFor:!0,staticClass:"tags-view-item",class:e.isActive(t)?"active":"",attrs:{to:{path:t.path,query:t.query,fullPath:t.fullPath},tag:"span"},nativeOn:{mouseup:function(n){return"button"in n&&1!==n.button?null:e.closeSelectedTag(t)},contextmenu:function(n){return n.preventDefault(),e.openMenu(t,n)}}},[e._v("\n "+e._s(e.generateTitle(t.title))+"\n "),t.meta.affix?e._e():n("span",{staticClass:"el-icon-close",on:{click:function(n){return n.preventDefault(),n.stopPropagation(),e.closeSelectedTag(t)}}})])}),1),e._v(" "),n("ul",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"contextmenu",style:{left:e.left+"px",top:e.top+"px"}},[n("li",{on:{click:function(t){return e.refreshSelectedTag(e.selectedTag)}}},[e._v(e._s(e.$t("tagsView.refresh")))]),e._v(" "),e.selectedTag.meta&&e.selectedTag.meta.affix?e._e():n("li",{on:{click:function(t){return e.closeSelectedTag(e.selectedTag)}}},[e._v(e._s(e.$t("tagsView.close")))]),e._v(" "),n("li",{on:{click:e.closeOthersTags}},[e._v(e._s(e.$t("tagsView.closeOthers")))]),e._v(" "),n("li",{on:{click:function(t){return e.closeAllTags(e.selectedTag)}}},[e._v(e._s(e.$t("tagsView.closeAll")))])])],1)},[],!1,null,"e1cdb714",null));Ae.options.__file="TagsView.vue";var Le=Ae.exports,Pe={name:"AppMain",computed:{cachedViews:function(){return this.$store.state.tagsView.cachedViews},key:function(){return this.$route.fullPath}}},Re=(n("Z+gY"),Object(l.a)(Pe,function(){var e=this.$createElement,t=this._self._c||e;return t("section",{staticClass:"app-main"},[t("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[t("keep-alive",{attrs:{include:this.cachedViews}},[t("router-view",{key:this.key})],1)],1)],1)},[],!1,null,"f852c4f2",null));Re.options.__file="AppMain.vue";var Ie=Re.exports,Ce=document.body,Me={name:"Layout",components:{Navbar:ae,Sidebar:Se,AppMain:Ie,TagsView:Le},mixins:[{watch:{$route:function(e){"mobile"===this.device&&this.sidebar.opened&&Kn.dispatch("closeSideBar",{withoutAnimation:!1})}},beforeMount:function(){window.addEventListener("resize",this.resizeHandler)},mounted:function(){this.isMobile()&&(Kn.dispatch("toggleDevice","mobile"),Kn.dispatch("closeSideBar",{withoutAnimation:!0}))},methods:{isMobile:function(){return Ce.getBoundingClientRect().width-3<1024},resizeHandler:function(){if(!document.hidden){var e=this.isMobile();Kn.dispatch("toggleDevice",e?"mobile":"desktop"),e&&Kn.dispatch("closeSideBar",{withoutAnimation:!0})}}}}],computed:{sidebar:function(){return this.$store.state.app.sidebar},device:function(){return this.$store.state.app.device},classObj:function(){return{hideSidebar:!this.sidebar.opened,openSidebar:this.sidebar.opened,withoutAnimation:this.sidebar.withoutAnimation,mobile:"mobile"===this.device}}},methods:{handleClickOutside:function(){this.$store.dispatch("closeSideBar",{withoutAnimation:!1})}}},ze=(n("SZWj"),Object(l.a)(Me,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-wrapper",class:e.classObj},["mobile"===e.device&&e.sidebar.opened?n("div",{staticClass:"drawer-bg",on:{click:e.handleClickOutside}}):e._e(),e._v(" "),n("sidebar",{staticClass:"sidebar-container"}),e._v(" "),n("div",{staticClass:"main-container"},[n("navbar"),e._v(" "),n("app-main")],1)],1)},[],!1,null,"767d264f",null));ze.options.__file="Layout.vue";var Ve=ze.exports;r.default.use(J.a);var De=[""]||!1,Ue=De.includes("settings"),je={path:"/settings",component:Ve,children:[{path:"index",component:function(){return Promise.all([n.e("chunk-7fe2"),n.e("chunk-f3c9")]).then(n.bind(null,"YcIK"))},name:"Settings",meta:{title:"Settings",icon:"settings",noCache:!0}}]},He=De.includes("statuses"),Be={path:"/statuses",component:Ve,children:[{path:"index",component:function(){return Promise.all([n.e("chunk-df62"),n.e("chunk-0cc4")]).then(n.bind(null,"FtQ1"))},name:"Statuses",meta:{title:"Statuses",icon:"form",noCache:!0}}]},Fe=De.includes("reports"),Ne={path:"/reports",component:Ve,children:[{path:"index",component:function(){return Promise.all([n.e("chunk-df62"),n.e("ZhIB"),n.e("chunk-7de9")]).then(n.bind(null,"cEOe"))},name:"Reports",meta:{title:"Reports",icon:"documentation",noCache:!0}}]},Ge=De.includes("invites"),qe={path:"/invites",component:Ve,children:[{path:"index",component:function(){return n.e("chunk-1c46").then(n.bind(null,"HMof"))},name:"Invites",meta:{title:"Invites",icon:"guide",noCache:!0}}]},Ye=De.includes("moderation-log"),$e={path:"/moderation_log",component:Ve,children:[{path:"index",component:function(){return Promise.all([n.e("chunk-df62"),n.e("chunk-7f8e")]).then(n.bind(null,"CmY0"))},name:"Moderation Log",meta:{title:"moderationLog",icon:"list",noCache:!0}}]},We=[{path:"/redirect",component:Ve,hidden:!0,children:[{path:"/redirect/:path*",component:function(){return n.e("7zzA").then(n.bind(null,"7zzA"))}}]},{path:"/login-pleroma",component:function(){return Promise.all([n.e("oAJy"),n.e("chunk-16d0")]).then(n.bind(null,"iRgq"))},hidden:!0},{path:"/login",component:function(){return Promise.all([n.e("oAJy"),n.e("chunk-9bb0")]).then(n.bind(null,"ntYl"))},hidden:!0},{path:"/auth-redirect",component:function(){return n.e("JEtC").then(n.bind(null,"JEtC"))},hidden:!0},{path:"/404",component:function(){return n.e("chunk-15fa").then(n.bind(null,"/eX4"))},hidden:!0},{path:"/401",component:function(){return n.e("chunk-18e1").then(n.bind(null,"UUO+"))},hidden:!0},{path:"",component:Ve,redirect:"/users/index"}],Ke=new J.a({scrollBehavior:function(){return{y:0}},routes:We}),Ze=[{path:"/users",component:Ve,children:[{path:"index",component:function(){return Promise.all([n.e("ZhIB"),n.e("chunk-d01a")]).then(n.bind(null,"RGjw"))},name:"Users",meta:{title:"users",icon:"peoples",noCache:!0}}]}].concat(Q()(He?[]:[Be]),Q()(Fe?[]:[Ne]),Q()(Ge?[]:[qe]),Q()(Ye?[]:[$e]),Q()(Ue?[]:[je]),[{path:"/users/:id",component:Ve,children:[{path:"",name:"UsersShow",component:function(){return Promise.all([n.e("chunk-df62"),n.e("chunk-a601")]).then(n.bind(null,"4bFr"))}}],hidden:!0},{path:"*",redirect:"/404",hidden:!0}]);var Qe={state:{routers:[],addRouters:[]},mutations:{SET_ROUTERS:function(e,t){e.addRouters=t,e.routers=We.concat(t)}},actions:{GenerateRoutes:function(e,t){var n=e.commit;return new Promise(function(e){var a,r=t.roles;a=r.includes("admin")?Ze:function e(t,n){var a=[];return t.forEach(function(t){var r=x()({},t);(function(e,t){return!t.meta||!t.meta.roles||e.some(function(e){return t.meta.roles.includes(e)})})(n,r)&&(r.children&&(r.children=e(r.children,n)),a.push(r))}),a}(Ze,r),n("SET_ROUTERS",a),e()})}}};function Je(e,t){return Xe.apply(this,arguments)}function Xe(){return(Xe=w()(g.a.mark(function e(t,n){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(t),url:"/api/pleroma/admin/relay",method:"get",headers:rt(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function et(e,t,n){return tt.apply(this,arguments)}function tt(){return(tt=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/relay",method:"post",headers:rt(a),data:{relay_url:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function nt(e,t,n){return at.apply(this,arguments)}function at(){return(at=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/relay",method:"delete",headers:rt(a),data:{relay_url:"https://".concat(t,"/actor")}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var rt=function(e){return e?{Authorization:"Bearer ".concat(Object(_.b)())}:{}},st={state:{fetchedRelays:[],loading:!0},mutations:{SET_LOADING:function(e,t){e.loading=t},SET_RELAYS:function(e,t){e.fetchedRelays=t},ADD_RELAY:function(e,t){e.fetchedRelays=[].concat(Q()(e.fetchedRelays),[t])},DELETE_RELAY:function(e,t){e.fetchedRelays=e.fetchedRelays.filter(function(e){return e!==t})}},actions:{FetchRelays:function(){var e=w()(g.a.mark(function e(t){var n,a,r;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.getters,n("SET_LOADING",!0),e.next=4,Je(a.authHost,a.token);case 4:r=e.sent,n("SET_RELAYS",r.data.relays),n("SET_LOADING",!1);case 7:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),AddRelay:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,s=t.getters,a("ADD_RELAY",n),e.prev=2,e.next=5,et(n,s.authHost,s.token);case 5:e.next=10;break;case 7:return e.prev=7,e.t0=e.catch(2),e.abrupt("return");case 10:return e.prev=10,r("FetchRelays"),e.finish(10);case 13:case"end":return e.stop()}},e,null,[[2,7,10,13]])}));return function(t,n){return e.apply(this,arguments)}}(),DeleteRelay:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,s=t.getters,a("DELETE_RELAY",n),e.prev=2,e.next=5,nt(n,s.authHost,s.token);case 5:e.next=10;break;case 7:return e.prev=7,e.t0=e.catch(2),e.abrupt("return");case 10:return e.prev=10,r("FetchRelays"),e.finish(10);case 13:case"end":return e.stop()}},e,null,[[2,7,10,13]])}));return function(t,n){return e.apply(this,arguments)}}()}};function ot(e,t,n){return it.apply(this,arguments)}function it(){return(it=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/reports",method:"patch",headers:ht(a),data:{reports:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function ct(e,t,n,a,r){return ut.apply(this,arguments)}function ut(){return(ut=w()(g.a.mark(function e(t,n,a,r,s){var o;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.length>0?"/api/pleroma/admin/reports?state=".concat(t,"&page=").concat(n,"&page_size=").concat(a):"/api/pleroma/admin/reports?page=".concat(n,"&page_size=").concat(a),e.next=3,Object(S.a)({baseURL:Object(E.a)(r),url:o,method:"get",headers:ht(s)});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function lt(e,t){return pt.apply(this,arguments)}function pt(){return(pt=w()(g.a.mark(function e(t,n){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(t),url:"/api/pleroma/admin/grouped_reports",method:"get",headers:ht(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function dt(){return(dt=w()(g.a.mark(function e(t,n,a,r){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(a),url:"/api/pleroma/admin/reports/".concat(n,"/notes"),method:"post",headers:ht(r),data:{content:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function mt(){return(mt=w()(g.a.mark(function e(t,n,a,r){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(a),url:"/api/pleroma/admin/reports/".concat(n,"/notes/").concat(t),method:"delete",headers:ht(r)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var ht=function(e){return e?{Authorization:"Bearer ".concat(Object(_.b)())}:{}},ft={state:{fetchedReports:[],fetchedGroupedReports:[],totalReportsCount:0,currentPage:1,pageSize:50,groupReports:!1,stateFilter:"",loading:!0},mutations:{SET_LAST_REPORT_ID:function(e,t){e.idOfLastReport=t},SET_LOADING:function(e,t){e.loading=t},SET_PAGE:function(e,t){e.currentPage=t},SET_REPORTS:function(e,t){e.fetchedReports=t},SET_GROUPED_REPORTS:function(e,t){e.fetchedGroupedReports=t},SET_REPORTS_COUNT:function(e,t){e.totalReportsCount=t},SET_REPORTS_FILTER:function(e,t){e.stateFilter=t},SET_REPORTS_GROUPING:function(e){e.groupReports=!e.groupReports}},actions:{ChangeReportState:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:a=t.commit,r=t.getters,s=t.state,ot(n,r.authHost,r.token),o=s.fetchedReports.map(function(e){return n.map(function(e){return e.id}).includes(e.id)?x()({},e,{state:n[0].state}):e}),i=s.fetchedGroupedReports.map(function(e){var t=n.map(function(e){return e.id}),a=e.reports.map(function(e){return t.includes(e.id)?x()({},e,{state:n[0].state}):e});return x()({},e,{reports:a})}),a("SET_REPORTS",o),a("SET_GROUPED_REPORTS",i);case 6:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),ClearFetchedReports:function(e){(0,e.commit)("SET_REPORTS",[])},FetchReports:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,s=t.state,a("SET_LOADING",!0),e.next=4,ct(s.stateFilter,n,s.pageSize,r.authHost,r.token);case 4:o=e.sent,i=o.data,a("SET_REPORTS",i.reports),a("SET_REPORTS_COUNT",i.total),a("SET_PAGE",n),a("SET_LOADING",!1);case 10:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),FetchGroupedReports:function(){var e=w()(g.a.mark(function e(t){var n,a,r,s;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.getters,n("SET_LOADING",!0),e.next=4,lt(a.authHost,a.token);case 4:r=e.sent,s=r.data,n("SET_GROUPED_REPORTS",s.reports),n("SET_LOADING",!1);case 8:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),SetFilter:function(e,t){(0,e.commit)("SET_REPORTS_FILTER",t)},ToggleReportsGrouping:function(e){(0,e.commit)("SET_REPORTS_GROUPING")},CreateReportNote:function(e,t){var n=e.commit,a=e.getters,r=e.state,s=e.rootState,o=t.content,i=t.reportID;!function(e,t,n,a){dt.apply(this,arguments)}(o,i,a.authHost,a.token);var c={user:{avatar:s.user.avatar,display_name:s.user.name,url:"".concat(s.user.authHost,"/").concat(s.user.name),acct:s.user.name},content:o,created_at:(new Date).getTime()};n("SET_REPORTS",r.fetchedReports.map(function(e){return e.id===i&&(e.notes=[].concat(Q()(e.notes),[c])),e}))},DeleteReportNote:function(e,t){var n=e.commit,a=e.getters,r=e.state,s=t.noteID,o=t.reportID;!function(e,t,n,a){mt.apply(this,arguments)}(s,o,a.authHost,a.token),n("SET_REPORTS",r.fetchedReports.map(function(e){return e.id===o&&(e.notes=e.notes.filter(function(e){return e.id!==s})),e}))}}},vt=n("lSNA"),gt=n.n(vt);function bt(e,t){return wt.apply(this,arguments)}function wt(){return(wt=w()(g.a.mark(function e(t,n){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(t),url:"/api/pleroma/admin/config",method:"get",headers:St(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function yt(e,t,n){return xt.apply(this,arguments)}function xt(){return(xt=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/config",method:"post",headers:St(a),data:{configs:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function kt(e,t,n){return Tt.apply(this,arguments)}function Tt(){return(Tt=w()(g.a.mark(function e(t,n,a){var r;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(r=new FormData).append("file",t),e.next=4,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/v1/media",method:"post",headers:St(a),data:r});case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}var St=function(e){return e?{Authorization:"Bearer ".concat(Object(_.b)())}:{}},_t=n("QILm"),Et=n.n(_t);function Ot(e){var t=function(e,t){if("object"!==ce()(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t||"default");if("object"!==ce()(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ce()(t)?t:String(t)}var At=["replace",":replace"],Lt=["match_actor",":match_actor"],Pt=["digest","pleroma_fe","masto_fe","poll_limits","styling"],Rt=["mascots"],It={cors_plug:["credentials","expose","headers","max_age","methods"],esshd:["enabled","handler","password_authenticator","port","priv_dir"],logger:["backends","console","ex_syslogger"],mime:["types"],phoenix:["format_encoders"],pleroma:["Pleroma.Captcha","Pleroma.Captcha.Kocaptcha","Pleroma.Emails.Mailer","Pleroma.Emails.UserEmail","Pleroma.Repo","Pleroma.ScheduledActivity","Pleroma.Upload","Pleroma.Upload.Filter.AnonymizeFilename","Pleroma.Upload.Filter.Mogrify","Pleroma.Uploaders.Local","Pleroma.Uploaders.MDII","Pleroma.Uploaders.S3","Pleroma.User","Pleroma.Web.Auth.Authenticator","Pleroma.Web.Endpoint","Pleroma.Web.Federator.RetryQueue","Pleroma.Web.Metadata","activitypub","admin_token","assets","auth","auto_linker","chat","database","ecto_repos","email_notifications","emoji","env","fetch_initial_posts","frontend_configurations","gopher","hackney_pools","http","http_security","instance","ldap","markup","media_proxy","mrf_hellthread","mrf_keyword","mrf_mention","mrf_normalize_markup","mrf_rejectnonpublic","mrf_simple","mrf_subchain","mrf_user_allowlist","mrf_vocabulary","oauth2","rate_limit","rich_media","suggestions","uri_schemes","user"],pleroma_job_queue:["queues"],quack:["level","meta","webhook_url"],tesla:["adapter"],ueberauth:["Ueberauth","Ueberauth.Strategy.Facebook.OAuth","Ueberauth.Strategy.Google.OAuth","Ueberauth.Strategy.Microsoft.OAuth","Ueberauth.Strategy.Twitter.OAuth"],web_push_encryption:["vapid_details"]},Ct=function(e,t){return!0===e.enabled.value?e:t.reduce(function(e,t){e[t];return Et()(e,[t].map(Ot))},e)},Mt=function(e){return e.reduce(function(e,t){return e[t.tuple[0]]=t.tuple[1],e},{})},zt=function(e){return Object.keys(e).reduce(function(t,n){return t[n]=e[n],t},{})},Vt=function(e){return Object.keys(e).reduce(function(t,n){return t[n.substr(1)]=e[n],t},{})},Dt=function(e){return Object.keys(e).map(function(t){var n=Nt(t),a=t.startsWith("Pleroma")||t.startsWith("Ueberauth")?t:":".concat(t),r=void 0!==e[t].value?e[t].value:Object.keys(e[t]).reduce(function(n,r){var s=e[t][r];if(null===s||""===s)return n;if(":rate_limit"===a)return[].concat(Q()(n),[{tuple:[":".concat(r),s]}]);if("ip"===r){var o=s.split(".").map(function(e){return parseInt(e,10)});return[].concat(Q()(n),[{tuple:[":".concat(r),{tuple:o}]}])}return Array.isArray(s)||"object"!==ce()(s)?[].concat(Q()(n),":mrf_user_allowlist"===a?[{tuple:["".concat(r),s]}]:[{tuple:[":".concat(r),s]}]):Lt.includes(r)?[].concat(Q()(n),[{tuple:[":".concat(r),Bt(s)]}]):Rt.includes(r)?[].concat(Q()(n),[{tuple:[":".concat(r),Ht(s)]}]):Pt.includes(r)?[].concat(Q()(n),[{tuple:[":".concat(r),Ft(s)]}]):At.includes(r)?[].concat(Q()(n),[{tuple:[":".concat(r),jt(s)]}]):[].concat(Q()(n),[{tuple:[":".concat(r),Ut(s)]}])},[]);return{group:n,key:a,value:r}})},Ut=function e(t){return Object.keys(t).reduce(function(n,a){var r=t[a];if(null===r||""===r)return n;if("ip"===a){var s=r.split(".").map(function(e){return parseInt(e,10)});return[].concat(Q()(n),[{tuple:[":".concat(a),{tuple:s}]}])}return Array.isArray(r)||"object"!==ce()(r)?[].concat(Q()(n),[{tuple:[":".concat(a),r]}]):Lt.includes(a)?[].concat(Q()(n),[{tuple:[":".concat(a),Bt(r)]}]):Rt.includes(a)?[].concat(Q()(n),[{tuple:[":".concat(a),Ht(r)]}]):Pt.includes(a)?[].concat(Q()(n),[{tuple:[":".concat(a),Ft(r)]}]):At.includes(a)?[].concat(Q()(n),[{tuple:[":".concat(a),jt(r)]}]):[].concat(Q()(n),[{tuple:[":".concat(a),e(r)]}])},[])},jt=function(e){return Object.keys(e).reduce(function(t,n){return[].concat(Q()(t),[{tuple:["".concat(n),e[n]]}])},[])},Ht=function(e){return Object.keys(e).reduce(function(t,n){return[].concat(Q()(t),[{tuple:[":".concat(n),Ft(e[n])]}])},[])},Bt=function(e){return Object.keys(e).reduce(function(t,n){return x()({},t,gt()({},"".concat(n),e[n]))},{})},Ft=function(e){return Object.keys(e).reduce(function(t,n){return x()({},t,gt()({},":".concat(n),e[n]))},{})},Nt=function(e){return Object.keys(It).find(function(t){return It[t].includes(e)})},Gt={state:{settings:{activitypub:{},adapter:{},admin_token:{},assets:{mascots:{}},auth:{},auto_linker:{opts:{}},backends:{},chat:{},console:{colors:{}},credentials:{},database:{},ecto_repos:{},email_notifications:{digest:{}},emoji:{groups:{}},enabled:{},ex_syslogger:{},expose:{},fetch_initial_posts:{},format_encoders:{},frontend_configurations:{pleroma_fe:{},masto_fe:{}},gopher:{},hackney_pools:{federation:{},media:{},upload:{}},handler:{},headers:{},http:{adapter:{}},http_security:{},instance:{poll_limits:{}},level:{},ldap:{},markup:{},max_age:{},media_proxy:{proxy_opts:{}},meta:{},methods:{},mrf_hellthread:{},mrf_keyword:{replace:{}},mrf_mention:{},mrf_normalize_markup:{},mrf_rejectnonpublic:{},mrf_simple:{},mrf_subchain:{match_actor:{}},mrf_user_allowlist:{},mrf_vocabulary:{},oauth2:{},password_authenticator:{},"Pleroma.Captcha":{},"Pleroma.Captcha.Kocaptcha":{},"Pleroma.Emails.Mailer":{},"Pleroma.Emails.UserEmail":{styling:{}},"Pleroma.Repo":{},"Pleroma.ScheduledActivity":{},"Pleroma.Upload":{proxy_opts:{}},"Pleroma.Upload.Filter.AnonymizeFilename":{},"Pleroma.Upload.Filter.Mogrify":{},"Pleroma.Uploaders.Local":{},"Pleroma.Uploaders.MDII":{},"Pleroma.Uploaders.S3":{},"Pleroma.User":{},"Pleroma.Web.Auth.Authenticator":{},"Pleroma.Web.Endpoint":{http:!1,url:{},render_errors:{},pubsub:{}},"Pleroma.Web.Federator.RetryQueue":{},"Pleroma.Web.Metadata":{},port:{},priv_dir:{},queues:{},rate_limit:{},rich_media:{},suggestions:{},types:{value:{}},Ueberauth:{},"Ueberauth.Strategy.Facebook.OAuth":{},"Ueberauth.Strategy.Google.OAuth":{},"Ueberauth.Strategy.Microsoft.OAuth":{},"Ueberauth.Strategy.Twitter.OAuth":{},user:{},uri_schemes:{},vapid_details:{},webhook_url:{}},ignoredIfNotEnabled:["enabled","handler","password_authenticator","port","priv_dir"],loading:!0},mutations:{REWRITE_CONFIG:function(e,t){var n=t.tab,a=t.data;e.settings[n]=a},SET_LOADING:function(e,t){e.loading=t},SET_SETTINGS:function(e,t){var n=t.reduce(function(e,t){var n=":"===t.key[0]?t.key.substr(1):t.key,a=function(e,t){var n=Array.isArray(t)&&t.length>0&&"object"!==ce()(t[0]);return"meta"===e||"types"===e||"string"==typeof t||"number"==typeof t||"boolean"==typeof t||n}(n,t.value)?{value:t.value}:function e(t,n){return t.reduce(function(t,a){return"rate_limit"===n?t[a.tuple[0].substr(1)]=a.tuple[1]:Array.isArray(a.tuple[1])&&"object"===ce()(a.tuple[1][0])&&!Array.isArray(a.tuple[1][0])&&a.tuple[1][0].tuple?At.includes(a.tuple[0])?t[a.tuple[0].substr(1)]=Mt(a.tuple[1]):t[a.tuple[0].substr(1)]=e(a.tuple[1]):Array.isArray(a.tuple[1])?t[a.tuple[0].substr(1)]=a.tuple[1]:a.tuple[1]&&"object"===ce()(a.tuple[1])&&"tuple"in a.tuple[1]?t[a.tuple[0].substr(1)]=a.tuple[1].tuple.join("."):a.tuple[1]&&"object"===ce()(a.tuple[1])?Lt.includes(a.tuple[0])?t[a.tuple[0].substr(1)]=zt(a.tuple[1]):t[a.tuple[0].substr(1)]=Vt(a.tuple[1]):"mrf_user_allowlist"===n?t[a.tuple[0]]=a.tuple[1]:t[a.tuple[0].substr(1)]=a.tuple[1],t},{})}(t.value,n);return e[n]=x()({},e[n],a),e},e.settings);e.settings=n},UPDATE_SETTINGS:function(e,t){var n=t.tab,a=t.data;Object.keys(e.settings).map(function(t){t===n&&(e.settings[t]=x()({},e.settings[t],a))})}},actions:{FetchSettings:function(){var e=w()(g.a.mark(function e(t){var n,a,r;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,t.dispatch,a=t.getters,n("SET_LOADING",!0),e.next=4,bt(a.authHost,a.token);case 4:r=e.sent,n("SET_SETTINGS",r.data.configs),n("SET_LOADING",!1);case 7:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),RewriteConfig:function(e,t){(0,e.commit)("REWRITE_CONFIG",{tab:t.tab,data:t.data})},SubmitChanges:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,c,u;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.getters,r=t.commit,s=t.state,o=Ct(s.settings,s.ignoredIfNotEnabled),c=n||Dt(o),e.prev=3,e.next=6,yt(c,a.authHost,a.token);case 6:u=e.sent,r("SET_SETTINGS",u.data.configs),e.next=13;break;case 10:return e.prev=10,e.t0=e.catch(3),e.abrupt("return");case 13:Object(i.Message)({message:G.a.t("settings.success"),type:"success",duration:5e3});case 14:case"end":return e.stop()}},e,null,[[3,10]])}));return function(t,n){return e.apply(this,arguments)}}(),UpdateSettings:function(e,t){(0,e.commit)("UPDATE_SETTINGS",{tab:t.tab,data:t.data})},UploadMedia:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c,u,l,p;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.dispatch,r=t.getters,s=t.state,o=n.file,i=n.tab,c=n.inputName,u=n.childName,e.next=4,kt(o,r.authHost,r.token);case 4:l=e.sent,p=u?x()({},s.settings[i][c],gt()({},u,l.data.url)):l.data.url,a("UpdateSettings",{tab:i,data:gt()({},c,p)});case 7:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}};function qt(e,t,n,a,r){return Yt.apply(this,arguments)}function Yt(){return(Yt=w()(g.a.mark(function e(t,n,a,r,s){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(r),url:"/api/pleroma/admin/statuses/".concat(t),method:"put",headers:Qt(s),data:{sensitive:n,visibility:a}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function $t(e,t,n){return Wt.apply(this,arguments)}function Wt(){return(Wt=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/statuses/".concat(t),method:"delete",headers:Qt(a)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Kt(e,t,n,a){return Zt.apply(this,arguments)}function Zt(){return(Zt=w()(g.a.mark(function e(t,n,a,r){var s,o=arguments;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return s=o.length>4&&void 0!==o[4]?o[4]:1,e.next=3,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/instances/".concat(t,"/statuses?page=").concat(s,"&page_size=").concat(r),method:"get",headers:Qt(a)});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}var Qt=function(e){return e?{Authorization:"Bearer ".concat(Object(_.b)())}:{}},Jt={state:{fetchedStatuses:[],loading:!1},mutations:{SET_STATUSES:function(e,t){e.fetchedStatuses=t},PUSH_STATUSES:function(e,t){e.fetchedStatuses=[].concat(Q()(e.fetchedStatuses),Q()(t))},SET_LOADING:function(e,t){e.loading=t}},actions:{ChangeStatusScope:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c,u,l;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.dispatch,r=t.getters,s=n.statusId,o=n.isSensitive,i=n.visibility,c=n.reportCurrentPage,u=n.userId,l=n.godmode,e.next=4,qt(s,o,i,r.authHost,r.token);case 4:0!==c?a("FetchReports",c):u.length>0?a("FetchUserStatuses",{userId:u,godmode:l}):a("FetchGroupedReports");case 5:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),DeleteStatus:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.dispatch,r=t.getters,s=n.statusId,o=n.reportCurrentPage,i=n.userId,c=n.godmode,e.next=4,$t(s,r.authHost,r.token);case 4:0!==o?a("FetchReports",o):i.length>0?a("FetchUserStatuses",{userId:i,godmode:c}):a("FetchGroupedReports");case 5:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),FetchStatusesByInstance:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,s=n.instance,o=n.page,i=n.pageSize,a("SET_LOADING",!0),e.next=5,Kt(s,r.authHost,r.token,i,o);case 5:c=e.sent,a("SET_STATUSES",c.data),a("SET_LOADING",!1);case 8:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),FetchStatusesPageByInstance:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,s=n.instance,o=n.page,i=n.pageSize,a("SET_LOADING",!0),e.next=5,Kt(s,r.authHost,r.token,i,o);case 5:c=e.sent,a("PUSH_STATUSES",c.data),a("SET_LOADING",!1);case 8:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}},Xt=n("J4zp"),en=n.n(Xt),tn={state:{visitedViews:[],cachedViews:[]},mutations:{ADD_VISITED_VIEW:function(e,t){e.visitedViews.some(function(e){return e.path===t.path})||e.visitedViews.push(Object.assign({},t,{title:t.meta.title||"no-name"}))},ADD_CACHED_VIEW:function(e,t){e.cachedViews.includes(t.name)||t.meta.noCache||e.cachedViews.push(t.name)},DEL_VISITED_VIEW:function(e,t){var n=!0,a=!1,r=void 0;try{for(var s,o=e.visitedViews.entries()[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var i=en()(s.value,2),c=i[0];if(i[1].path===t.path){e.visitedViews.splice(c,1);break}}}catch(e){a=!0,r=e}finally{try{n||null==o.return||o.return()}finally{if(a)throw r}}},DEL_CACHED_VIEW:function(e,t){var n=!0,a=!1,r=void 0;try{for(var s,o=e.cachedViews[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var i=s.value;if(i===t.name){var c=e.cachedViews.indexOf(i);e.cachedViews.splice(c,1);break}}}catch(e){a=!0,r=e}finally{try{n||null==o.return||o.return()}finally{if(a)throw r}}},DEL_OTHERS_VISITED_VIEWS:function(e,t){e.visitedViews=e.visitedViews.filter(function(e){return e.meta.affix||e.path===t.path})},DEL_OTHERS_CACHED_VIEWS:function(e,t){var n=!0,a=!1,r=void 0;try{for(var s,o=e.cachedViews[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var i=s.value;if(i===t.name){var c=e.cachedViews.indexOf(i);e.cachedViews=e.cachedViews.slice(c,c+1);break}}}catch(e){a=!0,r=e}finally{try{n||null==o.return||o.return()}finally{if(a)throw r}}},DEL_ALL_VISITED_VIEWS:function(e){var t=e.visitedViews.filter(function(e){return e.meta.affix});e.visitedViews=t},DEL_ALL_CACHED_VIEWS:function(e){e.cachedViews=[]},UPDATE_VISITED_VIEW:function(e,t){var n=!0,a=!1,r=void 0;try{for(var s,o=e.visitedViews[Symbol.iterator]();!(n=(s=o.next()).done);n=!0){var i=s.value;if(i.path===t.path){i=Object.assign(i,t);break}}}catch(e){a=!0,r=e}finally{try{n||null==o.return||o.return()}finally{if(a)throw r}}}},actions:{addView:function(e,t){var n=e.dispatch;n("addVisitedView",t),n("addCachedView",t)},addVisitedView:function(e,t){(0,e.commit)("ADD_VISITED_VIEW",t)},addCachedView:function(e,t){(0,e.commit)("ADD_CACHED_VIEW",t)},delView:function(e,t){var n=e.dispatch,a=e.state;return new Promise(function(e){n("delVisitedView",t),n("delCachedView",t),e({visitedViews:Q()(a.visitedViews),cachedViews:Q()(a.cachedViews)})})},delVisitedView:function(e,t){var n=e.commit,a=e.state;return new Promise(function(e){n("DEL_VISITED_VIEW",t),e(Q()(a.visitedViews))})},delCachedView:function(e,t){var n=e.commit,a=e.state;return new Promise(function(e){n("DEL_CACHED_VIEW",t),e(Q()(a.cachedViews))})},delOthersViews:function(e,t){var n=e.dispatch,a=e.state;return new Promise(function(e){n("delOthersVisitedViews",t),n("delOthersCachedViews",t),e({visitedViews:Q()(a.visitedViews),cachedViews:Q()(a.cachedViews)})})},delOthersVisitedViews:function(e,t){var n=e.commit,a=e.state;return new Promise(function(e){n("DEL_OTHERS_VISITED_VIEWS",t),e(Q()(a.visitedViews))})},delOthersCachedViews:function(e,t){var n=e.commit,a=e.state;return new Promise(function(e){n("DEL_OTHERS_CACHED_VIEWS",t),e(Q()(a.cachedViews))})},delAllViews:function(e,t){var n=e.dispatch,a=e.state;return new Promise(function(e){n("delAllVisitedViews",t),n("delAllCachedViews",t),e({visitedViews:Q()(a.visitedViews),cachedViews:Q()(a.cachedViews)})})},delAllVisitedViews:function(e){var t=e.commit,n=e.state;return new Promise(function(e){t("DEL_ALL_VISITED_VIEWS"),e(Q()(n.visitedViews))})},delAllCachedViews:function(e){var t=e.commit,n=e.state;return new Promise(function(e){t("DEL_ALL_CACHED_VIEWS"),e(Q()(n.cachedViews))})},updateVisitedView:function(e,t){(0,e.commit)("UPDATE_VISITED_VIEW",t)}}};function nn(e,t,n){return an.apply(this,arguments)}function an(){return(an=w()(g.a.mark(function e(t,n,a){var r,s;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(a),url:"/api/v1/apps",method:"post",data:{client_name:"AdminFE_".concat(Math.random()),redirect_uris:"".concat(window.location.origin,"/oauth-callback"),scopes:"read write follow push admin"}});case 2:return r=e.sent,s=r.data,e.abrupt("return",Object(S.a)({baseURL:Object(E.a)(a),url:"/oauth/token",method:"post",data:{client_id:s.client_id,client_secret:s.client_secret,grant_type:"password",username:t,password:n}}));case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function rn(e,t){return Object(S.a)({baseURL:Object(E.a)(t),url:"/api/v1/accounts/verify_credentials",method:"get",headers:e?{Authorization:"Bearer ".concat(e)}:{}})}function sn(e){return on.apply(this,arguments)}function on(){return(on=w()(g.a.mark(function e(t){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(t),url:"/nodeinfo/2.0.json",method:"get"});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var cn={state:{user:"",id:"",status:"",code:"",token:Object(_.b)(),authHost:Object(_.a)(),name:"",avatar:"",introduction:"",roles:[],setting:{articlePlatform:[]},nodeInfo:{}},mutations:{SET_CODE:function(e,t){e.code=t},SET_TOKEN:function(e,t){e.token=t},SET_INTRODUCTION:function(e,t){e.introduction=t},SET_SETTING:function(e,t){e.setting=t},SET_STATUS:function(e,t){e.status=t},SET_NAME:function(e,t){e.name=t},SET_AVATAR:function(e,t){e.avatar=t},SET_ROLES:function(e,t){e.roles=t},SET_ID:function(e,t){e.id=t},SET_AUTH_HOST:function(e,t){e.authHost=t},SET_NODE_INFO:function(e,t){e.nodeInfo=t}},actions:{LoginByUsername:function(e,t){var n=e.commit,a=e.dispatch,r=t.username,s=t.authHost,o=t.password;return new Promise(function(e,t){nn(r,o,s).then(function(t){var a=t.data;n("SET_TOKEN",a.access_token),n("SET_AUTH_HOST",s),Object(_.f)(a.access_token),Object(_.e)(s),e()}).catch(function(e){a("addErrorLog",{message:e.message}),t(e)})})},GetNodeInfo:function(){var e=w()(g.a.mark(function e(t){var n,a,r;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.state,e.next=3,sn(a.authHost);case 3:r=e.sent,n("SET_NODE_INFO",r.data);case 5:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),GetUserInfo:function(e){var t=e.commit,n=e.state;return new Promise(function(e,a){rn(n.token,n.authHost).then(function(n){var r=n.data;r||a("Verification failed, please login again."),r.pleroma&&r.pleroma.is_admin?t("SET_ROLES",["admin"]):a("getInfo: roles must be a non-null array!"),t("SET_NAME",r.username),t("SET_ID",r.id),t("SET_AVATAR",r.avatar),t("SET_INTRODUCTION",""),e(n)}).catch(function(e){a(e)})})},LogOut:function(e){var t=e.commit;t("SET_TOKEN",""),t("SET_ROLES",[]),Object(_.d)(),Object(_.c)()},FedLogOut:function(e){var t=e.commit;return new Promise(function(e){t("SET_TOKEN",""),Object(_.d)(),Object(_.c)(),e()})},LoginByPleromaFE:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:a=t.commit,r=t.dispatch,s=n.token,a("SET_TOKEN",s),Object(_.f)(s),a("SET_AUTH_HOST",window.location.host),Object(_.e)(window.location.host),r("GetUserInfo");case 7:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}};function un(e,t,n){return ln.apply(this,arguments)}function ln(){return(ln=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/users/activate",method:"patch",headers:Bn(a),data:{nicknames:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function pn(e,t,n,a){return dn.apply(this,arguments)}function dn(){return(dn=w()(g.a.mark(function e(t,n,a,r){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(a),url:"/api/pleroma/admin/users/permission_group/".concat(n),method:"post",headers:Bn(r),data:{nicknames:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function mn(e,t,n,a,r){return hn.apply(this,arguments)}function hn(){return(hn=w()(g.a.mark(function e(t,n,a,r,s){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(r),url:"/api/pleroma/admin/users",method:"post",headers:Bn(s),data:{users:[{nickname:t,email:n,password:a}]}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function fn(e,t,n){return vn.apply(this,arguments)}function vn(){return(vn=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/users/deactivate",method:"patch",headers:Bn(a),data:{nicknames:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function gn(e,t,n,a){return bn.apply(this,arguments)}function bn(){return(bn=w()(g.a.mark(function e(t,n,a,r){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(a),url:"/api/pleroma/admin/users/permission_group/".concat(n),method:"delete",headers:Bn(r),data:{nicknames:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function wn(e,t,n){return yn.apply(this,arguments)}function yn(){return(yn=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/users",method:"delete",headers:Bn(a),data:{nicknames:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function xn(e,t,n){return kn.apply(this,arguments)}function kn(){return(kn=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/users/".concat(t),method:"get",headers:Bn(a)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Tn(e,t,n){return Sn.apply(this,arguments)}function Sn(){return(Sn=w()(g.a.mark(function e(t,n,a){var r,s=arguments;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=s.length>3&&void 0!==s[3]?s[3]:1,e.next=3,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/users?page=".concat(r,"&filters=").concat(t),method:"get",headers:Bn(a)});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function _n(e,t,n){return En.apply(this,arguments)}function En(){return(En=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/users/".concat(t,"/password_reset"),method:"get",headers:Bn(a)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function On(e,t,n){return An.apply(this,arguments)}function An(){return(An=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/users/".concat(t,"/force_password_reset"),method:"patch",headers:Bn(a)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Ln(e,t,n,a){return Pn.apply(this,arguments)}function Pn(){return(Pn=w()(g.a.mark(function e(t,n,a,r){var s,o=arguments;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return s=o.length>4&&void 0!==o[4]?o[4]:1,e.next=3,Object(S.a)({baseURL:Object(E.a)(a),url:"/api/pleroma/admin/users?query=".concat(t,"&page=").concat(s,"&filters=").concat(n),method:"get",headers:Bn(r)});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Rn(e,t,n,a){return In.apply(this,arguments)}function In(){return(In=w()(g.a.mark(function e(t,n,a,r){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(a),url:"/api/pleroma/admin/users/tag",method:"put",headers:Bn(r),data:{nicknames:t,tags:n}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Cn(e,t,n,a){return Mn.apply(this,arguments)}function Mn(){return(Mn=w()(g.a.mark(function e(t,n,a,r){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(a),url:"/api/pleroma/admin/users/tag",method:"delete",headers:Bn(r),data:{nicknames:t,tags:n}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function zn(e,t,n,a){return Vn.apply(this,arguments)}function Vn(){return(Vn=w()(g.a.mark(function e(t,n,a,r){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/users/".concat(t,"/statuses?godmode=").concat(a),method:"get",headers:Bn(r)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Dn(e,t,n){return Un.apply(this,arguments)}function Un(){return(Un=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/users/confirm_email",method:"patch",headers:Bn(a),data:{nicknames:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function jn(e,t,n){return Hn.apply(this,arguments)}function Hn(){return(Hn=w()(g.a.mark(function e(t,n,a){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(S.a)({baseURL:Object(E.a)(n),url:"/api/pleroma/admin/users/resend_confirmation_email",method:"patch",headers:Bn(a),data:{nicknames:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var Bn=function(e){return e?{Authorization:"Bearer ".concat(Object(_.b)())}:{}},Fn={state:{statuses:[],statusesLoading:!0,user:{},userProfileLoading:!0},mutations:{SET_STATUSES:function(e,t){e.statuses=t},SET_STATUSES_LOADING:function(e,t){e.statusesLoading=t},SET_USER:function(e,t){e.user=t},SET_USER_PROFILE_LOADING:function(e,t){e.userProfileLoading=t}},actions:{FetchUserProfile:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,s=t.getters,o=n.userId,i=n.godmode,a("SET_USER_PROFILE_LOADING",!0),e.next=5,xn(o,s.authHost,s.token);case 5:c=e.sent,a("SET_USER",c.data),a("SET_USER_PROFILE_LOADING",!1),r("FetchUserStatuses",{userId:o,godmode:i});case 9:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),FetchUserStatuses:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,s=n.userId,o=n.godmode,a("SET_STATUSES_LOADING",!0),e.next=5,zn(s,r.authHost,o,r.token);case 5:i=e.sent,a("SET_STATUSES",i.data),a("SET_STATUSES_LOADING",!1);case 8:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}},Nn={state:{fetchedUsers:[],loading:!0,searchQuery:"",totalUsersCount:0,currentPage:1,filters:{local:!1,external:!1,active:!1,deactivated:!1},passwordResetToken:{token:"",link:""}},mutations:{SET_USERS:function(e,t){e.fetchedUsers=t},SET_LOADING:function(e,t){e.loading=t},SWAP_USERS:function(e,t){var n=t.reduce(function(e,t){return e.filter(function(e){return e.id!==t.id})},e.fetchedUsers);0!==e.fetchedUsers.length&&(e.fetchedUsers=[].concat(Q()(n),Q()(t)).sort(function(e,t){return e.nickname.localeCompare(t.nickname)}))},SET_COUNT:function(e,t){e.totalUsersCount=t},SET_PAGE:function(e,t){e.currentPage=t},SET_PAGE_SIZE:function(e,t){e.pageSize=t},SET_PASSWORD_RESET_TOKEN:function(e,t){var n=t.token,a=t.link;e.passwordResetToken.token=n,e.passwordResetToken.link=a},SET_SEARCH_QUERY:function(e,t){e.searchQuery=t},SET_USERS_FILTERS:function(e,t){e.filters=t},SET_USER_PROFILE:function(e,t){e.userProfile=t}},actions:{ActivateUsers:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,s=t.getters,o=t.state,i=n.map(function(e){return x()({},e,{deactivated:!1})}),a("SWAP_USERS",i),c=n.map(function(e){return e.nickname}),e.prev=4,e.next=7,un(c,s.authHost,s.token);case 7:e.next=12;break;case 9:return e.prev=9,e.t0=e.catch(4),e.abrupt("return");case 12:return e.prev=12,r("SearchUsers",{query:o.searchQuery,page:o.currentPage}),e.finish(12);case 15:r("SuccessMessage");case 16:case"end":return e.stop()}},e,null,[[4,9,12,15]])}));return function(t,n){return e.apply(this,arguments)}}(),AddRight:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c,u,l;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,s=t.getters,o=t.state,i=n.users,c=n.right,u=i.map(function(e){return e.local?x()({},e,{roles:x()({},e.roles,gt()({},c,!0))}):e}),a("SWAP_USERS",u),l=i.map(function(e){return e.nickname}),e.prev=5,e.next=8,pn(l,c,s.authHost,s.token);case 8:e.next=13;break;case 10:return e.prev=10,e.t0=e.catch(5),e.abrupt("return");case 13:return e.prev=13,r("SearchUsers",{query:o.searchQuery,page:o.currentPage}),e.finish(13);case 16:r("SuccessMessage");case 17:case"end":return e.stop()}},e,null,[[5,10,13,16]])}));return function(t,n){return e.apply(this,arguments)}}(),AddTag:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c,u,l;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,s=t.getters,o=t.state,i=n.users,c=n.tag,u=i.map(function(e){return x()({},e,{tags:[].concat(Q()(e.tags),[c])})}),a("SWAP_USERS",u),l=i.map(function(e){return e.nickname}),e.prev=5,e.next=8,Rn(l,[c],s.authHost,s.token);case 8:e.next=13;break;case 10:return e.prev=10,e.t0=e.catch(5),e.abrupt("return");case 13:return e.prev=13,r("SearchUsers",{query:o.searchQuery,page:o.currentPage}),e.finish(13);case 16:r("SuccessMessage");case 17:case"end":return e.stop()}},e,null,[[5,10,13,16]])}));return function(t,n){return e.apply(this,arguments)}}(),ClearFilters:function(){var e=w()(g.a.mark(function e(t){var n,a,r;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=t.commit,a=t.dispatch,r=t.state,n("CLEAR_USERS_FILTERS"),a("SearchUsers",{query:r.searchQuery,page:1});case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),CreateNewAccount:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.dispatch,r=t.getters,s=t.state,o=n.nickname,i=n.email,c=n.password,e.prev=2,e.next=5,mn(o,i,c,r.authHost,r.token);case 5:e.next=10;break;case 7:return e.prev=7,e.t0=e.catch(2),e.abrupt("return");case 10:return e.prev=10,a("SearchUsers",{query:s.searchQuery,page:s.currentPage}),e.finish(10);case 13:a("SuccessMessage");case 14:case"end":return e.stop()}},e,null,[[2,7,10,13]])}));return function(t,n){return e.apply(this,arguments)}}(),DeactivateUsers:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,s=t.getters,o=t.state,i=n.map(function(e){return x()({},e,{deactivated:!0})}),a("SWAP_USERS",i),c=n.map(function(e){return e.nickname}),e.prev=4,e.next=7,fn(c,s.authHost,s.token);case 7:e.next=12;break;case 9:return e.prev=9,e.t0=e.catch(4),e.abrupt("return");case 12:return e.prev=12,r("SearchUsers",{query:o.searchQuery,page:o.currentPage}),e.finish(12);case 15:r("SuccessMessage");case 16:case"end":return e.stop()}},e,null,[[4,9,12,15]])}));return function(t,n){return e.apply(this,arguments)}}(),ConfirmUsersEmail:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,s=t.getters,o=t.state,i=n.map(function(e){return x()({},e,{confirmation_pending:!1})}),a("SWAP_USERS",i),c=n.map(function(e){return e.nickname}),e.prev=4,e.next=7,Dn(c,s.authHost,s.token);case 7:e.next=12;break;case 9:return e.prev=9,e.t0=e.catch(4),e.abrupt("return");case 12:return e.prev=12,r("SearchUsers",{query:o.searchQuery,page:o.currentPage}),e.finish(12);case 15:r("SuccessMessage");case 16:case"end":return e.stop()}},e,null,[[4,9,12,15]])}));return function(t,n){return e.apply(this,arguments)}}(),ResendConfirmationEmail:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.dispatch,r=t.getters,s=n.map(function(e){return e.nickname}),e.prev=2,e.next=5,jn(s,r.authHost,r.token);case 5:e.next=10;break;case 7:return e.prev=7,e.t0=e.catch(2),e.abrupt("return");case 10:a("SuccessMessage");case 11:case"end":return e.stop()}},e,null,[[2,7]])}));return function(t,n){return e.apply(this,arguments)}}(),DeleteRight:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c,u,l;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,s=t.getters,o=t.state,i=n.users,c=n.right,u=i.map(function(e){return e.local?x()({},e,{roles:x()({},e.roles,gt()({},c,!1))}):e}),a("SWAP_USERS",u),l=i.map(function(e){return e.nickname}),e.prev=5,e.next=8,gn(l,c,s.authHost,s.token);case 8:e.next=13;break;case 10:return e.prev=10,e.t0=e.catch(5),e.abrupt("return");case 13:return e.prev=13,r("SearchUsers",{query:o.searchQuery,page:o.currentPage}),e.finish(13);case 16:r("SuccessMessage");case 17:case"end":return e.stop()}},e,null,[[5,10,13,16]])}));return function(t,n){return e.apply(this,arguments)}}(),DeleteUsers:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c,u;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,s=t.getters,o=t.state,i=n.map(function(e){return e.nickname}),e.prev=2,e.next=5,wn(i,s.authHost,s.token);case 5:e.next=10;break;case 7:return e.prev=7,e.t0=e.catch(2),e.abrupt("return");case 10:c=n.map(function(e){return e.id}),u=o.fetchedUsers.filter(function(e){return!c.includes(e.id)}),a("SET_USERS",u),r("SuccessMessage");case 14:case"end":return e.stop()}},e,null,[[2,7]])}));return function(t,n){return e.apply(this,arguments)}}(),FetchUsers:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c,u;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,s=t.getters,o=t.state,i=n.page,a("SET_LOADING",!0),c=Object.keys(o.filters).filter(function(e){return o.filters[e]}).join(),e.next=6,Tn(c,s.authHost,s.token,i);case 6:return u=e.sent,e.next=9,r("GetNodeInfo");case 9:Gn(a,i,u.data);case 10:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),GetPasswordResetToken:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,e.next=3,_n(n,r.authHost,r.token);case 3:s=e.sent,o=s.data,a("SET_PASSWORD_RESET_TOKEN",o);case 6:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),RemovePasswordToken:function(e){(0,e.commit)("SET_PASSWORD_RESET_TOKEN",{link:"",token:""})},RemoveTag:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c,u,l;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,s=t.getters,o=t.state,i=n.users,c=n.tag,u=i.map(function(e){return x()({},e,{tags:e.tags.filter(function(e){return e!==c})})}),a("SWAP_USERS",u),l=i.map(function(e){return e.nickname}),e.prev=5,e.next=8,Cn(l,[c],s.authHost,s.token);case 8:e.next=13;break;case 10:return e.prev=10,e.t0=e.catch(5),e.abrupt("return");case 13:return e.prev=13,r("SearchUsers",{query:o.searchQuery,page:o.currentPage}),e.finish(13);case 16:r("SuccessMessage");case 17:case"end":return e.stop()}},e,null,[[5,10,13,16]])}));return function(t,n){return e.apply(this,arguments)}}(),RequirePasswordReset:function(){var e=w()(g.a.mark(function e(t,n){var a,r;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.dispatch,r=t.getters,e.prev=1,e.next=4,On(n.nickname,r.authHost,r.token);case 4:e.next=9;break;case 6:return e.prev=6,e.t0=e.catch(1),e.abrupt("return");case 9:a("SuccessMessage");case 10:case"end":return e.stop()}},e,null,[[1,6]])}));return function(t,n){return e.apply(this,arguments)}}(),SearchUsers:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i,c,u,l;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(a=t.commit,r=t.dispatch,s=t.state,o=t.getters,i=n.query,c=n.page,0!==i.length){e.next=7;break}a("SET_SEARCH_QUERY",i),r("FetchUsers",{page:c}),e.next=14;break;case 7:return a("SET_LOADING",!0),a("SET_SEARCH_QUERY",i),u=Object.keys(s.filters).filter(function(e){return s.filters[e]}).join(),e.next=12,Ln(i,u,o.authHost,o.token,c);case 12:l=e.sent,Gn(a,c,l.data);case 14:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),SuccessMessage:function(){i.Message.success({message:G.a.t("users.completed"),duration:5e3})},ToggleUsersFilter:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:a=t.commit,r=t.dispatch,s=t.state,o={local:!1,external:!1,active:!1,deactivated:!1},i=x()({},o,n),a("SET_USERS_FILTERS",i),r("SearchUsers",{query:s.searchQuery,page:1});case 5:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}},Gn=function(e,t,n){var a=n.users,r=n.count,s=n.page_size;e("SET_USERS",a),e("SET_COUNT",r),e("SET_PAGE",t),e("SET_PAGE_SIZE",s),e("SET_LOADING",!1)},qn=Nn,Yn={sidebar:function(e){return e.app.sidebar},language:function(e){return e.app.language},size:function(e){return e.app.size},device:function(e){return e.app.device},visitedViews:function(e){return e.tagsView.visitedViews},cachedViews:function(e){return e.tagsView.cachedViews},token:function(e){return e.user.token},avatar:function(e){return e.user.avatar},name:function(e){return e.user.name},introduction:function(e){return e.user.introduction},status:function(e){return e.user.status},roles:function(e){return e.user.roles},setting:function(e){return e.user.setting},permission_routers:function(e){return e.permission.routers},addRouters:function(e){return e.permission.addRouters},errorLogs:function(e){return e.errorLog.logs},users:function(e){return e.users.fetchedUsers},authHost:function(e){return e.user.authHost},activityPub:function(e){return e.settings.settings.activitypub},adminToken:function(e){return e.settings.settings.admin_token},assets:function(e){return e.settings.settings.assets},auth:function(e){return e.settings.settings.auth},autoLinker:function(e){return e.settings.settings.auto_linker},captcha:function(e){return e.settings.settings["Pleroma.Captcha"]},chat:function(e){return e.settings.settings.chat},consoleLogger:function(e){return e.settings.settings.console},corsPlugCredentials:function(e){return e.settings.settings.credentials},corsPlugExpose:function(e){return e.settings.settings.expose},corsPlugHeaders:function(e){return e.settings.settings.headers},corsPlugMaxAge:function(e){return e.settings.settings.max_age},corsPlugMethods:function(e){return e.settings.settings.methods},database:function(e){return e.settings.settings.database},ectoRepos:function(e){return e.settings.settings.ecto_repos},emailNotifications:function(e){return e.settings.settings.email_notifications},emoji:function(e){return e.settings.settings.emoji},enabled:function(e){return e.settings.settings.enabled},endpoint:function(e){return e.settings.settings["Pleroma.Web.Endpoint"]},exsyslogger:function(e){return e.settings.settings.ex_syslogger},facebook:function(e){return e.settings.settings["Ueberauth.Strategy.Facebook.OAuth"]},fetchInitialPosts:function(e){return e.settings.settings.fetch_initial_posts},formatEncoders:function(e){return e.settings.settings.format_encoders},frontend:function(e){return e.settings.settings.frontend_configurations},google:function(e){return e.settings.settings["Ueberauth.Strategy.Google.OAuth"]},gopher:function(e){return e.settings.settings.gopher},hackneyPools:function(e){return e.settings.settings.hackney_pools},handler:function(e){return e.settings.settings.handler},http:function(e){return e.settings.settings.http},httpSecurity:function(e){return e.settings.settings.http_security},instance:function(e){return e.settings.settings.instance},instances:function(e){return e.peers.fetchedPeers},kocaptcha:function(e){return e.settings.settings["Pleroma.Captcha.Kocaptcha"]},level:function(e){return e.settings.settings.level},ldap:function(e){return e.settings.settings.ldap},loggerBackends:function(e){return e.settings.settings.backends},mailer:function(e){return e.settings.settings["Pleroma.Emails.Mailer"]},markup:function(e){return e.settings.settings.markup},mediaProxy:function(e){return e.settings.settings.media_proxy},meta:function(e){return e.settings.settings.meta},metadata:function(e){return e.settings.settings["Pleroma.Web.Metadata"]},microsoft:function(e){return e.settings.settings["Ueberauth.Strategy.Microsoft.OAuth"]},mimeTypesConfig:function(e){return e.settings.settings.types},mrfHellthread:function(e){return e.settings.settings.mrf_hellthread},mrfKeyword:function(e){return e.settings.settings.mrf_keyword},mrfMention:function(e){return e.settings.settings.mrf_mention},mrfNormalizeMarkup:function(e){return e.settings.settings.mrf_normalize_markup},mrfRejectnonpublic:function(e){return e.settings.settings.mrf_rejectnonpublic},mrfSimple:function(e){return e.settings.settings.mrf_simple},mrfSubchain:function(e){return e.settings.settings.mrf_subchain},mrfUserAllowlist:function(e){return e.settings.settings.mrf_user_allowlist},mrfVocabulary:function(e){return e.settings.settings.mrf_vocabulary},oauth2:function(e){return e.settings.settings.oauth2},passwordAuthenticator:function(e){return e.settings.settings.password_authenticator},pleromaAuthenticator:function(e){return e.settings.settings["Pleroma.Web.Auth.Authenticator"]},pleromaRepo:function(e){return e.settings.settings["Pleroma.Repo"]},pleromaUser:function(e){return e.settings.settings["Pleroma.User"]},port:function(e){return e.settings.settings.port},privDir:function(e){return e.settings.settings.priv_dir},queues:function(e){return e.settings.settings.queues},rateLimiters:function(e){return e.settings.settings.rate_limit},retryQueue:function(e){return e.settings.settings["Pleroma.Web.Federator.RetryQueue"]},richMedia:function(e){return e.settings.settings.rich_media},suggestions:function(e){return e.settings.settings.suggestions},scheduledActivity:function(e){return e.settings.settings["Pleroma.ScheduledActivity"]},statuses:function(e){return e.status.fetchedStatuses},teslaAdapter:function(e){return e.settings.settings.adapter},twitter:function(e){return e.settings.settings["Ueberauth.Strategy.Twitter.OAuth"]},ueberauth:function(e){return e.settings.settings.Ueberauth},uploadAnonymizeFilename:function(e){return e.settings.settings["Pleroma.Upload.Filter.AnonymizeFilename"]},upload:function(e){return e.settings.settings["Pleroma.Upload"]},uploadFilterMogrify:function(e){return e.settings.settings["Pleroma.Upload.Filter.Mogrify"]},uploadersLocal:function(e){return e.settings.settings["Pleroma.Uploaders.Local"]},uploadMDII:function(e){return e.settings.settings["Pleroma.Uploaders.MDII"]},uploadS3:function(e){return e.settings.settings["Pleroma.Uploaders.S3"]},uriSchemes:function(e){return e.settings.settings.uri_schemes},user:function(e){return e.settings.settings.user},userEmail:function(e){return e.settings.settings["Pleroma.Emails.UserEmail"]},vapidDetails:function(e){return e.settings.settings.vapid_details},webhookUrl:function(e){return e.settings.settings.webhook_url}},$n=n("mm8V"),Wn={state:{localPacks:{},remotePacks:{}},mutations:{SET_LOCAL_PACKS:function(e,t){e.localPacks=t},SET_REMOTE_PACKS:function(e,t){e.remotePacks=t},UPDATE_LOCAL_PACK_VAL:function(e,t){var n=t.name,a=t.key,s=t.value;r.default.set(e.localPacks[n].pack,a,s)},UPDATE_LOCAL_PACK_PACK:function(e,t){var n=t.name,a=t.pack;e.localPacks[n].pack=a},UPDATE_LOCAL_PACK_FILES:function(e,t){var n=t.name,a=t.files;r.default.set(e.localPacks[n],"files",a)}},actions:{CreatePack:function(){var e=w()(g.a.mark(function e(t,n){var a,r;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.getters,r=n.name,e.next=4,Object($n.b)(a.authHost,a.token,r);case 4:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),DeletePack:function(){var e=w()(g.a.mark(function e(t,n){var a,r;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.getters,r=n.name,e.next=4,Object($n.c)(a.authHost,a.token,r);case 4:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),DownloadFrom:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.getters,r=n.instanceAddress,s=n.packName,o=n.as,e.next=4,Object($n.d)(a.authHost,r,s,o,a.token);case 4:"ok"===e.sent.data&&Object(i.Message)({message:"".concat(G.a.t("settings.successfullyDownloaded")," ").concat(s),type:"success",duration:5e3});case 6:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),ImportFromFS:function(){var e=w()(g.a.mark(function e(t){var n,a,r;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.getters,e.next=3,Object($n.e)(n.authHost,n.token);case 3:200===(a=e.sent).status&&(r=a.data.length>0?"".concat(G.a.t("settings.successfullyImported")," ").concat(a.data):G.a.t("settings.nowNewPacksToImport"),Object(i.Message)({message:r,type:"success",duration:5e3}));case 5:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),ReloadEmoji:function(){var e=w()(g.a.mark(function e(t){var n;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.getters,e.next=3,Object($n.h)(n.authHost,n.token);case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),SavePackMetadata:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,c;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,s=t.state,o=n.packName,e.next=4,Object($n.i)(r.authHost,r.token,o,s.localPacks[o].pack);case 4:200===(c=e.sent).status&&(Object(i.Message)({message:"".concat(G.a.t("settings.successfullyUpdated")," ").concat(o," ").concat(G.a.t("settings.metadatLowerCase")),type:"success",duration:5e3}),a("UPDATE_LOCAL_PACK_PACK",{name:o,pack:c.data}));case 6:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),SetLocalEmojiPacks:function(){var e=w()(g.a.mark(function e(t){var n,a,r,s;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.getters,e.next=3,Object($n.f)(a.authHost);case 3:r=e.sent,s=r.data,n("SET_LOCAL_PACKS",s);case 6:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),SetRemoteEmojiPacks:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o,i;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,s=n.remoteInstance,e.next=4,Object($n.g)(r.authHost,r.token,s);case 4:o=e.sent,i=o.data,a("SET_REMOTE_PACKS",i);case 7:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),UpdateAndSavePackFile:function(){var e=w()(g.a.mark(function e(t,n){var a,r,s,o;return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,e.next=3,Object($n.j)(r.authHost,r.token,n);case 3:200===(s=e.sent).status&&(o=n.packName,Object(i.Message)({message:"".concat(G.a.t("settings.successfullyUpdated")," ").concat(o," ").concat(G.a.t("settings.metadatLowerCase")),type:"success",duration:5e3}),a("UPDATE_LOCAL_PACK_FILES",{name:o,files:s.data}));case 5:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),UpdateLocalPackVal:function(){var e=w()(g.a.mark(function e(t,n){return g.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:(0,t.commit)("UPDATE_LOCAL_PACK_VAL",n);case 2:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}};r.default.use(m.a);var Kn=new m.a.Store({modules:{app:h,errorLog:f,moderationLog:M,invites:q,peers:K,permission:Qe,relays:st,reports:ft,settings:Gt,status:Jt,tagsView:tn,user:cn,userProfile:Fn,users:qn,emojiPacks:Wn},getters:Yn}),Zn=n("zT9a");r.default.component("svg-icon",Zn.a);!function(e){e.keys().map(e)}(n("Uf/o")),r.default.config.errorHandler=function(e,t,n,a){r.default.nextTick(function(){Kn.dispatch("addErrorLog",{err:e,vm:t,info:n,url:window.location.href}),console.error(e,n)})};var Qn=n("Mj6V"),Jn=n.n(Qn);n("pdi6");Jn.a.configure({showSpinner:!1});var Xn=["/login","/auth-redirect","/login-pleroma"];function ea(e,t){return 1===e?e+t:e+t+"s"}function ta(e){var t=Date.now()/1e3-Number(e);return t<3600?ea(~~(t/60)," minute"):t<86400?ea(~~(t/3600)," hour"):ea(~~(t/86400)," day")}function na(e,t){for(var n=[{value:1e18,symbol:"E"},{value:1e15,symbol:"P"},{value:1e12,symbol:"T"},{value:1e9,symbol:"G"},{value:1e6,symbol:"M"},{value:1e3,symbol:"k"}],a=0;a<n.length;a++)if(e>=n[a].value)return(e/n[a].value+.1).toFixed(t).replace(/\.0+$|(\.[0-9]*[1-9])0+$/,"$1")+n[a].symbol;return e.toString()}function aa(e){return(+e||0).toString().replace(/^-?\d+/g,function(e){return e.replace(/(?=(?!\b)(\d{3})+$)/g,",")})}Ke.beforeEach(function(e,t,n){Jn.a.start(),Object(_.b)()?"/login"===e.path?(n({path:"/"}),Jn.a.done()):0===Kn.getters.roles.length?Kn.dispatch("GetUserInfo").then(function(t){var a=t.data.pleroma.is_admin?["admin"]:[];Kn.dispatch("GenerateRoutes",{roles:a}).then(function(){Ke.addRoutes(Kn.getters.addRouters),n(x()({},e,{replace:!0}))})}).catch(function(e){Kn.dispatch("FedLogOut").then(function(){i.Message.error(e),n({path:"/"})})}):function(e,t){return e.indexOf("admin")>=0||!t||e.some(function(e){return t.indexOf(e)>=0})}(Kn.getters.roles,e.meta.roles)?n():n({path:"/401",replace:!0,query:{noGoBack:!0}}):-1!==Xn.indexOf(e.path)?n():(n("/login?redirect=".concat(e.path)),Jn.a.done())}),Ke.afterEach(function(){Jn.a.done()}),r.default.use(c.a,{size:o.a.get("size")||"medium",i18n:function(e,t){return G.a.t(e,t)}}),Object.keys(a).forEach(function(e){r.default.filter(e,a[e])}),r.default.config.productionTip=!1,new r.default({el:"#app",router:Ke,store:Kn,i18n:G.a,render:function(e){return e(d)}})},X4fA:function(e,t,n){"use strict";n.d(t,"b",function(){return i}),n.d(t,"f",function(){return c}),n.d(t,"d",function(){return u}),n.d(t,"a",function(){return l}),n.d(t,"e",function(){return p}),n.d(t,"c",function(){return d});var a=n("p46w"),r=n.n(a),s="Admin-Token",o="Auth-Host";function i(){return r.a.get(s)}function c(e){return r.a.set(s,e)}function u(){return r.a.remove(s)}function l(){return r.a.get(o)}function p(e){return r.a.set(o,e)}function d(){return r.a.remove(o)}},Xm3t:function(e,t,n){},Yymj:function(e,t,n){"use strict";var a=n("jf83");n.n(a).a},"Z+gY":function(e,t,n){"use strict";var a=n("Kcm3");n.n(a).a},ZZmv:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-excel",use:"icon-excel-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-excel"><path d="M78.208 16.576v8.384h38.72v5.376h-38.72v8.704h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.512h38.72v5.376h-38.72v11.136H128v-94.72H78.208zM0 114.368L72.128 128V0L0 13.632v100.736z" /><path d="M28.672 82.56h-11.2l14.784-23.488-14.08-22.592h11.52l8.192 14.976 8.448-14.976h11.136l-14.08 22.208L58.368 82.56H46.656l-8.768-15.68z" /></symbol>'});o.a.add(i);t.default=i},ZoO1:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-guide",use:"icon-guide-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-guide"><path d="M1.482 70.131l36.204 16.18 69.932-65.485-61.38 70.594 46.435 18.735c1.119.425 2.397-.17 2.797-1.363v-.085L127.998.047 1.322 65.874c-1.12.597-1.519 1.959-1.04 3.151.32.511.72.937 1.2 1.107zm44.676 57.821L64.22 107.26l-18.062-7.834v28.527z" /></symbol>'});o.a.add(i);t.default=i},cIpu:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-star",use:"icon-star-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-star"><path d="M70.66 4.328l14.01 29.693c1.088 2.29 3.177 3.882 5.603 4.25l31.347 4.76c6.087.926 8.528 8.756 4.117 13.247L103.05 79.395c-1.75 1.78-2.544 4.352-2.132 6.867l5.352 32.641c1.043 6.337-5.33 11.182-10.778 8.19l-28.039-15.409a7.13 7.13 0 0 0-6.91 0l-28.039 15.41c-5.448 2.99-11.821-1.854-10.777-8.19l5.352-32.642c.415-2.515-.387-5.088-2.136-6.867L2.264 56.278C-2.146 51.787.286 43.957 6.38 43.031l31.343-4.76c2.419-.368 4.51-1.96 5.595-4.25L57.334 4.328c2.728-5.77 10.605-5.77 13.325 0z" /></symbol>'});o.a.add(i);t.default=i},ejpO:function(e,t,n){},"gNT+":function(e,t,n){"use strict";var a=n("ejpO");n.n(a).a},gNoN:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-wechat",use:"icon-wechat-usage",viewBox:"0 0 128 110",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 110" id="icon-wechat"><path d="M86.635 33.334c1.467 0 2.917.113 4.358.283C87.078 14.392 67.58.111 45.321.111 20.44.111.055 17.987.055 40.687c0 13.104 6.781 23.863 18.115 32.209l-4.527 14.352 15.82-8.364c5.666 1.182 10.207 2.395 15.858 2.395 1.42 0 2.829-.073 4.227-.189-.886-3.19-1.398-6.53-1.398-9.996 0-20.845 16.98-37.76 38.485-37.76zm-24.34-12.936c3.407 0 5.665 2.363 5.665 5.954 0 3.576-2.258 5.97-5.666 5.97-3.392 0-6.795-2.395-6.795-5.97 0-3.591 3.403-5.954 6.795-5.954zM30.616 32.323c-3.393 0-6.818-2.395-6.818-5.971 0-3.591 3.425-5.954 6.818-5.954 3.392 0 5.65 2.363 5.65 5.954 0 3.576-2.258 5.97-5.65 5.97z" /><path d="M127.945 70.52c0-19.075-18.108-34.623-38.448-34.623-21.537 0-38.5 15.548-38.5 34.623 0 19.108 16.963 34.622 38.5 34.622 4.508 0 9.058-1.2 13.584-2.395l12.414 7.167-3.404-11.923c9.087-7.184 15.854-16.712 15.854-27.471zm-50.928-5.97c-2.254 0-4.53-2.362-4.53-4.773 0-2.378 2.276-4.771 4.53-4.771 3.422 0 5.665 2.393 5.665 4.771 0 2.41-2.243 4.773-5.665 4.773zm24.897 0c-2.24 0-4.498-2.362-4.498-4.773 0-2.378 2.258-4.771 4.498-4.771 3.392 0 5.665 2.393 5.665 4.771 0 2.41-2.273 4.773-5.665 4.773z" /></symbol>'});o.a.add(i);t.default=i},hkRB:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-size",use:"icon-size-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-size"><path d="M0 54.857h54.796v18.286H36.531V128H18.265V73.143H0V54.857zm127.857-36.571H91.935V128H72.456V18.286H36.534V0h91.326l-.003 18.286z" /></symbol>'});o.a.add(i);t.default=i},iqZD:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-zip",use:"icon-zip-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-zip"><path d="M78.527 116.793c.178.008.348.024.527.024h40.233c4.711-.005 8.53-3.677 8.534-8.21V18.895c-.004-4.532-3.823-8.204-8.534-8.209H79.054c-.179 0-.353.016-.527.024V0L0 10.082v107.406l78.527 10.342v-11.037zm0-101.362c.174-.024.348-.052.527-.052h40.233c2.018 0 3.659 1.578 3.659 3.52v89.713c-.003 1.942-1.64 3.517-3.659 3.519H79.054c-.179 0-.353-.028-.527-.052V15.431zM30.262 75.757l-18.721-.46V72.37l11.3-16.673v-.148l-10.266.164v-4.51l17.504-.44v3.264L18.696 70.76v.144l11.566.176v4.678zm9.419.231l-5.823-.144V50.671l5.823-.144v25.461zm22.255-11.632c-2.168 1.922-5.353 2.76-9.02 2.736-.702.004-1.402-.04-2.097-.131v9.303l-5.997-.148V50.743c1.852-.352 4.473-.647 8.218-.743 3.838-.096 6.608.539 8.48 1.913 1.807 1.306 3.032 3.5 3.032 6.112s-.926 4.833-2.612 6.331h-.004zM53.36 54.45c-.856-.01-1.71.083-2.541.275v7.682c.523.116 1.167.152 2.06.152 3.301-.004 5.36-1.614 5.36-4.314 0-2.425-1.772-3.843-4.875-3.791l-.004-.004zm39.847-37.066h9.564v3.795h-9.564v-3.795zm-9.568 5.68h9.564v3.8h-9.564v-3.8zm9.568 6.216h9.564v3.799h-9.564V29.28zm0 12h9.564v3.794h-9.564V41.28zm-9.568-6.096h9.564v3.795h-9.564v-3.795zm9.472 47.064c2.512 0 4.921-.96 6.697-2.67 1.776-1.708 2.773-4.026 2.772-6.442l-1.748-15.263c0-5.033-2.492-9.112-7.725-9.112-5.232 0-7.72 4.079-7.72 9.112l-1.752 15.263c-.001 2.417.996 4.735 2.773 6.444 1.777 1.71 4.187 2.669 6.7 2.668h.003zm-3.135-16.75h6.27v12.743h-6.27V65.5z" /></symbol>'});o.a.add(i);t.default=i},j7e1:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-tab",use:"icon-tab-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-tab"><path d="M78.921.052H49.08c-1.865 0-3.198 1.599-3.198 3.464v6.661c0 1.865 1.6 3.464 3.198 3.464h29.84c1.865 0 3.198-1.599 3.198-3.464V3.516C82.385 1.65 80.786.052 78.92.052zm45.563 0H94.642c-1.865 0-3.464 1.599-3.464 3.464v6.661c0 1.865 1.599 3.464 3.464 3.464h29.842c1.865-.266 3.464-1.599 3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464zm0 22.382H40.02c-1.866 0-3.464-1.599-3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464H3.516C1.65.052.052 1.651.052 3.516V124.75c0 1.598 1.599 3.197 3.464 3.197h120.968c1.865 0 3.464-1.599 3.464-3.464V25.898c0-1.865-1.599-3.464-3.464-3.464z" /></symbol>'});o.a.add(i);t.default=i},jf83:function(e,t,n){},jo2x:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-search",use:"icon-search-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-search"><path d="M124.884 109.812L94.256 79.166c-.357-.357-.757-.629-1.129-.914a50.366 50.366 0 0 0 8.186-27.59C101.327 22.689 78.656 0 50.67 0 22.685 0 0 22.688 0 50.663c0 27.989 22.685 50.663 50.656 50.663 10.186 0 19.643-3.03 27.6-8.201.286.385.557.771.9 1.114l30.628 30.632a10.633 10.633 0 0 0 7.543 3.129c2.728 0 5.457-1.043 7.543-3.115 4.171-4.157 4.171-10.915.014-15.073M50.671 85.338C31.557 85.338 16 69.78 16 50.663c0-19.102 15.557-34.661 34.67-34.661 19.115 0 34.657 15.559 34.657 34.675 0 19.102-15.557 34.661-34.656 34.661" /></symbol>'});o.a.add(i);t.default=i},k80C:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-tree",use:"icon-tree-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-tree"><path d="M126.713 90.023c.858.985 1.287 2.134 1.287 3.447v29.553c0 1.423-.429 2.6-1.287 3.53-.858.93-1.907 1.395-3.146 1.395H97.824c-1.145 0-2.146-.465-3.004-1.395-.858-.93-1.287-2.107-1.287-3.53V93.47c0-.875.19-1.696.572-2.462.382-.766.906-1.368 1.573-1.806a3.84 3.84 0 0 1 2.146-.657h9.725V69.007a3.84 3.84 0 0 0-.43-1.806 3.569 3.569 0 0 0-1.143-1.313 2.714 2.714 0 0 0-1.573-.492h-36.47v23.149h9.725c1.144 0 2.145.492 3.004 1.478.858.985 1.287 2.134 1.287 3.447v29.553c0 .876-.191 1.696-.573 2.463-.38.766-.905 1.368-1.573 1.806a3.84 3.84 0 0 1-2.145.656H51.915a3.84 3.84 0 0 1-2.145-.656c-.668-.438-1.216-1.04-1.645-1.806a4.96 4.96 0 0 1-.644-2.463V93.47c0-1.313.43-2.462 1.288-3.447.858-.986 1.907-1.478 3.146-1.478h9.582v-23.15h-37.9c-.953 0-1.74.356-2.359 1.068-.62.711-.93 1.56-.93 2.544v19.538h9.726c1.239 0 2.264.492 3.074 1.478.81.985 1.216 2.134 1.216 3.447v29.553c0 1.423-.405 2.6-1.216 3.53-.81.93-1.835 1.395-3.074 1.395H4.29c-.476 0-.93-.082-1.358-.246a4.1 4.1 0 0 1-1.144-.657 4.658 4.658 0 0 1-.93-1.067 5.186 5.186 0 0 1-.643-1.395 5.566 5.566 0 0 1-.215-1.56V93.47c0-.437.048-.875.143-1.313a3.95 3.95 0 0 1 .429-1.15c.19-.328.429-.656.715-.984.286-.329.572-.602.858-.821.286-.22.62-.383 1.001-.493.382-.11.763-.164 1.144-.164h9.726V61.619c0-.985.31-1.833.93-2.544.619-.712 1.358-1.068 2.216-1.068h44.335V39.62h-9.582c-1.24 0-2.288-.492-3.146-1.477a5.09 5.09 0 0 1-1.287-3.448V5.14c0-1.423.429-2.627 1.287-3.612.858-.985 1.907-1.477 3.146-1.477h25.743c.763 0 1.478.246 2.145.739a5.17 5.17 0 0 1 1.573 1.888c.382.766.573 1.587.573 2.462v29.553c0 1.313-.43 2.463-1.287 3.448-.859.985-1.86 1.477-3.004 1.477h-9.725v18.389h42.762c.954 0 1.74.355 2.36 1.067.62.711.93 1.56.93 2.545v26.925h9.582c1.239 0 2.288.492 3.146 1.478z" /></symbol>'});o.a.add(i);t.default=i},kPu2:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-documentation",use:"icon-documentation-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-documentation"><path d="M71.984 44.815H115.9L71.984 9.642v35.173zM16.094.05h63.875l47.906 38.37v76.74c0 3.392-1.682 6.645-4.677 9.044-2.995 2.399-7.056 3.746-11.292 3.746H16.094c-4.236 0-8.297-1.347-11.292-3.746-2.995-2.399-4.677-5.652-4.677-9.044V12.84C.125 5.742 7.23.05 16.094.05zm71.86 102.32V89.58h-71.86v12.79h71.86zm23.952-25.58V64H16.094v12.79h95.812z" /></symbol>'});o.a.add(i);t.default=i},"m7++":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-drag",use:"icon-drag-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-drag"><path d="M73.137 29.08h-9.209 29.7L63.886.093 34.373 29.08h20.49v27.035H27.238v17.948h27.625v27.133h18.274V74.063h27.41V56.115h-27.41V29.08zm-9.245 98.827l27.518-26.711H36.59l27.302 26.71zM.042 64.982l27.196 27.029V38.167L.042 64.982zm100.505-26.815V92.01l27.41-27.029-27.41-26.815z" /></symbol>'});o.a.add(i);t.default=i},mDMp:function(e,t,n){"use strict";var a=n("Tfa4");n.n(a).a},mSHS:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-fullscreen",use:"icon-fullscreen-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-fullscreen"><path d="M38.47 52L52 38.462l-23.648-23.67L43.209 0H.035L0 43.137l14.757-14.865L38.47 52zm74.773 47.726L89.526 76 76 89.536l23.648 23.672L84.795 128h43.174L128 84.863l-14.757 14.863zM89.538 52l23.668-23.648L128 43.207V.038L84.866 0 99.73 14.76 76 38.472 89.538 52zM38.46 76L14.792 99.651 0 84.794v43.173l43.137.033-14.865-14.757L52 89.53 38.46 76z" /></symbol>'});o.a.add(i);t.default=i},mSNy:function(e,t,n){"use strict";var a=n("MVZn"),r=n.n(a),s=n("Kw5r"),o=n("qSUR"),i=n("p46w"),c=n.n(i),u=n("stYL"),l=n.n(u),p=n("8NkQ"),d=n.n(p),m=n("PtZe"),h=n.n(m);s.default.use(o.a);var f={en:r()({},{route:{dashboard:"Dashboard",introduction:"Introduction",documentation:"Documentation",guide:"Guide",permission:"Permission",pagePermission:"Page Permission",directivePermission:"Directive Permission",icons:"Icons",components:"Components",componentIndex:"Introduction",markdown:"Markdown",jsonEditor:"JSON Editor",dndList:"Dnd List",splitPane:"SplitPane",avatarUpload:"Avatar Upload",dropzone:"Dropzone",sticky:"Sticky",countTo:"CountTo",componentMixin:"Mixin",backToTop:"BackToTop",dragDialog:"Drag Dialog",dragSelect:"Drag Select",dragKanban:"Drag Kanban",charts:"Charts",keyboardChart:"Keyboard Chart",lineChart:"Line Chart",mixChart:"Mix Chart",example:"Example",nested:"Nested Routes",menu1:"Menu 1","menu1-1":"Menu 1-1","menu1-2":"Menu 1-2","menu1-2-1":"Menu 1-2-1","menu1-2-2":"Menu 1-2-2","menu1-3":"Menu 1-3",menu2:"Menu 2",Table:"Table",dynamicTable:"Dynamic Table",dragTable:"Drag Table",inlineEditTable:"Inline Edit",complexTable:"Complex Table",treeTable:"Tree Table",customTreeTable:"Custom TreeTable",tab:"Tab",form:"Form",createArticle:"Create Article",editArticle:"Edit Article",articleList:"Article List",errorPages:"Error Pages",page401:"401",page404:"404",errorLog:"Error Log",excel:"Excel",exportExcel:"Export Excel",selectExcel:"Export Selected",uploadExcel:"Upload Excel",zip:"Zip",pdf:"PDF",exportZip:"Export Zip",theme:"Theme",clipboardDemo:"Clipboard",i18n:"I18n",externalLink:"External Link",users:"Users",reports:"Reports",settings:"Settings",moderationLog:"Moderation Log","emoji-packs":"Emoji packs"},navbar:{logOut:"Log Out",dashboard:"Dashboard",github:"Github",theme:"Theme",size:"Global Size"},login:{title:"Login Form",logIn:"Log in",logInViaPleromaFE:"Log in via PleromaFE",username:"username@host",password:"password",omitHostname:"omit hostname if Pleroma is located on this domain",errorMessage:"Username must contain username and host, e.g. john@pleroma.social",any:"any",thirdparty:"Or connect with",pleromaFELoginFailed:"Failed to login via PleromaFE, please login with username/password",pleromaFELoginSucceed:"Logged in via PleromaFE"},documentation:{documentation:"Documentation",github:"Github Repository"},permission:{roles:"Your roles",switchRoles:"Switch roles",tips:"In some cases it is not suitable to use v-permission, such as element Tab component or el-table-column and other asynchronous rendering dom cases which can only be achieved by manually setting the v-if."},guide:{description:"The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ",button:"Show Guide"},components:{documentation:"Documentation",dropzoneTips:"Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/element-ui/Dropzone.",stickyTips:"when the page is scrolled to the preset position will be sticky on the top.",backToTopTips1:"When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner",backToTopTips2:"You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally",imageUploadTips:"Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version."},table:{dynamicTips1:"Fixed header, sorted by header order",dynamicTips2:"Not fixed header, sorted by click order",dragTips1:"The default order",dragTips2:"The after dragging order",title:"Title",importance:"Imp",type:"Type",remark:"Remark",search:"Search",add:"Add",export:"Export",reviewer:"reviewer",id:"ID",date:"Date",author:"Author",readings:"Readings",status:"Status",actions:"Actions",edit:"Edit",publish:"Publish",draft:"Draft",delete:"Delete",cancel:"Cancel",confirm:"Confirm"},errorLog:{tips:"Please click the bug icon in the upper right corner",description:"Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.",documentation:"Document introduction"},excel:{export:"Export",selectedExport:"Export Selected Items",placeholder:"Please enter the file name(default excel-list)"},zip:{export:"Export",placeholder:"Please enter the file name(default file)"},pdf:{tips:"Here we use window.print() to implement the feature of downloading pdf."},theme:{change:"Change Theme",documentation:"Theme documentation",tips:"Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details."},tagsView:{refresh:"Refresh",close:"Close",closeOthers:"Close Others",closeAll:"Close All"},users:{users:"Users",localUsersOnly:"Local users only",search:"Search",id:"ID",name:"Name",status:"Status",local:"local",external:"external",deactivated:"deactivated",active:"active",unconfirmed:"unconfirmed",actions:"Actions",activate:"Activate",deactivate:"Deactivate",admin:"admin",moderator:"moderator",moderation:"Moderation",revokeAdmin:"Revoke Admin",grantAdmin:"Grant Admin",revokeModerator:"Revoke Moderator",grantModerator:"Grant Moderator",activateAccount:"Activate Account",activateAccounts:"Activate Accounts",deactivateAccount:"Deactivate Account",deactivateAccounts:"Deactivate Accounts",deleteAccount:"Delete Account",deleteAccounts:"Delete Accounts",forceNsfw:"Force posts to be NSFW",stripMedia:"Force posts not to have media",forceUnlisted:"Force posts to be unlisted",sandbox:"Force posts to be followers-only",disableRemoteSubscription:"Disallow following user from remote instances",disableRemoteSubscriptionForMultiple:"Disallow following users from remote instances",disableAnySubscription:"Disallow following user at all",disableAnySubscriptionForMultiple:"Disallow following users at all",requirePasswordReset:"Require password reset on next login",selectUsers:"Select users to apply actions to multiple users",moderateUsers:"Moderate multiple users",createAccount:"Create new account",apply:"apply",remove:"remove",grantRightConfirmation:"Are you sure you want to grant {right} rights to all selected users?",revokeRightConfirmation:"Are you sure you want to revoke {right} rights from all selected users?",activateMultipleUsersConfirmation:"Are you sure you want to activate accounts of all selected users?",deactivateMultipleUsersConfirmation:"Are you sure you want to deactivate accounts of all selected users?",deleteMultipleUsersConfirmation:"Are you sure you want to delete accounts of all selected users?",addTagForMultipleUsersConfirmation:"Are you sure you want to apply tag to all selected users?",removeTagFromMultipleUsersConfirmation:"Are you sure you want to remove tag from all selected users?",requirePasswordResetConfirmation:"Are you sure you want to require password reset for all selected users?",confirmAccountsConfirmation:"Are you sure you want to confirm emails for all selected users?",resendEmailConfirmation:"Are you sure you want to resend confirmation email for all selected users?",mailerMustBeEnabled:"To require user's password reset you must enable mailer.",ok:"Okay",completed:"Completed",cancel:"Cancel",canceled:"Canceled",username:"Username",email:"E-mail",password:"Password",create:"Create",submitFormError:"There are invalid values in the form. Please fix them before continuing.",emptyEmailError:"Please input the e-mail",invalidEmailError:"Please input valid e-mail",emptyPasswordError:"Please input the password",emptyNicknameError:"Please input the username",invalidNicknameError:'Username can include "a-z", "A-Z" and "0-9" characters',getPasswordResetToken:"Get password reset token",passwordResetTokenCreated:"Password reset token was created",accountCreated:"New account was created!",unconfirmedEmail:"User didn't confirm the email",confirmAccount:"Confirm account",confirmAccounts:"Confirm accounts",resendConfirmation:"Resend confirmation email"},statuses:{statuses:"Statuses by instance",instanceFilter:"Instance filter",loadMore:"Load more",noInstances:"No other instances found"},userProfile:{tags:"Tags",moderator:"Moderator",admin:"Admin",local:"local",external:"external",localUppercase:"Local",nickname:"Nickname",recentStatuses:"Recent Statues",showPrivateStatuses:"Show private statuses",roles:"Roles",activeUppercase:"Active",active:"active",deactivated:"deactivated",noStatuses:"No statuses to show"},usersFilter:{inputPlaceholder:"Select filter",byUserType:"By user type",local:"Local",external:"External",byStatus:"By status",active:"Active",deactivated:"Deactivated"},reports:{reports:"Reports",groupedReports:"Grouped reports",reply:"Reply",from:"From",showNotes:"Show notes",newNote:"New note",submit:"Submit",confirmMsg:"Are you sure you want to delete this note?",delete:"Delete",cancel:"Cancel",deleteCompleted:"Delete comleted",deleteCanceled:"Delete canceled",noNotes:"No notes to display",changeState:"Change report's state",changeAllReports:"Change all reports",changeScope:"Change scope",moderateUser:"Moderate user",resolve:"Resolve",reopen:"Reopen",close:"Close",resolveAll:"Resolve all",reopenAll:"Reopen all",closeAll:"Close all",addSensitive:"Add Sensitive flag",removeSensitive:"Remove Sensitive flag",public:"Make status public",private:"Make status private",unlisted:"Make status unlisted",sensitive:"Sensitive",deleteStatus:"Delete status",reportOn:"Report on",reportsOn:"Reports on",id:"ID",account:"Account",actor:"Actor",actors:"Actors",content:"Content",reportedStatus:"Reported status",statusDeleted:"This status has been deleted",leaveNote:"Leave a note",postNote:"Send",deleteNote:"Delete"},reportsFilter:{inputPlaceholder:"Select filter",open:"Open",closed:"Closed",resolved:"Resolved"},moderationLog:{moderationLog:"Moderation Log"},settings:{settings:"Settings",instance:"Instance",upload:"Upload",mailer:"Mailer",logger:"Logger",activityPub:"ActivityPub",auth:"Authentication",autoLinker:"Auto Linker",captcha:"Captcha",frontend:"Frontend",http:"HTTP",mrf:"MRF",mediaProxy:"Media Proxy",metadata:"Metadata",gopher:"Gopher",endpoint:"Endpoint",jobQueue:"Job queue",webPush:"Web push encryption",esshd:"BBS / SSH access",rateLimiters:"Rate limiters",database:"Database",other:"Other",relays:"Relays",follow:"Follow",followRelay:"Follow new relay",instanceUrl:"Instance URL",success:"Settings changed successfully!",emojiPacks:"Emoji packs",reloadEmoji:"Reload emoji",importPacks:"Import packs from the server filesystem",importEmojiTooltip:"Importing from the filesystem will scan the directories and import those without pack.json but with emoji.txt or without neither",localPacks:"Local packs",refreshLocalPacks:"Refresh local packs",createLocalPack:"Create a new local pack",packs:"Packs",remotePacks:"Remote packs",remoteInstanceAddress:"Remote instance address",refreshRemote:"Refresh remote packs",sharePack:"Share pack",homepage:"Homepage",description:"Description",license:"License",fallbackSrc:"Fallback source",fallbackSrcSha:"Fallback source SHA",savePackMetadata:"Save pack metadata",addNewEmoji:"Add new emoji to the pack",shortcode:"Shortcode",uploadFile:"Upload a file",customFilename:"Custom filename",optional:"optional",customFilenameDesc:"Custom file name (optional)",url:"URL",required:"required",clickToUpload:"Click to upload",showPackContents:"Show pack contents",manageEmoji:"Manage existing emoji",file:"File",update:"Update",remove:"Remove",selectLocalPack:"Select the local pack to copy to",localPack:"Local pack",specifyShortcode:"Specify a custom shortcode",specifyFilename:"Specify a custom filename",leaveEmptyShortcode:"leave empty to use the same shortcode",leaveEmptyFilename:"leave empty to use the same filename",copy:"Copy",copyToLocalPack:"Copy to local pack",thisWillDownload:"This will download the",downloadToCurrentInstance:"pack to the current instance under the name",canBeChanged:"can be changed below",willBeUsable:"It will then be usable and shareable from the current instance",downloadPack:"Download pack",deletePack:"Delete pack",downloadSharedPack:"Download shared pack to current instance",downloadAsOptional:"Download as (optional)",downloadPackArchive:"Download pack archive",successfullyDownloaded:"Successfully downloaded",successfullyImported:"Successfully imported",nowNewPacksToImport:"No new packs to import",successfullyUpdated:"Successfully updated",metadatLowerCase:"metadata",files:"files"},invites:{inviteTokens:"Invite tokens",createInviteToken:"Generate invite token",pickDate:"Pick a date",maxUse:"Max use",expiresAt:"Expires at",tokenCreated:"Invite token was created",token:"Token",uses:"Uses",used:"Used",cancel:"Cancel",create:"Create",revoke:"Revoke",id:"ID",actions:"Actions",active:"Active",inviteUserViaEmail:"Invite user via email",sendRegistration:"Send registration invite via email",email:"Email",name:"Name",emptyEmailError:"Please input the e-mail",invalidEmailError:"Please input valid e-mail",emailSent:"Invite was sent",submitFormError:"There are invalid values in the form. Please fix them before continuing.",inviteViaEmailAlert:"To send invite via email make sure to enable `invites_enabled` and disable `registrations_open`"}},l.a),zh:r()({},{route:{dashboard:"首页",introduction:"简述",documentation:"文档",guide:"引导页",permission:"权限测试页",pagePermission:"页面权限",directivePermission:"指令权限",icons:"图标",components:"组件",componentIndex:"介绍",markdown:"Markdown",jsonEditor:"JSON编辑器",dndList:"列表拖拽",splitPane:"Splitpane",avatarUpload:"头像上传",dropzone:"Dropzone",sticky:"Sticky",countTo:"CountTo",componentMixin:"小组件",backToTop:"返回顶部",dragDialog:"拖拽 Dialog",dragSelect:"拖拽 Select",dragKanban:"可拖拽看板",charts:"图表",keyboardChart:"键盘图表",lineChart:"折线图",mixChart:"混合图表",example:"综合实例",nested:"路由嵌套",menu1:"菜单1","menu1-1":"菜单1-1","menu1-2":"菜单1-2","menu1-2-1":"菜单1-2-1","menu1-2-2":"菜单1-2-2","menu1-3":"菜单1-3",menu2:"菜单2",Table:"Table",dynamicTable:"动态Table",dragTable:"拖拽Table",inlineEditTable:"Table内编辑",complexTable:"综合Table",treeTable:"树形表格",customTreeTable:"自定义树表",tab:"Tab",form:"表单",createArticle:"创建文章",editArticle:"编辑文章",articleList:"文章列表",errorPages:"错误页面",page401:"401",page404:"404",errorLog:"错误日志",excel:"Excel",exportExcel:"Export Excel",selectExcel:"Export Selected",uploadExcel:"Upload Excel",zip:"Zip",pdf:"PDF",exportZip:"Export Zip",theme:"换肤",clipboardDemo:"Clipboard",i18n:"国际化",externalLink:"外链"},navbar:{logOut:"退出登录",dashboard:"首页",github:"项目地址",theme:"换肤",size:"布局大小"},login:{title:"系统登录",logIn:"登录",username:"账号",password:"密码",any:"随便填",thirdparty:"第三方登录",thirdpartyTips:"本地不能模拟,请结合自己业务进行模拟!!!"},documentation:{documentation:"文档",github:"Github 地址"},permission:{roles:"你的权限",switchRoles:"切换权限",tips:"在某些情况下,不适合使用 v-permission。例如:Element-UI 的 Tab 组件或 el-table-column 以及其它动态渲染 dom 的场景。你只能通过手动设置 v-if 来实现。"},guide:{description:"引导页对于一些第一次进入项目的人很有用,你可以简单介绍下项目的功能。本 Demo 是基于",button:"打开引导"},components:{documentation:"文档",dropzoneTips:"由于我司业务有特殊需求,而且要传七牛 所以没用第三方,选择了自己封装。代码非常的简单,具体代码你可以在这里看到 @/components/element-ui/Dropzone",stickyTips:"当页面滚动到预设的位置会吸附在顶部",backToTopTips1:"页面滚动到指定位置会在右下角出现返回顶部按钮",backToTopTips2:"可自定义按钮的样式、show/hide、出现的高度、返回的位置 如需文字提示,可在外部使用Element的el-tooltip元素",imageUploadTips:"由于我在使用时它只有vue@1版本,而且和mockjs不兼容,所以自己改造了一下,如果大家要使用的话,优先还是使用官方版本。"},table:{dynamicTips1:"固定表头, 按照表头顺序排序",dynamicTips2:"不固定表头, 按照点击顺序排序",dragTips1:"默认顺序",dragTips2:"拖拽后顺序",title:"标题",importance:"重要性",type:"类型",remark:"点评",search:"搜索",add:"添加",export:"导出",reviewer:"审核人",id:"序号",date:"时间",author:"作者",readings:"阅读数",status:"状态",actions:"操作",edit:"编辑",publish:"发布",draft:"草稿",delete:"删除",cancel:"取 消",confirm:"确 定"},errorLog:{tips:"请点击右上角bug小图标",description:"现在的管理后台基本都是spa的形式了,它增强了用户体验,但同时也会增加页面出问题的可能性,可能一个小小的疏忽就导致整个页面的死锁。好在 Vue 官网提供了一个方法来捕获处理异常,你可以在其中进行错误处理或者异常上报。",documentation:"文档介绍"},excel:{export:"导出",selectedExport:"导出已选择项",placeholder:"请输入文件名(默认excel-list)"},zip:{export:"导出",placeholder:"请输入文件名(默认file)"},pdf:{tips:"这里使用 window.print() 来实现下载pdf的功能"},theme:{change:"换肤",documentation:"换肤文档",tips:"Tips: 它区别于 navbar 上的 theme-pick, 是两种不同的换肤方法,各自有不同的应用场景,具体请参考文档。"},tagsView:{refresh:"刷新",close:"关闭",closeOthers:"关闭其它",closeAll:"关闭所有"}},d.a),es:r()({},{route:{dashboard:"Panel de control",introduction:"Introducción",documentation:"Documentación",guide:"Guía",permission:"Permisos",pagePermission:"Permisos de la página",directivePermission:"Permisos de la directiva",icons:"Iconos",components:"Componentes",componentIndex:"Introducción",markdown:"Markdown",jsonEditor:"Editor JSON",dndList:"Lista Dnd",splitPane:"Panel dividido",avatarUpload:"Subir avatar",dropzone:"Subir ficheros",sticky:"Sticky",countTo:"CountTo",componentMixin:"Mixin",backToTop:"Ir arriba",dragDialog:"Drag Dialog",dragSelect:"Drag Select",dragKanban:"Drag Kanban",charts:"Gráficos",keyboardChart:"Keyboard Chart",lineChart:"Gráfico de líneas",mixChart:"Mix Chart",example:"Ejemplo",nested:"Rutas anidadass",menu1:"Menu 1","menu1-1":"Menu 1-1","menu1-2":"Menu 1-2","menu1-2-1":"Menu 1-2-1","menu1-2-2":"Menu 1-2-2","menu1-3":"Menu 1-3",menu2:"Menu 2",Table:"Tabla",dynamicTable:"Tabla dinámica",dragTable:"Arrastrar tabla",inlineEditTable:"Editor",complexTable:"Complex Table",treeTable:"Tree Table",customTreeTable:"Custom TreeTable",tab:"Pestaña",form:"Formulario",createArticle:"Crear artículo",editArticle:"Editar artículo",articleList:"Listado de artículos",errorPages:"Páginas de error",page401:"401",page404:"404",errorLog:"Registro de errores",excel:"Excel",exportExcel:"Exportar a Excel",selectExcel:"Export seleccionado",uploadExcel:"Subir Excel",zip:"Zip",pdf:"PDF",exportZip:"Exportar a Zip",theme:"Tema",clipboardDemo:"Clipboard",i18n:"I18n",externalLink:"Enlace externo"},navbar:{logOut:"Salir",dashboard:"Panel de control",github:"Github",theme:"Tema",size:"Tamaño global"},login:{title:"Formulario de acceso",logIn:"Acceso",username:"Usuario",password:"Contraseña",any:"nada",thirdparty:"Conectar con",thirdpartyTips:"No se puede simular en local, así que combine su propia simulación de negocios. ! !"},documentation:{documentation:"Documentación",github:"Repositorio Github"},permission:{roles:"Tus permisos",switchRoles:"Cambiar permisos",tips:"In some cases it is not suitable to use v-permission, such as element Tab component or el-table-column and other asynchronous rendering dom cases which can only be achieved by manually setting the v-if."},guide:{description:"The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ",button:"Ver guía"},components:{documentation:"Documentación",dropzoneTips:"Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/element-ui/Dropzone.",stickyTips:"when the page is scrolled to the preset position will be sticky on the top.",backToTopTips1:"When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner",backToTopTips2:"You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally",imageUploadTips:"Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version."},table:{dynamicTips1:"Fixed header, sorted by header order",dynamicTips2:"Not fixed header, sorted by click order",dragTips1:"Orden por defecto",dragTips2:"The after dragging order",title:"Título",importance:"Importancia",type:"Tipo",remark:"Remark",search:"Buscar",add:"Añadir",export:"Exportar",reviewer:"reviewer",id:"ID",date:"Fecha",author:"Autor",readings:"Lector",status:"Estado",actions:"Acciones",edit:"Editar",publish:"Publicar",draft:"Draft",delete:"Eliminar",cancel:"Cancelar",confirm:"Confirmar"},errorLog:{tips:"Please click the bug icon in the upper right corner",description:"Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.",documentation:"Documento de introducción"},excel:{export:"Exportar",selectedExport:"Exportar seleccionados",placeholder:"Por favor escribe un nombre de fichero"},zip:{export:"Exportar",placeholder:"Por favor escribe un nombre de fichero"},pdf:{tips:"Here we use window.print() to implement the feature of downloading pdf."},theme:{change:"Cambiar tema",documentation:"Documentación del tema",tips:"Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details."},tagsView:{refresh:"Actualizar",close:"Cerrar",closeOthers:"Cerrar otros",closeAll:"Cerrar todos"}},h.a),oc:r()({},{route:{dashboard:"Tablèu de bòrd",introduction:"Introduccion",documentation:"Documentacion",guide:"Guida",permission:"Autorizacions",pagePermission:"Pagina d’autorizacion",directivePermission:"Politica d’autorizacion",icons:"Icònas",components:"Compausants",componentIndex:"Introduccion",markdown:"Markdown",jsonEditor:"JSON Editor",dndList:"Dnd List",splitPane:"SplitPane",avatarUpload:"Mandadís d’avatar",dropzone:"Dropzone",sticky:"Sticky",countTo:"CountTo",componentMixin:"Mixin",backToTop:"BackToTop",dragDialog:"Drag Dialog",dragSelect:"Drag Select",dragKanban:"Drag Kanban",charts:"Charts",keyboardChart:"Keyboard Chart",lineChart:"Line Chart",mixChart:"Mix Chart",example:"Exemple",nested:"Rotas imbricadas",menu1:"Menú 1","menu1-1":"Menu 1-1","menu1-2":"Menu 1-2","menu1-2-1":"Menu 1-2-1","menu1-2-2":"Menu 1-2-2","menu1-3":"Menu 1-3",menu2:"Menú 2",Table:"Tablèu",dynamicTable:"Tablèu dinamic",dragTable:"Drag Table",inlineEditTable:"Inline Edit",complexTable:"Tablèu complèx",treeTable:"Arborescéncia",customTreeTable:"Arborescéncia personalizada",tab:"Onglet",form:"Formulari",createArticle:"Crear un article",editArticle:"Modificar l’article",articleList:"Lista d’articles",errorPages:"Paginas d’error",page401:"401",page404:"404",errorLog:"Jornal d’error",excel:"Excel",exportExcel:"Exportacion Excel",selectExcel:"Exportar los seleccionats",uploadExcel:"Importacion Excel",zip:"Zip",pdf:"PDF",exportZip:"Exportacion Zip",theme:"Tèma",clipboardDemo:"Clipboard",i18n:"I18n",externalLink:"Ligams extèrnes",users:"Utilizaires"},navbar:{logOut:"Desconnexion",dashboard:"Tablèu de bòrd",github:"Github",theme:"Tèma",size:"Talha totala"},login:{title:"Formulari de connexion",logIn:"Se connectar",username:"Nom d’’utilizaire",password:"Senhal",any:"qual que siá",thirdparty:"O se connectar amb",thirdpartyTips:"Pòt pas èsser simulat en local, doncas montatz vòstra pròpria simulacion ! ! !"},documentation:{documentation:"Documentacion",github:"Repertòri Github"},permission:{roles:"Vòstres ròtles",switchRoles:"Cambiar de ròtle",tips:"Dins qualques cases es pas de bon far d’utilizar v-permission, coma element d’onglet compausant, el-table-column o d’autres renduts dom asincròns que pòdon pas que foncionar amb un parametratge manual de v-if."},guide:{description:"La pagina de guida es utila pel monde que dintran dins lo projècte pel primièr còp. Podètz presentar en un mot las foncionalitats del projèctes. La demo es fondada sus ",button:"Mostrar la guida"},components:{documentation:"Documentacion",dropzoneTips:"Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/element-ui/Dropzone.",stickyTips:"when the page is scrolled to the preset position will be sticky on the top.",backToTopTips1:"When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner",backToTopTips2:"You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally",imageUploadTips:"Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version."},table:{dynamicTips1:"Bandièra fixa, triada per òrdre de bandièra",dynamicTips2:"Bandièra pas fixa, triada per òrdre de clic",dragTips1:"L’’òrdre per defaut",dragTips2:"L’’òrdre aprèp lisar-depausar",title:"Títol",importance:"Imp",type:"Tipe",remark:"Remarca",search:"Recercar",add:"Ajustar",export:"Exportar",reviewer:"examinator",id:"ID",date:"Data",author:"Autor",readings:"Lecturas",status:"Estatuts",actions:"Accions",edit:"Modificar",publish:"Publicar",draft:"Ensag",delete:"Suprimir",cancel:"Anullar",confirm:"Confirmar"},errorLog:{tips:"Mercés de clicar l’’icòna del babau amont a man drecha",description:"Ara que lo sistèma de gestion es coma un spa, melhora l’experiéncia dels utilizaire mas aumenta tanben lo risc de problèmas sus la pagina, una pichona negligéncia pòt menar a un blocatge complèt de la pagina. Urosament Vue fornís de manièras per gerir las excepcions, trobar las errors o senhalar las excepcions.",documentation:"Presentacion del document"},excel:{export:"Exportar",selectedExport:"Exportar los elements seleccionats",placeholder:"Mercés de picar lo nom de fichièr (per defaut excel-list)"},zip:{export:"Exportar",placeholder:"Mercés de picar lo nom de fichièr (per defaut file)"},pdf:{tips:"Aquí utilizam window.print() per prepausar lo telecargament de pdf."},theme:{change:"Cambiar lo tèma",documentation:"Documentacion dels tèmas",tips:"Astúcia : es diferent del theme-pick de la barra de navigacion, i a dos metòdes de personalizacion, caduna amb un biais de far diferent. Referiscam a la documentacion per mai de detalhs."},tagsView:{refresh:"Actualizar",close:"Tampar",closeOthers:"Tampar los autres",closeAll:"Los tampar totes"}})},v=new o.a({locale:c.a.get("language")||"en",messages:f});t.a=v},mm8V:function(e,t,n){"use strict";n.d(t,"c",function(){return d}),n.d(t,"h",function(){return h}),n.d(t,"e",function(){return v}),n.d(t,"b",function(){return b}),n.d(t,"f",function(){return y}),n.d(t,"g",function(){return k}),n.d(t,"d",function(){return S}),n.d(t,"i",function(){return E}),n.d(t,"j",function(){return L}),n.d(t,"a",function(){return R});var a=n("o0o1"),r=n.n(a),s=n("yXPU"),o=n.n(s),i=n("t3Un"),c=n("X4fA"),u=n("9i3r"),l=n("LvDl"),p=n.n(l);function d(e,t,n){return m.apply(this,arguments)}function m(){return(m=o()(r.a.mark(function e(t,n,a){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(i.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/".concat(a),method:"delete",headers:I(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function h(e,t){return f.apply(this,arguments)}function f(){return(f=o()(r.a.mark(function e(t,n){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(i.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/admin/reload_emoji",method:"post",headers:I(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function v(e,t){return g.apply(this,arguments)}function g(){return(g=o()(r.a.mark(function e(t,n){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(i.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/import_from_fs",method:"post",headers:I(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function b(e,t,n){return w.apply(this,arguments)}function w(){return(w=o()(r.a.mark(function e(t,n,a){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(i.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/".concat(a),method:"put",headers:I(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function y(e){return x.apply(this,arguments)}function x(){return(x=o()(r.a.mark(function e(t){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(i.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/",method:"get"});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function k(e,t,n){return T.apply(this,arguments)}function T(){return(T=o()(r.a.mark(function e(t,n,a){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(i.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/list_from",method:"post",headers:I(n),data:{instance_address:Object(u.a)(a)}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function S(e,t,n,a,r){return _.apply(this,arguments)}function _(){return(_=o()(r.a.mark(function e(t,n,a,s,o){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return""===s.trim()&&(s=null),e.next=3,Object(i.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/download_from",method:"post",headers:I(o),data:{instance_address:Object(u.a)(n),pack_name:a,as:s},timeout:0});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function E(e,t,n,a){return O.apply(this,arguments)}function O(){return(O=o()(r.a.mark(function e(t,n,a,s){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(i.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/".concat(a,"/update_metadata"),method:"post",headers:I(n),data:{name:a,new_data:s},timeout:0});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function A(e){var t=new FormData;return p.a.each(e,function(e,n){t.set(n,e)}),t}function L(e,t,n){return P.apply(this,arguments)}function P(){return(P=o()(r.a.mark(function e(t,n,a){var s,o,c,l,p,d,m,h,f;return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:s=null,e.t0=a.action,e.next="add"===e.t0?4:"update"===e.t0?8:"remove"===e.t0?11:14;break;case 4:return o=a.shortcode,c=a.file,l=a.fileName,s=A({action:"add",shortcode:o,file:c}),""!==l.trim()&&s.set("filename",l),e.abrupt("break",14);case 8:return p=a.oldName,d=a.newName,m=a.newFilename,s=A({action:"update",shortcode:p,new_shortcode:d,new_filename:m}),e.abrupt("break",14);case 11:return h=a.name,s=A({action:"remove",shortcode:h}),e.abrupt("break",14);case 14:return f=a.packName,e.next=17,Object(i.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/".concat(f,"/update_file"),method:"post",headers:I(n),data:s,timeout:0});case 17:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}},e)}))).apply(this,arguments)}function R(e,t,n){return"".concat(Object(u.a)(e),"/emoji/").concat(t,"/").concat(n)}var I=function(e){return e?{Authorization:"Bearer ".concat(Object(c.b)())}:{}}},nZHn:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-icon",use:"icon-icon-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-icon"><path d="M115.147.062a13 13 0 0 1 4.94.945c1.55.63 2.907 1.526 4.069 2.688a13.148 13.148 0 0 1 2.761 4.069c.678 1.55 1.017 3.245 1.017 5.086v102.3c0 3.681-1.187 6.733-3.56 9.155-2.373 2.422-5.352 3.633-8.937 3.633H12.992c-3.875 0-7-1.26-9.373-3.779-2.373-2.518-3.56-5.667-3.56-9.445V12.704c0-3.39 1.163-6.345 3.488-8.863C5.872 1.32 8.972.062 12.847.062h102.3zM81.434 109.047c1.744 0 3.003-.412 3.778-1.235.775-.824 1.163-1.914 1.163-3.27 0-1.26-.388-2.325-1.163-3.197-.775-.872-2.034-1.307-3.778-1.307H72.57c.097-.194.145-.485.145-.872V27.09h9.01c1.743 0 2.954-.436 3.633-1.308.678-.872 1.017-1.938 1.017-3.197 0-1.26-.34-2.325-1.017-3.197-.679-.872-1.89-1.308-3.633-1.308H46.268c-1.743 0-2.954.436-3.632 1.308-.678.872-1.018 1.938-1.018 3.197 0 1.26.34 2.325 1.018 3.197.678.872 1.889 1.308 3.632 1.308h8.138v72.075c0 .193.024.339.073.436.048.096.072.242.072.436H46.56c-1.744 0-3.003.435-3.778 1.307-.775.872-1.163 1.938-1.163 3.197 0 1.356.388 2.446 1.163 3.27.775.823 2.034 1.235 3.778 1.235h34.875z" /></symbol>'});o.a.add(i);t.default=i},oUrx:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-404",use:"icon-404-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-404"><path d="M121.718 73.272v9.953c3.957-7.584 6.199-16.05 6.199-24.995C127.917 26.079 99.273 0 63.958 0 28.644 0 0 26.079 0 58.23c0 .403.028.806.028 1.21l22.97-25.953h13.34l-19.76 27.187h6.42V53.77l13.728-19.477v49.361H22.998V73.272H2.158c5.951 20.284 23.608 36.208 45.998 41.399-1.44 3.3-5.618 11.263-12.565 12.674-8.607 1.764 23.358.428 46.163-13.178 17.519-4.611 31.938-15.849 39.77-30.513h-13.506V73.272H85.02V59.464l22.998-25.977h13.008l-19.429 27.187h6.421v-7.433l13.727-19.402v39.433h-.027zm-78.24 2.822a10.516 10.516 0 0 1-.996-4.535V44.548c0-1.613.332-3.124.996-4.535a11.66 11.66 0 0 1 2.713-3.68c1.134-1.032 2.49-1.864 4.04-2.468 1.55-.605 3.21-.908 4.982-.908h11.292c1.77 0 3.431.303 4.981.908 1.522.604 2.85 1.41 3.986 2.418l-12.26 16.303v-2.898a1.96 1.96 0 0 0-.665-1.512c-.443-.403-.996-.604-1.66-.604-.665 0-1.218.201-1.661.604a1.96 1.96 0 0 0-.664 1.512v9.071L44.364 77.606a10.556 10.556 0 0 1-.886-1.512zm35.73-4.535c0 1.613-.332 3.124-.997 4.535a11.66 11.66 0 0 1-2.712 3.68c-1.134 1.032-2.49 1.864-4.04 2.469-1.55.604-3.21.907-4.982.907H55.185c-1.77 0-3.431-.303-4.981-.907-1.55-.605-2.906-1.437-4.041-2.47a12.49 12.49 0 0 1-1.384-1.512l13.727-18.217v6.375c0 .605.222 1.109.665 1.512.442.403.996.604 1.66.604.664 0 1.218-.201 1.66-.604a1.96 1.96 0 0 0 .665-1.512V53.87L75.97 36.838c.913.932 1.66 1.99 2.214 3.175.664 1.41.996 2.922.996 4.535v27.011h.028z" /></symbol>'});o.a.add(i);t.default=i},qkZ8:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-edit",use:"icon-edit-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-edit"><path d="M106.133 67.2a4.797 4.797 0 0 0-4.8 4.8c0 .187.014.36.027.533h-.027V118.4H9.6V26.667h50.133c2.654 0 4.8-2.147 4.8-4.8 0-2.654-2.146-4.8-4.8-4.8H9.6a9.594 9.594 0 0 0-9.6 9.6V118.4c0 5.307 4.293 9.6 9.6 9.6h91.733c5.307 0 9.6-4.293 9.6-9.6V72.533h-.026c.013-.173.026-.346.026-.533 0-2.653-2.146-4.8-4.8-4.8z" /><path d="M125.16 13.373L114.587 2.8c-3.747-3.747-9.854-3.72-13.6.027l-52.96 52.96a4.264 4.264 0 0 0-.907 1.36L33.813 88.533c-.746 1.76-.226 3.534.907 4.68 1.133 1.147 2.92 1.667 4.693.92l31.4-13.293c.507-.213.96-.52 1.36-.907l52.96-52.96c3.747-3.746 3.774-9.853.027-13.6zM66.107 72.4l-18.32 7.76 7.76-18.32L92.72 24.667l10.56 10.56L66.107 72.4zm52.226-52.227l-8.266 8.267-10.56-10.56 8.266-8.267.027-.026 10.56 10.56-.027.026z" /></symbol>'});o.a.add(i);t.default=i},qwAt:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-lock",use:"icon-lock-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-lock"><path d="M119.88 49.674h-7.987V39.52C111.893 17.738 90.45.08 63.996.08 37.543.08 16.1 17.738 16.1 39.52v10.154H8.113c-4.408 0-7.987 2.94-7.987 6.577v65.13c0 3.637 3.57 6.577 7.987 6.577H119.88c4.407 0 7.987-2.94 7.987-6.577v-65.13c-.008-3.636-3.58-6.577-7.987-6.577zm-23.953 0H32.065V39.52c0-14.524 14.301-26.295 31.931-26.295 17.63 0 31.932 11.777 31.932 26.295v10.153z" /></symbol>'});o.a.add(i);t.default=i},s7Vf:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-user",use:"icon-user-usage",viewBox:"0 0 130 130",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 130 130" id="icon-user"><path d="M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z" stroke="#979797" /></symbol>'});o.a.add(i);t.default=i},"sg+I":function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409EFF",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"180px"}},t3Un:function(e,t,n){"use strict";var a=n("vDqi"),r=n.n(a),s=n("XJYT"),o=r.a.create({timeout:6e4});o.interceptors.response.use(function(e){return e},function(e){var t;if(console.log("Error ".concat(e)),e.response){var n=e.response.data.error?e.response.data.error:e.response.data;t=e.response.headers["content-type"].includes("application/json")?"".concat(e.message," - ").concat(n):"".concat(e.message)}else t=e;return Object(s.Message)({message:t,type:"error",duration:5e3}),Promise.reject(e)}),t.a=o},vDVG:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-clipboard",use:"icon-clipboard-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-clipboard"><path d="M54.857 118.857h64V73.143H89.143c-1.902 0-3.52-.668-4.855-2.002-1.335-1.335-2.002-2.954-2.002-4.855V36.57H54.857v82.286zM73.143 16v-4.571a2.2 2.2 0 0 0-.677-1.61 2.198 2.198 0 0 0-1.609-.676H20.571c-.621 0-1.158.225-1.609.676a2.198 2.198 0 0 0-.676 1.61V16a2.2 2.2 0 0 0 .676 1.61c.451.45.988.676 1.61.676h50.285c.622 0 1.158-.226 1.61-.677.45-.45.676-.987.676-1.609zm18.286 48h21.357L91.43 42.642V64zM128 73.143v48c0 1.902-.667 3.52-2.002 4.855-1.335 1.335-2.953 2.002-4.855 2.002H52.57c-1.901 0-3.52-.667-4.854-2.002-1.335-1.335-2.003-2.953-2.003-4.855v-11.429H6.857c-1.902 0-3.52-.667-4.855-2.002C.667 106.377 0 104.759 0 102.857v-96c0-1.902.667-3.52 2.002-4.855C3.337.667 4.955 0 6.857 0h77.714c1.902 0 3.52.667 4.855 2.002 1.335 1.335 2.003 2.953 2.003 4.855V30.29c1 .622 1.856 1.29 2.569 2.003l29.147 29.147c1.335 1.335 2.478 3.145 3.429 5.43.95 2.287 1.426 4.383 1.426 6.291v-.018z" /></symbol>'});o.a.add(i);t.default=i},y7eQ:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-email",use:"icon-email-usage",viewBox:"0 0 128 96",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 96" id="icon-email"><path d="M64.125 56.975L120.188.912A12.476 12.476 0 0 0 115.5 0h-103c-1.588 0-3.113.3-4.513.838l56.138 56.137z" /><path d="M64.125 68.287l-62.3-62.3A12.42 12.42 0 0 0 0 12.5v71C0 90.4 5.6 96 12.5 96h103c6.9 0 12.5-5.6 12.5-12.5v-71a12.47 12.47 0 0 0-1.737-6.35L64.125 68.287z" /></symbol>'});o.a.add(i);t.default=i},yCkv:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),s=n("IaFt"),o=n.n(s),i=new r.a({id:"icon-chart",use:"icon-chart-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-chart"><path d="M0 54.857h36.571V128H0V54.857zM91.429 27.43H128V128H91.429V27.429zM45.714 0h36.572v128H45.714V0z" /></symbol>'});o.a.add(i);t.default=i},zT9a:function(e,t,n){"use strict";var a={name:"SvgIcon",props:{iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{iconName:function(){return"#icon-".concat(this.iconClass)},svgClass:function(){return this.className?"svg-icon "+this.className:"svg-icon"}}},r=(n("mDMp"),n("KHd+")),s=Object(r.a)(a,function(){var e=this.$createElement,t=this._self._c||e;return t("svg",this._g({class:this.svgClass,attrs:{"aria-hidden":"true"}},this.$listeners),[t("use",{attrs:{"xlink:href":this.iconName}})])},[],!1,null,"17178ffc",null);s.options.__file="index.vue";t.a=s.exports},zx4i:function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409EFF",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"180px"}}},[["Vtdi","runtime","chunk-elementUI","chunk-libs"]]]);
+//# sourceMappingURL=app.19b7049e.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/app.19b7049e.js.map b/priv/static/adminfe/static/js/app.19b7049e.js.map
new file mode 100644
index 000000000..90c7816c0
--- /dev/null
+++ b/priv/static/adminfe/static/js/app.19b7049e.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/icons/svg/pdf.svg","webpack:///./src/icons/svg/people.svg","webpack:///./src/icons/svg/eye-open.svg","webpack:///./src/components/element-ui/Hamburger/index.vue?8f92","webpack:///./src/icons/svg/exit-fullscreen.svg","webpack:///./src/icons/svg/nested.svg","webpack:///./src/icons/svg/theme.svg","webpack:///./src/icons/svg/form.svg","webpack:///./src/icons/svg/dashboard.svg","webpack:///./src/api/utils.js","webpack:///./src/icons/svg/shopping.svg","webpack:///./src/icons/svg/bug.svg","webpack:///./src/icons/svg/international.svg","webpack:///./src/icons/svg/qq.svg","webpack:///./src/icons/svg/link.svg","webpack:///./src/components/element-ui/ScrollPane/index.vue?8407","webpack:///./src/views/layout/components/TagsView.vue?6ab0","webpack:///./src/icons/svg/guide 2.svg","webpack:///./src/icons/svg/language.svg","webpack:///./src/icons/svg/password.svg","webpack:///./src/icons/svg/peoples.svg","webpack:///./src/icons/svg/money.svg","webpack:///./src/icons/svg/example.svg","webpack:///./src/icons/svg/list.svg","webpack:///./src/icons/svg/settings.svg","webpack:///./src/icons/svg/message.svg","webpack:///./src/icons/svg/table.svg","webpack:///./src/views/layout/Layout.vue?d1f6","webpack:///./src/icons/svg/eye.svg","webpack:///./src/icons/svg sync nonrecursive \\.svg$","webpack:///./src/icons/svg/component.svg","webpack:///./src/App.vue?9edb","webpack:///src/App.vue","webpack:///./src/App.vue","webpack:///./src/App.vue?1e50","webpack:///./src/store/modules/app.js","webpack:///./src/store/modules/errorLog.js","webpack:///./src/api/moderationLog.js","webpack:///./src/store/modules/moderationLog.js","webpack:///./src/api/invites.js","webpack:///./src/store/modules/invites.js","webpack:///./src/api/peers.js","webpack:///./src/store/modules/peers.js","webpack:///./src/components/element-ui/Hamburger/index.vue?1751","webpack:///src/components/element-ui/Hamburger/index.vue","webpack:///./src/components/element-ui/Hamburger/index.vue","webpack:///./src/components/element-ui/Hamburger/index.vue?78c1","webpack:///./src/views/layout/components/Navbar.vue?138b","webpack:///src/views/layout/components/Navbar.vue","webpack:///./src/views/layout/components/Navbar.vue","webpack:///./src/views/layout/components/Navbar.vue?2900","webpack:///./src/utils/i18n.js","webpack:///./src/utils/index.js","webpack:///src/views/layout/components/Sidebar/Item.vue","webpack:///./src/views/layout/components/Sidebar/Item.vue?425b","webpack:///./src/views/layout/components/Sidebar/Item.vue","webpack:///./src/views/layout/components/Sidebar/Link.vue?a99f","webpack:///src/views/layout/components/Sidebar/Link.vue","webpack:///./src/views/layout/components/Sidebar/Link.vue","webpack:///./src/views/layout/components/Sidebar/Link.vue?d88c","webpack:///./src/views/layout/components/Sidebar/SidebarItem.vue?f0b2","webpack:///src/views/layout/components/Sidebar/SidebarItem.vue","webpack:///./src/views/layout/components/Sidebar/FixiOSBug.js","webpack:///./src/views/layout/components/Sidebar/SidebarItem.vue","webpack:///./src/views/layout/components/Sidebar/SidebarItem.vue?9711","webpack:///./src/views/layout/components/Sidebar/index.vue?3b50","webpack:///src/views/layout/components/Sidebar/index.vue","webpack:///./src/views/layout/components/Sidebar/index.vue","webpack:///./src/views/layout/components/Sidebar/index.vue?29d8","webpack:///./src/components/element-ui/ScrollPane/index.vue?a39e","webpack:///src/components/element-ui/ScrollPane/index.vue","webpack:///./src/components/element-ui/ScrollPane/index.vue","webpack:///./src/components/element-ui/ScrollPane/index.vue?7344","webpack:///./src/views/layout/components/TagsView.vue?f016","webpack:///src/views/layout/components/TagsView.vue","webpack:///./src/views/layout/components/TagsView.vue","webpack:///./src/views/layout/components/TagsView.vue?d863","webpack:///./src/views/layout/components/AppMain.vue?4460","webpack:///src/views/layout/components/AppMain.vue","webpack:///./src/views/layout/components/AppMain.vue","webpack:///./src/views/layout/components/AppMain.vue?367b","webpack:///./src/views/layout/mixin/ResizeHandler.js","webpack:///./src/views/layout/Layout.vue?de6d","webpack:///src/views/layout/Layout.vue","webpack:///./src/views/layout/Layout.vue","webpack:///./src/views/layout/Layout.vue?9516","webpack:///./src/router/index.js","webpack:///./src/store/modules/permission.js","webpack:///./src/api/relays.js","webpack:///./src/store/modules/relays.js","webpack:///./src/api/reports.js","webpack:///./src/store/modules/reports.js","webpack:///./src/api/settings.js","webpack:///./src/store/modules/normalizers.js","webpack:///./src/store/modules/settings.js","webpack:///./src/api/status.js","webpack:///./src/store/modules/status.js","webpack:///./src/store/modules/tagsView.js","webpack:///./src/api/login.js","webpack:///./src/api/nodeInfo.js","webpack:///./src/store/modules/user.js","webpack:///./src/api/users.js","webpack:///./src/store/modules/userProfile.js","webpack:///./src/store/modules/users.js","webpack:///./src/store/getters.js","webpack:///./src/store/modules/emojiPacks.js","webpack:///./src/store/index.js","webpack:///./src/icons/index.js","webpack:///./src/errorLog.js","webpack:///./src/permission.js","webpack:///./src/filters/index.js","webpack:///./src/main.js","webpack:///./src/utils/auth.js","webpack:///./src/views/layout/components/TagsView.vue?da45","webpack:///./src/views/layout/components/AppMain.vue?2c3a","webpack:///./src/icons/svg/excel.svg","webpack:///./src/icons/svg/guide.svg","webpack:///./src/icons/svg/star.svg","webpack:///./src/views/layout/components/Navbar.vue?f5ee","webpack:///./src/icons/svg/wechat.svg","webpack:///./src/icons/svg/size.svg","webpack:///./src/icons/svg/zip.svg","webpack:///./src/icons/svg/tab.svg","webpack:///./src/icons/svg/search.svg","webpack:///./src/icons/svg/tree.svg","webpack:///./src/icons/svg/documentation.svg","webpack:///./src/icons/svg/drag.svg","webpack:///./src/components/element-ui/SvgIcon/index.vue?928c","webpack:///./src/icons/svg/fullscreen.svg","webpack:///./src/lang/index.js","webpack:///./src/lang/en.js","webpack:///./src/lang/zh.js","webpack:///./src/lang/es.js","webpack:///./src/lang/oc.js","webpack:///./src/api/emojiPacks.js","webpack:///./src/icons/svg/icon.svg","webpack:///./src/icons/svg/404.svg","webpack:///./src/icons/svg/edit.svg","webpack:///./src/icons/svg/lock.svg","webpack:///./src/icons/svg/user.svg","webpack:///./src/styles/index.scss","webpack:///./src/utils/request.js","webpack:///./src/icons/svg/clipboard.svg","webpack:///./src/icons/svg/email.svg","webpack:///./src/icons/svg/chart.svg","webpack:///./src/components/element-ui/SvgIcon/index.vue?8767","webpack:///./src/components/element-ui/SvgIcon/index.vue?c01f","webpack:///src/components/element-ui/SvgIcon/index.vue","webpack:///./src/components/element-ui/SvgIcon/index.vue","webpack:///./src/styles/variables.scss"],"names":["__webpack_require__","r","__webpack_exports__","svg_baker_runtime_browser_symbol__WEBPACK_IMPORTED_MODULE_0__","svg_baker_runtime_browser_symbol__WEBPACK_IMPORTED_MODULE_0___default","n","svg_sprite_loader_runtime_browser_sprite_build__WEBPACK_IMPORTED_MODULE_1__","svg_sprite_loader_runtime_browser_sprite_build__WEBPACK_IMPORTED_MODULE_1___default","symbol","a","id","use","viewBox","content","add","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_7_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_7_2_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_69c6c5c4_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","d","baseName","instanceName","arguments","length","undefined","match","startsWith","isLocalhost","concat","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_591d6778_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_TagsView_vue_vue_type_style_index_0_id_e1cdb714_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Layout_vue_vue_type_style_index_0_id_767d264f_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","map","./404.svg","./bug.svg","./chart.svg","./clipboard.svg","./component.svg","./dashboard.svg","./documentation.svg","./drag.svg","./edit.svg","./email.svg","./example.svg","./excel.svg","./exit-fullscreen.svg","./eye-open.svg","./eye.svg","./form.svg","./fullscreen.svg","./guide 2.svg","./guide.svg","./icon.svg","./international.svg","./language.svg","./link.svg","./list.svg","./lock.svg","./message.svg","./money.svg","./nested.svg","./password.svg","./pdf.svg","./people.svg","./peoples.svg","./qq.svg","./search.svg","./settings.svg","./shopping.svg","./size.svg","./star.svg","./tab.svg","./table.svg","./theme.svg","./tree.svg","./user.svg","./wechat.svg","./zip.svg","webpackContext","req","webpackContextResolve","o","e","Error","code","keys","Object","resolve","module","exports","src_Appvue_type_script_lang_js_","name","component","componentNormalizer","_h","this","$createElement","_c","_self","attrs","options","__file","App","app","state","sidebar","opened","Cookies","get","withoutAnimation","device","language","size","mutations","TOGGLE_SIDEBAR","set","CLOSE_SIDEBAR","TOGGLE_DEVICE","SET_LANGUAGE","SET_SIZE","actions","toggleSideBar","_ref","commit","closeSideBar","_ref2","_ref3","toggleDevice","_ref4","setLanguage","_ref5","setSize","_ref6","errorLog","logs","ADD_ERROR_LOG","log","push","addErrorLog","fetchLog","_x","_x2","_x3","_fetchLog","apply","_callee","authHost","token","params","page","normalizedParams","_args","regenerator_default","wrap","_context","prev","next","URLSearchParams","_","omitBy","objectSpread_default","isUndefined","toString","request","baseURL","url","method","headers","authHeaders","abrupt","sent","stop","fetchAdmins","_x4","_x5","_fetchAdmins","_callee2","_context2","fetchModerators","_x6","_x7","_fetchModerators","_callee3","_context3","Authorization","getToken","moderationLog","fetchedLog","logItemsCount","admins","moderators","logLoading","adminsLoading","SET_LOG_LOADING","status","SET_ADMINS_LOADING","SET_MODERATION_LOG","SET_MODERATION_LOG_COUNT","count","SET_ADMINS","SET_MODERATORS","FetchModerationLog","_FetchModerationLog","asyncToGenerator_default","mark","getters","opts","response","data","items","total","FetchAdmins","_FetchAdmins","adminsResponse","moderatorsResponse","generateInviteToken","_generateInviteToken","max_use","expires_at","inviteViaEmail","_x8","_inviteViaEmail","email","listInviteTokens","_x9","_x10","_listInviteTokens","revokeToken","_x11","_x12","_x13","_revokeToken","_callee4","tokenToRevoke","_context4","invites","inviteTokens","loading","newToken","SET_LOADING","SET_NEW_TOKEN","SET_TOKENS","tokens","FetchInviteTokens","_FetchInviteTokens","reverse","GenerateInviteToken","_GenerateInviteToken","dispatch","maxUse","expiresAt","t0","InviteUserViaEmail","_InviteUserViaEmail","Message","message","i18n","t","type","duration","RemoveNewToken","_ref7","RevokeToken","_RevokeToken","_ref8","fetchPeers","_fetchPeers","peers","fetchedPeers","SET_PEERS","FetchPeers","_FetchPeers","element_ui_Hamburgervue_type_script_lang_js_","props","isActive","Boolean","default","toggleClick","Function","Hamburger_component","staticStyle","padding","on","click","staticClass","class","is-active","xmlns","width","height","components_Navbarvue_type_script_lang_js_","components","Hamburger","computed","vuex_esm","methods","$store","logout","then","location","reload","Navbar_component","_vm","toggle-click","_v","trigger","src","avatar","slot","display","_s","$t","Navbar","generateTitle","title","$te","parseTime","time","cFormat","date","format","typeof_default","test","parseInt","Date","formatObj","y","getFullYear","m","getMonth","getDate","h","getHours","i","getMinutes","s","getSeconds","getDay","replace","result","key","value","formatTime","option","diff","now","Math","ceil","isExternal","path","Sidebar_Itemvue_type_script_lang_js_","functional","icon","String","render","context","_context$props","vnodes","icon-class","Item_component","Item_render","Item_staticRenderFns","Item","Sidebar_Linkvue_type_script_lang_js_","to","required","linkProps","is","href","target","rel","Link_component","_b","_t","Sidebar_SidebarItemvue_type_script_lang_js_","AppLink","mixins","mounted","fixBugIniOS","_this","$subMenu","$refs","subMenu","handleMouseleave","item","isNest","basePath","onlyOneChild","hasOneShowingChild","children","parent","showingChildren","filter","hidden","noShowingChildren","resolvePath","routePath","isExternalLink","path_browserify_default","SidebarItem_component","alwaysShow","ref","index","meta","_e","_l","child","is-nest","base-path","submenu-title-noDropdown","SidebarItem","components_Sidebarvue_type_script_lang_js_","variables","variables_default","isCollapse","Sidebar_component","wrap-class","default-active","$route","collapse","background-color","menuBg","text-color","menuText","active-text-color","menuActiveText","mode","route","Sidebar","element_ui_ScrollPanevue_type_script_lang_js_","left","handleScroll","eventDelta","wheelDelta","deltaY","$scrollWrapper","scrollContainer","scrollLeft","moveToTarget","currentTag","$containerWidth","$el","offsetWidth","tagList","$parent","tag","firstTag","lastTag","scrollWidth","currentIndex","findIndex","prevTag","nextTag","afterNextTagOffsetLeft","offsetLeft","beforePrevTagOffsetLeft","ScrollPane_component","vertical","nativeOn","wheel","$event","preventDefault","components_TagsViewvue_type_script_lang_js_","ScrollPane","visible","top","selectedTag","affixTags","visitedViews","tagsView","routers","permission","watch","addTags","moveToCurrentTag","document","body","addEventListener","closeMenu","removeEventListener","initTags","filterAffixTags","routes","tags","forEach","affix","tempTags","toConsumableArray_default","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","done","err","return","_this2","$nextTick","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","scrollPane","fullPath","refreshSelectedTag","view","_this3","$router","closeSelectedTag","_this4","toLastView","closeOthersTags","_this5","closeAllTags","_this6","some","latestView","slice","openMenu","getBoundingClientRect","maxLeft","clientX","clientY","TagsView_component","refInFor","query","mouseup","button","contextmenu","stopPropagation","directives","rawName","expression","style","TagsView","components_AppMainvue_type_script_lang_js_","cachedViews","AppMain_component","include","AppMain","layout_Layoutvue_type_script_lang_js_","store","beforeMount","window","resizeHandler","isMobile","classObj","hideSidebar","openSidebar","mobile","handleClickOutside","Layout_component","Layout","Vue","Router","disabledFeatures","process","settingsDisabled","includes","settings","Promise","all","bind","noCache","statusesDisabled","statuses","reportsDisabled","reports","invitesDisabled","moderationLogDisabled","constantRouterMap","redirect","router","scrollBehavior","asyncRouterMap","addRouters","SET_ROUTERS","GenerateRoutes","accessedRouters","roles","filterAsyncRouter","res","tmp","role","hasPermission","fetchRelays","_fetchRelays","addRelay","_addRelay","relay","relay_url","deleteRelay","_deleteRelay","relays","fetchedRelays","SET_RELAYS","ADD_RELAY","DELETE_RELAY","fetchedRelay","FetchRelays","_FetchRelays","AddRelay","_AddRelay","finish","DeleteRelay","_DeleteRelay","changeState","_changeState","fetchReports","_fetchReports","pageSize","fetchGroupedReports","_fetchGroupedReports","reportID","_callee5","noteID","_context5","fetchedReports","fetchedGroupedReports","totalReportsCount","currentPage","groupReports","stateFilter","SET_LAST_REPORT_ID","idOfLastReport","SET_PAGE","SET_REPORTS","SET_GROUPED_REPORTS","SET_REPORTS_COUNT","SET_REPORTS_FILTER","SET_REPORTS_GROUPING","ChangeReportState","_ChangeReportState","reportsData","updatedReports","updatedGroupedReports","report","group","updatedReportsIds","ClearFetchedReports","FetchReports","_FetchReports","FetchGroupedReports","_FetchGroupedReports","SetFilter","_ref9","ToggleReportsGrouping","_ref10","CreateReportNote","_ref11","_ref12","rootState","_x14","_createNote","createNote","optimisticNote","user","display_name","acct","created_at","getTime","notes","DeleteReportNote","_ref13","_ref14","_x15","_x16","_x17","_x18","_deleteNote","deleteNote","note","fetchSettings","_fetchSettings","updateSettings","_updateSettings","configs","uploadMedia","_uploadMedia","file","formData","FormData","append","nonAtomsTuples","nonAtomsObjects","objects","objectParents","groups","cors_plug","esshd","logger","mime","phoenix","pleroma","pleroma_job_queue","quack","tesla","ueberauth","web_push_encryption","filterIgnored","ignored","enabled","reduce","acc","objectWithoutProperties_default","_toPropertyKey","parseNonAtomTuples","tuples","tuple","parseNonAtomObject","object","parseObject","substr","wrapConfig","config","getGroup","settingName","ip","split","Array","isArray","wrapNonAtomsObjects","wrapNestedObjects","wrapObjects","wrapNonAtomsTuples","wrapNestedTuples","setting","defineProperty_default","find","activitypub","adapter","admin_token","assets","mascots","auth","auto_linker","backends","chat","console","colors","credentials","database","ecto_repos","email_notifications","digest","emoji","ex_syslogger","expose","fetch_initial_posts","format_encoders","frontend_configurations","pleroma_fe","masto_fe","gopher","hackney_pools","federation","media","upload","handler","http","http_security","instance","poll_limits","level","ldap","markup","max_age","media_proxy","proxy_opts","mrf_hellthread","mrf_keyword","mrf_mention","mrf_normalize_markup","mrf_rejectnonpublic","mrf_simple","mrf_subchain","match_actor","mrf_user_allowlist","mrf_vocabulary","oauth2","password_authenticator","Pleroma.Captcha","Pleroma.Captcha.Kocaptcha","Pleroma.Emails.Mailer","Pleroma.Emails.UserEmail","styling","Pleroma.Repo","Pleroma.ScheduledActivity","Pleroma.Upload","Pleroma.Upload.Filter.AnonymizeFilename","Pleroma.Upload.Filter.Mogrify","Pleroma.Uploaders.Local","Pleroma.Uploaders.MDII","Pleroma.Uploaders.S3","Pleroma.User","Pleroma.Web.Auth.Authenticator","Pleroma.Web.Endpoint","render_errors","pubsub","Pleroma.Web.Federator.RetryQueue","Pleroma.Web.Metadata","port","priv_dir","queues","rate_limit","rich_media","suggestions","types","Ueberauth","Ueberauth.Strategy.Facebook.OAuth","Ueberauth.Strategy.Google.OAuth","Ueberauth.Strategy.Microsoft.OAuth","Ueberauth.Strategy.Twitter.OAuth","uri_schemes","vapid_details","webhook_url","ignoredIfNotEnabled","REWRITE_CONFIG","tab","SET_SETTINGS","newSettings","valueIsArrayOfNonObjects","valueHasTuples","parseTuples","accum","join","UPDATE_SETTINGS","configName","FetchSettings","_FetchSettings","RewriteConfig","SubmitChanges","_SubmitChanges","filteredSettings","UpdateSettings","UploadMedia","_UploadMedia","inputName","childName","updatedValue","changeStatusScope","_changeStatusScope","sensitive","visibility","deleteStatus","_deleteStatus","fetchStatusesByInstance","_fetchStatusesByInstance","_args3","fetchedStatuses","SET_STATUSES","PUSH_STATUSES","ChangeStatusScope","_ChangeStatusScope","statusId","isSensitive","reportCurrentPage","userId","godmode","DeleteStatus","_DeleteStatus","FetchStatusesByInstance","_FetchStatusesByInstance","FetchStatusesPageByInstance","_FetchStatusesPageByInstance","ADD_VISITED_VIEW","v","assign","ADD_CACHED_VIEW","DEL_VISITED_VIEW","entries","_step$value","slicedToArray_default","splice","DEL_CACHED_VIEW","indexOf","DEL_OTHERS_VISITED_VIEWS","DEL_OTHERS_CACHED_VIEWS","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","DEL_ALL_VISITED_VIEWS","DEL_ALL_CACHED_VIEWS","UPDATE_VISITED_VIEW","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","addView","addVisitedView","addCachedView","delView","delVisitedView","delCachedView","delOthersViews","delOthersVisitedViews","delOthersCachedViews","delAllViews","delAllVisitedViews","delAllCachedViews","updateVisitedView","loginByUsername","_loginByUsername","username","password","appsRequest","client_name","random","redirect_uris","origin","scopes","client_id","client_secret","grant_type","getUserInfo","getNodeInfo","_getNodeInfo","getAuthHost","introduction","articlePlatform","nodeInfo","SET_CODE","SET_TOKEN","SET_INTRODUCTION","SET_SETTING","SET_STATUS","SET_NAME","SET_AVATAR","SET_ROLES","SET_ID","SET_AUTH_HOST","SET_NODE_INFO","LoginByUsername","reject","access_token","setToken","setAuthHost","catch","error","GetNodeInfo","_GetNodeInfo","GetUserInfo","is_admin","LogOut","removeToken","removeAuthHost","FedLogOut","LoginByPleromaFE","_LoginByPleromaFE","host","activateUsers","_activateUsers","nicknames","addRight","_addRight","right","createNewAccount","_createNewAccount","nickname","users","deactivateUsers","_deactivateUsers","deleteRight","_x19","_deleteRight","deleteUsers","_x20","_x21","_x22","_deleteUsers","_callee6","_context6","fetchUser","_x23","_x24","_x25","_fetchUser","_callee7","_context7","fetchUsers","_x26","_x27","_x28","_fetchUsers","_callee8","filters","_args8","_context8","getPasswordResetToken","_x29","_x30","_x31","_getPasswordResetToken","_callee9","_context9","requirePasswordReset","_x32","_x33","_x34","_requirePasswordReset","_callee10","_context10","searchUsers","_x35","_x36","_x37","_x38","_searchUsers","_callee11","_args11","_context11","tagUser","_x39","_x40","_x41","_x42","_tagUser","_callee12","_context12","untagUser","_x43","_x44","_x45","_x46","_untagUser","_callee13","_context13","fetchUserStatuses","_x47","_x48","_x49","_x50","_fetchUserStatuses","_callee14","_context14","confirmUserEmail","_x51","_x52","_x53","_confirmUserEmail","_callee15","_context15","resendConfirmationEmail","_x54","_x55","_x56","_resendConfirmationEmail","_callee16","_context16","userProfile","statusesLoading","userProfileLoading","SET_STATUSES_LOADING","SET_USER","SET_USER_PROFILE_LOADING","FetchUserProfile","_FetchUserProfile","userResponse","FetchUserStatuses","_FetchUserStatuses","fetchedUsers","searchQuery","totalUsersCount","local","external","active","deactivated","passwordResetToken","link","SET_USERS","SWAP_USERS","usersWithoutSwapped","u","sort","b","localeCompare","SET_COUNT","SET_PAGE_SIZE","SET_PASSWORD_RESET_TOKEN","SET_SEARCH_QUERY","SET_USERS_FILTERS","SET_USER_PROFILE","ActivateUsers","_ActivateUsers","updatedUsers","usersNicknames","AddRight","_AddRight","AddTag","_AddTag","ClearFilters","_ClearFilters","CreateNewAccount","_CreateNewAccount","DeactivateUsers","_DeactivateUsers","ConfirmUsersEmail","_ConfirmUsersEmail","confirmation_pending","ResendConfirmationEmail","_ResendConfirmationEmail","DeleteRight","_DeleteRight","DeleteUsers","_DeleteUsers","_ref15","deletedUsersIds","deletedUser","FetchUsers","_FetchUsers","_ref16","_ref17","loadUsers","GetPasswordResetToken","_GetPasswordResetToken","_ref18","_ref19","RemovePasswordToken","_ref20","RemoveTag","_RemoveTag","_ref21","_ref22","userTag","RequirePasswordReset","_RequirePasswordReset","_ref23","SearchUsers","_SearchUsers","_ref24","_ref25","SuccessMessage","success","ToggleUsersFilter","_ToggleUsersFilter","_ref26","defaultFilters","currentFilters","_ref27","page_size","permission_routers","errorLogs","activityPub","adminToken","autoLinker","captcha","consoleLogger","corsPlugCredentials","corsPlugExpose","corsPlugHeaders","corsPlugMaxAge","corsPlugMethods","ectoRepos","emailNotifications","endpoint","exsyslogger","facebook","fetchInitialPosts","formatEncoders","frontend","google","hackneyPools","httpSecurity","instances","kocaptcha","loggerBackends","mailer","mediaProxy","metadata","microsoft","mimeTypesConfig","mrfHellthread","mrfKeyword","mrfMention","mrfNormalizeMarkup","mrfRejectnonpublic","mrfSimple","mrfSubchain","mrfUserAllowlist","mrfVocabulary","passwordAuthenticator","pleromaAuthenticator","pleromaRepo","pleromaUser","privDir","rateLimiters","retryQueue","richMedia","scheduledActivity","teslaAdapter","twitter","uploadAnonymizeFilename","uploadFilterMogrify","uploadersLocal","uploadMDII","uploadS3","uriSchemes","userEmail","vapidDetails","webhookUrl","packs","localPacks","remotePacks","SET_LOCAL_PACKS","SET_REMOTE_PACKS","UPDATE_LOCAL_PACK_VAL","UPDATE_LOCAL_PACK_PACK","pack","UPDATE_LOCAL_PACK_FILES","files","CreatePack","_CreatePack","createPack","DeletePack","_DeletePack","deletePack","DownloadFrom","_DownloadFrom","instanceAddress","packName","as","downloadFrom","ImportFromFS","_ImportFromFS","importFromFS","ReloadEmoji","_ReloadEmoji","reloadEmoji","SavePackMetadata","_SavePackMetadata","savePackMetadata","SetLocalEmojiPacks","_SetLocalEmojiPacks","listPacks","SetRemoteEmojiPacks","_SetRemoteEmojiPacks","remoteInstance","listRemotePacks","UpdateAndSavePackFile","_UpdateAndSavePackFile","args","updatePackFile","UpdateLocalPackVal","_UpdateLocalPackVal","Vuex","Store","modules","emojiPacks","SvgIcon","requireContext","requireAll","require","errorHandler","vm","info","nextTick","NProgress","configure","showSpinner","whiteList","pluralize","label","timeAgo","between","Number","numberFormatter","num","digits","si","toFixed","toThousandFilter","beforeEach","from","start","addRoutes","permissionRoles","noGoBack","afterEach","Element","productionTip","el","js_cookie__WEBPACK_IMPORTED_MODULE_0__","js_cookie__WEBPACK_IMPORTED_MODULE_0___default","TokenKey","AuthHostKey","remove","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_TagsView_vue_vue_type_style_index_1_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_7_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_7_2_node_modules_vue_loader_lib_index_js_vue_loader_options_AppMain_vue_vue_type_style_index_0_id_f852c4f2_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Navbar_vue_vue_type_style_index_0_id_19937682_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_7_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_7_2_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_17178ffc_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","VueI18n","messages","en","dashboard","documentation","guide","pagePermission","directivePermission","icons","componentIndex","markdown","jsonEditor","dndList","splitPane","avatarUpload","dropzone","sticky","countTo","componentMixin","backToTop","dragDialog","dragSelect","dragKanban","charts","keyboardChart","lineChart","mixChart","example","nested","menu1","menu1-1","menu1-2","menu1-2-1","menu1-2-2","menu1-3","menu2","Table","dynamicTable","dragTable","inlineEditTable","complexTable","treeTable","customTreeTable","form","createArticle","editArticle","articleList","errorPages","page401","page404","excel","exportExcel","selectExcel","uploadExcel","zip","pdf","exportZip","theme","clipboardDemo","externalLink","emoji-packs","navbar","logOut","github","login","logIn","logInViaPleromaFE","omitHostname","errorMessage","any","thirdparty","pleromaFELoginFailed","pleromaFELoginSucceed","switchRoles","tips","description","dropzoneTips","stickyTips","backToTopTips1","backToTopTips2","imageUploadTips","table","dynamicTips1","dynamicTips2","dragTips1","dragTips2","importance","remark","search","export","reviewer","author","readings","edit","publish","draft","delete","cancel","confirm","selectedExport","placeholder","change","refresh","close","closeOthers","closeAll","localUsersOnly","unconfirmed","activate","deactivate","admin","moderator","moderation","revokeAdmin","grantAdmin","revokeModerator","grantModerator","activateAccount","activateAccounts","deactivateAccount","deactivateAccounts","deleteAccount","deleteAccounts","forceNsfw","stripMedia","forceUnlisted","sandbox","disableRemoteSubscription","disableRemoteSubscriptionForMultiple","disableAnySubscription","disableAnySubscriptionForMultiple","selectUsers","moderateUsers","createAccount","grantRightConfirmation","revokeRightConfirmation","activateMultipleUsersConfirmation","deactivateMultipleUsersConfirmation","deleteMultipleUsersConfirmation","addTagForMultipleUsersConfirmation","removeTagFromMultipleUsersConfirmation","requirePasswordResetConfirmation","confirmAccountsConfirmation","resendEmailConfirmation","mailerMustBeEnabled","ok","completed","canceled","create","submitFormError","emptyEmailError","invalidEmailError","emptyPasswordError","emptyNicknameError","invalidNicknameError","passwordResetTokenCreated","accountCreated","unconfirmedEmail","confirmAccount","confirmAccounts","resendConfirmation","instanceFilter","loadMore","noInstances","localUppercase","recentStatuses","showPrivateStatuses","activeUppercase","noStatuses","usersFilter","inputPlaceholder","byUserType","byStatus","groupedReports","reply","showNotes","newNote","submit","confirmMsg","deleteCompleted","deleteCanceled","noNotes","changeAllReports","changeScope","moderateUser","reopen","resolveAll","reopenAll","addSensitive","removeSensitive","public","private","unlisted","reportOn","reportsOn","account","actor","actors","reportedStatus","statusDeleted","leaveNote","postNote","reportsFilter","open","closed","resolved","mrf","jobQueue","webPush","other","follow","followRelay","instanceUrl","importPacks","importEmojiTooltip","refreshLocalPacks","createLocalPack","remoteInstanceAddress","refreshRemote","sharePack","homepage","license","fallbackSrc","fallbackSrcSha","addNewEmoji","shortcode","uploadFile","customFilename","optional","customFilenameDesc","clickToUpload","showPackContents","manageEmoji","update","selectLocalPack","localPack","specifyShortcode","specifyFilename","leaveEmptyShortcode","leaveEmptyFilename","copy","copyToLocalPack","thisWillDownload","downloadToCurrentInstance","canBeChanged","willBeUsable","downloadPack","downloadSharedPack","downloadAsOptional","downloadPackArchive","successfullyDownloaded","successfullyImported","nowNewPacksToImport","successfullyUpdated","metadatLowerCase","createInviteToken","pickDate","tokenCreated","uses","used","revoke","inviteUserViaEmail","sendRegistration","emailSent","inviteViaEmailAlert","elementEnLocale","zh","thirdpartyTips","elementZhLocale","es","elementEsLocale","oc","locale","_deletePack","_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default","_reloadEmoji","_importFromFS","_createPack","_listPacks","_listRemotePacks","instance_address","_downloadFrom","pack_name","trim","timeout","_savePackMetadata","new_data","fileUpdateFormData","each","k","_updatePackFile","fileName","oldName","newName","newFilename","action","new_shortcode","new_filename","addressOfEmojiInPack","subMenuActiveText","menuHover","subMenuBg","subMenuHover","sideBarWidth","axios__WEBPACK_IMPORTED_MODULE_0__","axios__WEBPACK_IMPORTED_MODULE_0___default","element_ui__WEBPACK_IMPORTED_MODULE_1__","service","axios","interceptors","edata","element_ui_SvgIconvue_type_script_lang_js_","iconClass","className","iconName","svgClass","_g","aria-hidden","$listeners","xlink:href"],"mappings":"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","file":"static/js/app.19b7049e.js","sourcesContent":["import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-pdf\",\n \"use\": \"icon-pdf-usage\",\n \"viewBox\": \"0 0 1024 1024\",\n \"content\": \"<symbol viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"icon-pdf\\\"><path d=\\\"M869.073 277.307H657.111V65.344l211.962 211.963zm-238.232 26.27V65.344l-476.498-.054v416.957h714.73v-178.67H630.841zm-335.836 360.57c-5.07-3.064-10.944-5.133-17.61-6.201-6.67-1.064-13.603-1.6-20.81-1.6h-48.821v85.641h48.822c7.206 0 14.14-.532 20.81-1.6 6.665-1.065 12.54-3.133 17.609-6.202 5.064-3.063 9.134-7.406 12.208-13.007 3.065-5.602 4.6-12.937 4.6-22.011 0-9.07-1.535-16.408-4.6-22.01-3.074-5.603-7.144-9.94-12.208-13.01zM35.82 541.805v416.904h952.358V541.805H35.821zm331.421 191.179c-3.6 11.071-9.343 20.879-17.209 29.413-7.874 8.542-18.078 15.408-30.617 20.61-12.544 5.206-27.747 7.807-45.621 7.807h-66.036v102.45h-62.831V607.517h128.867c17.874 0 33.077 2.6 45.62 7.802 12.541 5.207 22.745 12.076 30.618 20.615 7.866 8.538 13.604 18.277 17.21 29.212 3.6 10.943 5.401 22.278 5.401 34.018 0 11.477-1.8 22.752-5.402 33.819zM644.9 806.417c-5.343 17.61-13.408 32.818-24.212 45.627-10.807 12.803-24.283 22.879-40.423 30.213-16.146 7.343-35.155 11.007-57.03 11.007h-123.26V607.518h123.26c18.41 0 35.552 2.941 51.428 8.808 15.873 5.869 29.618 14.671 41.22 26.412 11.608 11.744 20.674 26.411 27.217 44.02 6.535 17.61 9.803 38.288 9.803 62.035 0 20.81-2.67 40.02-8.003 57.624zm245.362-146.07h-138.07v66.03h119.66v48.829h-119.66v118.058h-62.83V607.518h200.9v52.829h-.001zm-318.2 25.611c-6.402-8.266-14.877-14.604-25.412-19.01-10.544-4.402-23.551-6.602-39.019-6.602h-44.825v180.088h56.029c9.07 0 17.872-1.463 26.415-4.401 8.535-2.932 16.14-7.802 22.812-14.609 6.665-6.8 12.007-15.667 16.007-26.61 4.003-10.94 6.003-24.275 6.003-40.021 0-14.408-1.4-27.416-4.202-39.019-2.8-11.607-7.406-21.542-13.808-29.816zm0 0\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-people\",\n \"use\": \"icon-people-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-people\\\"><path d=\\\"M104.185 95.254c8.161 7.574 13.145 17.441 13.145 28.28 0 1.508-.098 2.998-.285 4.466h-10.784c.238-1.465.403-2.948.403-4.465 0-8.983-4.36-17.115-11.419-23.216C86 104.66 75.355 107.162 64 107.162c-11.344 0-21.98-2.495-31.22-6.83-7.064 6.099-11.444 14.218-11.444 23.203 0 1.517.165 3 .403 4.465H10.955a35.444 35.444 0 0 1-.285-4.465c0-10.838 4.974-20.713 13.127-28.291C9.294 85.42.003 70.417.003 53.58.003 23.99 28.656.001 64 .001s63.997 23.988 63.997 53.58c0 16.842-9.299 31.85-23.812 41.673zM64 36.867c-29.454 0-53.33-10.077-53.33 15.342 0 25.418 23.876 46.023 53.33 46.023 29.454 0 53.33-20.605 53.33-46.023 0-25.419-23.876-15.342-53.33-15.342zm24.888 25.644c-3.927 0-7.111-2.665-7.111-5.953 0-3.288 3.184-5.954 7.11-5.954 3.928 0 7.111 2.666 7.111 5.954s-3.183 5.953-7.11 5.953zm-3.556 16.372c0 4.11-9.55 7.442-21.332 7.442-11.781 0-21.332-3.332-21.332-7.442 0-1.06.656-2.064 1.8-2.976 3.295 2.626 10.79 4.465 19.532 4.465 8.743 0 16.237-1.84 19.531-4.465 1.145.912 1.801 1.916 1.801 2.976zm-46.22-16.372c-3.927 0-7.11-2.665-7.11-5.953 0-3.288 3.183-5.954 7.11-5.954 3.927 0 7.111 2.666 7.111 5.954s-3.184 5.953-7.11 5.953z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-eye-open\",\n \"use\": \"icon-eye-open-usage\",\n \"viewBox\": \"0 0 1024 1024\",\n \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"icon-eye-open\\\"><defs><style></style></defs><path d=\\\"M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=69c6c5c4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=69c6c5c4&scoped=true&lang=css&\"","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-exit-fullscreen\",\n \"use\": \"icon-exit-fullscreen-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-exit-fullscreen\\\"><path d=\\\"M49.217 41.329l-.136-35.24c-.06-2.715-2.302-4.345-5.022-4.405h-3.65c-2.712-.06-4.866 2.303-4.806 5.016l.152 19.164-24.151-23.79a6.698 6.698 0 0 0-9.499 0 6.76 6.76 0 0 0 0 9.526l23.93 23.713-18.345.074c-2.712-.069-5.228 1.813-5.64 5.02v3.462c.069 2.721 2.31 4.97 5.022 5.03l35.028-.207c.052.005.087.025.133.025l2.457.054a4.626 4.626 0 0 0 3.436-1.38c.88-.874 1.205-2.096 1.169-3.462l-.262-2.465c0-.048.182-.081.182-.136h.002zm52.523 51.212l18.32-.073c2.713.06 5.224-1.609 5.64-4.815v-3.462c-.068-2.722-2.317-4.97-5.021-5.04l-34.58.21c-.053 0-.086-.021-.138-.021l-2.451-.06a4.64 4.64 0 0 0-3.445 1.381c-.885.868-1.201 2.094-1.174 3.46l.27 2.46c.005.06-.177.095-.177.141l.141 34.697c.069 2.713 2.31 4.338 5.022 4.397l3.45.006c2.705.062 4.867-2.31 4.8-5.026l-.153-18.752 24.151 23.946a6.69 6.69 0 0 0 9.494 0 6.747 6.747 0 0 0 0-9.523L101.74 92.54v.001zM48.125 80.662a4.636 4.636 0 0 0-3.437-1.382l-2.457.06c-.05 0-.082.022-.137.022l-35.025-.21c-2.712.07-4.957 2.318-5.022 5.04v3.462c.409 3.206 2.925 4.874 5.633 4.814l18.554.06-24.132 23.928c-2.62 2.626-2.62 6.89 0 9.524a6.694 6.694 0 0 0 9.496 0l24.155-23.79-.155 18.866c-.06 2.722 2.094 5.093 4.801 5.025h3.65c2.72-.069 4.962-1.685 5.022-4.406l.141-34.956c0-.05-.182-.082-.182-.136l.262-2.46c.03-1.366-.286-2.592-1.166-3.46h-.001zM80.08 47.397a4.62 4.62 0 0 0 3.443 1.374l2.45-.054c.055 0 .088-.02.143-.028l35.08.21c2.712-.062 4.953-2.312 5.021-5.033l.009-3.463c-.417-3.211-2.937-5.084-5.64-5.025l-18.615-.073 23.917-23.715c2.63-2.623 2.63-6.879.008-9.513a6.691 6.691 0 0 0-9.494 0L92.251 26.016l.155-19.312c.065-2.713-2.097-5.085-4.802-5.025h-3.45c-2.713.069-4.954 1.693-5.022 4.406l-.139 35.247c0 .054.18.088.18.136l-.267 2.465c-.028 1.366.288 2.588 1.174 3.463v.001z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-nested\",\n \"use\": \"icon-nested-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-nested\\\"><path d=\\\"M.002 9.2c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-5.043-3.58-9.132-7.997-9.132S.002 4.157.002 9.2zM31.997.066h95.981V18.33H31.997V.066zm0 45.669c0 5.044 3.58 9.132 7.998 9.132 4.417 0 7.997-4.088 7.997-9.132 0-3.263-1.524-6.278-3.998-7.91-2.475-1.63-5.524-1.63-7.998 0-2.475 1.632-4 4.647-4 7.91zM63.992 36.6h63.986v18.265H63.992V36.6zm-31.995 82.2c0 5.043 3.58 9.132 7.998 9.132 4.417 0 7.997-4.089 7.997-9.132 0-5.044-3.58-9.133-7.997-9.133s-7.998 4.089-7.998 9.133zm31.995-9.131h63.986v18.265H63.992V109.67zm0-27.404c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-3.263-1.524-6.277-3.998-7.909-2.475-1.631-5.524-1.631-7.998 0-2.475 1.632-4 4.646-4 7.91zm31.995-9.13h31.991V91.4H95.987V73.135z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-theme\",\n \"use\": \"icon-theme-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-theme\\\"><path d=\\\"M125.5 36.984L95.336 2.83C93.735 1.018 91.565 0 89.3 0c-2.263 0-4.433 1.018-6.033 2.83l-3.786 4.286c-1.6 1.812-3.77 2.83-6.032 2.831H54.553c-2.263 0-4.434-1.018-6.033-2.83L44.734 2.83C43.134 1.018 40.964 0 38.701 0c-2.263 0-4.434 1.018-6.034 2.83L2.5 36.984C.9 38.796 0 41.254 0 43.815c0 2.562.899 5.02 2.5 6.831L14.565 64.31c2.178 2.468 5.367 3.403 8.33 2.444 1.35-.435 2.709.592 2.709 2.18v49.407c0 5.313 3.84 9.66 8.532 9.66h59.726c4.693 0 8.532-4.347 8.532-9.66V68.934c0-1.59 1.36-2.616 2.71-2.181 2.962.96 6.15.024 8.329-2.444L125.5 50.646c1.6-1.811 2.499-4.269 2.499-6.83 0-2.563-.899-5.02-2.5-6.832z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-form\",\n \"use\": \"icon-form-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-form\\\"><path d=\\\"M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-dashboard\",\n \"use\": \"icon-dashboard-usage\",\n \"viewBox\": \"0 0 128 100\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 100\\\" id=\\\"icon-dashboard\\\"><path d=\\\"M27.429 63.638c0-2.508-.893-4.65-2.679-6.424-1.786-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.465 2.662-1.785 1.774-2.678 3.916-2.678 6.424 0 2.508.893 4.65 2.678 6.424 1.786 1.775 3.94 2.662 6.465 2.662 2.524 0 4.678-.887 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm13.714-31.801c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM71.714 65.98l7.215-27.116c.285-1.23.107-2.378-.536-3.443-.643-1.064-1.56-1.762-2.75-2.094-1.19-.33-2.333-.177-3.429.462-1.095.639-1.81 1.573-2.143 2.804l-7.214 27.116c-2.857.237-5.405 1.266-7.643 3.088-2.238 1.822-3.738 4.152-4.5 6.992-.952 3.644-.476 7.098 1.429 10.364 1.905 3.265 4.69 5.37 8.357 6.317 3.667.947 7.143.474 10.429-1.42 3.285-1.892 5.404-4.66 6.357-8.305.762-2.84.619-5.607-.429-8.305-1.047-2.697-2.762-4.85-5.143-6.46zm47.143-2.342c0-2.508-.893-4.65-2.678-6.424-1.786-1.775-3.94-2.662-6.465-2.662-2.524 0-4.678.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.786 1.775 3.94 2.662 6.464 2.662 2.524 0 4.679-.887 6.465-2.662 1.785-1.775 2.678-3.916 2.678-6.424zm-45.714-45.43c0-2.509-.893-4.65-2.679-6.425C68.68 10.01 66.524 9.122 64 9.122c-2.524 0-4.679.887-6.464 2.661-1.786 1.775-2.679 3.916-2.679 6.425 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm32 13.629c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM128 63.638c0 12.351-3.357 23.78-10.071 34.286-.905 1.372-2.19 2.058-3.858 2.058H13.93c-1.667 0-2.953-.686-3.858-2.058C3.357 87.465 0 76.037 0 63.638c0-8.613 1.69-16.847 5.071-24.703C8.452 31.08 13 24.312 18.714 18.634c5.715-5.68 12.524-10.199 20.429-13.559C47.048 1.715 55.333.035 64 .035c8.667 0 16.952 1.68 24.857 5.04 7.905 3.36 14.714 7.88 20.429 13.559 5.714 5.678 10.262 12.446 13.643 20.301 3.38 7.856 5.071 16.09 5.071 24.703z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","const isLocalhost = (instanceName) =>\n instanceName.startsWith('localhost:') || instanceName.startsWith('127.0.0.1:')\n\nexport const baseName = (instanceName = 'localhost') => {\n if (instanceName.match(/https?:\\/\\//)) {\n return instanceName\n } else {\n return isLocalhost(instanceName) ? `http://${instanceName}` : `https://${instanceName}`\n }\n}\n","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-shopping\",\n \"use\": \"icon-shopping-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-shopping\\\"><path d=\\\"M42.913 101.36c1.642 0 3.198.332 4.667.996a12.28 12.28 0 0 1 3.89 2.772c1.123 1.184 1.987 2.582 2.592 4.193.605 1.612.908 3.318.908 5.118 0 1.8-.303 3.507-.908 5.118-.605 1.611-1.469 3.01-2.593 4.194a13.3 13.3 0 0 1-3.889 2.843 10.582 10.582 0 0 1-4.667 1.066c-1.729 0-3.306-.355-4.732-1.066a13.604 13.604 0 0 1-3.825-2.843c-1.123-1.185-1.988-2.583-2.593-4.194a14.437 14.437 0 0 1-.907-5.118c0-1.8.302-3.506.907-5.118.605-1.61 1.47-3.009 2.593-4.193a12.515 12.515 0 0 1 3.825-2.772c1.426-.664 3.003-.996 4.732-.996zm53.932.285c1.643 0 3.22.331 4.733.995a11.386 11.386 0 0 1 3.889 2.772c1.08 1.185 1.945 2.583 2.593 4.194.648 1.61.972 3.317.972 5.118 0 1.8-.324 3.506-.972 5.117-.648 1.611-1.513 3.01-2.593 4.194a12.253 12.253 0 0 1-3.89 2.843 11 11 0 0 1-4.732 1.066 10.58 10.58 0 0 1-4.667-1.066 12.478 12.478 0 0 1-3.824-2.843c-1.08-1.185-1.945-2.583-2.593-4.194a13.581 13.581 0 0 1-.973-5.117c0-1.801.325-3.507.973-5.118.648-1.611 1.512-3.01 2.593-4.194a11.559 11.559 0 0 1 3.824-2.772 11.212 11.212 0 0 1 4.667-.995zm21.781-80.747c2.42 0 4.3.355 5.64 1.066 1.34.71 2.29 1.587 2.852 2.63a6.427 6.427 0 0 1 .778 3.34c-.044 1.185-.195 2.204-.454 3.057-.26.853-.8 2.606-1.62 5.26a589.268 589.268 0 0 1-2.788 8.743 1236.373 1236.373 0 0 0-3.047 9.453c-.994 3.128-1.75 5.592-2.269 7.393-1.123 3.79-2.55 6.42-4.278 7.89-1.728 1.469-3.846 2.203-6.352 2.203H39.023l1.945 12.795h65.342c4.148 0 6.223 1.943 6.223 5.828 0 1.896-.41 3.53-1.232 4.905-.821 1.374-2.442 2.061-4.862 2.061H38.505c-1.729 0-3.176-.426-4.343-1.28-1.167-.852-2.14-1.966-2.917-3.34a21.277 21.277 0 0 1-1.88-4.478 44.128 44.128 0 0 1-1.102-4.55c-.087-.568-.324-1.942-.713-4.122-.39-2.18-.865-4.904-1.426-8.174l-1.88-10.947c-.692-4.027-1.383-8.079-2.075-12.154-1.642-9.572-3.5-20.234-5.574-31.986H6.87c-1.296 0-2.377-.356-3.24-1.067a9.024 9.024 0 0 1-2.14-2.558 10.416 10.416 0 0 1-1.167-3.2C.108 8.53 0 7.488 0 6.54c0-1.896.583-3.46 1.75-4.69C2.917.615 4.494 0 6.482 0h13.095c1.728 0 3.111.284 4.148.853 1.037.569 1.858 1.28 2.463 2.132a8.548 8.548 0 0 1 1.297 2.701c.26.948.475 1.754.648 2.417.173.758.346 1.825.519 3.199.173 1.374.345 2.772.518 4.193.26 1.706.519 3.507.778 5.403h88.678z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-bug\",\n \"use\": \"icon-bug-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-bug\\\"><path d=\\\"M127.88 73.143c0 1.412-.506 2.635-1.518 3.669-1.011 1.033-2.209 1.55-3.592 1.55h-17.887c0 9.296-1.783 17.178-5.35 23.645l16.609 17.044c1.011 1.034 1.517 2.257 1.517 3.67 0 1.412-.506 2.635-1.517 3.668-.958 1.033-2.155 1.55-3.593 1.55-1.438 0-2.635-.517-3.593-1.55l-15.811-16.063a15.49 15.49 0 0 1-1.196 1.06c-.532.434-1.65 1.208-3.353 2.322a50.104 50.104 0 0 1-5.192 2.974c-1.758.87-3.94 1.658-6.546 2.364-2.607.706-5.189 1.06-7.748 1.06V47.044H58.89v73.062c-2.716 0-5.417-.367-8.106-1.102-2.688-.734-5.003-1.631-6.945-2.692a66.769 66.769 0 0 1-5.268-3.179c-1.571-1.057-2.73-1.94-3.476-2.65L33.9 109.34l-14.611 16.877c-1.066 1.14-2.344 1.711-3.833 1.711-1.277 0-2.422-.434-3.434-1.304-1.012-.978-1.557-2.187-1.635-3.627-.079-1.44.333-2.705 1.236-3.794l16.129-18.51c-3.087-6.197-4.63-13.644-4.63-22.342H5.235c-1.383 0-2.58-.517-3.592-1.55S.125 74.545.125 73.132c0-1.412.506-2.635 1.518-3.668 1.012-1.034 2.21-1.55 3.592-1.55h17.887V43.939L9.308 29.833c-1.012-1.033-1.517-2.256-1.517-3.669 0-1.412.505-2.635 1.517-3.668 1.012-1.034 2.21-1.55 3.593-1.55s2.58.516 3.593 1.55l13.813 14.106h67.396l13.814-14.106c1.012-1.034 2.21-1.55 3.592-1.55 1.384 0 2.581.516 3.593 1.55 1.012 1.033 1.518 2.256 1.518 3.668 0 1.413-.506 2.636-1.518 3.67l-13.814 14.105v23.975h17.887c1.383 0 2.58.516 3.593 1.55 1.011 1.033 1.517 2.256 1.517 3.668l-.005.01zM89.552 26.175H38.448c0-7.23 2.489-13.386 7.466-18.469C50.892 2.623 56.92.082 64 .082c7.08 0 13.108 2.541 18.086 7.624 4.977 5.083 7.466 11.24 7.466 18.469z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-international\",\n \"use\": \"icon-international-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-international\\\"><path d=\\\"M83.287 103.01c-1.57-3.84-6.778-10.414-15.447-19.548-2.327-2.444-2.182-4.306-1.338-9.862v-.64c.553-3.81 1.513-6.05 14.313-8.087 6.516-1.018 8.203 1.57 10.589 5.178l.785 1.193a12.625 12.625 0 0 0 6.43 5.207c1.134.524 2.53 1.164 4.421 2.24 4.596 2.53 4.596 5.41 4.596 11.753v.727a26.91 26.91 0 0 1-5.178 17.454 59.055 59.055 0 0 1-19.025 11.026c3.49-6.546.814-14.313 0-16.553l-.146-.087zM64 5.12a58.502 58.502 0 0 1 25.484 5.818 54.313 54.313 0 0 0-12.859 10.327c-.93 1.28-1.716 2.473-2.472 3.579-2.444 3.694-3.637 5.352-5.818 5.614a25.105 25.105 0 0 1-4.219 0c-4.276-.29-10.094-.64-11.956 4.422-1.193 3.23-1.396 11.956 2.444 16.495.66 1.077.778 2.4.32 3.578a7.01 7.01 0 0 1-2.066 3.229 18.938 18.938 0 0 1-2.909-2.91 18.91 18.91 0 0 0-8.32-6.603c-1.25-.349-2.647-.64-3.985-.93-3.782-.786-8.03-1.688-9.019-3.812a14.895 14.895 0 0 1-.727-5.818 21.935 21.935 0 0 0-1.396-9.25 8.873 8.873 0 0 0-5.557-4.946A58.705 58.705 0 0 1 64 5.12zM0 64c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-qq\",\n \"use\": \"icon-qq-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-qq\\\"><path d=\\\"M18.448 57.545l-.244-.744-.198-.968-.132-.53v-2.181l.236-.859.24-.908.317-.953.428-1.06.561-1.103.794-1.104v-.773l.077-.724.123-.984.34-1.106.313-1.194.25-.548.289-.511.371-.569.405-.423v-2.73l.234-1.407.236-1.633.42-1.955.577-2.035.43-1.118.426-1.217.468-1.135.559-1.216.57-1.332.655-1.247.737-1.331.929-1.33.43-.762.457-.624.995-1.406 1.025-1.403 1.163-1.444 1.246-1.405 1.352-1.384 1.41-1.423 1.708-1.536 1.083-.934 1.322-1.008 1.34-.89 1.448-.855 1.392-.76 1.57-.63 1.667-.775 1.657-.532 1.653-.552 1.787-.548 1.785-.417 1.876-.347L59.128.68l1.879-.245 1.876-.252 2.002-.106h5.912l1.97.243 1.981.231 2.019.207 1.874.441 1.979.413 1.857.475 2.035.53 1.862.646 1.782.738 1.904.78 1.736.853 1.689.95 1.655 1.044 1.425.971.662.548.693.401 1.323 1.1 1.115 1.064 1.112 1.1 1.083 1.214.894 1.178 1.064 1.217.74 1.306.752 1.162.798 1.352.661 1.175 1.113 2.489.546 1.286.428 1.192.428 1.294.384 1.217.267 1.047.347 1.231.607 2.198.388 1.924.253 1.861.217 1.497.342 2.28.077.362.274.41.737 1.18.473.8.42.832.534.892.472 1.07.307 1.093.334 1.2.252 1.232.115.605.106.746v.648l-.106.643v.8l-.192.774-.35 1.5-.403.76-.299.852v.213l.142.264.4.623 1.746 2.53 1.377 1.9.66 1.267.889 1.389.774 1.52.893 1.627.894 1.828 1.006 2.069.567 1.268.518 1.239.447 1.307.44 1.175.336 1.235.342 1.16.432 2.261.343 2.31.235 2.05v2.891l-.158 1.025-.226 1.768-.308 1.59-.48 1.44-.18.588-.336.707-.28.493-.375.607-.33.383-.42.494-.375.4-.401.34-.48.207-.432.207-.355.114h-.543l-.346-.114-.66-.32-.302-.212-.317-.223-.347-.304-.35-.342-.579-.63-.684-.89-.539-.917-.538-.734-.526-.855-.741-1.517-.833-1.579-.098-.055h-.138l-.338.247-.196.415-.326.516-.567 1.533-.856 2.182-1.096 2.626-.824 1.308-.864 1.366-1.027 1.536-1.09 1.503-.557.68-.676.743-1.555 1.497.136.135.21.214.777.446 3.235 1.524 1.41.779 1.347.756 1.332.953 1.187.982.574.443.432.511.445.593.367.643.198.533.242.64.105.554.115.647-.115.433v.44l-.105.454-.242.415-.092.325-.22.394-.587.784-.543.627-.42.47-.35.348-.893.638-1.01.556-1.077.532-1.155.511-1.287.495-.693.207-.608.167-1.496.342-1.545.325-1.552.323-1.689.27-1.74.072-1.785.21h-5.539l-1.998-.114-1.86-.168-2.005-.27-1.99-.209-2.095-.286-2.03-.495-1.981-.374-1.968-.552-2.019-.707-1.98-.585-1.044-.342-.927-.323-.586-.223-.582-.12h-1.647l-1.904-.131-.962-.096-1.24-.135-.795.705-1.085.665-1.471.701-1.628.875-.99.475-1.033.376-2.281.914-1.24.305-1.3.343-1.803.344-1.13.086-1.193.1-1.246.135-1.45.053h-5.926l-3.346-.053-3.25-.321-1.644-.23-1.589-.23-1.546-.227-1.547-.305-1.442-.456-1.434-.325-1.294-.51-1.223-.474-1.142-.533-.99-.583-.984-.71-.336-.343-.44-.415-.334-.362-.3-.417-.278-.415-.215-.42-.311-.89-.109-.46-.138-.51v-.473l.138-.533v-.53l.109-.53v-1.069l.052-.564.259-.647.215-.646.39-.779.286-.3.236-.348.615-.738.49-.38.464-.266.428-.338.676-.21.543-.324.676-.341.77-.227.775-.231.897-.192.85-.11 1.008-.13 1.093-.081.284-.092h.063l.137-.115v-.13l-.2-.266-.58-.27-1.45-1.231-.975-.761-1.127-.967-1.136-1.082-1.181-1.382-1.36-1.558-.508-.843-.672-.87-.58-1.007-.522-1.1-.704-1.047-.459-1.194-.547-1.192-.546-1.33-.397-1.273-.378-1.575-.112-.057h-.115l-.059-.113h-.14l-.23.113-.114.057-.158.264-.057.321-.119.286-.206.477-.664 1.157-.345.701-.546.612-.58.736-.641.816-.677.724-.795.701-.734.658-.814.524-.89.546-.855.325-1.008.247-.99.095h-.233l-.228-.095-.18-.384-.29-.188-.38-.912-.237-.493-.255-.707-.21-.734-.113-.724-.313-1.648-.12-.972v-3.185l.12-2.379.196-1.214.23-1.252.21-1.347.374-1.254.42-1.443.431-1.407.578-1.448.545-1.38.754-1.4.699-1.52.855-1.425 1.006-1.538 1.023-1.382 1.069-1.538.891-1.071 1.142-1.227 1.202-1.237.56-.59.678-.662.985-.836 1.012-.853 1.647-1.446 1.242-.889z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-link\",\n \"use\": \"icon-link-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-link\\\"><path d=\\\"M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z\\\" /><path d=\\\"M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z\\\" /><path d=\\\"M127.893 37.982h-12.375V12.375H88.706V0h39.187z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=591d6778&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=591d6778&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsView.vue?vue&type=style&index=0&id=e1cdb714&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsView.vue?vue&type=style&index=0&id=e1cdb714&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-guide 2\",\n \"use\": \"icon-guide 2-usage\",\n \"viewBox\": \"0 0 1000 1000\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 1000 1000\\\" id=\\\"icon-guide 2\\\"><path d=\\\"M11.576 547.9l282.848 126.404 409.285-383.26 137.057-128.341L361.234 714.22l362.77 146.362c8.742 3.327 18.733-1.33 21.855-10.644v-.666L999.985.374 10.327 514.636c-8.742 4.657-11.864 15.302-8.117 24.616 2.497 3.991 5.62 7.318 9.366 8.648zM360.61 999.626l141.112-161.663-141.112-61.206v222.869z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-language\",\n \"use\": \"icon-language-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-language\\\"><path d=\\\"M84.742 36.8c2.398 7.2 5.595 12.8 11.19 18.4 4.795-4.8 7.992-11.2 10.39-18.4h-21.58zm-52.748 40h20.78l-10.39-28-10.39 28z\\\" /><path d=\\\"M111.916 0H16.009C7.218 0 .025 7.2.025 16v96c0 8.8 7.193 16 15.984 16h95.907c8.791 0 15.984-7.2 15.984-16V16c0-8.8-6.394-16-15.984-16zM72.754 103.2c-1.598 1.6-3.197 1.6-4.795 1.6-.8 0-2.398 0-3.197-.8-.8-.8-1.599 0-1.599-.8s-.799-1.6-1.598-3.2c-.8-1.6-.8-2.4-1.599-4l-3.196-8.8H28.797L25.6 96c-1.598 3.2-2.398 5.6-3.197 7.2-.8 1.6-2.398 1.6-4.795 1.6-1.599 0-3.197-.8-4.796-1.6-1.598-1.6-2.397-2.4-2.397-4 0-.8 0-1.6.799-3.2.8-1.6.8-2.4 1.598-4l17.583-44.8c.8-1.6.8-3.2 1.599-4.8.799-1.6 1.598-3.2 2.397-4 .8-.8 1.599-2.4 3.197-3.2 1.599-.8 3.197-.8 4.796-.8 1.598 0 3.196 0 4.795.8 1.598.8 2.398 1.6 3.197 3.2.799.8 1.598 2.4 2.397 4 .8 1.6 1.599 3.2 2.398 5.6l17.583 44c1.598 3.2 2.398 5.6 2.398 7.2-.8.8-1.599 2.4-2.398 4zM116.711 72c-8.791-3.2-15.185-7.2-20.78-12-5.594 5.6-12.787 9.6-21.579 12l-2.397-4c8.791-2.4 15.984-5.6 21.579-11.2C87.939 51.2 83.144 44 81.545 36h-7.992v-3.2h21.58c-1.6-2.4-3.198-5.6-4.796-8l2.397-.8c1.599 2.4 3.997 5.6 5.595 8.8h19.98v4h-7.992c-2.397 8-6.393 15.2-11.189 20 5.595 4.8 11.988 8.8 20.78 11.2l-3.197 4z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-password\",\n \"use\": \"icon-password-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-password\\\"><path d=\\\"M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-peoples\",\n \"use\": \"icon-peoples-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-peoples\\\"><path d=\\\"M95.648 118.762c0 5.035-3.563 9.121-7.979 9.121H7.98c-4.416 0-7.979-4.086-7.979-9.121C0 100.519 15.408 83.47 31.152 76.75c-9.099-6.43-15.216-17.863-15.216-30.987v-9.128c0-20.16 14.293-36.518 31.893-36.518s31.894 16.358 31.894 36.518v9.122c0 13.137-6.123 24.556-15.216 30.993 15.738 6.726 31.141 23.769 31.141 42.012z\\\" /><path d=\\\"M106.032 118.252h15.867c3.376 0 6.101-3.125 6.101-6.972 0-13.957-11.787-26.984-23.819-32.123 6.955-4.919 11.638-13.66 11.638-23.704v-6.985c0-15.416-10.928-27.926-24.39-27.926-1.674 0-3.306.193-4.89.561 1.936 4.713 3.018 9.974 3.018 15.526v9.121c0 13.137-3.056 23.111-11.066 30.993 14.842 4.41 27.312 23.42 27.541 41.509z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-money\",\n \"use\": \"icon-money-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-money\\\"><path d=\\\"M54.122 127.892v-28.68H7.513V87.274h46.609v-12.4H7.513v-12.86h38.003L.099 0h22.6l32.556 45.07c3.617 5.144 6.44 9.611 8.487 13.385 1.788-3.05 4.89-7.779 9.301-14.186L103.93 0h24.01L82.385 62.013h38.34v12.862h-46.41v12.4h46.41v11.937h-46.41v28.68H54.123z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-example\",\n \"use\": \"icon-example-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-example\\\"><path d=\\\"M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-list\",\n \"use\": \"icon-list-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-list\\\"><path d=\\\"M1.585 12.087c0 6.616 3.974 11.98 8.877 11.98 4.902 0 8.877-5.364 8.877-11.98 0-6.616-3.975-11.98-8.877-11.98-4.903 0-8.877 5.364-8.877 11.98zM125.86.107H35.613c-1.268 0-2.114 1.426-2.114 2.852v18.255c0 1.712 1.057 2.853 2.114 2.853h90.247c1.268 0 2.114-1.426 2.114-2.853V2.96c0-1.711-1.057-2.852-2.114-2.852zM.106 62.86c0 6.615 3.974 11.979 8.876 11.979 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zM124.17 50.88H33.921c-1.268 0-2.114 1.425-2.114 2.851v18.256c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852V53.73c0-1.426-.846-2.852-2.114-2.852zM.106 115.913c0 6.616 3.974 11.98 8.876 11.98 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zm124.064-11.98H33.921c-1.268 0-2.114 1.426-2.114 2.853v18.255c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852v-18.255c0-1.427-.846-2.853-2.114-2.853z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-settings\",\n \"use\": \"icon-settings-usage\",\n \"viewBox\": \"0 0 490.2 490.2\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 490.2 490.2\\\" id=\\\"icon-settings\\\">\\r\\n<g>\\r\\n\\t<g>\\r\\n\\t\\t<g>\\r\\n\\t\\t\\t<path d=\\\"M469.1,173.1h-37.5c-1-3.1-3.1-6.3-4.2-9.4l26.1-26.1c8.3-8.3,8.3-20.9,0-29.2l-71.9-71.9c-8.3-8.3-20.9-8.3-29.2,0\\r\\n\\t\\t\\t\\tl-26.1,26.1c-3.1-2.1-6.3-3.1-9.4-4.2V20.9C316.9,9.4,307.5,0,296,0H193.9C182.4,0,173,9.4,173,20.9v37.5c-3.1,1-6.3,3.1-9.4,4.2\\r\\n\\t\\t\\t\\tl-26.1-26.1c-8.3-8.3-20.9-8.3-29.2,0l-71.9,71.9c-4.2,4.2-6.3,9.4-6.3,14.6s2.1,10.4,6.3,14.6l26.1,26.1\\r\\n\\t\\t\\t\\tc-2.1,3.1-3.1,6.3-4.2,9.4H20.9C9.4,173.1,0,182.5,0,194v102.2c0,11.5,9.4,20.9,20.9,20.9h37.5c1,3.1,3.1,6.3,4.2,9.4l-26.1,26.1\\r\\n\\t\\t\\t\\tc-4.2,4.2-6.3,9.4-6.3,14.6s2.1,10.4,6.3,14.6l71.9,71.9c8.3,8.3,20.9,8.3,29.2,0l26.1-26.1c3.1,2.1,6.3,3.1,9.4,4.2v37.5\\r\\n\\t\\t\\t\\tc0,11.5,9.4,20.9,20.9,20.9h102.2c11.5,0,20.9-9.4,20.9-20.9v-37.5c3.1-1,6.3-3.1,9.4-4.2l26.1,26.1c8.3,8.3,20.9,8.3,29.2,0\\r\\n\\t\\t\\t\\tl71.9-71.9c8.3-8.3,8.3-20.9,0-29.2l-26.1-26.1c2.1-3.1,3.1-6.3,4.2-9.4h37.5c11.5,0,20.9-9.4,20.9-20.9V193.9\\r\\n\\t\\t\\t\\tC490,182.4,480.6,173.1,469.1,173.1z M448.3,275.2H417c-9.4,0-16.7,6.3-19.8,14.6c-3.1,10.4-7.3,20.9-12.5,30.2\\r\\n\\t\\t\\t\\tc-5.2,8.3-3.1,18.8,3.1,25l21.9,21.9L367,409.7l-21.9-21.9c-7.3-6.3-16.7-7.3-25-3.1c-9.4,5.2-19.8,9.4-30.2,12.5\\r\\n\\t\\t\\t\\tc-8.3,2.1-14.6,10.4-14.6,19.8v31.3h-60.5l0,0V417c0-9.4-6.3-16.7-14.6-19.8c-10.4-3.1-20.9-7.3-30.2-12.5\\r\\n\\t\\t\\t\\tc-8.3-5.2-18.8-3.1-25,3.1l-22,21.9L80.3,367l21.9-21.9c6.3-7.3,7.3-16.7,3.1-25c-5.2-9.4-9.4-19.8-12.5-30.2\\r\\n\\t\\t\\t\\tc-2.1-8.3-10.4-14.6-19.8-14.6H41.7v-60.5H73c9.4,0,16.7-6.3,19.8-14.6c3.1-10.4,7.3-20.9,12.5-30.2c5.2-8.3,3.1-18.8-3.1-25\\r\\n\\t\\t\\t\\tl-21.9-22L123,80.3l21.9,21.9c7.3,6.3,16.7,7.3,25,3.1c9.4-5.2,19.8-9.4,30.2-12.5c8.3-2.1,14.6-10.4,14.6-19.8V41.7h60.5V73\\r\\n\\t\\t\\t\\tc0,9.4,6.3,16.7,14.6,19.8c10.4,3.1,20.9,7.3,30.2,12.5c8.3,5.2,18.8,3.1,25-3.1l22-21.9l42.7,42.7l-21.9,21.9\\r\\n\\t\\t\\t\\tc-6.3,7.3-7.3,16.7-3.1,25c5.2,9.4,9.4,19.8,12.5,30.2c2.1,8.3,10.4,14.6,19.8,14.6h31.3L448.3,275.2L448.3,275.2z\\\" />\\r\\n\\t\\t\\t<path d=\\\"M245,131.4c-62.6,0-113.6,51.1-113.6,113.6s51,113.6,113.6,113.6s113.6-51,113.6-113.6S307.6,131.4,245,131.4z\\r\\n\\t\\t\\t\\t M245,316.9c-39.6,0-71.9-32.3-71.9-71.9s32.3-71.9,71.9-71.9s71.9,32.3,71.9,71.9S284.6,316.9,245,316.9z\\\" />\\r\\n\\t\\t</g>\\r\\n\\t</g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-message\",\n \"use\": \"icon-message-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-message\\\"><path d=\\\"M0 20.967v59.59c0 11.59 8.537 20.966 19.075 20.966h28.613l1 26.477L76.8 101.523h32.125c10.538 0 19.075-9.377 19.075-20.966v-59.59C128 9.377 119.463 0 108.925 0h-89.85C8.538 0 0 9.377 0 20.967zm82.325 33.1c0-5.524 4.013-9.935 9.037-9.935 5.026 0 9.038 4.41 9.038 9.934 0 5.524-4.025 9.934-9.038 9.934-5.024 0-9.037-4.41-9.037-9.934zm-27.613 0c0-5.524 4.013-9.935 9.038-9.935s9.037 4.41 9.037 9.934c0 5.524-4.025 9.934-9.037 9.934-5.025 0-9.038-4.41-9.038-9.934zm-27.1 0c0-5.524 4.013-9.935 9.038-9.935s9.038 4.41 9.038 9.934c0 5.524-4.026 9.934-9.05 9.934-5.013 0-9.025-4.41-9.025-9.934z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-table\",\n \"use\": \"icon-table-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-table\\\"><path d=\\\"M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z\\\" /><path d=\\\"M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=style&index=0&id=767d264f&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=style&index=0&id=767d264f&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-eye\",\n \"use\": \"icon-eye-usage\",\n \"viewBox\": \"0 0 128 64\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 64\\\" id=\\\"icon-eye\\\"><path d=\\\"M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","var map = {\n\t\"./404.svg\": \"oUrx\",\n\t\"./bug.svg\": \"F3lI\",\n\t\"./chart.svg\": \"yCkv\",\n\t\"./clipboard.svg\": \"vDVG\",\n\t\"./component.svg\": \"VtY+\",\n\t\"./dashboard.svg\": \"94Jb\",\n\t\"./documentation.svg\": \"kPu2\",\n\t\"./drag.svg\": \"m7++\",\n\t\"./edit.svg\": \"qkZ8\",\n\t\"./email.svg\": \"y7eQ\",\n\t\"./example.svg\": \"MMMJ\",\n\t\"./excel.svg\": \"ZZmv\",\n\t\"./exit-fullscreen.svg\": \"28eg\",\n\t\"./eye-open.svg\": \"1+ww\",\n\t\"./eye.svg\": \"TfVu\",\n\t\"./form.svg\": \"6xvN\",\n\t\"./fullscreen.svg\": \"mSHS\",\n\t\"./guide 2.svg\": \"ICep\",\n\t\"./guide.svg\": \"ZoO1\",\n\t\"./icon.svg\": \"nZHn\",\n\t\"./international.svg\": \"F9+T\",\n\t\"./language.svg\": \"JYDz\",\n\t\"./link.svg\": \"GPBF\",\n\t\"./list.svg\": \"MokB\",\n\t\"./lock.svg\": \"qwAt\",\n\t\"./message.svg\": \"R/8a\",\n\t\"./money.svg\": \"MEYL\",\n\t\"./nested.svg\": \"3PhE\",\n\t\"./password.svg\": \"Kj24\",\n\t\"./pdf.svg\": \"+aF5\",\n\t\"./people.svg\": \"0Fbn\",\n\t\"./peoples.svg\": \"LxGF\",\n\t\"./qq.svg\": \"FDDl\",\n\t\"./search.svg\": \"jo2x\",\n\t\"./settings.svg\": \"P8iQ\",\n\t\"./shopping.svg\": \"EqXK\",\n\t\"./size.svg\": \"hkRB\",\n\t\"./star.svg\": \"cIpu\",\n\t\"./tab.svg\": \"j7e1\",\n\t\"./table.svg\": \"R/Hx\",\n\t\"./theme.svg\": \"5TQQ\",\n\t\"./tree.svg\": \"k80C\",\n\t\"./user.svg\": \"s7Vf\",\n\t\"./wechat.svg\": \"gNoN\",\n\t\"./zip.svg\": \"iqZD\"\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 = \"Uf/o\";","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-component\",\n \"use\": \"icon-component-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-component\\\"><path d=\\\"M0 0h54.857v54.857H0V0zm0 73.143h54.857V128H0V73.143zm73.143 0H128V128H73.143V73.143zm27.428-18.286C115.72 54.857 128 42.577 128 27.43 128 12.28 115.72 0 100.571 0 85.423 0 73.143 12.28 73.143 27.429c0 15.148 12.28 27.428 27.428 27.428z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../node_modules/babel-loader/lib/index.js?cacheDirectory!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js?cacheDirectory!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","<template>\n <div id=\"app\">\n <router-view/>\n </div>\n</template>\n\n<script>\nexport default{\n name: 'App'\n}\n</script>\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=6b42edcf&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.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\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Cookies from 'js-cookie'\n\nconst app = {\n state: {\n sidebar: {\n opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,\n withoutAnimation: false\n },\n device: 'desktop',\n language: Cookies.get('language') || 'en',\n size: Cookies.get('size') || 'medium'\n },\n mutations: {\n TOGGLE_SIDEBAR: state => {\n state.sidebar.opened = !state.sidebar.opened\n state.sidebar.withoutAnimation = false\n if (state.sidebar.opened) {\n Cookies.set('sidebarStatus', 1)\n } else {\n Cookies.set('sidebarStatus', 0)\n }\n },\n CLOSE_SIDEBAR: (state, withoutAnimation) => {\n Cookies.set('sidebarStatus', 0)\n state.sidebar.opened = false\n state.sidebar.withoutAnimation = withoutAnimation\n },\n TOGGLE_DEVICE: (state, device) => {\n state.device = device\n },\n SET_LANGUAGE: (state, language) => {\n state.language = language\n Cookies.set('language', language)\n },\n SET_SIZE: (state, size) => {\n state.size = size\n Cookies.set('size', size)\n }\n },\n actions: {\n toggleSideBar({ commit }) {\n commit('TOGGLE_SIDEBAR')\n },\n closeSideBar({ commit }, { withoutAnimation }) {\n commit('CLOSE_SIDEBAR', withoutAnimation)\n },\n toggleDevice({ commit }, device) {\n commit('TOGGLE_DEVICE', device)\n },\n setLanguage({ commit }, language) {\n commit('SET_LANGUAGE', language)\n },\n setSize({ commit }, size) {\n commit('SET_SIZE', size)\n }\n }\n}\n\nexport default app\n","const errorLog = {\n state: {\n logs: []\n },\n mutations: {\n ADD_ERROR_LOG: (state, log) => {\n state.logs.push(log)\n }\n },\n actions: {\n addErrorLog({ commit }, log) {\n commit('ADD_ERROR_LOG', log)\n }\n }\n}\n\nexport default errorLog\n","import _ from 'lodash'\n\nimport request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nexport async function fetchLog(authHost, token, params, page = 1) {\n const normalizedParams = new URLSearchParams(\n _.omitBy({ ...params, page }, _.isUndefined)\n ).toString()\n\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/moderation_log?${normalizedParams}`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function fetchAdmins(authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users?filters=is_admin`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function fetchModerators(authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users?filters=is_moderator`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","import { fetchLog, fetchAdmins, fetchModerators } from '@/api/moderationLog'\n\nconst moderationLog = {\n state: {\n fetchedLog: [],\n logItemsCount: 0,\n admins: [],\n moderators: [],\n logLoading: true,\n adminsLoading: true\n },\n mutations: {\n SET_LOG_LOADING: (state, status) => {\n state.logLoading = status\n },\n SET_ADMINS_LOADING: (state, status) => {\n state.adminsLoading = status\n },\n SET_MODERATION_LOG: (state, log) => {\n state.fetchedLog = log\n },\n SET_MODERATION_LOG_COUNT: (state, count) => {\n state.logItemsCount = count\n },\n SET_ADMINS: (state, admins) => {\n state.admins = admins\n },\n SET_MODERATORS: (state, moderators) => {\n state.moderators = moderators\n }\n },\n actions: {\n async FetchModerationLog({ commit, getters }, opts = {}) {\n const response = await fetchLog(getters.authHost, getters.token, opts)\n\n commit('SET_MODERATION_LOG', response.data.items)\n commit('SET_MODERATION_LOG_COUNT', response.data.total)\n commit('SET_LOG_LOADING', false)\n },\n async FetchAdmins({ commit, getters }) {\n const adminsResponse = await fetchAdmins(getters.authHost, getters.token)\n const moderatorsResponse = await fetchModerators(getters.authHost, getters.token)\n\n commit('SET_ADMINS', adminsResponse.data)\n commit('SET_MODERATORS', moderatorsResponse.data)\n commit('SET_ADMINS_LOADING', false)\n }\n }\n}\n\nexport default moderationLog\n","import request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nexport async function generateInviteToken(max_use, expires_at, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/invite_token`,\n method: 'post',\n headers: authHeaders(token),\n data: expires_at && expires_at.length > 0 ? { max_use, expires_at } : { max_use }\n })\n}\n\nexport async function inviteViaEmail(email, name, authHost, token) {\n const url = name.length > 0\n ? `/api/pleroma/admin/users/email_invite?email=${email}&name=${name}`\n : `/api/pleroma/admin/users/email_invite?email=${email}`\n return await request({\n baseURL: baseName(authHost),\n url,\n method: 'post',\n headers: authHeaders(token)\n })\n}\n\nexport async function listInviteTokens(authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/invites`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function revokeToken(tokenToRevoke, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/revoke_invite`,\n method: 'post',\n headers: authHeaders(token),\n data: { token: tokenToRevoke }\n })\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","import { generateInviteToken, inviteViaEmail, listInviteTokens, revokeToken } from '@/api/invites'\nimport { Message } from 'element-ui'\nimport i18n from '@/lang'\n\nconst invites = {\n state: {\n inviteTokens: [],\n loading: false,\n newToken: {}\n },\n mutations: {\n SET_LOADING: (state, status) => {\n state.loading = status\n },\n SET_NEW_TOKEN: (state, token) => {\n state.newToken = token\n },\n SET_TOKENS: (state, tokens) => {\n state.inviteTokens = tokens\n }\n },\n actions: {\n async FetchInviteTokens({ commit, getters }) {\n commit('SET_LOADING', true)\n const response = await listInviteTokens(getters.authHost, getters.token)\n commit('SET_TOKENS', response.data.invites.reverse())\n commit('SET_LOADING', false)\n },\n async GenerateInviteToken({ commit, dispatch, getters }, { maxUse, expiresAt }) {\n try {\n const { data } = await generateInviteToken(maxUse, expiresAt, getters.authHost, getters.token)\n commit('SET_NEW_TOKEN', { token: data.token, maxUse: data.max_use, expiresAt: data.expires_at })\n } catch (_e) {\n return\n }\n dispatch('FetchInviteTokens')\n },\n async InviteUserViaEmail({ commit, dispatch, getters }, { email, name }) {\n try {\n await inviteViaEmail(email, name, getters.authHost, getters.token)\n } catch (_e) {\n return\n }\n Message({\n message: i18n.t('invites.emailSent'),\n type: 'success',\n duration: 5 * 1000\n })\n },\n RemoveNewToken({ commit }) {\n commit('SET_NEW_TOKEN', {})\n },\n async RevokeToken({ commit, dispatch, getters }, token) {\n try {\n await revokeToken(token, getters.authHost, getters.token)\n } catch (_e) {\n return\n }\n dispatch('FetchInviteTokens')\n }\n }\n}\n\nexport default invites\n","import request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nexport async function fetchPeers(authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/v1/instance/peers`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","import { fetchPeers } from '@/api/peers'\n\nconst peers = {\n state: {\n fetchedPeers: [],\n loading: true\n },\n\n mutations: {\n SET_PEERS: (state, peers) => {\n state.fetchedPeers = peers\n },\n SET_LOADING: (state, status) => {\n state.loading = status\n }\n },\n\n actions: {\n async FetchPeers({ commit, getters }) {\n const peers = await fetchPeers(getters.authHost, getters.token)\n\n commit('SET_PEERS', peers.data)\n commit('SET_LOADING', false)\n }\n }\n}\n\nexport default peers\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div style=\"padding: 0 15px;\" @click=\"toggleClick\">\n <svg\n :class=\"{'is-active':isActive}\"\n class=\"hamburger\"\n viewBox=\"0 0 1024 1024\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"64\"\n height=\"64\"\n >\n <path d=\"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z\" />\n </svg>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'Hamburger',\n props: {\n isActive: {\n type: Boolean,\n default: false\n },\n toggleClick: {\n type: Function,\n default: null\n }\n }\n}\n</script>\n\n<style scoped>\n.hamburger {\n display: inline-block;\n vertical-align: middle;\n width: 20px;\n height: 20px;\n}\n\n.hamburger.is-active {\n transform: rotate(180deg);\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=69c6c5c4&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=69c6c5c4&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 \"69c6c5c4\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"padding\":\"0 15px\"},on:{\"click\":_vm.toggleClick}},[_c('svg',{staticClass:\"hamburger\",class:{'is-active':_vm.isActive},attrs:{\"viewBox\":\"0 0 1024 1024\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"64\",\"height\":\"64\"}},[_c('path',{attrs:{\"d\":\"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z\"}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navbar.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"navbar\">\n <hamburger :toggle-click=\"toggleSideBar\" :is-active=\"sidebar.opened\" class=\"hamburger-container\"/>\n <div class=\"right-menu\">\n <el-dropdown class=\"avatar-container right-menu-item hover-effect\" trigger=\"click\">\n <div class=\"avatar-wrapper\">\n <img :src=\"avatar+'?imageView2/1/w/80/h/80'\" class=\"user-avatar\">\n </div>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item>\n <span style=\"display:block;\" @click=\"logout\">{{ $t('navbar.logOut') }}</span>\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport Hamburger from '@/components/element-ui/Hamburger'\n\nexport default {\n components: {\n Hamburger\n },\n computed: {\n ...mapGetters([\n 'sidebar',\n 'name',\n 'avatar',\n 'device'\n ])\n },\n methods: {\n toggleSideBar() {\n this.$store.dispatch('toggleSideBar')\n },\n logout() {\n this.$store.dispatch('LogOut').then(() => {\n location.reload()// In order to re-instantiate the vue-router object to avoid bugs\n })\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n.navbar {\n height: 50px;\n overflow: hidden;\n\n .hamburger-container {\n line-height: 46px;\n height: 100%;\n float: left;\n cursor: pointer;\n transition: background .3s;\n\n &:hover {\n background: rgba(0, 0, 0, .025)\n }\n }\n\n .breadcrumb-container {\n float: left;\n }\n\n .errLog-container {\n display: inline-block;\n vertical-align: top;\n }\n\n .right-menu {\n float: right;\n height: 100%;\n line-height: 50px;\n\n &:focus {\n outline: none;\n }\n\n .right-menu-item {\n display: inline-block;\n padding: 0 8px;\n height: 100%;\n font-size: 18px;\n color: #5a5e66;\n vertical-align: text-bottom;\n\n &.hover-effect {\n cursor: pointer;\n transition: background .3s;\n\n &:hover {\n background: rgba(0, 0, 0, .025)\n }\n }\n }\n\n .avatar-container {\n .avatar-wrapper {\n margin-top: 5px;\n position: relative;\n\n .user-avatar {\n cursor: pointer;\n width: 40px;\n height: 40px;\n border-radius: 10px;\n }\n\n .el-icon-caret-bottom {\n cursor: pointer;\n position: absolute;\n right: -20px;\n top: 25px;\n font-size: 12px;\n }\n }\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./Navbar.vue?vue&type=template&id=19937682&scoped=true&\"\nimport script from \"./Navbar.vue?vue&type=script&lang=js&\"\nexport * from \"./Navbar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Navbar.vue?vue&type=style&index=0&id=19937682&rel=stylesheet%2Fscss&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 \"19937682\",\n null\n \n)\n\ncomponent.options.__file = \"Navbar.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"navbar\"},[_c('hamburger',{staticClass:\"hamburger-container\",attrs:{\"toggle-click\":_vm.toggleSideBar,\"is-active\":_vm.sidebar.opened}}),_vm._v(\" \"),_c('div',{staticClass:\"right-menu\"},[_c('el-dropdown',{staticClass:\"avatar-container right-menu-item hover-effect\",attrs:{\"trigger\":\"click\"}},[_c('div',{staticClass:\"avatar-wrapper\"},[_c('img',{staticClass:\"user-avatar\",attrs:{\"src\":_vm.avatar+'?imageView2/1/w/80/h/80'}})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',[_c('span',{staticStyle:{\"display\":\"block\"},on:{\"click\":_vm.logout}},[_vm._v(_vm._s(_vm.$t('navbar.logOut')))])])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// translate router.meta.title, be used in breadcrumb sidebar tagsview\nexport function generateTitle(title) {\n const hasKey = this.$te('route.' + title)\n\n if (hasKey) {\n // $t :this method from vue-i18n, inject in @/lang/index.js\n const translatedTitle = this.$t('route.' + title)\n\n return translatedTitle\n }\n return title\n}\n","/**\n * Created by jiachenpan on 16/11/18.\n */\n\nexport function parseTime(time, cFormat) {\n if (arguments.length === 0) {\n return null\n }\n const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'\n let date\n if (typeof time === 'object') {\n date = time\n } else {\n if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {\n time = parseInt(time)\n }\n if ((typeof time === 'number') && (time.toString().length === 10)) {\n time = time * 1000\n }\n date = new Date(time)\n }\n const formatObj = {\n y: date.getFullYear(),\n m: date.getMonth() + 1,\n d: date.getDate(),\n h: date.getHours(),\n i: date.getMinutes(),\n s: date.getSeconds(),\n a: date.getDay()\n }\n const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {\n let value = formatObj[key]\n // Note: getDay() returns 0 on Sunday\n if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] }\n if (result.length > 0 && value < 10) {\n value = '0' + value\n }\n return value || 0\n })\n return time_str\n}\n\nexport function formatTime(time, option) {\n time = +time * 1000\n const d = new Date(time)\n const now = Date.now()\n\n const diff = (now - d) / 1000\n\n if (diff < 30) {\n return '刚刚'\n } else if (diff < 3600) {\n // less 1 hour\n return Math.ceil(diff / 60) + '分钟前'\n } else if (diff < 3600 * 24) {\n return Math.ceil(diff / 3600) + '小时前'\n } else if (diff < 3600 * 24 * 2) {\n return '1天前'\n }\n if (option) {\n return parseTime(time, option)\n } else {\n return (\n d.getMonth() +\n 1 +\n '月' +\n d.getDate() +\n '日' +\n d.getHours() +\n '时' +\n d.getMinutes() +\n '分'\n )\n }\n}\n\n// 格式化时间\nexport function getQueryObject(url) {\n url = url == null ? window.location.href : url\n const search = url.substring(url.lastIndexOf('?') + 1)\n const obj = {}\n const reg = /([^?&=]+)=([^?&=]*)/g\n search.replace(reg, (rs, $1, $2) => {\n const name = decodeURIComponent($1)\n let val = decodeURIComponent($2)\n val = String(val)\n obj[name] = val\n return rs\n })\n return obj\n}\n\n/**\n *get getByteLen\n * @param {Sting} val input value\n * @returns {number} output value\n */\nexport function getByteLen(val) {\n let len = 0\n for (let i = 0; i < val.length; i++) {\n if (val[i].match(/[^\\x00-\\xff]/gi) != null) {\n len += 1\n } else {\n len += 0.5\n }\n }\n return Math.floor(len)\n}\n\nexport function cleanArray(actual) {\n const newArray = []\n for (let i = 0; i < actual.length; i++) {\n if (actual[i]) {\n newArray.push(actual[i])\n }\n }\n return newArray\n}\n\nexport function param(json) {\n if (!json) return ''\n return cleanArray(\n Object.keys(json).map(key => {\n if (json[key] === undefined) return ''\n return encodeURIComponent(key) + '=' + encodeURIComponent(json[key])\n })\n ).join('&')\n}\n\nexport function param2Obj(url) {\n const search = url.split('?')[1]\n if (!search) {\n return {}\n }\n return JSON.parse(\n '{\"' +\n decodeURIComponent(search)\n .replace(/\"/g, '\\\\\"')\n .replace(/&/g, '\",\"')\n .replace(/=/g, '\":\"') +\n '\"}'\n )\n}\n\nexport function html2Text(val) {\n const div = document.createElement('div')\n div.innerHTML = val\n return div.textContent || div.innerText\n}\n\nexport function objectMerge(target, source) {\n /* Merges two objects,\n giving the last one precedence */\n\n if (typeof target !== 'object') {\n target = {}\n }\n if (Array.isArray(source)) {\n return source.slice()\n }\n Object.keys(source).forEach(property => {\n const sourceProperty = source[property]\n if (typeof sourceProperty === 'object') {\n target[property] = objectMerge(target[property], sourceProperty)\n } else {\n target[property] = sourceProperty\n }\n })\n return target\n}\n\nexport function toggleClass(element, className) {\n if (!element || !className) {\n return\n }\n let classString = element.className\n const nameIndex = classString.indexOf(className)\n if (nameIndex === -1) {\n classString += '' + className\n } else {\n classString =\n classString.substr(0, nameIndex) +\n classString.substr(nameIndex + className.length)\n }\n element.className = classString\n}\n\nexport const pickerOptions = [\n {\n text: '今天',\n onClick(picker) {\n const end = new Date()\n const start = new Date(new Date().toDateString())\n end.setTime(start.getTime())\n picker.$emit('pick', [start, end])\n }\n },\n {\n text: '最近一周',\n onClick(picker) {\n const end = new Date(new Date().toDateString())\n const start = new Date()\n start.setTime(end.getTime() - 3600 * 1000 * 24 * 7)\n picker.$emit('pick', [start, end])\n }\n },\n {\n text: '最近一个月',\n onClick(picker) {\n const end = new Date(new Date().toDateString())\n const start = new Date()\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)\n picker.$emit('pick', [start, end])\n }\n },\n {\n text: '最近三个月',\n onClick(picker) {\n const end = new Date(new Date().toDateString())\n const start = new Date()\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)\n picker.$emit('pick', [start, end])\n }\n }\n]\n\nexport function getTime(type) {\n if (type === 'start') {\n return new Date().getTime() - 3600 * 1000 * 24 * 90\n } else {\n return new Date(new Date().toDateString())\n }\n}\n\nexport function debounce(func, wait, immediate) {\n let timeout, args, context, timestamp, result\n\n const later = function() {\n // 据上一次触发时间间隔\n const last = +new Date() - timestamp\n\n // 上次被包装函数被调用时间间隔last小于设定时间间隔wait\n if (last < wait && last > 0) {\n timeout = setTimeout(later, wait - last)\n } else {\n timeout = null\n // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用\n if (!immediate) {\n result = func.apply(context, args)\n if (!timeout) context = args = null\n }\n }\n }\n\n return function(...args) {\n context = this\n timestamp = +new Date()\n const callNow = immediate && !timeout\n // 如果延时不存在,重新设定延时\n if (!timeout) timeout = setTimeout(later, wait)\n if (callNow) {\n result = func.apply(context, args)\n context = args = null\n }\n\n return result\n }\n}\n\n/**\n * This is just a simple version of deep copy\n * Has a lot of edge cases bug\n * If you want to use a perfect deep copy, use lodash's _.cloneDeep\n */\nexport function deepClone(source) {\n if (!source && typeof source !== 'object') {\n throw new Error('error arguments', 'shallowClone')\n }\n const targetObj = source.constructor === Array ? [] : {}\n Object.keys(source).forEach(keys => {\n if (source[keys] && typeof source[keys] === 'object') {\n targetObj[keys] = deepClone(source[keys])\n } else {\n targetObj[keys] = source[keys]\n }\n })\n return targetObj\n}\n\nexport function uniqueArr(arr) {\n return Array.from(new Set(arr))\n}\n\nexport function isExternal(path) {\n return /^(https?:|mailto:|tel:)/.test(path)\n}\n","<script>\nexport default {\n name: 'MenuItem',\n functional: true,\n props: {\n icon: {\n type: String,\n default: ''\n },\n title: {\n type: String,\n default: ''\n }\n },\n render(h, context) {\n const { icon, title } = context.props\n const vnodes = []\n\n if (icon) {\n vnodes.push(<svg-icon icon-class={icon}/>)\n }\n\n if (title) {\n vnodes.push(<span slot='title'>{(title)}</span>)\n }\n return vnodes\n }\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./Item.vue?vue&type=script&lang=js&\"\nexport * from \"./Item.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\ncomponent.options.__file = \"Item.vue\"\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Link.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Link.vue?vue&type=script&lang=js&\"","\n<template>\n <!-- eslint-disable vue/require-component-is -->\n <component v-bind=\"linkProps(to)\">\n <slot/>\n </component>\n</template>\n\n<script>\nimport { isExternal } from '@/utils'\n\nexport default {\n props: {\n to: {\n type: String,\n required: true\n }\n },\n methods: {\n linkProps(url) {\n if (isExternal(url)) {\n return {\n is: 'a',\n href: url,\n target: '_blank',\n rel: 'noopener'\n }\n }\n return {\n is: 'router-link',\n to: url\n }\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./Link.vue?vue&type=template&id=4dde2217&\"\nimport script from \"./Link.vue?vue&type=script&lang=js&\"\nexport * from \"./Link.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\ncomponent.options.__file = \"Link.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('component',_vm._b({},'component',_vm.linkProps(_vm.to),false),[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarItem.vue?vue&type=script&lang=js&\"","<template>\n <div v-if=\"!item.hidden&&item.children\" class=\"menu-wrapper\">\n\n <template v-if=\"hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow\">\n <app-link :to=\"resolvePath(onlyOneChild.path)\">\n <el-menu-item :index=\"resolvePath(onlyOneChild.path)\" :class=\"{'submenu-title-noDropdown':!isNest}\">\n <item v-if=\"onlyOneChild.meta\" :icon=\"onlyOneChild.meta.icon||item.meta.icon\" :title=\"generateTitle(onlyOneChild.meta.title)\" />\n </el-menu-item>\n </app-link>\n </template>\n\n <el-submenu v-else ref=\"subMenu\" :index=\"resolvePath(item.path)\">\n <template slot=\"title\">\n <item v-if=\"item.meta\" :icon=\"item.meta.icon\" :title=\"generateTitle(item.meta.title)\" />\n </template>\n\n <template v-for=\"child in item.children\">\n <template v-if=\"!child.hidden\">\n <sidebar-item\n v-if=\"child.children&&child.children.length>0\"\n :is-nest=\"true\"\n :item=\"child\"\n :key=\"child.path\"\n :base-path=\"resolvePath(child.path)\"\n class=\"nest-menu\" />\n\n <app-link v-else :to=\"resolvePath(child.path)\" :key=\"child.name\">\n <el-menu-item :index=\"resolvePath(child.path)\">\n <item v-if=\"child.meta\" :icon=\"child.meta.icon\" :title=\"generateTitle(child.meta.title)\" />\n </el-menu-item>\n </app-link>\n </template>\n </template>\n </el-submenu>\n\n </div>\n</template>\n\n<script>\nimport path from 'path'\nimport { generateTitle } from '@/utils/i18n'\nimport { isExternal } from '@/utils'\nimport Item from './Item'\nimport AppLink from './Link'\nimport FixiOSBug from './FixiOSBug'\n\nexport default {\n name: 'SidebarItem',\n components: { Item, AppLink },\n mixins: [FixiOSBug],\n props: {\n // route object\n item: {\n type: Object,\n required: true\n },\n isNest: {\n type: Boolean,\n default: false\n },\n basePath: {\n type: String,\n default: ''\n }\n },\n data: function() {\n return {\n onlyOneChild: null\n }\n },\n methods: {\n hasOneShowingChild(children, parent) {\n const showingChildren = children.filter(item => {\n if (item.hidden) {\n return false\n } else {\n // Temp set(will be used if only has one showing child)\n this.onlyOneChild = item\n return true\n }\n })\n\n // When there is only one child router, the child router is displayed by default\n if (showingChildren.length === 1) {\n return true\n }\n\n // Show parent if there are no child router to display\n if (showingChildren.length === 0) {\n this.onlyOneChild = { ... parent, path: '', noShowingChildren: true }\n return true\n }\n\n return false\n },\n resolvePath(routePath) {\n if (this.isExternalLink(routePath)) {\n return routePath\n }\n return path.resolve(this.basePath, routePath)\n },\n isExternalLink(routePath) {\n return isExternal(routePath)\n },\n generateTitle\n }\n}\n</script>\n","export default {\n computed: {\n device() {\n return this.$store.state.app.device\n }\n },\n mounted() {\n // In order to fix the click on menu on the ios device will trigger the mouseleave bug\n // https://github.com/PanJiaChen/vue-element-admin/issues/1135\n this.fixBugIniOS()\n },\n methods: {\n fixBugIniOS() {\n const $subMenu = this.$refs.subMenu\n if ($subMenu) {\n const handleMouseleave = $subMenu.handleMouseleave\n $subMenu.handleMouseleave = (e) => {\n if (this.device === 'mobile') {\n return\n }\n handleMouseleave(e)\n }\n }\n }\n }\n}\n","import { render, staticRenderFns } from \"./SidebarItem.vue?vue&type=template&id=79436b70&\"\nimport script from \"./SidebarItem.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarItem.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\ncomponent.options.__file = \"SidebarItem.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.item.hidden&&_vm.item.children)?_c('div',{staticClass:\"menu-wrapper\"},[(_vm.hasOneShowingChild(_vm.item.children,_vm.item) && (!_vm.onlyOneChild.children||_vm.onlyOneChild.noShowingChildren)&&!_vm.item.alwaysShow)?[_c('app-link',{attrs:{\"to\":_vm.resolvePath(_vm.onlyOneChild.path)}},[_c('el-menu-item',{class:{'submenu-title-noDropdown':!_vm.isNest},attrs:{\"index\":_vm.resolvePath(_vm.onlyOneChild.path)}},[(_vm.onlyOneChild.meta)?_c('item',{attrs:{\"icon\":_vm.onlyOneChild.meta.icon||_vm.item.meta.icon,\"title\":_vm.generateTitle(_vm.onlyOneChild.meta.title)}}):_vm._e()],1)],1)]:_c('el-submenu',{ref:\"subMenu\",attrs:{\"index\":_vm.resolvePath(_vm.item.path)}},[_c('template',{slot:\"title\"},[(_vm.item.meta)?_c('item',{attrs:{\"icon\":_vm.item.meta.icon,\"title\":_vm.generateTitle(_vm.item.meta.title)}}):_vm._e()],1),_vm._v(\" \"),_vm._l((_vm.item.children),function(child){return [(!child.hidden)?[(child.children&&child.children.length>0)?_c('sidebar-item',{key:child.path,staticClass:\"nest-menu\",attrs:{\"is-nest\":true,\"item\":child,\"base-path\":_vm.resolvePath(child.path)}}):_c('app-link',{key:child.name,attrs:{\"to\":_vm.resolvePath(child.path)}},[_c('el-menu-item',{attrs:{\"index\":_vm.resolvePath(child.path)}},[(child.meta)?_c('item',{attrs:{\"icon\":child.meta.icon,\"title\":_vm.generateTitle(child.meta.title)}}):_vm._e()],1)],1)]:_vm._e()]})],2)],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <el-scrollbar wrap-class=\"scrollbar-wrapper\">\n <el-menu\n :default-active=\"$route.path\"\n :collapse=\"isCollapse\"\n :background-color=\"variables.menuBg\"\n :text-color=\"variables.menuText\"\n :active-text-color=\"variables.menuActiveText\"\n mode=\"vertical\"\n >\n <sidebar-item v-for=\"route in permission_routers\" :key=\"route.path\" :item=\"route\" :base-path=\"route.path\"/>\n </el-menu>\n </el-scrollbar>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport SidebarItem from './SidebarItem'\nimport variables from '@/styles/variables.scss'\n\nexport default {\n components: { SidebarItem },\n computed: {\n ...mapGetters([\n 'permission_routers',\n 'sidebar'\n ]),\n variables() {\n return variables\n },\n isCollapse() {\n return !this.sidebar.opened\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=29a0fa94&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.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\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-scrollbar',{attrs:{\"wrap-class\":\"scrollbar-wrapper\"}},[_c('el-menu',{attrs:{\"default-active\":_vm.$route.path,\"collapse\":_vm.isCollapse,\"background-color\":_vm.variables.menuBg,\"text-color\":_vm.variables.menuText,\"active-text-color\":_vm.variables.menuActiveText,\"mode\":\"vertical\"}},_vm._l((_vm.permission_routers),function(route){return _c('sidebar-item',{key:route.path,attrs:{\"item\":route,\"base-path\":route.path}})}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <el-scrollbar ref=\"scrollContainer\" :vertical=\"false\" class=\"scroll-container\" @wheel.native.prevent=\"handleScroll\">\n <slot/>\n </el-scrollbar>\n</template>\n\n<script>\nconst tagAndTagSpacing = 4 // tagAndTagSpacing\n\nexport default {\n name: 'ScrollPane',\n data: function() {\n return {\n left: 0\n }\n },\n methods: {\n handleScroll(e) {\n const eventDelta = e.wheelDelta || -e.deltaY * 40\n const $scrollWrapper = this.$refs.scrollContainer.$refs.wrap\n $scrollWrapper.scrollLeft = $scrollWrapper.scrollLeft + eventDelta / 4\n },\n moveToTarget(currentTag) {\n const $container = this.$refs.scrollContainer.$el\n const $containerWidth = $container.offsetWidth\n const $scrollWrapper = this.$refs.scrollContainer.$refs.wrap\n const tagList = this.$parent.$refs.tag\n\n let firstTag = null\n let lastTag = null\n\n // find first tag and last tag\n if (tagList.length > 0) {\n firstTag = tagList[0]\n lastTag = tagList[tagList.length - 1]\n }\n\n if (firstTag === currentTag) {\n $scrollWrapper.scrollLeft = 0\n } else if (lastTag === currentTag) {\n $scrollWrapper.scrollLeft = $scrollWrapper.scrollWidth - $containerWidth\n } else {\n // find preTag and nextTag\n const currentIndex = tagList.findIndex(item => item === currentTag)\n const prevTag = tagList[currentIndex - 1]\n const nextTag = tagList[currentIndex + 1]\n // the tag's offsetLeft after of nextTag\n const afterNextTagOffsetLeft = nextTag.$el.offsetLeft + nextTag.$el.offsetWidth + tagAndTagSpacing\n\n // the tag's offsetLeft before of prevTag\n const beforePrevTagOffsetLeft = prevTag.$el.offsetLeft - tagAndTagSpacing\n\n if (afterNextTagOffsetLeft > $scrollWrapper.scrollLeft + $containerWidth) {\n $scrollWrapper.scrollLeft = afterNextTagOffsetLeft - $containerWidth\n } else if (beforePrevTagOffsetLeft < $scrollWrapper.scrollLeft) {\n $scrollWrapper.scrollLeft = beforePrevTagOffsetLeft\n }\n }\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n.scroll-container {\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n width: 100%;\n /deep/ {\n .el-scrollbar__bar {\n bottom: 0px;\n }\n .el-scrollbar__wrap {\n height: 49px;\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=591d6778&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=591d6778&rel=stylesheet%2Fscss&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 \"591d6778\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-scrollbar',{ref:\"scrollContainer\",staticClass:\"scroll-container\",attrs:{\"vertical\":false},nativeOn:{\"wheel\":function($event){$event.preventDefault();return _vm.handleScroll($event)}}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsView.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"tags-view-container\">\n <scroll-pane ref=\"scrollPane\" class=\"tags-view-wrapper\">\n <router-link\n v-for=\"tag in visitedViews\"\n ref=\"tag\"\n :class=\"isActive(tag)?'active':''\"\n :to=\"{ path: tag.path, query: tag.query, fullPath: tag.fullPath }\"\n :key=\"tag.path\"\n tag=\"span\"\n class=\"tags-view-item\"\n @click.middle.native=\"closeSelectedTag(tag)\"\n @contextmenu.prevent.native=\"openMenu(tag,$event)\">\n {{ generateTitle(tag.title) }}\n <span v-if=\"!tag.meta.affix\" class=\"el-icon-close\" @click.prevent.stop=\"closeSelectedTag(tag)\" />\n </router-link>\n </scroll-pane>\n <ul v-show=\"visible\" :style=\"{left:left+'px',top:top+'px'}\" class=\"contextmenu\">\n <li @click=\"refreshSelectedTag(selectedTag)\">{{ $t('tagsView.refresh') }}</li>\n <li v-if=\"!(selectedTag.meta&&selectedTag.meta.affix)\" @click=\"closeSelectedTag(selectedTag)\">{{\n $t('tagsView.close') }}</li>\n <li @click=\"closeOthersTags\">{{ $t('tagsView.closeOthers') }}</li>\n <li @click=\"closeAllTags(selectedTag)\">{{ $t('tagsView.closeAll') }}</li>\n </ul>\n </div>\n</template>\n\n<script>\nimport ScrollPane from '@/components/element-ui/ScrollPane'\nimport { generateTitle } from '@/utils/i18n'\nimport path from 'path'\n\nexport default {\n components: { ScrollPane },\n data: function() {\n return {\n visible: false,\n top: 0,\n left: 0,\n selectedTag: {},\n affixTags: []\n }\n },\n computed: {\n visitedViews() {\n return this.$store.state.tagsView.visitedViews\n },\n routers() {\n return this.$store.state.permission.routers\n }\n },\n watch: {\n $route() {\n this.addTags()\n this.moveToCurrentTag()\n },\n visible(value) {\n if (value) {\n document.body.addEventListener('click', this.closeMenu)\n } else {\n document.body.removeEventListener('click', this.closeMenu)\n }\n }\n },\n mounted() {\n this.initTags()\n this.addTags()\n },\n methods: {\n generateTitle, // generateTitle by vue-i18n\n isActive(route) {\n return route.path === this.$route.path\n },\n filterAffixTags(routes, basePath = '/') {\n let tags = []\n routes.forEach(route => {\n if (route.meta && route.meta.affix) {\n tags.push({\n path: path.resolve(basePath, route.path),\n name: route.name,\n meta: { ...route.meta }\n })\n }\n if (route.children) {\n const tempTags = this.filterAffixTags(route.children, route.path)\n if (tempTags.length >= 1) {\n tags = [...tags, ...tempTags]\n }\n }\n })\n\n return tags\n },\n initTags() {\n const affixTags = this.affixTags = this.filterAffixTags(this.routers)\n for (const tag of affixTags) {\n // Must have tag name\n if (tag.name) {\n this.$store.dispatch('addVisitedView', tag)\n }\n }\n },\n addTags() {\n const { name } = this.$route\n if (name) {\n this.$store.dispatch('addView', this.$route)\n }\n return false\n },\n moveToCurrentTag() {\n const tags = this.$refs.tag\n this.$nextTick(() => {\n for (const tag of tags) {\n if (tag.to.path === this.$route.path) {\n this.$refs.scrollPane.moveToTarget(tag)\n\n // when query is different then update\n if (tag.to.fullPath !== this.$route.fullPath) {\n this.$store.dispatch('updateVisitedView', this.$route)\n }\n\n break\n }\n }\n })\n },\n refreshSelectedTag(view) {\n this.$store.dispatch('delCachedView', view).then(() => {\n const { fullPath } = view\n this.$nextTick(() => {\n this.$router.replace({\n path: '/redirect' + fullPath\n })\n })\n })\n },\n closeSelectedTag(view) {\n this.$store.dispatch('delView', view).then(({ visitedViews }) => {\n if (this.isActive(view)) {\n this.toLastView(visitedViews)\n }\n })\n },\n closeOthersTags() {\n this.$router.push(this.selectedTag)\n this.$store.dispatch('delOthersViews', this.selectedTag).then(() => {\n this.moveToCurrentTag()\n })\n },\n closeAllTags(view) {\n this.$store.dispatch('delAllViews').then(({ visitedViews }) => {\n if (this.affixTags.some(tag => tag.path === view.path)) {\n return\n }\n this.toLastView(visitedViews)\n })\n },\n toLastView(visitedViews) {\n const latestView = visitedViews.slice(-1)[0]\n if (latestView) {\n this.$router.push(latestView)\n } else {\n // You can set another route\n this.$router.push('/')\n }\n },\n openMenu(tag, e) {\n const menuMinWidth = 105\n const offsetLeft = this.$el.getBoundingClientRect().left // container margin left\n const offsetWidth = this.$el.offsetWidth // container width\n const maxLeft = offsetWidth - menuMinWidth // left boundary\n const left = e.clientX - offsetLeft + 15 // 15: margin right\n\n if (left > maxLeft) {\n this.left = maxLeft\n } else {\n this.left = left\n }\n this.top = e.clientY\n\n this.visible = true\n this.selectedTag = tag\n },\n closeMenu() {\n this.visible = false\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n.tags-view-container {\n height: 34px;\n width: 100%;\n background: #fff;\n border-bottom: 1px solid #d8dce5;\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);\n .tags-view-wrapper {\n .tags-view-item {\n display: inline-block;\n position: relative;\n cursor: pointer;\n height: 26px;\n line-height: 26px;\n border: 1px solid #d8dce5;\n color: #495060;\n background: #fff;\n padding: 0 8px;\n font-size: 12px;\n margin-left: 5px;\n margin-top: 4px;\n &:first-of-type {\n margin-left: 15px;\n }\n &:last-of-type {\n margin-right: 15px;\n }\n &.active {\n background-color: #42b983;\n color: #fff;\n border-color: #42b983;\n &::before {\n content: '';\n background: #fff;\n display: inline-block;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n position: relative;\n margin-right: 2px;\n }\n }\n }\n }\n .contextmenu {\n margin: 0;\n background: #fff;\n z-index: 100;\n position: absolute;\n list-style-type: none;\n padding: 5px 0;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 400;\n color: #333;\n box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);\n li {\n margin: 0;\n padding: 7px 16px;\n cursor: pointer;\n &:hover {\n background: #eee;\n }\n }\n }\n}\n</style>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\">\n//reset element css of el-icon-close\n.tags-view-wrapper {\n .tags-view-item {\n .el-icon-close {\n width: 16px;\n height: 16px;\n vertical-align: 2px;\n border-radius: 50%;\n text-align: center;\n transition: all .3s cubic-bezier(.645, .045, .355, 1);\n transform-origin: 100% 50%;\n &:before {\n transform: scale(.6);\n display: inline-block;\n vertical-align: -3px;\n }\n &:hover {\n background-color: #b4bccc;\n color: #fff;\n }\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./TagsView.vue?vue&type=template&id=e1cdb714&scoped=true&\"\nimport script from \"./TagsView.vue?vue&type=script&lang=js&\"\nexport * from \"./TagsView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TagsView.vue?vue&type=style&index=0&id=e1cdb714&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"\nimport style1 from \"./TagsView.vue?vue&type=style&index=1&rel=stylesheet%2Fscss&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 \"e1cdb714\",\n null\n \n)\n\ncomponent.options.__file = \"TagsView.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tags-view-container\"},[_c('scroll-pane',{ref:\"scrollPane\",staticClass:\"tags-view-wrapper\"},_vm._l((_vm.visitedViews),function(tag){return _c('router-link',{key:tag.path,ref:\"tag\",refInFor:true,staticClass:\"tags-view-item\",class:_vm.isActive(tag)?'active':'',attrs:{\"to\":{ path: tag.path, query: tag.query, fullPath: tag.fullPath },\"tag\":\"span\"},nativeOn:{\"mouseup\":function($event){if('button' in $event && $event.button !== 1){ return null; }return _vm.closeSelectedTag(tag)},\"contextmenu\":function($event){$event.preventDefault();return _vm.openMenu(tag,$event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.generateTitle(tag.title))+\"\\n \"),(!tag.meta.affix)?_c('span',{staticClass:\"el-icon-close\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.closeSelectedTag(tag)}}}):_vm._e()])}),1),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"contextmenu\",style:({left:_vm.left+'px',top:_vm.top+'px'})},[_c('li',{on:{\"click\":function($event){return _vm.refreshSelectedTag(_vm.selectedTag)}}},[_vm._v(_vm._s(_vm.$t('tagsView.refresh')))]),_vm._v(\" \"),(!(_vm.selectedTag.meta&&_vm.selectedTag.meta.affix))?_c('li',{on:{\"click\":function($event){return _vm.closeSelectedTag(_vm.selectedTag)}}},[_vm._v(_vm._s(_vm.$t('tagsView.close')))]):_vm._e(),_vm._v(\" \"),_c('li',{on:{\"click\":_vm.closeOthersTags}},[_vm._v(_vm._s(_vm.$t('tagsView.closeOthers')))]),_vm._v(\" \"),_c('li',{on:{\"click\":function($event){return _vm.closeAllTags(_vm.selectedTag)}}},[_vm._v(_vm._s(_vm.$t('tagsView.closeAll')))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMain.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMain.vue?vue&type=script&lang=js&\"","<template>\n <section class=\"app-main\">\n <transition name=\"fade-transform\" mode=\"out-in\">\n <keep-alive :include=\"cachedViews\">\n <router-view :key=\"key\"/>\n </keep-alive>\n </transition>\n </section>\n</template>\n\n<script>\nexport default {\n name: 'AppMain',\n computed: {\n cachedViews() {\n return this.$store.state.tagsView.cachedViews\n },\n key() {\n return this.$route.fullPath\n }\n }\n}\n</script>\n\n<style scoped>\n.app-main {\n /*84 = navbar + tags-view = 50 +34 */\n min-height: calc(100vh - 84px);\n width: 100%;\n position: relative;\n overflow: hidden;\n}\n</style>\n\n","import { render, staticRenderFns } from \"./AppMain.vue?vue&type=template&id=f852c4f2&scoped=true&\"\nimport script from \"./AppMain.vue?vue&type=script&lang=js&\"\nexport * from \"./AppMain.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppMain.vue?vue&type=style&index=0&id=f852c4f2&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 \"f852c4f2\",\n null\n \n)\n\ncomponent.options.__file = \"AppMain.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"app-main\"},[_c('transition',{attrs:{\"name\":\"fade-transform\",\"mode\":\"out-in\"}},[_c('keep-alive',{attrs:{\"include\":_vm.cachedViews}},[_c('router-view',{key:_vm.key})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import store from '@/store'\n\nconst { body } = document\nconst WIDTH = 1024\nconst RATIO = 3\n\nexport default {\n watch: {\n $route(route) {\n if (this.device === 'mobile' && this.sidebar.opened) {\n store.dispatch('closeSideBar', { withoutAnimation: false })\n }\n }\n },\n beforeMount() {\n window.addEventListener('resize', this.resizeHandler)\n },\n mounted() {\n const isMobile = this.isMobile()\n if (isMobile) {\n store.dispatch('toggleDevice', 'mobile')\n store.dispatch('closeSideBar', { withoutAnimation: true })\n }\n },\n methods: {\n isMobile() {\n const rect = body.getBoundingClientRect()\n return rect.width - RATIO < WIDTH\n },\n resizeHandler() {\n if (!document.hidden) {\n const isMobile = this.isMobile()\n store.dispatch('toggleDevice', isMobile ? 'mobile' : 'desktop')\n\n if (isMobile) {\n store.dispatch('closeSideBar', { withoutAnimation: true })\n }\n }\n }\n }\n}\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"","<template>\n <div :class=\"classObj\" class=\"app-wrapper\">\n <div v-if=\"device==='mobile'&&sidebar.opened\" class=\"drawer-bg\" @click=\"handleClickOutside\"/>\n <sidebar class=\"sidebar-container\"/>\n <div class=\"main-container\">\n <navbar/>\n <app-main/>\n </div>\n </div>\n</template>\n\n<script>\nimport { Navbar, Sidebar, AppMain, TagsView } from './components'\nimport ResizeMixin from './mixin/ResizeHandler'\n\nexport default {\n name: 'Layout',\n components: {\n Navbar,\n Sidebar,\n AppMain,\n TagsView\n },\n mixins: [ResizeMixin],\n computed: {\n sidebar() {\n return this.$store.state.app.sidebar\n },\n device() {\n return this.$store.state.app.device\n },\n classObj() {\n return {\n hideSidebar: !this.sidebar.opened,\n openSidebar: this.sidebar.opened,\n withoutAnimation: this.sidebar.withoutAnimation,\n mobile: this.device === 'mobile'\n }\n }\n },\n methods: {\n handleClickOutside() {\n this.$store.dispatch('closeSideBar', { withoutAnimation: false })\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n @import \"~@/styles/mixin.scss\";\n .app-wrapper {\n @include clearfix;\n position: relative;\n height: 100%;\n width: 100%;\n &.mobile.openSidebar{\n position: fixed;\n top: 0;\n }\n }\n .drawer-bg {\n background: #000;\n opacity: 0.3;\n width: 100%;\n top: 0;\n height: 100%;\n position: absolute;\n z-index: 999;\n }\n</style>\n","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=767d264f&scoped=true&\"\nimport script from \"./Layout.vue?vue&type=script&lang=js&\"\nexport * from \"./Layout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Layout.vue?vue&type=style&index=0&id=767d264f&rel=stylesheet%2Fscss&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 \"767d264f\",\n null\n \n)\n\ncomponent.options.__file = \"Layout.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-wrapper\",class:_vm.classObj},[(_vm.device==='mobile'&&_vm.sidebar.opened)?_c('div',{staticClass:\"drawer-bg\",on:{\"click\":_vm.handleClickOutside}}):_vm._e(),_vm._v(\" \"),_c('sidebar',{staticClass:\"sidebar-container\"}),_vm._v(\" \"),_c('div',{staticClass:\"main-container\"},[_c('navbar'),_vm._v(\" \"),_c('app-main')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport Router from 'vue-router'\n\nVue.use(Router)\n\n/* Layout */\nimport Layout from '@/views/layout/Layout'\n\nconst disabledFeatures = process.env.DISABLED_FEATURES || []\nconst settingsDisabled = disabledFeatures.includes('settings')\nconst settings = {\n path: '/settings',\n component: Layout,\n children: [\n {\n path: 'index',\n component: () => import('@/views/settings/index'),\n name: 'Settings',\n meta: { title: 'Settings', icon: 'settings', noCache: true }\n }\n ]\n}\n\nconst statusesDisabled = disabledFeatures.includes('statuses')\nconst statuses = {\n path: '/statuses',\n component: Layout,\n children: [\n {\n path: 'index',\n component: () => import('@/views/statuses/index'),\n name: 'Statuses',\n meta: { title: 'Statuses', icon: 'form', noCache: true }\n }\n ]\n}\n\nconst reportsDisabled = disabledFeatures.includes('reports')\nconst reports = {\n path: '/reports',\n component: Layout,\n children: [\n {\n path: 'index',\n component: () => import('@/views/reports/index'),\n name: 'Reports',\n meta: { title: 'Reports', icon: 'documentation', noCache: true }\n }\n ]\n}\n\nconst invitesDisabled = disabledFeatures.includes('invites')\nconst invites = {\n path: '/invites',\n component: Layout,\n children: [\n {\n path: 'index',\n component: () => import('@/views/invites/index'),\n name: 'Invites',\n meta: { title: 'Invites', icon: 'guide', noCache: true }\n }\n ]\n}\n\nconst moderationLogDisabled = disabledFeatures.includes('moderation-log')\nconst moderationLog = {\n path: '/moderation_log',\n component: Layout,\n children: [\n {\n path: 'index',\n component: () => import('@/views/moderation_log/index'),\n name: 'Moderation Log',\n meta: { title: 'moderationLog', icon: 'list', noCache: true }\n }\n ]\n}\n\nexport const constantRouterMap = [\n {\n path: '/redirect',\n component: Layout,\n hidden: true,\n children: [\n {\n path: '/redirect/:path*',\n component: () => import('@/views/redirect/index')\n }\n ]\n },\n {\n path: '/login-pleroma',\n component: () => import('@/views/login/pleroma'),\n hidden: true\n },\n {\n path: '/login',\n component: () => import('@/views/login/index'),\n hidden: true\n },\n {\n path: '/auth-redirect',\n component: () => import('@/views/login/authredirect'),\n hidden: true\n },\n {\n path: '/404',\n component: () => import('@/views/errorPage/404'),\n hidden: true\n },\n {\n path: '/401',\n component: () => import('@/views/errorPage/401'),\n hidden: true\n },\n {\n path: '',\n component: Layout,\n redirect: '/users/index'\n }\n]\n\nexport default new Router({\n // mode: 'history', // require service support\n scrollBehavior: () => ({ y: 0 }),\n routes: constantRouterMap\n})\n\nexport const asyncRouterMap = [\n {\n path: '/users',\n component: Layout,\n children: [\n {\n path: 'index',\n component: () => import('@/views/users/index'),\n name: 'Users',\n meta: { title: 'users', icon: 'peoples', noCache: true }\n }\n ]\n },\n ...(statusesDisabled ? [] : [statuses]),\n ...(reportsDisabled ? [] : [reports]),\n ...(invitesDisabled ? [] : [invites]),\n ...(moderationLogDisabled ? [] : [moderationLog]),\n ...(settingsDisabled ? [] : [settings]),\n {\n path: '/users/:id',\n component: Layout,\n children: [\n {\n path: '',\n name: 'UsersShow',\n component: () => import('@/views/users/show')\n }\n ],\n hidden: true\n },\n { path: '*', redirect: '/404', hidden: true }\n]\n","import { asyncRouterMap, constantRouterMap } from '@/router'\n\n/**\n * 通过meta.role判断是否与当前用户权限匹配\n * @param roles\n * @param route\n */\nfunction hasPermission(roles, route) {\n if (route.meta && route.meta.roles) {\n return roles.some(role => route.meta.roles.includes(role))\n } else {\n return true\n }\n}\n\n/**\n * 递归过滤异步路由表,返回符合用户角色权限的路由表\n * @param routes asyncRouterMap\n * @param roles\n */\nfunction filterAsyncRouter(routes, roles) {\n const res = []\n\n routes.forEach(route => {\n const tmp = { ...route }\n if (hasPermission(roles, tmp)) {\n if (tmp.children) {\n tmp.children = filterAsyncRouter(tmp.children, roles)\n }\n res.push(tmp)\n }\n })\n\n return res\n}\n\nconst permission = {\n state: {\n routers: [],\n addRouters: []\n },\n mutations: {\n SET_ROUTERS: (state, routers) => {\n state.addRouters = routers\n state.routers = constantRouterMap.concat(routers)\n }\n },\n actions: {\n GenerateRoutes({ commit }, data) {\n return new Promise(resolve => {\n const { roles } = data\n let accessedRouters\n if (roles.includes('admin')) {\n accessedRouters = asyncRouterMap\n } else {\n accessedRouters = filterAsyncRouter(asyncRouterMap, roles)\n }\n commit('SET_ROUTERS', accessedRouters)\n resolve()\n })\n }\n }\n}\n\nexport default permission\n","import request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nexport async function fetchRelays(authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: '/api/pleroma/admin/relay',\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function addRelay(relay, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: '/api/pleroma/admin/relay',\n method: 'post',\n headers: authHeaders(token),\n data: { relay_url: relay }\n })\n}\n\nexport async function deleteRelay(relay, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: '/api/pleroma/admin/relay',\n method: 'delete',\n headers: authHeaders(token),\n data: { relay_url: `https://${relay}/actor` }\n })\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","import { fetchRelays, addRelay, deleteRelay } from '@/api/relays'\n\nconst relays = {\n state: {\n fetchedRelays: [],\n loading: true\n },\n mutations: {\n SET_LOADING: (state, loading) => {\n state.loading = loading\n },\n SET_RELAYS: (state, relays) => {\n state.fetchedRelays = relays\n },\n ADD_RELAY: (state, relay) => {\n state.fetchedRelays = [...state.fetchedRelays, relay]\n },\n DELETE_RELAY: (state, relay) => {\n state.fetchedRelays = state.fetchedRelays.filter(fetchedRelay => fetchedRelay !== relay)\n }\n },\n actions: {\n async FetchRelays({ commit, getters }) {\n commit('SET_LOADING', true)\n\n const response = await fetchRelays(getters.authHost, getters.token)\n\n commit('SET_RELAYS', response.data.relays)\n commit('SET_LOADING', false)\n },\n async AddRelay({ commit, dispatch, getters }, relay) {\n commit('ADD_RELAY', relay)\n\n try {\n await addRelay(relay, getters.authHost, getters.token)\n } catch (_e) {\n return\n } finally {\n dispatch('FetchRelays')\n }\n },\n async DeleteRelay({ commit, dispatch, getters }, relay) {\n commit('DELETE_RELAY', relay)\n\n try {\n await deleteRelay(relay, getters.authHost, getters.token)\n } catch (_e) {\n return\n } finally {\n dispatch('FetchRelays')\n }\n }\n }\n}\n\nexport default relays\n","import request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nexport async function changeState(reports, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/reports`,\n method: 'patch',\n headers: authHeaders(token),\n data: { reports }\n })\n}\n\nexport async function fetchReports(filter, page, pageSize, authHost, token) {\n const url = filter.length > 0\n ? `/api/pleroma/admin/reports?state=${filter}&page=${page}&page_size=${pageSize}`\n : `/api/pleroma/admin/reports?page=${page}&page_size=${pageSize}`\n return await request({\n baseURL: baseName(authHost),\n url,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function fetchGroupedReports(authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/grouped_reports`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function createNote(content, reportID, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/reports/${reportID}/notes`,\n method: `post`,\n headers: authHeaders(token),\n data: { content }\n })\n}\n\nexport async function deleteNote(noteID, reportID, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/reports/${reportID}/notes/${noteID}`,\n method: `delete`,\n headers: authHeaders(token)\n })\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","import { changeState, fetchReports, fetchGroupedReports, createNote, deleteNote } from '@/api/reports'\n\nconst reports = {\n state: {\n fetchedReports: [],\n fetchedGroupedReports: [],\n totalReportsCount: 0,\n currentPage: 1,\n pageSize: 50,\n groupReports: false,\n stateFilter: '',\n loading: true\n },\n mutations: {\n SET_LAST_REPORT_ID: (state, id) => {\n state.idOfLastReport = id\n },\n SET_LOADING: (state, status) => {\n state.loading = status\n },\n SET_PAGE: (state, page) => {\n state.currentPage = page\n },\n SET_REPORTS: (state, reports) => {\n state.fetchedReports = reports\n },\n SET_GROUPED_REPORTS: (state, reports) => {\n state.fetchedGroupedReports = reports\n },\n SET_REPORTS_COUNT: (state, total) => {\n state.totalReportsCount = total\n },\n SET_REPORTS_FILTER: (state, filter) => {\n state.stateFilter = filter\n },\n SET_REPORTS_GROUPING: (state) => {\n state.groupReports = !state.groupReports\n }\n },\n actions: {\n async ChangeReportState({ commit, getters, state }, reportsData) {\n changeState(reportsData, getters.authHost, getters.token)\n\n const updatedReports = state.fetchedReports.map(report => {\n const updatedReportsIds = reportsData.map(({ id }) => id)\n return updatedReportsIds.includes(report.id) ? { ...report, state: reportsData[0].state } : report\n })\n\n const updatedGroupedReports = state.fetchedGroupedReports.map(group => {\n const updatedReportsIds = reportsData.map(({ id }) => id)\n const updatedReports = group.reports.map(report => updatedReportsIds.includes(report.id) ? { ...report, state: reportsData[0].state } : report)\n return { ...group, reports: updatedReports }\n })\n\n commit('SET_REPORTS', updatedReports)\n commit('SET_GROUPED_REPORTS', updatedGroupedReports)\n },\n ClearFetchedReports({ commit }) {\n commit('SET_REPORTS', [])\n },\n async FetchReports({ commit, getters, state }, page) {\n commit('SET_LOADING', true)\n const { data } = await fetchReports(state.stateFilter, page, state.pageSize, getters.authHost, getters.token)\n\n commit('SET_REPORTS', data.reports)\n commit('SET_REPORTS_COUNT', data.total)\n commit('SET_PAGE', page)\n commit('SET_LOADING', false)\n },\n async FetchGroupedReports({ commit, getters }) {\n commit('SET_LOADING', true)\n const { data } = await fetchGroupedReports(getters.authHost, getters.token)\n\n commit('SET_GROUPED_REPORTS', data.reports)\n commit('SET_LOADING', false)\n },\n SetFilter({ commit }, filter) {\n commit('SET_REPORTS_FILTER', filter)\n },\n ToggleReportsGrouping({ commit }) {\n commit('SET_REPORTS_GROUPING')\n },\n CreateReportNote({ commit, getters, state, rootState }, { content, reportID }) {\n createNote(content, reportID, getters.authHost, getters.token)\n\n const optimisticNote = {\n user: {\n avatar: rootState.user.avatar,\n display_name: rootState.user.name,\n url: `${rootState.user.authHost}/${rootState.user.name}`,\n acct: rootState.user.name\n },\n content: content,\n created_at: new Date().getTime()\n }\n\n const updatedReports = state.fetchedReports.map(report => {\n if (report.id === reportID) {\n report.notes = [...report.notes, optimisticNote]\n }\n\n return report\n })\n\n commit('SET_REPORTS', updatedReports)\n },\n DeleteReportNote({ commit, getters, state }, { noteID, reportID }) {\n deleteNote(noteID, reportID, getters.authHost, getters.token)\n\n const updatedReports = state.fetchedReports.map(report => {\n if (report.id === reportID) {\n report.notes = report.notes.filter(note => note.id !== noteID)\n }\n\n return report\n })\n\n commit('SET_REPORTS', updatedReports)\n }\n }\n}\n\nexport default reports\n","import request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nexport async function fetchSettings(authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/config`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function updateSettings(configs, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/config`,\n method: 'post',\n headers: authHeaders(token),\n data: { configs }\n })\n}\n\nexport async function uploadMedia(file, authHost, token) {\n const formData = new FormData()\n formData.append('file', file)\n return await request({\n baseURL: baseName(authHost),\n url: `/api/v1/media`,\n method: 'post',\n headers: authHeaders(token),\n data: formData\n })\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","const nonAtomsTuples = ['replace', ':replace']\nconst nonAtomsObjects = ['match_actor', ':match_actor']\nconst objects = ['digest', 'pleroma_fe', 'masto_fe', 'poll_limits', 'styling']\nconst objectParents = ['mascots']\nconst groups = {\n 'cors_plug': [\n 'credentials',\n 'expose',\n 'headers',\n 'max_age',\n 'methods'\n ],\n 'esshd': [\n 'enabled',\n 'handler',\n 'password_authenticator',\n 'port',\n 'priv_dir'\n ],\n 'logger': ['backends', 'console', 'ex_syslogger'],\n 'mime': ['types'],\n 'phoenix': ['format_encoders'],\n 'pleroma': [\n 'Pleroma.Captcha',\n 'Pleroma.Captcha.Kocaptcha',\n 'Pleroma.Emails.Mailer',\n 'Pleroma.Emails.UserEmail',\n 'Pleroma.Repo',\n 'Pleroma.ScheduledActivity',\n 'Pleroma.Upload',\n 'Pleroma.Upload.Filter.AnonymizeFilename',\n 'Pleroma.Upload.Filter.Mogrify',\n 'Pleroma.Uploaders.Local',\n 'Pleroma.Uploaders.MDII',\n 'Pleroma.Uploaders.S3',\n 'Pleroma.User',\n 'Pleroma.Web.Auth.Authenticator',\n 'Pleroma.Web.Endpoint',\n 'Pleroma.Web.Federator.RetryQueue',\n 'Pleroma.Web.Metadata',\n 'activitypub',\n 'admin_token',\n 'assets',\n 'auth',\n 'auto_linker',\n 'chat',\n 'database',\n 'ecto_repos',\n 'email_notifications',\n 'emoji',\n 'env',\n 'fetch_initial_posts',\n 'frontend_configurations',\n 'gopher',\n 'hackney_pools',\n 'http',\n 'http_security',\n 'instance',\n 'ldap',\n 'markup',\n 'media_proxy',\n 'mrf_hellthread',\n 'mrf_keyword',\n 'mrf_mention',\n 'mrf_normalize_markup',\n 'mrf_rejectnonpublic',\n 'mrf_simple',\n 'mrf_subchain',\n 'mrf_user_allowlist',\n 'mrf_vocabulary',\n 'oauth2',\n 'rate_limit',\n 'rich_media',\n 'suggestions',\n 'uri_schemes',\n 'user'\n ],\n 'pleroma_job_queue': ['queues'],\n 'quack': ['level', 'meta', 'webhook_url'],\n 'tesla': ['adapter'],\n 'ueberauth': [\n 'Ueberauth',\n 'Ueberauth.Strategy.Facebook.OAuth',\n 'Ueberauth.Strategy.Google.OAuth',\n 'Ueberauth.Strategy.Microsoft.OAuth',\n 'Ueberauth.Strategy.Twitter.OAuth'\n ],\n 'web_push_encryption': ['vapid_details']\n}\n\nexport const filterIgnored = (settings, ignored) => {\n if (settings.enabled.value === true) {\n return settings\n }\n\n return ignored.reduce((acc, name) => {\n const { [name]: ignored, ...newAcc } = acc\n\n return newAcc\n }, settings)\n}\n\n// REFACTOR\nexport const parseTuples = (tuples, key) => {\n return tuples.reduce((accum, item) => {\n if (key === 'rate_limit') {\n accum[item.tuple[0].substr(1)] = item.tuple[1]\n } else if (Array.isArray(item.tuple[1]) &&\n (typeof item.tuple[1][0] === 'object' && !Array.isArray(item.tuple[1][0])) && item.tuple[1][0]['tuple']) {\n nonAtomsTuples.includes(item.tuple[0])\n ? accum[item.tuple[0].substr(1)] = parseNonAtomTuples(item.tuple[1])\n : accum[item.tuple[0].substr(1)] = parseTuples(item.tuple[1])\n } else if (Array.isArray(item.tuple[1])) {\n accum[item.tuple[0].substr(1)] = item.tuple[1]\n } else if (item.tuple[1] && typeof item.tuple[1] === 'object' && 'tuple' in item.tuple[1]) {\n accum[item.tuple[0].substr(1)] = item.tuple[1]['tuple'].join('.')\n } else if (item.tuple[1] && typeof item.tuple[1] === 'object') {\n nonAtomsObjects.includes(item.tuple[0])\n ? accum[item.tuple[0].substr(1)] = parseNonAtomObject(item.tuple[1])\n : accum[item.tuple[0].substr(1)] = parseObject(item.tuple[1])\n } else {\n key === 'mrf_user_allowlist'\n ? accum[item.tuple[0]] = item.tuple[1]\n : accum[item.tuple[0].substr(1)] = item.tuple[1]\n }\n return accum\n }, {})\n}\n\nconst parseNonAtomTuples = (tuples) => {\n return tuples.reduce((acc, item) => {\n acc[item.tuple[0]] = item.tuple[1]\n return acc\n }, {})\n}\n\nconst parseNonAtomObject = (object) => {\n return Object.keys(object).reduce((acc, item) => {\n acc[item] = object[item]\n return acc\n }, {})\n}\n\nconst parseObject = (object) => {\n return Object.keys(object).reduce((acc, item) => {\n acc[item.substr(1)] = object[item]\n return acc\n }, {})\n}\n\nexport const valueHasTuples = (key, value) => {\n const valueIsArrayOfNonObjects = Array.isArray(value) && value.length > 0 && typeof value[0] !== 'object'\n return key === 'meta' ||\n key === 'types' ||\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean' ||\n valueIsArrayOfNonObjects\n}\n\n// REFACTOR\nexport const wrapConfig = settings => {\n return Object.keys(settings).map(config => {\n const group = getGroup(config)\n const key = config.startsWith('Pleroma') || config.startsWith('Ueberauth') ? config : `:${config}`\n const value = (settings[config]['value'] !== undefined)\n ? settings[config]['value']\n : Object.keys(settings[config]).reduce((acc, settingName) => {\n const data = settings[config][settingName]\n if (data === null || data === '') {\n return acc\n } else if (key === ':rate_limit') {\n return [...acc, { 'tuple': [`:${settingName}`, data] }]\n } else if (settingName === 'ip') {\n const ip = data.split('.').map(s => parseInt(s, 10))\n return [...acc, { 'tuple': [`:${settingName}`, { 'tuple': ip }] }]\n } else if (Array.isArray(data) || typeof data !== 'object') {\n return key === ':mrf_user_allowlist'\n ? [...acc, { 'tuple': [`${settingName}`, data] }]\n : [...acc, { 'tuple': [`:${settingName}`, data] }]\n } else if (nonAtomsObjects.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNonAtomsObjects(data)] }]\n } else if (objectParents.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNestedObjects(data)] }]\n } else if (objects.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapObjects(data)] }]\n } else if (nonAtomsTuples.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNonAtomsTuples(data)] }]\n } else {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNestedTuples(data)] }]\n }\n }, [])\n return { group, key, value }\n })\n}\n\nconst wrapNestedTuples = setting => {\n return Object.keys(setting).reduce((acc, settingName) => {\n const data = setting[settingName]\n if (data === null || data === '') {\n return acc\n } else if (settingName === 'ip') {\n const ip = data.split('.').map(s => parseInt(s, 10))\n return [...acc, { 'tuple': [`:${settingName}`, { 'tuple': ip }] }]\n } else if (Array.isArray(data) || typeof data !== 'object') {\n return [...acc, { 'tuple': [`:${settingName}`, data] }]\n } else if (nonAtomsObjects.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNonAtomsObjects(data)] }]\n } else if (objectParents.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNestedObjects(data)] }]\n } else if (objects.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapObjects(data)] }]\n } else if (nonAtomsTuples.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNonAtomsTuples(data)] }]\n } else {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNestedTuples(data)] }]\n }\n }, [])\n}\n\nconst wrapNonAtomsTuples = setting => {\n return Object.keys(setting).reduce((acc, settingName) => {\n return [...acc, { 'tuple': [`${settingName}`, setting[settingName]] }]\n }, [])\n}\n\nconst wrapNestedObjects = setting => {\n return Object.keys(setting).reduce((acc, settingName) => {\n return [...acc, { 'tuple': [`:${settingName}`, wrapObjects(setting[settingName])] }]\n }, [])\n}\n\nconst wrapNonAtomsObjects = setting => {\n return Object.keys(setting).reduce((acc, settingName) => {\n return { ...acc, [`${settingName}`]: setting[settingName] }\n }, {})\n}\n\nconst wrapObjects = setting => {\n return Object.keys(setting).reduce((acc, settingName) => {\n return { ...acc, [`:${settingName}`]: setting[settingName] }\n }, {})\n}\n\nconst getGroup = key => {\n return Object.keys(groups).find(i => groups[i].includes(key))\n}\n\n","import i18n from '@/lang'\nimport { fetchSettings, updateSettings, uploadMedia } from '@/api/settings'\nimport { filterIgnored, parseTuples, valueHasTuples, wrapConfig } from './normalizers'\nimport { Message } from 'element-ui'\n\nconst settings = {\n state: {\n settings: {\n 'activitypub': {},\n 'adapter': {},\n 'admin_token': {},\n 'assets': { mascots: {}},\n 'auth': {},\n 'auto_linker': { opts: {}},\n 'backends': {},\n 'chat': {},\n 'console': { colors: {}},\n 'credentials': {},\n 'database': {},\n 'ecto_repos': {},\n 'email_notifications': { digest: {}},\n 'emoji': { groups: {}},\n 'enabled': {},\n 'ex_syslogger': {},\n 'expose': {},\n 'fetch_initial_posts': {},\n 'format_encoders': {},\n 'frontend_configurations': { pleroma_fe: {}, masto_fe: {}},\n 'gopher': {},\n 'hackney_pools': { federation: {}, media: {}, upload: {}},\n 'handler': {},\n 'headers': {},\n 'http': { adapter: {}},\n 'http_security': {},\n 'instance': { poll_limits: {}},\n 'level': {},\n 'ldap': {},\n 'markup': {},\n 'max_age': {},\n 'media_proxy': { proxy_opts: {}},\n 'meta': {},\n 'methods': {},\n 'mrf_hellthread': {},\n 'mrf_keyword': { replace: {}},\n 'mrf_mention': {},\n 'mrf_normalize_markup': {},\n 'mrf_rejectnonpublic': {},\n 'mrf_simple': {},\n 'mrf_subchain': { match_actor: {}},\n 'mrf_user_allowlist': {},\n 'mrf_vocabulary': {},\n 'oauth2': {},\n 'password_authenticator': {},\n 'Pleroma.Captcha': {},\n 'Pleroma.Captcha.Kocaptcha': {},\n 'Pleroma.Emails.Mailer': {},\n 'Pleroma.Emails.UserEmail': { styling: {}},\n 'Pleroma.Repo': {},\n 'Pleroma.ScheduledActivity': {},\n 'Pleroma.Upload': { proxy_opts: {}},\n 'Pleroma.Upload.Filter.AnonymizeFilename': {},\n 'Pleroma.Upload.Filter.Mogrify': {},\n 'Pleroma.Uploaders.Local': {},\n 'Pleroma.Uploaders.MDII': {},\n 'Pleroma.Uploaders.S3': {},\n 'Pleroma.User': {},\n 'Pleroma.Web.Auth.Authenticator': {},\n 'Pleroma.Web.Endpoint':\n { http: false, url: {}, render_errors: {}, pubsub: {}},\n 'Pleroma.Web.Federator.RetryQueue': {},\n 'Pleroma.Web.Metadata': {},\n 'port': {},\n 'priv_dir': {},\n 'queues': {},\n 'rate_limit': {},\n 'rich_media': {},\n 'suggestions': {},\n 'types': { value: {}},\n 'Ueberauth': {},\n 'Ueberauth.Strategy.Facebook.OAuth': {},\n 'Ueberauth.Strategy.Google.OAuth': {},\n 'Ueberauth.Strategy.Microsoft.OAuth': {},\n 'Ueberauth.Strategy.Twitter.OAuth': {},\n 'user': {},\n 'uri_schemes': {},\n 'vapid_details': {},\n 'webhook_url': {}\n },\n ignoredIfNotEnabled: ['enabled', 'handler', 'password_authenticator', 'port', 'priv_dir'],\n loading: true\n },\n mutations: {\n REWRITE_CONFIG: (state, { tab, data }) => {\n state.settings[tab] = data\n },\n SET_LOADING: (state, status) => {\n state.loading = status\n },\n SET_SETTINGS: (state, data) => {\n const newSettings = data.reduce((acc, config) => {\n const key = config.key[0] === ':' ? config.key.substr(1) : config.key\n const value = valueHasTuples(key, config.value) ? { value: config.value } : parseTuples(config.value, key)\n acc[key] = { ...acc[key], ...value }\n return acc\n }, state.settings)\n state.settings = newSettings\n },\n UPDATE_SETTINGS: (state, { tab, data }) => {\n Object.keys(state.settings).map(configName => {\n if (configName === tab) {\n state.settings[configName] = { ...state.settings[configName], ...data }\n }\n })\n }\n },\n actions: {\n async FetchSettings({ commit, dispatch, getters }) {\n commit('SET_LOADING', true)\n const response = await fetchSettings(getters.authHost, getters.token)\n commit('SET_SETTINGS', response.data.configs)\n commit('SET_LOADING', false)\n },\n RewriteConfig({ commit }, { tab, data }) {\n commit('REWRITE_CONFIG', { tab, data })\n },\n async SubmitChanges({ getters, commit, state }, data) {\n const filteredSettings = filterIgnored(state.settings, state.ignoredIfNotEnabled)\n const configs = data || wrapConfig(filteredSettings)\n try {\n const response = await updateSettings(configs, getters.authHost, getters.token)\n commit('SET_SETTINGS', response.data.configs)\n } catch (_e) {\n return\n }\n Message({\n message: i18n.t('settings.success'),\n type: 'success',\n duration: 5 * 1000\n })\n },\n UpdateSettings({ commit }, { tab, data }) {\n commit('UPDATE_SETTINGS', { tab, data })\n },\n async UploadMedia({ dispatch, getters, state }, { file, tab, inputName, childName }) {\n const response = await uploadMedia(file, getters.authHost, getters.token)\n const updatedValue = childName\n ? { ...state.settings[tab][inputName], ...{ [childName]: response.data.url }}\n : response.data.url\n dispatch('UpdateSettings', { tab, data: { [inputName]: updatedValue }})\n }\n }\n}\n\nexport default settings\n","import request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nexport async function changeStatusScope(id, sensitive, visibility, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/statuses/${id}`,\n method: 'put',\n headers: authHeaders(token),\n data: { sensitive, visibility }\n })\n}\n\nexport async function deleteStatus(id, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/statuses/${id}`,\n method: 'delete',\n headers: authHeaders(token)\n })\n}\n\nexport async function fetchStatusesByInstance(instance, authHost, token, pageSize, page = 1) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/instances/${instance}/statuses?page=${page}&page_size=${pageSize}`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","import { changeStatusScope, deleteStatus, fetchStatusesByInstance } from '@/api/status'\n\nconst status = {\n state: {\n fetchedStatuses: [],\n loading: false\n },\n mutations: {\n SET_STATUSES: (state, statuses) => {\n state.fetchedStatuses = statuses\n },\n PUSH_STATUSES: (state, statuses) => {\n state.fetchedStatuses = [...state.fetchedStatuses, ...statuses]\n },\n SET_LOADING: (state, status) => {\n state.loading = status\n }\n },\n actions: {\n async ChangeStatusScope({ dispatch, getters }, { statusId, isSensitive, visibility, reportCurrentPage, userId, godmode }) {\n await changeStatusScope(statusId, isSensitive, visibility, getters.authHost, getters.token)\n if (reportCurrentPage !== 0) { // called from Reports\n dispatch('FetchReports', reportCurrentPage)\n } else if (userId.length > 0) { // called from User profile\n dispatch('FetchUserStatuses', { userId, godmode })\n } else { // called from GroupedReports\n dispatch('FetchGroupedReports')\n }\n },\n async DeleteStatus({ dispatch, getters }, { statusId, reportCurrentPage, userId, godmode }) {\n await deleteStatus(statusId, getters.authHost, getters.token)\n if (reportCurrentPage !== 0) { // called from Reports\n dispatch('FetchReports', reportCurrentPage)\n } else if (userId.length > 0) { // called from User profile\n dispatch('FetchUserStatuses', { userId, godmode })\n } else { // called from GroupedReports\n dispatch('FetchGroupedReports')\n }\n },\n async FetchStatusesByInstance({ commit, getters }, { instance, page, pageSize }) {\n commit('SET_LOADING', true)\n const statuses = await fetchStatusesByInstance(instance, getters.authHost, getters.token, pageSize, page)\n\n commit('SET_STATUSES', statuses.data)\n commit('SET_LOADING', false)\n },\n async FetchStatusesPageByInstance({ commit, getters }, { instance, page, pageSize }) {\n commit('SET_LOADING', true)\n const statuses = await fetchStatusesByInstance(instance, getters.authHost, getters.token, pageSize, page)\n\n commit('PUSH_STATUSES', statuses.data)\n commit('SET_LOADING', false)\n }\n }\n}\n\nexport default status\n","const tagsView = {\n state: {\n visitedViews: [],\n cachedViews: []\n },\n mutations: {\n ADD_VISITED_VIEW: (state, view) => {\n if (state.visitedViews.some(v => v.path === view.path)) return\n state.visitedViews.push(\n Object.assign({}, view, {\n title: view.meta.title || 'no-name'\n })\n )\n },\n ADD_CACHED_VIEW: (state, view) => {\n if (state.cachedViews.includes(view.name)) return\n if (!view.meta.noCache) {\n state.cachedViews.push(view.name)\n }\n },\n\n DEL_VISITED_VIEW: (state, view) => {\n for (const [i, v] of state.visitedViews.entries()) {\n if (v.path === view.path) {\n state.visitedViews.splice(i, 1)\n break\n }\n }\n },\n DEL_CACHED_VIEW: (state, view) => {\n for (const i of state.cachedViews) {\n if (i === view.name) {\n const index = state.cachedViews.indexOf(i)\n state.cachedViews.splice(index, 1)\n break\n }\n }\n },\n\n DEL_OTHERS_VISITED_VIEWS: (state, view) => {\n state.visitedViews = state.visitedViews.filter(v => {\n return v.meta.affix || v.path === view.path\n })\n },\n DEL_OTHERS_CACHED_VIEWS: (state, view) => {\n for (const i of state.cachedViews) {\n if (i === view.name) {\n const index = state.cachedViews.indexOf(i)\n state.cachedViews = state.cachedViews.slice(index, index + 1)\n break\n }\n }\n },\n\n DEL_ALL_VISITED_VIEWS: state => {\n // keep affix tags\n const affixTags = state.visitedViews.filter(tag => tag.meta.affix)\n state.visitedViews = affixTags\n },\n DEL_ALL_CACHED_VIEWS: state => {\n state.cachedViews = []\n },\n\n UPDATE_VISITED_VIEW: (state, view) => {\n for (let v of state.visitedViews) {\n if (v.path === view.path) {\n v = Object.assign(v, view)\n break\n }\n }\n }\n\n },\n actions: {\n addView({ dispatch }, view) {\n dispatch('addVisitedView', view)\n dispatch('addCachedView', view)\n },\n addVisitedView({ commit }, view) {\n commit('ADD_VISITED_VIEW', view)\n },\n addCachedView({ commit }, view) {\n commit('ADD_CACHED_VIEW', view)\n },\n\n delView({ dispatch, state }, view) {\n return new Promise(resolve => {\n dispatch('delVisitedView', view)\n dispatch('delCachedView', view)\n resolve({\n visitedViews: [...state.visitedViews],\n cachedViews: [...state.cachedViews]\n })\n })\n },\n delVisitedView({ commit, state }, view) {\n return new Promise(resolve => {\n commit('DEL_VISITED_VIEW', view)\n resolve([...state.visitedViews])\n })\n },\n delCachedView({ commit, state }, view) {\n return new Promise(resolve => {\n commit('DEL_CACHED_VIEW', view)\n resolve([...state.cachedViews])\n })\n },\n\n delOthersViews({ dispatch, state }, view) {\n return new Promise(resolve => {\n dispatch('delOthersVisitedViews', view)\n dispatch('delOthersCachedViews', view)\n resolve({\n visitedViews: [...state.visitedViews],\n cachedViews: [...state.cachedViews]\n })\n })\n },\n delOthersVisitedViews({ commit, state }, view) {\n return new Promise(resolve => {\n commit('DEL_OTHERS_VISITED_VIEWS', view)\n resolve([...state.visitedViews])\n })\n },\n delOthersCachedViews({ commit, state }, view) {\n return new Promise(resolve => {\n commit('DEL_OTHERS_CACHED_VIEWS', view)\n resolve([...state.cachedViews])\n })\n },\n\n delAllViews({ dispatch, state }, view) {\n return new Promise(resolve => {\n dispatch('delAllVisitedViews', view)\n dispatch('delAllCachedViews', view)\n resolve({\n visitedViews: [...state.visitedViews],\n cachedViews: [...state.cachedViews]\n })\n })\n },\n delAllVisitedViews({ commit, state }) {\n return new Promise(resolve => {\n commit('DEL_ALL_VISITED_VIEWS')\n resolve([...state.visitedViews])\n })\n },\n delAllCachedViews({ commit, state }) {\n return new Promise(resolve => {\n commit('DEL_ALL_CACHED_VIEWS')\n resolve([...state.cachedViews])\n })\n },\n\n updateVisitedView({ commit }, view) {\n commit('UPDATE_VISITED_VIEW', view)\n }\n }\n}\n\nexport default tagsView\n","import request from '@/utils/request'\nimport { baseName } from './utils'\n\nexport async function loginByUsername(username, password, authHost) {\n const appsRequest = await request({\n baseURL: baseName(authHost),\n url: '/api/v1/apps',\n method: 'post',\n data: {\n client_name: `AdminFE_${Math.random()}`,\n redirect_uris: `${window.location.origin}/oauth-callback`,\n scopes: 'read write follow push admin'\n }\n })\n\n const app = appsRequest.data\n\n return request({\n baseURL: baseName(authHost),\n url: '/oauth/token',\n method: 'post',\n data: {\n client_id: app.client_id,\n client_secret: app.client_secret,\n grant_type: 'password',\n username: username,\n password: password\n }\n })\n}\n\nexport function getUserInfo(token, authHost) {\n return request({\n baseURL: baseName(authHost),\n url: '/api/v1/accounts/verify_credentials',\n method: 'get',\n headers: token ? { 'Authorization': `Bearer ${token}` } : {}\n })\n}\n\nconst oauth = { loginByUsername, getUserInfo }\n\nexport default oauth\n","import request from '@/utils/request'\nimport { baseName } from './utils'\n\nexport async function getNodeInfo(authHost) {\n return await request({\n baseURL: baseName(authHost),\n url: `/nodeinfo/2.0.json`,\n method: 'get'\n })\n}\n","import { loginByUsername, getUserInfo } from '@/api/login'\nimport { getNodeInfo } from '@/api/nodeInfo'\nimport { getToken, setToken, removeToken, getAuthHost, setAuthHost, removeAuthHost } from '@/utils/auth'\n\nconst user = {\n state: {\n user: '',\n id: '',\n status: '',\n code: '',\n token: getToken(),\n authHost: getAuthHost(),\n name: '',\n avatar: '',\n introduction: '',\n roles: [],\n setting: {\n articlePlatform: []\n },\n nodeInfo: {}\n },\n\n mutations: {\n SET_CODE: (state, code) => {\n state.code = code\n },\n SET_TOKEN: (state, token) => {\n state.token = token\n },\n SET_INTRODUCTION: (state, introduction) => {\n state.introduction = introduction\n },\n SET_SETTING: (state, setting) => {\n state.setting = setting\n },\n SET_STATUS: (state, status) => {\n state.status = status\n },\n SET_NAME: (state, name) => {\n state.name = name\n },\n SET_AVATAR: (state, avatar) => {\n state.avatar = avatar\n },\n SET_ROLES: (state, roles) => {\n state.roles = roles\n },\n SET_ID: (state, id) => {\n state.id = id\n },\n SET_AUTH_HOST: (state, authHost) => {\n state.authHost = authHost\n },\n SET_NODE_INFO: (state, nodeInfo) => {\n state.nodeInfo = nodeInfo\n }\n },\n\n actions: {\n LoginByUsername({ commit, dispatch }, { username, authHost, password }) {\n return new Promise((resolve, reject) => {\n loginByUsername(username, password, authHost).then(response => {\n const data = response.data\n commit('SET_TOKEN', data.access_token)\n commit('SET_AUTH_HOST', authHost)\n setToken(data.access_token)\n setAuthHost(authHost)\n resolve()\n }).catch(error => {\n dispatch('addErrorLog', { message: error.message })\n reject(error)\n })\n })\n },\n async GetNodeInfo({ commit, state }) {\n const nodeInfo = await getNodeInfo(state.authHost)\n\n commit('SET_NODE_INFO', nodeInfo.data)\n },\n GetUserInfo({ commit, state }) {\n return new Promise((resolve, reject) => {\n getUserInfo(state.token, state.authHost).then(response => {\n const data = response.data\n\n if (!data) {\n reject('Verification failed, please login again.')\n }\n\n if (data.pleroma && data.pleroma.is_admin) {\n commit('SET_ROLES', ['admin'])\n } else {\n reject('getInfo: roles must be a non-null array!')\n }\n\n commit('SET_NAME', data.username)\n commit('SET_ID', data.id)\n commit('SET_AVATAR', data.avatar)\n commit('SET_INTRODUCTION', '')\n resolve(response)\n }).catch(error => {\n reject(error)\n })\n })\n },\n LogOut({ commit }) {\n commit('SET_TOKEN', '')\n commit('SET_ROLES', [])\n removeToken()\n removeAuthHost()\n },\n FedLogOut({ commit }) {\n return new Promise(resolve => {\n commit('SET_TOKEN', '')\n removeToken()\n removeAuthHost()\n resolve()\n })\n },\n async LoginByPleromaFE({ commit, dispatch }, { token }) {\n commit('SET_TOKEN', token)\n setToken(token)\n commit('SET_AUTH_HOST', window.location.host)\n setAuthHost(window.location.host)\n\n dispatch('GetUserInfo')\n }\n }\n}\n\nexport default user\n","import request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nexport async function activateUsers(nicknames, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/activate`,\n method: 'patch',\n headers: authHeaders(token),\n data: { nicknames }\n })\n}\n\nexport async function addRight(nicknames, right, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/permission_group/${right}`,\n method: 'post',\n headers: authHeaders(token),\n data: { nicknames }\n })\n}\n\nexport async function createNewAccount(nickname, email, password, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: '/api/pleroma/admin/users',\n method: 'post',\n headers: authHeaders(token),\n data: { users: [{ nickname, email, password }] }\n })\n}\n\nexport async function deactivateUsers(nicknames, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/deactivate`,\n method: 'patch',\n headers: authHeaders(token),\n data: { nicknames }\n })\n}\n\nexport async function deleteRight(nicknames, right, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/permission_group/${right}`,\n method: 'delete',\n headers: authHeaders(token),\n data: { nicknames }\n })\n}\n\nexport async function deleteUsers(nicknames, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users`,\n method: 'delete',\n headers: authHeaders(token),\n data: { nicknames }\n })\n}\n\nexport async function fetchUser(id, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/${id}`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function fetchUsers(filters, authHost, token, page = 1) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users?page=${page}&filters=${filters}`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function getPasswordResetToken(nickname, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/${nickname}/password_reset`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function requirePasswordReset(nickname, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/${nickname}/force_password_reset`,\n method: 'patch',\n headers: authHeaders(token)\n })\n}\n\nexport async function searchUsers(query, filters, authHost, token, page = 1) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users?query=${query}&page=${page}&filters=${filters}`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function tagUser(nicknames, tags, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: '/api/pleroma/admin/users/tag',\n method: 'put',\n headers: authHeaders(token),\n data: { nicknames, tags }\n })\n}\n\nexport async function untagUser(nicknames, tags, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: '/api/pleroma/admin/users/tag',\n method: 'delete',\n headers: authHeaders(token),\n data: { nicknames, tags }\n })\n}\n\nexport async function fetchUserStatuses(id, authHost, godmode, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/${id}/statuses?godmode=${godmode}`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function confirmUserEmail(nicknames, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: '/api/pleroma/admin/users/confirm_email',\n method: 'patch',\n headers: authHeaders(token),\n data: { nicknames }\n })\n}\n\nexport async function resendConfirmationEmail(nicknames, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: '/api/pleroma/admin/users/resend_confirmation_email',\n method: 'patch',\n headers: authHeaders(token),\n data: { nicknames }\n })\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","import { fetchUser, fetchUserStatuses } from '@/api/users'\n\nconst userProfile = {\n state: {\n statuses: [],\n statusesLoading: true,\n user: {},\n userProfileLoading: true\n },\n mutations: {\n SET_STATUSES: (state, statuses) => {\n state.statuses = statuses\n },\n SET_STATUSES_LOADING: (state, status) => {\n state.statusesLoading = status\n },\n SET_USER: (state, user) => {\n state.user = user\n },\n SET_USER_PROFILE_LOADING: (state, status) => {\n state.userProfileLoading = status\n }\n },\n actions: {\n async FetchUserProfile({ commit, dispatch, getters }, { userId, godmode }) {\n commit('SET_USER_PROFILE_LOADING', true)\n\n const userResponse = await fetchUser(userId, getters.authHost, getters.token)\n commit('SET_USER', userResponse.data)\n commit('SET_USER_PROFILE_LOADING', false)\n\n dispatch('FetchUserStatuses', { userId, godmode })\n },\n async FetchUserStatuses({ commit, getters }, { userId, godmode }) {\n commit('SET_STATUSES_LOADING', true)\n\n const statuses = await fetchUserStatuses(userId, getters.authHost, godmode, getters.token)\n\n commit('SET_STATUSES', statuses.data)\n commit('SET_STATUSES_LOADING', false)\n }\n }\n}\n\nexport default userProfile\n","import { Message } from 'element-ui'\nimport i18n from '@/lang'\nimport {\n activateUsers,\n addRight,\n createNewAccount,\n deactivateUsers,\n deleteRight,\n deleteUsers,\n fetchUsers,\n getPasswordResetToken,\n searchUsers,\n tagUser,\n untagUser,\n requirePasswordReset,\n confirmUserEmail,\n resendConfirmationEmail\n} from '@/api/users'\n\nconst users = {\n state: {\n fetchedUsers: [],\n loading: true,\n searchQuery: '',\n totalUsersCount: 0,\n currentPage: 1,\n filters: {\n local: false,\n external: false,\n active: false,\n deactivated: false\n },\n passwordResetToken: {\n token: '',\n link: ''\n }\n },\n mutations: {\n SET_USERS: (state, users) => {\n state.fetchedUsers = users\n },\n SET_LOADING: (state, status) => {\n state.loading = status\n },\n SWAP_USERS: (state, users) => {\n const usersWithoutSwapped = users.reduce((acc, user) => {\n return acc.filter(u => u.id !== user.id)\n }, state.fetchedUsers)\n\n if (state.fetchedUsers.length === 0) {\n return\n }\n\n state.fetchedUsers = [...usersWithoutSwapped, ...users].sort((a, b) =>\n a.nickname.localeCompare(b.nickname)\n )\n },\n SET_COUNT: (state, count) => {\n state.totalUsersCount = count\n },\n SET_PAGE: (state, page) => {\n state.currentPage = page\n },\n SET_PAGE_SIZE: (state, pageSize) => {\n state.pageSize = pageSize\n },\n SET_PASSWORD_RESET_TOKEN: (state, { token, link }) => {\n state.passwordResetToken.token = token\n state.passwordResetToken.link = link\n },\n SET_SEARCH_QUERY: (state, query) => {\n state.searchQuery = query\n },\n SET_USERS_FILTERS: (state, filters) => {\n state.filters = filters\n },\n SET_USER_PROFILE: (state, user) => {\n state.userProfile = user\n }\n },\n actions: {\n async ActivateUsers({ commit, dispatch, getters, state }, users) {\n const updatedUsers = users.map(user => {\n return { ...user, deactivated: false }\n })\n commit('SWAP_USERS', updatedUsers)\n\n const usersNicknames = users.map(user => user.nickname)\n try {\n await activateUsers(usersNicknames, getters.authHost, getters.token)\n } catch (_e) {\n return\n } finally {\n dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })\n }\n dispatch('SuccessMessage')\n },\n async AddRight({ commit, dispatch, getters, state }, { users, right }) {\n const updatedUsers = users.map(user => {\n return user.local ? { ...user, roles: { ...user.roles, [right]: true }} : user\n })\n commit('SWAP_USERS', updatedUsers)\n\n const usersNicknames = users.map(user => user.nickname)\n try {\n await addRight(usersNicknames, right, getters.authHost, getters.token)\n } catch (_e) {\n return\n } finally {\n dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })\n }\n dispatch('SuccessMessage')\n },\n async AddTag({ commit, dispatch, getters, state }, { users, tag }) {\n const updatedUsers = users.map(user => {\n return { ...user, tags: [...user.tags, tag] }\n })\n commit('SWAP_USERS', updatedUsers)\n\n const nicknames = users.map(user => user.nickname)\n try {\n await tagUser(nicknames, [tag], getters.authHost, getters.token)\n } catch (_e) {\n return\n } finally {\n dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })\n }\n dispatch('SuccessMessage')\n },\n async ClearFilters({ commit, dispatch, state }) {\n commit('CLEAR_USERS_FILTERS')\n dispatch('SearchUsers', { query: state.searchQuery, page: 1 })\n },\n async CreateNewAccount({ dispatch, getters, state }, { nickname, email, password }) {\n try {\n await createNewAccount(nickname, email, password, getters.authHost, getters.token)\n } catch (_e) {\n return\n } finally {\n dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })\n }\n dispatch('SuccessMessage')\n },\n async DeactivateUsers({ commit, dispatch, getters, state }, users) {\n const updatedUsers = users.map(user => {\n return { ...user, deactivated: true }\n })\n commit('SWAP_USERS', updatedUsers)\n\n const usersNicknames = users.map(user => user.nickname)\n try {\n await deactivateUsers(usersNicknames, getters.authHost, getters.token)\n } catch (_e) {\n return\n } finally {\n dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })\n }\n dispatch('SuccessMessage')\n },\n async ConfirmUsersEmail({ commit, dispatch, getters, state }, users) {\n const updatedUsers = users.map(user => {\n return { ...user, confirmation_pending: false }\n })\n commit('SWAP_USERS', updatedUsers)\n\n const usersNicknames = users.map(user => user.nickname)\n try {\n await confirmUserEmail(usersNicknames, getters.authHost, getters.token)\n } catch (_e) {\n return\n } finally {\n dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })\n }\n dispatch('SuccessMessage')\n },\n async ResendConfirmationEmail({ dispatch, getters }, users) {\n const usersNicknames = users.map(user => user.nickname)\n try {\n await resendConfirmationEmail(usersNicknames, getters.authHost, getters.token)\n } catch (_e) {\n return\n }\n dispatch('SuccessMessage')\n },\n async DeleteRight({ commit, dispatch, getters, state }, { users, right }) {\n const updatedUsers = users.map(user => {\n return user.local ? { ...user, roles: { ...user.roles, [right]: false }} : user\n })\n commit('SWAP_USERS', updatedUsers)\n\n const usersNicknames = users.map(user => user.nickname)\n try {\n await deleteRight(usersNicknames, right, getters.authHost, getters.token)\n } catch (_e) {\n return\n } finally {\n dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })\n }\n dispatch('SuccessMessage')\n },\n async DeleteUsers({ commit, dispatch, getters, state }, users) {\n const usersNicknames = users.map(user => user.nickname)\n try {\n await deleteUsers(usersNicknames, getters.authHost, getters.token)\n } catch (_e) {\n return\n }\n const deletedUsersIds = users.map(deletedUser => deletedUser.id)\n const updatedUsers = state.fetchedUsers.filter(user => !deletedUsersIds.includes(user.id))\n commit('SET_USERS', updatedUsers)\n dispatch('SuccessMessage')\n },\n async FetchUsers({ commit, dispatch, getters, state }, { page }) {\n commit('SET_LOADING', true)\n const filters = Object.keys(state.filters).filter(filter => state.filters[filter]).join()\n const response = await fetchUsers(filters, getters.authHost, getters.token, page)\n await dispatch('GetNodeInfo')\n loadUsers(commit, page, response.data)\n },\n async GetPasswordResetToken({ commit, getters }, nickname) {\n const { data } = await getPasswordResetToken(nickname, getters.authHost, getters.token)\n commit('SET_PASSWORD_RESET_TOKEN', data)\n },\n RemovePasswordToken({ commit }) {\n commit('SET_PASSWORD_RESET_TOKEN', { link: '', token: '' })\n },\n async RemoveTag({ commit, dispatch, getters, state }, { users, tag }) {\n const updatedUsers = users.map(user => {\n return { ...user, tags: user.tags.filter(userTag => userTag !== tag) }\n })\n commit('SWAP_USERS', updatedUsers)\n\n const nicknames = users.map(user => user.nickname)\n try {\n await untagUser(nicknames, [tag], getters.authHost, getters.token)\n } catch (_e) {\n return\n } finally {\n dispatch('SearchUsers', { query: state.searchQuery, page: state.currentPage })\n }\n dispatch('SuccessMessage')\n },\n async RequirePasswordReset({ dispatch, getters }, user) {\n try {\n await requirePasswordReset(user.nickname, getters.authHost, getters.token)\n } catch (_e) {\n return\n }\n dispatch('SuccessMessage')\n },\n async SearchUsers({ commit, dispatch, state, getters }, { query, page }) {\n if (query.length === 0) {\n commit('SET_SEARCH_QUERY', query)\n dispatch('FetchUsers', { page })\n } else {\n commit('SET_LOADING', true)\n commit('SET_SEARCH_QUERY', query)\n\n const filters = Object.keys(state.filters).filter(filter => state.filters[filter]).join()\n const response = await searchUsers(query, filters, getters.authHost, getters.token, page)\n\n loadUsers(commit, page, response.data)\n }\n },\n SuccessMessage() {\n Message.success({\n message: i18n.t('users.completed'),\n duration: 5 * 1000\n })\n },\n async ToggleUsersFilter({ commit, dispatch, state }, filters) {\n const defaultFilters = {\n local: false,\n external: false,\n active: false,\n deactivated: false\n }\n const currentFilters = { ...defaultFilters, ...filters }\n commit('SET_USERS_FILTERS', currentFilters)\n dispatch('SearchUsers', { query: state.searchQuery, page: 1 })\n }\n }\n}\n\nconst loadUsers = (commit, page, { users, count, page_size }) => {\n commit('SET_USERS', users)\n commit('SET_COUNT', count)\n commit('SET_PAGE', page)\n commit('SET_PAGE_SIZE', page_size)\n commit('SET_LOADING', false)\n}\n\nexport default users\n","const getters = {\n sidebar: state => state.app.sidebar,\n language: state => state.app.language,\n size: state => state.app.size,\n device: state => state.app.device,\n visitedViews: state => state.tagsView.visitedViews,\n cachedViews: state => state.tagsView.cachedViews,\n token: state => state.user.token,\n avatar: state => state.user.avatar,\n name: state => state.user.name,\n introduction: state => state.user.introduction,\n status: state => state.user.status,\n roles: state => state.user.roles,\n setting: state => state.user.setting,\n permission_routers: state => state.permission.routers,\n addRouters: state => state.permission.addRouters,\n errorLogs: state => state.errorLog.logs,\n users: state => state.users.fetchedUsers,\n authHost: state => state.user.authHost,\n\n activityPub: state => state.settings.settings['activitypub'],\n adminToken: state => state.settings.settings['admin_token'],\n assets: state => state.settings.settings['assets'],\n auth: state => state.settings.settings['auth'],\n autoLinker: state => state.settings.settings['auto_linker'],\n captcha: state => state.settings.settings['Pleroma.Captcha'],\n chat: state => state.settings.settings['chat'],\n consoleLogger: state => state.settings.settings['console'],\n corsPlugCredentials: state => state.settings.settings['credentials'],\n corsPlugExpose: state => state.settings.settings['expose'],\n corsPlugHeaders: state => state.settings.settings['headers'],\n corsPlugMaxAge: state => state.settings.settings['max_age'],\n corsPlugMethods: state => state.settings.settings['methods'],\n database: state => state.settings.settings['database'],\n ectoRepos: state => state.settings.settings['ecto_repos'],\n emailNotifications: state => state.settings.settings['email_notifications'],\n emoji: state => state.settings.settings['emoji'],\n enabled: state => state.settings.settings['enabled'],\n endpoint: state => state.settings.settings['Pleroma.Web.Endpoint'],\n exsyslogger: state => state.settings.settings['ex_syslogger'],\n facebook: state => state.settings.settings['Ueberauth.Strategy.Facebook.OAuth'],\n fetchInitialPosts: state => state.settings.settings['fetch_initial_posts'],\n formatEncoders: state => state.settings.settings['format_encoders'],\n frontend: state => state.settings.settings['frontend_configurations'],\n google: state => state.settings.settings['Ueberauth.Strategy.Google.OAuth'],\n gopher: state => state.settings.settings['gopher'],\n hackneyPools: state => state.settings.settings['hackney_pools'],\n handler: state => state.settings.settings['handler'],\n http: state => state.settings.settings['http'],\n httpSecurity: state => state.settings.settings['http_security'],\n instance: state => state.settings.settings['instance'],\n instances: state => state.peers.fetchedPeers,\n kocaptcha: state => state.settings.settings['Pleroma.Captcha.Kocaptcha'],\n level: state => state.settings.settings['level'],\n ldap: state => state.settings.settings['ldap'],\n loggerBackends: state => state.settings.settings['backends'],\n mailer: state => state.settings.settings['Pleroma.Emails.Mailer'],\n markup: state => state.settings.settings['markup'],\n mediaProxy: state => state.settings.settings['media_proxy'],\n meta: state => state.settings.settings['meta'],\n metadata: state => state.settings.settings['Pleroma.Web.Metadata'],\n microsoft: state => state.settings.settings['Ueberauth.Strategy.Microsoft.OAuth'],\n mimeTypesConfig: state => state.settings.settings['types'],\n mrfHellthread: state => state.settings.settings['mrf_hellthread'],\n mrfKeyword: state => state.settings.settings['mrf_keyword'],\n mrfMention: state => state.settings.settings['mrf_mention'],\n mrfNormalizeMarkup: state => state.settings.settings['mrf_normalize_markup'],\n mrfRejectnonpublic: state => state.settings.settings['mrf_rejectnonpublic'],\n mrfSimple: state => state.settings.settings['mrf_simple'],\n mrfSubchain: state => state.settings.settings['mrf_subchain'],\n mrfUserAllowlist: state => state.settings.settings['mrf_user_allowlist'],\n mrfVocabulary: state => state.settings.settings['mrf_vocabulary'],\n oauth2: state => state.settings.settings['oauth2'],\n passwordAuthenticator: state => state.settings.settings['password_authenticator'],\n pleromaAuthenticator: state => state.settings.settings['Pleroma.Web.Auth.Authenticator'],\n pleromaRepo: state => state.settings.settings['Pleroma.Repo'],\n pleromaUser: state => state.settings.settings['Pleroma.User'],\n port: state => state.settings.settings['port'],\n privDir: state => state.settings.settings['priv_dir'],\n queues: state => state.settings.settings['queues'],\n rateLimiters: state => state.settings.settings['rate_limit'],\n retryQueue: state => state.settings.settings['Pleroma.Web.Federator.RetryQueue'],\n richMedia: state => state.settings.settings['rich_media'],\n suggestions: state => state.settings.settings['suggestions'],\n scheduledActivity: state => state.settings.settings['Pleroma.ScheduledActivity'],\n statuses: state => state.status.fetchedStatuses,\n teslaAdapter: state => state.settings.settings['adapter'],\n twitter: state => state.settings.settings['Ueberauth.Strategy.Twitter.OAuth'],\n ueberauth: state => state.settings.settings['Ueberauth'],\n uploadAnonymizeFilename: state => state.settings.settings['Pleroma.Upload.Filter.AnonymizeFilename'],\n upload: state => state.settings.settings['Pleroma.Upload'],\n uploadFilterMogrify: state => state.settings.settings['Pleroma.Upload.Filter.Mogrify'],\n uploadersLocal: state => state.settings.settings['Pleroma.Uploaders.Local'],\n uploadMDII: state => state.settings.settings['Pleroma.Uploaders.MDII'],\n uploadS3: state => state.settings.settings['Pleroma.Uploaders.S3'],\n uriSchemes: state => state.settings.settings['uri_schemes'],\n user: state => state.settings.settings['user'],\n userEmail: state => state.settings.settings['Pleroma.Emails.UserEmail'],\n vapidDetails: state => state.settings.settings['vapid_details'],\n webhookUrl: state => state.settings.settings['webhook_url']\n}\nexport default getters\n","import {\n listPacks,\n listRemotePacks,\n downloadFrom,\n reloadEmoji,\n createPack,\n deletePack,\n savePackMetadata,\n importFromFS,\n updatePackFile } from '@/api/emojiPacks'\nimport i18n from '@/lang'\nimport { Message } from 'element-ui'\n\nimport Vue from 'vue'\n\nconst packs = {\n state: {\n localPacks: {},\n remotePacks: {}\n },\n mutations: {\n SET_LOCAL_PACKS: (state, packs) => {\n state.localPacks = packs\n },\n SET_REMOTE_PACKS: (state, packs) => {\n state.remotePacks = packs\n },\n\n UPDATE_LOCAL_PACK_VAL: (state, { name, key, value }) => {\n Vue.set(state.localPacks[name]['pack'], key, value)\n },\n\n UPDATE_LOCAL_PACK_PACK: (state, { name, pack }) => {\n state.localPacks[name]['pack'] = pack\n },\n\n UPDATE_LOCAL_PACK_FILES: (state, { name, files }) => {\n // Use vue.set in case \"files\" was null\n Vue.set(\n state.localPacks[name],\n 'files',\n files\n )\n }\n },\n actions: {\n async CreatePack({ getters }, { name }) {\n await createPack(getters.authHost, getters.token, name)\n },\n async DeletePack({ getters }, { name }) {\n await deletePack(getters.authHost, getters.token, name)\n },\n async DownloadFrom({ getters }, { instanceAddress, packName, as }) {\n const result = await downloadFrom(getters.authHost, instanceAddress, packName, as, getters.token)\n\n if (result.data === 'ok') {\n Message({\n message: `${i18n.t('settings.successfullyDownloaded')} ${packName}`,\n type: 'success',\n duration: 5 * 1000\n })\n }\n },\n async ImportFromFS({ getters }) {\n const result = await importFromFS(getters.authHost, getters.token)\n\n if (result.status === 200) {\n const message = result.data.length > 0\n ? `${i18n.t('settings.successfullyImported')} ${result.data}`\n : i18n.t('settings.nowNewPacksToImport')\n\n Message({\n message,\n type: 'success',\n duration: 5 * 1000\n })\n }\n },\n async ReloadEmoji({ getters }) {\n await reloadEmoji(getters.authHost, getters.token)\n },\n async SavePackMetadata({ commit, getters, state }, { packName }) {\n const result =\n await savePackMetadata(\n getters.authHost,\n getters.token,\n packName,\n state.localPacks[packName]['pack']\n )\n\n if (result.status === 200) {\n Message({\n message: `${i18n.t('settings.successfullyUpdated')} ${packName} ${i18n.t('settings.metadatLowerCase')}`,\n type: 'success',\n duration: 5 * 1000\n })\n\n commit('UPDATE_LOCAL_PACK_PACK', { name: packName, pack: result.data })\n }\n },\n async SetLocalEmojiPacks({ commit, getters }) {\n const { data } = await listPacks(getters.authHost)\n commit('SET_LOCAL_PACKS', data)\n },\n async SetRemoteEmojiPacks({ commit, getters }, { remoteInstance }) {\n const { data } = await listRemotePacks(getters.authHost, getters.token, remoteInstance)\n\n commit('SET_REMOTE_PACKS', data)\n },\n async UpdateAndSavePackFile({ commit, getters }, args) {\n const result = await updatePackFile(getters.authHost, getters.token, args)\n\n if (result.status === 200) {\n const { packName } = args\n\n Message({\n message: `${i18n.t('settings.successfullyUpdated')} ${packName} ${i18n.t('settings.metadatLowerCase')}`,\n type: 'success',\n duration: 5 * 1000\n })\n\n commit('UPDATE_LOCAL_PACK_FILES', { name: packName, files: result.data })\n }\n },\n async UpdateLocalPackVal({ commit }, args) {\n commit('UPDATE_LOCAL_PACK_VAL', args)\n }\n }\n}\n\nexport default packs\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport app from './modules/app'\nimport errorLog from './modules/errorLog'\nimport moderationLog from './modules/moderationLog'\nimport invites from './modules/invites'\nimport peers from './modules/peers'\nimport permission from './modules/permission'\nimport relays from './modules/relays'\nimport reports from './modules/reports'\nimport settings from './modules/settings'\nimport status from './modules/status'\nimport tagsView from './modules/tagsView'\nimport user from './modules/user'\nimport userProfile from './modules/userProfile'\nimport users from './modules/users'\nimport getters from './getters'\nimport emojiPacks from './modules/emojiPacks.js'\n\nVue.use(Vuex)\n\nconst store = new Vuex.Store({\n modules: {\n app,\n errorLog,\n moderationLog,\n invites,\n peers,\n permission,\n relays,\n reports,\n settings,\n status,\n tagsView,\n user,\n userProfile,\n users,\n emojiPacks\n },\n getters\n})\n\nexport default store\n","import Vue from 'vue'\nimport SvgIcon from '@/components/element-ui/SvgIcon'// svg组件\n\n// register globally\nVue.component('svg-icon', SvgIcon)\n\nconst req = require.context('./svg', false, /\\.svg$/)\nconst requireAll = requireContext => requireContext.keys().map(requireContext)\nrequireAll(req)\n","import Vue from 'vue'\nimport store from './store'\n\n// you can set only in production env show the error-log\nif (process.env.NODE_ENV === 'production') {\n Vue.config.errorHandler = function(err, vm, info, a) {\n // Don't ask me why I use Vue.nextTick, it just a hack.\n // detail see https://forum.vuejs.org/t/dispatch-in-vue-config-errorhandler-has-some-problem/23500\n Vue.nextTick(() => {\n store.dispatch('addErrorLog', {\n err,\n vm,\n info,\n url: window.location.href\n })\n console.error(err, info)\n })\n }\n}\n","import router from './router'\nimport store from './store'\nimport { Message } from 'element-ui'\nimport NProgress from 'nprogress' // progress bar\nimport 'nprogress/nprogress.css'// progress bar style\nimport { getToken } from '@/utils/auth' // getToken from cookie\n\nNProgress.configure({ showSpinner: false })// NProgress Configuration\n\n// permission judge function\nfunction hasPermission(roles, permissionRoles) {\n if (roles.indexOf('admin') >= 0) return true // admin permission passed directly\n if (!permissionRoles) return true\n return roles.some(role => permissionRoles.indexOf(role) >= 0)\n}\n\nconst whiteList = ['/login', '/auth-redirect', '/login-pleroma']// no redirect whitelist\n\nexport const beforeEachRoute = (to, from, next) => {\n NProgress.start() // start progress bar\n if (getToken()) { // determine if there has token\n /* has token*/\n if (to.path === '/login') {\n next({ path: '/' })\n NProgress.done() // if current page is dashboard will not trigger\tafterEach hook, so manually handle it\n } else {\n if (store.getters.roles.length === 0) {\n store.dispatch('GetUserInfo').then(res => {\n const roles = res.data.pleroma.is_admin ? ['admin'] : []\n store.dispatch('GenerateRoutes', { roles }).then(() => {\n router.addRoutes(store.getters.addRouters)\n next({ ...to, replace: true })\n })\n }).catch((err) => {\n store.dispatch('FedLogOut').then(() => {\n Message.error(err)\n next({ path: '/' })\n })\n })\n } else {\n if (hasPermission(store.getters.roles, to.meta.roles)) {\n next()\n } else {\n next({ path: '/401', replace: true, query: { noGoBack: true }})\n }\n }\n }\n } else {\n /* has no token*/\n if (whiteList.indexOf(to.path) !== -1) {\n next()\n } else {\n next(`/login?redirect=${to.path}`)\n NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it\n }\n }\n}\nrouter.beforeEach(beforeEachRoute)\n\nrouter.afterEach(() => {\n NProgress.done() // finish progress bar\n})\n","// set function parseTime,formatTime to filter\nexport { parseTime, formatTime } from '@/utils'\n\nfunction pluralize(time, label) {\n if (time === 1) {\n return time + label\n }\n return time + label + 's'\n}\n\nexport function timeAgo(time) {\n const between = Date.now() / 1000 - Number(time)\n if (between < 3600) {\n return pluralize(~~(between / 60), ' minute')\n } else if (between < 86400) {\n return pluralize(~~(between / 3600), ' hour')\n } else {\n return pluralize(~~(between / 86400), ' day')\n }\n}\n\n/* 数字 格式化*/\nexport function numberFormatter(num, digits) {\n const si = [\n { value: 1E18, symbol: 'E' },\n { value: 1E15, symbol: 'P' },\n { value: 1E12, symbol: 'T' },\n { value: 1E9, symbol: 'G' },\n { value: 1E6, symbol: 'M' },\n { value: 1E3, symbol: 'k' }\n ]\n for (let i = 0; i < si.length; i++) {\n if (num >= si[i].value) {\n return (num / si[i].value + 0.1).toFixed(digits).replace(/\\.0+$|(\\.[0-9]*[1-9])0+$/, '$1') + si[i].symbol\n }\n }\n return num.toString()\n}\n\nexport function toThousandFilter(num) {\n return (+num || 0).toString().replace(/^-?\\d+/g, m => m.replace(/(?=(?!\\b)(\\d{3})+$)/g, ','))\n}\n","import Vue from 'vue'\n\nimport Cookies from 'js-cookie'\n\nimport 'normalize.css/normalize.css' // A modern alternative to CSS resets\n\nimport Element from 'element-ui'\nimport 'element-ui/lib/theme-chalk/index.css'\n\nimport '@/styles/index.scss' // global css\n\nimport App from './App'\nimport store from './store'\nimport router from './router'\n\nimport i18n from './lang' // Internationalization\nimport './icons' // icon\nimport './errorLog' // error log\nimport './permission' // permission control\n\nimport * as filters from './filters' // global filters\n\nVue.use(Element, {\n size: Cookies.get('size') || 'medium', // set element-ui default size\n i18n: (key, value) => i18n.t(key, value)\n})\n\n// register global utility filters.\nObject.keys(filters).forEach(key => {\n Vue.filter(key, filters[key])\n})\n\nVue.config.productionTip = false\n\nnew Vue({\n el: '#app',\n router,\n store,\n i18n,\n render: h => h(App)\n})\n","import Cookies from 'js-cookie'\n\nconst TokenKey = 'Admin-Token'\nconst AuthHostKey = 'Auth-Host'\n\nexport function getToken() {\n return Cookies.get(TokenKey)\n}\n\nexport function setToken(token) {\n return Cookies.set(TokenKey, token)\n}\n\nexport function removeToken() {\n return Cookies.remove(TokenKey)\n}\n\nexport function getAuthHost() {\n return Cookies.get(AuthHostKey)\n}\n\nexport function setAuthHost(token) {\n return Cookies.set(AuthHostKey, token)\n}\n\nexport function removeAuthHost() {\n return Cookies.remove(AuthHostKey)\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsView.vue?vue&type=style&index=1&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsView.vue?vue&type=style&index=1&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMain.vue?vue&type=style&index=0&id=f852c4f2&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMain.vue?vue&type=style&index=0&id=f852c4f2&scoped=true&lang=css&\"","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-excel\",\n \"use\": \"icon-excel-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-excel\\\"><path d=\\\"M78.208 16.576v8.384h38.72v5.376h-38.72v8.704h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.512h38.72v5.376h-38.72v11.136H128v-94.72H78.208zM0 114.368L72.128 128V0L0 13.632v100.736z\\\" /><path d=\\\"M28.672 82.56h-11.2l14.784-23.488-14.08-22.592h11.52l8.192 14.976 8.448-14.976h11.136l-14.08 22.208L58.368 82.56H46.656l-8.768-15.68z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-guide\",\n \"use\": \"icon-guide-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-guide\\\"><path d=\\\"M1.482 70.131l36.204 16.18 69.932-65.485-61.38 70.594 46.435 18.735c1.119.425 2.397-.17 2.797-1.363v-.085L127.998.047 1.322 65.874c-1.12.597-1.519 1.959-1.04 3.151.32.511.72.937 1.2 1.107zm44.676 57.821L64.22 107.26l-18.062-7.834v28.527z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-star\",\n \"use\": \"icon-star-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-star\\\"><path d=\\\"M70.66 4.328l14.01 29.693c1.088 2.29 3.177 3.882 5.603 4.25l31.347 4.76c6.087.926 8.528 8.756 4.117 13.247L103.05 79.395c-1.75 1.78-2.544 4.352-2.132 6.867l5.352 32.641c1.043 6.337-5.33 11.182-10.778 8.19l-28.039-15.409a7.13 7.13 0 0 0-6.91 0l-28.039 15.41c-5.448 2.99-11.821-1.854-10.777-8.19l5.352-32.642c.415-2.515-.387-5.088-2.136-6.867L2.264 56.278C-2.146 51.787.286 43.957 6.38 43.031l31.343-4.76c2.419-.368 4.51-1.96 5.595-4.25L57.334 4.328c2.728-5.77 10.605-5.77 13.325 0z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navbar.vue?vue&type=style&index=0&id=19937682&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navbar.vue?vue&type=style&index=0&id=19937682&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-wechat\",\n \"use\": \"icon-wechat-usage\",\n \"viewBox\": \"0 0 128 110\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 110\\\" id=\\\"icon-wechat\\\"><path d=\\\"M86.635 33.334c1.467 0 2.917.113 4.358.283C87.078 14.392 67.58.111 45.321.111 20.44.111.055 17.987.055 40.687c0 13.104 6.781 23.863 18.115 32.209l-4.527 14.352 15.82-8.364c5.666 1.182 10.207 2.395 15.858 2.395 1.42 0 2.829-.073 4.227-.189-.886-3.19-1.398-6.53-1.398-9.996 0-20.845 16.98-37.76 38.485-37.76zm-24.34-12.936c3.407 0 5.665 2.363 5.665 5.954 0 3.576-2.258 5.97-5.666 5.97-3.392 0-6.795-2.395-6.795-5.97 0-3.591 3.403-5.954 6.795-5.954zM30.616 32.323c-3.393 0-6.818-2.395-6.818-5.971 0-3.591 3.425-5.954 6.818-5.954 3.392 0 5.65 2.363 5.65 5.954 0 3.576-2.258 5.97-5.65 5.97z\\\" /><path d=\\\"M127.945 70.52c0-19.075-18.108-34.623-38.448-34.623-21.537 0-38.5 15.548-38.5 34.623 0 19.108 16.963 34.622 38.5 34.622 4.508 0 9.058-1.2 13.584-2.395l12.414 7.167-3.404-11.923c9.087-7.184 15.854-16.712 15.854-27.471zm-50.928-5.97c-2.254 0-4.53-2.362-4.53-4.773 0-2.378 2.276-4.771 4.53-4.771 3.422 0 5.665 2.393 5.665 4.771 0 2.41-2.243 4.773-5.665 4.773zm24.897 0c-2.24 0-4.498-2.362-4.498-4.773 0-2.378 2.258-4.771 4.498-4.771 3.392 0 5.665 2.393 5.665 4.771 0 2.41-2.273 4.773-5.665 4.773z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-size\",\n \"use\": \"icon-size-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-size\\\"><path d=\\\"M0 54.857h54.796v18.286H36.531V128H18.265V73.143H0V54.857zm127.857-36.571H91.935V128H72.456V18.286H36.534V0h91.326l-.003 18.286z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-zip\",\n \"use\": \"icon-zip-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-zip\\\"><path d=\\\"M78.527 116.793c.178.008.348.024.527.024h40.233c4.711-.005 8.53-3.677 8.534-8.21V18.895c-.004-4.532-3.823-8.204-8.534-8.209H79.054c-.179 0-.353.016-.527.024V0L0 10.082v107.406l78.527 10.342v-11.037zm0-101.362c.174-.024.348-.052.527-.052h40.233c2.018 0 3.659 1.578 3.659 3.52v89.713c-.003 1.942-1.64 3.517-3.659 3.519H79.054c-.179 0-.353-.028-.527-.052V15.431zM30.262 75.757l-18.721-.46V72.37l11.3-16.673v-.148l-10.266.164v-4.51l17.504-.44v3.264L18.696 70.76v.144l11.566.176v4.678zm9.419.231l-5.823-.144V50.671l5.823-.144v25.461zm22.255-11.632c-2.168 1.922-5.353 2.76-9.02 2.736-.702.004-1.402-.04-2.097-.131v9.303l-5.997-.148V50.743c1.852-.352 4.473-.647 8.218-.743 3.838-.096 6.608.539 8.48 1.913 1.807 1.306 3.032 3.5 3.032 6.112s-.926 4.833-2.612 6.331h-.004zM53.36 54.45c-.856-.01-1.71.083-2.541.275v7.682c.523.116 1.167.152 2.06.152 3.301-.004 5.36-1.614 5.36-4.314 0-2.425-1.772-3.843-4.875-3.791l-.004-.004zm39.847-37.066h9.564v3.795h-9.564v-3.795zm-9.568 5.68h9.564v3.8h-9.564v-3.8zm9.568 6.216h9.564v3.799h-9.564V29.28zm0 12h9.564v3.794h-9.564V41.28zm-9.568-6.096h9.564v3.795h-9.564v-3.795zm9.472 47.064c2.512 0 4.921-.96 6.697-2.67 1.776-1.708 2.773-4.026 2.772-6.442l-1.748-15.263c0-5.033-2.492-9.112-7.725-9.112-5.232 0-7.72 4.079-7.72 9.112l-1.752 15.263c-.001 2.417.996 4.735 2.773 6.444 1.777 1.71 4.187 2.669 6.7 2.668h.003zm-3.135-16.75h6.27v12.743h-6.27V65.5z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-tab\",\n \"use\": \"icon-tab-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-tab\\\"><path d=\\\"M78.921.052H49.08c-1.865 0-3.198 1.599-3.198 3.464v6.661c0 1.865 1.6 3.464 3.198 3.464h29.84c1.865 0 3.198-1.599 3.198-3.464V3.516C82.385 1.65 80.786.052 78.92.052zm45.563 0H94.642c-1.865 0-3.464 1.599-3.464 3.464v6.661c0 1.865 1.599 3.464 3.464 3.464h29.842c1.865-.266 3.464-1.599 3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464zm0 22.382H40.02c-1.866 0-3.464-1.599-3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464H3.516C1.65.052.052 1.651.052 3.516V124.75c0 1.598 1.599 3.197 3.464 3.197h120.968c1.865 0 3.464-1.599 3.464-3.464V25.898c0-1.865-1.599-3.464-3.464-3.464z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-search\",\n \"use\": \"icon-search-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-search\\\"><path d=\\\"M124.884 109.812L94.256 79.166c-.357-.357-.757-.629-1.129-.914a50.366 50.366 0 0 0 8.186-27.59C101.327 22.689 78.656 0 50.67 0 22.685 0 0 22.688 0 50.663c0 27.989 22.685 50.663 50.656 50.663 10.186 0 19.643-3.03 27.6-8.201.286.385.557.771.9 1.114l30.628 30.632a10.633 10.633 0 0 0 7.543 3.129c2.728 0 5.457-1.043 7.543-3.115 4.171-4.157 4.171-10.915.014-15.073M50.671 85.338C31.557 85.338 16 69.78 16 50.663c0-19.102 15.557-34.661 34.67-34.661 19.115 0 34.657 15.559 34.657 34.675 0 19.102-15.557 34.661-34.656 34.661\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-tree\",\n \"use\": \"icon-tree-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-tree\\\"><path d=\\\"M126.713 90.023c.858.985 1.287 2.134 1.287 3.447v29.553c0 1.423-.429 2.6-1.287 3.53-.858.93-1.907 1.395-3.146 1.395H97.824c-1.145 0-2.146-.465-3.004-1.395-.858-.93-1.287-2.107-1.287-3.53V93.47c0-.875.19-1.696.572-2.462.382-.766.906-1.368 1.573-1.806a3.84 3.84 0 0 1 2.146-.657h9.725V69.007a3.84 3.84 0 0 0-.43-1.806 3.569 3.569 0 0 0-1.143-1.313 2.714 2.714 0 0 0-1.573-.492h-36.47v23.149h9.725c1.144 0 2.145.492 3.004 1.478.858.985 1.287 2.134 1.287 3.447v29.553c0 .876-.191 1.696-.573 2.463-.38.766-.905 1.368-1.573 1.806a3.84 3.84 0 0 1-2.145.656H51.915a3.84 3.84 0 0 1-2.145-.656c-.668-.438-1.216-1.04-1.645-1.806a4.96 4.96 0 0 1-.644-2.463V93.47c0-1.313.43-2.462 1.288-3.447.858-.986 1.907-1.478 3.146-1.478h9.582v-23.15h-37.9c-.953 0-1.74.356-2.359 1.068-.62.711-.93 1.56-.93 2.544v19.538h9.726c1.239 0 2.264.492 3.074 1.478.81.985 1.216 2.134 1.216 3.447v29.553c0 1.423-.405 2.6-1.216 3.53-.81.93-1.835 1.395-3.074 1.395H4.29c-.476 0-.93-.082-1.358-.246a4.1 4.1 0 0 1-1.144-.657 4.658 4.658 0 0 1-.93-1.067 5.186 5.186 0 0 1-.643-1.395 5.566 5.566 0 0 1-.215-1.56V93.47c0-.437.048-.875.143-1.313a3.95 3.95 0 0 1 .429-1.15c.19-.328.429-.656.715-.984.286-.329.572-.602.858-.821.286-.22.62-.383 1.001-.493.382-.11.763-.164 1.144-.164h9.726V61.619c0-.985.31-1.833.93-2.544.619-.712 1.358-1.068 2.216-1.068h44.335V39.62h-9.582c-1.24 0-2.288-.492-3.146-1.477a5.09 5.09 0 0 1-1.287-3.448V5.14c0-1.423.429-2.627 1.287-3.612.858-.985 1.907-1.477 3.146-1.477h25.743c.763 0 1.478.246 2.145.739a5.17 5.17 0 0 1 1.573 1.888c.382.766.573 1.587.573 2.462v29.553c0 1.313-.43 2.463-1.287 3.448-.859.985-1.86 1.477-3.004 1.477h-9.725v18.389h42.762c.954 0 1.74.355 2.36 1.067.62.711.93 1.56.93 2.545v26.925h9.582c1.239 0 2.288.492 3.146 1.478z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-documentation\",\n \"use\": \"icon-documentation-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-documentation\\\"><path d=\\\"M71.984 44.815H115.9L71.984 9.642v35.173zM16.094.05h63.875l47.906 38.37v76.74c0 3.392-1.682 6.645-4.677 9.044-2.995 2.399-7.056 3.746-11.292 3.746H16.094c-4.236 0-8.297-1.347-11.292-3.746-2.995-2.399-4.677-5.652-4.677-9.044V12.84C.125 5.742 7.23.05 16.094.05zm71.86 102.32V89.58h-71.86v12.79h71.86zm23.952-25.58V64H16.094v12.79h95.812z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-drag\",\n \"use\": \"icon-drag-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-drag\\\"><path d=\\\"M73.137 29.08h-9.209 29.7L63.886.093 34.373 29.08h20.49v27.035H27.238v17.948h27.625v27.133h18.274V74.063h27.41V56.115h-27.41V29.08zm-9.245 98.827l27.518-26.711H36.59l27.302 26.71zM.042 64.982l27.196 27.029V38.167L.042 64.982zm100.505-26.815V92.01l27.41-27.029-27.41-26.815z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=17178ffc&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=17178ffc&scoped=true&lang=css&\"","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-fullscreen\",\n \"use\": \"icon-fullscreen-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-fullscreen\\\"><path d=\\\"M38.47 52L52 38.462l-23.648-23.67L43.209 0H.035L0 43.137l14.757-14.865L38.47 52zm74.773 47.726L89.526 76 76 89.536l23.648 23.672L84.795 128h43.174L128 84.863l-14.757 14.863zM89.538 52l23.668-23.648L128 43.207V.038L84.866 0 99.73 14.76 76 38.472 89.538 52zM38.46 76L14.792 99.651 0 84.794v43.173l43.137.033-14.865-14.757L52 89.53 38.46 76z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\nimport Cookies from 'js-cookie'\nimport elementEnLocale from 'element-ui/lib/locale/lang/en' // element-ui lang\nimport elementZhLocale from 'element-ui/lib/locale/lang/zh-CN' // element-ui lang\nimport elementEsLocale from 'element-ui/lib/locale/lang/es' // element-ui lang\nimport enLocale from './en'\nimport zhLocale from './zh'\nimport esLocale from './es'\nimport ocLocale from './oc'\n\nVue.use(VueI18n)\n\nconst messages = {\n en: {\n ...enLocale,\n ...elementEnLocale\n },\n zh: {\n ...zhLocale,\n ...elementZhLocale\n },\n es: {\n ...esLocale,\n ...elementEsLocale\n },\n oc: {\n ...ocLocale\n }\n}\n\nconst i18n = new VueI18n({\n // set locale\n // options: en | zh | es | oc\n locale: Cookies.get('language') || 'en',\n // set locale messages\n messages\n})\n\nexport default i18n\n","export default {\n route: {\n dashboard: 'Dashboard',\n introduction: 'Introduction',\n documentation: 'Documentation',\n guide: 'Guide',\n permission: 'Permission',\n pagePermission: 'Page Permission',\n directivePermission: 'Directive Permission',\n icons: 'Icons',\n components: 'Components',\n componentIndex: 'Introduction',\n markdown: 'Markdown',\n jsonEditor: 'JSON Editor',\n dndList: 'Dnd List',\n splitPane: 'SplitPane',\n avatarUpload: 'Avatar Upload',\n dropzone: 'Dropzone',\n sticky: 'Sticky',\n countTo: 'CountTo',\n componentMixin: 'Mixin',\n backToTop: 'BackToTop',\n dragDialog: 'Drag Dialog',\n dragSelect: 'Drag Select',\n dragKanban: 'Drag Kanban',\n charts: 'Charts',\n keyboardChart: 'Keyboard Chart',\n lineChart: 'Line Chart',\n mixChart: 'Mix Chart',\n example: 'Example',\n nested: 'Nested Routes',\n menu1: 'Menu 1',\n 'menu1-1': 'Menu 1-1',\n 'menu1-2': 'Menu 1-2',\n 'menu1-2-1': 'Menu 1-2-1',\n 'menu1-2-2': 'Menu 1-2-2',\n 'menu1-3': 'Menu 1-3',\n menu2: 'Menu 2',\n Table: 'Table',\n dynamicTable: 'Dynamic Table',\n dragTable: 'Drag Table',\n inlineEditTable: 'Inline Edit',\n complexTable: 'Complex Table',\n treeTable: 'Tree Table',\n customTreeTable: 'Custom TreeTable',\n tab: 'Tab',\n form: 'Form',\n createArticle: 'Create Article',\n editArticle: 'Edit Article',\n articleList: 'Article List',\n errorPages: 'Error Pages',\n page401: '401',\n page404: '404',\n errorLog: 'Error Log',\n excel: 'Excel',\n exportExcel: 'Export Excel',\n selectExcel: 'Export Selected',\n uploadExcel: 'Upload Excel',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: 'Export Zip',\n theme: 'Theme',\n clipboardDemo: 'Clipboard',\n i18n: 'I18n',\n externalLink: 'External Link',\n users: 'Users',\n reports: 'Reports',\n settings: 'Settings',\n moderationLog: 'Moderation Log',\n 'emoji-packs': 'Emoji packs'\n },\n navbar: {\n logOut: 'Log Out',\n dashboard: 'Dashboard',\n github: 'Github',\n theme: 'Theme',\n size: 'Global Size'\n },\n login: {\n title: 'Login Form',\n logIn: 'Log in',\n logInViaPleromaFE: 'Log in via PleromaFE',\n username: 'username@host',\n password: 'password',\n omitHostname: 'omit hostname if Pleroma is located on this domain',\n errorMessage: 'Username must contain username and host, e.g. john@pleroma.social',\n any: 'any',\n thirdparty: 'Or connect with',\n pleromaFELoginFailed: 'Failed to login via PleromaFE, please login with username/password',\n pleromaFELoginSucceed: 'Logged in via PleromaFE'\n },\n documentation: {\n documentation: 'Documentation',\n github: 'Github Repository'\n },\n permission: {\n roles: 'Your roles',\n switchRoles: 'Switch roles',\n tips: 'In some cases it is not suitable to use v-permission, such as element Tab component or el-table-column and other asynchronous rendering dom cases which can only be achieved by manually setting the v-if.'\n },\n guide: {\n description: 'The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ',\n button: 'Show Guide'\n },\n components: {\n documentation: 'Documentation',\n dropzoneTips: 'Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/element-ui/Dropzone.',\n stickyTips: 'when the page is scrolled to the preset position will be sticky on the top.',\n backToTopTips1: 'When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner',\n backToTopTips2: 'You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally',\n imageUploadTips: 'Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version.'\n },\n table: {\n dynamicTips1: 'Fixed header, sorted by header order',\n dynamicTips2: 'Not fixed header, sorted by click order',\n dragTips1: 'The default order',\n dragTips2: 'The after dragging order',\n title: 'Title',\n importance: 'Imp',\n type: 'Type',\n remark: 'Remark',\n search: 'Search',\n add: 'Add',\n export: 'Export',\n reviewer: 'reviewer',\n id: 'ID',\n date: 'Date',\n author: 'Author',\n readings: 'Readings',\n status: 'Status',\n actions: 'Actions',\n edit: 'Edit',\n publish: 'Publish',\n draft: 'Draft',\n delete: 'Delete',\n cancel: 'Cancel',\n confirm: 'Confirm'\n },\n errorLog: {\n tips: 'Please click the bug icon in the upper right corner',\n description: 'Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.',\n documentation: 'Document introduction'\n },\n excel: {\n export: 'Export',\n selectedExport: 'Export Selected Items',\n placeholder: 'Please enter the file name(default excel-list)'\n },\n zip: {\n export: 'Export',\n placeholder: 'Please enter the file name(default file)'\n },\n pdf: {\n tips: 'Here we use window.print() to implement the feature of downloading pdf.'\n },\n theme: {\n change: 'Change Theme',\n documentation: 'Theme documentation',\n tips: 'Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details.'\n },\n tagsView: {\n refresh: 'Refresh',\n close: 'Close',\n closeOthers: 'Close Others',\n closeAll: 'Close All'\n },\n users: {\n users: 'Users',\n localUsersOnly: 'Local users only',\n search: 'Search',\n id: 'ID',\n name: 'Name',\n status: 'Status',\n local: 'local',\n external: 'external',\n deactivated: 'deactivated',\n active: 'active',\n unconfirmed: 'unconfirmed',\n actions: 'Actions',\n activate: 'Activate',\n deactivate: 'Deactivate',\n admin: 'admin',\n moderator: 'moderator',\n moderation: 'Moderation',\n revokeAdmin: 'Revoke Admin',\n grantAdmin: 'Grant Admin',\n revokeModerator: 'Revoke Moderator',\n grantModerator: 'Grant Moderator',\n activateAccount: 'Activate Account',\n activateAccounts: 'Activate Accounts',\n deactivateAccount: 'Deactivate Account',\n deactivateAccounts: 'Deactivate Accounts',\n deleteAccount: 'Delete Account',\n deleteAccounts: 'Delete Accounts',\n forceNsfw: 'Force posts to be NSFW',\n stripMedia: 'Force posts not to have media',\n forceUnlisted: 'Force posts to be unlisted',\n sandbox: 'Force posts to be followers-only',\n disableRemoteSubscription: 'Disallow following user from remote instances',\n disableRemoteSubscriptionForMultiple: 'Disallow following users from remote instances',\n disableAnySubscription: 'Disallow following user at all',\n disableAnySubscriptionForMultiple: 'Disallow following users at all',\n requirePasswordReset: 'Require password reset on next login',\n selectUsers: 'Select users to apply actions to multiple users',\n moderateUsers: 'Moderate multiple users',\n createAccount: 'Create new account',\n apply: 'apply',\n remove: 'remove',\n grantRightConfirmation: 'Are you sure you want to grant {right} rights to all selected users?',\n revokeRightConfirmation: 'Are you sure you want to revoke {right} rights from all selected users?',\n activateMultipleUsersConfirmation: 'Are you sure you want to activate accounts of all selected users?',\n deactivateMultipleUsersConfirmation: 'Are you sure you want to deactivate accounts of all selected users?',\n deleteMultipleUsersConfirmation: 'Are you sure you want to delete accounts of all selected users?',\n addTagForMultipleUsersConfirmation: 'Are you sure you want to apply tag to all selected users?',\n removeTagFromMultipleUsersConfirmation: 'Are you sure you want to remove tag from all selected users?',\n requirePasswordResetConfirmation: 'Are you sure you want to require password reset for all selected users?',\n confirmAccountsConfirmation: 'Are you sure you want to confirm emails for all selected users?',\n resendEmailConfirmation: 'Are you sure you want to resend confirmation email for all selected users?',\n mailerMustBeEnabled: 'To require user\\'s password reset you must enable mailer.',\n ok: 'Okay',\n completed: 'Completed',\n cancel: 'Cancel',\n canceled: 'Canceled',\n username: 'Username',\n email: 'E-mail',\n password: 'Password',\n create: 'Create',\n submitFormError: 'There are invalid values in the form. Please fix them before continuing.',\n emptyEmailError: 'Please input the e-mail',\n invalidEmailError: 'Please input valid e-mail',\n emptyPasswordError: 'Please input the password',\n emptyNicknameError: 'Please input the username',\n invalidNicknameError: 'Username can include \"a-z\", \"A-Z\" and \"0-9\" characters',\n getPasswordResetToken: 'Get password reset token',\n passwordResetTokenCreated: 'Password reset token was created',\n accountCreated: 'New account was created!',\n unconfirmedEmail: 'User didn\\'t confirm the email',\n confirmAccount: 'Confirm account',\n confirmAccounts: 'Confirm accounts',\n resendConfirmation: 'Resend confirmation email'\n },\n statuses: {\n statuses: 'Statuses by instance',\n instanceFilter: 'Instance filter',\n loadMore: 'Load more',\n noInstances: 'No other instances found'\n },\n userProfile: {\n tags: 'Tags',\n moderator: 'Moderator',\n admin: 'Admin',\n local: 'local',\n external: 'external',\n localUppercase: 'Local',\n nickname: 'Nickname',\n recentStatuses: 'Recent Statues',\n showPrivateStatuses: 'Show private statuses',\n roles: 'Roles',\n activeUppercase: 'Active',\n active: 'active',\n deactivated: 'deactivated',\n noStatuses: 'No statuses to show'\n },\n usersFilter: {\n inputPlaceholder: 'Select filter',\n byUserType: 'By user type',\n local: 'Local',\n external: 'External',\n byStatus: 'By status',\n active: 'Active',\n deactivated: 'Deactivated'\n },\n reports: {\n reports: 'Reports',\n groupedReports: 'Grouped reports',\n reply: 'Reply',\n from: 'From',\n showNotes: 'Show notes',\n newNote: 'New note',\n submit: 'Submit',\n confirmMsg: 'Are you sure you want to delete this note?',\n delete: 'Delete',\n cancel: 'Cancel',\n deleteCompleted: 'Delete comleted',\n deleteCanceled: 'Delete canceled',\n noNotes: 'No notes to display',\n changeState: \"Change report's state\",\n changeAllReports: 'Change all reports',\n changeScope: 'Change scope',\n moderateUser: 'Moderate user',\n resolve: 'Resolve',\n reopen: 'Reopen',\n close: 'Close',\n resolveAll: 'Resolve all',\n reopenAll: 'Reopen all',\n closeAll: 'Close all',\n addSensitive: 'Add Sensitive flag',\n removeSensitive: 'Remove Sensitive flag',\n public: 'Make status public',\n private: 'Make status private',\n unlisted: 'Make status unlisted',\n sensitive: 'Sensitive',\n deleteStatus: 'Delete status',\n reportOn: 'Report on',\n reportsOn: 'Reports on',\n id: 'ID',\n account: 'Account',\n actor: 'Actor',\n actors: 'Actors',\n content: 'Content',\n reportedStatus: 'Reported status',\n statusDeleted: 'This status has been deleted',\n leaveNote: 'Leave a note',\n postNote: 'Send',\n deleteNote: 'Delete'\n },\n reportsFilter: {\n inputPlaceholder: 'Select filter',\n open: 'Open',\n closed: 'Closed',\n resolved: 'Resolved'\n },\n moderationLog: {\n moderationLog: 'Moderation Log'\n },\n settings: {\n settings: 'Settings',\n instance: 'Instance',\n upload: 'Upload',\n mailer: 'Mailer',\n logger: 'Logger',\n activityPub: 'ActivityPub',\n auth: 'Authentication',\n autoLinker: 'Auto Linker',\n captcha: 'Captcha',\n frontend: 'Frontend',\n http: 'HTTP',\n mrf: 'MRF',\n mediaProxy: 'Media Proxy',\n metadata: 'Metadata',\n gopher: 'Gopher',\n endpoint: 'Endpoint',\n jobQueue: 'Job queue',\n webPush: 'Web push encryption',\n esshd: 'BBS / SSH access',\n rateLimiters: 'Rate limiters',\n database: 'Database',\n other: 'Other',\n relays: 'Relays',\n follow: 'Follow',\n followRelay: 'Follow new relay',\n instanceUrl: 'Instance URL',\n success: 'Settings changed successfully!',\n emojiPacks: 'Emoji packs',\n reloadEmoji: 'Reload emoji',\n importPacks: 'Import packs from the server filesystem',\n importEmojiTooltip: 'Importing from the filesystem will scan the directories and import those without pack.json but with emoji.txt or without neither',\n localPacks: 'Local packs',\n refreshLocalPacks: 'Refresh local packs',\n createLocalPack: 'Create a new local pack',\n packs: 'Packs',\n remotePacks: 'Remote packs',\n remoteInstanceAddress: 'Remote instance address',\n refreshRemote: 'Refresh remote packs',\n sharePack: 'Share pack',\n homepage: 'Homepage',\n description: 'Description',\n license: 'License',\n fallbackSrc: 'Fallback source',\n fallbackSrcSha: 'Fallback source SHA',\n savePackMetadata: 'Save pack metadata',\n addNewEmoji: 'Add new emoji to the pack',\n shortcode: 'Shortcode',\n uploadFile: 'Upload a file',\n customFilename: 'Custom filename',\n optional: 'optional',\n customFilenameDesc: 'Custom file name (optional)',\n url: 'URL',\n required: 'required',\n clickToUpload: 'Click to upload',\n showPackContents: 'Show pack contents',\n manageEmoji: 'Manage existing emoji',\n file: 'File',\n update: 'Update',\n remove: 'Remove',\n selectLocalPack: 'Select the local pack to copy to',\n localPack: 'Local pack',\n specifyShortcode: 'Specify a custom shortcode',\n specifyFilename: 'Specify a custom filename',\n leaveEmptyShortcode: 'leave empty to use the same shortcode',\n leaveEmptyFilename: 'leave empty to use the same filename',\n copy: 'Copy',\n copyToLocalPack: 'Copy to local pack',\n thisWillDownload: 'This will download the',\n downloadToCurrentInstance: 'pack to the current instance under the name',\n canBeChanged: 'can be changed below',\n willBeUsable: 'It will then be usable and shareable from the current instance',\n downloadPack: 'Download pack',\n deletePack: 'Delete pack',\n downloadSharedPack: 'Download shared pack to current instance',\n downloadAsOptional: 'Download as (optional)',\n downloadPackArchive: 'Download pack archive',\n successfullyDownloaded: 'Successfully downloaded',\n successfullyImported: 'Successfully imported',\n nowNewPacksToImport: 'No new packs to import',\n successfullyUpdated: 'Successfully updated',\n metadatLowerCase: 'metadata',\n files: 'files'\n },\n invites: {\n inviteTokens: 'Invite tokens',\n createInviteToken: 'Generate invite token',\n pickDate: 'Pick a date',\n maxUse: 'Max use',\n expiresAt: 'Expires at',\n tokenCreated: 'Invite token was created',\n token: 'Token',\n uses: 'Uses',\n used: 'Used',\n cancel: 'Cancel',\n create: 'Create',\n revoke: 'Revoke',\n id: 'ID',\n actions: 'Actions',\n active: 'Active',\n inviteUserViaEmail: 'Invite user via email',\n sendRegistration: 'Send registration invite via email',\n email: 'Email',\n name: 'Name',\n emptyEmailError: 'Please input the e-mail',\n invalidEmailError: 'Please input valid e-mail',\n emailSent: 'Invite was sent',\n submitFormError: 'There are invalid values in the form. Please fix them before continuing.',\n inviteViaEmailAlert: 'To send invite via email make sure to enable `invites_enabled` and disable `registrations_open`'\n }\n}\n","export default {\n route: {\n dashboard: '首页',\n introduction: '简述',\n documentation: '文档',\n guide: '引导页',\n permission: '权限测试页',\n pagePermission: '页面权限',\n directivePermission: '指令权限',\n icons: '图标',\n components: '组件',\n componentIndex: '介绍',\n markdown: 'Markdown',\n jsonEditor: 'JSON编辑器',\n dndList: '列表拖拽',\n splitPane: 'Splitpane',\n avatarUpload: '头像上传',\n dropzone: 'Dropzone',\n sticky: 'Sticky',\n countTo: 'CountTo',\n componentMixin: '小组件',\n backToTop: '返回顶部',\n dragDialog: '拖拽 Dialog',\n dragSelect: '拖拽 Select',\n dragKanban: '可拖拽看板',\n charts: '图表',\n keyboardChart: '键盘图表',\n lineChart: '折线图',\n mixChart: '混合图表',\n example: '综合实例',\n nested: '路由嵌套',\n menu1: '菜单1',\n 'menu1-1': '菜单1-1',\n 'menu1-2': '菜单1-2',\n 'menu1-2-1': '菜单1-2-1',\n 'menu1-2-2': '菜单1-2-2',\n 'menu1-3': '菜单1-3',\n menu2: '菜单2',\n Table: 'Table',\n dynamicTable: '动态Table',\n dragTable: '拖拽Table',\n inlineEditTable: 'Table内编辑',\n complexTable: '综合Table',\n treeTable: '树形表格',\n customTreeTable: '自定义树表',\n tab: 'Tab',\n form: '表单',\n createArticle: '创建文章',\n editArticle: '编辑文章',\n articleList: '文章列表',\n errorPages: '错误页面',\n page401: '401',\n page404: '404',\n errorLog: '错误日志',\n excel: 'Excel',\n exportExcel: 'Export Excel',\n selectExcel: 'Export Selected',\n uploadExcel: 'Upload Excel',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: 'Export Zip',\n theme: '换肤',\n clipboardDemo: 'Clipboard',\n i18n: '国际化',\n externalLink: '外链'\n },\n navbar: {\n logOut: '退出登录',\n dashboard: '首页',\n github: '项目地址',\n theme: '换肤',\n size: '布局大小'\n },\n login: {\n title: '系统登录',\n logIn: '登录',\n username: '账号',\n password: '密码',\n any: '随便填',\n thirdparty: '第三方登录',\n thirdpartyTips: '本地不能模拟,请结合自己业务进行模拟!!!'\n },\n documentation: {\n documentation: '文档',\n github: 'Github 地址'\n },\n permission: {\n roles: '你的权限',\n switchRoles: '切换权限',\n tips: '在某些情况下,不适合使用 v-permission。例如:Element-UI 的 Tab 组件或 el-table-column 以及其它动态渲染 dom 的场景。你只能通过手动设置 v-if 来实现。'\n },\n guide: {\n description: '引导页对于一些第一次进入项目的人很有用,你可以简单介绍下项目的功能。本 Demo 是基于',\n button: '打开引导'\n },\n components: {\n documentation: '文档',\n dropzoneTips: '由于我司业务有特殊需求,而且要传七牛 所以没用第三方,选择了自己封装。代码非常的简单,具体代码你可以在这里看到 @/components/element-ui/Dropzone',\n stickyTips: '当页面滚动到预设的位置会吸附在顶部',\n backToTopTips1: '页面滚动到指定位置会在右下角出现返回顶部按钮',\n backToTopTips2: '可自定义按钮的样式、show/hide、出现的高度、返回的位置 如需文字提示,可在外部使用Element的el-tooltip元素',\n imageUploadTips: '由于我在使用时它只有vue@1版本,而且和mockjs不兼容,所以自己改造了一下,如果大家要使用的话,优先还是使用官方版本。'\n },\n table: {\n dynamicTips1: '固定表头, 按照表头顺序排序',\n dynamicTips2: '不固定表头, 按照点击顺序排序',\n dragTips1: '默认顺序',\n dragTips2: '拖拽后顺序',\n title: '标题',\n importance: '重要性',\n type: '类型',\n remark: '点评',\n search: '搜索',\n add: '添加',\n export: '导出',\n reviewer: '审核人',\n id: '序号',\n date: '时间',\n author: '作者',\n readings: '阅读数',\n status: '状态',\n actions: '操作',\n edit: '编辑',\n publish: '发布',\n draft: '草稿',\n delete: '删除',\n cancel: '取 消',\n confirm: '确 定'\n },\n errorLog: {\n tips: '请点击右上角bug小图标',\n description: '现在的管理后台基本都是spa的形式了,它增强了用户体验,但同时也会增加页面出问题的可能性,可能一个小小的疏忽就导致整个页面的死锁。好在 Vue 官网提供了一个方法来捕获处理异常,你可以在其中进行错误处理或者异常上报。',\n documentation: '文档介绍'\n },\n excel: {\n export: '导出',\n selectedExport: '导出已选择项',\n placeholder: '请输入文件名(默认excel-list)'\n },\n zip: {\n export: '导出',\n placeholder: '请输入文件名(默认file)'\n },\n pdf: {\n tips: '这里使用 window.print() 来实现下载pdf的功能'\n },\n theme: {\n change: '换肤',\n documentation: '换肤文档',\n tips: 'Tips: 它区别于 navbar 上的 theme-pick, 是两种不同的换肤方法,各自有不同的应用场景,具体请参考文档。'\n },\n tagsView: {\n refresh: '刷新',\n close: '关闭',\n closeOthers: '关闭其它',\n closeAll: '关闭所有'\n }\n}\n","export default {\n route: {\n dashboard: 'Panel de control',\n introduction: 'Introducción',\n documentation: 'Documentación',\n guide: 'Guía',\n permission: 'Permisos',\n pagePermission: 'Permisos de la página',\n directivePermission: 'Permisos de la directiva',\n icons: 'Iconos',\n components: 'Componentes',\n componentIndex: 'Introducción',\n markdown: 'Markdown',\n jsonEditor: 'Editor JSON',\n dndList: 'Lista Dnd',\n splitPane: 'Panel dividido',\n avatarUpload: 'Subir avatar',\n dropzone: 'Subir ficheros',\n sticky: 'Sticky',\n countTo: 'CountTo',\n componentMixin: 'Mixin',\n backToTop: 'Ir arriba',\n dragDialog: 'Drag Dialog',\n dragSelect: 'Drag Select',\n dragKanban: 'Drag Kanban',\n charts: 'Gráficos',\n keyboardChart: 'Keyboard Chart',\n lineChart: 'Gráfico de líneas',\n mixChart: 'Mix Chart',\n example: 'Ejemplo',\n nested: 'Rutas anidadass',\n menu1: 'Menu 1',\n 'menu1-1': 'Menu 1-1',\n 'menu1-2': 'Menu 1-2',\n 'menu1-2-1': 'Menu 1-2-1',\n 'menu1-2-2': 'Menu 1-2-2',\n 'menu1-3': 'Menu 1-3',\n menu2: 'Menu 2',\n Table: 'Tabla',\n dynamicTable: 'Tabla dinámica',\n dragTable: 'Arrastrar tabla',\n inlineEditTable: 'Editor',\n complexTable: 'Complex Table',\n treeTable: 'Tree Table',\n customTreeTable: 'Custom TreeTable',\n tab: 'Pestaña',\n form: 'Formulario',\n createArticle: 'Crear artículo',\n editArticle: 'Editar artículo',\n articleList: 'Listado de artículos',\n errorPages: 'Páginas de error',\n page401: '401',\n page404: '404',\n errorLog: 'Registro de errores',\n excel: 'Excel',\n exportExcel: 'Exportar a Excel',\n selectExcel: 'Export seleccionado',\n uploadExcel: 'Subir Excel',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: 'Exportar a Zip',\n theme: 'Tema',\n clipboardDemo: 'Clipboard',\n i18n: 'I18n',\n externalLink: 'Enlace externo'\n },\n navbar: {\n logOut: 'Salir',\n dashboard: 'Panel de control',\n github: 'Github',\n theme: 'Tema',\n size: 'Tamaño global'\n },\n login: {\n title: 'Formulario de acceso',\n logIn: 'Acceso',\n username: 'Usuario',\n password: 'Contraseña',\n any: 'nada',\n thirdparty: 'Conectar con',\n thirdpartyTips: 'No se puede simular en local, así que combine su propia simulación de negocios. ! !'\n },\n documentation: {\n documentation: 'Documentación',\n github: 'Repositorio Github'\n },\n permission: {\n roles: 'Tus permisos',\n switchRoles: 'Cambiar permisos',\n tips: 'In some cases it is not suitable to use v-permission, such as element Tab component or el-table-column and other asynchronous rendering dom cases which can only be achieved by manually setting the v-if.'\n },\n guide: {\n description: 'The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ',\n button: 'Ver guía'\n },\n components: {\n documentation: 'Documentación',\n dropzoneTips: 'Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/element-ui/Dropzone.',\n stickyTips: 'when the page is scrolled to the preset position will be sticky on the top.',\n backToTopTips1: 'When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner',\n backToTopTips2: 'You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally',\n imageUploadTips: 'Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version.'\n },\n table: {\n dynamicTips1: 'Fixed header, sorted by header order',\n dynamicTips2: 'Not fixed header, sorted by click order',\n dragTips1: 'Orden por defecto',\n dragTips2: 'The after dragging order',\n title: 'Título',\n importance: 'Importancia',\n type: 'Tipo',\n remark: 'Remark',\n search: 'Buscar',\n add: 'Añadir',\n export: 'Exportar',\n reviewer: 'reviewer',\n id: 'ID',\n date: 'Fecha',\n author: 'Autor',\n readings: 'Lector',\n status: 'Estado',\n actions: 'Acciones',\n edit: 'Editar',\n publish: 'Publicar',\n draft: 'Draft',\n delete: 'Eliminar',\n cancel: 'Cancelar',\n confirm: 'Confirmar'\n },\n errorLog: {\n tips: 'Please click the bug icon in the upper right corner',\n description: 'Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.',\n documentation: 'Documento de introducción'\n },\n excel: {\n export: 'Exportar',\n selectedExport: 'Exportar seleccionados',\n placeholder: 'Por favor escribe un nombre de fichero'\n },\n zip: {\n export: 'Exportar',\n placeholder: 'Por favor escribe un nombre de fichero'\n },\n pdf: {\n tips: 'Here we use window.print() to implement the feature of downloading pdf.'\n },\n theme: {\n change: 'Cambiar tema',\n documentation: 'Documentación del tema',\n tips: 'Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details.'\n },\n tagsView: {\n refresh: 'Actualizar',\n close: 'Cerrar',\n closeOthers: 'Cerrar otros',\n closeAll: 'Cerrar todos'\n }\n}\n","export default {\n route: {\n dashboard: 'Tablèu de bòrd',\n introduction: 'Introduccion',\n documentation: 'Documentacion',\n guide: 'Guida',\n permission: 'Autorizacions',\n pagePermission: 'Pagina d’autorizacion',\n directivePermission: 'Politica d’autorizacion',\n icons: 'Icònas',\n components: 'Compausants',\n componentIndex: 'Introduccion',\n markdown: 'Markdown',\n jsonEditor: 'JSON Editor',\n dndList: 'Dnd List',\n splitPane: 'SplitPane',\n avatarUpload: 'Mandadís d’avatar',\n dropzone: 'Dropzone',\n sticky: 'Sticky',\n countTo: 'CountTo',\n componentMixin: 'Mixin',\n backToTop: 'BackToTop',\n dragDialog: 'Drag Dialog',\n dragSelect: 'Drag Select',\n dragKanban: 'Drag Kanban',\n charts: 'Charts',\n keyboardChart: 'Keyboard Chart',\n lineChart: 'Line Chart',\n mixChart: 'Mix Chart',\n example: 'Exemple',\n nested: 'Rotas imbricadas',\n menu1: 'Menú 1',\n 'menu1-1': 'Menu 1-1',\n 'menu1-2': 'Menu 1-2',\n 'menu1-2-1': 'Menu 1-2-1',\n 'menu1-2-2': 'Menu 1-2-2',\n 'menu1-3': 'Menu 1-3',\n menu2: 'Menú 2',\n Table: 'Tablèu',\n dynamicTable: 'Tablèu dinamic',\n dragTable: 'Drag Table',\n inlineEditTable: 'Inline Edit',\n complexTable: 'Tablèu complèx',\n treeTable: 'Arborescéncia',\n customTreeTable: 'Arborescéncia personalizada',\n tab: 'Onglet',\n form: 'Formulari',\n createArticle: 'Crear un article',\n editArticle: 'Modificar l’article',\n articleList: 'Lista d’articles',\n errorPages: 'Paginas d’error',\n page401: '401',\n page404: '404',\n errorLog: 'Jornal d’error',\n excel: 'Excel',\n exportExcel: 'Exportacion Excel',\n selectExcel: 'Exportar los seleccionats',\n uploadExcel: 'Importacion Excel',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: 'Exportacion Zip',\n theme: 'Tèma',\n clipboardDemo: 'Clipboard',\n i18n: 'I18n',\n externalLink: 'Ligams extèrnes',\n users: 'Utilizaires'\n },\n navbar: {\n logOut: 'Desconnexion',\n dashboard: 'Tablèu de bòrd',\n github: 'Github',\n theme: 'Tèma',\n size: 'Talha totala'\n },\n login: {\n title: 'Formulari de connexion',\n logIn: 'Se connectar',\n username: 'Nom d’’utilizaire',\n password: 'Senhal',\n any: 'qual que siá',\n thirdparty: 'O se connectar amb',\n thirdpartyTips: 'Pòt pas èsser simulat en local, doncas montatz vòstra pròpria simulacion ! ! !'\n },\n documentation: {\n documentation: 'Documentacion',\n github: 'Repertòri Github'\n },\n permission: {\n roles: 'Vòstres ròtles',\n switchRoles: 'Cambiar de ròtle',\n tips: 'Dins qualques cases es pas de bon far d’utilizar v-permission, coma element d’onglet compausant, el-table-column o d’autres renduts dom asincròns que pòdon pas que foncionar amb un parametratge manual de v-if.'\n },\n guide: {\n description: 'La pagina de guida es utila pel monde que dintran dins lo projècte pel primièr còp. Podètz presentar en un mot las foncionalitats del projèctes. La demo es fondada sus ',\n button: 'Mostrar la guida'\n },\n components: {\n documentation: 'Documentacion',\n dropzoneTips: 'Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/element-ui/Dropzone.',\n stickyTips: 'when the page is scrolled to the preset position will be sticky on the top.',\n backToTopTips1: 'When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner',\n backToTopTips2: 'You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally',\n imageUploadTips: 'Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version.'\n },\n table: {\n dynamicTips1: 'Bandièra fixa, triada per òrdre de bandièra',\n dynamicTips2: 'Bandièra pas fixa, triada per òrdre de clic',\n dragTips1: 'L’’òrdre per defaut',\n dragTips2: 'L’’òrdre aprèp lisar-depausar',\n title: 'Títol',\n importance: 'Imp',\n type: 'Tipe',\n remark: 'Remarca',\n search: 'Recercar',\n add: 'Ajustar',\n export: 'Exportar',\n reviewer: 'examinator',\n id: 'ID',\n date: 'Data',\n author: 'Autor',\n readings: 'Lecturas',\n status: 'Estatuts',\n actions: 'Accions',\n edit: 'Modificar',\n publish: 'Publicar',\n draft: 'Ensag',\n delete: 'Suprimir',\n cancel: 'Anullar',\n confirm: 'Confirmar'\n },\n errorLog: {\n tips: 'Mercés de clicar l’’icòna del babau amont a man drecha',\n description: 'Ara que lo sistèma de gestion es coma un spa, melhora l’experiéncia dels utilizaire mas aumenta tanben lo risc de problèmas sus la pagina, una pichona negligéncia pòt menar a un blocatge complèt de la pagina. Urosament Vue fornís de manièras per gerir las excepcions, trobar las errors o senhalar las excepcions.',\n documentation: 'Presentacion del document'\n },\n excel: {\n export: 'Exportar',\n selectedExport: 'Exportar los elements seleccionats',\n placeholder: 'Mercés de picar lo nom de fichièr (per defaut excel-list)'\n },\n zip: {\n export: 'Exportar',\n placeholder: 'Mercés de picar lo nom de fichièr (per defaut file)'\n },\n pdf: {\n tips: 'Aquí utilizam window.print() per prepausar lo telecargament de pdf.'\n },\n theme: {\n change: 'Cambiar lo tèma',\n documentation: 'Documentacion dels tèmas',\n tips: 'Astúcia : es diferent del theme-pick de la barra de navigacion, i a dos metòdes de personalizacion, caduna amb un biais de far diferent. Referiscam a la documentacion per mai de detalhs.'\n },\n tagsView: {\n refresh: 'Actualizar',\n close: 'Tampar',\n closeOthers: 'Tampar los autres',\n closeAll: 'Los tampar totes'\n }\n}\n","import request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nimport _ from 'lodash'\n\nexport async function deletePack(host, token, name) {\n return await request({\n baseURL: baseName(host),\n url: `/api/pleroma/emoji/packs/${name}`,\n method: 'delete',\n headers: authHeaders(token)\n })\n}\n\nexport async function reloadEmoji(host, token) {\n return await request({\n baseURL: baseName(host),\n url: '/api/pleroma/admin/reload_emoji',\n method: 'post',\n headers: authHeaders(token)\n })\n}\n\nexport async function importFromFS(host, token) {\n return await request({\n baseURL: baseName(host),\n url: '/api/pleroma/emoji/packs/import_from_fs',\n method: 'post',\n headers: authHeaders(token)\n })\n}\n\nexport async function createPack(host, token, name) {\n return await request({\n baseURL: baseName(host),\n url: `/api/pleroma/emoji/packs/${name}`,\n method: 'put',\n headers: authHeaders(token)\n })\n}\n\nexport async function listPacks(host) {\n return await request({\n baseURL: baseName(host),\n url: `/api/pleroma/emoji/packs/`,\n method: 'get'\n })\n}\n\nexport async function listRemotePacks(host, token, instance) {\n return await request({\n baseURL: baseName(host),\n url: `/api/pleroma/emoji/packs/list_from`,\n method: 'post',\n headers: authHeaders(token),\n data: { instance_address: baseName(instance) }\n })\n}\n\nexport async function downloadFrom(host, instance_address, pack_name, as, token) {\n if (as.trim() === '') {\n as = null\n }\n\n return await request({\n baseURL: baseName(host),\n url: '/api/pleroma/emoji/packs/download_from',\n method: 'post',\n headers: authHeaders(token),\n data: { instance_address: baseName(instance_address), pack_name, as },\n timeout: 0\n })\n}\n\nexport async function savePackMetadata(host, token, name, new_data) {\n return await request({\n baseURL: baseName(host),\n url: `/api/pleroma/emoji/packs/${name}/update_metadata`,\n method: 'post',\n headers: authHeaders(token),\n data: { name, new_data },\n timeout: 0 // This might take a long time\n })\n}\n\nfunction fileUpdateFormData(d) {\n const data = new FormData()\n\n _.each(d, (v, k) => {\n data.set(k, v)\n })\n\n return data\n}\n\nexport async function updatePackFile(host, token, args) {\n let data = null\n\n switch (args.action) {\n case 'add': {\n const { shortcode, file, fileName } = args\n\n data = fileUpdateFormData({\n action: 'add',\n shortcode: shortcode,\n file: file\n })\n if (fileName.trim() !== '') {\n data.set('filename', fileName)\n }\n\n break\n }\n\n case 'update': {\n const { oldName, newName, newFilename } = args\n\n data = fileUpdateFormData({\n action: 'update',\n shortcode: oldName,\n new_shortcode: newName,\n new_filename: newFilename\n })\n\n break\n }\n\n case 'remove': {\n const { name } = args\n data = fileUpdateFormData({\n action: 'remove',\n shortcode: name\n })\n\n break\n }\n }\n\n const { packName } = args\n\n return await request({\n baseURL: baseName(host),\n url: `/api/pleroma/emoji/packs/${packName}/update_file`,\n method: 'post',\n headers: authHeaders(token),\n data: data,\n timeout: 0\n })\n}\n\nexport function addressOfEmojiInPack(host, packName, name) {\n return `${baseName(host)}/emoji/${packName}/${name}`\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-icon\",\n \"use\": \"icon-icon-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-icon\\\"><path d=\\\"M115.147.062a13 13 0 0 1 4.94.945c1.55.63 2.907 1.526 4.069 2.688a13.148 13.148 0 0 1 2.761 4.069c.678 1.55 1.017 3.245 1.017 5.086v102.3c0 3.681-1.187 6.733-3.56 9.155-2.373 2.422-5.352 3.633-8.937 3.633H12.992c-3.875 0-7-1.26-9.373-3.779-2.373-2.518-3.56-5.667-3.56-9.445V12.704c0-3.39 1.163-6.345 3.488-8.863C5.872 1.32 8.972.062 12.847.062h102.3zM81.434 109.047c1.744 0 3.003-.412 3.778-1.235.775-.824 1.163-1.914 1.163-3.27 0-1.26-.388-2.325-1.163-3.197-.775-.872-2.034-1.307-3.778-1.307H72.57c.097-.194.145-.485.145-.872V27.09h9.01c1.743 0 2.954-.436 3.633-1.308.678-.872 1.017-1.938 1.017-3.197 0-1.26-.34-2.325-1.017-3.197-.679-.872-1.89-1.308-3.633-1.308H46.268c-1.743 0-2.954.436-3.632 1.308-.678.872-1.018 1.938-1.018 3.197 0 1.26.34 2.325 1.018 3.197.678.872 1.889 1.308 3.632 1.308h8.138v72.075c0 .193.024.339.073.436.048.096.072.242.072.436H46.56c-1.744 0-3.003.435-3.778 1.307-.775.872-1.163 1.938-1.163 3.197 0 1.356.388 2.446 1.163 3.27.775.823 2.034 1.235 3.778 1.235h34.875z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-404\",\n \"use\": \"icon-404-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-404\\\"><path d=\\\"M121.718 73.272v9.953c3.957-7.584 6.199-16.05 6.199-24.995C127.917 26.079 99.273 0 63.958 0 28.644 0 0 26.079 0 58.23c0 .403.028.806.028 1.21l22.97-25.953h13.34l-19.76 27.187h6.42V53.77l13.728-19.477v49.361H22.998V73.272H2.158c5.951 20.284 23.608 36.208 45.998 41.399-1.44 3.3-5.618 11.263-12.565 12.674-8.607 1.764 23.358.428 46.163-13.178 17.519-4.611 31.938-15.849 39.77-30.513h-13.506V73.272H85.02V59.464l22.998-25.977h13.008l-19.429 27.187h6.421v-7.433l13.727-19.402v39.433h-.027zm-78.24 2.822a10.516 10.516 0 0 1-.996-4.535V44.548c0-1.613.332-3.124.996-4.535a11.66 11.66 0 0 1 2.713-3.68c1.134-1.032 2.49-1.864 4.04-2.468 1.55-.605 3.21-.908 4.982-.908h11.292c1.77 0 3.431.303 4.981.908 1.522.604 2.85 1.41 3.986 2.418l-12.26 16.303v-2.898a1.96 1.96 0 0 0-.665-1.512c-.443-.403-.996-.604-1.66-.604-.665 0-1.218.201-1.661.604a1.96 1.96 0 0 0-.664 1.512v9.071L44.364 77.606a10.556 10.556 0 0 1-.886-1.512zm35.73-4.535c0 1.613-.332 3.124-.997 4.535a11.66 11.66 0 0 1-2.712 3.68c-1.134 1.032-2.49 1.864-4.04 2.469-1.55.604-3.21.907-4.982.907H55.185c-1.77 0-3.431-.303-4.981-.907-1.55-.605-2.906-1.437-4.041-2.47a12.49 12.49 0 0 1-1.384-1.512l13.727-18.217v6.375c0 .605.222 1.109.665 1.512.442.403.996.604 1.66.604.664 0 1.218-.201 1.66-.604a1.96 1.96 0 0 0 .665-1.512V53.87L75.97 36.838c.913.932 1.66 1.99 2.214 3.175.664 1.41.996 2.922.996 4.535v27.011h.028z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-edit\",\n \"use\": \"icon-edit-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-edit\\\"><path d=\\\"M106.133 67.2a4.797 4.797 0 0 0-4.8 4.8c0 .187.014.36.027.533h-.027V118.4H9.6V26.667h50.133c2.654 0 4.8-2.147 4.8-4.8 0-2.654-2.146-4.8-4.8-4.8H9.6a9.594 9.594 0 0 0-9.6 9.6V118.4c0 5.307 4.293 9.6 9.6 9.6h91.733c5.307 0 9.6-4.293 9.6-9.6V72.533h-.026c.013-.173.026-.346.026-.533 0-2.653-2.146-4.8-4.8-4.8z\\\" /><path d=\\\"M125.16 13.373L114.587 2.8c-3.747-3.747-9.854-3.72-13.6.027l-52.96 52.96a4.264 4.264 0 0 0-.907 1.36L33.813 88.533c-.746 1.76-.226 3.534.907 4.68 1.133 1.147 2.92 1.667 4.693.92l31.4-13.293c.507-.213.96-.52 1.36-.907l52.96-52.96c3.747-3.746 3.774-9.853.027-13.6zM66.107 72.4l-18.32 7.76 7.76-18.32L92.72 24.667l10.56 10.56L66.107 72.4zm52.226-52.227l-8.266 8.267-10.56-10.56 8.266-8.267.027-.026 10.56 10.56-.027.026z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-lock\",\n \"use\": \"icon-lock-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-lock\\\"><path d=\\\"M119.88 49.674h-7.987V39.52C111.893 17.738 90.45.08 63.996.08 37.543.08 16.1 17.738 16.1 39.52v10.154H8.113c-4.408 0-7.987 2.94-7.987 6.577v65.13c0 3.637 3.57 6.577 7.987 6.577H119.88c4.407 0 7.987-2.94 7.987-6.577v-65.13c-.008-3.636-3.58-6.577-7.987-6.577zm-23.953 0H32.065V39.52c0-14.524 14.301-26.295 31.931-26.295 17.63 0 31.932 11.777 31.932 26.295v10.153z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-user\",\n \"use\": \"icon-user-usage\",\n \"viewBox\": \"0 0 130 130\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 130 130\\\" id=\\\"icon-user\\\"><path d=\\\"M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z\\\" stroke=\\\"#979797\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuText\":\"#bfcbd9\",\"menuActiveText\":\"#409EFF\",\"subMenuActiveText\":\"#f4f4f5\",\"menuBg\":\"#304156\",\"menuHover\":\"#263445\",\"subMenuBg\":\"#1f2d3d\",\"subMenuHover\":\"#001528\",\"sideBarWidth\":\"180px\"};","import axios from 'axios'\nimport { Message } from 'element-ui'\n\n// create an axios instance\nconst service = axios.create({\n timeout: 60000 // request timeout\n})\n\n// response interceptor\nservice.interceptors.response.use(\n response => response,\n error => {\n let errorMessage\n console.log(`Error ${error}`)\n\n if (error.response) {\n const edata = error.response.data.error ? error.response.data.error : error.response.data\n errorMessage = !error.response.headers['content-type'].includes('application/json')\n ? `${error.message}`\n : `${error.message} - ${edata}`\n } else {\n errorMessage = error\n }\n\n Message({\n message: errorMessage,\n type: 'error',\n duration: 5 * 1000\n })\n return Promise.reject(error)\n }\n)\n\nexport default service\n","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-clipboard\",\n \"use\": \"icon-clipboard-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-clipboard\\\"><path d=\\\"M54.857 118.857h64V73.143H89.143c-1.902 0-3.52-.668-4.855-2.002-1.335-1.335-2.002-2.954-2.002-4.855V36.57H54.857v82.286zM73.143 16v-4.571a2.2 2.2 0 0 0-.677-1.61 2.198 2.198 0 0 0-1.609-.676H20.571c-.621 0-1.158.225-1.609.676a2.198 2.198 0 0 0-.676 1.61V16a2.2 2.2 0 0 0 .676 1.61c.451.45.988.676 1.61.676h50.285c.622 0 1.158-.226 1.61-.677.45-.45.676-.987.676-1.609zm18.286 48h21.357L91.43 42.642V64zM128 73.143v48c0 1.902-.667 3.52-2.002 4.855-1.335 1.335-2.953 2.002-4.855 2.002H52.57c-1.901 0-3.52-.667-4.854-2.002-1.335-1.335-2.003-2.953-2.003-4.855v-11.429H6.857c-1.902 0-3.52-.667-4.855-2.002C.667 106.377 0 104.759 0 102.857v-96c0-1.902.667-3.52 2.002-4.855C3.337.667 4.955 0 6.857 0h77.714c1.902 0 3.52.667 4.855 2.002 1.335 1.335 2.003 2.953 2.003 4.855V30.29c1 .622 1.856 1.29 2.569 2.003l29.147 29.147c1.335 1.335 2.478 3.145 3.429 5.43.95 2.287 1.426 4.383 1.426 6.291v-.018z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-email\",\n \"use\": \"icon-email-usage\",\n \"viewBox\": \"0 0 128 96\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 96\\\" id=\\\"icon-email\\\"><path d=\\\"M64.125 56.975L120.188.912A12.476 12.476 0 0 0 115.5 0h-103c-1.588 0-3.113.3-4.513.838l56.138 56.137z\\\" /><path d=\\\"M64.125 68.287l-62.3-62.3A12.42 12.42 0 0 0 0 12.5v71C0 90.4 5.6 96 12.5 96h103c6.9 0 12.5-5.6 12.5-12.5v-71a12.47 12.47 0 0 0-1.737-6.35L64.125 68.287z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-chart\",\n \"use\": \"icon-chart-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-chart\\\"><path d=\\\"M0 54.857h36.571V128H0V54.857zM91.429 27.43H128V128H91.429V27.429zM45.714 0h36.572v128H45.714V0z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',_vm._g({class:_vm.svgClass,attrs:{\"aria-hidden\":\"true\"}},_vm.$listeners),[_c('use',{attrs:{\"xlink:href\":_vm.iconName}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <svg :class=\"svgClass\" aria-hidden=\"true\" v-on=\"$listeners\">\n <use :xlink:href=\"iconName\"/>\n </svg>\n</template>\n\n<script>\nexport default {\n name: 'SvgIcon',\n props: {\n iconClass: {\n type: String,\n required: true\n },\n className: {\n type: String,\n default: ''\n }\n },\n computed: {\n iconName() {\n return `#icon-${this.iconClass}`\n },\n svgClass() {\n if (this.className) {\n return 'svg-icon ' + this.className\n } else {\n return 'svg-icon'\n }\n }\n }\n}\n</script>\n\n<style scoped>\n.svg-icon {\n width: 1em;\n height: 1em;\n vertical-align: -0.15em;\n fill: currentColor;\n overflow: hidden;\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=17178ffc&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=17178ffc&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 \"17178ffc\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuText\":\"#bfcbd9\",\"menuActiveText\":\"#409EFF\",\"subMenuActiveText\":\"#f4f4f5\",\"menuBg\":\"#304156\",\"menuHover\":\"#263445\",\"subMenuBg\":\"#1f2d3d\",\"subMenuHover\":\"#001528\",\"sideBarWidth\":\"180px\"};"],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/app.9c4316f1.js b/priv/static/adminfe/static/js/app.9c4316f1.js
deleted file mode 100644
index 6af94c36b..000000000
--- a/priv/static/adminfe/static/js/app.9c4316f1.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([["app"],{"+Bsb":function(e,t,n){"use strict";var a=n("7/2J");n.n(a).a},"+aF5":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-pdf",use:"icon-pdf-usage",viewBox:"0 0 1024 1024",content:'<symbol viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" id="icon-pdf"><path d="M869.073 277.307H657.111V65.344l211.962 211.963zm-238.232 26.27V65.344l-476.498-.054v416.957h714.73v-178.67H630.841zm-335.836 360.57c-5.07-3.064-10.944-5.133-17.61-6.201-6.67-1.064-13.603-1.6-20.81-1.6h-48.821v85.641h48.822c7.206 0 14.14-.532 20.81-1.6 6.665-1.065 12.54-3.133 17.609-6.202 5.064-3.063 9.134-7.406 12.208-13.007 3.065-5.602 4.6-12.937 4.6-22.011 0-9.07-1.535-16.408-4.6-22.01-3.074-5.603-7.144-9.94-12.208-13.01zM35.82 541.805v416.904h952.358V541.805H35.821zm331.421 191.179c-3.6 11.071-9.343 20.879-17.209 29.413-7.874 8.542-18.078 15.408-30.617 20.61-12.544 5.206-27.747 7.807-45.621 7.807h-66.036v102.45h-62.831V607.517h128.867c17.874 0 33.077 2.6 45.62 7.802 12.541 5.207 22.745 12.076 30.618 20.615 7.866 8.538 13.604 18.277 17.21 29.212 3.6 10.943 5.401 22.278 5.401 34.018 0 11.477-1.8 22.752-5.402 33.819zM644.9 806.417c-5.343 17.61-13.408 32.818-24.212 45.627-10.807 12.803-24.283 22.879-40.423 30.213-16.146 7.343-35.155 11.007-57.03 11.007h-123.26V607.518h123.26c18.41 0 35.552 2.941 51.428 8.808 15.873 5.869 29.618 14.671 41.22 26.412 11.608 11.744 20.674 26.411 27.217 44.02 6.535 17.61 9.803 38.288 9.803 62.035 0 20.81-2.67 40.02-8.003 57.624zm245.362-146.07h-138.07v66.03h119.66v48.829h-119.66v118.058h-62.83V607.518h200.9v52.829h-.001zm-318.2 25.611c-6.402-8.266-14.877-14.604-25.412-19.01-10.544-4.402-23.551-6.602-39.019-6.602h-44.825v180.088h56.029c9.07 0 17.872-1.463 26.415-4.401 8.535-2.932 16.14-7.802 22.812-14.609 6.665-6.8 12.007-15.667 16.007-26.61 4.003-10.94 6.003-24.275 6.003-40.021 0-14.408-1.4-27.416-4.202-39.019-2.8-11.607-7.406-21.542-13.808-29.816zm0 0" /></symbol>'});o.a.add(s);t.default=s},"/H2a":function(e,t,n){"use strict";var a=n("COcF");n.n(a).a},"0Fbn":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-people",use:"icon-people-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-people"><path d="M104.185 95.254c8.161 7.574 13.145 17.441 13.145 28.28 0 1.508-.098 2.998-.285 4.466h-10.784c.238-1.465.403-2.948.403-4.465 0-8.983-4.36-17.115-11.419-23.216C86 104.66 75.355 107.162 64 107.162c-11.344 0-21.98-2.495-31.22-6.83-7.064 6.099-11.444 14.218-11.444 23.203 0 1.517.165 3 .403 4.465H10.955a35.444 35.444 0 0 1-.285-4.465c0-10.838 4.974-20.713 13.127-28.291C9.294 85.42.003 70.417.003 53.58.003 23.99 28.656.001 64 .001s63.997 23.988 63.997 53.58c0 16.842-9.299 31.85-23.812 41.673zM64 36.867c-29.454 0-53.33-10.077-53.33 15.342 0 25.418 23.876 46.023 53.33 46.023 29.454 0 53.33-20.605 53.33-46.023 0-25.419-23.876-15.342-53.33-15.342zm24.888 25.644c-3.927 0-7.111-2.665-7.111-5.953 0-3.288 3.184-5.954 7.11-5.954 3.928 0 7.111 2.666 7.111 5.954s-3.183 5.953-7.11 5.953zm-3.556 16.372c0 4.11-9.55 7.442-21.332 7.442-11.781 0-21.332-3.332-21.332-7.442 0-1.06.656-2.064 1.8-2.976 3.295 2.626 10.79 4.465 19.532 4.465 8.743 0 16.237-1.84 19.531-4.465 1.145.912 1.801 1.916 1.801 2.976zm-46.22-16.372c-3.927 0-7.11-2.665-7.11-5.953 0-3.288 3.183-5.954 7.11-5.954 3.927 0 7.111 2.666 7.111 5.954s-3.184 5.953-7.11 5.953z" /></symbol>'});o.a.add(s);t.default=s},"1+ww":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-eye-open",use:"icon-eye-open-usage",viewBox:"0 0 1024 1024",content:'<symbol class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" id="icon-eye-open"><defs><style></style></defs><path d="M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z" /></symbol>'});o.a.add(s);t.default=s},"28eg":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-exit-fullscreen",use:"icon-exit-fullscreen-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-exit-fullscreen"><path d="M49.217 41.329l-.136-35.24c-.06-2.715-2.302-4.345-5.022-4.405h-3.65c-2.712-.06-4.866 2.303-4.806 5.016l.152 19.164-24.151-23.79a6.698 6.698 0 0 0-9.499 0 6.76 6.76 0 0 0 0 9.526l23.93 23.713-18.345.074c-2.712-.069-5.228 1.813-5.64 5.02v3.462c.069 2.721 2.31 4.97 5.022 5.03l35.028-.207c.052.005.087.025.133.025l2.457.054a4.626 4.626 0 0 0 3.436-1.38c.88-.874 1.205-2.096 1.169-3.462l-.262-2.465c0-.048.182-.081.182-.136h.002zm52.523 51.212l18.32-.073c2.713.06 5.224-1.609 5.64-4.815v-3.462c-.068-2.722-2.317-4.97-5.021-5.04l-34.58.21c-.053 0-.086-.021-.138-.021l-2.451-.06a4.64 4.64 0 0 0-3.445 1.381c-.885.868-1.201 2.094-1.174 3.46l.27 2.46c.005.06-.177.095-.177.141l.141 34.697c.069 2.713 2.31 4.338 5.022 4.397l3.45.006c2.705.062 4.867-2.31 4.8-5.026l-.153-18.752 24.151 23.946a6.69 6.69 0 0 0 9.494 0 6.747 6.747 0 0 0 0-9.523L101.74 92.54v.001zM48.125 80.662a4.636 4.636 0 0 0-3.437-1.382l-2.457.06c-.05 0-.082.022-.137.022l-35.025-.21c-2.712.07-4.957 2.318-5.022 5.04v3.462c.409 3.206 2.925 4.874 5.633 4.814l18.554.06-24.132 23.928c-2.62 2.626-2.62 6.89 0 9.524a6.694 6.694 0 0 0 9.496 0l24.155-23.79-.155 18.866c-.06 2.722 2.094 5.093 4.801 5.025h3.65c2.72-.069 4.962-1.685 5.022-4.406l.141-34.956c0-.05-.182-.082-.182-.136l.262-2.46c.03-1.366-.286-2.592-1.166-3.46h-.001zM80.08 47.397a4.62 4.62 0 0 0 3.443 1.374l2.45-.054c.055 0 .088-.02.143-.028l35.08.21c2.712-.062 4.953-2.312 5.021-5.033l.009-3.463c-.417-3.211-2.937-5.084-5.64-5.025l-18.615-.073 23.917-23.715c2.63-2.623 2.63-6.879.008-9.513a6.691 6.691 0 0 0-9.494 0L92.251 26.016l.155-19.312c.065-2.713-2.097-5.085-4.802-5.025h-3.45c-2.713.069-4.954 1.693-5.022 4.406l-.139 35.247c0 .054.18.088.18.136l-.267 2.465c-.028 1.366.288 2.588 1.174 3.463v.001z" /></symbol>'});o.a.add(s);t.default=s},"3PhE":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-nested",use:"icon-nested-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-nested"><path d="M.002 9.2c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-5.043-3.58-9.132-7.997-9.132S.002 4.157.002 9.2zM31.997.066h95.981V18.33H31.997V.066zm0 45.669c0 5.044 3.58 9.132 7.998 9.132 4.417 0 7.997-4.088 7.997-9.132 0-3.263-1.524-6.278-3.998-7.91-2.475-1.63-5.524-1.63-7.998 0-2.475 1.632-4 4.647-4 7.91zM63.992 36.6h63.986v18.265H63.992V36.6zm-31.995 82.2c0 5.043 3.58 9.132 7.998 9.132 4.417 0 7.997-4.089 7.997-9.132 0-5.044-3.58-9.133-7.997-9.133s-7.998 4.089-7.998 9.133zm31.995-9.131h63.986v18.265H63.992V109.67zm0-27.404c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-3.263-1.524-6.277-3.998-7.909-2.475-1.631-5.524-1.631-7.998 0-2.475 1.632-4 4.646-4 7.91zm31.995-9.13h31.991V91.4H95.987V73.135z" /></symbol>'});o.a.add(s);t.default=s},"5TQQ":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-theme",use:"icon-theme-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-theme"><path d="M125.5 36.984L95.336 2.83C93.735 1.018 91.565 0 89.3 0c-2.263 0-4.433 1.018-6.033 2.83l-3.786 4.286c-1.6 1.812-3.77 2.83-6.032 2.831H54.553c-2.263 0-4.434-1.018-6.033-2.83L44.734 2.83C43.134 1.018 40.964 0 38.701 0c-2.263 0-4.434 1.018-6.034 2.83L2.5 36.984C.9 38.796 0 41.254 0 43.815c0 2.562.899 5.02 2.5 6.831L14.565 64.31c2.178 2.468 5.367 3.403 8.33 2.444 1.35-.435 2.709.592 2.709 2.18v49.407c0 5.313 3.84 9.66 8.532 9.66h59.726c4.693 0 8.532-4.347 8.532-9.66V68.934c0-1.59 1.36-2.616 2.71-2.181 2.962.96 6.15.024 8.329-2.444L125.5 50.646c1.6-1.811 2.499-4.269 2.499-6.83 0-2.563-.899-5.02-2.5-6.832z" /></symbol>'});o.a.add(s);t.default=s},"6xvN":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-form",use:"icon-form-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-form"><path d="M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z" /></symbol>'});o.a.add(s);t.default=s},"7/2J":function(e,t,n){},"86pr":function(e,t,n){},"94Jb":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-dashboard",use:"icon-dashboard-usage",viewBox:"0 0 128 100",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 100" id="icon-dashboard"><path d="M27.429 63.638c0-2.508-.893-4.65-2.679-6.424-1.786-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.465 2.662-1.785 1.774-2.678 3.916-2.678 6.424 0 2.508.893 4.65 2.678 6.424 1.786 1.775 3.94 2.662 6.465 2.662 2.524 0 4.678-.887 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm13.714-31.801c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM71.714 65.98l7.215-27.116c.285-1.23.107-2.378-.536-3.443-.643-1.064-1.56-1.762-2.75-2.094-1.19-.33-2.333-.177-3.429.462-1.095.639-1.81 1.573-2.143 2.804l-7.214 27.116c-2.857.237-5.405 1.266-7.643 3.088-2.238 1.822-3.738 4.152-4.5 6.992-.952 3.644-.476 7.098 1.429 10.364 1.905 3.265 4.69 5.37 8.357 6.317 3.667.947 7.143.474 10.429-1.42 3.285-1.892 5.404-4.66 6.357-8.305.762-2.84.619-5.607-.429-8.305-1.047-2.697-2.762-4.85-5.143-6.46zm47.143-2.342c0-2.508-.893-4.65-2.678-6.424-1.786-1.775-3.94-2.662-6.465-2.662-2.524 0-4.678.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.786 1.775 3.94 2.662 6.464 2.662 2.524 0 4.679-.887 6.465-2.662 1.785-1.775 2.678-3.916 2.678-6.424zm-45.714-45.43c0-2.509-.893-4.65-2.679-6.425C68.68 10.01 66.524 9.122 64 9.122c-2.524 0-4.679.887-6.464 2.661-1.786 1.775-2.679 3.916-2.679 6.425 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm32 13.629c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM128 63.638c0 12.351-3.357 23.78-10.071 34.286-.905 1.372-2.19 2.058-3.858 2.058H13.93c-1.667 0-2.953-.686-3.858-2.058C3.357 87.465 0 76.037 0 63.638c0-8.613 1.69-16.847 5.071-24.703C8.452 31.08 13 24.312 18.714 18.634c5.715-5.68 12.524-10.199 20.429-13.559C47.048 1.715 55.333.035 64 .035c8.667 0 16.952 1.68 24.857 5.04 7.905 3.36 14.714 7.88 20.429 13.559 5.714 5.678 10.262 12.446 13.643 20.301 3.38 7.856 5.071 16.09 5.071 24.703z" /></symbol>'});o.a.add(s);t.default=s},"9i3r":function(e,t,n){"use strict";n.d(t,"a",function(){return a});var a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"localhost";return e.match(/https?:\/\//)?e:function(e){return e.startsWith("localhost:")||e.startsWith("127.0.0.1:")}(e)?"http://".concat(e):"https://".concat(e)}},COcF:function(e,t,n){},EqXK:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-shopping",use:"icon-shopping-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-shopping"><path d="M42.913 101.36c1.642 0 3.198.332 4.667.996a12.28 12.28 0 0 1 3.89 2.772c1.123 1.184 1.987 2.582 2.592 4.193.605 1.612.908 3.318.908 5.118 0 1.8-.303 3.507-.908 5.118-.605 1.611-1.469 3.01-2.593 4.194a13.3 13.3 0 0 1-3.889 2.843 10.582 10.582 0 0 1-4.667 1.066c-1.729 0-3.306-.355-4.732-1.066a13.604 13.604 0 0 1-3.825-2.843c-1.123-1.185-1.988-2.583-2.593-4.194a14.437 14.437 0 0 1-.907-5.118c0-1.8.302-3.506.907-5.118.605-1.61 1.47-3.009 2.593-4.193a12.515 12.515 0 0 1 3.825-2.772c1.426-.664 3.003-.996 4.732-.996zm53.932.285c1.643 0 3.22.331 4.733.995a11.386 11.386 0 0 1 3.889 2.772c1.08 1.185 1.945 2.583 2.593 4.194.648 1.61.972 3.317.972 5.118 0 1.8-.324 3.506-.972 5.117-.648 1.611-1.513 3.01-2.593 4.194a12.253 12.253 0 0 1-3.89 2.843 11 11 0 0 1-4.732 1.066 10.58 10.58 0 0 1-4.667-1.066 12.478 12.478 0 0 1-3.824-2.843c-1.08-1.185-1.945-2.583-2.593-4.194a13.581 13.581 0 0 1-.973-5.117c0-1.801.325-3.507.973-5.118.648-1.611 1.512-3.01 2.593-4.194a11.559 11.559 0 0 1 3.824-2.772 11.212 11.212 0 0 1 4.667-.995zm21.781-80.747c2.42 0 4.3.355 5.64 1.066 1.34.71 2.29 1.587 2.852 2.63a6.427 6.427 0 0 1 .778 3.34c-.044 1.185-.195 2.204-.454 3.057-.26.853-.8 2.606-1.62 5.26a589.268 589.268 0 0 1-2.788 8.743 1236.373 1236.373 0 0 0-3.047 9.453c-.994 3.128-1.75 5.592-2.269 7.393-1.123 3.79-2.55 6.42-4.278 7.89-1.728 1.469-3.846 2.203-6.352 2.203H39.023l1.945 12.795h65.342c4.148 0 6.223 1.943 6.223 5.828 0 1.896-.41 3.53-1.232 4.905-.821 1.374-2.442 2.061-4.862 2.061H38.505c-1.729 0-3.176-.426-4.343-1.28-1.167-.852-2.14-1.966-2.917-3.34a21.277 21.277 0 0 1-1.88-4.478 44.128 44.128 0 0 1-1.102-4.55c-.087-.568-.324-1.942-.713-4.122-.39-2.18-.865-4.904-1.426-8.174l-1.88-10.947c-.692-4.027-1.383-8.079-2.075-12.154-1.642-9.572-3.5-20.234-5.574-31.986H6.87c-1.296 0-2.377-.356-3.24-1.067a9.024 9.024 0 0 1-2.14-2.558 10.416 10.416 0 0 1-1.167-3.2C.108 8.53 0 7.488 0 6.54c0-1.896.583-3.46 1.75-4.69C2.917.615 4.494 0 6.482 0h13.095c1.728 0 3.111.284 4.148.853 1.037.569 1.858 1.28 2.463 2.132a8.548 8.548 0 0 1 1.297 2.701c.26.948.475 1.754.648 2.417.173.758.346 1.825.519 3.199.173 1.374.345 2.772.518 4.193.26 1.706.519 3.507.778 5.403h88.678z" /></symbol>'});o.a.add(s);t.default=s},F3lI:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-bug",use:"icon-bug-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-bug"><path d="M127.88 73.143c0 1.412-.506 2.635-1.518 3.669-1.011 1.033-2.209 1.55-3.592 1.55h-17.887c0 9.296-1.783 17.178-5.35 23.645l16.609 17.044c1.011 1.034 1.517 2.257 1.517 3.67 0 1.412-.506 2.635-1.517 3.668-.958 1.033-2.155 1.55-3.593 1.55-1.438 0-2.635-.517-3.593-1.55l-15.811-16.063a15.49 15.49 0 0 1-1.196 1.06c-.532.434-1.65 1.208-3.353 2.322a50.104 50.104 0 0 1-5.192 2.974c-1.758.87-3.94 1.658-6.546 2.364-2.607.706-5.189 1.06-7.748 1.06V47.044H58.89v73.062c-2.716 0-5.417-.367-8.106-1.102-2.688-.734-5.003-1.631-6.945-2.692a66.769 66.769 0 0 1-5.268-3.179c-1.571-1.057-2.73-1.94-3.476-2.65L33.9 109.34l-14.611 16.877c-1.066 1.14-2.344 1.711-3.833 1.711-1.277 0-2.422-.434-3.434-1.304-1.012-.978-1.557-2.187-1.635-3.627-.079-1.44.333-2.705 1.236-3.794l16.129-18.51c-3.087-6.197-4.63-13.644-4.63-22.342H5.235c-1.383 0-2.58-.517-3.592-1.55S.125 74.545.125 73.132c0-1.412.506-2.635 1.518-3.668 1.012-1.034 2.21-1.55 3.592-1.55h17.887V43.939L9.308 29.833c-1.012-1.033-1.517-2.256-1.517-3.669 0-1.412.505-2.635 1.517-3.668 1.012-1.034 2.21-1.55 3.593-1.55s2.58.516 3.593 1.55l13.813 14.106h67.396l13.814-14.106c1.012-1.034 2.21-1.55 3.592-1.55 1.384 0 2.581.516 3.593 1.55 1.012 1.033 1.518 2.256 1.518 3.668 0 1.413-.506 2.636-1.518 3.67l-13.814 14.105v23.975h17.887c1.383 0 2.58.516 3.593 1.55 1.011 1.033 1.517 2.256 1.517 3.668l-.005.01zM89.552 26.175H38.448c0-7.23 2.489-13.386 7.466-18.469C50.892 2.623 56.92.082 64 .082c7.08 0 13.108 2.541 18.086 7.624 4.977 5.083 7.466 11.24 7.466 18.469z" /></symbol>'});o.a.add(s);t.default=s},"F9+T":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-international",use:"icon-international-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-international"><path d="M83.287 103.01c-1.57-3.84-6.778-10.414-15.447-19.548-2.327-2.444-2.182-4.306-1.338-9.862v-.64c.553-3.81 1.513-6.05 14.313-8.087 6.516-1.018 8.203 1.57 10.589 5.178l.785 1.193a12.625 12.625 0 0 0 6.43 5.207c1.134.524 2.53 1.164 4.421 2.24 4.596 2.53 4.596 5.41 4.596 11.753v.727a26.91 26.91 0 0 1-5.178 17.454 59.055 59.055 0 0 1-19.025 11.026c3.49-6.546.814-14.313 0-16.553l-.146-.087zM64 5.12a58.502 58.502 0 0 1 25.484 5.818 54.313 54.313 0 0 0-12.859 10.327c-.93 1.28-1.716 2.473-2.472 3.579-2.444 3.694-3.637 5.352-5.818 5.614a25.105 25.105 0 0 1-4.219 0c-4.276-.29-10.094-.64-11.956 4.422-1.193 3.23-1.396 11.956 2.444 16.495.66 1.077.778 2.4.32 3.578a7.01 7.01 0 0 1-2.066 3.229 18.938 18.938 0 0 1-2.909-2.91 18.91 18.91 0 0 0-8.32-6.603c-1.25-.349-2.647-.64-3.985-.93-3.782-.786-8.03-1.688-9.019-3.812a14.895 14.895 0 0 1-.727-5.818 21.935 21.935 0 0 0-1.396-9.25 8.873 8.873 0 0 0-5.557-4.946A58.705 58.705 0 0 1 64 5.12zM0 64c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64z" /></symbol>'});o.a.add(s);t.default=s},FDDl:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-qq",use:"icon-qq-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-qq"><path d="M18.448 57.545l-.244-.744-.198-.968-.132-.53v-2.181l.236-.859.24-.908.317-.953.428-1.06.561-1.103.794-1.104v-.773l.077-.724.123-.984.34-1.106.313-1.194.25-.548.289-.511.371-.569.405-.423v-2.73l.234-1.407.236-1.633.42-1.955.577-2.035.43-1.118.426-1.217.468-1.135.559-1.216.57-1.332.655-1.247.737-1.331.929-1.33.43-.762.457-.624.995-1.406 1.025-1.403 1.163-1.444 1.246-1.405 1.352-1.384 1.41-1.423 1.708-1.536 1.083-.934 1.322-1.008 1.34-.89 1.448-.855 1.392-.76 1.57-.63 1.667-.775 1.657-.532 1.653-.552 1.787-.548 1.785-.417 1.876-.347L59.128.68l1.879-.245 1.876-.252 2.002-.106h5.912l1.97.243 1.981.231 2.019.207 1.874.441 1.979.413 1.857.475 2.035.53 1.862.646 1.782.738 1.904.78 1.736.853 1.689.95 1.655 1.044 1.425.971.662.548.693.401 1.323 1.1 1.115 1.064 1.112 1.1 1.083 1.214.894 1.178 1.064 1.217.74 1.306.752 1.162.798 1.352.661 1.175 1.113 2.489.546 1.286.428 1.192.428 1.294.384 1.217.267 1.047.347 1.231.607 2.198.388 1.924.253 1.861.217 1.497.342 2.28.077.362.274.41.737 1.18.473.8.42.832.534.892.472 1.07.307 1.093.334 1.2.252 1.232.115.605.106.746v.648l-.106.643v.8l-.192.774-.35 1.5-.403.76-.299.852v.213l.142.264.4.623 1.746 2.53 1.377 1.9.66 1.267.889 1.389.774 1.52.893 1.627.894 1.828 1.006 2.069.567 1.268.518 1.239.447 1.307.44 1.175.336 1.235.342 1.16.432 2.261.343 2.31.235 2.05v2.891l-.158 1.025-.226 1.768-.308 1.59-.48 1.44-.18.588-.336.707-.28.493-.375.607-.33.383-.42.494-.375.4-.401.34-.48.207-.432.207-.355.114h-.543l-.346-.114-.66-.32-.302-.212-.317-.223-.347-.304-.35-.342-.579-.63-.684-.89-.539-.917-.538-.734-.526-.855-.741-1.517-.833-1.579-.098-.055h-.138l-.338.247-.196.415-.326.516-.567 1.533-.856 2.182-1.096 2.626-.824 1.308-.864 1.366-1.027 1.536-1.09 1.503-.557.68-.676.743-1.555 1.497.136.135.21.214.777.446 3.235 1.524 1.41.779 1.347.756 1.332.953 1.187.982.574.443.432.511.445.593.367.643.198.533.242.64.105.554.115.647-.115.433v.44l-.105.454-.242.415-.092.325-.22.394-.587.784-.543.627-.42.47-.35.348-.893.638-1.01.556-1.077.532-1.155.511-1.287.495-.693.207-.608.167-1.496.342-1.545.325-1.552.323-1.689.27-1.74.072-1.785.21h-5.539l-1.998-.114-1.86-.168-2.005-.27-1.99-.209-2.095-.286-2.03-.495-1.981-.374-1.968-.552-2.019-.707-1.98-.585-1.044-.342-.927-.323-.586-.223-.582-.12h-1.647l-1.904-.131-.962-.096-1.24-.135-.795.705-1.085.665-1.471.701-1.628.875-.99.475-1.033.376-2.281.914-1.24.305-1.3.343-1.803.344-1.13.086-1.193.1-1.246.135-1.45.053h-5.926l-3.346-.053-3.25-.321-1.644-.23-1.589-.23-1.546-.227-1.547-.305-1.442-.456-1.434-.325-1.294-.51-1.223-.474-1.142-.533-.99-.583-.984-.71-.336-.343-.44-.415-.334-.362-.3-.417-.278-.415-.215-.42-.311-.89-.109-.46-.138-.51v-.473l.138-.533v-.53l.109-.53v-1.069l.052-.564.259-.647.215-.646.39-.779.286-.3.236-.348.615-.738.49-.38.464-.266.428-.338.676-.21.543-.324.676-.341.77-.227.775-.231.897-.192.85-.11 1.008-.13 1.093-.081.284-.092h.063l.137-.115v-.13l-.2-.266-.58-.27-1.45-1.231-.975-.761-1.127-.967-1.136-1.082-1.181-1.382-1.36-1.558-.508-.843-.672-.87-.58-1.007-.522-1.1-.704-1.047-.459-1.194-.547-1.192-.546-1.33-.397-1.273-.378-1.575-.112-.057h-.115l-.059-.113h-.14l-.23.113-.114.057-.158.264-.057.321-.119.286-.206.477-.664 1.157-.345.701-.546.612-.58.736-.641.816-.677.724-.795.701-.734.658-.814.524-.89.546-.855.325-1.008.247-.99.095h-.233l-.228-.095-.18-.384-.29-.188-.38-.912-.237-.493-.255-.707-.21-.734-.113-.724-.313-1.648-.12-.972v-3.185l.12-2.379.196-1.214.23-1.252.21-1.347.374-1.254.42-1.443.431-1.407.578-1.448.545-1.38.754-1.4.699-1.52.855-1.425 1.006-1.538 1.023-1.382 1.069-1.538.891-1.071 1.142-1.227 1.202-1.237.56-.59.678-.662.985-.836 1.012-.853 1.647-1.446 1.242-.889z" /></symbol>'});o.a.add(s);t.default=s},GPBF:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-link",use:"icon-link-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-link"><path d="M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z" /><path d="M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z" /><path d="M127.893 37.982h-12.375V12.375H88.706V0h39.187z" /></symbol>'});o.a.add(s);t.default=s},ICep:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-guide 2",use:"icon-guide 2-usage",viewBox:"0 0 1000 1000",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000" id="icon-guide 2"><path d="M11.576 547.9l282.848 126.404 409.285-383.26 137.057-128.341L361.234 714.22l362.77 146.362c8.742 3.327 18.733-1.33 21.855-10.644v-.666L999.985.374 10.327 514.636c-8.742 4.657-11.864 15.302-8.117 24.616 2.497 3.991 5.62 7.318 9.366 8.648zM360.61 999.626l141.112-161.663-141.112-61.206v222.869z" /></symbol>'});o.a.add(s);t.default=s},JYDz:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-language",use:"icon-language-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-language"><path d="M84.742 36.8c2.398 7.2 5.595 12.8 11.19 18.4 4.795-4.8 7.992-11.2 10.39-18.4h-21.58zm-52.748 40h20.78l-10.39-28-10.39 28z" /><path d="M111.916 0H16.009C7.218 0 .025 7.2.025 16v96c0 8.8 7.193 16 15.984 16h95.907c8.791 0 15.984-7.2 15.984-16V16c0-8.8-6.394-16-15.984-16zM72.754 103.2c-1.598 1.6-3.197 1.6-4.795 1.6-.8 0-2.398 0-3.197-.8-.8-.8-1.599 0-1.599-.8s-.799-1.6-1.598-3.2c-.8-1.6-.8-2.4-1.599-4l-3.196-8.8H28.797L25.6 96c-1.598 3.2-2.398 5.6-3.197 7.2-.8 1.6-2.398 1.6-4.795 1.6-1.599 0-3.197-.8-4.796-1.6-1.598-1.6-2.397-2.4-2.397-4 0-.8 0-1.6.799-3.2.8-1.6.8-2.4 1.598-4l17.583-44.8c.8-1.6.8-3.2 1.599-4.8.799-1.6 1.598-3.2 2.397-4 .8-.8 1.599-2.4 3.197-3.2 1.599-.8 3.197-.8 4.796-.8 1.598 0 3.196 0 4.795.8 1.598.8 2.398 1.6 3.197 3.2.799.8 1.598 2.4 2.397 4 .8 1.6 1.599 3.2 2.398 5.6l17.583 44c1.598 3.2 2.398 5.6 2.398 7.2-.8.8-1.599 2.4-2.398 4zM116.711 72c-8.791-3.2-15.185-7.2-20.78-12-5.594 5.6-12.787 9.6-21.579 12l-2.397-4c8.791-2.4 15.984-5.6 21.579-11.2C87.939 51.2 83.144 44 81.545 36h-7.992v-3.2h21.58c-1.6-2.4-3.198-5.6-4.796-8l2.397-.8c1.599 2.4 3.997 5.6 5.595 8.8h19.98v4h-7.992c-2.397 8-6.393 15.2-11.189 20 5.595 4.8 11.988 8.8 20.78 11.2l-3.197 4z" /></symbol>'});o.a.add(s);t.default=s},Kcm3:function(e,t,n){},Kj24:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-password",use:"icon-password-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-password"><path d="M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z" /></symbol>'});o.a.add(s);t.default=s},LxGF:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-peoples",use:"icon-peoples-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-peoples"><path d="M95.648 118.762c0 5.035-3.563 9.121-7.979 9.121H7.98c-4.416 0-7.979-4.086-7.979-9.121C0 100.519 15.408 83.47 31.152 76.75c-9.099-6.43-15.216-17.863-15.216-30.987v-9.128c0-20.16 14.293-36.518 31.893-36.518s31.894 16.358 31.894 36.518v9.122c0 13.137-6.123 24.556-15.216 30.993 15.738 6.726 31.141 23.769 31.141 42.012z" /><path d="M106.032 118.252h15.867c3.376 0 6.101-3.125 6.101-6.972 0-13.957-11.787-26.984-23.819-32.123 6.955-4.919 11.638-13.66 11.638-23.704v-6.985c0-15.416-10.928-27.926-24.39-27.926-1.674 0-3.306.193-4.89.561 1.936 4.713 3.018 9.974 3.018 15.526v9.121c0 13.137-3.056 23.111-11.066 30.993 14.842 4.41 27.312 23.42 27.541 41.509z" /></symbol>'});o.a.add(s);t.default=s},MEYL:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-money",use:"icon-money-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-money"><path d="M54.122 127.892v-28.68H7.513V87.274h46.609v-12.4H7.513v-12.86h38.003L.099 0h22.6l32.556 45.07c3.617 5.144 6.44 9.611 8.487 13.385 1.788-3.05 4.89-7.779 9.301-14.186L103.93 0h24.01L82.385 62.013h38.34v12.862h-46.41v12.4h46.41v11.937h-46.41v28.68H54.123z" /></symbol>'});o.a.add(s);t.default=s},MMMJ:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-example",use:"icon-example-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-example"><path d="M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z" /></symbol>'});o.a.add(s);t.default=s},MokB:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-list",use:"icon-list-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-list"><path d="M1.585 12.087c0 6.616 3.974 11.98 8.877 11.98 4.902 0 8.877-5.364 8.877-11.98 0-6.616-3.975-11.98-8.877-11.98-4.903 0-8.877 5.364-8.877 11.98zM125.86.107H35.613c-1.268 0-2.114 1.426-2.114 2.852v18.255c0 1.712 1.057 2.853 2.114 2.853h90.247c1.268 0 2.114-1.426 2.114-2.853V2.96c0-1.711-1.057-2.852-2.114-2.852zM.106 62.86c0 6.615 3.974 11.979 8.876 11.979 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zM124.17 50.88H33.921c-1.268 0-2.114 1.425-2.114 2.851v18.256c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852V53.73c0-1.426-.846-2.852-2.114-2.852zM.106 115.913c0 6.616 3.974 11.98 8.876 11.98 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zm124.064-11.98H33.921c-1.268 0-2.114 1.426-2.114 2.853v18.255c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852v-18.255c0-1.427-.846-2.853-2.114-2.853z" /></symbol>'});o.a.add(s);t.default=s},OeYi:function(e,t,n){"use strict";var a=n("yDdW");n.n(a).a},P8iQ:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-settings",use:"icon-settings-usage",viewBox:"0 0 490.2 490.2",content:'<symbol xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 490.2 490.2" id="icon-settings">\r\n<g>\r\n\t<g>\r\n\t\t<g>\r\n\t\t\t<path d="M469.1,173.1h-37.5c-1-3.1-3.1-6.3-4.2-9.4l26.1-26.1c8.3-8.3,8.3-20.9,0-29.2l-71.9-71.9c-8.3-8.3-20.9-8.3-29.2,0\r\n\t\t\t\tl-26.1,26.1c-3.1-2.1-6.3-3.1-9.4-4.2V20.9C316.9,9.4,307.5,0,296,0H193.9C182.4,0,173,9.4,173,20.9v37.5c-3.1,1-6.3,3.1-9.4,4.2\r\n\t\t\t\tl-26.1-26.1c-8.3-8.3-20.9-8.3-29.2,0l-71.9,71.9c-4.2,4.2-6.3,9.4-6.3,14.6s2.1,10.4,6.3,14.6l26.1,26.1\r\n\t\t\t\tc-2.1,3.1-3.1,6.3-4.2,9.4H20.9C9.4,173.1,0,182.5,0,194v102.2c0,11.5,9.4,20.9,20.9,20.9h37.5c1,3.1,3.1,6.3,4.2,9.4l-26.1,26.1\r\n\t\t\t\tc-4.2,4.2-6.3,9.4-6.3,14.6s2.1,10.4,6.3,14.6l71.9,71.9c8.3,8.3,20.9,8.3,29.2,0l26.1-26.1c3.1,2.1,6.3,3.1,9.4,4.2v37.5\r\n\t\t\t\tc0,11.5,9.4,20.9,20.9,20.9h102.2c11.5,0,20.9-9.4,20.9-20.9v-37.5c3.1-1,6.3-3.1,9.4-4.2l26.1,26.1c8.3,8.3,20.9,8.3,29.2,0\r\n\t\t\t\tl71.9-71.9c8.3-8.3,8.3-20.9,0-29.2l-26.1-26.1c2.1-3.1,3.1-6.3,4.2-9.4h37.5c11.5,0,20.9-9.4,20.9-20.9V193.9\r\n\t\t\t\tC490,182.4,480.6,173.1,469.1,173.1z M448.3,275.2H417c-9.4,0-16.7,6.3-19.8,14.6c-3.1,10.4-7.3,20.9-12.5,30.2\r\n\t\t\t\tc-5.2,8.3-3.1,18.8,3.1,25l21.9,21.9L367,409.7l-21.9-21.9c-7.3-6.3-16.7-7.3-25-3.1c-9.4,5.2-19.8,9.4-30.2,12.5\r\n\t\t\t\tc-8.3,2.1-14.6,10.4-14.6,19.8v31.3h-60.5l0,0V417c0-9.4-6.3-16.7-14.6-19.8c-10.4-3.1-20.9-7.3-30.2-12.5\r\n\t\t\t\tc-8.3-5.2-18.8-3.1-25,3.1l-22,21.9L80.3,367l21.9-21.9c6.3-7.3,7.3-16.7,3.1-25c-5.2-9.4-9.4-19.8-12.5-30.2\r\n\t\t\t\tc-2.1-8.3-10.4-14.6-19.8-14.6H41.7v-60.5H73c9.4,0,16.7-6.3,19.8-14.6c3.1-10.4,7.3-20.9,12.5-30.2c5.2-8.3,3.1-18.8-3.1-25\r\n\t\t\t\tl-21.9-22L123,80.3l21.9,21.9c7.3,6.3,16.7,7.3,25,3.1c9.4-5.2,19.8-9.4,30.2-12.5c8.3-2.1,14.6-10.4,14.6-19.8V41.7h60.5V73\r\n\t\t\t\tc0,9.4,6.3,16.7,14.6,19.8c10.4,3.1,20.9,7.3,30.2,12.5c8.3,5.2,18.8,3.1,25-3.1l22-21.9l42.7,42.7l-21.9,21.9\r\n\t\t\t\tc-6.3,7.3-7.3,16.7-3.1,25c5.2,9.4,9.4,19.8,12.5,30.2c2.1,8.3,10.4,14.6,19.8,14.6h31.3L448.3,275.2L448.3,275.2z" />\r\n\t\t\t<path d="M245,131.4c-62.6,0-113.6,51.1-113.6,113.6s51,113.6,113.6,113.6s113.6-51,113.6-113.6S307.6,131.4,245,131.4z\r\n\t\t\t\t M245,316.9c-39.6,0-71.9-32.3-71.9-71.9s32.3-71.9,71.9-71.9s71.9,32.3,71.9,71.9S284.6,316.9,245,316.9z" />\r\n\t\t</g>\r\n\t</g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n<g>\r\n</g>\r\n</symbol>'});o.a.add(s);t.default=s},"R/8a":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-message",use:"icon-message-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-message"><path d="M0 20.967v59.59c0 11.59 8.537 20.966 19.075 20.966h28.613l1 26.477L76.8 101.523h32.125c10.538 0 19.075-9.377 19.075-20.966v-59.59C128 9.377 119.463 0 108.925 0h-89.85C8.538 0 0 9.377 0 20.967zm82.325 33.1c0-5.524 4.013-9.935 9.037-9.935 5.026 0 9.038 4.41 9.038 9.934 0 5.524-4.025 9.934-9.038 9.934-5.024 0-9.037-4.41-9.037-9.934zm-27.613 0c0-5.524 4.013-9.935 9.038-9.935s9.037 4.41 9.037 9.934c0 5.524-4.025 9.934-9.037 9.934-5.025 0-9.038-4.41-9.038-9.934zm-27.1 0c0-5.524 4.013-9.935 9.038-9.935s9.038 4.41 9.038 9.934c0 5.524-4.026 9.934-9.05 9.934-5.013 0-9.025-4.41-9.025-9.934z" /></symbol>'});o.a.add(s);t.default=s},"R/Hx":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-table",use:"icon-table-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-table"><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z" /><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z" /></symbol>'});o.a.add(s);t.default=s},SZWj:function(e,t,n){"use strict";var a=n("Xm3t");n.n(a).a},TfVu:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-eye",use:"icon-eye-usage",viewBox:"0 0 128 64",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 64" id="icon-eye"><path d="M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z" /></symbol>'});o.a.add(s);t.default=s},"Uf/o":function(e,t,n){var a={"./404.svg":"oUrx","./bug.svg":"F3lI","./chart.svg":"yCkv","./clipboard.svg":"vDVG","./component.svg":"VtY+","./dashboard.svg":"94Jb","./documentation.svg":"kPu2","./drag.svg":"m7++","./edit.svg":"qkZ8","./email.svg":"y7eQ","./example.svg":"MMMJ","./excel.svg":"ZZmv","./exit-fullscreen.svg":"28eg","./eye-open.svg":"1+ww","./eye.svg":"TfVu","./form.svg":"6xvN","./fullscreen.svg":"mSHS","./guide 2.svg":"ICep","./guide.svg":"ZoO1","./icon.svg":"nZHn","./international.svg":"F9+T","./language.svg":"JYDz","./link.svg":"GPBF","./list.svg":"MokB","./lock.svg":"qwAt","./message.svg":"R/8a","./money.svg":"MEYL","./nested.svg":"3PhE","./password.svg":"Kj24","./pdf.svg":"+aF5","./people.svg":"0Fbn","./peoples.svg":"LxGF","./qq.svg":"FDDl","./search.svg":"jo2x","./settings.svg":"P8iQ","./shopping.svg":"EqXK","./size.svg":"hkRB","./star.svg":"cIpu","./tab.svg":"j7e1","./table.svg":"R/Hx","./theme.svg":"5TQQ","./tree.svg":"k80C","./user.svg":"s7Vf","./wechat.svg":"gNoN","./zip.svg":"iqZD"};function r(e){var t=i(e);return n(t)}function i(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=i,e.exports=r,r.id="Uf/o"},"VtY+":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-component",use:"icon-component-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-component"><path d="M0 0h54.857v54.857H0V0zm0 73.143h54.857V128H0V73.143zm73.143 0H128V128H73.143V73.143zm27.428-18.286C115.72 54.857 128 42.577 128 27.43 128 12.28 115.72 0 100.571 0 85.423 0 73.143 12.28 73.143 27.429c0 15.148 12.28 27.428 27.428 27.428z" /></symbol>'});o.a.add(s);t.default=s},Vtdi:function(e,t,n){"use strict";n.r(t);var a={};n.r(a),n.d(a,"parseTime",function(){return re}),n.d(a,"formatTime",function(){return ie}),n.d(a,"timeAgo",function(){return In}),n.d(a,"numberFormatter",function(){return Vn}),n.d(a,"toThousandFilter",function(){return zn});var r=n("Kw5r"),i=n("p46w"),o=n.n(i),s=(n("9d8Q"),n("XJYT")),c=n.n(s),u=(n("D66Q"),n("sg+I"),{name:"App"}),l=n("KHd+"),d=Object(l.a)(u,function(){var e=this.$createElement,t=this._self._c||e;return t("div",{attrs:{id:"app"}},[t("router-view")],1)},[],!1,null,null,null);d.options.__file="App.vue";var p=d.exports,m=n("L2JU"),h={state:{sidebar:{opened:!o.a.get("sidebarStatus")||!!+o.a.get("sidebarStatus"),withoutAnimation:!1},device:"desktop",language:o.a.get("language")||"en",size:o.a.get("size")||"medium"},mutations:{TOGGLE_SIDEBAR:function(e){e.sidebar.opened=!e.sidebar.opened,e.sidebar.withoutAnimation=!1,e.sidebar.opened?o.a.set("sidebarStatus",1):o.a.set("sidebarStatus",0)},CLOSE_SIDEBAR:function(e,t){o.a.set("sidebarStatus",0),e.sidebar.opened=!1,e.sidebar.withoutAnimation=t},TOGGLE_DEVICE:function(e,t){e.device=t},SET_LANGUAGE:function(e,t){e.language=t,o.a.set("language",t)},SET_SIZE:function(e,t){e.size=t,o.a.set("size",t)}},actions:{toggleSideBar:function(e){(0,e.commit)("TOGGLE_SIDEBAR")},closeSideBar:function(e,t){(0,e.commit)("CLOSE_SIDEBAR",t.withoutAnimation)},toggleDevice:function(e,t){(0,e.commit)("TOGGLE_DEVICE",t)},setLanguage:function(e,t){(0,e.commit)("SET_LANGUAGE",t)},setSize:function(e,t){(0,e.commit)("SET_SIZE",t)}}},f={state:{logs:[]},mutations:{ADD_ERROR_LOG:function(e,t){e.logs.push(t)}},actions:{addErrorLog:function(e,t){(0,e.commit)("ADD_ERROR_LOG",t)}}},g=n("o0o1"),v=n.n(g),b=n("yXPU"),w=n.n(b),y=n("MVZn"),x=n.n(y),_=n("LvDl"),T=n.n(_),k=n("t3Un"),E=n("X4fA"),S=n("9i3r");function O(e,t,n){return L.apply(this,arguments)}function L(){return(L=w()(v.a.mark(function e(t,n,a){var r,i,o=arguments;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>3&&void 0!==o[3]?o[3]:1,i=new URLSearchParams(T.a.omitBy(x()({},a,{page:r}),T.a.isUndefined)).toString(),e.next=4,Object(k.a)({baseURL:Object(S.a)(t),url:"/api/pleroma/admin/moderation_log?".concat(i),method:"get",headers:V(n)});case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function A(e,t){return P.apply(this,arguments)}function P(){return(P=w()(v.a.mark(function e(t,n){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(t),url:"/api/pleroma/admin/users?filters=is_admin",method:"get",headers:V(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function C(e,t){return I.apply(this,arguments)}function I(){return(I=w()(v.a.mark(function e(t,n){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(t),url:"/api/pleroma/admin/users?filters=is_moderator",method:"get",headers:V(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var V=function(e){return e?{Authorization:"Bearer ".concat(Object(E.b)())}:{}},z={state:{fetchedLog:[],logItemsCount:0,admins:[],moderators:[],logLoading:!0,adminsLoading:!0},mutations:{SET_LOG_LOADING:function(e,t){e.logLoading=t},SET_ADMINS_LOADING:function(e,t){e.adminsLoading=t},SET_MODERATION_LOG:function(e,t){e.fetchedLog=t},SET_MODERATION_LOG_COUNT:function(e,t){e.logItemsCount=t},SET_ADMINS:function(e,t){e.admins=t},SET_MODERATORS:function(e,t){e.moderators=t}},actions:{FetchModerationLog:function(){var e=w()(v.a.mark(function e(t){var n,a,r,i,o=arguments;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.getters,r=o.length>1&&void 0!==o[1]?o[1]:{},e.next=4,O(a.authHost,a.token,r);case 4:i=e.sent,n("SET_MODERATION_LOG",i.data.items),n("SET_MODERATION_LOG_COUNT",i.data.total),n("SET_LOG_LOADING",!1);case 8:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),FetchAdmins:function(){var e=w()(v.a.mark(function e(t){var n,a,r,i;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.getters,e.next=3,A(a.authHost,a.token);case 3:return r=e.sent,e.next=6,C(a.authHost,a.token);case 6:i=e.sent,n("SET_ADMINS",r.data),n("SET_MODERATORS",i.data),n("SET_ADMINS_LOADING",!1);case 10:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}()}};function M(e,t,n,a){return R.apply(this,arguments)}function R(){return(R=w()(v.a.mark(function e(t,n,a,r){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(a),url:"/api/pleroma/admin/users/invite_token",method:"post",headers:N(r),data:n&&n.length>0?{max_use:t,expires_at:n}:{max_use:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function D(e,t,n,a){return j.apply(this,arguments)}function j(){return(j=w()(v.a.mark(function e(t,n,a,r){var i;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=n.length>0?"/api/pleroma/admin/users/email_invite?email=".concat(t,"&name=").concat(n):"/api/pleroma/admin/users/email_invite?email=".concat(t),e.next=3,Object(k.a)({baseURL:Object(S.a)(a),url:i,method:"post",headers:N(r)});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function U(e,t){return H.apply(this,arguments)}function H(){return(H=w()(v.a.mark(function e(t,n){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(t),url:"/api/pleroma/admin/users/invites",method:"get",headers:N(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function B(e,t,n){return F.apply(this,arguments)}function F(){return(F=w()(v.a.mark(function e(t,n,a){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(n),url:"/api/pleroma/admin/users/revoke_invite",method:"post",headers:N(a),data:{token:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var N=function(e){return e?{Authorization:"Bearer ".concat(Object(E.b)())}:{}},G={state:{inviteTokens:[],loading:!1,newToken:{}},mutations:{SET_LOADING:function(e,t){e.loading=t},SET_NEW_TOKEN:function(e,t){e.newToken=t},SET_TOKENS:function(e,t){e.inviteTokens=t}},actions:{FetchInviteTokens:function(){var e=w()(v.a.mark(function e(t){var n,a,r;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.getters,n("SET_LOADING",!0),e.next=4,U(a.authHost,a.token);case 4:r=e.sent,n("SET_TOKENS",r.data.invites.reverse()),n("SET_LOADING",!1);case 7:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),GenerateInviteToken:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s,c,u;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.dispatch,i=t.getters,o=n.maxUse,s=n.expiresAt,e.next=4,M(o,s,i.authHost,i.token);case 4:c=e.sent,u=c.data,a("SET_NEW_TOKEN",{token:u.token,maxUse:u.max_use,expiresAt:u.expires_at}),r("FetchInviteTokens");case 8:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),InviteUserViaEmail:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.commit,t.dispatch,a=t.getters,r=n.email,i=n.name,e.next=4,D(r,i,a.authHost,a.token);case 4:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),RemoveNewToken:function(e){(0,e.commit)("SET_NEW_TOKEN",{})},RevokeToken:function(){var e=w()(v.a.mark(function e(t,n){var a,r;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.commit,a=t.dispatch,r=t.getters,e.next=3,B(n,r.authHost,r.token);case 3:a("FetchInviteTokens");case 4:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}},Y=n("RIqP"),$=n.n(Y),q=n("jE9Z"),W={name:"Hamburger",props:{isActive:{type:Boolean,default:!1},toggleClick:{type:Function,default:null}}},K=(n("+Bsb"),Object(l.a)(W,function(){var e=this.$createElement,t=this._self._c||e;return t("div",{staticStyle:{padding:"0 15px"},on:{click:this.toggleClick}},[t("svg",{staticClass:"hamburger",class:{"is-active":this.isActive},attrs:{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:"64",height:"64"}},[t("path",{attrs:{d:"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z"}})])])},[],!1,null,"3ee86d44",null));K.options.__file="index.vue";var Z={components:{Hamburger:K.exports},computed:x()({},Object(m.b)(["sidebar","name","avatar","device"])),methods:{toggleSideBar:function(){this.$store.dispatch("toggleSideBar")},logout:function(){this.$store.dispatch("LogOut").then(function(){location.reload()})}}},Q=(n("Xb1Q"),Object(l.a)(Z,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"navbar"},[n("hamburger",{staticClass:"hamburger-container",attrs:{"toggle-click":e.toggleSideBar,"is-active":e.sidebar.opened}}),e._v(" "),n("div",{staticClass:"right-menu"},[n("el-dropdown",{staticClass:"avatar-container right-menu-item hover-effect",attrs:{trigger:"click"}},[n("div",{staticClass:"avatar-wrapper"},[n("img",{staticClass:"user-avatar",attrs:{src:e.avatar+"?imageView2/1/w/80/h/80"}})]),e._v(" "),n("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[n("el-dropdown-item",[n("span",{staticStyle:{display:"block"},on:{click:e.logout}},[e._v(e._s(e.$t("navbar.logOut")))])])],1)],1)],1)],1)},[],!1,null,"b535c57a",null));Q.options.__file="Navbar.vue";var J=Q.exports,X=n("33yf"),ee=n.n(X);function te(e){return this.$te("route."+e)?this.$t("route."+e):e}var ne=n("cDf5"),ae=n.n(ne);function re(e,t){if(0===arguments.length)return null;var n,a=t||"{y}-{m}-{d} {h}:{i}:{s}";"object"===ae()(e)?n=e:("string"==typeof e&&/^[0-9]+$/.test(e)&&(e=parseInt(e)),"number"==typeof e&&10===e.toString().length&&(e*=1e3),n=new Date(e));var r={y:n.getFullYear(),m:n.getMonth()+1,d:n.getDate(),h:n.getHours(),i:n.getMinutes(),s:n.getSeconds(),a:n.getDay()};return a.replace(/{(y|m|d|h|i|s|a)+}/g,function(e,t){var n=r[t];return"a"===t?["日","一","二","三","四","五","六"][n]:(e.length>0&&n<10&&(n="0"+n),n||0)})}function ie(e,t){e=1e3*+e;var n=new Date(e),a=(Date.now()-n)/1e3;return a<30?"刚刚":a<3600?Math.ceil(a/60)+"分钟前":a<86400?Math.ceil(a/3600)+"小时前":a<172800?"1天前":t?re(e,t):n.getMonth()+1+"月"+n.getDate()+"日"+n.getHours()+"时"+n.getMinutes()+"分"}function oe(e){return/^(https?:|mailto:|tel:)/.test(e)}var se={name:"MenuItem",functional:!0,props:{icon:{type:String,default:""},title:{type:String,default:""}},render:function(e,t){var n=t.props,a=n.icon,r=n.title,i=[];return a&&i.push(e("svg-icon",{attrs:{"icon-class":a}})),r&&i.push(e("span",{slot:"title"},[r])),i}},ce=Object(l.a)(se,void 0,void 0,!1,null,null,null);ce.options.__file="Item.vue";var ue=ce.exports,le={props:{to:{type:String,required:!0}},methods:{linkProps:function(e){return oe(e)?{is:"a",href:e,target:"_blank",rel:"noopener"}:{is:"router-link",to:e}}}},de=Object(l.a)(le,function(){var e=this.$createElement;return(this._self._c||e)("component",this._b({},"component",this.linkProps(this.to),!1),[this._t("default")],2)},[],!1,null,null,null);de.options.__file="Link.vue";var pe={name:"SidebarItem",components:{Item:ue,AppLink:de.exports},mixins:[{computed:{device:function(){return this.$store.state.app.device}},mounted:function(){this.fixBugIniOS()},methods:{fixBugIniOS:function(){var e=this,t=this.$refs.subMenu;if(t){var n=t.handleMouseleave;t.handleMouseleave=function(t){"mobile"!==e.device&&n(t)}}}}}],props:{item:{type:Object,required:!0},isNest:{type:Boolean,default:!1},basePath:{type:String,default:""}},data:function(){return{onlyOneChild:null}},methods:{hasOneShowingChild:function(e,t){var n=this,a=e.filter(function(e){return!e.hidden&&(n.onlyOneChild=e,!0)});return 1===a.length||0===a.length&&(this.onlyOneChild=x()({},t,{path:"",noShowingChildren:!0}),!0)},resolvePath:function(e){return this.isExternalLink(e)?e:ee.a.resolve(this.basePath,e)},isExternalLink:function(e){return oe(e)},generateTitle:te}},me=Object(l.a)(pe,function(){var e=this,t=e.$createElement,n=e._self._c||t;return!e.item.hidden&&e.item.children?n("div",{staticClass:"menu-wrapper"},[!e.hasOneShowingChild(e.item.children,e.item)||e.onlyOneChild.children&&!e.onlyOneChild.noShowingChildren||e.item.alwaysShow?n("el-submenu",{ref:"subMenu",attrs:{index:e.resolvePath(e.item.path)}},[n("template",{slot:"title"},[e.item.meta?n("item",{attrs:{icon:e.item.meta.icon,title:e.generateTitle(e.item.meta.title)}}):e._e()],1),e._v(" "),e._l(e.item.children,function(t){return[t.hidden?e._e():[t.children&&t.children.length>0?n("sidebar-item",{key:t.path,staticClass:"nest-menu",attrs:{"is-nest":!0,item:t,"base-path":e.resolvePath(t.path)}}):n("app-link",{key:t.name,attrs:{to:e.resolvePath(t.path)}},[n("el-menu-item",{attrs:{index:e.resolvePath(t.path)}},[t.meta?n("item",{attrs:{icon:t.meta.icon,title:e.generateTitle(t.meta.title)}}):e._e()],1)],1)]]})],2):[n("app-link",{attrs:{to:e.resolvePath(e.onlyOneChild.path)}},[n("el-menu-item",{class:{"submenu-title-noDropdown":!e.isNest},attrs:{index:e.resolvePath(e.onlyOneChild.path)}},[e.onlyOneChild.meta?n("item",{attrs:{icon:e.onlyOneChild.meta.icon||e.item.meta.icon,title:e.generateTitle(e.onlyOneChild.meta.title)}}):e._e()],1)],1)]],2):e._e()},[],!1,null,null,null);me.options.__file="SidebarItem.vue";var he=me.exports,fe=n("zx4i"),ge=n.n(fe),ve={components:{SidebarItem:he},computed:x()({},Object(m.b)(["permission_routers","sidebar"]),{variables:function(){return ge.a},isCollapse:function(){return!this.sidebar.opened}})},be=Object(l.a)(ve,function(){var e=this.$createElement,t=this._self._c||e;return t("el-scrollbar",{attrs:{"wrap-class":"scrollbar-wrapper"}},[t("el-menu",{attrs:{"default-active":this.$route.path,collapse:this.isCollapse,"background-color":this.variables.menuBg,"text-color":this.variables.menuText,"active-text-color":this.variables.menuActiveText,mode:"vertical"}},this._l(this.permission_routers,function(e){return t("sidebar-item",{key:e.path,attrs:{item:e,"base-path":e.path}})}),1)],1)},[],!1,null,null,null);be.options.__file="index.vue";var we=be.exports,ye={name:"ScrollPane",data:function(){return{left:0}},methods:{handleScroll:function(e){var t=e.wheelDelta||40*-e.deltaY,n=this.$refs.scrollContainer.$refs.wrap;n.scrollLeft=n.scrollLeft+t/4},moveToTarget:function(e){var t=this.$refs.scrollContainer.$el.offsetWidth,n=this.$refs.scrollContainer.$refs.wrap,a=this.$parent.$refs.tag,r=null,i=null;if(a.length>0&&(r=a[0],i=a[a.length-1]),r===e)n.scrollLeft=0;else if(i===e)n.scrollLeft=n.scrollWidth-t;else{var o=a.findIndex(function(t){return t===e}),s=a[o-1],c=a[o+1],u=c.$el.offsetLeft+c.$el.offsetWidth+4,l=s.$el.offsetLeft-4;u>n.scrollLeft+t?n.scrollLeft=u-t:l<n.scrollLeft&&(n.scrollLeft=l)}}}},xe=(n("OeYi"),Object(l.a)(ye,function(){var e=this,t=e.$createElement;return(e._self._c||t)("el-scrollbar",{ref:"scrollContainer",staticClass:"scroll-container",attrs:{vertical:!1},nativeOn:{wheel:function(t){return t.preventDefault(),e.handleScroll(t)}}},[e._t("default")],2)},[],!1,null,"547b5dea",null));xe.options.__file="index.vue";var _e={components:{ScrollPane:xe.exports},data:function(){return{visible:!1,top:0,left:0,selectedTag:{},affixTags:[]}},computed:{visitedViews:function(){return this.$store.state.tagsView.visitedViews},routers:function(){return this.$store.state.permission.routers}},watch:{$route:function(){this.addTags(),this.moveToCurrentTag()},visible:function(e){e?document.body.addEventListener("click",this.closeMenu):document.body.removeEventListener("click",this.closeMenu)}},mounted:function(){this.initTags(),this.addTags()},methods:{generateTitle:te,isActive:function(e){return e.path===this.$route.path},filterAffixTags:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/",a=[];return e.forEach(function(e){if(e.meta&&e.meta.affix&&a.push({path:ee.a.resolve(n,e.path),name:e.name,meta:x()({},e.meta)}),e.children){var r=t.filterAffixTags(e.children,e.path);r.length>=1&&(a=[].concat($()(a),$()(r)))}}),a},initTags:function(){var e=this.affixTags=this.filterAffixTags(this.routers),t=!0,n=!1,a=void 0;try{for(var r,i=e[Symbol.iterator]();!(t=(r=i.next()).done);t=!0){var o=r.value;o.name&&this.$store.dispatch("addVisitedView",o)}}catch(e){n=!0,a=e}finally{try{t||null==i.return||i.return()}finally{if(n)throw a}}},addTags:function(){return this.$route.name&&this.$store.dispatch("addView",this.$route),!1},moveToCurrentTag:function(){var e=this,t=this.$refs.tag;this.$nextTick(function(){var n=!0,a=!1,r=void 0;try{for(var i,o=t[Symbol.iterator]();!(n=(i=o.next()).done);n=!0){var s=i.value;if(s.to.path===e.$route.path){e.$refs.scrollPane.moveToTarget(s),s.to.fullPath!==e.$route.fullPath&&e.$store.dispatch("updateVisitedView",e.$route);break}}}catch(e){a=!0,r=e}finally{try{n||null==o.return||o.return()}finally{if(a)throw r}}})},refreshSelectedTag:function(e){var t=this;this.$store.dispatch("delCachedView",e).then(function(){var n=e.fullPath;t.$nextTick(function(){t.$router.replace({path:"/redirect"+n})})})},closeSelectedTag:function(e){var t=this;this.$store.dispatch("delView",e).then(function(n){var a=n.visitedViews;t.isActive(e)&&t.toLastView(a)})},closeOthersTags:function(){var e=this;this.$router.push(this.selectedTag),this.$store.dispatch("delOthersViews",this.selectedTag).then(function(){e.moveToCurrentTag()})},closeAllTags:function(e){var t=this;this.$store.dispatch("delAllViews").then(function(n){var a=n.visitedViews;t.affixTags.some(function(t){return t.path===e.path})||t.toLastView(a)})},toLastView:function(e){var t=e.slice(-1)[0];t?this.$router.push(t):this.$router.push("/")},openMenu:function(e,t){var n=this.$el.getBoundingClientRect().left,a=this.$el.offsetWidth-105,r=t.clientX-n+15;this.left=r>a?a:r,this.top=t.clientY,this.visible=!0,this.selectedTag=e},closeMenu:function(){this.visible=!1}}},Te=(n("/H2a"),n("Yymj"),Object(l.a)(_e,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"tags-view-container"},[n("scroll-pane",{ref:"scrollPane",staticClass:"tags-view-wrapper"},e._l(e.visitedViews,function(t){return n("router-link",{key:t.path,ref:"tag",refInFor:!0,staticClass:"tags-view-item",class:e.isActive(t)?"active":"",attrs:{to:{path:t.path,query:t.query,fullPath:t.fullPath},tag:"span"},nativeOn:{mouseup:function(n){return"button"in n&&1!==n.button?null:e.closeSelectedTag(t)},contextmenu:function(n){return n.preventDefault(),e.openMenu(t,n)}}},[e._v("\n "+e._s(e.generateTitle(t.title))+"\n "),t.meta.affix?e._e():n("span",{staticClass:"el-icon-close",on:{click:function(n){return n.preventDefault(),n.stopPropagation(),e.closeSelectedTag(t)}}})])}),1),e._v(" "),n("ul",{directives:[{name:"show",rawName:"v-show",value:e.visible,expression:"visible"}],staticClass:"contextmenu",style:{left:e.left+"px",top:e.top+"px"}},[n("li",{on:{click:function(t){return e.refreshSelectedTag(e.selectedTag)}}},[e._v(e._s(e.$t("tagsView.refresh")))]),e._v(" "),e.selectedTag.meta&&e.selectedTag.meta.affix?e._e():n("li",{on:{click:function(t){return e.closeSelectedTag(e.selectedTag)}}},[e._v(e._s(e.$t("tagsView.close")))]),e._v(" "),n("li",{on:{click:e.closeOthersTags}},[e._v(e._s(e.$t("tagsView.closeOthers")))]),e._v(" "),n("li",{on:{click:function(t){return e.closeAllTags(e.selectedTag)}}},[e._v(e._s(e.$t("tagsView.closeAll")))])])],1)},[],!1,null,"67e96c42",null));Te.options.__file="TagsView.vue";var ke=Te.exports,Ee={name:"AppMain",computed:{cachedViews:function(){return this.$store.state.tagsView.cachedViews},key:function(){return this.$route.fullPath}}},Se=(n("Z+gY"),Object(l.a)(Ee,function(){var e=this.$createElement,t=this._self._c||e;return t("section",{staticClass:"app-main"},[t("transition",{attrs:{name:"fade-transform",mode:"out-in"}},[t("keep-alive",{attrs:{include:this.cachedViews}},[t("router-view",{key:this.key})],1)],1)],1)},[],!1,null,"f852c4f2",null));Se.options.__file="AppMain.vue";var Oe=Se.exports,Le=document.body,Ae={name:"Layout",components:{Navbar:J,Sidebar:we,AppMain:Oe,TagsView:ke},mixins:[{watch:{$route:function(e){"mobile"===this.device&&this.sidebar.opened&&En.dispatch("closeSideBar",{withoutAnimation:!1})}},beforeMount:function(){window.addEventListener("resize",this.resizeHandler)},mounted:function(){this.isMobile()&&(En.dispatch("toggleDevice","mobile"),En.dispatch("closeSideBar",{withoutAnimation:!0}))},methods:{isMobile:function(){return Le.getBoundingClientRect().width-3<1024},resizeHandler:function(){if(!document.hidden){var e=this.isMobile();En.dispatch("toggleDevice",e?"mobile":"desktop"),e&&En.dispatch("closeSideBar",{withoutAnimation:!0})}}}}],computed:{sidebar:function(){return this.$store.state.app.sidebar},device:function(){return this.$store.state.app.device},classObj:function(){return{hideSidebar:!this.sidebar.opened,openSidebar:this.sidebar.opened,withoutAnimation:this.sidebar.withoutAnimation,mobile:"mobile"===this.device}}},methods:{handleClickOutside:function(){this.$store.dispatch("closeSideBar",{withoutAnimation:!1})}}},Pe=(n("SZWj"),Object(l.a)(Ae,function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"app-wrapper",class:e.classObj},["mobile"===e.device&&e.sidebar.opened?n("div",{staticClass:"drawer-bg",on:{click:e.handleClickOutside}}):e._e(),e._v(" "),n("sidebar",{staticClass:"sidebar-container"}),e._v(" "),n("div",{staticClass:"main-container"},[n("navbar"),e._v(" "),n("app-main")],1)],1)},[],!1,null,"767d264f",null));Pe.options.__file="Layout.vue";var Ce=Pe.exports;r.default.use(q.a);var Ie=[""]||!1,Ve=Ie.includes("settings"),ze={path:"/settings",component:Ce,children:[{path:"index",component:function(){return Promise.all([n.e("chunk-7fe2"),n.e("chunk-2943")]).then(n.bind(null,"YcIK"))},name:"Settings",meta:{title:"Settings",icon:"settings",noCache:!0}}]},Me=Ie.includes("reports"),Re={path:"/reports",component:Ce,children:[{path:"index",component:function(){return Promise.all([n.e("chunk-df62"),n.e("chunk-4df4")]).then(n.bind(null,"cEOe"))},name:"Reports",meta:{title:"Reports",icon:"documentation",noCache:!0}}]},De=Ie.includes("invites"),je={path:"/invites",component:Ce,children:[{path:"index",component:function(){return n.e("chunk-7c6b").then(n.bind(null,"HMof"))},name:"Invites",meta:{title:"Invites",icon:"guide",noCache:!0}}]},Ue=Ie.includes("moderation-log"),He={path:"/moderation_log",component:Ce,children:[{path:"index",component:function(){return Promise.all([n.e("chunk-df62"),n.e("chunk-7f8e")]).then(n.bind(null,"CmY0"))},name:"Moderation Log",meta:{title:"moderationLog",icon:"list",noCache:!0}}]},Be=Ie.includes("emoji-packs"),Fe={path:"/emoji-packs",component:Ce,children:[{path:"index",component:function(){return n.e("chunk-0cb6").then(n.bind(null,"rCuO"))},name:"Emoji packs",meta:{title:"emoji-packs",icon:"settings",noCache:!0}}]},Ne=[{path:"/redirect",component:Ce,hidden:!0,children:[{path:"/redirect/:path*",component:function(){return n.e("7zzA").then(n.bind(null,"7zzA"))}}]},{path:"/login-pleroma",component:function(){return Promise.all([n.e("oAJy"),n.e("chunk-16d0")]).then(n.bind(null,"iRgq"))},hidden:!0},{path:"/login",component:function(){return Promise.all([n.e("oAJy"),n.e("chunk-538a")]).then(n.bind(null,"ntYl"))},hidden:!0},{path:"/auth-redirect",component:function(){return n.e("JEtC").then(n.bind(null,"JEtC"))},hidden:!0},{path:"/404",component:function(){return n.e("chunk-15fa").then(n.bind(null,"/eX4"))},hidden:!0},{path:"/401",component:function(){return n.e("chunk-18e1").then(n.bind(null,"UUO+"))},hidden:!0},{path:"",component:Ce,redirect:"/users/index"}],Ge=new q.a({scrollBehavior:function(){return{y:0}},routes:Ne}),Ye=[{path:"/users",component:Ce,children:[{path:"index",component:function(){return Promise.all([n.e("chunk-0620"),n.e("chunk-23b2")]).then(n.bind(null,"RGjw"))},name:"Users",meta:{title:"users",icon:"peoples",noCache:!0}}]}].concat($()(Me?[]:[Re]),$()(De?[]:[je]),$()(Ue?[]:[He]),$()(Ve?[]:[ze]),$()(Be?[]:[Fe]),[{path:"/users/:id",component:Ce,children:[{path:"",name:"UsersShow",component:function(){return n.e("chunk-3d1c").then(n.bind(null,"4bFr"))}}],hidden:!0},{path:"*",redirect:"/404",hidden:!0}]);var $e={state:{routers:[],addRouters:[]},mutations:{SET_ROUTERS:function(e,t){e.addRouters=t,e.routers=Ne.concat(t)}},actions:{GenerateRoutes:function(e,t){var n=e.commit;return new Promise(function(e){var a,r=t.roles;a=r.includes("admin")?Ye:function e(t,n){var a=[];return t.forEach(function(t){var r=x()({},t);(function(e,t){return!t.meta||!t.meta.roles||e.some(function(e){return t.meta.roles.includes(e)})})(n,r)&&(r.children&&(r.children=e(r.children,n)),a.push(r))}),a}(Ye,r),n("SET_ROUTERS",a),e()})}}};function qe(e,t,n,a){return We.apply(this,arguments)}function We(){return(We=w()(v.a.mark(function e(t,n,a,r){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(a),url:"/api/pleroma/admin/reports/".concat(n),method:"put",headers:at(r),data:{state:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Ke(e,t,n,a,r){return Ze.apply(this,arguments)}function Ze(){return(Ze=w()(v.a.mark(function e(t,n,a,r,i){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(r),url:"/api/pleroma/admin/statuses/".concat(t),method:"put",headers:at(i),data:{sensitive:n,visibility:a}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Qe(e,t,n){return Je.apply(this,arguments)}function Je(){return(Je=w()(v.a.mark(function e(t,n,a){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(n),url:"/api/pleroma/admin/statuses/".concat(t),method:"delete",headers:at(a)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Xe(e,t,n,a){return et.apply(this,arguments)}function et(){return(et=w()(v.a.mark(function e(t,n,a,r){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(a),url:"/api/pleroma/admin/reports?limit=".concat(t,"&max_id=").concat(n),method:"get",headers:at(r)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function tt(e,t,n,a,r){return nt.apply(this,arguments)}function nt(){return(nt=w()(v.a.mark(function e(t,n,a,r,i){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(r),url:"/api/pleroma/admin/reports?state=".concat(t,"&limit=").concat(n,"&max_id=").concat(a),method:"get",headers:at(i)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var at=function(e){return e?{Authorization:"Bearer ".concat(Object(E.b)())}:{}},rt={state:{fetchedReports:[],idOfLastReport:"",page_limit:5,stateFilter:"",loading:!0},mutations:{SET_LAST_REPORT_ID:function(e,t){e.idOfLastReport=t},SET_LOADING:function(e,t){e.loading=t},SET_REPORTS:function(e,t){e.fetchedReports=t},SET_REPORTS_FILTER:function(e,t){e.stateFilter=t}},actions:{ChangeReportState:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s,c,u,l;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,i=t.state,o=n.reportState,s=n.reportId,e.next=4,qe(o,s,r.authHost,r.token);case 4:c=e.sent,u=c.data,l=i.fetchedReports.map(function(e){return e.id===s?u:e}),a("SET_REPORTS",l);case 8:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),ChangeStatusScope:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s,c,u,l,d,p;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,i=t.state,o=n.statusId,s=n.isSensitive,c=n.visibility,u=n.reportId,e.next=4,Ke(o,s,c,r.authHost,r.token);case 4:l=e.sent,d=l.data,p=i.fetchedReports.map(function(e){if(e.id===u){var t=e.statuses.map(function(e){return e.id===o?d:e});return x()({},e,{statuses:t})}return e}),a("SET_REPORTS",p);case 8:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),ClearFetchedReports:function(e){var t=e.commit;t("SET_REPORTS",[]),t("SET_LAST_REPORT_ID","")},DeleteStatus:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s,c;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:a=t.commit,r=t.getters,i=t.state,o=n.statusId,s=n.reportId,Qe(o,r.authHost,r.token),c=i.fetchedReports.map(function(e){if(e.id===s){var t=e.statuses.filter(function(e){return e.id!==o});return x()({},e,{statuses:t})}return e}),a("SET_REPORTS",c);case 5:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),FetchReports:function(){var e=w()(v.a.mark(function e(t){var n,a,r,i,o,s;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.commit,a=t.getters,r=t.state,n("SET_LOADING",!0),0!==r.stateFilter.length){e.next=8;break}return e.next=5,Xe(r.page_limit,r.idOfLastReport,a.authHost,a.token);case 5:e.t0=e.sent,e.next=11;break;case 8:return e.next=10,tt(r.stateFilter,r.page_limit,r.idOfLastReport,a.authHost,a.token);case 10:e.t0=e.sent;case 11:i=e.t0,o=r.fetchedReports.concat(i.data.reports),s=o.length>0?o[o.length-1].id:r.idOfLastReport,n("SET_REPORTS",o),n("SET_LAST_REPORT_ID",s),n("SET_LOADING",!1);case 17:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),SetFilter:function(e,t){(0,e.commit)("SET_REPORTS_FILTER",t)}}},it=n("lSNA"),ot=n.n(it);function st(e,t){return ct.apply(this,arguments)}function ct(){return(ct=w()(v.a.mark(function e(t,n){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(t),url:"/api/pleroma/admin/config",method:"get",headers:mt(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function ut(e,t,n){return lt.apply(this,arguments)}function lt(){return(lt=w()(v.a.mark(function e(t,n,a){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(n),url:"/api/pleroma/admin/config",method:"post",headers:mt(a),data:{configs:t}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function dt(e,t,n){return pt.apply(this,arguments)}function pt(){return(pt=w()(v.a.mark(function e(t,n,a){var r;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return(r=new FormData).append("file",t),e.next=4,Object(k.a)({baseURL:Object(S.a)(n),url:"/api/v1/media",method:"post",headers:mt(a),data:r});case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}var mt=function(e){return e?{Authorization:"Bearer ".concat(Object(E.b)())}:{}},ht=[{group:"pleroma",key:":instance",value:[{tuple:[":name","Pleroma"]},{tuple:[":email","example@example.com"]},{tuple:[":notify_email","noreply@example.com"]},{tuple:[":description","A Pleroma instance, an alternative fediverse server"]},{tuple:[":limit",5e3]},{tuple:[":remote_limit",1e5]},{tuple:[":upload_limit",16777216]},{tuple:[":avatar_upload_limit",2097152]},{tuple:[":background_upload_limit",4194304]},{tuple:[":banner_upload_limit",4194304]},{tuple:[":poll_limits",[{tuple:[":max_options",20]},{tuple:[":max_option_chars",200]},{tuple:[":min_expiration",0]},{tuple:[":max_expiration",31536e3]}]]},{tuple:[":registrations_open",!0]},{tuple:[":invites_enabled",!1]},{tuple:[":account_activation_required",!1]},{tuple:[":federating",!0]},{tuple:[":federation_reachability_timeout_days",7]},{tuple:[":federation_publisher_modules",["Pleroma.Web.ActivityPub.Publisher","Pleroma.Web.Websub","Pleroma.Web.Salmon"]]},{tuple:[":allow_relay",!0]},{tuple:[":rewrite_policy","Pleroma.Web.ActivityPub.MRF.NoOpPolicy"]},{tuple:[":public",!0]},{tuple:[":managed_config",!0]},{tuple:[":static_dir","instance/static/"]},{tuple:[":allowed_post_formats",["text/plain","text/html","text/markdown","text/bbcode"]]},{tuple:[":mrf_transparency",!0]},{tuple:[":extended_nickname_format",!1]},{tuple:[":max_pinned_statuses",1]},{tuple:[":no_attachment_links",!1]},{tuple:[":max_report_comment_size",1e3]},{tuple:[":safe_dm_mentions",!1]},{tuple:[":healthcheck",!1]},{tuple:[":remote_post_retention_days",90]},{tuple:[":skip_thread_containment",!0]},{tuple:[":limit_to_local_content",":unauthenticated"]},{tuple:[":dynamic_configuration",!0]},{tuple:[":max_account_fields",10]},{tuple:[":max_remote_account_fields",20]},{tuple:[":account_field_name_length",255]},{tuple:[":account_field_value_length",255]},{tuple:[":external_user_synchronization",!0]},{tuple:[":user_bio_length",5e3]},{tuple:[":user_name_length",100]}]},{group:"mime",key:":types",value:{"application/activity+json":["activity+json"],"application/jrd+json":["jrd+json"],"application/ld+json":["activity+json"],"application/xml":["xml"],"application/xrd+xml":["xrd+xml"]}},{group:"cors_plug",key:":max_age",value:86400},{group:"cors_plug",key:":methods",value:["POST","PUT","DELETE","GET","PATCH","OPTIONS"]},{group:"cors_plug",key:":expose",value:["Link","X-RateLimit-Reset","X-RateLimit-Limit","X-RateLimit-Remaining","X-Request-Id","Idempotency-Key"]},{group:"cors_plug",key:":credentials",value:!0},{group:"cors_plug",key:":headers",value:["Authorization","Content-Type","Idempotency-Key"]},{group:"tesla",key:":adapter",value:"Tesla.Adapter.Hackney"},{group:"pleroma",key:":markup",value:[{tuple:[":allow_inline_images",!0]},{tuple:[":allow_headings",!1]},{tuple:[":allow_tables",!1]},{tuple:[":allow_fonts",!1]},{tuple:[":scrub_policy",["Pleroma.HTML.Transform.MediaProxy","Pleroma.HTML.Scrubber.Default"]]}]}],ft=n("QILm"),gt=n.n(ft);function vt(e){var t=function(e,t){if("object"!==ae()(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var a=n.call(e,t||"default");if("object"!==ae()(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ae()(t)?t:String(t)}var bt=["replace",":replace"],wt=["match_actor",":match_actor"],yt=["digest","pleroma_fe","masto_fe","poll_limits","styling"],xt=["mascots"],_t={cors_plug:["credentials","expose","headers","max_age","methods"],esshd:["enabled","handler","password_authenticator","port","priv_dir"],logger:["backends","console","ex_syslogger"],mime:["types"],phoenix:["format_encoders"],pleroma:["Pleroma.Captcha","Pleroma.Captcha.Kocaptcha","Pleroma.Emails.Mailer","Pleroma.Emails.UserEmail","Pleroma.Repo","Pleroma.ScheduledActivity","Pleroma.Upload","Pleroma.Upload.Filter.AnonymizeFilename","Pleroma.Upload.Filter.Mogrify","Pleroma.Uploaders.Local","Pleroma.Uploaders.MDII","Pleroma.Uploaders.S3","Pleroma.User","Pleroma.Web.Auth.Authenticator","Pleroma.Web.Endpoint","Pleroma.Web.Federator.RetryQueue","Pleroma.Web.Metadata","activitypub","admin_token","assets","auth","auto_linker","chat","database","ecto_repos","email_notifications","emoji","env","fetch_initial_posts","frontend_configurations","gopher","hackney_pools","http","http_security","instance","ldap","markup","media_proxy","mrf_hellthread","mrf_keyword","mrf_mention","mrf_normalize_markup","mrf_rejectnonpublic","mrf_simple","mrf_subchain","mrf_user_allowlist","mrf_vocabulary","oauth2","rate_limit","rich_media","suggestions","uri_schemes","user"],pleroma_job_queue:["queues"],quack:["level","meta","webhook_url"],tesla:["adapter"],ueberauth:["Ueberauth","Ueberauth.Strategy.Facebook.OAuth","Ueberauth.Strategy.Google.OAuth","Ueberauth.Strategy.Microsoft.OAuth","Ueberauth.Strategy.Twitter.OAuth"],web_push_encryption:["vapid_details"]},Tt=function(e,t){return!0===e.enabled.value?e:t.reduce(function(e,t){e[t];return gt()(e,[t].map(vt))},e)},kt=function(e){return e.reduce(function(e,t){return e[t.tuple[0]]=t.tuple[1],e},{})},Et=function(e){return Object.keys(e).reduce(function(t,n){return t[n]=e[n],t},{})},St=function(e){return Object.keys(e).reduce(function(t,n){return t[n.substr(1)]=e[n],t},{})},Ot=function(e){return Object.keys(e).map(function(t){var n=Vt(t),a=t.startsWith("Pleroma")||t.startsWith("Ueberauth")?t:":".concat(t),r=void 0!==e[t].value?e[t].value:Object.keys(e[t]).reduce(function(n,r){var i=e[t][r];if(null===i||""===i)return n;if(":rate_limit"===a)return[].concat($()(n),[{tuple:[":".concat(r),i]}]);if("ip"===r){var o=i.split(".").map(function(e){return parseInt(e,10)});return[].concat($()(n),[{tuple:[":".concat(r),{tuple:o}]}])}return Array.isArray(i)||"object"!==ae()(i)?[].concat($()(n),":mrf_user_allowlist"===a?[{tuple:["".concat(r),i]}]:[{tuple:[":".concat(r),i]}]):wt.includes(r)?[].concat($()(n),[{tuple:[":".concat(r),Ct(i)]}]):xt.includes(r)?[].concat($()(n),[{tuple:[":".concat(r),Pt(i)]}]):yt.includes(r)?[].concat($()(n),[{tuple:[":".concat(r),It(i)]}]):bt.includes(r)?[].concat($()(n),[{tuple:[":".concat(r),At(i)]}]):[].concat($()(n),[{tuple:[":".concat(r),Lt(i)]}])},[]);return{group:n,key:a,value:r}})},Lt=function e(t){return Object.keys(t).reduce(function(n,a){var r=t[a];if(null===r||""===r)return n;if("ip"===a){var i=r.split(".").map(function(e){return parseInt(e,10)});return[].concat($()(n),[{tuple:[":".concat(a),{tuple:i}]}])}return Array.isArray(r)||"object"!==ae()(r)?[].concat($()(n),[{tuple:[":".concat(a),r]}]):wt.includes(a)?[].concat($()(n),[{tuple:[":".concat(a),Ct(r)]}]):xt.includes(a)?[].concat($()(n),[{tuple:[":".concat(a),Pt(r)]}]):yt.includes(a)?[].concat($()(n),[{tuple:[":".concat(a),It(r)]}]):bt.includes(a)?[].concat($()(n),[{tuple:[":".concat(a),At(r)]}]):[].concat($()(n),[{tuple:[":".concat(a),e(r)]}])},[])},At=function(e){return Object.keys(e).reduce(function(t,n){return[].concat($()(t),[{tuple:["".concat(n),e[n]]}])},[])},Pt=function(e){return Object.keys(e).reduce(function(t,n){return[].concat($()(t),[{tuple:[":".concat(n),It(e[n])]}])},[])},Ct=function(e){return Object.keys(e).reduce(function(t,n){return x()({},t,ot()({},"".concat(n),e[n]))},{})},It=function(e){return Object.keys(e).reduce(function(t,n){return x()({},t,ot()({},":".concat(n),e[n]))},{})},Vt=function(e){return Object.keys(_t).find(function(t){return _t[t].includes(e)})},zt={state:{settings:{activitypub:{},adapter:{},admin_token:{},assets:{mascots:{}},auth:{},auto_linker:{opts:{}},backends:{},chat:{},console:{colors:{}},credentials:{},database:{},ecto_repos:{},email_notifications:{digest:{}},emoji:{groups:{}},enabled:{},ex_syslogger:{},expose:{},fetch_initial_posts:{},format_encoders:{},frontend_configurations:{pleroma_fe:{},masto_fe:{}},gopher:{},hackney_pools:{federation:{},media:{},upload:{}},handler:{},headers:{},http:{adapter:{}},http_security:{},instance:{poll_limits:{}},level:{},ldap:{},markup:{},max_age:{},media_proxy:{proxy_opts:{}},meta:{},methods:{},mrf_hellthread:{},mrf_keyword:{replace:{}},mrf_mention:{},mrf_normalize_markup:{},mrf_rejectnonpublic:{},mrf_simple:{},mrf_subchain:{match_actor:{}},mrf_user_allowlist:{},mrf_vocabulary:{},oauth2:{},password_authenticator:{},"Pleroma.Captcha":{},"Pleroma.Captcha.Kocaptcha":{},"Pleroma.Emails.Mailer":{},"Pleroma.Emails.UserEmail":{styling:{}},"Pleroma.Repo":{},"Pleroma.ScheduledActivity":{},"Pleroma.Upload":{proxy_opts:{}},"Pleroma.Upload.Filter.AnonymizeFilename":{},"Pleroma.Upload.Filter.Mogrify":{},"Pleroma.Uploaders.Local":{},"Pleroma.Uploaders.MDII":{},"Pleroma.Uploaders.S3":{},"Pleroma.User":{},"Pleroma.Web.Auth.Authenticator":{},"Pleroma.Web.Endpoint":{http:!1,url:{},render_errors:{},pubsub:{}},"Pleroma.Web.Federator.RetryQueue":{},"Pleroma.Web.Metadata":{},port:{},priv_dir:{},queues:{},rate_limit:{},rich_media:{},suggestions:{},types:{value:{}},Ueberauth:{},"Ueberauth.Strategy.Facebook.OAuth":{},"Ueberauth.Strategy.Google.OAuth":{},"Ueberauth.Strategy.Microsoft.OAuth":{},"Ueberauth.Strategy.Twitter.OAuth":{},user:{},uri_schemes:{},vapid_details:{},webhook_url:{}},ignoredIfNotEnabled:["enabled","handler","password_authenticator","port","priv_dir"],loading:!0},mutations:{REWRITE_CONFIG:function(e,t){var n=t.tab,a=t.data;e.settings[n]=a},SET_LOADING:function(e,t){e.loading=t},SET_SETTINGS:function(e,t){var n=t.reduce(function(e,t){var n=":"===t.key[0]?t.key.substr(1):t.key,a=function(e,t){var n=Array.isArray(t)&&t.length>0&&"object"!==ae()(t[0]);return"meta"===e||"types"===e||"string"==typeof t||"number"==typeof t||"boolean"==typeof t||n}(n,t.value)?{value:t.value}:function e(t,n){return t.reduce(function(t,a){return"rate_limit"===n?t[a.tuple[0].substr(1)]=a.tuple[1]:Array.isArray(a.tuple[1])&&"object"===ae()(a.tuple[1][0])&&!Array.isArray(a.tuple[1][0])&&a.tuple[1][0].tuple?bt.includes(a.tuple[0])?t[a.tuple[0].substr(1)]=kt(a.tuple[1]):t[a.tuple[0].substr(1)]=e(a.tuple[1]):Array.isArray(a.tuple[1])?t[a.tuple[0].substr(1)]=a.tuple[1]:a.tuple[1]&&"object"===ae()(a.tuple[1])&&"tuple"in a.tuple[1]?t[a.tuple[0].substr(1)]=a.tuple[1].tuple.join("."):a.tuple[1]&&"object"===ae()(a.tuple[1])?wt.includes(a.tuple[0])?t[a.tuple[0].substr(1)]=Et(a.tuple[1]):t[a.tuple[0].substr(1)]=St(a.tuple[1]):"mrf_user_allowlist"===n?t[a.tuple[0]]=a.tuple[1]:t[a.tuple[0].substr(1)]=a.tuple[1],t},{})}(t.value,n);return e[n]=x()({},e[n],a),e},e.settings);e.settings=n},UPDATE_SETTINGS:function(e,t){var n=t.tab,a=t.data;Object.keys(e.settings).map(function(t){t===n&&(e.settings[t]=x()({},e.settings[t],a))})}},actions:{FetchSettings:function(){var e=w()(v.a.mark(function e(t){var n,a,r,i;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.dispatch,r=t.getters,n("SET_LOADING",!0),e.next=4,st(r.authHost,r.token);case 4:0===(i=e.sent).data.configs.length?a("SubmitChanges",ht):n("SET_SETTINGS",i.data.configs),n("SET_LOADING",!1);case 7:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),RewriteConfig:function(e,t){(0,e.commit)("REWRITE_CONFIG",{tab:t.tab,data:t.data})},SubmitChanges:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s,c;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.getters,r=t.commit,i=t.state,o=Tt(i.settings,i.ignoredIfNotEnabled),s=n||Ot(o),e.next=5,ut(s,a.authHost,a.token);case 5:c=e.sent,n&&r("SET_SETTINGS",c.data.configs);case 7:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),UpdateSettings:function(e,t){(0,e.commit)("UPDATE_SETTINGS",{tab:t.tab,data:t.data})},UploadMedia:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s,c,u,l,d;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.dispatch,r=t.getters,i=t.state,o=n.file,s=n.tab,c=n.inputName,u=n.childName,e.next=4,dt(o,r.authHost,r.token);case 4:l=e.sent,d=u?x()({},i.settings[s][c],ot()({},u,l.data.url)):l.data.url,a("UpdateSettings",{tab:s,data:ot()({},c,d)});case 7:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}},Mt=n("J4zp"),Rt=n.n(Mt),Dt={state:{visitedViews:[],cachedViews:[]},mutations:{ADD_VISITED_VIEW:function(e,t){e.visitedViews.some(function(e){return e.path===t.path})||e.visitedViews.push(Object.assign({},t,{title:t.meta.title||"no-name"}))},ADD_CACHED_VIEW:function(e,t){e.cachedViews.includes(t.name)||t.meta.noCache||e.cachedViews.push(t.name)},DEL_VISITED_VIEW:function(e,t){var n=!0,a=!1,r=void 0;try{for(var i,o=e.visitedViews.entries()[Symbol.iterator]();!(n=(i=o.next()).done);n=!0){var s=Rt()(i.value,2),c=s[0];if(s[1].path===t.path){e.visitedViews.splice(c,1);break}}}catch(e){a=!0,r=e}finally{try{n||null==o.return||o.return()}finally{if(a)throw r}}},DEL_CACHED_VIEW:function(e,t){var n=!0,a=!1,r=void 0;try{for(var i,o=e.cachedViews[Symbol.iterator]();!(n=(i=o.next()).done);n=!0){var s=i.value;if(s===t.name){var c=e.cachedViews.indexOf(s);e.cachedViews.splice(c,1);break}}}catch(e){a=!0,r=e}finally{try{n||null==o.return||o.return()}finally{if(a)throw r}}},DEL_OTHERS_VISITED_VIEWS:function(e,t){e.visitedViews=e.visitedViews.filter(function(e){return e.meta.affix||e.path===t.path})},DEL_OTHERS_CACHED_VIEWS:function(e,t){var n=!0,a=!1,r=void 0;try{for(var i,o=e.cachedViews[Symbol.iterator]();!(n=(i=o.next()).done);n=!0){var s=i.value;if(s===t.name){var c=e.cachedViews.indexOf(s);e.cachedViews=e.cachedViews.slice(c,c+1);break}}}catch(e){a=!0,r=e}finally{try{n||null==o.return||o.return()}finally{if(a)throw r}}},DEL_ALL_VISITED_VIEWS:function(e){var t=e.visitedViews.filter(function(e){return e.meta.affix});e.visitedViews=t},DEL_ALL_CACHED_VIEWS:function(e){e.cachedViews=[]},UPDATE_VISITED_VIEW:function(e,t){var n=!0,a=!1,r=void 0;try{for(var i,o=e.visitedViews[Symbol.iterator]();!(n=(i=o.next()).done);n=!0){var s=i.value;if(s.path===t.path){s=Object.assign(s,t);break}}}catch(e){a=!0,r=e}finally{try{n||null==o.return||o.return()}finally{if(a)throw r}}}},actions:{addView:function(e,t){var n=e.dispatch;n("addVisitedView",t),n("addCachedView",t)},addVisitedView:function(e,t){(0,e.commit)("ADD_VISITED_VIEW",t)},addCachedView:function(e,t){(0,e.commit)("ADD_CACHED_VIEW",t)},delView:function(e,t){var n=e.dispatch,a=e.state;return new Promise(function(e){n("delVisitedView",t),n("delCachedView",t),e({visitedViews:$()(a.visitedViews),cachedViews:$()(a.cachedViews)})})},delVisitedView:function(e,t){var n=e.commit,a=e.state;return new Promise(function(e){n("DEL_VISITED_VIEW",t),e($()(a.visitedViews))})},delCachedView:function(e,t){var n=e.commit,a=e.state;return new Promise(function(e){n("DEL_CACHED_VIEW",t),e($()(a.cachedViews))})},delOthersViews:function(e,t){var n=e.dispatch,a=e.state;return new Promise(function(e){n("delOthersVisitedViews",t),n("delOthersCachedViews",t),e({visitedViews:$()(a.visitedViews),cachedViews:$()(a.cachedViews)})})},delOthersVisitedViews:function(e,t){var n=e.commit,a=e.state;return new Promise(function(e){n("DEL_OTHERS_VISITED_VIEWS",t),e($()(a.visitedViews))})},delOthersCachedViews:function(e,t){var n=e.commit,a=e.state;return new Promise(function(e){n("DEL_OTHERS_CACHED_VIEWS",t),e($()(a.cachedViews))})},delAllViews:function(e,t){var n=e.dispatch,a=e.state;return new Promise(function(e){n("delAllVisitedViews",t),n("delAllCachedViews",t),e({visitedViews:$()(a.visitedViews),cachedViews:$()(a.cachedViews)})})},delAllVisitedViews:function(e){var t=e.commit,n=e.state;return new Promise(function(e){t("DEL_ALL_VISITED_VIEWS"),e($()(n.visitedViews))})},delAllCachedViews:function(e){var t=e.commit,n=e.state;return new Promise(function(e){t("DEL_ALL_CACHED_VIEWS"),e($()(n.cachedViews))})},updateVisitedView:function(e,t){(0,e.commit)("UPDATE_VISITED_VIEW",t)}}};function jt(e,t,n){return Ut.apply(this,arguments)}function Ut(){return(Ut=w()(v.a.mark(function e(t,n,a){var r,i;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(a),url:"/api/v1/apps",method:"post",data:{client_name:"AdminFE_".concat(Math.random()),redirect_uris:"".concat(window.location.origin,"/oauth-callback"),scopes:"read write follow"}});case 2:return r=e.sent,i=r.data,e.abrupt("return",Object(k.a)({baseURL:Object(S.a)(a),url:"/oauth/token",method:"post",data:{client_id:i.client_id,client_secret:i.client_secret,grant_type:"password",username:t,password:n}}));case 5:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Ht(e,t){return Object(k.a)({baseURL:Object(S.a)(t),url:"/api/v1/accounts/verify_credentials",method:"get",headers:e?{Authorization:"Bearer ".concat(e)}:{}})}function Bt(e){return Ft.apply(this,arguments)}function Ft(){return(Ft=w()(v.a.mark(function e(t){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(t),url:"/nodeinfo/2.0.json",method:"get"});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var Nt={state:{user:"",id:"",status:"",code:"",token:Object(E.b)(),authHost:Object(E.a)(),name:"",avatar:"",introduction:"",roles:[],setting:{articlePlatform:[]},nodeInfo:{}},mutations:{SET_CODE:function(e,t){e.code=t},SET_TOKEN:function(e,t){e.token=t},SET_INTRODUCTION:function(e,t){e.introduction=t},SET_SETTING:function(e,t){e.setting=t},SET_STATUS:function(e,t){e.status=t},SET_NAME:function(e,t){e.name=t},SET_AVATAR:function(e,t){e.avatar=t},SET_ROLES:function(e,t){e.roles=t},SET_ID:function(e,t){e.id=t},SET_AUTH_HOST:function(e,t){e.authHost=t},SET_NODE_INFO:function(e,t){e.nodeInfo=t}},actions:{LoginByUsername:function(e,t){var n=e.commit,a=e.dispatch,r=t.username,i=t.authHost,o=t.password;return new Promise(function(e,t){jt(r,o,i).then(function(t){var a=t.data;n("SET_TOKEN",a.access_token),n("SET_AUTH_HOST",i),Object(E.f)(a.access_token),Object(E.e)(i),e()}).catch(function(e){a("addErrorLog",{message:e.message}),t(e)})})},GetNodeInfo:function(){var e=w()(v.a.mark(function e(t){var n,a,r;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.state,e.next=3,Bt(a.authHost);case 3:r=e.sent,n("SET_NODE_INFO",r.data);case 5:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),GetUserInfo:function(e){var t=e.commit,n=e.state;return new Promise(function(e,a){Ht(n.token,n.authHost).then(function(n){var r=n.data;r||a("Verification failed, please login again."),r.pleroma&&r.pleroma.is_admin?t("SET_ROLES",["admin"]):a("getInfo: roles must be a non-null array!"),t("SET_NAME",r.username),t("SET_ID",r.id),t("SET_AVATAR",r.avatar),t("SET_INTRODUCTION",""),e(n)}).catch(function(e){a(e)})})},LogOut:function(e){var t=e.commit;t("SET_TOKEN",""),t("SET_ROLES",[]),Object(E.d)(),Object(E.c)()},FedLogOut:function(e){var t=e.commit;return new Promise(function(e){t("SET_TOKEN",""),Object(E.d)(),Object(E.c)(),e()})},LoginByPleromaFE:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:a=t.commit,r=t.dispatch,i=n.token,a("SET_TOKEN",i),Object(E.f)(i),a("SET_AUTH_HOST",window.location.host),Object(E.e)(window.location.host),r("GetUserInfo");case 7:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}};function Gt(e,t,n,a){return Yt.apply(this,arguments)}function Yt(){return(Yt=w()(v.a.mark(function e(t,n,a,r){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(a),url:"/api/pleroma/admin/users/".concat(t,"/permission_group/").concat(n),method:"post",headers:vn(r)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function $t(e,t,n,a,r){return qt.apply(this,arguments)}function qt(){return(qt=w()(v.a.mark(function e(t,n,a,r,i){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(r),url:"/api/pleroma/admin/users",method:"post",headers:vn(i),data:{users:[{nickname:t,email:n,password:a}]}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Wt(e,t,n,a){return Kt.apply(this,arguments)}function Kt(){return(Kt=w()(v.a.mark(function e(t,n,a,r){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(a),url:"/api/pleroma/admin/users/".concat(t,"/permission_group/").concat(n),method:"delete",headers:vn(r)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Zt(e,t,n){return Qt.apply(this,arguments)}function Qt(){return(Qt=w()(v.a.mark(function e(t,n,a){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(n),url:"/api/pleroma/admin/users?nickname=".concat(t),method:"delete",headers:vn(a)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function Jt(e,t,n){return Xt.apply(this,arguments)}function Xt(){return(Xt=w()(v.a.mark(function e(t,n,a){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(n),url:"/api/pleroma/admin/users/".concat(t),method:"get",headers:vn(a)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function en(e,t,n){return tn.apply(this,arguments)}function tn(){return(tn=w()(v.a.mark(function e(t,n,a){var r,i=arguments;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=i.length>3&&void 0!==i[3]?i[3]:1,e.next=3,Object(k.a)({baseURL:Object(S.a)(n),url:"/api/pleroma/admin/users?page=".concat(r,"&filters=").concat(t),method:"get",headers:vn(a)});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function nn(e,t,n){return an.apply(this,arguments)}function an(){return(an=w()(v.a.mark(function e(t,n,a){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(n),url:"/api/pleroma/admin/users/".concat(t,"/password_reset"),method:"get",headers:vn(a)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function rn(e,t,n){return on.apply(this,arguments)}function on(){return(on=w()(v.a.mark(function e(t,n,a){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(n),url:"/api/pleroma/admin/users/".concat(t,"/force_password_reset"),method:"patch",headers:vn(a)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function sn(e,t,n,a){return cn.apply(this,arguments)}function cn(){return(cn=w()(v.a.mark(function e(t,n,a,r){var i,o=arguments;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=o.length>4&&void 0!==o[4]?o[4]:1,e.next=3,Object(k.a)({baseURL:Object(S.a)(a),url:"/api/pleroma/admin/users?query=".concat(t,"&page=").concat(i,"&filters=").concat(n),method:"get",headers:vn(r)});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function un(e,t,n,a){return ln.apply(this,arguments)}function ln(){return(ln=w()(v.a.mark(function e(t,n,a,r){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(a),url:"/api/pleroma/admin/users/tag",method:"put",headers:vn(r),data:{nicknames:t,tags:n}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function dn(e,t,n){return pn.apply(this,arguments)}function pn(){return(pn=w()(v.a.mark(function e(t,n,a){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(n),url:"/api/pleroma/admin/users/".concat(t,"/toggle_activation"),method:"patch",headers:vn(a)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function mn(e,t,n,a){return hn.apply(this,arguments)}function hn(){return(hn=w()(v.a.mark(function e(t,n,a,r){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(a),url:"/api/pleroma/admin/users/tag",method:"delete",headers:vn(r),data:{nicknames:t,tags:n}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function fn(e,t,n,a){return gn.apply(this,arguments)}function gn(){return(gn=w()(v.a.mark(function e(t,n,a,r){return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(k.a)({baseURL:Object(S.a)(n),url:"/api/pleroma/admin/users/".concat(t,"/statuses?godmode=").concat(a),method:"get",headers:vn(r)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}var vn=function(e){return e?{Authorization:"Bearer ".concat(Object(E.b)())}:{}},bn={state:{user:{},loading:!0,statuses:[]},mutations:{SET_USER:function(e,t){e.user=t},SET_LOADING:function(e,t){e.loading=t},SET_STATUSES:function(e,t){e.statuses=t}},actions:{FetchData:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s,c,u,l;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,i=n.id,o=n.godmode,a("SET_LOADING",!0),e.next=5,Promise.all([Jt(i,r.authHost,r.token),fn(i,r.authHost,o,r.token)]);case 5:s=e.sent,c=Rt()(s,2),u=c[0],l=c[1],a("SET_USER",u.data),a("SET_STATUSES",l.data),a("SET_LOADING",!1);case 12:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}},wn={state:{fetchedUsers:[],loading:!0,searchQuery:"",totalUsersCount:0,currentPage:1,filters:{local:!1,external:!1,active:!1,deactivated:!1},passwordResetToken:{token:"",link:""}},mutations:{SET_USERS:function(e,t){e.fetchedUsers=t},SET_LOADING:function(e,t){e.loading=t},SWAP_USER:function(e,t){var n=e.fetchedUsers.map(function(e){return e.id===t.id?t:e});e.fetchedUsers=n.map(function(e){return e.nickname?e:x()({},e,{nickname:""})}).sort(function(e,t){return e.nickname.localeCompare(t.nickname)})},SWAP_USERS:function(e,t){var n=t.reduce(function(e,t){return e.filter(function(e){return e.id!==t.id})},e.fetchedUsers);e.fetchedUsers=[].concat($()(n),$()(t)).sort(function(e,t){return e.nickname.localeCompare(t.nickname)})},SET_COUNT:function(e,t){e.totalUsersCount=t},SET_PAGE:function(e,t){e.currentPage=t},SET_PAGE_SIZE:function(e,t){e.pageSize=t},SET_PASSWORD_RESET_TOKEN:function(e,t){var n=t.token,a=t.link;e.passwordResetToken.token=n,e.passwordResetToken.link=a},SET_SEARCH_QUERY:function(e,t){e.searchQuery=t},SET_USERS_FILTERS:function(e,t){e.filters=t},SET_USER_PROFILE:function(e,t){e.userProfile=t}},actions:{AddTag:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,i=n.users,o=n.tag,s=i.map(function(e){return e.nickname}),e.next=5,un(s,[o],r.authHost,r.token);case 5:a("SWAP_USERS",i.map(function(e){return x()({},e,{tags:[].concat($()(e.tags),[o])})}));case 6:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),ClearFilters:function(){var e=w()(v.a.mark(function e(t){var n,a,r;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:n=t.commit,a=t.dispatch,r=t.state,n("CLEAR_USERS_FILTERS"),a("SearchUsers",{query:r.searchQuery,page:1});case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),CreateNewAccount:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s,c;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.dispatch,r=t.getters,i=t.state,o=n.nickname,s=n.email,c=n.password,e.next=4,$t(o,s,c,r.authHost,r.token);case 4:a("FetchUsers",{page:i.currentPage});case 5:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),DeleteUser:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s,c;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,i=t.state,e.next=3,Zt(n.nickname,r.authHost,r.token);case 3:o=e.sent,s=o.data,c=i.fetchedUsers.filter(function(e){return e.nickname!==s}),a("SET_USERS",c);case 7:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),RequirePasswordReset:function(){var e=w()(v.a.mark(function e(t,n){var a;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.commit,a=t.getters,t.state,e.next=3,rn(n.nickname,a.authHost,a.token);case 3:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),FetchUsers:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s,c,u;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.state,i=t.getters,o=t.dispatch,s=n.page,a("SET_LOADING",!0),c=Object.keys(r.filters).filter(function(e){return r.filters[e]}).join(),e.next=6,en(c,i.authHost,i.token,s);case 6:return u=e.sent,e.next=9,o("GetNodeInfo");case 9:yn(a,s,u.data);case 10:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),GetPasswordResetToken:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,t.state,r=t.getters,e.next=3,nn(n,r.authHost,r.token);case 3:i=e.sent,o=i.data,a("SET_PASSWORD_RESET_TOKEN",o);case 6:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),RemovePasswordToken:function(e){(0,e.commit)("SET_PASSWORD_RESET_TOKEN",{link:"",token:""})},RemoveTag:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,i=n.users,o=n.tag,s=i.map(function(e){return e.nickname}),e.next=5,mn(s,[o],r.authHost,r.token);case 5:a("SWAP_USERS",i.map(function(e){return x()({},e,{tags:e.tags.filter(function(e){return e!==o})})}));case 6:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),SearchUsers:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s,c,u,l;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(a=t.commit,r=t.dispatch,i=t.state,o=t.getters,s=n.query,c=n.page,0!==s.length){e.next=7;break}a("SET_SEARCH_QUERY",s),r("FetchUsers",{page:c}),e.next=14;break;case 7:return a("SET_LOADING",!0),a("SET_SEARCH_QUERY",s),u=Object.keys(i.filters).filter(function(e){return i.filters[e]}).join(),e.next=12,sn(s,u,o.authHost,o.token,c);case 12:l=e.sent,yn(a,c,l.data);case 14:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),ToggleUserActivation:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,e.next=3,dn(n,r.authHost,r.token);case 3:i=e.sent,o=i.data,a("SWAP_USER",o);case 6:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),ToggleUsersFilter:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:a=t.commit,r=t.dispatch,i=t.state,o={local:!1,external:!1,active:!1,deactivated:!1},s=x()({},o,n),a("SET_USERS_FILTERS",s),r("SearchUsers",{query:i.searchQuery,page:1});case 5:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),ToggleRight:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(a=t.commit,r=t.getters,i=n.user,o=n.right,!i.roles[o]){e.next=7;break}return e.next=5,Wt(i.nickname,o,r.authHost,r.token);case 5:e.next=9;break;case 7:return e.next=9,Gt(i.nickname,o,r.authHost,r.token);case 9:s=x()({},i,{roles:x()({},i.roles,ot()({},o,!i.roles[o]))}),a("SWAP_USER",s);case 11:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}},yn=function(e,t,n){var a=n.users,r=n.count,i=n.page_size;e("SET_USERS",a),e("SET_COUNT",r),e("SET_PAGE",t),e("SET_PAGE_SIZE",i),e("SET_LOADING",!1)},xn=wn,_n={sidebar:function(e){return e.app.sidebar},language:function(e){return e.app.language},size:function(e){return e.app.size},device:function(e){return e.app.device},visitedViews:function(e){return e.tagsView.visitedViews},cachedViews:function(e){return e.tagsView.cachedViews},token:function(e){return e.user.token},avatar:function(e){return e.user.avatar},name:function(e){return e.user.name},introduction:function(e){return e.user.introduction},status:function(e){return e.user.status},roles:function(e){return e.user.roles},setting:function(e){return e.user.setting},permission_routers:function(e){return e.permission.routers},addRouters:function(e){return e.permission.addRouters},errorLogs:function(e){return e.errorLog.logs},users:function(e){return e.users.fetchedUsers},authHost:function(e){return e.user.authHost},activityPub:function(e){return e.settings.settings.activitypub},adminToken:function(e){return e.settings.settings.admin_token},assets:function(e){return e.settings.settings.assets},auth:function(e){return e.settings.settings.auth},autoLinker:function(e){return e.settings.settings.auto_linker},captcha:function(e){return e.settings.settings["Pleroma.Captcha"]},chat:function(e){return e.settings.settings.chat},consoleLogger:function(e){return e.settings.settings.console},corsPlugCredentials:function(e){return e.settings.settings.credentials},corsPlugExpose:function(e){return e.settings.settings.expose},corsPlugHeaders:function(e){return e.settings.settings.headers},corsPlugMaxAge:function(e){return e.settings.settings.max_age},corsPlugMethods:function(e){return e.settings.settings.methods},database:function(e){return e.settings.settings.database},ectoRepos:function(e){return e.settings.settings.ecto_repos},emailNotifications:function(e){return e.settings.settings.email_notifications},emoji:function(e){return e.settings.settings.emoji},enabled:function(e){return e.settings.settings.enabled},endpoint:function(e){return e.settings.settings["Pleroma.Web.Endpoint"]},exsyslogger:function(e){return e.settings.settings.ex_syslogger},facebook:function(e){return e.settings.settings["Ueberauth.Strategy.Facebook.OAuth"]},fetchInitialPosts:function(e){return e.settings.settings.fetch_initial_posts},formatEncoders:function(e){return e.settings.settings.format_encoders},frontend:function(e){return e.settings.settings.frontend_configurations},google:function(e){return e.settings.settings["Ueberauth.Strategy.Google.OAuth"]},gopher:function(e){return e.settings.settings.gopher},hackneyPools:function(e){return e.settings.settings.hackney_pools},handler:function(e){return e.settings.settings.handler},http:function(e){return e.settings.settings.http},httpSecurity:function(e){return e.settings.settings.http_security},instance:function(e){return e.settings.settings.instance},kocaptcha:function(e){return e.settings.settings["Pleroma.Captcha.Kocaptcha"]},level:function(e){return e.settings.settings.level},ldap:function(e){return e.settings.settings.ldap},loggerBackends:function(e){return e.settings.settings.backends},mailer:function(e){return e.settings.settings["Pleroma.Emails.Mailer"]},markup:function(e){return e.settings.settings.markup},mediaProxy:function(e){return e.settings.settings.media_proxy},meta:function(e){return e.settings.settings.meta},metadata:function(e){return e.settings.settings["Pleroma.Web.Metadata"]},microsoft:function(e){return e.settings.settings["Ueberauth.Strategy.Microsoft.OAuth"]},mimeTypesConfig:function(e){return e.settings.settings.types},mrfHellthread:function(e){return e.settings.settings.mrf_hellthread},mrfKeyword:function(e){return e.settings.settings.mrf_keyword},mrfMention:function(e){return e.settings.settings.mrf_mention},mrfNormalizeMarkup:function(e){return e.settings.settings.mrf_normalize_markup},mrfRejectnonpublic:function(e){return e.settings.settings.mrf_rejectnonpublic},mrfSimple:function(e){return e.settings.settings.mrf_simple},mrfSubchain:function(e){return e.settings.settings.mrf_subchain},mrfUserAllowlist:function(e){return e.settings.settings.mrf_user_allowlist},mrfVocabulary:function(e){return e.settings.settings.mrf_vocabulary},oauth2:function(e){return e.settings.settings.oauth2},passwordAuthenticator:function(e){return e.settings.settings.password_authenticator},pleromaAuthenticator:function(e){return e.settings.settings["Pleroma.Web.Auth.Authenticator"]},pleromaRepo:function(e){return e.settings.settings["Pleroma.Repo"]},pleromaUser:function(e){return e.settings.settings["Pleroma.User"]},port:function(e){return e.settings.settings.port},privDir:function(e){return e.settings.settings.priv_dir},queues:function(e){return e.settings.settings.queues},rateLimiters:function(e){return e.settings.settings.rate_limit},retryQueue:function(e){return e.settings.settings["Pleroma.Web.Federator.RetryQueue"]},richMedia:function(e){return e.settings.settings.rich_media},suggestions:function(e){return e.settings.settings.suggestions},scheduledActivity:function(e){return e.settings.settings["Pleroma.ScheduledActivity"]},teslaAdapter:function(e){return e.settings.settings.adapter},twitter:function(e){return e.settings.settings["Ueberauth.Strategy.Twitter.OAuth"]},ueberauth:function(e){return e.settings.settings.Ueberauth},uploadAnonymizeFilename:function(e){return e.settings.settings["Pleroma.Upload.Filter.AnonymizeFilename"]},upload:function(e){return e.settings.settings["Pleroma.Upload"]},uploadFilterMogrify:function(e){return e.settings.settings["Pleroma.Upload.Filter.Mogrify"]},uploadersLocal:function(e){return e.settings.settings["Pleroma.Uploaders.Local"]},uploadMDII:function(e){return e.settings.settings["Pleroma.Uploaders.MDII"]},uploadS3:function(e){return e.settings.settings["Pleroma.Uploaders.S3"]},uriSchemes:function(e){return e.settings.settings.uri_schemes},user:function(e){return e.settings.settings.user},userEmail:function(e){return e.settings.settings["Pleroma.Emails.UserEmail"]},vapidDetails:function(e){return e.settings.settings.vapid_details},webhookUrl:function(e){return e.settings.settings.webhook_url}},Tn=n("qh4k"),kn={state:{localPacks:{},remotePacks:{}},mutations:{SET_LOCAL_PACKS:function(e,t){e.localPacks=t},SET_REMOTE_PACKS:function(e,t){e.remotePacks=t},UPDATE_LOCAL_PACK_VAL:function(e,t){var n=t.name,a=t.key,i=t.value;r.default.set(e.localPacks[n].pack,a,i)},UPDATE_LOCAL_PACK_PACK:function(e,t){var n=t.name,a=t.pack;e.localPacks[n].pack=a},UPDATE_LOCAL_PACK_FILES:function(e,t){var n=t.name,a=t.files;r.default.set(e.localPacks[n],"files",a)}},actions:{SetLocalEmojiPacks:function(){var e=w()(v.a.mark(function e(t){var n,a,r,i;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.commit,a=t.getters,t.state,e.next=3,Object(Tn.f)(a.authHost);case 3:r=e.sent,i=r.data,n("SET_LOCAL_PACKS",i);case 6:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),SetRemoteEmojiPacks:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,s;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,t.state,i=n.remoteInstance,e.next=4,Object(Tn.g)(r.authHost,r.token,i);case 4:o=e.sent,s=o.data,a("SET_REMOTE_PACKS",s);case 7:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),DownloadFrom:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.commit,a=t.getters,t.state,r=n.instanceAddress,i=n.packName,o=n.as,e.next=4,Object(Tn.d)(a.authHost,r,i,o,a.token);case 4:"ok"===e.sent.data&&Object(s.Message)({message:"Successfully downloaded ".concat(i),type:"success",duration:5e3});case 6:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),ReloadEmoji:function(){var e=w()(v.a.mark(function e(t){var n;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.commit,n=t.getters,t.state,e.next=3,Object(Tn.h)(n.authHost,n.token);case 3:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),ImportFromFS:function(){var e=w()(v.a.mark(function e(t){var n,a,r;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.commit,n=t.getters,t.state,e.next=3,Object(Tn.e)(n.authHost,n.token);case 3:200===(a=e.sent).status&&(r=a.data.length>0?"Successfully imported ".concat(a.data):"No new packs to import",Object(s.Message)({message:r,type:"success",duration:5e3}));case 5:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}(),DeletePack:function(){var e=w()(v.a.mark(function e(t,n){var a,r;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.commit,a=t.getters,t.state,r=n.name,e.next=4,Object(Tn.c)(a.authHost,a.token,r);case 4:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),CreatePack:function(){var e=w()(v.a.mark(function e(t,n){var a,r;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return t.commit,a=t.getters,t.state,r=n.name,e.next=4,Object(Tn.b)(a.authHost,a.token,r);case 4:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),UpdateLocalPackVal:function(){var e=w()(v.a.mark(function e(t,n){var a;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:a=t.commit,t.getters,t.state,a("UPDATE_LOCAL_PACK_VAL",n);case 2:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),SavePackMetadata:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o,c;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,i=t.state,o=n.packName,e.next=4,Object(Tn.i)(r.authHost,r.token,o,i.localPacks[o].pack);case 4:200===(c=e.sent).status&&(Object(s.Message)({message:"Successfully updated ".concat(o," metadata"),type:"success",duration:5e3}),a("UPDATE_LOCAL_PACK_PACK",{name:o,pack:c.data}));case 6:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}(),UpdateAndSavePackFile:function(){var e=w()(v.a.mark(function e(t,n){var a,r,i,o;return v.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.commit,r=t.getters,t.state,e.next=3,Object(Tn.j)(r.authHost,r.token,n);case 3:200===(i=e.sent).status&&(o=n.packName,Object(s.Message)({message:"Successfully updated ".concat(o," files"),type:"success",duration:5e3}),a("UPDATE_LOCAL_PACK_FILES",{name:o,files:i.data}));case 5:case"end":return e.stop()}},e)}));return function(t,n){return e.apply(this,arguments)}}()}};r.default.use(m.a);var En=new m.a.Store({modules:{app:h,errorLog:f,moderationLog:z,invites:G,permission:$e,reports:rt,settings:zt,tagsView:Dt,user:Nt,userProfile:bn,users:xn,emoji_packs:kn},getters:_n}),Sn=n("mSNy"),On=n("wAo7");r.default.component("svg-icon",On.a);!function(e){e.keys().map(e)}(n("Uf/o")),r.default.config.errorHandler=function(e,t,n,a){r.default.nextTick(function(){En.dispatch("addErrorLog",{err:e,vm:t,info:n,url:window.location.href}),console.error(e,n)})};var Ln=n("Mj6V"),An=n.n(Ln);n("pdi6");An.a.configure({showSpinner:!1});var Pn=["/login","/auth-redirect","/login-pleroma"];function Cn(e,t){return 1===e?e+t:e+t+"s"}function In(e){var t=Date.now()/1e3-Number(e);return t<3600?Cn(~~(t/60)," minute"):t<86400?Cn(~~(t/3600)," hour"):Cn(~~(t/86400)," day")}function Vn(e,t){for(var n=[{value:1e18,symbol:"E"},{value:1e15,symbol:"P"},{value:1e12,symbol:"T"},{value:1e9,symbol:"G"},{value:1e6,symbol:"M"},{value:1e3,symbol:"k"}],a=0;a<n.length;a++)if(e>=n[a].value)return(e/n[a].value+.1).toFixed(t).replace(/\.0+$|(\.[0-9]*[1-9])0+$/,"$1")+n[a].symbol;return e.toString()}function zn(e){return(+e||0).toString().replace(/^-?\d+/g,function(e){return e.replace(/(?=(?!\b)(\d{3})+$)/g,",")})}Ge.beforeEach(function(e,t,n){An.a.start(),Object(E.b)()?"/login"===e.path?(n({path:"/"}),An.a.done()):0===En.getters.roles.length?En.dispatch("GetUserInfo").then(function(t){var a=t.data.pleroma.is_admin?["admin"]:[];En.dispatch("GenerateRoutes",{roles:a}).then(function(){Ge.addRoutes(En.getters.addRouters),n(x()({},e,{replace:!0}))})}).catch(function(e){En.dispatch("FedLogOut").then(function(){s.Message.error(e),n({path:"/"})})}):function(e,t){return e.indexOf("admin")>=0||!t||e.some(function(e){return t.indexOf(e)>=0})}(En.getters.roles,e.meta.roles)?n():n({path:"/401",replace:!0,query:{noGoBack:!0}}):-1!==Pn.indexOf(e.path)?n():(n("/login?redirect=".concat(e.path)),An.a.done())}),Ge.afterEach(function(){An.a.done()}),r.default.use(c.a,{size:o.a.get("size")||"medium",i18n:function(e,t){return Sn.a.t(e,t)}}),Object.keys(a).forEach(function(e){r.default.filter(e,a[e])}),r.default.config.productionTip=!1,new r.default({el:"#app",router:Ge,store:En,i18n:Sn.a,render:function(e){return e(p)}})},X4fA:function(e,t,n){"use strict";n.d(t,"b",function(){return s}),n.d(t,"f",function(){return c}),n.d(t,"d",function(){return u}),n.d(t,"a",function(){return l}),n.d(t,"e",function(){return d}),n.d(t,"c",function(){return p});var a=n("p46w"),r=n.n(a),i="Admin-Token",o="Auth-Host";function s(){return r.a.get(i)}function c(e){return r.a.set(i,e)}function u(){return r.a.remove(i)}function l(){return r.a.get(o)}function d(e){return r.a.set(o,e)}function p(){return r.a.remove(o)}},Xb1Q:function(e,t,n){"use strict";var a=n("86pr");n.n(a).a},Xm3t:function(e,t,n){},Yymj:function(e,t,n){"use strict";var a=n("jf83");n.n(a).a},"Z+gY":function(e,t,n){"use strict";var a=n("Kcm3");n.n(a).a},ZZmv:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-excel",use:"icon-excel-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-excel"><path d="M78.208 16.576v8.384h38.72v5.376h-38.72v8.704h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.512h38.72v5.376h-38.72v11.136H128v-94.72H78.208zM0 114.368L72.128 128V0L0 13.632v100.736z" /><path d="M28.672 82.56h-11.2l14.784-23.488-14.08-22.592h11.52l8.192 14.976 8.448-14.976h11.136l-14.08 22.208L58.368 82.56H46.656l-8.768-15.68z" /></symbol>'});o.a.add(s);t.default=s},ZoO1:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-guide",use:"icon-guide-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-guide"><path d="M1.482 70.131l36.204 16.18 69.932-65.485-61.38 70.594 46.435 18.735c1.119.425 2.397-.17 2.797-1.363v-.085L127.998.047 1.322 65.874c-1.12.597-1.519 1.959-1.04 3.151.32.511.72.937 1.2 1.107zm44.676 57.821L64.22 107.26l-18.062-7.834v28.527z" /></symbol>'});o.a.add(s);t.default=s},bndD:function(e,t,n){"use strict";var a=n("y+Q6");n.n(a).a},cIpu:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-star",use:"icon-star-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-star"><path d="M70.66 4.328l14.01 29.693c1.088 2.29 3.177 3.882 5.603 4.25l31.347 4.76c6.087.926 8.528 8.756 4.117 13.247L103.05 79.395c-1.75 1.78-2.544 4.352-2.132 6.867l5.352 32.641c1.043 6.337-5.33 11.182-10.778 8.19l-28.039-15.409a7.13 7.13 0 0 0-6.91 0l-28.039 15.41c-5.448 2.99-11.821-1.854-10.777-8.19l5.352-32.642c.415-2.515-.387-5.088-2.136-6.867L2.264 56.278C-2.146 51.787.286 43.957 6.38 43.031l31.343-4.76c2.419-.368 4.51-1.96 5.595-4.25L57.334 4.328c2.728-5.77 10.605-5.77 13.325 0z" /></symbol>'});o.a.add(s);t.default=s},gNoN:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-wechat",use:"icon-wechat-usage",viewBox:"0 0 128 110",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 110" id="icon-wechat"><path d="M86.635 33.334c1.467 0 2.917.113 4.358.283C87.078 14.392 67.58.111 45.321.111 20.44.111.055 17.987.055 40.687c0 13.104 6.781 23.863 18.115 32.209l-4.527 14.352 15.82-8.364c5.666 1.182 10.207 2.395 15.858 2.395 1.42 0 2.829-.073 4.227-.189-.886-3.19-1.398-6.53-1.398-9.996 0-20.845 16.98-37.76 38.485-37.76zm-24.34-12.936c3.407 0 5.665 2.363 5.665 5.954 0 3.576-2.258 5.97-5.666 5.97-3.392 0-6.795-2.395-6.795-5.97 0-3.591 3.403-5.954 6.795-5.954zM30.616 32.323c-3.393 0-6.818-2.395-6.818-5.971 0-3.591 3.425-5.954 6.818-5.954 3.392 0 5.65 2.363 5.65 5.954 0 3.576-2.258 5.97-5.65 5.97z" /><path d="M127.945 70.52c0-19.075-18.108-34.623-38.448-34.623-21.537 0-38.5 15.548-38.5 34.623 0 19.108 16.963 34.622 38.5 34.622 4.508 0 9.058-1.2 13.584-2.395l12.414 7.167-3.404-11.923c9.087-7.184 15.854-16.712 15.854-27.471zm-50.928-5.97c-2.254 0-4.53-2.362-4.53-4.773 0-2.378 2.276-4.771 4.53-4.771 3.422 0 5.665 2.393 5.665 4.771 0 2.41-2.243 4.773-5.665 4.773zm24.897 0c-2.24 0-4.498-2.362-4.498-4.773 0-2.378 2.258-4.771 4.498-4.771 3.392 0 5.665 2.393 5.665 4.771 0 2.41-2.273 4.773-5.665 4.773z" /></symbol>'});o.a.add(s);t.default=s},hkRB:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-size",use:"icon-size-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-size"><path d="M0 54.857h54.796v18.286H36.531V128H18.265V73.143H0V54.857zm127.857-36.571H91.935V128H72.456V18.286H36.534V0h91.326l-.003 18.286z" /></symbol>'});o.a.add(s);t.default=s},iqZD:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-zip",use:"icon-zip-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-zip"><path d="M78.527 116.793c.178.008.348.024.527.024h40.233c4.711-.005 8.53-3.677 8.534-8.21V18.895c-.004-4.532-3.823-8.204-8.534-8.209H79.054c-.179 0-.353.016-.527.024V0L0 10.082v107.406l78.527 10.342v-11.037zm0-101.362c.174-.024.348-.052.527-.052h40.233c2.018 0 3.659 1.578 3.659 3.52v89.713c-.003 1.942-1.64 3.517-3.659 3.519H79.054c-.179 0-.353-.028-.527-.052V15.431zM30.262 75.757l-18.721-.46V72.37l11.3-16.673v-.148l-10.266.164v-4.51l17.504-.44v3.264L18.696 70.76v.144l11.566.176v4.678zm9.419.231l-5.823-.144V50.671l5.823-.144v25.461zm22.255-11.632c-2.168 1.922-5.353 2.76-9.02 2.736-.702.004-1.402-.04-2.097-.131v9.303l-5.997-.148V50.743c1.852-.352 4.473-.647 8.218-.743 3.838-.096 6.608.539 8.48 1.913 1.807 1.306 3.032 3.5 3.032 6.112s-.926 4.833-2.612 6.331h-.004zM53.36 54.45c-.856-.01-1.71.083-2.541.275v7.682c.523.116 1.167.152 2.06.152 3.301-.004 5.36-1.614 5.36-4.314 0-2.425-1.772-3.843-4.875-3.791l-.004-.004zm39.847-37.066h9.564v3.795h-9.564v-3.795zm-9.568 5.68h9.564v3.8h-9.564v-3.8zm9.568 6.216h9.564v3.799h-9.564V29.28zm0 12h9.564v3.794h-9.564V41.28zm-9.568-6.096h9.564v3.795h-9.564v-3.795zm9.472 47.064c2.512 0 4.921-.96 6.697-2.67 1.776-1.708 2.773-4.026 2.772-6.442l-1.748-15.263c0-5.033-2.492-9.112-7.725-9.112-5.232 0-7.72 4.079-7.72 9.112l-1.752 15.263c-.001 2.417.996 4.735 2.773 6.444 1.777 1.71 4.187 2.669 6.7 2.668h.003zm-3.135-16.75h6.27v12.743h-6.27V65.5z" /></symbol>'});o.a.add(s);t.default=s},j7e1:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-tab",use:"icon-tab-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-tab"><path d="M78.921.052H49.08c-1.865 0-3.198 1.599-3.198 3.464v6.661c0 1.865 1.6 3.464 3.198 3.464h29.84c1.865 0 3.198-1.599 3.198-3.464V3.516C82.385 1.65 80.786.052 78.92.052zm45.563 0H94.642c-1.865 0-3.464 1.599-3.464 3.464v6.661c0 1.865 1.599 3.464 3.464 3.464h29.842c1.865-.266 3.464-1.599 3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464zm0 22.382H40.02c-1.866 0-3.464-1.599-3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464H3.516C1.65.052.052 1.651.052 3.516V124.75c0 1.598 1.599 3.197 3.464 3.197h120.968c1.865 0 3.464-1.599 3.464-3.464V25.898c0-1.865-1.599-3.464-3.464-3.464z" /></symbol>'});o.a.add(s);t.default=s},jf83:function(e,t,n){},jo2x:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-search",use:"icon-search-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-search"><path d="M124.884 109.812L94.256 79.166c-.357-.357-.757-.629-1.129-.914a50.366 50.366 0 0 0 8.186-27.59C101.327 22.689 78.656 0 50.67 0 22.685 0 0 22.688 0 50.663c0 27.989 22.685 50.663 50.656 50.663 10.186 0 19.643-3.03 27.6-8.201.286.385.557.771.9 1.114l30.628 30.632a10.633 10.633 0 0 0 7.543 3.129c2.728 0 5.457-1.043 7.543-3.115 4.171-4.157 4.171-10.915.014-15.073M50.671 85.338C31.557 85.338 16 69.78 16 50.663c0-19.102 15.557-34.661 34.67-34.661 19.115 0 34.657 15.559 34.657 34.675 0 19.102-15.557 34.661-34.656 34.661" /></symbol>'});o.a.add(s);t.default=s},k80C:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-tree",use:"icon-tree-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-tree"><path d="M126.713 90.023c.858.985 1.287 2.134 1.287 3.447v29.553c0 1.423-.429 2.6-1.287 3.53-.858.93-1.907 1.395-3.146 1.395H97.824c-1.145 0-2.146-.465-3.004-1.395-.858-.93-1.287-2.107-1.287-3.53V93.47c0-.875.19-1.696.572-2.462.382-.766.906-1.368 1.573-1.806a3.84 3.84 0 0 1 2.146-.657h9.725V69.007a3.84 3.84 0 0 0-.43-1.806 3.569 3.569 0 0 0-1.143-1.313 2.714 2.714 0 0 0-1.573-.492h-36.47v23.149h9.725c1.144 0 2.145.492 3.004 1.478.858.985 1.287 2.134 1.287 3.447v29.553c0 .876-.191 1.696-.573 2.463-.38.766-.905 1.368-1.573 1.806a3.84 3.84 0 0 1-2.145.656H51.915a3.84 3.84 0 0 1-2.145-.656c-.668-.438-1.216-1.04-1.645-1.806a4.96 4.96 0 0 1-.644-2.463V93.47c0-1.313.43-2.462 1.288-3.447.858-.986 1.907-1.478 3.146-1.478h9.582v-23.15h-37.9c-.953 0-1.74.356-2.359 1.068-.62.711-.93 1.56-.93 2.544v19.538h9.726c1.239 0 2.264.492 3.074 1.478.81.985 1.216 2.134 1.216 3.447v29.553c0 1.423-.405 2.6-1.216 3.53-.81.93-1.835 1.395-3.074 1.395H4.29c-.476 0-.93-.082-1.358-.246a4.1 4.1 0 0 1-1.144-.657 4.658 4.658 0 0 1-.93-1.067 5.186 5.186 0 0 1-.643-1.395 5.566 5.566 0 0 1-.215-1.56V93.47c0-.437.048-.875.143-1.313a3.95 3.95 0 0 1 .429-1.15c.19-.328.429-.656.715-.984.286-.329.572-.602.858-.821.286-.22.62-.383 1.001-.493.382-.11.763-.164 1.144-.164h9.726V61.619c0-.985.31-1.833.93-2.544.619-.712 1.358-1.068 2.216-1.068h44.335V39.62h-9.582c-1.24 0-2.288-.492-3.146-1.477a5.09 5.09 0 0 1-1.287-3.448V5.14c0-1.423.429-2.627 1.287-3.612.858-.985 1.907-1.477 3.146-1.477h25.743c.763 0 1.478.246 2.145.739a5.17 5.17 0 0 1 1.573 1.888c.382.766.573 1.587.573 2.462v29.553c0 1.313-.43 2.463-1.287 3.448-.859.985-1.86 1.477-3.004 1.477h-9.725v18.389h42.762c.954 0 1.74.355 2.36 1.067.62.711.93 1.56.93 2.545v26.925h9.582c1.239 0 2.288.492 3.146 1.478z" /></symbol>'});o.a.add(s);t.default=s},kPu2:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-documentation",use:"icon-documentation-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-documentation"><path d="M71.984 44.815H115.9L71.984 9.642v35.173zM16.094.05h63.875l47.906 38.37v76.74c0 3.392-1.682 6.645-4.677 9.044-2.995 2.399-7.056 3.746-11.292 3.746H16.094c-4.236 0-8.297-1.347-11.292-3.746-2.995-2.399-4.677-5.652-4.677-9.044V12.84C.125 5.742 7.23.05 16.094.05zm71.86 102.32V89.58h-71.86v12.79h71.86zm23.952-25.58V64H16.094v12.79h95.812z" /></symbol>'});o.a.add(s);t.default=s},"m7++":function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-drag",use:"icon-drag-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-drag"><path d="M73.137 29.08h-9.209 29.7L63.886.093 34.373 29.08h20.49v27.035H27.238v17.948h27.625v27.133h18.274V74.063h27.41V56.115h-27.41V29.08zm-9.245 98.827l27.518-26.711H36.59l27.302 26.71zM.042 64.982l27.196 27.029V38.167L.042 64.982zm100.505-26.815V92.01l27.41-27.029-27.41-26.815z" /></symbol>'});o.a.add(s);t.default=s},mSHS:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-fullscreen",use:"icon-fullscreen-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-fullscreen"><path d="M38.47 52L52 38.462l-23.648-23.67L43.209 0H.035L0 43.137l14.757-14.865L38.47 52zm74.773 47.726L89.526 76 76 89.536l23.648 23.672L84.795 128h43.174L128 84.863l-14.757 14.863zM89.538 52l23.668-23.648L128 43.207V.038L84.866 0 99.73 14.76 76 38.472 89.538 52zM38.46 76L14.792 99.651 0 84.794v43.173l43.137.033-14.865-14.757L52 89.53 38.46 76z" /></symbol>'});o.a.add(s);t.default=s},mSNy:function(e,t,n){"use strict";var a=n("MVZn"),r=n.n(a),i=n("Kw5r"),o=n("qSUR"),s=n("p46w"),c=n.n(s),u=n("stYL"),l=n.n(u),d=n("8NkQ"),p=n.n(d),m=n("PtZe"),h=n.n(m);i.default.use(o.a);var f={en:r()({},{route:{dashboard:"Dashboard",introduction:"Introduction",documentation:"Documentation",guide:"Guide",permission:"Permission",pagePermission:"Page Permission",directivePermission:"Directive Permission",icons:"Icons",components:"Components",componentIndex:"Introduction",tinymce:"Tinymce",markdown:"Markdown",jsonEditor:"JSON Editor",dndList:"Dnd List",splitPane:"SplitPane",avatarUpload:"Avatar Upload",dropzone:"Dropzone",sticky:"Sticky",countTo:"CountTo",componentMixin:"Mixin",backToTop:"BackToTop",dragDialog:"Drag Dialog",dragSelect:"Drag Select",dragKanban:"Drag Kanban",charts:"Charts",keyboardChart:"Keyboard Chart",lineChart:"Line Chart",mixChart:"Mix Chart",example:"Example",nested:"Nested Routes",menu1:"Menu 1","menu1-1":"Menu 1-1","menu1-2":"Menu 1-2","menu1-2-1":"Menu 1-2-1","menu1-2-2":"Menu 1-2-2","menu1-3":"Menu 1-3",menu2:"Menu 2",Table:"Table",dynamicTable:"Dynamic Table",dragTable:"Drag Table",inlineEditTable:"Inline Edit",complexTable:"Complex Table",treeTable:"Tree Table",customTreeTable:"Custom TreeTable",tab:"Tab",form:"Form",createArticle:"Create Article",editArticle:"Edit Article",articleList:"Article List",errorPages:"Error Pages",page401:"401",page404:"404",errorLog:"Error Log",excel:"Excel",exportExcel:"Export Excel",selectExcel:"Export Selected",uploadExcel:"Upload Excel",zip:"Zip",pdf:"PDF",exportZip:"Export Zip",theme:"Theme",clipboardDemo:"Clipboard",i18n:"I18n",externalLink:"External Link",users:"Users",reports:"Reports",settings:"Settings",moderationLog:"Moderation Log","emoji-packs":"Emoji packs"},navbar:{logOut:"Log Out",dashboard:"Dashboard",github:"Github",theme:"Theme",size:"Global Size"},login:{title:"Login Form",logIn:"Log in",logInViaPleromaFE:"Log in via PleromaFE",username:"username@host",password:"password",omitHostname:"omit hostname if Pleroma is located on this domain",errorMessage:"Username must contain username and host, e.g. john@pleroma.social",any:"any",thirdparty:"Or connect with",pleromaFELoginFailed:"Failed to login via PleromaFE, please login with username/password",pleromaFELoginSucceed:"Logged in via PleromaFE"},documentation:{documentation:"Documentation",github:"Github Repository"},permission:{roles:"Your roles",switchRoles:"Switch roles",tips:"In some cases it is not suitable to use v-permission, such as element Tab component or el-table-column and other asynchronous rendering dom cases which can only be achieved by manually setting the v-if."},guide:{description:"The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ",button:"Show Guide"},components:{documentation:"Documentation",tinymceTips:"Rich text editor is a core part of management system, but at the same time is a place with lots of problems. In the process of selecting rich texts, I also walked a lot of detours. The common rich text editors in the market are basically used, and the finally chose Tinymce. See documentation for more detailed rich text editor comparisons and introductions.",dropzoneTips:"Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/Dropzone.",stickyTips:"when the page is scrolled to the preset position will be sticky on the top.",backToTopTips1:"When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner",backToTopTips2:"You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally",imageUploadTips:"Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version."},table:{dynamicTips1:"Fixed header, sorted by header order",dynamicTips2:"Not fixed header, sorted by click order",dragTips1:"The default order",dragTips2:"The after dragging order",title:"Title",importance:"Imp",type:"Type",remark:"Remark",search:"Search",add:"Add",export:"Export",reviewer:"reviewer",id:"ID",date:"Date",author:"Author",readings:"Readings",status:"Status",actions:"Actions",edit:"Edit",publish:"Publish",draft:"Draft",delete:"Delete",cancel:"Cancel",confirm:"Confirm"},errorLog:{tips:"Please click the bug icon in the upper right corner",description:"Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.",documentation:"Document introduction"},excel:{export:"Export",selectedExport:"Export Selected Items",placeholder:"Please enter the file name(default excel-list)"},zip:{export:"Export",placeholder:"Please enter the file name(default file)"},pdf:{tips:"Here we use window.print() to implement the feature of downloading pdf."},theme:{change:"Change Theme",documentation:"Theme documentation",tips:"Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details."},tagsView:{refresh:"Refresh",close:"Close",closeOthers:"Close Others",closeAll:"Close All"},users:{users:"Users",localUsersOnly:"Local users only",search:"Search",id:"ID",name:"Name",status:"Status",local:"local",external:"external",deactivated:"deactivated",active:"active",actions:"Actions",activate:"Activate",deactivate:"Deactivate",admin:"admin",moderator:"moderator",moderation:"Moderation",revokeAdmin:"Revoke Admin",grantAdmin:"Grant Admin",revokeModerator:"Revoke Moderator",grantModerator:"Grant Moderator",activateAccount:"Activate Account",activateAccounts:"Activate Accounts",deactivateAccount:"Deactivate Account",deactivateAccounts:"Deactivate Accounts",deleteAccount:"Delete Account",deleteAccounts:"Delete Accounts",forceNsfw:"Force posts to be NSFW",stripMedia:"Force posts not to have media",forceUnlisted:"Force posts to be unlisted",sandbox:"Force posts to be followers-only",disableRemoteSubscription:"Disallow following user from remote instances",disableRemoteSubscriptionForMultiple:"Disallow following users from remote instances",disableAnySubscription:"Disallow following user at all",disableAnySubscriptionForMultiple:"Disallow following users at all",requirePasswordReset:"Require password reset on next login",selectUsers:"Select users to apply actions to multiple users",moderateUsers:"Moderate multiple users",createAccount:"Create new account",apply:"apply",remove:"remove",grantRightConfirmation:"Are you sure you want to grant {right} rights to all selected users?",revokeRightConfirmation:"Are you sure you want to revoke {right} rights from all selected users?",activateMultipleUsersConfirmation:"Are you sure you want to activate accounts of all selected users?",deactivateMultipleUsersConfirmation:"Are you sure you want to deactivate accounts of all selected users?",deleteMultipleUsersConfirmation:"Are you sure you want to delete accounts of all selected users?",addTagForMultipleUsersConfirmation:"Are you sure you want to apply tag to all selected users?",removeTagFromMultipleUsersConfirmation:"Are you sure you want to remove tag from all selected users?",requirePasswordResetConfirmation:"Are you sure you want to require password reset for all selected users?",mailerMustBeEnabled:"To require user's password reset you must enable mailer.",ok:"Okay",completed:"Completed",cancel:"Cancel",canceled:"Canceled",username:"Username",email:"E-mail",password:"Password",create:"Create",submitFormError:"There are invalid values in the form. Please fix them before continuing.",emptyEmailError:"Please input the e-mail",invalidEmailError:"Please input valid e-mail",emptyPasswordError:"Please input the password",emptyNicknameError:"Please input the username",invalidNicknameError:'Username can include "a-z", "A-Z" and "0-9" characters',getPasswordResetToken:"Get password reset token",passwordResetTokenCreated:"Password reset token was created",accountCreated:"New account was created!"},userProfile:{tags:"Tags",moderator:"Moderator",admin:"Admin",local:"Local",nickname:"Nickname",deactivated:"Deactivated",recentStatuses:"Recent Statues",showPrivateStatuses:"Show private statuses"},usersFilter:{inputPlaceholder:"Select filter",byUserType:"By user type",local:"Local",external:"External",byStatus:"By status",active:"Active",deactivated:"Deactivated"},reports:{reports:"Reports",reply:"Reply",from:"From",showNotes:"Show notes",newNote:"New note",submit:"Submit",confirmMsg:"Are you sure you want to delete this note?",delete:"Delete",cancel:"Cancel",deleteCompleted:"Delete comleted",deleteCanceled:"Delete canceled",noNotes:"No notes to display",changeState:"Change report state",changeScope:"Change scope",moderateUser:"Moderate user",resolve:"Resolve",reopen:"Reopen",close:"Close",addSensitive:"Add Sensitive flag",removeSensitive:"Remove Sensitive flag",public:"Make status public",private:"Make status private",unlisted:"Make status unlisted",sensitive:"Sensitive",deleteStatus:"Delete status"},reportsFilter:{inputPlaceholder:"Select filter",open:"Open",closed:"Closed",resolved:"Resolved"},moderationLog:{moderationLog:"Moderation Log"},settings:{settings:"Settings",instance:"Instance",upload:"Upload",mailer:"Mailer",logger:"Logger",activityPub:"ActivityPub",auth:"Authentication",autoLinker:"Auto Linker",captcha:"Captcha",frontend:"Frontend",http:"HTTP",mrf:"MRF",mediaProxy:"Media Proxy",metadata:"Metadata",gopher:"Gopher",endpoint:"Endpoint",jobQueue:"Job queue",webPush:"Web push encryption",esshd:"BBS / SSH access",rateLimiters:"Rate limiters",database:"Database",other:"Other",success:"Settings changed successfully!"},invites:{inviteTokens:"Invite tokens",createInviteToken:"Generate invite token",pickDate:"Pick a date",maxUse:"Max use",expiresAt:"Expires at",tokenCreated:"Invite token was created",token:"Token",uses:"Uses",used:"Used",cancel:"Cancel",create:"Create",revoke:"Revoke",id:"ID",actions:"Actions",active:"Active",inviteUserViaEmail:"Invite user via email",sendRegistration:"Send registration invite via email",email:"Email",name:"Name",emptyEmailError:"Please input the e-mail",invalidEmailError:"Please input valid e-mail",emailSent:"Invite was sent",submitFormError:"There are invalid values in the form. Please fix them before continuing.",inviteViaEmailAlert:"To send invite via email make sure to enable `invites_enabled` and disable `registrations_open`"}},l.a),zh:r()({},{route:{dashboard:"首页",introduction:"简述",documentation:"文档",guide:"引导页",permission:"权限测试页",pagePermission:"页面权限",directivePermission:"指令权限",icons:"图标",components:"组件",componentIndex:"介绍",tinymce:"富文本编辑器",markdown:"Markdown",jsonEditor:"JSON编辑器",dndList:"列表拖拽",splitPane:"Splitpane",avatarUpload:"头像上传",dropzone:"Dropzone",sticky:"Sticky",countTo:"CountTo",componentMixin:"小组件",backToTop:"返回顶部",dragDialog:"拖拽 Dialog",dragSelect:"拖拽 Select",dragKanban:"可拖拽看板",charts:"图表",keyboardChart:"键盘图表",lineChart:"折线图",mixChart:"混合图表",example:"综合实例",nested:"路由嵌套",menu1:"菜单1","menu1-1":"菜单1-1","menu1-2":"菜单1-2","menu1-2-1":"菜单1-2-1","menu1-2-2":"菜单1-2-2","menu1-3":"菜单1-3",menu2:"菜单2",Table:"Table",dynamicTable:"动态Table",dragTable:"拖拽Table",inlineEditTable:"Table内编辑",complexTable:"综合Table",treeTable:"树形表格",customTreeTable:"自定义树表",tab:"Tab",form:"表单",createArticle:"创建文章",editArticle:"编辑文章",articleList:"文章列表",errorPages:"错误页面",page401:"401",page404:"404",errorLog:"错误日志",excel:"Excel",exportExcel:"Export Excel",selectExcel:"Export Selected",uploadExcel:"Upload Excel",zip:"Zip",pdf:"PDF",exportZip:"Export Zip",theme:"换肤",clipboardDemo:"Clipboard",i18n:"国际化",externalLink:"外链"},navbar:{logOut:"退出登录",dashboard:"首页",github:"项目地址",theme:"换肤",size:"布局大小"},login:{title:"系统登录",logIn:"登录",username:"账号",password:"密码",any:"随便填",thirdparty:"第三方登录",thirdpartyTips:"本地不能模拟,请结合自己业务进行模拟!!!"},documentation:{documentation:"文档",github:"Github 地址"},permission:{roles:"你的权限",switchRoles:"切换权限",tips:"在某些情况下,不适合使用 v-permission。例如:Element-UI 的 Tab 组件或 el-table-column 以及其它动态渲染 dom 的场景。你只能通过手动设置 v-if 来实现。"},guide:{description:"引导页对于一些第一次进入项目的人很有用,你可以简单介绍下项目的功能。本 Demo 是基于",button:"打开引导"},components:{documentation:"文档",tinymceTips:"富文本是管理后台一个核心的功能,但同时又是一个有很多坑的地方。在选择富文本的过程中我也走了不少的弯路,市面上常见的富文本都基本用过了,最终权衡了一下选择了Tinymce。更详细的富文本比较和介绍见",dropzoneTips:"由于我司业务有特殊需求,而且要传七牛 所以没用第三方,选择了自己封装。代码非常的简单,具体代码你可以在这里看到 @/components/Dropzone",stickyTips:"当页面滚动到预设的位置会吸附在顶部",backToTopTips1:"页面滚动到指定位置会在右下角出现返回顶部按钮",backToTopTips2:"可自定义按钮的样式、show/hide、出现的高度、返回的位置 如需文字提示,可在外部使用Element的el-tooltip元素",imageUploadTips:"由于我在使用时它只有vue@1版本,而且和mockjs不兼容,所以自己改造了一下,如果大家要使用的话,优先还是使用官方版本。"},table:{dynamicTips1:"固定表头, 按照表头顺序排序",dynamicTips2:"不固定表头, 按照点击顺序排序",dragTips1:"默认顺序",dragTips2:"拖拽后顺序",title:"标题",importance:"重要性",type:"类型",remark:"点评",search:"搜索",add:"添加",export:"导出",reviewer:"审核人",id:"序号",date:"时间",author:"作者",readings:"阅读数",status:"状态",actions:"操作",edit:"编辑",publish:"发布",draft:"草稿",delete:"删除",cancel:"取 消",confirm:"确 定"},errorLog:{tips:"请点击右上角bug小图标",description:"现在的管理后台基本都是spa的形式了,它增强了用户体验,但同时也会增加页面出问题的可能性,可能一个小小的疏忽就导致整个页面的死锁。好在 Vue 官网提供了一个方法来捕获处理异常,你可以在其中进行错误处理或者异常上报。",documentation:"文档介绍"},excel:{export:"导出",selectedExport:"导出已选择项",placeholder:"请输入文件名(默认excel-list)"},zip:{export:"导出",placeholder:"请输入文件名(默认file)"},pdf:{tips:"这里使用 window.print() 来实现下载pdf的功能"},theme:{change:"换肤",documentation:"换肤文档",tips:"Tips: 它区别于 navbar 上的 theme-pick, 是两种不同的换肤方法,各自有不同的应用场景,具体请参考文档。"},tagsView:{refresh:"刷新",close:"关闭",closeOthers:"关闭其它",closeAll:"关闭所有"}},p.a),es:r()({},{route:{dashboard:"Panel de control",introduction:"Introducción",documentation:"Documentación",guide:"Guía",permission:"Permisos",pagePermission:"Permisos de la página",directivePermission:"Permisos de la directiva",icons:"Iconos",components:"Componentes",componentIndex:"Introducción",tinymce:"Tinymce",markdown:"Markdown",jsonEditor:"Editor JSON",dndList:"Lista Dnd",splitPane:"Panel dividido",avatarUpload:"Subir avatar",dropzone:"Subir ficheros",sticky:"Sticky",countTo:"CountTo",componentMixin:"Mixin",backToTop:"Ir arriba",dragDialog:"Drag Dialog",dragSelect:"Drag Select",dragKanban:"Drag Kanban",charts:"Gráficos",keyboardChart:"Keyboard Chart",lineChart:"Gráfico de líneas",mixChart:"Mix Chart",example:"Ejemplo",nested:"Rutas anidadass",menu1:"Menu 1","menu1-1":"Menu 1-1","menu1-2":"Menu 1-2","menu1-2-1":"Menu 1-2-1","menu1-2-2":"Menu 1-2-2","menu1-3":"Menu 1-3",menu2:"Menu 2",Table:"Tabla",dynamicTable:"Tabla dinámica",dragTable:"Arrastrar tabla",inlineEditTable:"Editor",complexTable:"Complex Table",treeTable:"Tree Table",customTreeTable:"Custom TreeTable",tab:"Pestaña",form:"Formulario",createArticle:"Crear artículo",editArticle:"Editar artículo",articleList:"Listado de artículos",errorPages:"Páginas de error",page401:"401",page404:"404",errorLog:"Registro de errores",excel:"Excel",exportExcel:"Exportar a Excel",selectExcel:"Export seleccionado",uploadExcel:"Subir Excel",zip:"Zip",pdf:"PDF",exportZip:"Exportar a Zip",theme:"Tema",clipboardDemo:"Clipboard",i18n:"I18n",externalLink:"Enlace externo"},navbar:{logOut:"Salir",dashboard:"Panel de control",github:"Github",theme:"Tema",size:"Tamaño global"},login:{title:"Formulario de acceso",logIn:"Acceso",username:"Usuario",password:"Contraseña",any:"nada",thirdparty:"Conectar con",thirdpartyTips:"No se puede simular en local, así que combine su propia simulación de negocios. ! !"},documentation:{documentation:"Documentación",github:"Repositorio Github"},permission:{roles:"Tus permisos",switchRoles:"Cambiar permisos",tips:"In some cases it is not suitable to use v-permission, such as element Tab component or el-table-column and other asynchronous rendering dom cases which can only be achieved by manually setting the v-if."},guide:{description:"The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ",button:"Ver guía"},components:{documentation:"Documentación",tinymceTips:"Rich text editor is a core part of management system, but at the same time is a place with lots of problems. In the process of selecting rich texts, I also walked a lot of detours. The common rich text editors in the market are basically used, and the finally chose Tinymce. See documentation for more detailed rich text editor comparisons and introductions.",dropzoneTips:"Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/Dropzone.",stickyTips:"when the page is scrolled to the preset position will be sticky on the top.",backToTopTips1:"When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner",backToTopTips2:"You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally",imageUploadTips:"Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version."},table:{dynamicTips1:"Fixed header, sorted by header order",dynamicTips2:"Not fixed header, sorted by click order",dragTips1:"Orden por defecto",dragTips2:"The after dragging order",title:"Título",importance:"Importancia",type:"Tipo",remark:"Remark",search:"Buscar",add:"Añadir",export:"Exportar",reviewer:"reviewer",id:"ID",date:"Fecha",author:"Autor",readings:"Lector",status:"Estado",actions:"Acciones",edit:"Editar",publish:"Publicar",draft:"Draft",delete:"Eliminar",cancel:"Cancelar",confirm:"Confirmar"},errorLog:{tips:"Please click the bug icon in the upper right corner",description:"Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.",documentation:"Documento de introducción"},excel:{export:"Exportar",selectedExport:"Exportar seleccionados",placeholder:"Por favor escribe un nombre de fichero"},zip:{export:"Exportar",placeholder:"Por favor escribe un nombre de fichero"},pdf:{tips:"Here we use window.print() to implement the feature of downloading pdf."},theme:{change:"Cambiar tema",documentation:"Documentación del tema",tips:"Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details."},tagsView:{refresh:"Actualizar",close:"Cerrar",closeOthers:"Cerrar otros",closeAll:"Cerrar todos"}},h.a),oc:r()({},{route:{dashboard:"Tablèu de bòrd",introduction:"Introduccion",documentation:"Documentacion",guide:"Guida",permission:"Autorizacions",pagePermission:"Pagina d’autorizacion",directivePermission:"Politica d’autorizacion",icons:"Icònas",components:"Compausants",componentIndex:"Introduccion",tinymce:"Tinymce",markdown:"Markdown",jsonEditor:"JSON Editor",dndList:"Dnd List",splitPane:"SplitPane",avatarUpload:"Mandadís d’avatar",dropzone:"Dropzone",sticky:"Sticky",countTo:"CountTo",componentMixin:"Mixin",backToTop:"BackToTop",dragDialog:"Drag Dialog",dragSelect:"Drag Select",dragKanban:"Drag Kanban",charts:"Charts",keyboardChart:"Keyboard Chart",lineChart:"Line Chart",mixChart:"Mix Chart",example:"Exemple",nested:"Rotas imbricadas",menu1:"Menú 1","menu1-1":"Menu 1-1","menu1-2":"Menu 1-2","menu1-2-1":"Menu 1-2-1","menu1-2-2":"Menu 1-2-2","menu1-3":"Menu 1-3",menu2:"Menú 2",Table:"Tablèu",dynamicTable:"Tablèu dinamic",dragTable:"Drag Table",inlineEditTable:"Inline Edit",complexTable:"Tablèu complèx",treeTable:"Arborescéncia",customTreeTable:"Arborescéncia personalizada",tab:"Onglet",form:"Formulari",createArticle:"Crear un article",editArticle:"Modificar l’article",articleList:"Lista d’articles",errorPages:"Paginas d’error",page401:"401",page404:"404",errorLog:"Jornal d’error",excel:"Excel",exportExcel:"Exportacion Excel",selectExcel:"Exportar los seleccionats",uploadExcel:"Importacion Excel",zip:"Zip",pdf:"PDF",exportZip:"Exportacion Zip",theme:"Tèma",clipboardDemo:"Clipboard",i18n:"I18n",externalLink:"Ligams extèrnes",users:"Utilizaires"},navbar:{logOut:"Desconnexion",dashboard:"Tablèu de bòrd",github:"Github",theme:"Tèma",size:"Talha totala"},login:{title:"Formulari de connexion",logIn:"Se connectar",username:"Nom d’’utilizaire",password:"Senhal",any:"qual que siá",thirdparty:"O se connectar amb",thirdpartyTips:"Pòt pas èsser simulat en local, doncas montatz vòstra pròpria simulacion ! ! !"},documentation:{documentation:"Documentacion",github:"Repertòri Github"},permission:{roles:"Vòstres ròtles",switchRoles:"Cambiar de ròtle",tips:"Dins qualques cases es pas de bon far d’utilizar v-permission, coma element d’onglet compausant, el-table-column o d’autres renduts dom asincròns que pòdon pas que foncionar amb un parametratge manual de v-if."},guide:{description:"La pagina de guida es utila pel monde que dintran dins lo projècte pel primièr còp. Podètz presentar en un mot las foncionalitats del projèctes. La demo es fondada sus ",button:"Mostrar la guida"},components:{documentation:"Documentacion",tinymceTips:"Rich text editor is a core part of management system, but at the same time is a place with lots of problems. In the process of selecting rich texts, I also walked a lot of detours. The common rich text editors in the market are basically used, and the finally chose Tinymce. See documentation for more detailed rich text editor comparisons and introductions.",dropzoneTips:"Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/Dropzone.",stickyTips:"when the page is scrolled to the preset position will be sticky on the top.",backToTopTips1:"When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner",backToTopTips2:"You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally",imageUploadTips:"Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version."},table:{dynamicTips1:"Bandièra fixa, triada per òrdre de bandièra",dynamicTips2:"Bandièra pas fixa, triada per òrdre de clic",dragTips1:"L’’òrdre per defaut",dragTips2:"L’’òrdre aprèp lisar-depausar",title:"Títol",importance:"Imp",type:"Tipe",remark:"Remarca",search:"Recercar",add:"Ajustar",export:"Exportar",reviewer:"examinator",id:"ID",date:"Data",author:"Autor",readings:"Lecturas",status:"Estatuts",actions:"Accions",edit:"Modificar",publish:"Publicar",draft:"Ensag",delete:"Suprimir",cancel:"Anullar",confirm:"Confirmar"},errorLog:{tips:"Mercés de clicar l’’icòna del babau amont a man drecha",description:"Ara que lo sistèma de gestion es coma un spa, melhora l’experiéncia dels utilizaire mas aumenta tanben lo risc de problèmas sus la pagina, una pichona negligéncia pòt menar a un blocatge complèt de la pagina. Urosament Vue fornís de manièras per gerir las excepcions, trobar las errors o senhalar las excepcions.",documentation:"Presentacion del document"},excel:{export:"Exportar",selectedExport:"Exportar los elements seleccionats",placeholder:"Mercés de picar lo nom de fichièr (per defaut excel-list)"},zip:{export:"Exportar",placeholder:"Mercés de picar lo nom de fichièr (per defaut file)"},pdf:{tips:"Aquí utilizam window.print() per prepausar lo telecargament de pdf."},theme:{change:"Cambiar lo tèma",documentation:"Documentacion dels tèmas",tips:"Astúcia : es diferent del theme-pick de la barra de navigacion, i a dos metòdes de personalizacion, caduna amb un biais de far diferent. Referiscam a la documentacion per mai de detalhs."},tagsView:{refresh:"Actualizar",close:"Tampar",closeOthers:"Tampar los autres",closeAll:"Los tampar totes"}})},g=new o.a({locale:c.a.get("language")||"en",messages:f});t.a=g},nZHn:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-icon",use:"icon-icon-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-icon"><path d="M115.147.062a13 13 0 0 1 4.94.945c1.55.63 2.907 1.526 4.069 2.688a13.148 13.148 0 0 1 2.761 4.069c.678 1.55 1.017 3.245 1.017 5.086v102.3c0 3.681-1.187 6.733-3.56 9.155-2.373 2.422-5.352 3.633-8.937 3.633H12.992c-3.875 0-7-1.26-9.373-3.779-2.373-2.518-3.56-5.667-3.56-9.445V12.704c0-3.39 1.163-6.345 3.488-8.863C5.872 1.32 8.972.062 12.847.062h102.3zM81.434 109.047c1.744 0 3.003-.412 3.778-1.235.775-.824 1.163-1.914 1.163-3.27 0-1.26-.388-2.325-1.163-3.197-.775-.872-2.034-1.307-3.778-1.307H72.57c.097-.194.145-.485.145-.872V27.09h9.01c1.743 0 2.954-.436 3.633-1.308.678-.872 1.017-1.938 1.017-3.197 0-1.26-.34-2.325-1.017-3.197-.679-.872-1.89-1.308-3.633-1.308H46.268c-1.743 0-2.954.436-3.632 1.308-.678.872-1.018 1.938-1.018 3.197 0 1.26.34 2.325 1.018 3.197.678.872 1.889 1.308 3.632 1.308h8.138v72.075c0 .193.024.339.073.436.048.096.072.242.072.436H46.56c-1.744 0-3.003.435-3.778 1.307-.775.872-1.163 1.938-1.163 3.197 0 1.356.388 2.446 1.163 3.27.775.823 2.034 1.235 3.778 1.235h34.875z" /></symbol>'});o.a.add(s);t.default=s},oUrx:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-404",use:"icon-404-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-404"><path d="M121.718 73.272v9.953c3.957-7.584 6.199-16.05 6.199-24.995C127.917 26.079 99.273 0 63.958 0 28.644 0 0 26.079 0 58.23c0 .403.028.806.028 1.21l22.97-25.953h13.34l-19.76 27.187h6.42V53.77l13.728-19.477v49.361H22.998V73.272H2.158c5.951 20.284 23.608 36.208 45.998 41.399-1.44 3.3-5.618 11.263-12.565 12.674-8.607 1.764 23.358.428 46.163-13.178 17.519-4.611 31.938-15.849 39.77-30.513h-13.506V73.272H85.02V59.464l22.998-25.977h13.008l-19.429 27.187h6.421v-7.433l13.727-19.402v39.433h-.027zm-78.24 2.822a10.516 10.516 0 0 1-.996-4.535V44.548c0-1.613.332-3.124.996-4.535a11.66 11.66 0 0 1 2.713-3.68c1.134-1.032 2.49-1.864 4.04-2.468 1.55-.605 3.21-.908 4.982-.908h11.292c1.77 0 3.431.303 4.981.908 1.522.604 2.85 1.41 3.986 2.418l-12.26 16.303v-2.898a1.96 1.96 0 0 0-.665-1.512c-.443-.403-.996-.604-1.66-.604-.665 0-1.218.201-1.661.604a1.96 1.96 0 0 0-.664 1.512v9.071L44.364 77.606a10.556 10.556 0 0 1-.886-1.512zm35.73-4.535c0 1.613-.332 3.124-.997 4.535a11.66 11.66 0 0 1-2.712 3.68c-1.134 1.032-2.49 1.864-4.04 2.469-1.55.604-3.21.907-4.982.907H55.185c-1.77 0-3.431-.303-4.981-.907-1.55-.605-2.906-1.437-4.041-2.47a12.49 12.49 0 0 1-1.384-1.512l13.727-18.217v6.375c0 .605.222 1.109.665 1.512.442.403.996.604 1.66.604.664 0 1.218-.201 1.66-.604a1.96 1.96 0 0 0 .665-1.512V53.87L75.97 36.838c.913.932 1.66 1.99 2.214 3.175.664 1.41.996 2.922.996 4.535v27.011h.028z" /></symbol>'});o.a.add(s);t.default=s},qh4k:function(e,t,n){"use strict";n.d(t,"c",function(){return p}),n.d(t,"h",function(){return h}),n.d(t,"e",function(){return g}),n.d(t,"b",function(){return b}),n.d(t,"f",function(){return y}),n.d(t,"g",function(){return _}),n.d(t,"d",function(){return k}),n.d(t,"i",function(){return S}),n.d(t,"j",function(){return A}),n.d(t,"a",function(){return C});var a=n("o0o1"),r=n.n(a),i=n("yXPU"),o=n.n(i),s=n("t3Un"),c=n("X4fA"),u=n("9i3r"),l=n("LvDl"),d=n.n(l);function p(e,t,n){return m.apply(this,arguments)}function m(){return(m=o()(r.a.mark(function e(t,n,a){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(s.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/".concat(a),method:"delete",headers:I(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function h(e,t){return f.apply(this,arguments)}function f(){return(f=o()(r.a.mark(function e(t,n){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(s.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/admin/reload_emoji",method:"post",headers:I(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function g(e,t){return v.apply(this,arguments)}function v(){return(v=o()(r.a.mark(function e(t,n){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(s.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/import_from_fs",method:"post",headers:I(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function b(e,t,n){return w.apply(this,arguments)}function w(){return(w=o()(r.a.mark(function e(t,n,a){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(s.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/".concat(a),method:"put",headers:I(n)});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function y(e){return x.apply(this,arguments)}function x(){return(x=o()(r.a.mark(function e(t){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(s.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/",method:"get"});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function _(e,t,n){return T.apply(this,arguments)}function T(){return(T=o()(r.a.mark(function e(t,n,a){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(s.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/list_from",method:"post",headers:I(n),data:{instance_address:Object(u.a)(a)}});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function k(e,t,n,a,r){return E.apply(this,arguments)}function E(){return(E=o()(r.a.mark(function e(t,n,a,i,o){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return""===i.trim()&&(i=null),e.next=3,Object(s.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/download_from",method:"post",headers:I(o),data:{instance_address:Object(u.a)(n),pack_name:a,as:i},timeout:0});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}},e)}))).apply(this,arguments)}function S(e,t,n,a){return O.apply(this,arguments)}function O(){return(O=o()(r.a.mark(function e(t,n,a,i){return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(s.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/".concat(a,"/update_metadata"),method:"post",headers:I(n),data:{name:a,new_data:i},timeout:0});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function L(e){var t=new FormData;return d.a.each(e,function(e,n){t.set(n,e)}),t}function A(e,t,n){return P.apply(this,arguments)}function P(){return(P=o()(r.a.mark(function e(t,n,a){var i,o,c,l,d,p,m,h,f;return r.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:i=null,e.t0=a.action,e.next="add"===e.t0?4:"update"===e.t0?8:"remove"===e.t0?11:14;break;case 4:return o=a.shortcode,c=a.file,l=a.fileName,i=L({action:"add",shortcode:o,file:c}),""!==l.trim()&&i.set("filename",l),e.abrupt("break",14);case 8:return d=a.oldName,p=a.newName,m=a.newFilename,i=L({action:"update",shortcode:d,new_shortcode:p,new_filename:m}),e.abrupt("break",14);case 11:return h=a.name,i=L({action:"remove",shortcode:h}),e.abrupt("break",14);case 14:return f=a.packName,e.next=17,Object(s.a)({baseURL:Object(u.a)(t),url:"/api/pleroma/emoji/packs/".concat(f,"/update_file"),method:"post",headers:I(n),data:i,timeout:0});case 17:return e.abrupt("return",e.sent);case 18:case"end":return e.stop()}},e)}))).apply(this,arguments)}function C(e,t,n){return"".concat(Object(u.a)(e),"/emoji/").concat(t,"/").concat(n)}var I=function(e){return e?{Authorization:"Bearer ".concat(Object(c.b)())}:{}}},qkZ8:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-edit",use:"icon-edit-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-edit"><path d="M106.133 67.2a4.797 4.797 0 0 0-4.8 4.8c0 .187.014.36.027.533h-.027V118.4H9.6V26.667h50.133c2.654 0 4.8-2.147 4.8-4.8 0-2.654-2.146-4.8-4.8-4.8H9.6a9.594 9.594 0 0 0-9.6 9.6V118.4c0 5.307 4.293 9.6 9.6 9.6h91.733c5.307 0 9.6-4.293 9.6-9.6V72.533h-.026c.013-.173.026-.346.026-.533 0-2.653-2.146-4.8-4.8-4.8z" /><path d="M125.16 13.373L114.587 2.8c-3.747-3.747-9.854-3.72-13.6.027l-52.96 52.96a4.264 4.264 0 0 0-.907 1.36L33.813 88.533c-.746 1.76-.226 3.534.907 4.68 1.133 1.147 2.92 1.667 4.693.92l31.4-13.293c.507-.213.96-.52 1.36-.907l52.96-52.96c3.747-3.746 3.774-9.853.027-13.6zM66.107 72.4l-18.32 7.76 7.76-18.32L92.72 24.667l10.56 10.56L66.107 72.4zm52.226-52.227l-8.266 8.267-10.56-10.56 8.266-8.267.027-.026 10.56 10.56-.027.026z" /></symbol>'});o.a.add(s);t.default=s},qwAt:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-lock",use:"icon-lock-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-lock"><path d="M119.88 49.674h-7.987V39.52C111.893 17.738 90.45.08 63.996.08 37.543.08 16.1 17.738 16.1 39.52v10.154H8.113c-4.408 0-7.987 2.94-7.987 6.577v65.13c0 3.637 3.57 6.577 7.987 6.577H119.88c4.407 0 7.987-2.94 7.987-6.577v-65.13c-.008-3.636-3.58-6.577-7.987-6.577zm-23.953 0H32.065V39.52c0-14.524 14.301-26.295 31.931-26.295 17.63 0 31.932 11.777 31.932 26.295v10.153z" /></symbol>'});o.a.add(s);t.default=s},s7Vf:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-user",use:"icon-user-usage",viewBox:"0 0 130 130",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 130 130" id="icon-user"><path d="M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z" stroke="#979797" /></symbol>'});o.a.add(s);t.default=s},"sg+I":function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409EFF",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"180px"}},t3Un:function(e,t,n){"use strict";var a=n("vDqi"),r=n.n(a),i=n("XJYT"),o=r.a.create({timeout:6e4});o.interceptors.response.use(function(e){return e},function(e){console.log("Error ".concat(e)),console.log(e.response.data);var t=e.response.data.error?e.response.data.error:e.response.data;return Object(i.Message)({message:"".concat(e.message," - ").concat(t),type:"error",duration:5e3}),Promise.reject(e)}),t.a=o},vDVG:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-clipboard",use:"icon-clipboard-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-clipboard"><path d="M54.857 118.857h64V73.143H89.143c-1.902 0-3.52-.668-4.855-2.002-1.335-1.335-2.002-2.954-2.002-4.855V36.57H54.857v82.286zM73.143 16v-4.571a2.2 2.2 0 0 0-.677-1.61 2.198 2.198 0 0 0-1.609-.676H20.571c-.621 0-1.158.225-1.609.676a2.198 2.198 0 0 0-.676 1.61V16a2.2 2.2 0 0 0 .676 1.61c.451.45.988.676 1.61.676h50.285c.622 0 1.158-.226 1.61-.677.45-.45.676-.987.676-1.609zm18.286 48h21.357L91.43 42.642V64zM128 73.143v48c0 1.902-.667 3.52-2.002 4.855-1.335 1.335-2.953 2.002-4.855 2.002H52.57c-1.901 0-3.52-.667-4.854-2.002-1.335-1.335-2.003-2.953-2.003-4.855v-11.429H6.857c-1.902 0-3.52-.667-4.855-2.002C.667 106.377 0 104.759 0 102.857v-96c0-1.902.667-3.52 2.002-4.855C3.337.667 4.955 0 6.857 0h77.714c1.902 0 3.52.667 4.855 2.002 1.335 1.335 2.003 2.953 2.003 4.855V30.29c1 .622 1.856 1.29 2.569 2.003l29.147 29.147c1.335 1.335 2.478 3.145 3.429 5.43.95 2.287 1.426 4.383 1.426 6.291v-.018z" /></symbol>'});o.a.add(s);t.default=s},wAo7:function(e,t,n){"use strict";var a={name:"SvgIcon",props:{iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{iconName:function(){return"#icon-".concat(this.iconClass)},svgClass:function(){return this.className?"svg-icon "+this.className:"svg-icon"}}},r=(n("bndD"),n("KHd+")),i=Object(r.a)(a,function(){var e=this.$createElement,t=this._self._c||e;return t("svg",this._g({class:this.svgClass,attrs:{"aria-hidden":"true"}},this.$listeners),[t("use",{attrs:{"xlink:href":this.iconName}})])},[],!1,null,"4e710b96",null);i.options.__file="index.vue";t.a=i.exports},"y+Q6":function(e,t,n){},y7eQ:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-email",use:"icon-email-usage",viewBox:"0 0 128 96",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 96" id="icon-email"><path d="M64.125 56.975L120.188.912A12.476 12.476 0 0 0 115.5 0h-103c-1.588 0-3.113.3-4.513.838l56.138 56.137z" /><path d="M64.125 68.287l-62.3-62.3A12.42 12.42 0 0 0 0 12.5v71C0 90.4 5.6 96 12.5 96h103c6.9 0 12.5-5.6 12.5-12.5v-71a12.47 12.47 0 0 0-1.737-6.35L64.125 68.287z" /></symbol>'});o.a.add(s);t.default=s},yCkv:function(e,t,n){"use strict";n.r(t);var a=n("4BeY"),r=n.n(a),i=n("IaFt"),o=n.n(i),s=new r.a({id:"icon-chart",use:"icon-chart-usage",viewBox:"0 0 128 128",content:'<symbol xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" id="icon-chart"><path d="M0 54.857h36.571V128H0V54.857zM91.429 27.43H128V128H91.429V27.429zM45.714 0h36.572v128H45.714V0z" /></symbol>'});o.a.add(s);t.default=s},yDdW:function(e,t,n){},zx4i:function(e,t,n){e.exports={menuText:"#bfcbd9",menuActiveText:"#409EFF",subMenuActiveText:"#f4f4f5",menuBg:"#304156",menuHover:"#263445",subMenuBg:"#1f2d3d",subMenuHover:"#001528",sideBarWidth:"180px"}}},[["Vtdi","runtime","chunk-elementUI","chunk-libs"]]]);
-//# sourceMappingURL=app.9c4316f1.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/app.9c4316f1.js.map b/priv/static/adminfe/static/js/app.9c4316f1.js.map
deleted file mode 100644
index 4b729c61a..000000000
--- a/priv/static/adminfe/static/js/app.9c4316f1.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/components/Hamburger/index.vue?5acb","webpack:///./src/icons/svg/pdf.svg","webpack:///./src/views/layout/components/TagsView.vue?3db2","webpack:///./src/icons/svg/people.svg","webpack:///./src/icons/svg/eye-open.svg","webpack:///./src/icons/svg/exit-fullscreen.svg","webpack:///./src/icons/svg/nested.svg","webpack:///./src/icons/svg/theme.svg","webpack:///./src/icons/svg/form.svg","webpack:///./src/icons/svg/dashboard.svg","webpack:///./src/api/utils.js","webpack:///./src/icons/svg/shopping.svg","webpack:///./src/icons/svg/bug.svg","webpack:///./src/icons/svg/international.svg","webpack:///./src/icons/svg/qq.svg","webpack:///./src/icons/svg/link.svg","webpack:///./src/icons/svg/guide 2.svg","webpack:///./src/icons/svg/language.svg","webpack:///./src/icons/svg/password.svg","webpack:///./src/icons/svg/peoples.svg","webpack:///./src/icons/svg/money.svg","webpack:///./src/icons/svg/example.svg","webpack:///./src/icons/svg/list.svg","webpack:///./src/components/ScrollPane/index.vue?7102","webpack:///./src/icons/svg/settings.svg","webpack:///./src/icons/svg/message.svg","webpack:///./src/icons/svg/table.svg","webpack:///./src/views/layout/Layout.vue?d1f6","webpack:///./src/icons/svg/eye.svg","webpack:///./src/icons/svg sync nonrecursive \\.svg$","webpack:///./src/icons/svg/component.svg","webpack:///./src/App.vue?9edb","webpack:///src/App.vue","webpack:///./src/App.vue","webpack:///./src/App.vue?1e50","webpack:///./src/store/modules/app.js","webpack:///./src/store/modules/errorLog.js","webpack:///./src/api/moderationLog.js","webpack:///./src/store/modules/moderationLog.js","webpack:///./src/api/invites.js","webpack:///./src/store/modules/invites.js","webpack:///./src/components/Hamburger/index.vue?3b1d","webpack:///src/components/Hamburger/index.vue","webpack:///./src/components/Hamburger/index.vue","webpack:///./src/components/Hamburger/index.vue?4a26","webpack:///./src/views/layout/components/Navbar.vue?138b","webpack:///src/views/layout/components/Navbar.vue","webpack:///./src/views/layout/components/Navbar.vue","webpack:///./src/views/layout/components/Navbar.vue?f10c","webpack:///./src/utils/i18n.js","webpack:///./src/utils/index.js","webpack:///src/views/layout/components/Sidebar/Item.vue","webpack:///./src/views/layout/components/Sidebar/Item.vue?425b","webpack:///./src/views/layout/components/Sidebar/Item.vue","webpack:///./src/views/layout/components/Sidebar/Link.vue?a99f","webpack:///src/views/layout/components/Sidebar/Link.vue","webpack:///./src/views/layout/components/Sidebar/Link.vue","webpack:///./src/views/layout/components/Sidebar/Link.vue?d88c","webpack:///./src/views/layout/components/Sidebar/SidebarItem.vue?f0b2","webpack:///src/views/layout/components/Sidebar/SidebarItem.vue","webpack:///./src/views/layout/components/Sidebar/FixiOSBug.js","webpack:///./src/views/layout/components/Sidebar/SidebarItem.vue","webpack:///./src/views/layout/components/Sidebar/SidebarItem.vue?9711","webpack:///./src/views/layout/components/Sidebar/index.vue?3b50","webpack:///src/views/layout/components/Sidebar/index.vue","webpack:///./src/views/layout/components/Sidebar/index.vue","webpack:///./src/views/layout/components/Sidebar/index.vue?29d8","webpack:///./src/components/ScrollPane/index.vue?cb98","webpack:///src/components/ScrollPane/index.vue","webpack:///./src/components/ScrollPane/index.vue","webpack:///./src/components/ScrollPane/index.vue?67f9","webpack:///./src/views/layout/components/TagsView.vue?f016","webpack:///src/views/layout/components/TagsView.vue","webpack:///./src/views/layout/components/TagsView.vue","webpack:///./src/views/layout/components/TagsView.vue?184c","webpack:///./src/views/layout/components/AppMain.vue?4460","webpack:///src/views/layout/components/AppMain.vue","webpack:///./src/views/layout/components/AppMain.vue","webpack:///./src/views/layout/components/AppMain.vue?367b","webpack:///./src/views/layout/mixin/ResizeHandler.js","webpack:///./src/views/layout/Layout.vue?de6d","webpack:///src/views/layout/Layout.vue","webpack:///./src/views/layout/Layout.vue","webpack:///./src/views/layout/Layout.vue?9516","webpack:///./src/router/index.js","webpack:///./src/store/modules/permission.js","webpack:///./src/api/reports.js","webpack:///./src/store/modules/reports.js","webpack:///./src/api/settings.js","webpack:///./src/api/initialDataForConfig.js","webpack:///./src/store/modules/normalizers.js","webpack:///./src/store/modules/settings.js","webpack:///./src/store/modules/tagsView.js","webpack:///./src/api/login.js","webpack:///./src/api/nodeInfo.js","webpack:///./src/store/modules/user.js","webpack:///./src/api/users.js","webpack:///./src/store/modules/userProfile.js","webpack:///./src/store/modules/users.js","webpack:///./src/store/getters.js","webpack:///./src/store/modules/emoji_packs.js","webpack:///./src/store/index.js","webpack:///./src/icons/index.js","webpack:///./src/errorLog.js","webpack:///./src/permission.js","webpack:///./src/filters/index.js","webpack:///./src/main.js","webpack:///./src/utils/auth.js","webpack:///./src/views/layout/components/Navbar.vue?23be","webpack:///./src/views/layout/components/TagsView.vue?da45","webpack:///./src/views/layout/components/AppMain.vue?2c3a","webpack:///./src/icons/svg/excel.svg","webpack:///./src/icons/svg/guide.svg","webpack:///./src/components/SvgIcon/index.vue?9ad5","webpack:///./src/icons/svg/star.svg","webpack:///./src/icons/svg/wechat.svg","webpack:///./src/icons/svg/size.svg","webpack:///./src/icons/svg/zip.svg","webpack:///./src/icons/svg/tab.svg","webpack:///./src/icons/svg/search.svg","webpack:///./src/icons/svg/tree.svg","webpack:///./src/icons/svg/documentation.svg","webpack:///./src/icons/svg/drag.svg","webpack:///./src/icons/svg/fullscreen.svg","webpack:///./src/lang/index.js","webpack:///./src/lang/en.js","webpack:///./src/lang/zh.js","webpack:///./src/lang/es.js","webpack:///./src/lang/oc.js","webpack:///./src/icons/svg/icon.svg","webpack:///./src/icons/svg/404.svg","webpack:///./src/api/emoji_packs.js","webpack:///./src/icons/svg/edit.svg","webpack:///./src/icons/svg/lock.svg","webpack:///./src/icons/svg/user.svg","webpack:///./src/styles/index.scss","webpack:///./src/utils/request.js","webpack:///./src/icons/svg/clipboard.svg","webpack:///./src/components/SvgIcon/index.vue?bff9","webpack:///./src/components/SvgIcon/index.vue?40ff","webpack:///src/components/SvgIcon/index.vue","webpack:///./src/components/SvgIcon/index.vue","webpack:///./src/icons/svg/email.svg","webpack:///./src/icons/svg/chart.svg","webpack:///./src/styles/variables.scss"],"names":["_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_7_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_7_2_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_3ee86d44_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","r","__webpack_exports__","svg_baker_runtime_browser_symbol__WEBPACK_IMPORTED_MODULE_0__","svg_baker_runtime_browser_symbol__WEBPACK_IMPORTED_MODULE_0___default","svg_sprite_loader_runtime_browser_sprite_build__WEBPACK_IMPORTED_MODULE_1__","svg_sprite_loader_runtime_browser_sprite_build__WEBPACK_IMPORTED_MODULE_1___default","symbol","a","id","use","viewBox","content","add","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_TagsView_vue_vue_type_style_index_0_id_67e96c42_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","d","baseName","instanceName","arguments","length","undefined","match","startsWith","isLocalhost","concat","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_547b5dea_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Layout_vue_vue_type_style_index_0_id_767d264f_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","map","./404.svg","./bug.svg","./chart.svg","./clipboard.svg","./component.svg","./dashboard.svg","./documentation.svg","./drag.svg","./edit.svg","./email.svg","./example.svg","./excel.svg","./exit-fullscreen.svg","./eye-open.svg","./eye.svg","./form.svg","./fullscreen.svg","./guide 2.svg","./guide.svg","./icon.svg","./international.svg","./language.svg","./link.svg","./list.svg","./lock.svg","./message.svg","./money.svg","./nested.svg","./password.svg","./pdf.svg","./people.svg","./peoples.svg","./qq.svg","./search.svg","./settings.svg","./shopping.svg","./size.svg","./star.svg","./tab.svg","./table.svg","./theme.svg","./tree.svg","./user.svg","./wechat.svg","./zip.svg","webpackContext","req","webpackContextResolve","o","e","Error","code","keys","Object","resolve","module","exports","src_Appvue_type_script_lang_js_","name","component","componentNormalizer","_h","this","$createElement","_c","_self","attrs","options","__file","App","app","state","sidebar","opened","Cookies","get","withoutAnimation","device","language","size","mutations","TOGGLE_SIDEBAR","set","CLOSE_SIDEBAR","TOGGLE_DEVICE","SET_LANGUAGE","SET_SIZE","actions","toggleSideBar","_ref","commit","closeSideBar","_ref2","_ref3","toggleDevice","_ref4","setLanguage","_ref5","setSize","_ref6","errorLog","logs","ADD_ERROR_LOG","log","push","addErrorLog","fetchLog","_x","_x2","_x3","_fetchLog","apply","_callee","authHost","token","params","page","normalizedParams","_args","regenerator_default","wrap","_context","prev","next","URLSearchParams","_","omitBy","objectSpread_default","isUndefined","toString","request","baseURL","url","method","headers","authHeaders","abrupt","sent","stop","fetchAdmins","_x4","_x5","_fetchAdmins","_callee2","_context2","fetchModerators","_x6","_x7","_fetchModerators","_callee3","_context3","Authorization","getToken","moderationLog","fetchedLog","logItemsCount","admins","moderators","logLoading","adminsLoading","SET_LOG_LOADING","status","SET_ADMINS_LOADING","SET_MODERATION_LOG","SET_MODERATION_LOG_COUNT","count","SET_ADMINS","SET_MODERATORS","FetchModerationLog","_FetchModerationLog","asyncToGenerator_default","mark","getters","opts","response","data","items","total","FetchAdmins","_FetchAdmins","adminsResponse","moderatorsResponse","generateInviteToken","_generateInviteToken","max_use","expires_at","inviteViaEmail","_x8","_inviteViaEmail","email","listInviteTokens","_x9","_x10","_listInviteTokens","revokeToken","_x11","_x12","_x13","_revokeToken","_callee4","tokenToRevoke","_context4","invites","inviteTokens","loading","newToken","SET_LOADING","SET_NEW_TOKEN","SET_TOKENS","tokens","FetchInviteTokens","_FetchInviteTokens","reverse","GenerateInviteToken","_GenerateInviteToken","dispatch","maxUse","expiresAt","InviteUserViaEmail","_InviteUserViaEmail","RemoveNewToken","_ref7","RevokeToken","_RevokeToken","_ref8","components_Hamburgervue_type_script_lang_js_","props","isActive","type","Boolean","default","toggleClick","Function","Hamburger_component","staticStyle","padding","on","click","staticClass","class","is-active","xmlns","width","height","components_Navbarvue_type_script_lang_js_","components","Hamburger","computed","vuex_esm","methods","$store","logout","then","location","reload","Navbar_component","_vm","toggle-click","_v","trigger","src","avatar","slot","display","_s","$t","Navbar","generateTitle","title","$te","parseTime","time","cFormat","date","format","typeof_default","test","parseInt","Date","formatObj","y","getFullYear","m","getMonth","getDate","h","getHours","i","getMinutes","s","getSeconds","getDay","replace","result","key","value","formatTime","option","diff","now","Math","ceil","isExternal","path","Sidebar_Itemvue_type_script_lang_js_","functional","icon","String","render","context","_context$props","vnodes","icon-class","Item_component","Item_render","Item_staticRenderFns","Item","Sidebar_Linkvue_type_script_lang_js_","to","required","linkProps","is","href","target","rel","Link_component","_b","_t","Sidebar_SidebarItemvue_type_script_lang_js_","AppLink","mixins","mounted","fixBugIniOS","_this","$subMenu","$refs","subMenu","handleMouseleave","item","isNest","basePath","onlyOneChild","hasOneShowingChild","children","parent","showingChildren","filter","hidden","noShowingChildren","resolvePath","routePath","isExternalLink","path_browserify_default","SidebarItem_component","alwaysShow","ref","index","meta","_e","_l","child","is-nest","base-path","submenu-title-noDropdown","SidebarItem","components_Sidebarvue_type_script_lang_js_","variables","variables_default","isCollapse","Sidebar_component","wrap-class","default-active","$route","collapse","background-color","menuBg","text-color","menuText","active-text-color","menuActiveText","mode","route","Sidebar","components_ScrollPanevue_type_script_lang_js_","left","handleScroll","eventDelta","wheelDelta","deltaY","$scrollWrapper","scrollContainer","scrollLeft","moveToTarget","currentTag","$containerWidth","$el","offsetWidth","tagList","$parent","tag","firstTag","lastTag","scrollWidth","currentIndex","findIndex","prevTag","nextTag","afterNextTagOffsetLeft","offsetLeft","beforePrevTagOffsetLeft","ScrollPane_component","vertical","nativeOn","wheel","$event","preventDefault","components_TagsViewvue_type_script_lang_js_","ScrollPane","visible","top","selectedTag","affixTags","visitedViews","tagsView","routers","permission","watch","addTags","moveToCurrentTag","document","body","addEventListener","closeMenu","removeEventListener","initTags","filterAffixTags","routes","tags","forEach","affix","tempTags","toConsumableArray_default","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","Symbol","iterator","done","err","return","_this2","$nextTick","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","scrollPane","fullPath","refreshSelectedTag","view","_this3","$router","closeSelectedTag","_this4","toLastView","closeOthersTags","_this5","closeAllTags","_this6","some","latestView","slice","openMenu","getBoundingClientRect","maxLeft","clientX","clientY","TagsView_component","refInFor","query","mouseup","button","contextmenu","stopPropagation","directives","rawName","expression","style","TagsView","components_AppMainvue_type_script_lang_js_","cachedViews","AppMain_component","include","AppMain","layout_Layoutvue_type_script_lang_js_","store","beforeMount","window","resizeHandler","isMobile","classObj","hideSidebar","openSidebar","mobile","handleClickOutside","Layout_component","Layout","Vue","Router","disabledFeatures","process","settingsDisabled","includes","settings","Promise","all","bind","noCache","reportsDisabled","reports","invitesDisabled","moderationLogDisabled","emojiPacksDisabled","emojiPacks","constantRouterMap","redirect","router","scrollBehavior","asyncRouterMap","addRouters","SET_ROUTERS","GenerateRoutes","accessedRouters","roles","filterAsyncRouter","res","tmp","role","hasPermission","changeState","_changeState","changeStatusScope","_changeStatusScope","sensitive","visibility","deleteStatus","_deleteStatus","fetchReports","_x14","_x15","_x16","_fetchReports","limit","max_id","filterReports","_x17","_x18","_x19","_x20","_x21","_filterReports","_callee5","_context5","fetchedReports","idOfLastReport","page_limit","stateFilter","SET_LAST_REPORT_ID","SET_REPORTS","SET_REPORTS_FILTER","ChangeReportState","_ChangeReportState","reportState","reportId","updatedReports","report","ChangeStatusScope","_ChangeStatusScope","statusId","isSensitive","statuses","ClearFetchedReports","DeleteStatus","_DeleteStatus","_ref9","FetchReports","_FetchReports","_ref10","t0","SetFilter","_ref11","fetchSettings","_fetchSettings","updateSettings","_updateSettings","configs","uploadMedia","_uploadMedia","file","formData","FormData","append","initialSettings","group","tuple","application/activity+json","application/jrd+json","application/ld+json","application/xml","application/xrd+xml","nonAtomsTuples","nonAtomsObjects","objects","objectParents","groups","cors_plug","esshd","logger","mime","phoenix","pleroma","pleroma_job_queue","quack","tesla","ueberauth","web_push_encryption","filterIgnored","ignored","enabled","reduce","acc","objectWithoutProperties_default","_toPropertyKey","parseNonAtomTuples","tuples","parseNonAtomObject","object","parseObject","substr","wrapConfig","config","getGroup","settingName","ip","split","Array","isArray","wrapNonAtomsObjects","wrapNestedObjects","wrapObjects","wrapNonAtomsTuples","wrapNestedTuples","setting","defineProperty_default","find","activitypub","adapter","admin_token","assets","mascots","auth","auto_linker","backends","chat","console","colors","credentials","database","ecto_repos","email_notifications","digest","emoji","ex_syslogger","expose","fetch_initial_posts","format_encoders","frontend_configurations","pleroma_fe","masto_fe","gopher","hackney_pools","federation","media","upload","handler","http","http_security","instance","poll_limits","level","ldap","markup","max_age","media_proxy","proxy_opts","mrf_hellthread","mrf_keyword","mrf_mention","mrf_normalize_markup","mrf_rejectnonpublic","mrf_simple","mrf_subchain","match_actor","mrf_user_allowlist","mrf_vocabulary","oauth2","password_authenticator","Pleroma.Captcha","Pleroma.Captcha.Kocaptcha","Pleroma.Emails.Mailer","Pleroma.Emails.UserEmail","styling","Pleroma.Repo","Pleroma.ScheduledActivity","Pleroma.Upload","Pleroma.Upload.Filter.AnonymizeFilename","Pleroma.Upload.Filter.Mogrify","Pleroma.Uploaders.Local","Pleroma.Uploaders.MDII","Pleroma.Uploaders.S3","Pleroma.User","Pleroma.Web.Auth.Authenticator","Pleroma.Web.Endpoint","render_errors","pubsub","Pleroma.Web.Federator.RetryQueue","Pleroma.Web.Metadata","port","priv_dir","queues","rate_limit","rich_media","suggestions","types","Ueberauth","Ueberauth.Strategy.Facebook.OAuth","Ueberauth.Strategy.Google.OAuth","Ueberauth.Strategy.Microsoft.OAuth","Ueberauth.Strategy.Twitter.OAuth","user","uri_schemes","vapid_details","webhook_url","ignoredIfNotEnabled","REWRITE_CONFIG","tab","SET_SETTINGS","newSettings","valueIsArrayOfNonObjects","valueHasTuples","parseTuples","accum","join","UPDATE_SETTINGS","configName","FetchSettings","_FetchSettings","RewriteConfig","SubmitChanges","_SubmitChanges","filteredSettings","UpdateSettings","UploadMedia","_UploadMedia","inputName","childName","updatedValue","ADD_VISITED_VIEW","v","assign","ADD_CACHED_VIEW","DEL_VISITED_VIEW","entries","_step$value","slicedToArray_default","splice","DEL_CACHED_VIEW","indexOf","DEL_OTHERS_VISITED_VIEWS","DEL_OTHERS_CACHED_VIEWS","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","DEL_ALL_VISITED_VIEWS","DEL_ALL_CACHED_VIEWS","UPDATE_VISITED_VIEW","_iteratorNormalCompletion4","_didIteratorError4","_iteratorError4","_step4","_iterator4","addView","addVisitedView","addCachedView","delView","delVisitedView","delCachedView","delOthersViews","delOthersVisitedViews","delOthersCachedViews","delAllViews","delAllVisitedViews","delAllCachedViews","_ref12","updateVisitedView","_ref13","loginByUsername","_loginByUsername","username","password","appsRequest","client_name","random","redirect_uris","origin","scopes","client_id","client_secret","grant_type","getUserInfo","getNodeInfo","_getNodeInfo","getAuthHost","introduction","articlePlatform","nodeInfo","SET_CODE","SET_TOKEN","SET_INTRODUCTION","SET_SETTING","SET_STATUS","SET_NAME","SET_AVATAR","SET_ROLES","SET_ID","SET_AUTH_HOST","SET_NODE_INFO","LoginByUsername","reject","access_token","setToken","setAuthHost","catch","error","message","GetNodeInfo","_GetNodeInfo","GetUserInfo","is_admin","LogOut","removeToken","removeAuthHost","FedLogOut","LoginByPleromaFE","_LoginByPleromaFE","host","addRight","_addRight","nickname","right","createNewAccount","_createNewAccount","users","deleteRight","_deleteRight","deleteUser","_deleteUser","fetchUser","_fetchUser","fetchUsers","_x22","_fetchUsers","_callee6","filters","_args6","_context6","getPasswordResetToken","_x23","_x24","_x25","_getPasswordResetToken","_callee7","_context7","requirePasswordReset","_x26","_x27","_x28","_requirePasswordReset","_callee8","_context8","searchUsers","_x29","_x30","_x31","_x32","_searchUsers","_callee9","_args9","_context9","tagUser","_x33","_x34","_x35","_x36","_tagUser","_callee10","nicknames","_context10","toggleUserActivation","_x37","_x38","_x39","_toggleUserActivation","_callee11","_context11","untagUser","_x40","_x41","_x42","_x43","_untagUser","_callee12","_context12","fetchUserStatuses","_x44","_x45","_x46","_x47","_fetchUserStatuses","_callee13","godmode","_context13","userProfile","SET_USER","SET_STATUSES","FetchData","_FetchData","userResponse","statusesResponse","fetchedUsers","searchQuery","totalUsersCount","currentPage","local","external","active","deactivated","passwordResetToken","link","SET_USERS","SWAP_USER","updatedUser","updated","sort","b","localeCompare","SWAP_USERS","usersWithoutSwapped","u","SET_COUNT","SET_PAGE","SET_PAGE_SIZE","pageSize","SET_PASSWORD_RESET_TOKEN","SET_SEARCH_QUERY","SET_USERS_FILTERS","SET_USER_PROFILE","AddTag","_AddTag","ClearFilters","_ClearFilters","CreateNewAccount","_CreateNewAccount","DeleteUser","_DeleteUser","RequirePasswordReset","_RequirePasswordReset","FetchUsers","_FetchUsers","loadUsers","GetPasswordResetToken","_GetPasswordResetToken","RemovePasswordToken","_ref14","RemoveTag","_RemoveTag","_ref15","_ref16","userTag","SearchUsers","_SearchUsers","_ref17","_ref18","ToggleUserActivation","_ToggleUserActivation","_ref19","_ref20","ToggleUsersFilter","_ToggleUsersFilter","_ref21","defaultFilters","currentFilters","ToggleRight","_ToggleRight","_ref22","_ref23","_ref24","page_size","permission_routers","errorLogs","activityPub","adminToken","autoLinker","captcha","consoleLogger","corsPlugCredentials","corsPlugExpose","corsPlugHeaders","corsPlugMaxAge","corsPlugMethods","ectoRepos","emailNotifications","endpoint","exsyslogger","facebook","fetchInitialPosts","formatEncoders","frontend","google","hackneyPools","httpSecurity","kocaptcha","loggerBackends","mailer","mediaProxy","metadata","microsoft","mimeTypesConfig","mrfHellthread","mrfKeyword","mrfMention","mrfNormalizeMarkup","mrfRejectnonpublic","mrfSimple","mrfSubchain","mrfUserAllowlist","mrfVocabulary","passwordAuthenticator","pleromaAuthenticator","pleromaRepo","pleromaUser","privDir","rateLimiters","retryQueue","richMedia","scheduledActivity","teslaAdapter","twitter","uploadAnonymizeFilename","uploadFilterMogrify","uploadersLocal","uploadMDII","uploadS3","uriSchemes","userEmail","vapidDetails","webhookUrl","packs","localPacks","remotePacks","SET_LOCAL_PACKS","SET_REMOTE_PACKS","UPDATE_LOCAL_PACK_VAL","UPDATE_LOCAL_PACK_PACK","pack","UPDATE_LOCAL_PACK_FILES","files","SetLocalEmojiPacks","_SetLocalEmojiPacks","listPacks","SetRemoteEmojiPacks","_SetRemoteEmojiPacks","remoteInstance","listRemotePacks","DownloadFrom","_DownloadFrom","instanceAddress","packName","as","downloadFrom","Message","duration","ReloadEmoji","_ReloadEmoji","reloadEmoji","ImportFromFS","_ImportFromFS","importFromFS","DeletePack","_DeletePack","deletePack","CreatePack","_CreatePack","createPack","UpdateLocalPackVal","_UpdateLocalPackVal","args","SavePackMetadata","_SavePackMetadata","savePackMetadata","UpdateAndSavePackFile","_UpdateAndSavePackFile","updatePackFile","Vuex","Store","modules","emoji_packs","SvgIcon","requireContext","requireAll","require","errorHandler","vm","info","nextTick","NProgress","configure","showSpinner","whiteList","pluralize","label","timeAgo","between","Number","numberFormatter","num","digits","si","toFixed","toThousandFilter","beforeEach","from","start","addRoutes","permissionRoles","noGoBack","afterEach","Element","i18n","t","productionTip","el","js_cookie__WEBPACK_IMPORTED_MODULE_0__","js_cookie__WEBPACK_IMPORTED_MODULE_0___default","TokenKey","AuthHostKey","remove","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Navbar_vue_vue_type_style_index_0_id_b535c57a_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_TagsView_vue_vue_type_style_index_1_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_7_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_7_2_node_modules_vue_loader_lib_index_js_vue_loader_options_AppMain_vue_vue_type_style_index_0_id_f852c4f2_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_7_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_7_2_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_4e710b96_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__","VueI18n","messages","en","dashboard","documentation","guide","pagePermission","directivePermission","icons","componentIndex","tinymce","markdown","jsonEditor","dndList","splitPane","avatarUpload","dropzone","sticky","countTo","componentMixin","backToTop","dragDialog","dragSelect","dragKanban","charts","keyboardChart","lineChart","mixChart","example","nested","menu1","menu1-1","menu1-2","menu1-2-1","menu1-2-2","menu1-3","menu2","Table","dynamicTable","dragTable","inlineEditTable","complexTable","treeTable","customTreeTable","form","createArticle","editArticle","articleList","errorPages","page401","page404","excel","exportExcel","selectExcel","uploadExcel","zip","pdf","exportZip","theme","clipboardDemo","externalLink","emoji-packs","navbar","logOut","github","login","logIn","logInViaPleromaFE","omitHostname","errorMessage","any","thirdparty","pleromaFELoginFailed","pleromaFELoginSucceed","switchRoles","tips","description","tinymceTips","dropzoneTips","stickyTips","backToTopTips1","backToTopTips2","imageUploadTips","table","dynamicTips1","dynamicTips2","dragTips1","dragTips2","importance","remark","search","export","reviewer","author","readings","edit","publish","draft","delete","cancel","confirm","selectedExport","placeholder","change","refresh","close","closeOthers","closeAll","localUsersOnly","activate","deactivate","admin","moderator","moderation","revokeAdmin","grantAdmin","revokeModerator","grantModerator","activateAccount","activateAccounts","deactivateAccount","deactivateAccounts","deleteAccount","deleteAccounts","forceNsfw","stripMedia","forceUnlisted","sandbox","disableRemoteSubscription","disableRemoteSubscriptionForMultiple","disableAnySubscription","disableAnySubscriptionForMultiple","selectUsers","moderateUsers","createAccount","grantRightConfirmation","revokeRightConfirmation","activateMultipleUsersConfirmation","deactivateMultipleUsersConfirmation","deleteMultipleUsersConfirmation","addTagForMultipleUsersConfirmation","removeTagFromMultipleUsersConfirmation","requirePasswordResetConfirmation","mailerMustBeEnabled","ok","completed","canceled","create","submitFormError","emptyEmailError","invalidEmailError","emptyPasswordError","emptyNicknameError","invalidNicknameError","passwordResetTokenCreated","accountCreated","recentStatuses","showPrivateStatuses","usersFilter","inputPlaceholder","byUserType","byStatus","reply","showNotes","newNote","submit","confirmMsg","deleteCompleted","deleteCanceled","noNotes","changeScope","moderateUser","reopen","addSensitive","removeSensitive","public","private","unlisted","reportsFilter","open","closed","resolved","mrf","jobQueue","webPush","other","success","createInviteToken","pickDate","tokenCreated","uses","used","revoke","inviteUserViaEmail","sendRegistration","emailSent","inviteViaEmailAlert","elementEnLocale","zh","thirdpartyTips","elementZhLocale","es","elementEsLocale","oc","locale","_deletePack","_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default","_reloadEmoji","_importFromFS","_createPack","_listPacks","_listRemotePacks","instance_address","_downloadFrom","pack_name","trim","timeout","_savePackMetadata","new_data","fileUpdateFormData","each","k","_updatePackFile","shortcode","fileName","oldName","newName","newFilename","action","new_shortcode","new_filename","addressOfEmojiInPack","subMenuActiveText","menuHover","subMenuBg","subMenuHover","sideBarWidth","axios__WEBPACK_IMPORTED_MODULE_0__","axios__WEBPACK_IMPORTED_MODULE_0___default","element_ui__WEBPACK_IMPORTED_MODULE_1__","service","axios","interceptors","edata","components_SvgIconvue_type_script_lang_js_","iconClass","className","iconName","svgClass","_g","aria-hidden","$listeners","xlink:href"],"mappings":"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","file":"static/js/app.9c4316f1.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--7-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=3ee86d44&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--7-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=3ee86d44&scoped=true&lang=css&\"","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-pdf\",\n \"use\": \"icon-pdf-usage\",\n \"viewBox\": \"0 0 1024 1024\",\n \"content\": \"<symbol viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"icon-pdf\\\"><path d=\\\"M869.073 277.307H657.111V65.344l211.962 211.963zm-238.232 26.27V65.344l-476.498-.054v416.957h714.73v-178.67H630.841zm-335.836 360.57c-5.07-3.064-10.944-5.133-17.61-6.201-6.67-1.064-13.603-1.6-20.81-1.6h-48.821v85.641h48.822c7.206 0 14.14-.532 20.81-1.6 6.665-1.065 12.54-3.133 17.609-6.202 5.064-3.063 9.134-7.406 12.208-13.007 3.065-5.602 4.6-12.937 4.6-22.011 0-9.07-1.535-16.408-4.6-22.01-3.074-5.603-7.144-9.94-12.208-13.01zM35.82 541.805v416.904h952.358V541.805H35.821zm331.421 191.179c-3.6 11.071-9.343 20.879-17.209 29.413-7.874 8.542-18.078 15.408-30.617 20.61-12.544 5.206-27.747 7.807-45.621 7.807h-66.036v102.45h-62.831V607.517h128.867c17.874 0 33.077 2.6 45.62 7.802 12.541 5.207 22.745 12.076 30.618 20.615 7.866 8.538 13.604 18.277 17.21 29.212 3.6 10.943 5.401 22.278 5.401 34.018 0 11.477-1.8 22.752-5.402 33.819zM644.9 806.417c-5.343 17.61-13.408 32.818-24.212 45.627-10.807 12.803-24.283 22.879-40.423 30.213-16.146 7.343-35.155 11.007-57.03 11.007h-123.26V607.518h123.26c18.41 0 35.552 2.941 51.428 8.808 15.873 5.869 29.618 14.671 41.22 26.412 11.608 11.744 20.674 26.411 27.217 44.02 6.535 17.61 9.803 38.288 9.803 62.035 0 20.81-2.67 40.02-8.003 57.624zm245.362-146.07h-138.07v66.03h119.66v48.829h-119.66v118.058h-62.83V607.518h200.9v52.829h-.001zm-318.2 25.611c-6.402-8.266-14.877-14.604-25.412-19.01-10.544-4.402-23.551-6.602-39.019-6.602h-44.825v180.088h56.029c9.07 0 17.872-1.463 26.415-4.401 8.535-2.932 16.14-7.802 22.812-14.609 6.665-6.8 12.007-15.667 16.007-26.61 4.003-10.94 6.003-24.275 6.003-40.021 0-14.408-1.4-27.416-4.202-39.019-2.8-11.607-7.406-21.542-13.808-29.816zm0 0\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsView.vue?vue&type=style&index=0&id=67e96c42&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsView.vue?vue&type=style&index=0&id=67e96c42&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-people\",\n \"use\": \"icon-people-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-people\\\"><path d=\\\"M104.185 95.254c8.161 7.574 13.145 17.441 13.145 28.28 0 1.508-.098 2.998-.285 4.466h-10.784c.238-1.465.403-2.948.403-4.465 0-8.983-4.36-17.115-11.419-23.216C86 104.66 75.355 107.162 64 107.162c-11.344 0-21.98-2.495-31.22-6.83-7.064 6.099-11.444 14.218-11.444 23.203 0 1.517.165 3 .403 4.465H10.955a35.444 35.444 0 0 1-.285-4.465c0-10.838 4.974-20.713 13.127-28.291C9.294 85.42.003 70.417.003 53.58.003 23.99 28.656.001 64 .001s63.997 23.988 63.997 53.58c0 16.842-9.299 31.85-23.812 41.673zM64 36.867c-29.454 0-53.33-10.077-53.33 15.342 0 25.418 23.876 46.023 53.33 46.023 29.454 0 53.33-20.605 53.33-46.023 0-25.419-23.876-15.342-53.33-15.342zm24.888 25.644c-3.927 0-7.111-2.665-7.111-5.953 0-3.288 3.184-5.954 7.11-5.954 3.928 0 7.111 2.666 7.111 5.954s-3.183 5.953-7.11 5.953zm-3.556 16.372c0 4.11-9.55 7.442-21.332 7.442-11.781 0-21.332-3.332-21.332-7.442 0-1.06.656-2.064 1.8-2.976 3.295 2.626 10.79 4.465 19.532 4.465 8.743 0 16.237-1.84 19.531-4.465 1.145.912 1.801 1.916 1.801 2.976zm-46.22-16.372c-3.927 0-7.11-2.665-7.11-5.953 0-3.288 3.183-5.954 7.11-5.954 3.927 0 7.111 2.666 7.111 5.954s-3.184 5.953-7.11 5.953z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-eye-open\",\n \"use\": \"icon-eye-open-usage\",\n \"viewBox\": \"0 0 1024 1024\",\n \"content\": \"<symbol class=\\\"icon\\\" viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" id=\\\"icon-eye-open\\\"><defs><style></style></defs><path d=\\\"M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-exit-fullscreen\",\n \"use\": \"icon-exit-fullscreen-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-exit-fullscreen\\\"><path d=\\\"M49.217 41.329l-.136-35.24c-.06-2.715-2.302-4.345-5.022-4.405h-3.65c-2.712-.06-4.866 2.303-4.806 5.016l.152 19.164-24.151-23.79a6.698 6.698 0 0 0-9.499 0 6.76 6.76 0 0 0 0 9.526l23.93 23.713-18.345.074c-2.712-.069-5.228 1.813-5.64 5.02v3.462c.069 2.721 2.31 4.97 5.022 5.03l35.028-.207c.052.005.087.025.133.025l2.457.054a4.626 4.626 0 0 0 3.436-1.38c.88-.874 1.205-2.096 1.169-3.462l-.262-2.465c0-.048.182-.081.182-.136h.002zm52.523 51.212l18.32-.073c2.713.06 5.224-1.609 5.64-4.815v-3.462c-.068-2.722-2.317-4.97-5.021-5.04l-34.58.21c-.053 0-.086-.021-.138-.021l-2.451-.06a4.64 4.64 0 0 0-3.445 1.381c-.885.868-1.201 2.094-1.174 3.46l.27 2.46c.005.06-.177.095-.177.141l.141 34.697c.069 2.713 2.31 4.338 5.022 4.397l3.45.006c2.705.062 4.867-2.31 4.8-5.026l-.153-18.752 24.151 23.946a6.69 6.69 0 0 0 9.494 0 6.747 6.747 0 0 0 0-9.523L101.74 92.54v.001zM48.125 80.662a4.636 4.636 0 0 0-3.437-1.382l-2.457.06c-.05 0-.082.022-.137.022l-35.025-.21c-2.712.07-4.957 2.318-5.022 5.04v3.462c.409 3.206 2.925 4.874 5.633 4.814l18.554.06-24.132 23.928c-2.62 2.626-2.62 6.89 0 9.524a6.694 6.694 0 0 0 9.496 0l24.155-23.79-.155 18.866c-.06 2.722 2.094 5.093 4.801 5.025h3.65c2.72-.069 4.962-1.685 5.022-4.406l.141-34.956c0-.05-.182-.082-.182-.136l.262-2.46c.03-1.366-.286-2.592-1.166-3.46h-.001zM80.08 47.397a4.62 4.62 0 0 0 3.443 1.374l2.45-.054c.055 0 .088-.02.143-.028l35.08.21c2.712-.062 4.953-2.312 5.021-5.033l.009-3.463c-.417-3.211-2.937-5.084-5.64-5.025l-18.615-.073 23.917-23.715c2.63-2.623 2.63-6.879.008-9.513a6.691 6.691 0 0 0-9.494 0L92.251 26.016l.155-19.312c.065-2.713-2.097-5.085-4.802-5.025h-3.45c-2.713.069-4.954 1.693-5.022 4.406l-.139 35.247c0 .054.18.088.18.136l-.267 2.465c-.028 1.366.288 2.588 1.174 3.463v.001z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-nested\",\n \"use\": \"icon-nested-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-nested\\\"><path d=\\\"M.002 9.2c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-5.043-3.58-9.132-7.997-9.132S.002 4.157.002 9.2zM31.997.066h95.981V18.33H31.997V.066zm0 45.669c0 5.044 3.58 9.132 7.998 9.132 4.417 0 7.997-4.088 7.997-9.132 0-3.263-1.524-6.278-3.998-7.91-2.475-1.63-5.524-1.63-7.998 0-2.475 1.632-4 4.647-4 7.91zM63.992 36.6h63.986v18.265H63.992V36.6zm-31.995 82.2c0 5.043 3.58 9.132 7.998 9.132 4.417 0 7.997-4.089 7.997-9.132 0-5.044-3.58-9.133-7.997-9.133s-7.998 4.089-7.998 9.133zm31.995-9.131h63.986v18.265H63.992V109.67zm0-27.404c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-3.263-1.524-6.277-3.998-7.909-2.475-1.631-5.524-1.631-7.998 0-2.475 1.632-4 4.646-4 7.91zm31.995-9.13h31.991V91.4H95.987V73.135z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-theme\",\n \"use\": \"icon-theme-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-theme\\\"><path d=\\\"M125.5 36.984L95.336 2.83C93.735 1.018 91.565 0 89.3 0c-2.263 0-4.433 1.018-6.033 2.83l-3.786 4.286c-1.6 1.812-3.77 2.83-6.032 2.831H54.553c-2.263 0-4.434-1.018-6.033-2.83L44.734 2.83C43.134 1.018 40.964 0 38.701 0c-2.263 0-4.434 1.018-6.034 2.83L2.5 36.984C.9 38.796 0 41.254 0 43.815c0 2.562.899 5.02 2.5 6.831L14.565 64.31c2.178 2.468 5.367 3.403 8.33 2.444 1.35-.435 2.709.592 2.709 2.18v49.407c0 5.313 3.84 9.66 8.532 9.66h59.726c4.693 0 8.532-4.347 8.532-9.66V68.934c0-1.59 1.36-2.616 2.71-2.181 2.962.96 6.15.024 8.329-2.444L125.5 50.646c1.6-1.811 2.499-4.269 2.499-6.83 0-2.563-.899-5.02-2.5-6.832z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-form\",\n \"use\": \"icon-form-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-form\\\"><path d=\\\"M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-dashboard\",\n \"use\": \"icon-dashboard-usage\",\n \"viewBox\": \"0 0 128 100\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 100\\\" id=\\\"icon-dashboard\\\"><path d=\\\"M27.429 63.638c0-2.508-.893-4.65-2.679-6.424-1.786-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.465 2.662-1.785 1.774-2.678 3.916-2.678 6.424 0 2.508.893 4.65 2.678 6.424 1.786 1.775 3.94 2.662 6.465 2.662 2.524 0 4.678-.887 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm13.714-31.801c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM71.714 65.98l7.215-27.116c.285-1.23.107-2.378-.536-3.443-.643-1.064-1.56-1.762-2.75-2.094-1.19-.33-2.333-.177-3.429.462-1.095.639-1.81 1.573-2.143 2.804l-7.214 27.116c-2.857.237-5.405 1.266-7.643 3.088-2.238 1.822-3.738 4.152-4.5 6.992-.952 3.644-.476 7.098 1.429 10.364 1.905 3.265 4.69 5.37 8.357 6.317 3.667.947 7.143.474 10.429-1.42 3.285-1.892 5.404-4.66 6.357-8.305.762-2.84.619-5.607-.429-8.305-1.047-2.697-2.762-4.85-5.143-6.46zm47.143-2.342c0-2.508-.893-4.65-2.678-6.424-1.786-1.775-3.94-2.662-6.465-2.662-2.524 0-4.678.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.786 1.775 3.94 2.662 6.464 2.662 2.524 0 4.679-.887 6.465-2.662 1.785-1.775 2.678-3.916 2.678-6.424zm-45.714-45.43c0-2.509-.893-4.65-2.679-6.425C68.68 10.01 66.524 9.122 64 9.122c-2.524 0-4.679.887-6.464 2.661-1.786 1.775-2.679 3.916-2.679 6.425 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm32 13.629c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM128 63.638c0 12.351-3.357 23.78-10.071 34.286-.905 1.372-2.19 2.058-3.858 2.058H13.93c-1.667 0-2.953-.686-3.858-2.058C3.357 87.465 0 76.037 0 63.638c0-8.613 1.69-16.847 5.071-24.703C8.452 31.08 13 24.312 18.714 18.634c5.715-5.68 12.524-10.199 20.429-13.559C47.048 1.715 55.333.035 64 .035c8.667 0 16.952 1.68 24.857 5.04 7.905 3.36 14.714 7.88 20.429 13.559 5.714 5.678 10.262 12.446 13.643 20.301 3.38 7.856 5.071 16.09 5.071 24.703z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","const isLocalhost = (instanceName) =>\n instanceName.startsWith('localhost:') || instanceName.startsWith('127.0.0.1:')\n\nexport const baseName = (instanceName = 'localhost') => {\n if (instanceName.match(/https?:\\/\\//)) {\n return instanceName\n } else {\n return isLocalhost(instanceName) ? `http://${instanceName}` : `https://${instanceName}`\n }\n}\n","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-shopping\",\n \"use\": \"icon-shopping-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-shopping\\\"><path d=\\\"M42.913 101.36c1.642 0 3.198.332 4.667.996a12.28 12.28 0 0 1 3.89 2.772c1.123 1.184 1.987 2.582 2.592 4.193.605 1.612.908 3.318.908 5.118 0 1.8-.303 3.507-.908 5.118-.605 1.611-1.469 3.01-2.593 4.194a13.3 13.3 0 0 1-3.889 2.843 10.582 10.582 0 0 1-4.667 1.066c-1.729 0-3.306-.355-4.732-1.066a13.604 13.604 0 0 1-3.825-2.843c-1.123-1.185-1.988-2.583-2.593-4.194a14.437 14.437 0 0 1-.907-5.118c0-1.8.302-3.506.907-5.118.605-1.61 1.47-3.009 2.593-4.193a12.515 12.515 0 0 1 3.825-2.772c1.426-.664 3.003-.996 4.732-.996zm53.932.285c1.643 0 3.22.331 4.733.995a11.386 11.386 0 0 1 3.889 2.772c1.08 1.185 1.945 2.583 2.593 4.194.648 1.61.972 3.317.972 5.118 0 1.8-.324 3.506-.972 5.117-.648 1.611-1.513 3.01-2.593 4.194a12.253 12.253 0 0 1-3.89 2.843 11 11 0 0 1-4.732 1.066 10.58 10.58 0 0 1-4.667-1.066 12.478 12.478 0 0 1-3.824-2.843c-1.08-1.185-1.945-2.583-2.593-4.194a13.581 13.581 0 0 1-.973-5.117c0-1.801.325-3.507.973-5.118.648-1.611 1.512-3.01 2.593-4.194a11.559 11.559 0 0 1 3.824-2.772 11.212 11.212 0 0 1 4.667-.995zm21.781-80.747c2.42 0 4.3.355 5.64 1.066 1.34.71 2.29 1.587 2.852 2.63a6.427 6.427 0 0 1 .778 3.34c-.044 1.185-.195 2.204-.454 3.057-.26.853-.8 2.606-1.62 5.26a589.268 589.268 0 0 1-2.788 8.743 1236.373 1236.373 0 0 0-3.047 9.453c-.994 3.128-1.75 5.592-2.269 7.393-1.123 3.79-2.55 6.42-4.278 7.89-1.728 1.469-3.846 2.203-6.352 2.203H39.023l1.945 12.795h65.342c4.148 0 6.223 1.943 6.223 5.828 0 1.896-.41 3.53-1.232 4.905-.821 1.374-2.442 2.061-4.862 2.061H38.505c-1.729 0-3.176-.426-4.343-1.28-1.167-.852-2.14-1.966-2.917-3.34a21.277 21.277 0 0 1-1.88-4.478 44.128 44.128 0 0 1-1.102-4.55c-.087-.568-.324-1.942-.713-4.122-.39-2.18-.865-4.904-1.426-8.174l-1.88-10.947c-.692-4.027-1.383-8.079-2.075-12.154-1.642-9.572-3.5-20.234-5.574-31.986H6.87c-1.296 0-2.377-.356-3.24-1.067a9.024 9.024 0 0 1-2.14-2.558 10.416 10.416 0 0 1-1.167-3.2C.108 8.53 0 7.488 0 6.54c0-1.896.583-3.46 1.75-4.69C2.917.615 4.494 0 6.482 0h13.095c1.728 0 3.111.284 4.148.853 1.037.569 1.858 1.28 2.463 2.132a8.548 8.548 0 0 1 1.297 2.701c.26.948.475 1.754.648 2.417.173.758.346 1.825.519 3.199.173 1.374.345 2.772.518 4.193.26 1.706.519 3.507.778 5.403h88.678z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-bug\",\n \"use\": \"icon-bug-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-bug\\\"><path d=\\\"M127.88 73.143c0 1.412-.506 2.635-1.518 3.669-1.011 1.033-2.209 1.55-3.592 1.55h-17.887c0 9.296-1.783 17.178-5.35 23.645l16.609 17.044c1.011 1.034 1.517 2.257 1.517 3.67 0 1.412-.506 2.635-1.517 3.668-.958 1.033-2.155 1.55-3.593 1.55-1.438 0-2.635-.517-3.593-1.55l-15.811-16.063a15.49 15.49 0 0 1-1.196 1.06c-.532.434-1.65 1.208-3.353 2.322a50.104 50.104 0 0 1-5.192 2.974c-1.758.87-3.94 1.658-6.546 2.364-2.607.706-5.189 1.06-7.748 1.06V47.044H58.89v73.062c-2.716 0-5.417-.367-8.106-1.102-2.688-.734-5.003-1.631-6.945-2.692a66.769 66.769 0 0 1-5.268-3.179c-1.571-1.057-2.73-1.94-3.476-2.65L33.9 109.34l-14.611 16.877c-1.066 1.14-2.344 1.711-3.833 1.711-1.277 0-2.422-.434-3.434-1.304-1.012-.978-1.557-2.187-1.635-3.627-.079-1.44.333-2.705 1.236-3.794l16.129-18.51c-3.087-6.197-4.63-13.644-4.63-22.342H5.235c-1.383 0-2.58-.517-3.592-1.55S.125 74.545.125 73.132c0-1.412.506-2.635 1.518-3.668 1.012-1.034 2.21-1.55 3.592-1.55h17.887V43.939L9.308 29.833c-1.012-1.033-1.517-2.256-1.517-3.669 0-1.412.505-2.635 1.517-3.668 1.012-1.034 2.21-1.55 3.593-1.55s2.58.516 3.593 1.55l13.813 14.106h67.396l13.814-14.106c1.012-1.034 2.21-1.55 3.592-1.55 1.384 0 2.581.516 3.593 1.55 1.012 1.033 1.518 2.256 1.518 3.668 0 1.413-.506 2.636-1.518 3.67l-13.814 14.105v23.975h17.887c1.383 0 2.58.516 3.593 1.55 1.011 1.033 1.517 2.256 1.517 3.668l-.005.01zM89.552 26.175H38.448c0-7.23 2.489-13.386 7.466-18.469C50.892 2.623 56.92.082 64 .082c7.08 0 13.108 2.541 18.086 7.624 4.977 5.083 7.466 11.24 7.466 18.469z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-international\",\n \"use\": \"icon-international-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-international\\\"><path d=\\\"M83.287 103.01c-1.57-3.84-6.778-10.414-15.447-19.548-2.327-2.444-2.182-4.306-1.338-9.862v-.64c.553-3.81 1.513-6.05 14.313-8.087 6.516-1.018 8.203 1.57 10.589 5.178l.785 1.193a12.625 12.625 0 0 0 6.43 5.207c1.134.524 2.53 1.164 4.421 2.24 4.596 2.53 4.596 5.41 4.596 11.753v.727a26.91 26.91 0 0 1-5.178 17.454 59.055 59.055 0 0 1-19.025 11.026c3.49-6.546.814-14.313 0-16.553l-.146-.087zM64 5.12a58.502 58.502 0 0 1 25.484 5.818 54.313 54.313 0 0 0-12.859 10.327c-.93 1.28-1.716 2.473-2.472 3.579-2.444 3.694-3.637 5.352-5.818 5.614a25.105 25.105 0 0 1-4.219 0c-4.276-.29-10.094-.64-11.956 4.422-1.193 3.23-1.396 11.956 2.444 16.495.66 1.077.778 2.4.32 3.578a7.01 7.01 0 0 1-2.066 3.229 18.938 18.938 0 0 1-2.909-2.91 18.91 18.91 0 0 0-8.32-6.603c-1.25-.349-2.647-.64-3.985-.93-3.782-.786-8.03-1.688-9.019-3.812a14.895 14.895 0 0 1-.727-5.818 21.935 21.935 0 0 0-1.396-9.25 8.873 8.873 0 0 0-5.557-4.946A58.705 58.705 0 0 1 64 5.12zM0 64c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-qq\",\n \"use\": \"icon-qq-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-qq\\\"><path d=\\\"M18.448 57.545l-.244-.744-.198-.968-.132-.53v-2.181l.236-.859.24-.908.317-.953.428-1.06.561-1.103.794-1.104v-.773l.077-.724.123-.984.34-1.106.313-1.194.25-.548.289-.511.371-.569.405-.423v-2.73l.234-1.407.236-1.633.42-1.955.577-2.035.43-1.118.426-1.217.468-1.135.559-1.216.57-1.332.655-1.247.737-1.331.929-1.33.43-.762.457-.624.995-1.406 1.025-1.403 1.163-1.444 1.246-1.405 1.352-1.384 1.41-1.423 1.708-1.536 1.083-.934 1.322-1.008 1.34-.89 1.448-.855 1.392-.76 1.57-.63 1.667-.775 1.657-.532 1.653-.552 1.787-.548 1.785-.417 1.876-.347L59.128.68l1.879-.245 1.876-.252 2.002-.106h5.912l1.97.243 1.981.231 2.019.207 1.874.441 1.979.413 1.857.475 2.035.53 1.862.646 1.782.738 1.904.78 1.736.853 1.689.95 1.655 1.044 1.425.971.662.548.693.401 1.323 1.1 1.115 1.064 1.112 1.1 1.083 1.214.894 1.178 1.064 1.217.74 1.306.752 1.162.798 1.352.661 1.175 1.113 2.489.546 1.286.428 1.192.428 1.294.384 1.217.267 1.047.347 1.231.607 2.198.388 1.924.253 1.861.217 1.497.342 2.28.077.362.274.41.737 1.18.473.8.42.832.534.892.472 1.07.307 1.093.334 1.2.252 1.232.115.605.106.746v.648l-.106.643v.8l-.192.774-.35 1.5-.403.76-.299.852v.213l.142.264.4.623 1.746 2.53 1.377 1.9.66 1.267.889 1.389.774 1.52.893 1.627.894 1.828 1.006 2.069.567 1.268.518 1.239.447 1.307.44 1.175.336 1.235.342 1.16.432 2.261.343 2.31.235 2.05v2.891l-.158 1.025-.226 1.768-.308 1.59-.48 1.44-.18.588-.336.707-.28.493-.375.607-.33.383-.42.494-.375.4-.401.34-.48.207-.432.207-.355.114h-.543l-.346-.114-.66-.32-.302-.212-.317-.223-.347-.304-.35-.342-.579-.63-.684-.89-.539-.917-.538-.734-.526-.855-.741-1.517-.833-1.579-.098-.055h-.138l-.338.247-.196.415-.326.516-.567 1.533-.856 2.182-1.096 2.626-.824 1.308-.864 1.366-1.027 1.536-1.09 1.503-.557.68-.676.743-1.555 1.497.136.135.21.214.777.446 3.235 1.524 1.41.779 1.347.756 1.332.953 1.187.982.574.443.432.511.445.593.367.643.198.533.242.64.105.554.115.647-.115.433v.44l-.105.454-.242.415-.092.325-.22.394-.587.784-.543.627-.42.47-.35.348-.893.638-1.01.556-1.077.532-1.155.511-1.287.495-.693.207-.608.167-1.496.342-1.545.325-1.552.323-1.689.27-1.74.072-1.785.21h-5.539l-1.998-.114-1.86-.168-2.005-.27-1.99-.209-2.095-.286-2.03-.495-1.981-.374-1.968-.552-2.019-.707-1.98-.585-1.044-.342-.927-.323-.586-.223-.582-.12h-1.647l-1.904-.131-.962-.096-1.24-.135-.795.705-1.085.665-1.471.701-1.628.875-.99.475-1.033.376-2.281.914-1.24.305-1.3.343-1.803.344-1.13.086-1.193.1-1.246.135-1.45.053h-5.926l-3.346-.053-3.25-.321-1.644-.23-1.589-.23-1.546-.227-1.547-.305-1.442-.456-1.434-.325-1.294-.51-1.223-.474-1.142-.533-.99-.583-.984-.71-.336-.343-.44-.415-.334-.362-.3-.417-.278-.415-.215-.42-.311-.89-.109-.46-.138-.51v-.473l.138-.533v-.53l.109-.53v-1.069l.052-.564.259-.647.215-.646.39-.779.286-.3.236-.348.615-.738.49-.38.464-.266.428-.338.676-.21.543-.324.676-.341.77-.227.775-.231.897-.192.85-.11 1.008-.13 1.093-.081.284-.092h.063l.137-.115v-.13l-.2-.266-.58-.27-1.45-1.231-.975-.761-1.127-.967-1.136-1.082-1.181-1.382-1.36-1.558-.508-.843-.672-.87-.58-1.007-.522-1.1-.704-1.047-.459-1.194-.547-1.192-.546-1.33-.397-1.273-.378-1.575-.112-.057h-.115l-.059-.113h-.14l-.23.113-.114.057-.158.264-.057.321-.119.286-.206.477-.664 1.157-.345.701-.546.612-.58.736-.641.816-.677.724-.795.701-.734.658-.814.524-.89.546-.855.325-1.008.247-.99.095h-.233l-.228-.095-.18-.384-.29-.188-.38-.912-.237-.493-.255-.707-.21-.734-.113-.724-.313-1.648-.12-.972v-3.185l.12-2.379.196-1.214.23-1.252.21-1.347.374-1.254.42-1.443.431-1.407.578-1.448.545-1.38.754-1.4.699-1.52.855-1.425 1.006-1.538 1.023-1.382 1.069-1.538.891-1.071 1.142-1.227 1.202-1.237.56-.59.678-.662.985-.836 1.012-.853 1.647-1.446 1.242-.889z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-link\",\n \"use\": \"icon-link-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-link\\\"><path d=\\\"M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z\\\" /><path d=\\\"M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z\\\" /><path d=\\\"M127.893 37.982h-12.375V12.375H88.706V0h39.187z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-guide 2\",\n \"use\": \"icon-guide 2-usage\",\n \"viewBox\": \"0 0 1000 1000\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 1000 1000\\\" id=\\\"icon-guide 2\\\"><path d=\\\"M11.576 547.9l282.848 126.404 409.285-383.26 137.057-128.341L361.234 714.22l362.77 146.362c8.742 3.327 18.733-1.33 21.855-10.644v-.666L999.985.374 10.327 514.636c-8.742 4.657-11.864 15.302-8.117 24.616 2.497 3.991 5.62 7.318 9.366 8.648zM360.61 999.626l141.112-161.663-141.112-61.206v222.869z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-language\",\n \"use\": \"icon-language-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-language\\\"><path d=\\\"M84.742 36.8c2.398 7.2 5.595 12.8 11.19 18.4 4.795-4.8 7.992-11.2 10.39-18.4h-21.58zm-52.748 40h20.78l-10.39-28-10.39 28z\\\" /><path d=\\\"M111.916 0H16.009C7.218 0 .025 7.2.025 16v96c0 8.8 7.193 16 15.984 16h95.907c8.791 0 15.984-7.2 15.984-16V16c0-8.8-6.394-16-15.984-16zM72.754 103.2c-1.598 1.6-3.197 1.6-4.795 1.6-.8 0-2.398 0-3.197-.8-.8-.8-1.599 0-1.599-.8s-.799-1.6-1.598-3.2c-.8-1.6-.8-2.4-1.599-4l-3.196-8.8H28.797L25.6 96c-1.598 3.2-2.398 5.6-3.197 7.2-.8 1.6-2.398 1.6-4.795 1.6-1.599 0-3.197-.8-4.796-1.6-1.598-1.6-2.397-2.4-2.397-4 0-.8 0-1.6.799-3.2.8-1.6.8-2.4 1.598-4l17.583-44.8c.8-1.6.8-3.2 1.599-4.8.799-1.6 1.598-3.2 2.397-4 .8-.8 1.599-2.4 3.197-3.2 1.599-.8 3.197-.8 4.796-.8 1.598 0 3.196 0 4.795.8 1.598.8 2.398 1.6 3.197 3.2.799.8 1.598 2.4 2.397 4 .8 1.6 1.599 3.2 2.398 5.6l17.583 44c1.598 3.2 2.398 5.6 2.398 7.2-.8.8-1.599 2.4-2.398 4zM116.711 72c-8.791-3.2-15.185-7.2-20.78-12-5.594 5.6-12.787 9.6-21.579 12l-2.397-4c8.791-2.4 15.984-5.6 21.579-11.2C87.939 51.2 83.144 44 81.545 36h-7.992v-3.2h21.58c-1.6-2.4-3.198-5.6-4.796-8l2.397-.8c1.599 2.4 3.997 5.6 5.595 8.8h19.98v4h-7.992c-2.397 8-6.393 15.2-11.189 20 5.595 4.8 11.988 8.8 20.78 11.2l-3.197 4z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-password\",\n \"use\": \"icon-password-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-password\\\"><path d=\\\"M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-peoples\",\n \"use\": \"icon-peoples-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-peoples\\\"><path d=\\\"M95.648 118.762c0 5.035-3.563 9.121-7.979 9.121H7.98c-4.416 0-7.979-4.086-7.979-9.121C0 100.519 15.408 83.47 31.152 76.75c-9.099-6.43-15.216-17.863-15.216-30.987v-9.128c0-20.16 14.293-36.518 31.893-36.518s31.894 16.358 31.894 36.518v9.122c0 13.137-6.123 24.556-15.216 30.993 15.738 6.726 31.141 23.769 31.141 42.012z\\\" /><path d=\\\"M106.032 118.252h15.867c3.376 0 6.101-3.125 6.101-6.972 0-13.957-11.787-26.984-23.819-32.123 6.955-4.919 11.638-13.66 11.638-23.704v-6.985c0-15.416-10.928-27.926-24.39-27.926-1.674 0-3.306.193-4.89.561 1.936 4.713 3.018 9.974 3.018 15.526v9.121c0 13.137-3.056 23.111-11.066 30.993 14.842 4.41 27.312 23.42 27.541 41.509z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-money\",\n \"use\": \"icon-money-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-money\\\"><path d=\\\"M54.122 127.892v-28.68H7.513V87.274h46.609v-12.4H7.513v-12.86h38.003L.099 0h22.6l32.556 45.07c3.617 5.144 6.44 9.611 8.487 13.385 1.788-3.05 4.89-7.779 9.301-14.186L103.93 0h24.01L82.385 62.013h38.34v12.862h-46.41v12.4h46.41v11.937h-46.41v28.68H54.123z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-example\",\n \"use\": \"icon-example-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-example\\\"><path d=\\\"M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-list\",\n \"use\": \"icon-list-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-list\\\"><path d=\\\"M1.585 12.087c0 6.616 3.974 11.98 8.877 11.98 4.902 0 8.877-5.364 8.877-11.98 0-6.616-3.975-11.98-8.877-11.98-4.903 0-8.877 5.364-8.877 11.98zM125.86.107H35.613c-1.268 0-2.114 1.426-2.114 2.852v18.255c0 1.712 1.057 2.853 2.114 2.853h90.247c1.268 0 2.114-1.426 2.114-2.853V2.96c0-1.711-1.057-2.852-2.114-2.852zM.106 62.86c0 6.615 3.974 11.979 8.876 11.979 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zM124.17 50.88H33.921c-1.268 0-2.114 1.425-2.114 2.851v18.256c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852V53.73c0-1.426-.846-2.852-2.114-2.852zM.106 115.913c0 6.616 3.974 11.98 8.876 11.98 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zm124.064-11.98H33.921c-1.268 0-2.114 1.426-2.114 2.853v18.255c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852v-18.255c0-1.427-.846-2.853-2.114-2.853z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=547b5dea&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=547b5dea&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-settings\",\n \"use\": \"icon-settings-usage\",\n \"viewBox\": \"0 0 490.2 490.2\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"0 0 490.2 490.2\\\" id=\\\"icon-settings\\\">\\r\\n<g>\\r\\n\\t<g>\\r\\n\\t\\t<g>\\r\\n\\t\\t\\t<path d=\\\"M469.1,173.1h-37.5c-1-3.1-3.1-6.3-4.2-9.4l26.1-26.1c8.3-8.3,8.3-20.9,0-29.2l-71.9-71.9c-8.3-8.3-20.9-8.3-29.2,0\\r\\n\\t\\t\\t\\tl-26.1,26.1c-3.1-2.1-6.3-3.1-9.4-4.2V20.9C316.9,9.4,307.5,0,296,0H193.9C182.4,0,173,9.4,173,20.9v37.5c-3.1,1-6.3,3.1-9.4,4.2\\r\\n\\t\\t\\t\\tl-26.1-26.1c-8.3-8.3-20.9-8.3-29.2,0l-71.9,71.9c-4.2,4.2-6.3,9.4-6.3,14.6s2.1,10.4,6.3,14.6l26.1,26.1\\r\\n\\t\\t\\t\\tc-2.1,3.1-3.1,6.3-4.2,9.4H20.9C9.4,173.1,0,182.5,0,194v102.2c0,11.5,9.4,20.9,20.9,20.9h37.5c1,3.1,3.1,6.3,4.2,9.4l-26.1,26.1\\r\\n\\t\\t\\t\\tc-4.2,4.2-6.3,9.4-6.3,14.6s2.1,10.4,6.3,14.6l71.9,71.9c8.3,8.3,20.9,8.3,29.2,0l26.1-26.1c3.1,2.1,6.3,3.1,9.4,4.2v37.5\\r\\n\\t\\t\\t\\tc0,11.5,9.4,20.9,20.9,20.9h102.2c11.5,0,20.9-9.4,20.9-20.9v-37.5c3.1-1,6.3-3.1,9.4-4.2l26.1,26.1c8.3,8.3,20.9,8.3,29.2,0\\r\\n\\t\\t\\t\\tl71.9-71.9c8.3-8.3,8.3-20.9,0-29.2l-26.1-26.1c2.1-3.1,3.1-6.3,4.2-9.4h37.5c11.5,0,20.9-9.4,20.9-20.9V193.9\\r\\n\\t\\t\\t\\tC490,182.4,480.6,173.1,469.1,173.1z M448.3,275.2H417c-9.4,0-16.7,6.3-19.8,14.6c-3.1,10.4-7.3,20.9-12.5,30.2\\r\\n\\t\\t\\t\\tc-5.2,8.3-3.1,18.8,3.1,25l21.9,21.9L367,409.7l-21.9-21.9c-7.3-6.3-16.7-7.3-25-3.1c-9.4,5.2-19.8,9.4-30.2,12.5\\r\\n\\t\\t\\t\\tc-8.3,2.1-14.6,10.4-14.6,19.8v31.3h-60.5l0,0V417c0-9.4-6.3-16.7-14.6-19.8c-10.4-3.1-20.9-7.3-30.2-12.5\\r\\n\\t\\t\\t\\tc-8.3-5.2-18.8-3.1-25,3.1l-22,21.9L80.3,367l21.9-21.9c6.3-7.3,7.3-16.7,3.1-25c-5.2-9.4-9.4-19.8-12.5-30.2\\r\\n\\t\\t\\t\\tc-2.1-8.3-10.4-14.6-19.8-14.6H41.7v-60.5H73c9.4,0,16.7-6.3,19.8-14.6c3.1-10.4,7.3-20.9,12.5-30.2c5.2-8.3,3.1-18.8-3.1-25\\r\\n\\t\\t\\t\\tl-21.9-22L123,80.3l21.9,21.9c7.3,6.3,16.7,7.3,25,3.1c9.4-5.2,19.8-9.4,30.2-12.5c8.3-2.1,14.6-10.4,14.6-19.8V41.7h60.5V73\\r\\n\\t\\t\\t\\tc0,9.4,6.3,16.7,14.6,19.8c10.4,3.1,20.9,7.3,30.2,12.5c8.3,5.2,18.8,3.1,25-3.1l22-21.9l42.7,42.7l-21.9,21.9\\r\\n\\t\\t\\t\\tc-6.3,7.3-7.3,16.7-3.1,25c5.2,9.4,9.4,19.8,12.5,30.2c2.1,8.3,10.4,14.6,19.8,14.6h31.3L448.3,275.2L448.3,275.2z\\\" />\\r\\n\\t\\t\\t<path d=\\\"M245,131.4c-62.6,0-113.6,51.1-113.6,113.6s51,113.6,113.6,113.6s113.6-51,113.6-113.6S307.6,131.4,245,131.4z\\r\\n\\t\\t\\t\\t M245,316.9c-39.6,0-71.9-32.3-71.9-71.9s32.3-71.9,71.9-71.9s71.9,32.3,71.9,71.9S284.6,316.9,245,316.9z\\\" />\\r\\n\\t\\t</g>\\r\\n\\t</g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n<g>\\r\\n</g>\\r\\n</symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-message\",\n \"use\": \"icon-message-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-message\\\"><path d=\\\"M0 20.967v59.59c0 11.59 8.537 20.966 19.075 20.966h28.613l1 26.477L76.8 101.523h32.125c10.538 0 19.075-9.377 19.075-20.966v-59.59C128 9.377 119.463 0 108.925 0h-89.85C8.538 0 0 9.377 0 20.967zm82.325 33.1c0-5.524 4.013-9.935 9.037-9.935 5.026 0 9.038 4.41 9.038 9.934 0 5.524-4.025 9.934-9.038 9.934-5.024 0-9.037-4.41-9.037-9.934zm-27.613 0c0-5.524 4.013-9.935 9.038-9.935s9.037 4.41 9.037 9.934c0 5.524-4.025 9.934-9.037 9.934-5.025 0-9.038-4.41-9.038-9.934zm-27.1 0c0-5.524 4.013-9.935 9.038-9.935s9.038 4.41 9.038 9.934c0 5.524-4.026 9.934-9.05 9.934-5.013 0-9.025-4.41-9.025-9.934z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-table\",\n \"use\": \"icon-table-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-table\\\"><path d=\\\"M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z\\\" /><path d=\\\"M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=style&index=0&id=767d264f&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=style&index=0&id=767d264f&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-eye\",\n \"use\": \"icon-eye-usage\",\n \"viewBox\": \"0 0 128 64\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 64\\\" id=\\\"icon-eye\\\"><path d=\\\"M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","var map = {\n\t\"./404.svg\": \"oUrx\",\n\t\"./bug.svg\": \"F3lI\",\n\t\"./chart.svg\": \"yCkv\",\n\t\"./clipboard.svg\": \"vDVG\",\n\t\"./component.svg\": \"VtY+\",\n\t\"./dashboard.svg\": \"94Jb\",\n\t\"./documentation.svg\": \"kPu2\",\n\t\"./drag.svg\": \"m7++\",\n\t\"./edit.svg\": \"qkZ8\",\n\t\"./email.svg\": \"y7eQ\",\n\t\"./example.svg\": \"MMMJ\",\n\t\"./excel.svg\": \"ZZmv\",\n\t\"./exit-fullscreen.svg\": \"28eg\",\n\t\"./eye-open.svg\": \"1+ww\",\n\t\"./eye.svg\": \"TfVu\",\n\t\"./form.svg\": \"6xvN\",\n\t\"./fullscreen.svg\": \"mSHS\",\n\t\"./guide 2.svg\": \"ICep\",\n\t\"./guide.svg\": \"ZoO1\",\n\t\"./icon.svg\": \"nZHn\",\n\t\"./international.svg\": \"F9+T\",\n\t\"./language.svg\": \"JYDz\",\n\t\"./link.svg\": \"GPBF\",\n\t\"./list.svg\": \"MokB\",\n\t\"./lock.svg\": \"qwAt\",\n\t\"./message.svg\": \"R/8a\",\n\t\"./money.svg\": \"MEYL\",\n\t\"./nested.svg\": \"3PhE\",\n\t\"./password.svg\": \"Kj24\",\n\t\"./pdf.svg\": \"+aF5\",\n\t\"./people.svg\": \"0Fbn\",\n\t\"./peoples.svg\": \"LxGF\",\n\t\"./qq.svg\": \"FDDl\",\n\t\"./search.svg\": \"jo2x\",\n\t\"./settings.svg\": \"P8iQ\",\n\t\"./shopping.svg\": \"EqXK\",\n\t\"./size.svg\": \"hkRB\",\n\t\"./star.svg\": \"cIpu\",\n\t\"./tab.svg\": \"j7e1\",\n\t\"./table.svg\": \"R/Hx\",\n\t\"./theme.svg\": \"5TQQ\",\n\t\"./tree.svg\": \"k80C\",\n\t\"./user.svg\": \"s7Vf\",\n\t\"./wechat.svg\": \"gNoN\",\n\t\"./zip.svg\": \"iqZD\"\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 = \"Uf/o\";","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-component\",\n \"use\": \"icon-component-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-component\\\"><path d=\\\"M0 0h54.857v54.857H0V0zm0 73.143h54.857V128H0V73.143zm73.143 0H128V128H73.143V73.143zm27.428-18.286C115.72 54.857 128 42.577 128 27.43 128 12.28 115.72 0 100.571 0 85.423 0 73.143 12.28 73.143 27.429c0 15.148 12.28 27.428 27.428 27.428z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../node_modules/babel-loader/lib/index.js?cacheDirectory!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js?cacheDirectory!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","<template>\n <div id=\"app\">\n <router-view/>\n </div>\n</template>\n\n<script>\nexport default{\n name: 'App'\n}\n</script>\n","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=6b42edcf&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.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\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Cookies from 'js-cookie'\n\nconst app = {\n state: {\n sidebar: {\n opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,\n withoutAnimation: false\n },\n device: 'desktop',\n language: Cookies.get('language') || 'en',\n size: Cookies.get('size') || 'medium'\n },\n mutations: {\n TOGGLE_SIDEBAR: state => {\n state.sidebar.opened = !state.sidebar.opened\n state.sidebar.withoutAnimation = false\n if (state.sidebar.opened) {\n Cookies.set('sidebarStatus', 1)\n } else {\n Cookies.set('sidebarStatus', 0)\n }\n },\n CLOSE_SIDEBAR: (state, withoutAnimation) => {\n Cookies.set('sidebarStatus', 0)\n state.sidebar.opened = false\n state.sidebar.withoutAnimation = withoutAnimation\n },\n TOGGLE_DEVICE: (state, device) => {\n state.device = device\n },\n SET_LANGUAGE: (state, language) => {\n state.language = language\n Cookies.set('language', language)\n },\n SET_SIZE: (state, size) => {\n state.size = size\n Cookies.set('size', size)\n }\n },\n actions: {\n toggleSideBar({ commit }) {\n commit('TOGGLE_SIDEBAR')\n },\n closeSideBar({ commit }, { withoutAnimation }) {\n commit('CLOSE_SIDEBAR', withoutAnimation)\n },\n toggleDevice({ commit }, device) {\n commit('TOGGLE_DEVICE', device)\n },\n setLanguage({ commit }, language) {\n commit('SET_LANGUAGE', language)\n },\n setSize({ commit }, size) {\n commit('SET_SIZE', size)\n }\n }\n}\n\nexport default app\n","const errorLog = {\n state: {\n logs: []\n },\n mutations: {\n ADD_ERROR_LOG: (state, log) => {\n state.logs.push(log)\n }\n },\n actions: {\n addErrorLog({ commit }, log) {\n commit('ADD_ERROR_LOG', log)\n }\n }\n}\n\nexport default errorLog\n","import _ from 'lodash'\n\nimport request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nexport async function fetchLog(authHost, token, params, page = 1) {\n const normalizedParams = new URLSearchParams(\n _.omitBy({ ...params, page }, _.isUndefined)\n ).toString()\n\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/moderation_log?${normalizedParams}`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function fetchAdmins(authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users?filters=is_admin`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function fetchModerators(authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users?filters=is_moderator`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","import { fetchLog, fetchAdmins, fetchModerators } from '@/api/moderationLog'\n\nconst moderationLog = {\n state: {\n fetchedLog: [],\n logItemsCount: 0,\n admins: [],\n moderators: [],\n logLoading: true,\n adminsLoading: true\n },\n mutations: {\n SET_LOG_LOADING: (state, status) => {\n state.logLoading = status\n },\n SET_ADMINS_LOADING: (state, status) => {\n state.adminsLoading = status\n },\n SET_MODERATION_LOG: (state, log) => {\n state.fetchedLog = log\n },\n SET_MODERATION_LOG_COUNT: (state, count) => {\n state.logItemsCount = count\n },\n SET_ADMINS: (state, admins) => {\n state.admins = admins\n },\n SET_MODERATORS: (state, moderators) => {\n state.moderators = moderators\n }\n },\n actions: {\n async FetchModerationLog({ commit, getters }, opts = {}) {\n const response = await fetchLog(getters.authHost, getters.token, opts)\n\n commit('SET_MODERATION_LOG', response.data.items)\n commit('SET_MODERATION_LOG_COUNT', response.data.total)\n commit('SET_LOG_LOADING', false)\n },\n async FetchAdmins({ commit, getters }) {\n const adminsResponse = await fetchAdmins(getters.authHost, getters.token)\n const moderatorsResponse = await fetchModerators(getters.authHost, getters.token)\n\n commit('SET_ADMINS', adminsResponse.data)\n commit('SET_MODERATORS', moderatorsResponse.data)\n commit('SET_ADMINS_LOADING', false)\n }\n }\n}\n\nexport default moderationLog\n","import request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nexport async function generateInviteToken(max_use, expires_at, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/invite_token`,\n method: 'post',\n headers: authHeaders(token),\n data: expires_at && expires_at.length > 0 ? { max_use, expires_at } : { max_use }\n })\n}\n\nexport async function inviteViaEmail(email, name, authHost, token) {\n const url = name.length > 0\n ? `/api/pleroma/admin/users/email_invite?email=${email}&name=${name}`\n : `/api/pleroma/admin/users/email_invite?email=${email}`\n return await request({\n baseURL: baseName(authHost),\n url,\n method: 'post',\n headers: authHeaders(token)\n })\n}\n\nexport async function listInviteTokens(authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/invites`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function revokeToken(tokenToRevoke, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/revoke_invite`,\n method: 'post',\n headers: authHeaders(token),\n data: { token: tokenToRevoke }\n })\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","import { generateInviteToken, inviteViaEmail, listInviteTokens, revokeToken } from '@/api/invites'\n\nconst invites = {\n state: {\n inviteTokens: [],\n loading: false,\n newToken: {}\n },\n mutations: {\n SET_LOADING: (state, status) => {\n state.loading = status\n },\n SET_NEW_TOKEN: (state, token) => {\n state.newToken = token\n },\n SET_TOKENS: (state, tokens) => {\n state.inviteTokens = tokens\n }\n },\n actions: {\n async FetchInviteTokens({ commit, getters }) {\n commit('SET_LOADING', true)\n const response = await listInviteTokens(getters.authHost, getters.token)\n commit('SET_TOKENS', response.data.invites.reverse())\n commit('SET_LOADING', false)\n },\n async GenerateInviteToken({ commit, dispatch, getters }, { maxUse, expiresAt }) {\n const { data } = await generateInviteToken(maxUse, expiresAt, getters.authHost, getters.token)\n commit('SET_NEW_TOKEN', { token: data.token, maxUse: data.max_use, expiresAt: data.expires_at })\n dispatch('FetchInviteTokens')\n },\n async InviteUserViaEmail({ commit, dispatch, getters }, { email, name }) {\n await inviteViaEmail(email, name, getters.authHost, getters.token)\n },\n RemoveNewToken({ commit }) {\n commit('SET_NEW_TOKEN', {})\n },\n async RevokeToken({ commit, dispatch, getters }, token) {\n await revokeToken(token, getters.authHost, getters.token)\n dispatch('FetchInviteTokens')\n }\n }\n}\n\nexport default invites\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div style=\"padding: 0 15px;\" @click=\"toggleClick\">\n <svg\n :class=\"{'is-active':isActive}\"\n class=\"hamburger\"\n viewBox=\"0 0 1024 1024\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"64\"\n height=\"64\"\n >\n <path d=\"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z\" />\n </svg>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'Hamburger',\n props: {\n isActive: {\n type: Boolean,\n default: false\n },\n toggleClick: {\n type: Function,\n default: null\n }\n }\n}\n</script>\n\n<style scoped>\n.hamburger {\n display: inline-block;\n vertical-align: middle;\n width: 20px;\n height: 20px;\n}\n\n.hamburger.is-active {\n transform: rotate(180deg);\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=3ee86d44&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=3ee86d44&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 \"3ee86d44\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"padding\":\"0 15px\"},on:{\"click\":_vm.toggleClick}},[_c('svg',{staticClass:\"hamburger\",class:{'is-active':_vm.isActive},attrs:{\"viewBox\":\"0 0 1024 1024\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":\"64\",\"height\":\"64\"}},[_c('path',{attrs:{\"d\":\"M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z\"}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navbar.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"navbar\">\n <hamburger :toggle-click=\"toggleSideBar\" :is-active=\"sidebar.opened\" class=\"hamburger-container\"/>\n <div class=\"right-menu\">\n <el-dropdown class=\"avatar-container right-menu-item hover-effect\" trigger=\"click\">\n <div class=\"avatar-wrapper\">\n <img :src=\"avatar+'?imageView2/1/w/80/h/80'\" class=\"user-avatar\">\n </div>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item>\n <span style=\"display:block;\" @click=\"logout\">{{ $t('navbar.logOut') }}</span>\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport Hamburger from '@/components/Hamburger'\n\nexport default {\n components: {\n Hamburger\n },\n computed: {\n ...mapGetters([\n 'sidebar',\n 'name',\n 'avatar',\n 'device'\n ])\n },\n methods: {\n toggleSideBar() {\n this.$store.dispatch('toggleSideBar')\n },\n logout() {\n this.$store.dispatch('LogOut').then(() => {\n location.reload()// In order to re-instantiate the vue-router object to avoid bugs\n })\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n.navbar {\n height: 50px;\n overflow: hidden;\n\n .hamburger-container {\n line-height: 46px;\n height: 100%;\n float: left;\n cursor: pointer;\n transition: background .3s;\n\n &:hover {\n background: rgba(0, 0, 0, .025)\n }\n }\n\n .breadcrumb-container {\n float: left;\n }\n\n .errLog-container {\n display: inline-block;\n vertical-align: top;\n }\n\n .right-menu {\n float: right;\n height: 100%;\n line-height: 50px;\n\n &:focus {\n outline: none;\n }\n\n .right-menu-item {\n display: inline-block;\n padding: 0 8px;\n height: 100%;\n font-size: 18px;\n color: #5a5e66;\n vertical-align: text-bottom;\n\n &.hover-effect {\n cursor: pointer;\n transition: background .3s;\n\n &:hover {\n background: rgba(0, 0, 0, .025)\n }\n }\n }\n\n .avatar-container {\n .avatar-wrapper {\n margin-top: 5px;\n position: relative;\n\n .user-avatar {\n cursor: pointer;\n width: 40px;\n height: 40px;\n border-radius: 10px;\n }\n\n .el-icon-caret-bottom {\n cursor: pointer;\n position: absolute;\n right: -20px;\n top: 25px;\n font-size: 12px;\n }\n }\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./Navbar.vue?vue&type=template&id=b535c57a&scoped=true&\"\nimport script from \"./Navbar.vue?vue&type=script&lang=js&\"\nexport * from \"./Navbar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Navbar.vue?vue&type=style&index=0&id=b535c57a&rel=stylesheet%2Fscss&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 \"b535c57a\",\n null\n \n)\n\ncomponent.options.__file = \"Navbar.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"navbar\"},[_c('hamburger',{staticClass:\"hamburger-container\",attrs:{\"toggle-click\":_vm.toggleSideBar,\"is-active\":_vm.sidebar.opened}}),_vm._v(\" \"),_c('div',{staticClass:\"right-menu\"},[_c('el-dropdown',{staticClass:\"avatar-container right-menu-item hover-effect\",attrs:{\"trigger\":\"click\"}},[_c('div',{staticClass:\"avatar-wrapper\"},[_c('img',{staticClass:\"user-avatar\",attrs:{\"src\":_vm.avatar+'?imageView2/1/w/80/h/80'}})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',[_c('span',{staticStyle:{\"display\":\"block\"},on:{\"click\":_vm.logout}},[_vm._v(_vm._s(_vm.$t('navbar.logOut')))])])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// translate router.meta.title, be used in breadcrumb sidebar tagsview\nexport function generateTitle(title) {\n const hasKey = this.$te('route.' + title)\n\n if (hasKey) {\n // $t :this method from vue-i18n, inject in @/lang/index.js\n const translatedTitle = this.$t('route.' + title)\n\n return translatedTitle\n }\n return title\n}\n","/**\n * Created by jiachenpan on 16/11/18.\n */\n\nexport function parseTime(time, cFormat) {\n if (arguments.length === 0) {\n return null\n }\n const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'\n let date\n if (typeof time === 'object') {\n date = time\n } else {\n if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {\n time = parseInt(time)\n }\n if ((typeof time === 'number') && (time.toString().length === 10)) {\n time = time * 1000\n }\n date = new Date(time)\n }\n const formatObj = {\n y: date.getFullYear(),\n m: date.getMonth() + 1,\n d: date.getDate(),\n h: date.getHours(),\n i: date.getMinutes(),\n s: date.getSeconds(),\n a: date.getDay()\n }\n const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {\n let value = formatObj[key]\n // Note: getDay() returns 0 on Sunday\n if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] }\n if (result.length > 0 && value < 10) {\n value = '0' + value\n }\n return value || 0\n })\n return time_str\n}\n\nexport function formatTime(time, option) {\n time = +time * 1000\n const d = new Date(time)\n const now = Date.now()\n\n const diff = (now - d) / 1000\n\n if (diff < 30) {\n return '刚刚'\n } else if (diff < 3600) {\n // less 1 hour\n return Math.ceil(diff / 60) + '分钟前'\n } else if (diff < 3600 * 24) {\n return Math.ceil(diff / 3600) + '小时前'\n } else if (diff < 3600 * 24 * 2) {\n return '1天前'\n }\n if (option) {\n return parseTime(time, option)\n } else {\n return (\n d.getMonth() +\n 1 +\n '月' +\n d.getDate() +\n '日' +\n d.getHours() +\n '时' +\n d.getMinutes() +\n '分'\n )\n }\n}\n\n// 格式化时间\nexport function getQueryObject(url) {\n url = url == null ? window.location.href : url\n const search = url.substring(url.lastIndexOf('?') + 1)\n const obj = {}\n const reg = /([^?&=]+)=([^?&=]*)/g\n search.replace(reg, (rs, $1, $2) => {\n const name = decodeURIComponent($1)\n let val = decodeURIComponent($2)\n val = String(val)\n obj[name] = val\n return rs\n })\n return obj\n}\n\n/**\n *get getByteLen\n * @param {Sting} val input value\n * @returns {number} output value\n */\nexport function getByteLen(val) {\n let len = 0\n for (let i = 0; i < val.length; i++) {\n if (val[i].match(/[^\\x00-\\xff]/gi) != null) {\n len += 1\n } else {\n len += 0.5\n }\n }\n return Math.floor(len)\n}\n\nexport function cleanArray(actual) {\n const newArray = []\n for (let i = 0; i < actual.length; i++) {\n if (actual[i]) {\n newArray.push(actual[i])\n }\n }\n return newArray\n}\n\nexport function param(json) {\n if (!json) return ''\n return cleanArray(\n Object.keys(json).map(key => {\n if (json[key] === undefined) return ''\n return encodeURIComponent(key) + '=' + encodeURIComponent(json[key])\n })\n ).join('&')\n}\n\nexport function param2Obj(url) {\n const search = url.split('?')[1]\n if (!search) {\n return {}\n }\n return JSON.parse(\n '{\"' +\n decodeURIComponent(search)\n .replace(/\"/g, '\\\\\"')\n .replace(/&/g, '\",\"')\n .replace(/=/g, '\":\"') +\n '\"}'\n )\n}\n\nexport function html2Text(val) {\n const div = document.createElement('div')\n div.innerHTML = val\n return div.textContent || div.innerText\n}\n\nexport function objectMerge(target, source) {\n /* Merges two objects,\n giving the last one precedence */\n\n if (typeof target !== 'object') {\n target = {}\n }\n if (Array.isArray(source)) {\n return source.slice()\n }\n Object.keys(source).forEach(property => {\n const sourceProperty = source[property]\n if (typeof sourceProperty === 'object') {\n target[property] = objectMerge(target[property], sourceProperty)\n } else {\n target[property] = sourceProperty\n }\n })\n return target\n}\n\nexport function toggleClass(element, className) {\n if (!element || !className) {\n return\n }\n let classString = element.className\n const nameIndex = classString.indexOf(className)\n if (nameIndex === -1) {\n classString += '' + className\n } else {\n classString =\n classString.substr(0, nameIndex) +\n classString.substr(nameIndex + className.length)\n }\n element.className = classString\n}\n\nexport const pickerOptions = [\n {\n text: '今天',\n onClick(picker) {\n const end = new Date()\n const start = new Date(new Date().toDateString())\n end.setTime(start.getTime())\n picker.$emit('pick', [start, end])\n }\n },\n {\n text: '最近一周',\n onClick(picker) {\n const end = new Date(new Date().toDateString())\n const start = new Date()\n start.setTime(end.getTime() - 3600 * 1000 * 24 * 7)\n picker.$emit('pick', [start, end])\n }\n },\n {\n text: '最近一个月',\n onClick(picker) {\n const end = new Date(new Date().toDateString())\n const start = new Date()\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)\n picker.$emit('pick', [start, end])\n }\n },\n {\n text: '最近三个月',\n onClick(picker) {\n const end = new Date(new Date().toDateString())\n const start = new Date()\n start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)\n picker.$emit('pick', [start, end])\n }\n }\n]\n\nexport function getTime(type) {\n if (type === 'start') {\n return new Date().getTime() - 3600 * 1000 * 24 * 90\n } else {\n return new Date(new Date().toDateString())\n }\n}\n\nexport function debounce(func, wait, immediate) {\n let timeout, args, context, timestamp, result\n\n const later = function() {\n // 据上一次触发时间间隔\n const last = +new Date() - timestamp\n\n // 上次被包装函数被调用时间间隔last小于设定时间间隔wait\n if (last < wait && last > 0) {\n timeout = setTimeout(later, wait - last)\n } else {\n timeout = null\n // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用\n if (!immediate) {\n result = func.apply(context, args)\n if (!timeout) context = args = null\n }\n }\n }\n\n return function(...args) {\n context = this\n timestamp = +new Date()\n const callNow = immediate && !timeout\n // 如果延时不存在,重新设定延时\n if (!timeout) timeout = setTimeout(later, wait)\n if (callNow) {\n result = func.apply(context, args)\n context = args = null\n }\n\n return result\n }\n}\n\n/**\n * This is just a simple version of deep copy\n * Has a lot of edge cases bug\n * If you want to use a perfect deep copy, use lodash's _.cloneDeep\n */\nexport function deepClone(source) {\n if (!source && typeof source !== 'object') {\n throw new Error('error arguments', 'shallowClone')\n }\n const targetObj = source.constructor === Array ? [] : {}\n Object.keys(source).forEach(keys => {\n if (source[keys] && typeof source[keys] === 'object') {\n targetObj[keys] = deepClone(source[keys])\n } else {\n targetObj[keys] = source[keys]\n }\n })\n return targetObj\n}\n\nexport function uniqueArr(arr) {\n return Array.from(new Set(arr))\n}\n\nexport function isExternal(path) {\n return /^(https?:|mailto:|tel:)/.test(path)\n}\n","<script>\nexport default {\n name: 'MenuItem',\n functional: true,\n props: {\n icon: {\n type: String,\n default: ''\n },\n title: {\n type: String,\n default: ''\n }\n },\n render(h, context) {\n const { icon, title } = context.props\n const vnodes = []\n\n if (icon) {\n vnodes.push(<svg-icon icon-class={icon}/>)\n }\n\n if (title) {\n vnodes.push(<span slot='title'>{(title)}</span>)\n }\n return vnodes\n }\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Item.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./Item.vue?vue&type=script&lang=js&\"\nexport * from \"./Item.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\ncomponent.options.__file = \"Item.vue\"\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Link.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Link.vue?vue&type=script&lang=js&\"","\n<template>\n <!-- eslint-disable vue/require-component-is -->\n <component v-bind=\"linkProps(to)\">\n <slot/>\n </component>\n</template>\n\n<script>\nimport { isExternal } from '@/utils'\n\nexport default {\n props: {\n to: {\n type: String,\n required: true\n }\n },\n methods: {\n linkProps(url) {\n if (isExternal(url)) {\n return {\n is: 'a',\n href: url,\n target: '_blank',\n rel: 'noopener'\n }\n }\n return {\n is: 'router-link',\n to: url\n }\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./Link.vue?vue&type=template&id=4dde2217&\"\nimport script from \"./Link.vue?vue&type=script&lang=js&\"\nexport * from \"./Link.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\ncomponent.options.__file = \"Link.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('component',_vm._b({},'component',_vm.linkProps(_vm.to),false),[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SidebarItem.vue?vue&type=script&lang=js&\"","<template>\n <div v-if=\"!item.hidden&&item.children\" class=\"menu-wrapper\">\n\n <template v-if=\"hasOneShowingChild(item.children,item) && (!onlyOneChild.children||onlyOneChild.noShowingChildren)&&!item.alwaysShow\">\n <app-link :to=\"resolvePath(onlyOneChild.path)\">\n <el-menu-item :index=\"resolvePath(onlyOneChild.path)\" :class=\"{'submenu-title-noDropdown':!isNest}\">\n <item v-if=\"onlyOneChild.meta\" :icon=\"onlyOneChild.meta.icon||item.meta.icon\" :title=\"generateTitle(onlyOneChild.meta.title)\" />\n </el-menu-item>\n </app-link>\n </template>\n\n <el-submenu v-else ref=\"subMenu\" :index=\"resolvePath(item.path)\">\n <template slot=\"title\">\n <item v-if=\"item.meta\" :icon=\"item.meta.icon\" :title=\"generateTitle(item.meta.title)\" />\n </template>\n\n <template v-for=\"child in item.children\">\n <template v-if=\"!child.hidden\">\n <sidebar-item\n v-if=\"child.children&&child.children.length>0\"\n :is-nest=\"true\"\n :item=\"child\"\n :key=\"child.path\"\n :base-path=\"resolvePath(child.path)\"\n class=\"nest-menu\" />\n\n <app-link v-else :to=\"resolvePath(child.path)\" :key=\"child.name\">\n <el-menu-item :index=\"resolvePath(child.path)\">\n <item v-if=\"child.meta\" :icon=\"child.meta.icon\" :title=\"generateTitle(child.meta.title)\" />\n </el-menu-item>\n </app-link>\n </template>\n </template>\n </el-submenu>\n\n </div>\n</template>\n\n<script>\nimport path from 'path'\nimport { generateTitle } from '@/utils/i18n'\nimport { isExternal } from '@/utils'\nimport Item from './Item'\nimport AppLink from './Link'\nimport FixiOSBug from './FixiOSBug'\n\nexport default {\n name: 'SidebarItem',\n components: { Item, AppLink },\n mixins: [FixiOSBug],\n props: {\n // route object\n item: {\n type: Object,\n required: true\n },\n isNest: {\n type: Boolean,\n default: false\n },\n basePath: {\n type: String,\n default: ''\n }\n },\n data: function() {\n return {\n onlyOneChild: null\n }\n },\n methods: {\n hasOneShowingChild(children, parent) {\n const showingChildren = children.filter(item => {\n if (item.hidden) {\n return false\n } else {\n // Temp set(will be used if only has one showing child)\n this.onlyOneChild = item\n return true\n }\n })\n\n // When there is only one child router, the child router is displayed by default\n if (showingChildren.length === 1) {\n return true\n }\n\n // Show parent if there are no child router to display\n if (showingChildren.length === 0) {\n this.onlyOneChild = { ... parent, path: '', noShowingChildren: true }\n return true\n }\n\n return false\n },\n resolvePath(routePath) {\n if (this.isExternalLink(routePath)) {\n return routePath\n }\n return path.resolve(this.basePath, routePath)\n },\n isExternalLink(routePath) {\n return isExternal(routePath)\n },\n generateTitle\n }\n}\n</script>\n","export default {\n computed: {\n device() {\n return this.$store.state.app.device\n }\n },\n mounted() {\n // In order to fix the click on menu on the ios device will trigger the mouseleave bug\n // https://github.com/PanJiaChen/vue-element-admin/issues/1135\n this.fixBugIniOS()\n },\n methods: {\n fixBugIniOS() {\n const $subMenu = this.$refs.subMenu\n if ($subMenu) {\n const handleMouseleave = $subMenu.handleMouseleave\n $subMenu.handleMouseleave = (e) => {\n if (this.device === 'mobile') {\n return\n }\n handleMouseleave(e)\n }\n }\n }\n }\n}\n","import { render, staticRenderFns } from \"./SidebarItem.vue?vue&type=template&id=79436b70&\"\nimport script from \"./SidebarItem.vue?vue&type=script&lang=js&\"\nexport * from \"./SidebarItem.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\ncomponent.options.__file = \"SidebarItem.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.item.hidden&&_vm.item.children)?_c('div',{staticClass:\"menu-wrapper\"},[(_vm.hasOneShowingChild(_vm.item.children,_vm.item) && (!_vm.onlyOneChild.children||_vm.onlyOneChild.noShowingChildren)&&!_vm.item.alwaysShow)?[_c('app-link',{attrs:{\"to\":_vm.resolvePath(_vm.onlyOneChild.path)}},[_c('el-menu-item',{class:{'submenu-title-noDropdown':!_vm.isNest},attrs:{\"index\":_vm.resolvePath(_vm.onlyOneChild.path)}},[(_vm.onlyOneChild.meta)?_c('item',{attrs:{\"icon\":_vm.onlyOneChild.meta.icon||_vm.item.meta.icon,\"title\":_vm.generateTitle(_vm.onlyOneChild.meta.title)}}):_vm._e()],1)],1)]:_c('el-submenu',{ref:\"subMenu\",attrs:{\"index\":_vm.resolvePath(_vm.item.path)}},[_c('template',{slot:\"title\"},[(_vm.item.meta)?_c('item',{attrs:{\"icon\":_vm.item.meta.icon,\"title\":_vm.generateTitle(_vm.item.meta.title)}}):_vm._e()],1),_vm._v(\" \"),_vm._l((_vm.item.children),function(child){return [(!child.hidden)?[(child.children&&child.children.length>0)?_c('sidebar-item',{key:child.path,staticClass:\"nest-menu\",attrs:{\"is-nest\":true,\"item\":child,\"base-path\":_vm.resolvePath(child.path)}}):_c('app-link',{key:child.name,attrs:{\"to\":_vm.resolvePath(child.path)}},[_c('el-menu-item',{attrs:{\"index\":_vm.resolvePath(child.path)}},[(child.meta)?_c('item',{attrs:{\"icon\":child.meta.icon,\"title\":_vm.generateTitle(child.meta.title)}}):_vm._e()],1)],1)]:_vm._e()]})],2)],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <el-scrollbar wrap-class=\"scrollbar-wrapper\">\n <el-menu\n :default-active=\"$route.path\"\n :collapse=\"isCollapse\"\n :background-color=\"variables.menuBg\"\n :text-color=\"variables.menuText\"\n :active-text-color=\"variables.menuActiveText\"\n mode=\"vertical\"\n >\n <sidebar-item v-for=\"route in permission_routers\" :key=\"route.path\" :item=\"route\" :base-path=\"route.path\"/>\n </el-menu>\n </el-scrollbar>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport SidebarItem from './SidebarItem'\nimport variables from '@/styles/variables.scss'\n\nexport default {\n components: { SidebarItem },\n computed: {\n ...mapGetters([\n 'permission_routers',\n 'sidebar'\n ]),\n variables() {\n return variables\n },\n isCollapse() {\n return !this.sidebar.opened\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=29a0fa94&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.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\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-scrollbar',{attrs:{\"wrap-class\":\"scrollbar-wrapper\"}},[_c('el-menu',{attrs:{\"default-active\":_vm.$route.path,\"collapse\":_vm.isCollapse,\"background-color\":_vm.variables.menuBg,\"text-color\":_vm.variables.menuText,\"active-text-color\":_vm.variables.menuActiveText,\"mode\":\"vertical\"}},_vm._l((_vm.permission_routers),function(route){return _c('sidebar-item',{key:route.path,attrs:{\"item\":route,\"base-path\":route.path}})}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <el-scrollbar ref=\"scrollContainer\" :vertical=\"false\" class=\"scroll-container\" @wheel.native.prevent=\"handleScroll\">\n <slot/>\n </el-scrollbar>\n</template>\n\n<script>\nconst tagAndTagSpacing = 4 // tagAndTagSpacing\n\nexport default {\n name: 'ScrollPane',\n data: function() {\n return {\n left: 0\n }\n },\n methods: {\n handleScroll(e) {\n const eventDelta = e.wheelDelta || -e.deltaY * 40\n const $scrollWrapper = this.$refs.scrollContainer.$refs.wrap\n $scrollWrapper.scrollLeft = $scrollWrapper.scrollLeft + eventDelta / 4\n },\n moveToTarget(currentTag) {\n const $container = this.$refs.scrollContainer.$el\n const $containerWidth = $container.offsetWidth\n const $scrollWrapper = this.$refs.scrollContainer.$refs.wrap\n const tagList = this.$parent.$refs.tag\n\n let firstTag = null\n let lastTag = null\n\n // find first tag and last tag\n if (tagList.length > 0) {\n firstTag = tagList[0]\n lastTag = tagList[tagList.length - 1]\n }\n\n if (firstTag === currentTag) {\n $scrollWrapper.scrollLeft = 0\n } else if (lastTag === currentTag) {\n $scrollWrapper.scrollLeft = $scrollWrapper.scrollWidth - $containerWidth\n } else {\n // find preTag and nextTag\n const currentIndex = tagList.findIndex(item => item === currentTag)\n const prevTag = tagList[currentIndex - 1]\n const nextTag = tagList[currentIndex + 1]\n // the tag's offsetLeft after of nextTag\n const afterNextTagOffsetLeft = nextTag.$el.offsetLeft + nextTag.$el.offsetWidth + tagAndTagSpacing\n\n // the tag's offsetLeft before of prevTag\n const beforePrevTagOffsetLeft = prevTag.$el.offsetLeft - tagAndTagSpacing\n\n if (afterNextTagOffsetLeft > $scrollWrapper.scrollLeft + $containerWidth) {\n $scrollWrapper.scrollLeft = afterNextTagOffsetLeft - $containerWidth\n } else if (beforePrevTagOffsetLeft < $scrollWrapper.scrollLeft) {\n $scrollWrapper.scrollLeft = beforePrevTagOffsetLeft\n }\n }\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n.scroll-container {\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n width: 100%;\n /deep/ {\n .el-scrollbar__bar {\n bottom: 0px;\n }\n .el-scrollbar__wrap {\n height: 49px;\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=547b5dea&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=547b5dea&rel=stylesheet%2Fscss&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 \"547b5dea\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-scrollbar',{ref:\"scrollContainer\",staticClass:\"scroll-container\",attrs:{\"vertical\":false},nativeOn:{\"wheel\":function($event){$event.preventDefault();return _vm.handleScroll($event)}}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsView.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"tags-view-container\">\n <scroll-pane ref=\"scrollPane\" class=\"tags-view-wrapper\">\n <router-link\n v-for=\"tag in visitedViews\"\n ref=\"tag\"\n :class=\"isActive(tag)?'active':''\"\n :to=\"{ path: tag.path, query: tag.query, fullPath: tag.fullPath }\"\n :key=\"tag.path\"\n tag=\"span\"\n class=\"tags-view-item\"\n @click.middle.native=\"closeSelectedTag(tag)\"\n @contextmenu.prevent.native=\"openMenu(tag,$event)\">\n {{ generateTitle(tag.title) }}\n <span v-if=\"!tag.meta.affix\" class=\"el-icon-close\" @click.prevent.stop=\"closeSelectedTag(tag)\" />\n </router-link>\n </scroll-pane>\n <ul v-show=\"visible\" :style=\"{left:left+'px',top:top+'px'}\" class=\"contextmenu\">\n <li @click=\"refreshSelectedTag(selectedTag)\">{{ $t('tagsView.refresh') }}</li>\n <li v-if=\"!(selectedTag.meta&&selectedTag.meta.affix)\" @click=\"closeSelectedTag(selectedTag)\">{{\n $t('tagsView.close') }}</li>\n <li @click=\"closeOthersTags\">{{ $t('tagsView.closeOthers') }}</li>\n <li @click=\"closeAllTags(selectedTag)\">{{ $t('tagsView.closeAll') }}</li>\n </ul>\n </div>\n</template>\n\n<script>\nimport ScrollPane from '@/components/ScrollPane'\nimport { generateTitle } from '@/utils/i18n'\nimport path from 'path'\n\nexport default {\n components: { ScrollPane },\n data: function() {\n return {\n visible: false,\n top: 0,\n left: 0,\n selectedTag: {},\n affixTags: []\n }\n },\n computed: {\n visitedViews() {\n return this.$store.state.tagsView.visitedViews\n },\n routers() {\n return this.$store.state.permission.routers\n }\n },\n watch: {\n $route() {\n this.addTags()\n this.moveToCurrentTag()\n },\n visible(value) {\n if (value) {\n document.body.addEventListener('click', this.closeMenu)\n } else {\n document.body.removeEventListener('click', this.closeMenu)\n }\n }\n },\n mounted() {\n this.initTags()\n this.addTags()\n },\n methods: {\n generateTitle, // generateTitle by vue-i18n\n isActive(route) {\n return route.path === this.$route.path\n },\n filterAffixTags(routes, basePath = '/') {\n let tags = []\n routes.forEach(route => {\n if (route.meta && route.meta.affix) {\n tags.push({\n path: path.resolve(basePath, route.path),\n name: route.name,\n meta: { ...route.meta }\n })\n }\n if (route.children) {\n const tempTags = this.filterAffixTags(route.children, route.path)\n if (tempTags.length >= 1) {\n tags = [...tags, ...tempTags]\n }\n }\n })\n\n return tags\n },\n initTags() {\n const affixTags = this.affixTags = this.filterAffixTags(this.routers)\n for (const tag of affixTags) {\n // Must have tag name\n if (tag.name) {\n this.$store.dispatch('addVisitedView', tag)\n }\n }\n },\n addTags() {\n const { name } = this.$route\n if (name) {\n this.$store.dispatch('addView', this.$route)\n }\n return false\n },\n moveToCurrentTag() {\n const tags = this.$refs.tag\n this.$nextTick(() => {\n for (const tag of tags) {\n if (tag.to.path === this.$route.path) {\n this.$refs.scrollPane.moveToTarget(tag)\n\n // when query is different then update\n if (tag.to.fullPath !== this.$route.fullPath) {\n this.$store.dispatch('updateVisitedView', this.$route)\n }\n\n break\n }\n }\n })\n },\n refreshSelectedTag(view) {\n this.$store.dispatch('delCachedView', view).then(() => {\n const { fullPath } = view\n this.$nextTick(() => {\n this.$router.replace({\n path: '/redirect' + fullPath\n })\n })\n })\n },\n closeSelectedTag(view) {\n this.$store.dispatch('delView', view).then(({ visitedViews }) => {\n if (this.isActive(view)) {\n this.toLastView(visitedViews)\n }\n })\n },\n closeOthersTags() {\n this.$router.push(this.selectedTag)\n this.$store.dispatch('delOthersViews', this.selectedTag).then(() => {\n this.moveToCurrentTag()\n })\n },\n closeAllTags(view) {\n this.$store.dispatch('delAllViews').then(({ visitedViews }) => {\n if (this.affixTags.some(tag => tag.path === view.path)) {\n return\n }\n this.toLastView(visitedViews)\n })\n },\n toLastView(visitedViews) {\n const latestView = visitedViews.slice(-1)[0]\n if (latestView) {\n this.$router.push(latestView)\n } else {\n // You can set another route\n this.$router.push('/')\n }\n },\n openMenu(tag, e) {\n const menuMinWidth = 105\n const offsetLeft = this.$el.getBoundingClientRect().left // container margin left\n const offsetWidth = this.$el.offsetWidth // container width\n const maxLeft = offsetWidth - menuMinWidth // left boundary\n const left = e.clientX - offsetLeft + 15 // 15: margin right\n\n if (left > maxLeft) {\n this.left = maxLeft\n } else {\n this.left = left\n }\n this.top = e.clientY\n\n this.visible = true\n this.selectedTag = tag\n },\n closeMenu() {\n this.visible = false\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n.tags-view-container {\n height: 34px;\n width: 100%;\n background: #fff;\n border-bottom: 1px solid #d8dce5;\n box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);\n .tags-view-wrapper {\n .tags-view-item {\n display: inline-block;\n position: relative;\n cursor: pointer;\n height: 26px;\n line-height: 26px;\n border: 1px solid #d8dce5;\n color: #495060;\n background: #fff;\n padding: 0 8px;\n font-size: 12px;\n margin-left: 5px;\n margin-top: 4px;\n &:first-of-type {\n margin-left: 15px;\n }\n &:last-of-type {\n margin-right: 15px;\n }\n &.active {\n background-color: #42b983;\n color: #fff;\n border-color: #42b983;\n &::before {\n content: '';\n background: #fff;\n display: inline-block;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n position: relative;\n margin-right: 2px;\n }\n }\n }\n }\n .contextmenu {\n margin: 0;\n background: #fff;\n z-index: 100;\n position: absolute;\n list-style-type: none;\n padding: 5px 0;\n border-radius: 4px;\n font-size: 12px;\n font-weight: 400;\n color: #333;\n box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);\n li {\n margin: 0;\n padding: 7px 16px;\n cursor: pointer;\n &:hover {\n background: #eee;\n }\n }\n }\n}\n</style>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\">\n//reset element css of el-icon-close\n.tags-view-wrapper {\n .tags-view-item {\n .el-icon-close {\n width: 16px;\n height: 16px;\n vertical-align: 2px;\n border-radius: 50%;\n text-align: center;\n transition: all .3s cubic-bezier(.645, .045, .355, 1);\n transform-origin: 100% 50%;\n &:before {\n transform: scale(.6);\n display: inline-block;\n vertical-align: -3px;\n }\n &:hover {\n background-color: #b4bccc;\n color: #fff;\n }\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./TagsView.vue?vue&type=template&id=67e96c42&scoped=true&\"\nimport script from \"./TagsView.vue?vue&type=script&lang=js&\"\nexport * from \"./TagsView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TagsView.vue?vue&type=style&index=0&id=67e96c42&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"\nimport style1 from \"./TagsView.vue?vue&type=style&index=1&rel=stylesheet%2Fscss&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 \"67e96c42\",\n null\n \n)\n\ncomponent.options.__file = \"TagsView.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tags-view-container\"},[_c('scroll-pane',{ref:\"scrollPane\",staticClass:\"tags-view-wrapper\"},_vm._l((_vm.visitedViews),function(tag){return _c('router-link',{key:tag.path,ref:\"tag\",refInFor:true,staticClass:\"tags-view-item\",class:_vm.isActive(tag)?'active':'',attrs:{\"to\":{ path: tag.path, query: tag.query, fullPath: tag.fullPath },\"tag\":\"span\"},nativeOn:{\"mouseup\":function($event){if('button' in $event && $event.button !== 1){ return null; }return _vm.closeSelectedTag(tag)},\"contextmenu\":function($event){$event.preventDefault();return _vm.openMenu(tag,$event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.generateTitle(tag.title))+\"\\n \"),(!tag.meta.affix)?_c('span',{staticClass:\"el-icon-close\",on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.closeSelectedTag(tag)}}}):_vm._e()])}),1),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.visible),expression:\"visible\"}],staticClass:\"contextmenu\",style:({left:_vm.left+'px',top:_vm.top+'px'})},[_c('li',{on:{\"click\":function($event){return _vm.refreshSelectedTag(_vm.selectedTag)}}},[_vm._v(_vm._s(_vm.$t('tagsView.refresh')))]),_vm._v(\" \"),(!(_vm.selectedTag.meta&&_vm.selectedTag.meta.affix))?_c('li',{on:{\"click\":function($event){return _vm.closeSelectedTag(_vm.selectedTag)}}},[_vm._v(_vm._s(_vm.$t('tagsView.close')))]):_vm._e(),_vm._v(\" \"),_c('li',{on:{\"click\":_vm.closeOthersTags}},[_vm._v(_vm._s(_vm.$t('tagsView.closeOthers')))]),_vm._v(\" \"),_c('li',{on:{\"click\":function($event){return _vm.closeAllTags(_vm.selectedTag)}}},[_vm._v(_vm._s(_vm.$t('tagsView.closeAll')))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMain.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMain.vue?vue&type=script&lang=js&\"","<template>\n <section class=\"app-main\">\n <transition name=\"fade-transform\" mode=\"out-in\">\n <keep-alive :include=\"cachedViews\">\n <router-view :key=\"key\"/>\n </keep-alive>\n </transition>\n </section>\n</template>\n\n<script>\nexport default {\n name: 'AppMain',\n computed: {\n cachedViews() {\n return this.$store.state.tagsView.cachedViews\n },\n key() {\n return this.$route.fullPath\n }\n }\n}\n</script>\n\n<style scoped>\n.app-main {\n /*84 = navbar + tags-view = 50 +34 */\n min-height: calc(100vh - 84px);\n width: 100%;\n position: relative;\n overflow: hidden;\n}\n</style>\n\n","import { render, staticRenderFns } from \"./AppMain.vue?vue&type=template&id=f852c4f2&scoped=true&\"\nimport script from \"./AppMain.vue?vue&type=script&lang=js&\"\nexport * from \"./AppMain.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AppMain.vue?vue&type=style&index=0&id=f852c4f2&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 \"f852c4f2\",\n null\n \n)\n\ncomponent.options.__file = \"AppMain.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"app-main\"},[_c('transition',{attrs:{\"name\":\"fade-transform\",\"mode\":\"out-in\"}},[_c('keep-alive',{attrs:{\"include\":_vm.cachedViews}},[_c('router-view',{key:_vm.key})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import store from '@/store'\n\nconst { body } = document\nconst WIDTH = 1024\nconst RATIO = 3\n\nexport default {\n watch: {\n $route(route) {\n if (this.device === 'mobile' && this.sidebar.opened) {\n store.dispatch('closeSideBar', { withoutAnimation: false })\n }\n }\n },\n beforeMount() {\n window.addEventListener('resize', this.resizeHandler)\n },\n mounted() {\n const isMobile = this.isMobile()\n if (isMobile) {\n store.dispatch('toggleDevice', 'mobile')\n store.dispatch('closeSideBar', { withoutAnimation: true })\n }\n },\n methods: {\n isMobile() {\n const rect = body.getBoundingClientRect()\n return rect.width - RATIO < WIDTH\n },\n resizeHandler() {\n if (!document.hidden) {\n const isMobile = this.isMobile()\n store.dispatch('toggleDevice', isMobile ? 'mobile' : 'desktop')\n\n if (isMobile) {\n store.dispatch('closeSideBar', { withoutAnimation: true })\n }\n }\n }\n }\n}\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Layout.vue?vue&type=script&lang=js&\"","<template>\n <div :class=\"classObj\" class=\"app-wrapper\">\n <div v-if=\"device==='mobile'&&sidebar.opened\" class=\"drawer-bg\" @click=\"handleClickOutside\"/>\n <sidebar class=\"sidebar-container\"/>\n <div class=\"main-container\">\n <navbar/>\n <app-main/>\n </div>\n </div>\n</template>\n\n<script>\nimport { Navbar, Sidebar, AppMain, TagsView } from './components'\nimport ResizeMixin from './mixin/ResizeHandler'\n\nexport default {\n name: 'Layout',\n components: {\n Navbar,\n Sidebar,\n AppMain,\n TagsView\n },\n mixins: [ResizeMixin],\n computed: {\n sidebar() {\n return this.$store.state.app.sidebar\n },\n device() {\n return this.$store.state.app.device\n },\n classObj() {\n return {\n hideSidebar: !this.sidebar.opened,\n openSidebar: this.sidebar.opened,\n withoutAnimation: this.sidebar.withoutAnimation,\n mobile: this.device === 'mobile'\n }\n }\n },\n methods: {\n handleClickOutside() {\n this.$store.dispatch('closeSideBar', { withoutAnimation: false })\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n @import \"~@/styles/mixin.scss\";\n .app-wrapper {\n @include clearfix;\n position: relative;\n height: 100%;\n width: 100%;\n &.mobile.openSidebar{\n position: fixed;\n top: 0;\n }\n }\n .drawer-bg {\n background: #000;\n opacity: 0.3;\n width: 100%;\n top: 0;\n height: 100%;\n position: absolute;\n z-index: 999;\n }\n</style>\n","import { render, staticRenderFns } from \"./Layout.vue?vue&type=template&id=767d264f&scoped=true&\"\nimport script from \"./Layout.vue?vue&type=script&lang=js&\"\nexport * from \"./Layout.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Layout.vue?vue&type=style&index=0&id=767d264f&rel=stylesheet%2Fscss&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 \"767d264f\",\n null\n \n)\n\ncomponent.options.__file = \"Layout.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-wrapper\",class:_vm.classObj},[(_vm.device==='mobile'&&_vm.sidebar.opened)?_c('div',{staticClass:\"drawer-bg\",on:{\"click\":_vm.handleClickOutside}}):_vm._e(),_vm._v(\" \"),_c('sidebar',{staticClass:\"sidebar-container\"}),_vm._v(\" \"),_c('div',{staticClass:\"main-container\"},[_c('navbar'),_vm._v(\" \"),_c('app-main')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Vue from 'vue'\nimport Router from 'vue-router'\n\nVue.use(Router)\n\n/* Layout */\nimport Layout from '@/views/layout/Layout'\n\nconst disabledFeatures = process.env.DISABLED_FEATURES || []\nconst settingsDisabled = disabledFeatures.includes('settings')\nconst settings = {\n path: '/settings',\n component: Layout,\n children: [\n {\n path: 'index',\n component: () => import('@/views/settings/index'),\n name: 'Settings',\n meta: { title: 'Settings', icon: 'settings', noCache: true }\n }\n ]\n}\n\nconst reportsDisabled = disabledFeatures.includes('reports')\nconst reports = {\n path: '/reports',\n component: Layout,\n children: [\n {\n path: 'index',\n component: () => import('@/views/reports/index'),\n name: 'Reports',\n meta: { title: 'Reports', icon: 'documentation', noCache: true }\n }\n ]\n}\n\nconst invitesDisabled = disabledFeatures.includes('invites')\nconst invites = {\n path: '/invites',\n component: Layout,\n children: [\n {\n path: 'index',\n component: () => import('@/views/invites/index'),\n name: 'Invites',\n meta: { title: 'Invites', icon: 'guide', noCache: true }\n }\n ]\n}\n\nconst moderationLogDisabled = disabledFeatures.includes('moderation-log')\nconst moderationLog = {\n path: '/moderation_log',\n component: Layout,\n children: [\n {\n path: 'index',\n component: () => import('@/views/moderation_log/index'),\n name: 'Moderation Log',\n meta: { title: 'moderationLog', icon: 'list', noCache: true }\n }\n ]\n}\n\nconst emojiPacksDisabled = disabledFeatures.includes('emoji-packs')\nconst emojiPacks = {\n path: '/emoji-packs',\n component: Layout,\n children: [\n {\n path: 'index',\n component: () => import('@/views/emoji-packs/index'),\n name: 'Emoji packs',\n meta: { title: 'emoji-packs', icon: 'settings', noCache: true }\n }\n ]\n}\n\nexport const constantRouterMap = [\n {\n path: '/redirect',\n component: Layout,\n hidden: true,\n children: [\n {\n path: '/redirect/:path*',\n component: () => import('@/views/redirect/index')\n }\n ]\n },\n {\n path: '/login-pleroma',\n component: () => import('@/views/login/pleroma'),\n hidden: true\n },\n {\n path: '/login',\n component: () => import('@/views/login/index'),\n hidden: true\n },\n {\n path: '/auth-redirect',\n component: () => import('@/views/login/authredirect'),\n hidden: true\n },\n {\n path: '/404',\n component: () => import('@/views/errorPage/404'),\n hidden: true\n },\n {\n path: '/401',\n component: () => import('@/views/errorPage/401'),\n hidden: true\n },\n {\n path: '',\n component: Layout,\n redirect: '/users/index'\n }\n]\n\nexport default new Router({\n // mode: 'history', // require service support\n scrollBehavior: () => ({ y: 0 }),\n routes: constantRouterMap\n})\n\nexport const asyncRouterMap = [\n {\n path: '/users',\n component: Layout,\n children: [\n {\n path: 'index',\n component: () => import('@/views/users/index'),\n name: 'Users',\n meta: { title: 'users', icon: 'peoples', noCache: true }\n }\n ]\n },\n ...(reportsDisabled ? [] : [reports]),\n ...(invitesDisabled ? [] : [invites]),\n ...(moderationLogDisabled ? [] : [moderationLog]),\n ...(settingsDisabled ? [] : [settings]),\n ...(emojiPacksDisabled ? [] : [emojiPacks]),\n {\n path: '/users/:id',\n component: Layout,\n children: [\n {\n path: '',\n name: 'UsersShow',\n component: () => import('@/views/users/show')\n }\n ],\n hidden: true\n },\n { path: '*', redirect: '/404', hidden: true }\n]\n","import { asyncRouterMap, constantRouterMap } from '@/router'\n\n/**\n * 通过meta.role判断是否与当前用户权限匹配\n * @param roles\n * @param route\n */\nfunction hasPermission(roles, route) {\n if (route.meta && route.meta.roles) {\n return roles.some(role => route.meta.roles.includes(role))\n } else {\n return true\n }\n}\n\n/**\n * 递归过滤异步路由表,返回符合用户角色权限的路由表\n * @param routes asyncRouterMap\n * @param roles\n */\nfunction filterAsyncRouter(routes, roles) {\n const res = []\n\n routes.forEach(route => {\n const tmp = { ...route }\n if (hasPermission(roles, tmp)) {\n if (tmp.children) {\n tmp.children = filterAsyncRouter(tmp.children, roles)\n }\n res.push(tmp)\n }\n })\n\n return res\n}\n\nconst permission = {\n state: {\n routers: [],\n addRouters: []\n },\n mutations: {\n SET_ROUTERS: (state, routers) => {\n state.addRouters = routers\n state.routers = constantRouterMap.concat(routers)\n }\n },\n actions: {\n GenerateRoutes({ commit }, data) {\n return new Promise(resolve => {\n const { roles } = data\n let accessedRouters\n if (roles.includes('admin')) {\n accessedRouters = asyncRouterMap\n } else {\n accessedRouters = filterAsyncRouter(asyncRouterMap, roles)\n }\n commit('SET_ROUTERS', accessedRouters)\n resolve()\n })\n }\n }\n}\n\nexport default permission\n","import request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nexport async function changeState(state, id, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/reports/${id}`,\n method: 'put',\n headers: authHeaders(token),\n data: { state }\n })\n}\n\nexport async function changeStatusScope(id, sensitive, visibility, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/statuses/${id}`,\n method: 'put',\n headers: authHeaders(token),\n data: { sensitive, visibility }\n })\n}\n\nexport async function deleteStatus(id, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/statuses/${id}`,\n method: 'delete',\n headers: authHeaders(token)\n })\n}\n\nexport async function fetchReports(limit, max_id, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/reports?limit=${limit}&max_id=${max_id}`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function filterReports(filter, limit, max_id, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/reports?state=${filter}&limit=${limit}&max_id=${max_id}`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","import { changeState, changeStatusScope, deleteStatus, fetchReports, filterReports } from '@/api/reports'\n\nconst reports = {\n state: {\n fetchedReports: [],\n idOfLastReport: '',\n page_limit: 5,\n stateFilter: '',\n loading: true\n },\n mutations: {\n SET_LAST_REPORT_ID: (state, id) => {\n state.idOfLastReport = id\n },\n SET_LOADING: (state, status) => {\n state.loading = status\n },\n SET_REPORTS: (state, reports) => {\n state.fetchedReports = reports\n },\n SET_REPORTS_FILTER: (state, filter) => {\n state.stateFilter = filter\n }\n },\n actions: {\n async ChangeReportState({ commit, getters, state }, { reportState, reportId }) {\n const { data } = await changeState(reportState, reportId, getters.authHost, getters.token)\n const updatedReports = state.fetchedReports.map(report => report.id === reportId ? data : report)\n commit('SET_REPORTS', updatedReports)\n },\n async ChangeStatusScope({ commit, getters, state }, { statusId, isSensitive, visibility, reportId }) {\n const { data } = await changeStatusScope(statusId, isSensitive, visibility, getters.authHost, getters.token)\n const updatedReports = state.fetchedReports.map(report => {\n if (report.id === reportId) {\n const statuses = report.statuses.map(status => status.id === statusId ? data : status)\n return { ...report, statuses }\n } else {\n return report\n }\n })\n commit('SET_REPORTS', updatedReports)\n },\n ClearFetchedReports({ commit }) {\n commit('SET_REPORTS', [])\n commit('SET_LAST_REPORT_ID', '')\n },\n async DeleteStatus({ commit, getters, state }, { statusId, reportId }) {\n deleteStatus(statusId, getters.authHost, getters.token)\n const updatedReports = state.fetchedReports.map(report => {\n if (report.id === reportId) {\n const statuses = report.statuses.filter(status => status.id !== statusId)\n return { ...report, statuses }\n } else {\n return report\n }\n })\n commit('SET_REPORTS', updatedReports)\n },\n async FetchReports({ commit, getters, state }) {\n commit('SET_LOADING', true)\n\n const response = state.stateFilter.length === 0\n ? await fetchReports(state.page_limit, state.idOfLastReport, getters.authHost, getters.token)\n : await filterReports(state.stateFilter, state.page_limit, state.idOfLastReport, getters.authHost, getters.token)\n\n const reports = state.fetchedReports.concat(response.data.reports)\n const id = reports.length > 0 ? reports[reports.length - 1].id : state.idOfLastReport\n\n commit('SET_REPORTS', reports)\n commit('SET_LAST_REPORT_ID', id)\n commit('SET_LOADING', false)\n },\n SetFilter({ commit }, filter) {\n commit('SET_REPORTS_FILTER', filter)\n }\n }\n}\n\nexport default reports\n","import request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nexport async function fetchSettings(authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/config`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function updateSettings(configs, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/config`,\n method: 'post',\n headers: authHeaders(token),\n data: { configs }\n })\n}\n\nexport async function uploadMedia(file, authHost, token) {\n const formData = new FormData()\n formData.append('file', file)\n return await request({\n baseURL: baseName(authHost),\n url: `/api/v1/media`,\n method: 'post',\n headers: authHeaders(token),\n data: formData\n })\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","export const initialSettings = [\n {\n group: 'pleroma',\n key: ':instance',\n value: [\n { 'tuple': [':name', 'Pleroma'] },\n { 'tuple': [':email', 'example@example.com'] },\n { 'tuple': [':notify_email', 'noreply@example.com'] },\n { 'tuple': [':description', 'A Pleroma instance, an alternative fediverse server'] },\n { 'tuple': [':limit', 5000] },\n { 'tuple': [':remote_limit', 100000] },\n { 'tuple': [':upload_limit', 16 * 1048576] },\n { 'tuple': [':avatar_upload_limit', 2 * 1048576] },\n { 'tuple': [':background_upload_limit', 4 * 1048576] },\n { 'tuple': [':banner_upload_limit', 4 * 1048576] },\n { 'tuple': [':poll_limits', [\n { 'tuple': [':max_options', 20] },\n { 'tuple': [':max_option_chars', 200] },\n { 'tuple': [':min_expiration', 0] },\n { 'tuple': [':max_expiration', 365 * 86400] }\n ]] },\n { 'tuple': [':registrations_open', true] },\n { 'tuple': [':invites_enabled', false] },\n { 'tuple': [':account_activation_required', false] },\n { 'tuple': [':federating', true] },\n { 'tuple': [':federation_reachability_timeout_days', 7] },\n { 'tuple':\n [':federation_publisher_modules', ['Pleroma.Web.ActivityPub.Publisher', 'Pleroma.Web.Websub', 'Pleroma.Web.Salmon']] },\n { 'tuple': [':allow_relay', true] },\n { 'tuple': [':rewrite_policy', 'Pleroma.Web.ActivityPub.MRF.NoOpPolicy'] },\n { 'tuple': [':public', true] },\n { 'tuple': [':managed_config', true] },\n { 'tuple': [':static_dir', 'instance/static/'] },\n { 'tuple': [':allowed_post_formats', ['text/plain', 'text/html', 'text/markdown', 'text/bbcode']] },\n { 'tuple': [':mrf_transparency', true] },\n { 'tuple': [':extended_nickname_format', false] },\n { 'tuple': [':max_pinned_statuses', 1] },\n { 'tuple': [':no_attachment_links', false] },\n { 'tuple': [':max_report_comment_size', 1000] },\n { 'tuple': [':safe_dm_mentions', false] },\n { 'tuple': [':healthcheck', false] },\n { 'tuple': [':remote_post_retention_days', 90] },\n { 'tuple': [':skip_thread_containment', true] },\n { 'tuple': [':limit_to_local_content', ':unauthenticated'] },\n { 'tuple': [':dynamic_configuration', true] },\n { 'tuple': [':max_account_fields', 10] },\n { 'tuple': [':max_remote_account_fields', 20] },\n { 'tuple': [':account_field_name_length', 255] },\n { 'tuple': [':account_field_value_length', 255] },\n { 'tuple': [':external_user_synchronization', true] },\n { 'tuple': [':user_bio_length', 5000] },\n { 'tuple': [':user_name_length', 100] }\n ]\n },\n {\n group: 'mime',\n key: ':types',\n value: {\n 'application/activity+json': ['activity+json'],\n 'application/jrd+json': ['jrd+json'],\n 'application/ld+json': ['activity+json'],\n 'application/xml': ['xml'],\n 'application/xrd+xml': ['xrd+xml']\n }\n },\n {\n group: 'cors_plug',\n key: ':max_age',\n value: 86400\n },\n {\n group: 'cors_plug',\n key: ':methods',\n value: ['POST', 'PUT', 'DELETE', 'GET', 'PATCH', 'OPTIONS']\n },\n {\n group: 'cors_plug',\n key: ':expose',\n value: [\n 'Link',\n 'X-RateLimit-Reset',\n 'X-RateLimit-Limit',\n 'X-RateLimit-Remaining',\n 'X-Request-Id',\n 'Idempotency-Key'\n ]\n },\n {\n group: 'cors_plug',\n key: ':credentials',\n value: true\n },\n {\n group: 'cors_plug',\n key: ':headers',\n value: ['Authorization', 'Content-Type', 'Idempotency-Key']\n },\n {\n group: 'tesla',\n key: ':adapter',\n value: 'Tesla.Adapter.Hackney'\n },\n {\n group: 'pleroma',\n key: ':markup',\n value: [\n { 'tuple': [':allow_inline_images', true] },\n { 'tuple': [':allow_headings', false] },\n { 'tuple': [':allow_tables', false] },\n { 'tuple': [':allow_fonts', false] },\n { 'tuple': [':scrub_policy', [\n 'Pleroma.HTML.Transform.MediaProxy',\n 'Pleroma.HTML.Scrubber.Default'\n ]] }\n ]\n }\n]\n","const nonAtomsTuples = ['replace', ':replace']\nconst nonAtomsObjects = ['match_actor', ':match_actor']\nconst objects = ['digest', 'pleroma_fe', 'masto_fe', 'poll_limits', 'styling']\nconst objectParents = ['mascots']\nconst groups = {\n 'cors_plug': [\n 'credentials',\n 'expose',\n 'headers',\n 'max_age',\n 'methods'\n ],\n 'esshd': [\n 'enabled',\n 'handler',\n 'password_authenticator',\n 'port',\n 'priv_dir'\n ],\n 'logger': ['backends', 'console', 'ex_syslogger'],\n 'mime': ['types'],\n 'phoenix': ['format_encoders'],\n 'pleroma': [\n 'Pleroma.Captcha',\n 'Pleroma.Captcha.Kocaptcha',\n 'Pleroma.Emails.Mailer',\n 'Pleroma.Emails.UserEmail',\n 'Pleroma.Repo',\n 'Pleroma.ScheduledActivity',\n 'Pleroma.Upload',\n 'Pleroma.Upload.Filter.AnonymizeFilename',\n 'Pleroma.Upload.Filter.Mogrify',\n 'Pleroma.Uploaders.Local',\n 'Pleroma.Uploaders.MDII',\n 'Pleroma.Uploaders.S3',\n 'Pleroma.User',\n 'Pleroma.Web.Auth.Authenticator',\n 'Pleroma.Web.Endpoint',\n 'Pleroma.Web.Federator.RetryQueue',\n 'Pleroma.Web.Metadata',\n 'activitypub',\n 'admin_token',\n 'assets',\n 'auth',\n 'auto_linker',\n 'chat',\n 'database',\n 'ecto_repos',\n 'email_notifications',\n 'emoji',\n 'env',\n 'fetch_initial_posts',\n 'frontend_configurations',\n 'gopher',\n 'hackney_pools',\n 'http',\n 'http_security',\n 'instance',\n 'ldap',\n 'markup',\n 'media_proxy',\n 'mrf_hellthread',\n 'mrf_keyword',\n 'mrf_mention',\n 'mrf_normalize_markup',\n 'mrf_rejectnonpublic',\n 'mrf_simple',\n 'mrf_subchain',\n 'mrf_user_allowlist',\n 'mrf_vocabulary',\n 'oauth2',\n 'rate_limit',\n 'rich_media',\n 'suggestions',\n 'uri_schemes',\n 'user'\n ],\n 'pleroma_job_queue': ['queues'],\n 'quack': ['level', 'meta', 'webhook_url'],\n 'tesla': ['adapter'],\n 'ueberauth': [\n 'Ueberauth',\n 'Ueberauth.Strategy.Facebook.OAuth',\n 'Ueberauth.Strategy.Google.OAuth',\n 'Ueberauth.Strategy.Microsoft.OAuth',\n 'Ueberauth.Strategy.Twitter.OAuth'\n ],\n 'web_push_encryption': ['vapid_details']\n}\n\nexport const filterIgnored = (settings, ignored) => {\n if (settings.enabled.value === true) {\n return settings\n }\n\n return ignored.reduce((acc, name) => {\n const { [name]: ignored, ...newAcc } = acc\n\n return newAcc\n }, settings)\n}\n\n// REFACTOR\nexport const parseTuples = (tuples, key) => {\n return tuples.reduce((accum, item) => {\n if (key === 'rate_limit') {\n accum[item.tuple[0].substr(1)] = item.tuple[1]\n } else if (Array.isArray(item.tuple[1]) &&\n (typeof item.tuple[1][0] === 'object' && !Array.isArray(item.tuple[1][0])) && item.tuple[1][0]['tuple']) {\n nonAtomsTuples.includes(item.tuple[0])\n ? accum[item.tuple[0].substr(1)] = parseNonAtomTuples(item.tuple[1])\n : accum[item.tuple[0].substr(1)] = parseTuples(item.tuple[1])\n } else if (Array.isArray(item.tuple[1])) {\n accum[item.tuple[0].substr(1)] = item.tuple[1]\n } else if (item.tuple[1] && typeof item.tuple[1] === 'object' && 'tuple' in item.tuple[1]) {\n accum[item.tuple[0].substr(1)] = item.tuple[1]['tuple'].join('.')\n } else if (item.tuple[1] && typeof item.tuple[1] === 'object') {\n nonAtomsObjects.includes(item.tuple[0])\n ? accum[item.tuple[0].substr(1)] = parseNonAtomObject(item.tuple[1])\n : accum[item.tuple[0].substr(1)] = parseObject(item.tuple[1])\n } else {\n key === 'mrf_user_allowlist'\n ? accum[item.tuple[0]] = item.tuple[1]\n : accum[item.tuple[0].substr(1)] = item.tuple[1]\n }\n return accum\n }, {})\n}\n\nconst parseNonAtomTuples = (tuples) => {\n return tuples.reduce((acc, item) => {\n acc[item.tuple[0]] = item.tuple[1]\n return acc\n }, {})\n}\n\nconst parseNonAtomObject = (object) => {\n return Object.keys(object).reduce((acc, item) => {\n acc[item] = object[item]\n return acc\n }, {})\n}\n\nconst parseObject = (object) => {\n return Object.keys(object).reduce((acc, item) => {\n acc[item.substr(1)] = object[item]\n return acc\n }, {})\n}\n\nexport const valueHasTuples = (key, value) => {\n const valueIsArrayOfNonObjects = Array.isArray(value) && value.length > 0 && typeof value[0] !== 'object'\n return key === 'meta' ||\n key === 'types' ||\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean' ||\n valueIsArrayOfNonObjects\n}\n\n// REFACTOR\nexport const wrapConfig = settings => {\n return Object.keys(settings).map(config => {\n const group = getGroup(config)\n const key = config.startsWith('Pleroma') || config.startsWith('Ueberauth') ? config : `:${config}`\n const value = (settings[config]['value'] !== undefined)\n ? settings[config]['value']\n : Object.keys(settings[config]).reduce((acc, settingName) => {\n const data = settings[config][settingName]\n if (data === null || data === '') {\n return acc\n } else if (key === ':rate_limit') {\n return [...acc, { 'tuple': [`:${settingName}`, data] }]\n } else if (settingName === 'ip') {\n const ip = data.split('.').map(s => parseInt(s, 10))\n return [...acc, { 'tuple': [`:${settingName}`, { 'tuple': ip }] }]\n } else if (Array.isArray(data) || typeof data !== 'object') {\n return key === ':mrf_user_allowlist'\n ? [...acc, { 'tuple': [`${settingName}`, data] }]\n : [...acc, { 'tuple': [`:${settingName}`, data] }]\n } else if (nonAtomsObjects.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNonAtomsObjects(data)] }]\n } else if (objectParents.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNestedObjects(data)] }]\n } else if (objects.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapObjects(data)] }]\n } else if (nonAtomsTuples.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNonAtomsTuples(data)] }]\n } else {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNestedTuples(data)] }]\n }\n }, [])\n return { group, key, value }\n })\n}\n\nconst wrapNestedTuples = setting => {\n return Object.keys(setting).reduce((acc, settingName) => {\n const data = setting[settingName]\n if (data === null || data === '') {\n return acc\n } else if (settingName === 'ip') {\n const ip = data.split('.').map(s => parseInt(s, 10))\n return [...acc, { 'tuple': [`:${settingName}`, { 'tuple': ip }] }]\n } else if (Array.isArray(data) || typeof data !== 'object') {\n return [...acc, { 'tuple': [`:${settingName}`, data] }]\n } else if (nonAtomsObjects.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNonAtomsObjects(data)] }]\n } else if (objectParents.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNestedObjects(data)] }]\n } else if (objects.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapObjects(data)] }]\n } else if (nonAtomsTuples.includes(settingName)) {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNonAtomsTuples(data)] }]\n } else {\n return [...acc, { 'tuple': [`:${settingName}`, wrapNestedTuples(data)] }]\n }\n }, [])\n}\n\nconst wrapNonAtomsTuples = setting => {\n return Object.keys(setting).reduce((acc, settingName) => {\n return [...acc, { 'tuple': [`${settingName}`, setting[settingName]] }]\n }, [])\n}\n\nconst wrapNestedObjects = setting => {\n return Object.keys(setting).reduce((acc, settingName) => {\n return [...acc, { 'tuple': [`:${settingName}`, wrapObjects(setting[settingName])] }]\n }, [])\n}\n\nconst wrapNonAtomsObjects = setting => {\n return Object.keys(setting).reduce((acc, settingName) => {\n return { ...acc, [`${settingName}`]: setting[settingName] }\n }, {})\n}\n\nconst wrapObjects = setting => {\n return Object.keys(setting).reduce((acc, settingName) => {\n return { ...acc, [`:${settingName}`]: setting[settingName] }\n }, {})\n}\n\nconst getGroup = key => {\n return Object.keys(groups).find(i => groups[i].includes(key))\n}\n\n","import { fetchSettings, updateSettings, uploadMedia } from '@/api/settings'\nimport { initialSettings } from '@/api/initialDataForConfig'\nimport { filterIgnored, parseTuples, valueHasTuples, wrapConfig } from './normalizers'\n\nconst settings = {\n state: {\n settings: {\n 'activitypub': {},\n 'adapter': {},\n 'admin_token': {},\n 'assets': { mascots: {}},\n 'auth': {},\n 'auto_linker': { opts: {}},\n 'backends': {},\n 'chat': {},\n 'console': { colors: {}},\n 'credentials': {},\n 'database': {},\n 'ecto_repos': {},\n 'email_notifications': { digest: {}},\n 'emoji': { groups: {}},\n 'enabled': {},\n 'ex_syslogger': {},\n 'expose': {},\n 'fetch_initial_posts': {},\n 'format_encoders': {},\n 'frontend_configurations': { pleroma_fe: {}, masto_fe: {}},\n 'gopher': {},\n 'hackney_pools': { federation: {}, media: {}, upload: {}},\n 'handler': {},\n 'headers': {},\n 'http': { adapter: {}},\n 'http_security': {},\n 'instance': { poll_limits: {}},\n 'level': {},\n 'ldap': {},\n 'markup': {},\n 'max_age': {},\n 'media_proxy': { proxy_opts: {}},\n 'meta': {},\n 'methods': {},\n 'mrf_hellthread': {},\n 'mrf_keyword': { replace: {}},\n 'mrf_mention': {},\n 'mrf_normalize_markup': {},\n 'mrf_rejectnonpublic': {},\n 'mrf_simple': {},\n 'mrf_subchain': { match_actor: {}},\n 'mrf_user_allowlist': {},\n 'mrf_vocabulary': {},\n 'oauth2': {},\n 'password_authenticator': {},\n 'Pleroma.Captcha': {},\n 'Pleroma.Captcha.Kocaptcha': {},\n 'Pleroma.Emails.Mailer': {},\n 'Pleroma.Emails.UserEmail': { styling: {}},\n 'Pleroma.Repo': {},\n 'Pleroma.ScheduledActivity': {},\n 'Pleroma.Upload': { proxy_opts: {}},\n 'Pleroma.Upload.Filter.AnonymizeFilename': {},\n 'Pleroma.Upload.Filter.Mogrify': {},\n 'Pleroma.Uploaders.Local': {},\n 'Pleroma.Uploaders.MDII': {},\n 'Pleroma.Uploaders.S3': {},\n 'Pleroma.User': {},\n 'Pleroma.Web.Auth.Authenticator': {},\n 'Pleroma.Web.Endpoint':\n { http: false, url: {}, render_errors: {}, pubsub: {}},\n 'Pleroma.Web.Federator.RetryQueue': {},\n 'Pleroma.Web.Metadata': {},\n 'port': {},\n 'priv_dir': {},\n 'queues': {},\n 'rate_limit': {},\n 'rich_media': {},\n 'suggestions': {},\n 'types': { value: {}},\n 'Ueberauth': {},\n 'Ueberauth.Strategy.Facebook.OAuth': {},\n 'Ueberauth.Strategy.Google.OAuth': {},\n 'Ueberauth.Strategy.Microsoft.OAuth': {},\n 'Ueberauth.Strategy.Twitter.OAuth': {},\n 'user': {},\n 'uri_schemes': {},\n 'vapid_details': {},\n 'webhook_url': {}\n },\n ignoredIfNotEnabled: ['enabled', 'handler', 'password_authenticator', 'port', 'priv_dir'],\n loading: true\n },\n mutations: {\n REWRITE_CONFIG: (state, { tab, data }) => {\n state.settings[tab] = data\n },\n SET_LOADING: (state, status) => {\n state.loading = status\n },\n SET_SETTINGS: (state, data) => {\n const newSettings = data.reduce((acc, config) => {\n const key = config.key[0] === ':' ? config.key.substr(1) : config.key\n const value = valueHasTuples(key, config.value) ? { value: config.value } : parseTuples(config.value, key)\n acc[key] = { ...acc[key], ...value }\n return acc\n }, state.settings)\n state.settings = newSettings\n },\n UPDATE_SETTINGS: (state, { tab, data }) => {\n Object.keys(state.settings).map(configName => {\n if (configName === tab) {\n state.settings[configName] = { ...state.settings[configName], ...data }\n }\n })\n }\n },\n actions: {\n async FetchSettings({ commit, dispatch, getters }) {\n commit('SET_LOADING', true)\n const response = await fetchSettings(getters.authHost, getters.token)\n if (response.data.configs.length === 0) {\n dispatch('SubmitChanges', initialSettings)\n } else {\n commit('SET_SETTINGS', response.data.configs)\n }\n commit('SET_LOADING', false)\n },\n RewriteConfig({ commit }, { tab, data }) {\n commit('REWRITE_CONFIG', { tab, data })\n },\n async SubmitChanges({ getters, commit, state }, data) {\n const filteredSettings = filterIgnored(state.settings, state.ignoredIfNotEnabled)\n const configs = data || wrapConfig(filteredSettings)\n const response = await updateSettings(configs, getters.authHost, getters.token)\n if (data) {\n commit('SET_SETTINGS', response.data.configs)\n }\n },\n UpdateSettings({ commit }, { tab, data }) {\n commit('UPDATE_SETTINGS', { tab, data })\n },\n async UploadMedia({ dispatch, getters, state }, { file, tab, inputName, childName }) {\n const response = await uploadMedia(file, getters.authHost, getters.token)\n const updatedValue = childName\n ? { ...state.settings[tab][inputName], ...{ [childName]: response.data.url }}\n : response.data.url\n dispatch('UpdateSettings', { tab, data: { [inputName]: updatedValue }})\n }\n }\n}\n\nexport default settings\n","const tagsView = {\n state: {\n visitedViews: [],\n cachedViews: []\n },\n mutations: {\n ADD_VISITED_VIEW: (state, view) => {\n if (state.visitedViews.some(v => v.path === view.path)) return\n state.visitedViews.push(\n Object.assign({}, view, {\n title: view.meta.title || 'no-name'\n })\n )\n },\n ADD_CACHED_VIEW: (state, view) => {\n if (state.cachedViews.includes(view.name)) return\n if (!view.meta.noCache) {\n state.cachedViews.push(view.name)\n }\n },\n\n DEL_VISITED_VIEW: (state, view) => {\n for (const [i, v] of state.visitedViews.entries()) {\n if (v.path === view.path) {\n state.visitedViews.splice(i, 1)\n break\n }\n }\n },\n DEL_CACHED_VIEW: (state, view) => {\n for (const i of state.cachedViews) {\n if (i === view.name) {\n const index = state.cachedViews.indexOf(i)\n state.cachedViews.splice(index, 1)\n break\n }\n }\n },\n\n DEL_OTHERS_VISITED_VIEWS: (state, view) => {\n state.visitedViews = state.visitedViews.filter(v => {\n return v.meta.affix || v.path === view.path\n })\n },\n DEL_OTHERS_CACHED_VIEWS: (state, view) => {\n for (const i of state.cachedViews) {\n if (i === view.name) {\n const index = state.cachedViews.indexOf(i)\n state.cachedViews = state.cachedViews.slice(index, index + 1)\n break\n }\n }\n },\n\n DEL_ALL_VISITED_VIEWS: state => {\n // keep affix tags\n const affixTags = state.visitedViews.filter(tag => tag.meta.affix)\n state.visitedViews = affixTags\n },\n DEL_ALL_CACHED_VIEWS: state => {\n state.cachedViews = []\n },\n\n UPDATE_VISITED_VIEW: (state, view) => {\n for (let v of state.visitedViews) {\n if (v.path === view.path) {\n v = Object.assign(v, view)\n break\n }\n }\n }\n\n },\n actions: {\n addView({ dispatch }, view) {\n dispatch('addVisitedView', view)\n dispatch('addCachedView', view)\n },\n addVisitedView({ commit }, view) {\n commit('ADD_VISITED_VIEW', view)\n },\n addCachedView({ commit }, view) {\n commit('ADD_CACHED_VIEW', view)\n },\n\n delView({ dispatch, state }, view) {\n return new Promise(resolve => {\n dispatch('delVisitedView', view)\n dispatch('delCachedView', view)\n resolve({\n visitedViews: [...state.visitedViews],\n cachedViews: [...state.cachedViews]\n })\n })\n },\n delVisitedView({ commit, state }, view) {\n return new Promise(resolve => {\n commit('DEL_VISITED_VIEW', view)\n resolve([...state.visitedViews])\n })\n },\n delCachedView({ commit, state }, view) {\n return new Promise(resolve => {\n commit('DEL_CACHED_VIEW', view)\n resolve([...state.cachedViews])\n })\n },\n\n delOthersViews({ dispatch, state }, view) {\n return new Promise(resolve => {\n dispatch('delOthersVisitedViews', view)\n dispatch('delOthersCachedViews', view)\n resolve({\n visitedViews: [...state.visitedViews],\n cachedViews: [...state.cachedViews]\n })\n })\n },\n delOthersVisitedViews({ commit, state }, view) {\n return new Promise(resolve => {\n commit('DEL_OTHERS_VISITED_VIEWS', view)\n resolve([...state.visitedViews])\n })\n },\n delOthersCachedViews({ commit, state }, view) {\n return new Promise(resolve => {\n commit('DEL_OTHERS_CACHED_VIEWS', view)\n resolve([...state.cachedViews])\n })\n },\n\n delAllViews({ dispatch, state }, view) {\n return new Promise(resolve => {\n dispatch('delAllVisitedViews', view)\n dispatch('delAllCachedViews', view)\n resolve({\n visitedViews: [...state.visitedViews],\n cachedViews: [...state.cachedViews]\n })\n })\n },\n delAllVisitedViews({ commit, state }) {\n return new Promise(resolve => {\n commit('DEL_ALL_VISITED_VIEWS')\n resolve([...state.visitedViews])\n })\n },\n delAllCachedViews({ commit, state }) {\n return new Promise(resolve => {\n commit('DEL_ALL_CACHED_VIEWS')\n resolve([...state.cachedViews])\n })\n },\n\n updateVisitedView({ commit }, view) {\n commit('UPDATE_VISITED_VIEW', view)\n }\n }\n}\n\nexport default tagsView\n","import request from '@/utils/request'\nimport { baseName } from './utils'\n\nexport async function loginByUsername(username, password, authHost) {\n const appsRequest = await request({\n baseURL: baseName(authHost),\n url: '/api/v1/apps',\n method: 'post',\n data: {\n client_name: `AdminFE_${Math.random()}`,\n redirect_uris: `${window.location.origin}/oauth-callback`,\n scopes: 'read write follow'\n }\n })\n\n const app = appsRequest.data\n\n return request({\n baseURL: baseName(authHost),\n url: '/oauth/token',\n method: 'post',\n data: {\n client_id: app.client_id,\n client_secret: app.client_secret,\n grant_type: 'password',\n username: username,\n password: password\n }\n })\n}\n\nexport function getUserInfo(token, authHost) {\n return request({\n baseURL: baseName(authHost),\n url: '/api/v1/accounts/verify_credentials',\n method: 'get',\n headers: token ? { 'Authorization': `Bearer ${token}` } : {}\n })\n}\n\nconst oauth = { loginByUsername, getUserInfo }\n\nexport default oauth\n","import request from '@/utils/request'\nimport { baseName } from './utils'\n\nexport async function getNodeInfo(authHost) {\n return await request({\n baseURL: baseName(authHost),\n url: `/nodeinfo/2.0.json`,\n method: 'get'\n })\n}\n","import { loginByUsername, getUserInfo } from '@/api/login'\nimport { getNodeInfo } from '@/api/nodeInfo'\nimport { getToken, setToken, removeToken, getAuthHost, setAuthHost, removeAuthHost } from '@/utils/auth'\n\nconst user = {\n state: {\n user: '',\n id: '',\n status: '',\n code: '',\n token: getToken(),\n authHost: getAuthHost(),\n name: '',\n avatar: '',\n introduction: '',\n roles: [],\n setting: {\n articlePlatform: []\n },\n nodeInfo: {}\n },\n\n mutations: {\n SET_CODE: (state, code) => {\n state.code = code\n },\n SET_TOKEN: (state, token) => {\n state.token = token\n },\n SET_INTRODUCTION: (state, introduction) => {\n state.introduction = introduction\n },\n SET_SETTING: (state, setting) => {\n state.setting = setting\n },\n SET_STATUS: (state, status) => {\n state.status = status\n },\n SET_NAME: (state, name) => {\n state.name = name\n },\n SET_AVATAR: (state, avatar) => {\n state.avatar = avatar\n },\n SET_ROLES: (state, roles) => {\n state.roles = roles\n },\n SET_ID: (state, id) => {\n state.id = id\n },\n SET_AUTH_HOST: (state, authHost) => {\n state.authHost = authHost\n },\n SET_NODE_INFO: (state, nodeInfo) => {\n state.nodeInfo = nodeInfo\n }\n },\n\n actions: {\n LoginByUsername({ commit, dispatch }, { username, authHost, password }) {\n return new Promise((resolve, reject) => {\n loginByUsername(username, password, authHost).then(response => {\n const data = response.data\n commit('SET_TOKEN', data.access_token)\n commit('SET_AUTH_HOST', authHost)\n setToken(data.access_token)\n setAuthHost(authHost)\n resolve()\n }).catch(error => {\n dispatch('addErrorLog', { message: error.message })\n reject(error)\n })\n })\n },\n async GetNodeInfo({ commit, state }) {\n const nodeInfo = await getNodeInfo(state.authHost)\n\n commit('SET_NODE_INFO', nodeInfo.data)\n },\n GetUserInfo({ commit, state }) {\n return new Promise((resolve, reject) => {\n getUserInfo(state.token, state.authHost).then(response => {\n const data = response.data\n\n if (!data) {\n reject('Verification failed, please login again.')\n }\n\n if (data.pleroma && data.pleroma.is_admin) {\n commit('SET_ROLES', ['admin'])\n } else {\n reject('getInfo: roles must be a non-null array!')\n }\n\n commit('SET_NAME', data.username)\n commit('SET_ID', data.id)\n commit('SET_AVATAR', data.avatar)\n commit('SET_INTRODUCTION', '')\n resolve(response)\n }).catch(error => {\n reject(error)\n })\n })\n },\n LogOut({ commit }) {\n commit('SET_TOKEN', '')\n commit('SET_ROLES', [])\n removeToken()\n removeAuthHost()\n },\n FedLogOut({ commit }) {\n return new Promise(resolve => {\n commit('SET_TOKEN', '')\n removeToken()\n removeAuthHost()\n resolve()\n })\n },\n async LoginByPleromaFE({ commit, dispatch }, { token }) {\n commit('SET_TOKEN', token)\n setToken(token)\n commit('SET_AUTH_HOST', window.location.host)\n setAuthHost(window.location.host)\n\n dispatch('GetUserInfo')\n }\n }\n}\n\nexport default user\n","import request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nexport async function addRight(nickname, right, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/${nickname}/permission_group/${right}`,\n method: 'post',\n headers: authHeaders(token)\n })\n}\n\nexport async function createNewAccount(nickname, email, password, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: '/api/pleroma/admin/users',\n method: 'post',\n headers: authHeaders(token),\n data: { users: [{ nickname, email, password }] }\n })\n}\n\nexport async function deleteRight(nickname, right, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/${nickname}/permission_group/${right}`,\n method: 'delete',\n headers: authHeaders(token)\n })\n}\n\nexport async function deleteUser(nickname, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users?nickname=${nickname}`,\n method: 'delete',\n headers: authHeaders(token)\n })\n}\n\nexport async function fetchUser(id, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/${id}`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function fetchUsers(filters, authHost, token, page = 1) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users?page=${page}&filters=${filters}`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function getPasswordResetToken(nickname, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/${nickname}/password_reset`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function requirePasswordReset(nickname, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/${nickname}/force_password_reset`,\n method: 'patch',\n headers: authHeaders(token)\n })\n}\n\nexport async function searchUsers(query, filters, authHost, token, page = 1) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users?query=${query}&page=${page}&filters=${filters}`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nexport async function tagUser(nicknames, tags, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: '/api/pleroma/admin/users/tag',\n method: 'put',\n headers: authHeaders(token),\n data: { nicknames, tags }\n })\n}\n\nexport async function toggleUserActivation(nickname, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/${nickname}/toggle_activation`,\n method: 'patch',\n headers: authHeaders(token)\n })\n}\n\nexport async function untagUser(nicknames, tags, authHost, token) {\n return await request({\n baseURL: baseName(authHost),\n url: '/api/pleroma/admin/users/tag',\n method: 'delete',\n headers: authHeaders(token),\n data: { nicknames, tags }\n })\n}\n\nexport async function fetchUserStatuses(id, authHost, godmode, token) {\n return await request({\n baseURL: baseName(authHost),\n url: `/api/pleroma/admin/users/${id}/statuses?godmode=${godmode}`,\n method: 'get',\n headers: authHeaders(token)\n })\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","import { fetchUser, fetchUserStatuses } from '@/api/users'\n\nconst userProfile = {\n state: {\n user: {},\n loading: true,\n statuses: []\n },\n mutations: {\n SET_USER: (state, user) => {\n state.user = user\n },\n SET_LOADING: (state, status) => {\n state.loading = status\n },\n SET_STATUSES: (state, statuses) => {\n state.statuses = statuses\n }\n },\n actions: {\n async FetchData({ commit, getters }, { id, godmode }) {\n commit('SET_LOADING', true)\n\n const [userResponse, statusesResponse] = await Promise.all([\n fetchUser(id, getters.authHost, getters.token),\n fetchUserStatuses(id, getters.authHost, godmode, getters.token)\n ])\n\n commit('SET_USER', userResponse.data)\n commit('SET_STATUSES', statusesResponse.data)\n commit('SET_LOADING', false)\n }\n }\n}\n\nexport default userProfile\n","import {\n addRight,\n createNewAccount,\n deleteRight,\n deleteUser,\n fetchUsers,\n getPasswordResetToken,\n searchUsers,\n tagUser,\n toggleUserActivation,\n untagUser,\n requirePasswordReset\n} from '@/api/users'\n\nconst users = {\n state: {\n fetchedUsers: [],\n loading: true,\n searchQuery: '',\n totalUsersCount: 0,\n currentPage: 1,\n filters: {\n local: false,\n external: false,\n active: false,\n deactivated: false\n },\n passwordResetToken: {\n token: '',\n link: ''\n }\n },\n mutations: {\n SET_USERS: (state, users) => {\n state.fetchedUsers = users\n },\n SET_LOADING: (state, status) => {\n state.loading = status\n },\n SWAP_USER: (state, updatedUser) => {\n const updated = state.fetchedUsers.map(user => user.id === updatedUser.id ? updatedUser : user)\n state.fetchedUsers = updated\n .map(user => user.nickname ? user : { ...user, nickname: '' })\n .sort((a, b) => a.nickname.localeCompare(b.nickname))\n },\n SWAP_USERS: (state, users) => {\n const usersWithoutSwapped = users.reduce((acc, user) => {\n return acc.filter(u => u.id !== user.id)\n }, state.fetchedUsers)\n\n state.fetchedUsers = [...usersWithoutSwapped, ...users].sort((a, b) =>\n a.nickname.localeCompare(b.nickname)\n )\n },\n SET_COUNT: (state, count) => {\n state.totalUsersCount = count\n },\n SET_PAGE: (state, page) => {\n state.currentPage = page\n },\n SET_PAGE_SIZE: (state, pageSize) => {\n state.pageSize = pageSize\n },\n SET_PASSWORD_RESET_TOKEN: (state, { token, link }) => {\n state.passwordResetToken.token = token\n state.passwordResetToken.link = link\n },\n SET_SEARCH_QUERY: (state, query) => {\n state.searchQuery = query\n },\n SET_USERS_FILTERS: (state, filters) => {\n state.filters = filters\n },\n SET_USER_PROFILE: (state, user) => {\n state.userProfile = user\n }\n },\n actions: {\n async AddTag({ commit, getters }, { users, tag }) {\n const nicknames = users.map(user => user.nickname)\n await tagUser(nicknames, [tag], getters.authHost, getters.token)\n\n commit('SWAP_USERS', users.map(user => ({ ...user, tags: [...user.tags, tag] })))\n },\n async ClearFilters({ commit, dispatch, state }) {\n commit('CLEAR_USERS_FILTERS')\n dispatch('SearchUsers', { query: state.searchQuery, page: 1 })\n },\n async CreateNewAccount({ dispatch, getters, state }, { nickname, email, password }) {\n await createNewAccount(nickname, email, password, getters.authHost, getters.token)\n dispatch('FetchUsers', { page: state.currentPage })\n },\n async DeleteUser({ commit, getters, state }, user) {\n const { data } = await deleteUser(user.nickname, getters.authHost, getters.token)\n const users = state.fetchedUsers.filter(user => user.nickname !== data)\n commit('SET_USERS', users)\n },\n async RequirePasswordReset({ commit, getters, state }, user) {\n await requirePasswordReset(user.nickname, getters.authHost, getters.token)\n },\n async FetchUsers({ commit, state, getters, dispatch }, { page }) {\n commit('SET_LOADING', true)\n const filters = Object.keys(state.filters).filter(filter => state.filters[filter]).join()\n const response = await fetchUsers(filters, getters.authHost, getters.token, page)\n await dispatch('GetNodeInfo')\n loadUsers(commit, page, response.data)\n },\n async GetPasswordResetToken({ commit, state, getters }, nickname) {\n const { data } = await getPasswordResetToken(nickname, getters.authHost, getters.token)\n commit('SET_PASSWORD_RESET_TOKEN', data)\n },\n RemovePasswordToken({ commit }) {\n commit('SET_PASSWORD_RESET_TOKEN', { link: '', token: '' })\n },\n async RemoveTag({ commit, getters }, { users, tag }) {\n const nicknames = users.map(user => user.nickname)\n await untagUser(nicknames, [tag], getters.authHost, getters.token)\n\n commit('SWAP_USERS', users.map(user => ({ ...user, tags: user.tags.filter(userTag => userTag !== tag) })))\n },\n async SearchUsers({ commit, dispatch, state, getters }, { query, page }) {\n if (query.length === 0) {\n commit('SET_SEARCH_QUERY', query)\n dispatch('FetchUsers', { page })\n } else {\n commit('SET_LOADING', true)\n commit('SET_SEARCH_QUERY', query)\n\n const filters = Object.keys(state.filters).filter(filter => state.filters[filter]).join()\n const response = await searchUsers(query, filters, getters.authHost, getters.token, page)\n\n loadUsers(commit, page, response.data)\n }\n },\n async ToggleUserActivation({ commit, getters }, nickname) {\n const { data } = await toggleUserActivation(nickname, getters.authHost, getters.token)\n commit('SWAP_USER', data)\n },\n async ToggleUsersFilter({ commit, dispatch, state }, filters) {\n const defaultFilters = {\n local: false,\n external: false,\n active: false,\n deactivated: false\n }\n const currentFilters = { ...defaultFilters, ...filters }\n commit('SET_USERS_FILTERS', currentFilters)\n dispatch('SearchUsers', { query: state.searchQuery, page: 1 })\n },\n async ToggleRight({ commit, getters }, { user, right }) {\n user.roles[right]\n ? await deleteRight(user.nickname, right, getters.authHost, getters.token)\n : await addRight(user.nickname, right, getters.authHost, getters.token)\n\n const updatedUser = { ...user, roles: { ...user.roles, [right]: !user.roles[right] }}\n commit('SWAP_USER', updatedUser)\n }\n }\n}\n\nconst loadUsers = (commit, page, { users, count, page_size }) => {\n commit('SET_USERS', users)\n commit('SET_COUNT', count)\n commit('SET_PAGE', page)\n commit('SET_PAGE_SIZE', page_size)\n commit('SET_LOADING', false)\n}\n\nexport default users\n","const getters = {\n sidebar: state => state.app.sidebar,\n language: state => state.app.language,\n size: state => state.app.size,\n device: state => state.app.device,\n visitedViews: state => state.tagsView.visitedViews,\n cachedViews: state => state.tagsView.cachedViews,\n token: state => state.user.token,\n avatar: state => state.user.avatar,\n name: state => state.user.name,\n introduction: state => state.user.introduction,\n status: state => state.user.status,\n roles: state => state.user.roles,\n setting: state => state.user.setting,\n permission_routers: state => state.permission.routers,\n addRouters: state => state.permission.addRouters,\n errorLogs: state => state.errorLog.logs,\n users: state => state.users.fetchedUsers,\n authHost: state => state.user.authHost,\n\n activityPub: state => state.settings.settings['activitypub'],\n adminToken: state => state.settings.settings['admin_token'],\n assets: state => state.settings.settings['assets'],\n auth: state => state.settings.settings['auth'],\n autoLinker: state => state.settings.settings['auto_linker'],\n captcha: state => state.settings.settings['Pleroma.Captcha'],\n chat: state => state.settings.settings['chat'],\n consoleLogger: state => state.settings.settings['console'],\n corsPlugCredentials: state => state.settings.settings['credentials'],\n corsPlugExpose: state => state.settings.settings['expose'],\n corsPlugHeaders: state => state.settings.settings['headers'],\n corsPlugMaxAge: state => state.settings.settings['max_age'],\n corsPlugMethods: state => state.settings.settings['methods'],\n database: state => state.settings.settings['database'],\n ectoRepos: state => state.settings.settings['ecto_repos'],\n emailNotifications: state => state.settings.settings['email_notifications'],\n emoji: state => state.settings.settings['emoji'],\n enabled: state => state.settings.settings['enabled'],\n endpoint: state => state.settings.settings['Pleroma.Web.Endpoint'],\n exsyslogger: state => state.settings.settings['ex_syslogger'],\n facebook: state => state.settings.settings['Ueberauth.Strategy.Facebook.OAuth'],\n fetchInitialPosts: state => state.settings.settings['fetch_initial_posts'],\n formatEncoders: state => state.settings.settings['format_encoders'],\n frontend: state => state.settings.settings['frontend_configurations'],\n google: state => state.settings.settings['Ueberauth.Strategy.Google.OAuth'],\n gopher: state => state.settings.settings['gopher'],\n hackneyPools: state => state.settings.settings['hackney_pools'],\n handler: state => state.settings.settings['handler'],\n http: state => state.settings.settings['http'],\n httpSecurity: state => state.settings.settings['http_security'],\n instance: state => state.settings.settings['instance'],\n kocaptcha: state => state.settings.settings['Pleroma.Captcha.Kocaptcha'],\n level: state => state.settings.settings['level'],\n ldap: state => state.settings.settings['ldap'],\n loggerBackends: state => state.settings.settings['backends'],\n mailer: state => state.settings.settings['Pleroma.Emails.Mailer'],\n markup: state => state.settings.settings['markup'],\n mediaProxy: state => state.settings.settings['media_proxy'],\n meta: state => state.settings.settings['meta'],\n metadata: state => state.settings.settings['Pleroma.Web.Metadata'],\n microsoft: state => state.settings.settings['Ueberauth.Strategy.Microsoft.OAuth'],\n mimeTypesConfig: state => state.settings.settings['types'],\n mrfHellthread: state => state.settings.settings['mrf_hellthread'],\n mrfKeyword: state => state.settings.settings['mrf_keyword'],\n mrfMention: state => state.settings.settings['mrf_mention'],\n mrfNormalizeMarkup: state => state.settings.settings['mrf_normalize_markup'],\n mrfRejectnonpublic: state => state.settings.settings['mrf_rejectnonpublic'],\n mrfSimple: state => state.settings.settings['mrf_simple'],\n mrfSubchain: state => state.settings.settings['mrf_subchain'],\n mrfUserAllowlist: state => state.settings.settings['mrf_user_allowlist'],\n mrfVocabulary: state => state.settings.settings['mrf_vocabulary'],\n oauth2: state => state.settings.settings['oauth2'],\n passwordAuthenticator: state => state.settings.settings['password_authenticator'],\n pleromaAuthenticator: state => state.settings.settings['Pleroma.Web.Auth.Authenticator'],\n pleromaRepo: state => state.settings.settings['Pleroma.Repo'],\n pleromaUser: state => state.settings.settings['Pleroma.User'],\n port: state => state.settings.settings['port'],\n privDir: state => state.settings.settings['priv_dir'],\n queues: state => state.settings.settings['queues'],\n rateLimiters: state => state.settings.settings['rate_limit'],\n retryQueue: state => state.settings.settings['Pleroma.Web.Federator.RetryQueue'],\n richMedia: state => state.settings.settings['rich_media'],\n suggestions: state => state.settings.settings['suggestions'],\n scheduledActivity: state => state.settings.settings['Pleroma.ScheduledActivity'],\n teslaAdapter: state => state.settings.settings['adapter'],\n twitter: state => state.settings.settings['Ueberauth.Strategy.Twitter.OAuth'],\n ueberauth: state => state.settings.settings['Ueberauth'],\n uploadAnonymizeFilename: state => state.settings.settings['Pleroma.Upload.Filter.AnonymizeFilename'],\n upload: state => state.settings.settings['Pleroma.Upload'],\n uploadFilterMogrify: state => state.settings.settings['Pleroma.Upload.Filter.Mogrify'],\n uploadersLocal: state => state.settings.settings['Pleroma.Uploaders.Local'],\n uploadMDII: state => state.settings.settings['Pleroma.Uploaders.MDII'],\n uploadS3: state => state.settings.settings['Pleroma.Uploaders.S3'],\n uriSchemes: state => state.settings.settings['uri_schemes'],\n user: state => state.settings.settings['user'],\n userEmail: state => state.settings.settings['Pleroma.Emails.UserEmail'],\n vapidDetails: state => state.settings.settings['vapid_details'],\n webhookUrl: state => state.settings.settings['webhook_url']\n}\nexport default getters\n","import {\n listPacks,\n listRemotePacks,\n downloadFrom,\n reloadEmoji,\n createPack,\n deletePack,\n savePackMetadata,\n importFromFS,\n updatePackFile } from '@/api/emoji_packs'\n\nimport { Message } from 'element-ui'\n\nimport Vue from 'vue'\n\nconst packs = {\n state: {\n localPacks: {},\n remotePacks: {}\n },\n mutations: {\n SET_LOCAL_PACKS: (state, packs) => {\n state.localPacks = packs\n },\n SET_REMOTE_PACKS: (state, packs) => {\n state.remotePacks = packs\n },\n\n UPDATE_LOCAL_PACK_VAL: (state, { name, key, value }) => {\n Vue.set(state.localPacks[name]['pack'], key, value)\n },\n\n UPDATE_LOCAL_PACK_PACK: (state, { name, pack }) => {\n state.localPacks[name]['pack'] = pack\n },\n\n UPDATE_LOCAL_PACK_FILES: (state, { name, files }) => {\n // Use vue.set in case \"files\" was null\n Vue.set(\n state.localPacks[name],\n 'files',\n files\n )\n }\n },\n actions: {\n async SetLocalEmojiPacks({ commit, getters, state }) {\n const { data } = await listPacks(getters.authHost)\n commit('SET_LOCAL_PACKS', data)\n },\n async SetRemoteEmojiPacks({ commit, getters, state }, { remoteInstance }) {\n const { data } = await listRemotePacks(getters.authHost, getters.token, remoteInstance)\n\n commit('SET_REMOTE_PACKS', data)\n },\n async DownloadFrom({ commit, getters, state }, { instanceAddress, packName, as }) {\n const result = await downloadFrom(getters.authHost, instanceAddress, packName, as, getters.token)\n\n if (result.data === 'ok') {\n Message({\n message: `Successfully downloaded ${packName}`,\n type: 'success',\n duration: 5 * 1000\n })\n }\n },\n async ReloadEmoji({ commit, getters, state }) {\n await reloadEmoji(getters.authHost, getters.token)\n },\n async ImportFromFS({ commit, getters, state }) {\n const result = await importFromFS(getters.authHost, getters.token)\n\n if (result.status === 200) {\n const message = result.data.length > 0 ? `Successfully imported ${result.data}` : 'No new packs to import'\n\n Message({\n message,\n type: 'success',\n duration: 5 * 1000\n })\n }\n },\n async DeletePack({ commit, getters, state }, { name }) {\n await deletePack(getters.authHost, getters.token, name)\n },\n async CreatePack({ commit, getters, state }, { name }) {\n await createPack(getters.authHost, getters.token, name)\n },\n\n async UpdateLocalPackVal({ commit, getters, state }, args) {\n commit('UPDATE_LOCAL_PACK_VAL', args)\n },\n\n async SavePackMetadata({ commit, getters, state }, { packName }) {\n const result =\n await savePackMetadata(\n getters.authHost,\n getters.token,\n packName,\n state.localPacks[packName]['pack']\n )\n\n if (result.status === 200) {\n Message({\n message: `Successfully updated ${packName} metadata`,\n type: 'success',\n duration: 5 * 1000\n })\n\n commit('UPDATE_LOCAL_PACK_PACK', { name: packName, pack: result.data })\n }\n },\n\n async UpdateAndSavePackFile({ commit, getters, state }, args) {\n const result = await updatePackFile(getters.authHost, getters.token, args)\n\n if (result.status === 200) {\n const { packName } = args\n\n Message({\n message: `Successfully updated ${packName} files`,\n type: 'success',\n duration: 5 * 1000\n })\n\n commit('UPDATE_LOCAL_PACK_FILES', { name: packName, files: result.data })\n }\n }\n }\n}\n\nexport default packs\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport app from './modules/app'\nimport errorLog from './modules/errorLog'\nimport moderationLog from './modules/moderationLog'\nimport invites from './modules/invites'\nimport permission from './modules/permission'\nimport reports from './modules/reports'\nimport settings from './modules/settings'\nimport tagsView from './modules/tagsView'\nimport user from './modules/user'\nimport userProfile from './modules/userProfile'\nimport users from './modules/users'\nimport getters from './getters'\nimport emoji_packs from './modules/emoji_packs.js'\n\nVue.use(Vuex)\n\nconst store = new Vuex.Store({\n modules: {\n app,\n errorLog,\n moderationLog,\n invites,\n permission,\n reports,\n settings,\n tagsView,\n user,\n userProfile,\n users,\n emoji_packs\n },\n getters\n})\n\nexport default store\n","import Vue from 'vue'\nimport SvgIcon from '@/components/SvgIcon'// svg组件\n\n// register globally\nVue.component('svg-icon', SvgIcon)\n\nconst req = require.context('./svg', false, /\\.svg$/)\nconst requireAll = requireContext => requireContext.keys().map(requireContext)\nrequireAll(req)\n","import Vue from 'vue'\nimport store from './store'\n\n// you can set only in production env show the error-log\nif (process.env.NODE_ENV === 'production') {\n Vue.config.errorHandler = function(err, vm, info, a) {\n // Don't ask me why I use Vue.nextTick, it just a hack.\n // detail see https://forum.vuejs.org/t/dispatch-in-vue-config-errorhandler-has-some-problem/23500\n Vue.nextTick(() => {\n store.dispatch('addErrorLog', {\n err,\n vm,\n info,\n url: window.location.href\n })\n console.error(err, info)\n })\n }\n}\n","import router from './router'\nimport store from './store'\nimport { Message } from 'element-ui'\nimport NProgress from 'nprogress' // progress bar\nimport 'nprogress/nprogress.css'// progress bar style\nimport { getToken } from '@/utils/auth' // getToken from cookie\n\nNProgress.configure({ showSpinner: false })// NProgress Configuration\n\n// permission judge function\nfunction hasPermission(roles, permissionRoles) {\n if (roles.indexOf('admin') >= 0) return true // admin permission passed directly\n if (!permissionRoles) return true\n return roles.some(role => permissionRoles.indexOf(role) >= 0)\n}\n\nconst whiteList = ['/login', '/auth-redirect', '/login-pleroma']// no redirect whitelist\n\nexport const beforeEachRoute = (to, from, next) => {\n NProgress.start() // start progress bar\n if (getToken()) { // determine if there has token\n /* has token*/\n if (to.path === '/login') {\n next({ path: '/' })\n NProgress.done() // if current page is dashboard will not trigger\tafterEach hook, so manually handle it\n } else {\n if (store.getters.roles.length === 0) {\n store.dispatch('GetUserInfo').then(res => {\n const roles = res.data.pleroma.is_admin ? ['admin'] : []\n store.dispatch('GenerateRoutes', { roles }).then(() => {\n router.addRoutes(store.getters.addRouters)\n next({ ...to, replace: true })\n })\n }).catch((err) => {\n store.dispatch('FedLogOut').then(() => {\n Message.error(err)\n next({ path: '/' })\n })\n })\n } else {\n if (hasPermission(store.getters.roles, to.meta.roles)) {\n next()\n } else {\n next({ path: '/401', replace: true, query: { noGoBack: true }})\n }\n }\n }\n } else {\n /* has no token*/\n if (whiteList.indexOf(to.path) !== -1) {\n next()\n } else {\n next(`/login?redirect=${to.path}`)\n NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it\n }\n }\n}\nrouter.beforeEach(beforeEachRoute)\n\nrouter.afterEach(() => {\n NProgress.done() // finish progress bar\n})\n","// set function parseTime,formatTime to filter\nexport { parseTime, formatTime } from '@/utils'\n\nfunction pluralize(time, label) {\n if (time === 1) {\n return time + label\n }\n return time + label + 's'\n}\n\nexport function timeAgo(time) {\n const between = Date.now() / 1000 - Number(time)\n if (between < 3600) {\n return pluralize(~~(between / 60), ' minute')\n } else if (between < 86400) {\n return pluralize(~~(between / 3600), ' hour')\n } else {\n return pluralize(~~(between / 86400), ' day')\n }\n}\n\n/* 数字 格式化*/\nexport function numberFormatter(num, digits) {\n const si = [\n { value: 1E18, symbol: 'E' },\n { value: 1E15, symbol: 'P' },\n { value: 1E12, symbol: 'T' },\n { value: 1E9, symbol: 'G' },\n { value: 1E6, symbol: 'M' },\n { value: 1E3, symbol: 'k' }\n ]\n for (let i = 0; i < si.length; i++) {\n if (num >= si[i].value) {\n return (num / si[i].value + 0.1).toFixed(digits).replace(/\\.0+$|(\\.[0-9]*[1-9])0+$/, '$1') + si[i].symbol\n }\n }\n return num.toString()\n}\n\nexport function toThousandFilter(num) {\n return (+num || 0).toString().replace(/^-?\\d+/g, m => m.replace(/(?=(?!\\b)(\\d{3})+$)/g, ','))\n}\n","import Vue from 'vue'\n\nimport Cookies from 'js-cookie'\n\nimport 'normalize.css/normalize.css' // A modern alternative to CSS resets\n\nimport Element from 'element-ui'\nimport 'element-ui/lib/theme-chalk/index.css'\n\nimport '@/styles/index.scss' // global css\n\nimport App from './App'\nimport store from './store'\nimport router from './router'\n\nimport i18n from './lang' // Internationalization\nimport './icons' // icon\nimport './errorLog' // error log\nimport './permission' // permission control\n\nimport * as filters from './filters' // global filters\n\nVue.use(Element, {\n size: Cookies.get('size') || 'medium', // set element-ui default size\n i18n: (key, value) => i18n.t(key, value)\n})\n\n// register global utility filters.\nObject.keys(filters).forEach(key => {\n Vue.filter(key, filters[key])\n})\n\nVue.config.productionTip = false\n\nnew Vue({\n el: '#app',\n router,\n store,\n i18n,\n render: h => h(App)\n})\n","import Cookies from 'js-cookie'\n\nconst TokenKey = 'Admin-Token'\nconst AuthHostKey = 'Auth-Host'\n\nexport function getToken() {\n return Cookies.get(TokenKey)\n}\n\nexport function setToken(token) {\n return Cookies.set(TokenKey, token)\n}\n\nexport function removeToken() {\n return Cookies.remove(TokenKey)\n}\n\nexport function getAuthHost() {\n return Cookies.get(AuthHostKey)\n}\n\nexport function setAuthHost(token) {\n return Cookies.set(AuthHostKey, token)\n}\n\nexport function removeAuthHost() {\n return Cookies.remove(AuthHostKey)\n}\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navbar.vue?vue&type=style&index=0&id=b535c57a&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navbar.vue?vue&type=style&index=0&id=b535c57a&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsView.vue?vue&type=style&index=1&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagsView.vue?vue&type=style&index=1&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMain.vue?vue&type=style&index=0&id=f852c4f2&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppMain.vue?vue&type=style&index=0&id=f852c4f2&scoped=true&lang=css&\"","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-excel\",\n \"use\": \"icon-excel-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-excel\\\"><path d=\\\"M78.208 16.576v8.384h38.72v5.376h-38.72v8.704h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.512h38.72v5.376h-38.72v11.136H128v-94.72H78.208zM0 114.368L72.128 128V0L0 13.632v100.736z\\\" /><path d=\\\"M28.672 82.56h-11.2l14.784-23.488-14.08-22.592h11.52l8.192 14.976 8.448-14.976h11.136l-14.08 22.208L58.368 82.56H46.656l-8.768-15.68z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-guide\",\n \"use\": \"icon-guide-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-guide\\\"><path d=\\\"M1.482 70.131l36.204 16.18 69.932-65.485-61.38 70.594 46.435 18.735c1.119.425 2.397-.17 2.797-1.363v-.085L127.998.047 1.322 65.874c-1.12.597-1.519 1.959-1.04 3.151.32.511.72.937 1.2 1.107zm44.676 57.821L64.22 107.26l-18.062-7.834v28.527z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--7-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=4e710b96&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--7-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=4e710b96&scoped=true&lang=css&\"","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-star\",\n \"use\": \"icon-star-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-star\\\"><path d=\\\"M70.66 4.328l14.01 29.693c1.088 2.29 3.177 3.882 5.603 4.25l31.347 4.76c6.087.926 8.528 8.756 4.117 13.247L103.05 79.395c-1.75 1.78-2.544 4.352-2.132 6.867l5.352 32.641c1.043 6.337-5.33 11.182-10.778 8.19l-28.039-15.409a7.13 7.13 0 0 0-6.91 0l-28.039 15.41c-5.448 2.99-11.821-1.854-10.777-8.19l5.352-32.642c.415-2.515-.387-5.088-2.136-6.867L2.264 56.278C-2.146 51.787.286 43.957 6.38 43.031l31.343-4.76c2.419-.368 4.51-1.96 5.595-4.25L57.334 4.328c2.728-5.77 10.605-5.77 13.325 0z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-wechat\",\n \"use\": \"icon-wechat-usage\",\n \"viewBox\": \"0 0 128 110\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 110\\\" id=\\\"icon-wechat\\\"><path d=\\\"M86.635 33.334c1.467 0 2.917.113 4.358.283C87.078 14.392 67.58.111 45.321.111 20.44.111.055 17.987.055 40.687c0 13.104 6.781 23.863 18.115 32.209l-4.527 14.352 15.82-8.364c5.666 1.182 10.207 2.395 15.858 2.395 1.42 0 2.829-.073 4.227-.189-.886-3.19-1.398-6.53-1.398-9.996 0-20.845 16.98-37.76 38.485-37.76zm-24.34-12.936c3.407 0 5.665 2.363 5.665 5.954 0 3.576-2.258 5.97-5.666 5.97-3.392 0-6.795-2.395-6.795-5.97 0-3.591 3.403-5.954 6.795-5.954zM30.616 32.323c-3.393 0-6.818-2.395-6.818-5.971 0-3.591 3.425-5.954 6.818-5.954 3.392 0 5.65 2.363 5.65 5.954 0 3.576-2.258 5.97-5.65 5.97z\\\" /><path d=\\\"M127.945 70.52c0-19.075-18.108-34.623-38.448-34.623-21.537 0-38.5 15.548-38.5 34.623 0 19.108 16.963 34.622 38.5 34.622 4.508 0 9.058-1.2 13.584-2.395l12.414 7.167-3.404-11.923c9.087-7.184 15.854-16.712 15.854-27.471zm-50.928-5.97c-2.254 0-4.53-2.362-4.53-4.773 0-2.378 2.276-4.771 4.53-4.771 3.422 0 5.665 2.393 5.665 4.771 0 2.41-2.243 4.773-5.665 4.773zm24.897 0c-2.24 0-4.498-2.362-4.498-4.773 0-2.378 2.258-4.771 4.498-4.771 3.392 0 5.665 2.393 5.665 4.771 0 2.41-2.273 4.773-5.665 4.773z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-size\",\n \"use\": \"icon-size-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-size\\\"><path d=\\\"M0 54.857h54.796v18.286H36.531V128H18.265V73.143H0V54.857zm127.857-36.571H91.935V128H72.456V18.286H36.534V0h91.326l-.003 18.286z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-zip\",\n \"use\": \"icon-zip-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-zip\\\"><path d=\\\"M78.527 116.793c.178.008.348.024.527.024h40.233c4.711-.005 8.53-3.677 8.534-8.21V18.895c-.004-4.532-3.823-8.204-8.534-8.209H79.054c-.179 0-.353.016-.527.024V0L0 10.082v107.406l78.527 10.342v-11.037zm0-101.362c.174-.024.348-.052.527-.052h40.233c2.018 0 3.659 1.578 3.659 3.52v89.713c-.003 1.942-1.64 3.517-3.659 3.519H79.054c-.179 0-.353-.028-.527-.052V15.431zM30.262 75.757l-18.721-.46V72.37l11.3-16.673v-.148l-10.266.164v-4.51l17.504-.44v3.264L18.696 70.76v.144l11.566.176v4.678zm9.419.231l-5.823-.144V50.671l5.823-.144v25.461zm22.255-11.632c-2.168 1.922-5.353 2.76-9.02 2.736-.702.004-1.402-.04-2.097-.131v9.303l-5.997-.148V50.743c1.852-.352 4.473-.647 8.218-.743 3.838-.096 6.608.539 8.48 1.913 1.807 1.306 3.032 3.5 3.032 6.112s-.926 4.833-2.612 6.331h-.004zM53.36 54.45c-.856-.01-1.71.083-2.541.275v7.682c.523.116 1.167.152 2.06.152 3.301-.004 5.36-1.614 5.36-4.314 0-2.425-1.772-3.843-4.875-3.791l-.004-.004zm39.847-37.066h9.564v3.795h-9.564v-3.795zm-9.568 5.68h9.564v3.8h-9.564v-3.8zm9.568 6.216h9.564v3.799h-9.564V29.28zm0 12h9.564v3.794h-9.564V41.28zm-9.568-6.096h9.564v3.795h-9.564v-3.795zm9.472 47.064c2.512 0 4.921-.96 6.697-2.67 1.776-1.708 2.773-4.026 2.772-6.442l-1.748-15.263c0-5.033-2.492-9.112-7.725-9.112-5.232 0-7.72 4.079-7.72 9.112l-1.752 15.263c-.001 2.417.996 4.735 2.773 6.444 1.777 1.71 4.187 2.669 6.7 2.668h.003zm-3.135-16.75h6.27v12.743h-6.27V65.5z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-tab\",\n \"use\": \"icon-tab-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-tab\\\"><path d=\\\"M78.921.052H49.08c-1.865 0-3.198 1.599-3.198 3.464v6.661c0 1.865 1.6 3.464 3.198 3.464h29.84c1.865 0 3.198-1.599 3.198-3.464V3.516C82.385 1.65 80.786.052 78.92.052zm45.563 0H94.642c-1.865 0-3.464 1.599-3.464 3.464v6.661c0 1.865 1.599 3.464 3.464 3.464h29.842c1.865-.266 3.464-1.599 3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464zm0 22.382H40.02c-1.866 0-3.464-1.599-3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464H3.516C1.65.052.052 1.651.052 3.516V124.75c0 1.598 1.599 3.197 3.464 3.197h120.968c1.865 0 3.464-1.599 3.464-3.464V25.898c0-1.865-1.599-3.464-3.464-3.464z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-search\",\n \"use\": \"icon-search-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-search\\\"><path d=\\\"M124.884 109.812L94.256 79.166c-.357-.357-.757-.629-1.129-.914a50.366 50.366 0 0 0 8.186-27.59C101.327 22.689 78.656 0 50.67 0 22.685 0 0 22.688 0 50.663c0 27.989 22.685 50.663 50.656 50.663 10.186 0 19.643-3.03 27.6-8.201.286.385.557.771.9 1.114l30.628 30.632a10.633 10.633 0 0 0 7.543 3.129c2.728 0 5.457-1.043 7.543-3.115 4.171-4.157 4.171-10.915.014-15.073M50.671 85.338C31.557 85.338 16 69.78 16 50.663c0-19.102 15.557-34.661 34.67-34.661 19.115 0 34.657 15.559 34.657 34.675 0 19.102-15.557 34.661-34.656 34.661\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-tree\",\n \"use\": \"icon-tree-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-tree\\\"><path d=\\\"M126.713 90.023c.858.985 1.287 2.134 1.287 3.447v29.553c0 1.423-.429 2.6-1.287 3.53-.858.93-1.907 1.395-3.146 1.395H97.824c-1.145 0-2.146-.465-3.004-1.395-.858-.93-1.287-2.107-1.287-3.53V93.47c0-.875.19-1.696.572-2.462.382-.766.906-1.368 1.573-1.806a3.84 3.84 0 0 1 2.146-.657h9.725V69.007a3.84 3.84 0 0 0-.43-1.806 3.569 3.569 0 0 0-1.143-1.313 2.714 2.714 0 0 0-1.573-.492h-36.47v23.149h9.725c1.144 0 2.145.492 3.004 1.478.858.985 1.287 2.134 1.287 3.447v29.553c0 .876-.191 1.696-.573 2.463-.38.766-.905 1.368-1.573 1.806a3.84 3.84 0 0 1-2.145.656H51.915a3.84 3.84 0 0 1-2.145-.656c-.668-.438-1.216-1.04-1.645-1.806a4.96 4.96 0 0 1-.644-2.463V93.47c0-1.313.43-2.462 1.288-3.447.858-.986 1.907-1.478 3.146-1.478h9.582v-23.15h-37.9c-.953 0-1.74.356-2.359 1.068-.62.711-.93 1.56-.93 2.544v19.538h9.726c1.239 0 2.264.492 3.074 1.478.81.985 1.216 2.134 1.216 3.447v29.553c0 1.423-.405 2.6-1.216 3.53-.81.93-1.835 1.395-3.074 1.395H4.29c-.476 0-.93-.082-1.358-.246a4.1 4.1 0 0 1-1.144-.657 4.658 4.658 0 0 1-.93-1.067 5.186 5.186 0 0 1-.643-1.395 5.566 5.566 0 0 1-.215-1.56V93.47c0-.437.048-.875.143-1.313a3.95 3.95 0 0 1 .429-1.15c.19-.328.429-.656.715-.984.286-.329.572-.602.858-.821.286-.22.62-.383 1.001-.493.382-.11.763-.164 1.144-.164h9.726V61.619c0-.985.31-1.833.93-2.544.619-.712 1.358-1.068 2.216-1.068h44.335V39.62h-9.582c-1.24 0-2.288-.492-3.146-1.477a5.09 5.09 0 0 1-1.287-3.448V5.14c0-1.423.429-2.627 1.287-3.612.858-.985 1.907-1.477 3.146-1.477h25.743c.763 0 1.478.246 2.145.739a5.17 5.17 0 0 1 1.573 1.888c.382.766.573 1.587.573 2.462v29.553c0 1.313-.43 2.463-1.287 3.448-.859.985-1.86 1.477-3.004 1.477h-9.725v18.389h42.762c.954 0 1.74.355 2.36 1.067.62.711.93 1.56.93 2.545v26.925h9.582c1.239 0 2.288.492 3.146 1.478z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-documentation\",\n \"use\": \"icon-documentation-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-documentation\\\"><path d=\\\"M71.984 44.815H115.9L71.984 9.642v35.173zM16.094.05h63.875l47.906 38.37v76.74c0 3.392-1.682 6.645-4.677 9.044-2.995 2.399-7.056 3.746-11.292 3.746H16.094c-4.236 0-8.297-1.347-11.292-3.746-2.995-2.399-4.677-5.652-4.677-9.044V12.84C.125 5.742 7.23.05 16.094.05zm71.86 102.32V89.58h-71.86v12.79h71.86zm23.952-25.58V64H16.094v12.79h95.812z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-drag\",\n \"use\": \"icon-drag-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-drag\\\"><path d=\\\"M73.137 29.08h-9.209 29.7L63.886.093 34.373 29.08h20.49v27.035H27.238v17.948h27.625v27.133h18.274V74.063h27.41V56.115h-27.41V29.08zm-9.245 98.827l27.518-26.711H36.59l27.302 26.71zM.042 64.982l27.196 27.029V38.167L.042 64.982zm100.505-26.815V92.01l27.41-27.029-27.41-26.815z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-fullscreen\",\n \"use\": \"icon-fullscreen-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-fullscreen\\\"><path d=\\\"M38.47 52L52 38.462l-23.648-23.67L43.209 0H.035L0 43.137l14.757-14.865L38.47 52zm74.773 47.726L89.526 76 76 89.536l23.648 23.672L84.795 128h43.174L128 84.863l-14.757 14.863zM89.538 52l23.668-23.648L128 43.207V.038L84.866 0 99.73 14.76 76 38.472 89.538 52zM38.46 76L14.792 99.651 0 84.794v43.173l43.137.033-14.865-14.757L52 89.53 38.46 76z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import Vue from 'vue'\nimport VueI18n from 'vue-i18n'\nimport Cookies from 'js-cookie'\nimport elementEnLocale from 'element-ui/lib/locale/lang/en' // element-ui lang\nimport elementZhLocale from 'element-ui/lib/locale/lang/zh-CN' // element-ui lang\nimport elementEsLocale from 'element-ui/lib/locale/lang/es' // element-ui lang\nimport enLocale from './en'\nimport zhLocale from './zh'\nimport esLocale from './es'\nimport ocLocale from './oc'\n\nVue.use(VueI18n)\n\nconst messages = {\n en: {\n ...enLocale,\n ...elementEnLocale\n },\n zh: {\n ...zhLocale,\n ...elementZhLocale\n },\n es: {\n ...esLocale,\n ...elementEsLocale\n },\n oc: {\n ...ocLocale\n }\n}\n\nconst i18n = new VueI18n({\n // set locale\n // options: en | zh | es | oc\n locale: Cookies.get('language') || 'en',\n // set locale messages\n messages\n})\n\nexport default i18n\n","export default {\n route: {\n dashboard: 'Dashboard',\n introduction: 'Introduction',\n documentation: 'Documentation',\n guide: 'Guide',\n permission: 'Permission',\n pagePermission: 'Page Permission',\n directivePermission: 'Directive Permission',\n icons: 'Icons',\n components: 'Components',\n componentIndex: 'Introduction',\n tinymce: 'Tinymce',\n markdown: 'Markdown',\n jsonEditor: 'JSON Editor',\n dndList: 'Dnd List',\n splitPane: 'SplitPane',\n avatarUpload: 'Avatar Upload',\n dropzone: 'Dropzone',\n sticky: 'Sticky',\n countTo: 'CountTo',\n componentMixin: 'Mixin',\n backToTop: 'BackToTop',\n dragDialog: 'Drag Dialog',\n dragSelect: 'Drag Select',\n dragKanban: 'Drag Kanban',\n charts: 'Charts',\n keyboardChart: 'Keyboard Chart',\n lineChart: 'Line Chart',\n mixChart: 'Mix Chart',\n example: 'Example',\n nested: 'Nested Routes',\n menu1: 'Menu 1',\n 'menu1-1': 'Menu 1-1',\n 'menu1-2': 'Menu 1-2',\n 'menu1-2-1': 'Menu 1-2-1',\n 'menu1-2-2': 'Menu 1-2-2',\n 'menu1-3': 'Menu 1-3',\n menu2: 'Menu 2',\n Table: 'Table',\n dynamicTable: 'Dynamic Table',\n dragTable: 'Drag Table',\n inlineEditTable: 'Inline Edit',\n complexTable: 'Complex Table',\n treeTable: 'Tree Table',\n customTreeTable: 'Custom TreeTable',\n tab: 'Tab',\n form: 'Form',\n createArticle: 'Create Article',\n editArticle: 'Edit Article',\n articleList: 'Article List',\n errorPages: 'Error Pages',\n page401: '401',\n page404: '404',\n errorLog: 'Error Log',\n excel: 'Excel',\n exportExcel: 'Export Excel',\n selectExcel: 'Export Selected',\n uploadExcel: 'Upload Excel',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: 'Export Zip',\n theme: 'Theme',\n clipboardDemo: 'Clipboard',\n i18n: 'I18n',\n externalLink: 'External Link',\n users: 'Users',\n reports: 'Reports',\n settings: 'Settings',\n moderationLog: 'Moderation Log',\n 'emoji-packs': 'Emoji packs'\n },\n navbar: {\n logOut: 'Log Out',\n dashboard: 'Dashboard',\n github: 'Github',\n theme: 'Theme',\n size: 'Global Size'\n },\n login: {\n title: 'Login Form',\n logIn: 'Log in',\n logInViaPleromaFE: 'Log in via PleromaFE',\n username: 'username@host',\n password: 'password',\n omitHostname: 'omit hostname if Pleroma is located on this domain',\n errorMessage: 'Username must contain username and host, e.g. john@pleroma.social',\n any: 'any',\n thirdparty: 'Or connect with',\n pleromaFELoginFailed: 'Failed to login via PleromaFE, please login with username/password',\n pleromaFELoginSucceed: 'Logged in via PleromaFE'\n },\n documentation: {\n documentation: 'Documentation',\n github: 'Github Repository'\n },\n permission: {\n roles: 'Your roles',\n switchRoles: 'Switch roles',\n tips: 'In some cases it is not suitable to use v-permission, such as element Tab component or el-table-column and other asynchronous rendering dom cases which can only be achieved by manually setting the v-if.'\n },\n guide: {\n description: 'The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ',\n button: 'Show Guide'\n },\n components: {\n documentation: 'Documentation',\n tinymceTips: 'Rich text editor is a core part of management system, but at the same time is a place with lots of problems. In the process of selecting rich texts, I also walked a lot of detours. The common rich text editors in the market are basically used, and the finally chose Tinymce. See documentation for more detailed rich text editor comparisons and introductions.',\n dropzoneTips: 'Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/Dropzone.',\n stickyTips: 'when the page is scrolled to the preset position will be sticky on the top.',\n backToTopTips1: 'When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner',\n backToTopTips2: 'You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally',\n imageUploadTips: 'Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version.'\n },\n table: {\n dynamicTips1: 'Fixed header, sorted by header order',\n dynamicTips2: 'Not fixed header, sorted by click order',\n dragTips1: 'The default order',\n dragTips2: 'The after dragging order',\n title: 'Title',\n importance: 'Imp',\n type: 'Type',\n remark: 'Remark',\n search: 'Search',\n add: 'Add',\n export: 'Export',\n reviewer: 'reviewer',\n id: 'ID',\n date: 'Date',\n author: 'Author',\n readings: 'Readings',\n status: 'Status',\n actions: 'Actions',\n edit: 'Edit',\n publish: 'Publish',\n draft: 'Draft',\n delete: 'Delete',\n cancel: 'Cancel',\n confirm: 'Confirm'\n },\n errorLog: {\n tips: 'Please click the bug icon in the upper right corner',\n description: 'Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.',\n documentation: 'Document introduction'\n },\n excel: {\n export: 'Export',\n selectedExport: 'Export Selected Items',\n placeholder: 'Please enter the file name(default excel-list)'\n },\n zip: {\n export: 'Export',\n placeholder: 'Please enter the file name(default file)'\n },\n pdf: {\n tips: 'Here we use window.print() to implement the feature of downloading pdf.'\n },\n theme: {\n change: 'Change Theme',\n documentation: 'Theme documentation',\n tips: 'Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details.'\n },\n tagsView: {\n refresh: 'Refresh',\n close: 'Close',\n closeOthers: 'Close Others',\n closeAll: 'Close All'\n },\n users: {\n users: 'Users',\n localUsersOnly: 'Local users only',\n search: 'Search',\n id: 'ID',\n name: 'Name',\n status: 'Status',\n local: 'local',\n external: 'external',\n deactivated: 'deactivated',\n active: 'active',\n actions: 'Actions',\n activate: 'Activate',\n deactivate: 'Deactivate',\n admin: 'admin',\n moderator: 'moderator',\n moderation: 'Moderation',\n revokeAdmin: 'Revoke Admin',\n grantAdmin: 'Grant Admin',\n revokeModerator: 'Revoke Moderator',\n grantModerator: 'Grant Moderator',\n activateAccount: 'Activate Account',\n activateAccounts: 'Activate Accounts',\n deactivateAccount: 'Deactivate Account',\n deactivateAccounts: 'Deactivate Accounts',\n deleteAccount: 'Delete Account',\n deleteAccounts: 'Delete Accounts',\n forceNsfw: 'Force posts to be NSFW',\n stripMedia: 'Force posts not to have media',\n forceUnlisted: 'Force posts to be unlisted',\n sandbox: 'Force posts to be followers-only',\n disableRemoteSubscription: 'Disallow following user from remote instances',\n disableRemoteSubscriptionForMultiple: 'Disallow following users from remote instances',\n disableAnySubscription: 'Disallow following user at all',\n disableAnySubscriptionForMultiple: 'Disallow following users at all',\n requirePasswordReset: 'Require password reset on next login',\n selectUsers: 'Select users to apply actions to multiple users',\n moderateUsers: 'Moderate multiple users',\n createAccount: 'Create new account',\n apply: 'apply',\n remove: 'remove',\n grantRightConfirmation: 'Are you sure you want to grant {right} rights to all selected users?',\n revokeRightConfirmation: 'Are you sure you want to revoke {right} rights from all selected users?',\n activateMultipleUsersConfirmation: 'Are you sure you want to activate accounts of all selected users?',\n deactivateMultipleUsersConfirmation: 'Are you sure you want to deactivate accounts of all selected users?',\n deleteMultipleUsersConfirmation: 'Are you sure you want to delete accounts of all selected users?',\n addTagForMultipleUsersConfirmation: 'Are you sure you want to apply tag to all selected users?',\n removeTagFromMultipleUsersConfirmation: 'Are you sure you want to remove tag from all selected users?',\n requirePasswordResetConfirmation: 'Are you sure you want to require password reset for all selected users?',\n mailerMustBeEnabled: 'To require user\\'s password reset you must enable mailer.',\n ok: 'Okay',\n completed: 'Completed',\n cancel: 'Cancel',\n canceled: 'Canceled',\n username: 'Username',\n email: 'E-mail',\n password: 'Password',\n create: 'Create',\n submitFormError: 'There are invalid values in the form. Please fix them before continuing.',\n emptyEmailError: 'Please input the e-mail',\n invalidEmailError: 'Please input valid e-mail',\n emptyPasswordError: 'Please input the password',\n emptyNicknameError: 'Please input the username',\n invalidNicknameError: 'Username can include \"a-z\", \"A-Z\" and \"0-9\" characters',\n getPasswordResetToken: 'Get password reset token',\n passwordResetTokenCreated: 'Password reset token was created',\n accountCreated: 'New account was created!'\n },\n userProfile: {\n tags: 'Tags',\n moderator: 'Moderator',\n admin: 'Admin',\n local: 'Local',\n nickname: 'Nickname',\n deactivated: 'Deactivated',\n recentStatuses: 'Recent Statues',\n showPrivateStatuses: 'Show private statuses'\n },\n usersFilter: {\n inputPlaceholder: 'Select filter',\n byUserType: 'By user type',\n local: 'Local',\n external: 'External',\n byStatus: 'By status',\n active: 'Active',\n deactivated: 'Deactivated'\n },\n reports: {\n reports: 'Reports',\n reply: 'Reply',\n from: 'From',\n showNotes: 'Show notes',\n newNote: 'New note',\n submit: 'Submit',\n confirmMsg: 'Are you sure you want to delete this note?',\n delete: 'Delete',\n cancel: 'Cancel',\n deleteCompleted: 'Delete comleted',\n deleteCanceled: 'Delete canceled',\n noNotes: 'No notes to display',\n changeState: 'Change report state',\n changeScope: 'Change scope',\n moderateUser: 'Moderate user',\n resolve: 'Resolve',\n reopen: 'Reopen',\n close: 'Close',\n addSensitive: 'Add Sensitive flag',\n removeSensitive: 'Remove Sensitive flag',\n public: 'Make status public',\n private: 'Make status private',\n unlisted: 'Make status unlisted',\n sensitive: 'Sensitive',\n deleteStatus: 'Delete status'\n },\n reportsFilter: {\n inputPlaceholder: 'Select filter',\n open: 'Open',\n closed: 'Closed',\n resolved: 'Resolved'\n },\n moderationLog: {\n moderationLog: 'Moderation Log'\n },\n settings: {\n settings: 'Settings',\n instance: 'Instance',\n upload: 'Upload',\n mailer: 'Mailer',\n logger: 'Logger',\n activityPub: 'ActivityPub',\n auth: 'Authentication',\n autoLinker: 'Auto Linker',\n captcha: 'Captcha',\n frontend: 'Frontend',\n http: 'HTTP',\n mrf: 'MRF',\n mediaProxy: 'Media Proxy',\n metadata: 'Metadata',\n gopher: 'Gopher',\n endpoint: 'Endpoint',\n jobQueue: 'Job queue',\n webPush: 'Web push encryption',\n esshd: 'BBS / SSH access',\n rateLimiters: 'Rate limiters',\n database: 'Database',\n other: 'Other',\n success: 'Settings changed successfully!'\n },\n invites: {\n inviteTokens: 'Invite tokens',\n createInviteToken: 'Generate invite token',\n pickDate: 'Pick a date',\n maxUse: 'Max use',\n expiresAt: 'Expires at',\n tokenCreated: 'Invite token was created',\n token: 'Token',\n uses: 'Uses',\n used: 'Used',\n cancel: 'Cancel',\n create: 'Create',\n revoke: 'Revoke',\n id: 'ID',\n actions: 'Actions',\n active: 'Active',\n inviteUserViaEmail: 'Invite user via email',\n sendRegistration: 'Send registration invite via email',\n email: 'Email',\n name: 'Name',\n emptyEmailError: 'Please input the e-mail',\n invalidEmailError: 'Please input valid e-mail',\n emailSent: 'Invite was sent',\n submitFormError: 'There are invalid values in the form. Please fix them before continuing.',\n inviteViaEmailAlert: 'To send invite via email make sure to enable `invites_enabled` and disable `registrations_open`'\n }\n}\n","export default {\n route: {\n dashboard: '首页',\n introduction: '简述',\n documentation: '文档',\n guide: '引导页',\n permission: '权限测试页',\n pagePermission: '页面权限',\n directivePermission: '指令权限',\n icons: '图标',\n components: '组件',\n componentIndex: '介绍',\n tinymce: '富文本编辑器',\n markdown: 'Markdown',\n jsonEditor: 'JSON编辑器',\n dndList: '列表拖拽',\n splitPane: 'Splitpane',\n avatarUpload: '头像上传',\n dropzone: 'Dropzone',\n sticky: 'Sticky',\n countTo: 'CountTo',\n componentMixin: '小组件',\n backToTop: '返回顶部',\n dragDialog: '拖拽 Dialog',\n dragSelect: '拖拽 Select',\n dragKanban: '可拖拽看板',\n charts: '图表',\n keyboardChart: '键盘图表',\n lineChart: '折线图',\n mixChart: '混合图表',\n example: '综合实例',\n nested: '路由嵌套',\n menu1: '菜单1',\n 'menu1-1': '菜单1-1',\n 'menu1-2': '菜单1-2',\n 'menu1-2-1': '菜单1-2-1',\n 'menu1-2-2': '菜单1-2-2',\n 'menu1-3': '菜单1-3',\n menu2: '菜单2',\n Table: 'Table',\n dynamicTable: '动态Table',\n dragTable: '拖拽Table',\n inlineEditTable: 'Table内编辑',\n complexTable: '综合Table',\n treeTable: '树形表格',\n customTreeTable: '自定义树表',\n tab: 'Tab',\n form: '表单',\n createArticle: '创建文章',\n editArticle: '编辑文章',\n articleList: '文章列表',\n errorPages: '错误页面',\n page401: '401',\n page404: '404',\n errorLog: '错误日志',\n excel: 'Excel',\n exportExcel: 'Export Excel',\n selectExcel: 'Export Selected',\n uploadExcel: 'Upload Excel',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: 'Export Zip',\n theme: '换肤',\n clipboardDemo: 'Clipboard',\n i18n: '国际化',\n externalLink: '外链'\n },\n navbar: {\n logOut: '退出登录',\n dashboard: '首页',\n github: '项目地址',\n theme: '换肤',\n size: '布局大小'\n },\n login: {\n title: '系统登录',\n logIn: '登录',\n username: '账号',\n password: '密码',\n any: '随便填',\n thirdparty: '第三方登录',\n thirdpartyTips: '本地不能模拟,请结合自己业务进行模拟!!!'\n },\n documentation: {\n documentation: '文档',\n github: 'Github 地址'\n },\n permission: {\n roles: '你的权限',\n switchRoles: '切换权限',\n tips: '在某些情况下,不适合使用 v-permission。例如:Element-UI 的 Tab 组件或 el-table-column 以及其它动态渲染 dom 的场景。你只能通过手动设置 v-if 来实现。'\n },\n guide: {\n description: '引导页对于一些第一次进入项目的人很有用,你可以简单介绍下项目的功能。本 Demo 是基于',\n button: '打开引导'\n },\n components: {\n documentation: '文档',\n tinymceTips: '富文本是管理后台一个核心的功能,但同时又是一个有很多坑的地方。在选择富文本的过程中我也走了不少的弯路,市面上常见的富文本都基本用过了,最终权衡了一下选择了Tinymce。更详细的富文本比较和介绍见',\n dropzoneTips: '由于我司业务有特殊需求,而且要传七牛 所以没用第三方,选择了自己封装。代码非常的简单,具体代码你可以在这里看到 @/components/Dropzone',\n stickyTips: '当页面滚动到预设的位置会吸附在顶部',\n backToTopTips1: '页面滚动到指定位置会在右下角出现返回顶部按钮',\n backToTopTips2: '可自定义按钮的样式、show/hide、出现的高度、返回的位置 如需文字提示,可在外部使用Element的el-tooltip元素',\n imageUploadTips: '由于我在使用时它只有vue@1版本,而且和mockjs不兼容,所以自己改造了一下,如果大家要使用的话,优先还是使用官方版本。'\n },\n table: {\n dynamicTips1: '固定表头, 按照表头顺序排序',\n dynamicTips2: '不固定表头, 按照点击顺序排序',\n dragTips1: '默认顺序',\n dragTips2: '拖拽后顺序',\n title: '标题',\n importance: '重要性',\n type: '类型',\n remark: '点评',\n search: '搜索',\n add: '添加',\n export: '导出',\n reviewer: '审核人',\n id: '序号',\n date: '时间',\n author: '作者',\n readings: '阅读数',\n status: '状态',\n actions: '操作',\n edit: '编辑',\n publish: '发布',\n draft: '草稿',\n delete: '删除',\n cancel: '取 消',\n confirm: '确 定'\n },\n errorLog: {\n tips: '请点击右上角bug小图标',\n description: '现在的管理后台基本都是spa的形式了,它增强了用户体验,但同时也会增加页面出问题的可能性,可能一个小小的疏忽就导致整个页面的死锁。好在 Vue 官网提供了一个方法来捕获处理异常,你可以在其中进行错误处理或者异常上报。',\n documentation: '文档介绍'\n },\n excel: {\n export: '导出',\n selectedExport: '导出已选择项',\n placeholder: '请输入文件名(默认excel-list)'\n },\n zip: {\n export: '导出',\n placeholder: '请输入文件名(默认file)'\n },\n pdf: {\n tips: '这里使用 window.print() 来实现下载pdf的功能'\n },\n theme: {\n change: '换肤',\n documentation: '换肤文档',\n tips: 'Tips: 它区别于 navbar 上的 theme-pick, 是两种不同的换肤方法,各自有不同的应用场景,具体请参考文档。'\n },\n tagsView: {\n refresh: '刷新',\n close: '关闭',\n closeOthers: '关闭其它',\n closeAll: '关闭所有'\n }\n}\n","export default {\n route: {\n dashboard: 'Panel de control',\n introduction: 'Introducción',\n documentation: 'Documentación',\n guide: 'Guía',\n permission: 'Permisos',\n pagePermission: 'Permisos de la página',\n directivePermission: 'Permisos de la directiva',\n icons: 'Iconos',\n components: 'Componentes',\n componentIndex: 'Introducción',\n tinymce: 'Tinymce',\n markdown: 'Markdown',\n jsonEditor: 'Editor JSON',\n dndList: 'Lista Dnd',\n splitPane: 'Panel dividido',\n avatarUpload: 'Subir avatar',\n dropzone: 'Subir ficheros',\n sticky: 'Sticky',\n countTo: 'CountTo',\n componentMixin: 'Mixin',\n backToTop: 'Ir arriba',\n dragDialog: 'Drag Dialog',\n dragSelect: 'Drag Select',\n dragKanban: 'Drag Kanban',\n charts: 'Gráficos',\n keyboardChart: 'Keyboard Chart',\n lineChart: 'Gráfico de líneas',\n mixChart: 'Mix Chart',\n example: 'Ejemplo',\n nested: 'Rutas anidadass',\n menu1: 'Menu 1',\n 'menu1-1': 'Menu 1-1',\n 'menu1-2': 'Menu 1-2',\n 'menu1-2-1': 'Menu 1-2-1',\n 'menu1-2-2': 'Menu 1-2-2',\n 'menu1-3': 'Menu 1-3',\n menu2: 'Menu 2',\n Table: 'Tabla',\n dynamicTable: 'Tabla dinámica',\n dragTable: 'Arrastrar tabla',\n inlineEditTable: 'Editor',\n complexTable: 'Complex Table',\n treeTable: 'Tree Table',\n customTreeTable: 'Custom TreeTable',\n tab: 'Pestaña',\n form: 'Formulario',\n createArticle: 'Crear artículo',\n editArticle: 'Editar artículo',\n articleList: 'Listado de artículos',\n errorPages: 'Páginas de error',\n page401: '401',\n page404: '404',\n errorLog: 'Registro de errores',\n excel: 'Excel',\n exportExcel: 'Exportar a Excel',\n selectExcel: 'Export seleccionado',\n uploadExcel: 'Subir Excel',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: 'Exportar a Zip',\n theme: 'Tema',\n clipboardDemo: 'Clipboard',\n i18n: 'I18n',\n externalLink: 'Enlace externo'\n },\n navbar: {\n logOut: 'Salir',\n dashboard: 'Panel de control',\n github: 'Github',\n theme: 'Tema',\n size: 'Tamaño global'\n },\n login: {\n title: 'Formulario de acceso',\n logIn: 'Acceso',\n username: 'Usuario',\n password: 'Contraseña',\n any: 'nada',\n thirdparty: 'Conectar con',\n thirdpartyTips: 'No se puede simular en local, así que combine su propia simulación de negocios. ! !'\n },\n documentation: {\n documentation: 'Documentación',\n github: 'Repositorio Github'\n },\n permission: {\n roles: 'Tus permisos',\n switchRoles: 'Cambiar permisos',\n tips: 'In some cases it is not suitable to use v-permission, such as element Tab component or el-table-column and other asynchronous rendering dom cases which can only be achieved by manually setting the v-if.'\n },\n guide: {\n description: 'The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ',\n button: 'Ver guía'\n },\n components: {\n documentation: 'Documentación',\n tinymceTips: 'Rich text editor is a core part of management system, but at the same time is a place with lots of problems. In the process of selecting rich texts, I also walked a lot of detours. The common rich text editors in the market are basically used, and the finally chose Tinymce. See documentation for more detailed rich text editor comparisons and introductions.',\n dropzoneTips: 'Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/Dropzone.',\n stickyTips: 'when the page is scrolled to the preset position will be sticky on the top.',\n backToTopTips1: 'When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner',\n backToTopTips2: 'You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally',\n imageUploadTips: 'Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version.'\n },\n table: {\n dynamicTips1: 'Fixed header, sorted by header order',\n dynamicTips2: 'Not fixed header, sorted by click order',\n dragTips1: 'Orden por defecto',\n dragTips2: 'The after dragging order',\n title: 'Título',\n importance: 'Importancia',\n type: 'Tipo',\n remark: 'Remark',\n search: 'Buscar',\n add: 'Añadir',\n export: 'Exportar',\n reviewer: 'reviewer',\n id: 'ID',\n date: 'Fecha',\n author: 'Autor',\n readings: 'Lector',\n status: 'Estado',\n actions: 'Acciones',\n edit: 'Editar',\n publish: 'Publicar',\n draft: 'Draft',\n delete: 'Eliminar',\n cancel: 'Cancelar',\n confirm: 'Confirmar'\n },\n errorLog: {\n tips: 'Please click the bug icon in the upper right corner',\n description: 'Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.',\n documentation: 'Documento de introducción'\n },\n excel: {\n export: 'Exportar',\n selectedExport: 'Exportar seleccionados',\n placeholder: 'Por favor escribe un nombre de fichero'\n },\n zip: {\n export: 'Exportar',\n placeholder: 'Por favor escribe un nombre de fichero'\n },\n pdf: {\n tips: 'Here we use window.print() to implement the feature of downloading pdf.'\n },\n theme: {\n change: 'Cambiar tema',\n documentation: 'Documentación del tema',\n tips: 'Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details.'\n },\n tagsView: {\n refresh: 'Actualizar',\n close: 'Cerrar',\n closeOthers: 'Cerrar otros',\n closeAll: 'Cerrar todos'\n }\n}\n","export default {\n route: {\n dashboard: 'Tablèu de bòrd',\n introduction: 'Introduccion',\n documentation: 'Documentacion',\n guide: 'Guida',\n permission: 'Autorizacions',\n pagePermission: 'Pagina d’autorizacion',\n directivePermission: 'Politica d’autorizacion',\n icons: 'Icònas',\n components: 'Compausants',\n componentIndex: 'Introduccion',\n tinymce: 'Tinymce',\n markdown: 'Markdown',\n jsonEditor: 'JSON Editor',\n dndList: 'Dnd List',\n splitPane: 'SplitPane',\n avatarUpload: 'Mandadís d’avatar',\n dropzone: 'Dropzone',\n sticky: 'Sticky',\n countTo: 'CountTo',\n componentMixin: 'Mixin',\n backToTop: 'BackToTop',\n dragDialog: 'Drag Dialog',\n dragSelect: 'Drag Select',\n dragKanban: 'Drag Kanban',\n charts: 'Charts',\n keyboardChart: 'Keyboard Chart',\n lineChart: 'Line Chart',\n mixChart: 'Mix Chart',\n example: 'Exemple',\n nested: 'Rotas imbricadas',\n menu1: 'Menú 1',\n 'menu1-1': 'Menu 1-1',\n 'menu1-2': 'Menu 1-2',\n 'menu1-2-1': 'Menu 1-2-1',\n 'menu1-2-2': 'Menu 1-2-2',\n 'menu1-3': 'Menu 1-3',\n menu2: 'Menú 2',\n Table: 'Tablèu',\n dynamicTable: 'Tablèu dinamic',\n dragTable: 'Drag Table',\n inlineEditTable: 'Inline Edit',\n complexTable: 'Tablèu complèx',\n treeTable: 'Arborescéncia',\n customTreeTable: 'Arborescéncia personalizada',\n tab: 'Onglet',\n form: 'Formulari',\n createArticle: 'Crear un article',\n editArticle: 'Modificar l’article',\n articleList: 'Lista d’articles',\n errorPages: 'Paginas d’error',\n page401: '401',\n page404: '404',\n errorLog: 'Jornal d’error',\n excel: 'Excel',\n exportExcel: 'Exportacion Excel',\n selectExcel: 'Exportar los seleccionats',\n uploadExcel: 'Importacion Excel',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: 'Exportacion Zip',\n theme: 'Tèma',\n clipboardDemo: 'Clipboard',\n i18n: 'I18n',\n externalLink: 'Ligams extèrnes',\n users: 'Utilizaires'\n },\n navbar: {\n logOut: 'Desconnexion',\n dashboard: 'Tablèu de bòrd',\n github: 'Github',\n theme: 'Tèma',\n size: 'Talha totala'\n },\n login: {\n title: 'Formulari de connexion',\n logIn: 'Se connectar',\n username: 'Nom d’’utilizaire',\n password: 'Senhal',\n any: 'qual que siá',\n thirdparty: 'O se connectar amb',\n thirdpartyTips: 'Pòt pas èsser simulat en local, doncas montatz vòstra pròpria simulacion ! ! !'\n },\n documentation: {\n documentation: 'Documentacion',\n github: 'Repertòri Github'\n },\n permission: {\n roles: 'Vòstres ròtles',\n switchRoles: 'Cambiar de ròtle',\n tips: 'Dins qualques cases es pas de bon far d’utilizar v-permission, coma element d’onglet compausant, el-table-column o d’autres renduts dom asincròns que pòdon pas que foncionar amb un parametratge manual de v-if.'\n },\n guide: {\n description: 'La pagina de guida es utila pel monde que dintran dins lo projècte pel primièr còp. Podètz presentar en un mot las foncionalitats del projèctes. La demo es fondada sus ',\n button: 'Mostrar la guida'\n },\n components: {\n documentation: 'Documentacion',\n tinymceTips: 'Rich text editor is a core part of management system, but at the same time is a place with lots of problems. In the process of selecting rich texts, I also walked a lot of detours. The common rich text editors in the market are basically used, and the finally chose Tinymce. See documentation for more detailed rich text editor comparisons and introductions.',\n dropzoneTips: 'Because my business has special needs, and has to upload images to qiniu, so instead of a third party, I chose encapsulate it by myself. It is very simple, you can see the detail code in @/components/Dropzone.',\n stickyTips: 'when the page is scrolled to the preset position will be sticky on the top.',\n backToTopTips1: 'When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner',\n backToTopTips2: 'You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally',\n imageUploadTips: 'Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version.'\n },\n table: {\n dynamicTips1: 'Bandièra fixa, triada per òrdre de bandièra',\n dynamicTips2: 'Bandièra pas fixa, triada per òrdre de clic',\n dragTips1: 'L’’òrdre per defaut',\n dragTips2: 'L’’òrdre aprèp lisar-depausar',\n title: 'Títol',\n importance: 'Imp',\n type: 'Tipe',\n remark: 'Remarca',\n search: 'Recercar',\n add: 'Ajustar',\n export: 'Exportar',\n reviewer: 'examinator',\n id: 'ID',\n date: 'Data',\n author: 'Autor',\n readings: 'Lecturas',\n status: 'Estatuts',\n actions: 'Accions',\n edit: 'Modificar',\n publish: 'Publicar',\n draft: 'Ensag',\n delete: 'Suprimir',\n cancel: 'Anullar',\n confirm: 'Confirmar'\n },\n errorLog: {\n tips: 'Mercés de clicar l’’icòna del babau amont a man drecha',\n description: 'Ara que lo sistèma de gestion es coma un spa, melhora l’experiéncia dels utilizaire mas aumenta tanben lo risc de problèmas sus la pagina, una pichona negligéncia pòt menar a un blocatge complèt de la pagina. Urosament Vue fornís de manièras per gerir las excepcions, trobar las errors o senhalar las excepcions.',\n documentation: 'Presentacion del document'\n },\n excel: {\n export: 'Exportar',\n selectedExport: 'Exportar los elements seleccionats',\n placeholder: 'Mercés de picar lo nom de fichièr (per defaut excel-list)'\n },\n zip: {\n export: 'Exportar',\n placeholder: 'Mercés de picar lo nom de fichièr (per defaut file)'\n },\n pdf: {\n tips: 'Aquí utilizam window.print() per prepausar lo telecargament de pdf.'\n },\n theme: {\n change: 'Cambiar lo tèma',\n documentation: 'Documentacion dels tèmas',\n tips: 'Astúcia : es diferent del theme-pick de la barra de navigacion, i a dos metòdes de personalizacion, caduna amb un biais de far diferent. Referiscam a la documentacion per mai de detalhs.'\n },\n tagsView: {\n refresh: 'Actualizar',\n close: 'Tampar',\n closeOthers: 'Tampar los autres',\n closeAll: 'Los tampar totes'\n }\n}\n","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-icon\",\n \"use\": \"icon-icon-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-icon\\\"><path d=\\\"M115.147.062a13 13 0 0 1 4.94.945c1.55.63 2.907 1.526 4.069 2.688a13.148 13.148 0 0 1 2.761 4.069c.678 1.55 1.017 3.245 1.017 5.086v102.3c0 3.681-1.187 6.733-3.56 9.155-2.373 2.422-5.352 3.633-8.937 3.633H12.992c-3.875 0-7-1.26-9.373-3.779-2.373-2.518-3.56-5.667-3.56-9.445V12.704c0-3.39 1.163-6.345 3.488-8.863C5.872 1.32 8.972.062 12.847.062h102.3zM81.434 109.047c1.744 0 3.003-.412 3.778-1.235.775-.824 1.163-1.914 1.163-3.27 0-1.26-.388-2.325-1.163-3.197-.775-.872-2.034-1.307-3.778-1.307H72.57c.097-.194.145-.485.145-.872V27.09h9.01c1.743 0 2.954-.436 3.633-1.308.678-.872 1.017-1.938 1.017-3.197 0-1.26-.34-2.325-1.017-3.197-.679-.872-1.89-1.308-3.633-1.308H46.268c-1.743 0-2.954.436-3.632 1.308-.678.872-1.018 1.938-1.018 3.197 0 1.26.34 2.325 1.018 3.197.678.872 1.889 1.308 3.632 1.308h8.138v72.075c0 .193.024.339.073.436.048.096.072.242.072.436H46.56c-1.744 0-3.003.435-3.778 1.307-.775.872-1.163 1.938-1.163 3.197 0 1.356.388 2.446 1.163 3.27.775.823 2.034 1.235 3.778 1.235h34.875z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-404\",\n \"use\": \"icon-404-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-404\\\"><path d=\\\"M121.718 73.272v9.953c3.957-7.584 6.199-16.05 6.199-24.995C127.917 26.079 99.273 0 63.958 0 28.644 0 0 26.079 0 58.23c0 .403.028.806.028 1.21l22.97-25.953h13.34l-19.76 27.187h6.42V53.77l13.728-19.477v49.361H22.998V73.272H2.158c5.951 20.284 23.608 36.208 45.998 41.399-1.44 3.3-5.618 11.263-12.565 12.674-8.607 1.764 23.358.428 46.163-13.178 17.519-4.611 31.938-15.849 39.77-30.513h-13.506V73.272H85.02V59.464l22.998-25.977h13.008l-19.429 27.187h6.421v-7.433l13.727-19.402v39.433h-.027zm-78.24 2.822a10.516 10.516 0 0 1-.996-4.535V44.548c0-1.613.332-3.124.996-4.535a11.66 11.66 0 0 1 2.713-3.68c1.134-1.032 2.49-1.864 4.04-2.468 1.55-.605 3.21-.908 4.982-.908h11.292c1.77 0 3.431.303 4.981.908 1.522.604 2.85 1.41 3.986 2.418l-12.26 16.303v-2.898a1.96 1.96 0 0 0-.665-1.512c-.443-.403-.996-.604-1.66-.604-.665 0-1.218.201-1.661.604a1.96 1.96 0 0 0-.664 1.512v9.071L44.364 77.606a10.556 10.556 0 0 1-.886-1.512zm35.73-4.535c0 1.613-.332 3.124-.997 4.535a11.66 11.66 0 0 1-2.712 3.68c-1.134 1.032-2.49 1.864-4.04 2.469-1.55.604-3.21.907-4.982.907H55.185c-1.77 0-3.431-.303-4.981-.907-1.55-.605-2.906-1.437-4.041-2.47a12.49 12.49 0 0 1-1.384-1.512l13.727-18.217v6.375c0 .605.222 1.109.665 1.512.442.403.996.604 1.66.604.664 0 1.218-.201 1.66-.604a1.96 1.96 0 0 0 .665-1.512V53.87L75.97 36.838c.913.932 1.66 1.99 2.214 3.175.664 1.41.996 2.922.996 4.535v27.011h.028z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import request from '@/utils/request'\nimport { getToken } from '@/utils/auth'\nimport { baseName } from './utils'\n\nimport _ from 'lodash'\n\nexport async function deletePack(host, token, name) {\n return await request({\n baseURL: baseName(host),\n url: `/api/pleroma/emoji/packs/${name}`,\n method: 'delete',\n headers: authHeaders(token)\n })\n}\n\nexport async function reloadEmoji(host, token) {\n return await request({\n baseURL: baseName(host),\n url: '/api/pleroma/admin/reload_emoji',\n method: 'post',\n headers: authHeaders(token)\n })\n}\n\nexport async function importFromFS(host, token) {\n return await request({\n baseURL: baseName(host),\n url: '/api/pleroma/emoji/packs/import_from_fs',\n method: 'post',\n headers: authHeaders(token)\n })\n}\n\nexport async function createPack(host, token, name) {\n return await request({\n baseURL: baseName(host),\n url: `/api/pleroma/emoji/packs/${name}`,\n method: 'put',\n headers: authHeaders(token)\n })\n}\n\nexport async function listPacks(host) {\n return await request({\n baseURL: baseName(host),\n url: `/api/pleroma/emoji/packs/`,\n method: 'get'\n })\n}\n\nexport async function listRemotePacks(host, token, instance) {\n return await request({\n baseURL: baseName(host),\n url: `/api/pleroma/emoji/packs/list_from`,\n method: 'post',\n headers: authHeaders(token),\n data: { instance_address: baseName(instance) }\n })\n}\n\nexport async function downloadFrom(host, instance_address, pack_name, as, token) {\n if (as.trim() === '') {\n as = null\n }\n\n return await request({\n baseURL: baseName(host),\n url: '/api/pleroma/emoji/packs/download_from',\n method: 'post',\n headers: authHeaders(token),\n data: { instance_address: baseName(instance_address), pack_name, as },\n timeout: 0\n })\n}\n\nexport async function savePackMetadata(host, token, name, new_data) {\n return await request({\n baseURL: baseName(host),\n url: `/api/pleroma/emoji/packs/${name}/update_metadata`,\n method: 'post',\n headers: authHeaders(token),\n data: { name, new_data },\n timeout: 0 // This might take a long time\n })\n}\n\nfunction fileUpdateFormData(d) {\n const data = new FormData()\n\n _.each(d, (v, k) => {\n data.set(k, v)\n })\n\n return data\n}\n\nexport async function updatePackFile(host, token, args) {\n let data = null\n\n switch (args.action) {\n case 'add': {\n const { shortcode, file, fileName } = args\n\n data = fileUpdateFormData({\n action: 'add',\n shortcode: shortcode,\n file: file\n })\n if (fileName.trim() !== '') {\n data.set('filename', fileName)\n }\n\n break\n }\n\n case 'update': {\n const { oldName, newName, newFilename } = args\n\n data = fileUpdateFormData({\n action: 'update',\n shortcode: oldName,\n new_shortcode: newName,\n new_filename: newFilename\n })\n\n break\n }\n\n case 'remove': {\n const { name } = args\n data = fileUpdateFormData({\n action: 'remove',\n shortcode: name\n })\n\n break\n }\n }\n\n const { packName } = args\n\n return await request({\n baseURL: baseName(host),\n url: `/api/pleroma/emoji/packs/${packName}/update_file`,\n method: 'post',\n headers: authHeaders(token),\n data: data,\n timeout: 0\n })\n}\n\nexport function addressOfEmojiInPack(host, packName, name) {\n return `${baseName(host)}/emoji/${packName}/${name}`\n}\n\nconst authHeaders = (token) => token ? { 'Authorization': `Bearer ${getToken()}` } : {}\n","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-edit\",\n \"use\": \"icon-edit-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-edit\\\"><path d=\\\"M106.133 67.2a4.797 4.797 0 0 0-4.8 4.8c0 .187.014.36.027.533h-.027V118.4H9.6V26.667h50.133c2.654 0 4.8-2.147 4.8-4.8 0-2.654-2.146-4.8-4.8-4.8H9.6a9.594 9.594 0 0 0-9.6 9.6V118.4c0 5.307 4.293 9.6 9.6 9.6h91.733c5.307 0 9.6-4.293 9.6-9.6V72.533h-.026c.013-.173.026-.346.026-.533 0-2.653-2.146-4.8-4.8-4.8z\\\" /><path d=\\\"M125.16 13.373L114.587 2.8c-3.747-3.747-9.854-3.72-13.6.027l-52.96 52.96a4.264 4.264 0 0 0-.907 1.36L33.813 88.533c-.746 1.76-.226 3.534.907 4.68 1.133 1.147 2.92 1.667 4.693.92l31.4-13.293c.507-.213.96-.52 1.36-.907l52.96-52.96c3.747-3.746 3.774-9.853.027-13.6zM66.107 72.4l-18.32 7.76 7.76-18.32L92.72 24.667l10.56 10.56L66.107 72.4zm52.226-52.227l-8.266 8.267-10.56-10.56 8.266-8.267.027-.026 10.56 10.56-.027.026z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-lock\",\n \"use\": \"icon-lock-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-lock\\\"><path d=\\\"M119.88 49.674h-7.987V39.52C111.893 17.738 90.45.08 63.996.08 37.543.08 16.1 17.738 16.1 39.52v10.154H8.113c-4.408 0-7.987 2.94-7.987 6.577v65.13c0 3.637 3.57 6.577 7.987 6.577H119.88c4.407 0 7.987-2.94 7.987-6.577v-65.13c-.008-3.636-3.58-6.577-7.987-6.577zm-23.953 0H32.065V39.52c0-14.524 14.301-26.295 31.931-26.295 17.63 0 31.932 11.777 31.932 26.295v10.153z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-user\",\n \"use\": \"icon-user-usage\",\n \"viewBox\": \"0 0 130 130\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 130 130\\\" id=\\\"icon-user\\\"><path d=\\\"M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z\\\" stroke=\\\"#979797\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuText\":\"#bfcbd9\",\"menuActiveText\":\"#409EFF\",\"subMenuActiveText\":\"#f4f4f5\",\"menuBg\":\"#304156\",\"menuHover\":\"#263445\",\"subMenuBg\":\"#1f2d3d\",\"subMenuHover\":\"#001528\",\"sideBarWidth\":\"180px\"};","import axios from 'axios'\nimport { Message } from 'element-ui'\n\n// create an axios instance\nconst service = axios.create({\n timeout: 60000 // request timeout\n})\n\n// response interceptor\nservice.interceptors.response.use(\n response => response,\n error => {\n console.log(`Error ${error}`)\n console.log(error.response.data)\n\n // If there's an \"error\" property in the json, use it\n const edata = error.response.data.error ? error.response.data.error : error.response.data\n\n Message({\n message: `${error.message} - ${edata}`,\n type: 'error',\n duration: 5 * 1000\n })\n return Promise.reject(error)\n }\n)\n\nexport default service\n","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-clipboard\",\n \"use\": \"icon-clipboard-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-clipboard\\\"><path d=\\\"M54.857 118.857h64V73.143H89.143c-1.902 0-3.52-.668-4.855-2.002-1.335-1.335-2.002-2.954-2.002-4.855V36.57H54.857v82.286zM73.143 16v-4.571a2.2 2.2 0 0 0-.677-1.61 2.198 2.198 0 0 0-1.609-.676H20.571c-.621 0-1.158.225-1.609.676a2.198 2.198 0 0 0-.676 1.61V16a2.2 2.2 0 0 0 .676 1.61c.451.45.988.676 1.61.676h50.285c.622 0 1.158-.226 1.61-.677.45-.45.676-.987.676-1.609zm18.286 48h21.357L91.43 42.642V64zM128 73.143v48c0 1.902-.667 3.52-2.002 4.855-1.335 1.335-2.953 2.002-4.855 2.002H52.57c-1.901 0-3.52-.667-4.854-2.002-1.335-1.335-2.003-2.953-2.003-4.855v-11.429H6.857c-1.902 0-3.52-.667-4.855-2.002C.667 106.377 0 104.759 0 102.857v-96c0-1.902.667-3.52 2.002-4.855C3.337.667 4.955 0 6.857 0h77.714c1.902 0 3.52.667 4.855 2.002 1.335 1.335 2.003 2.953 2.003 4.855V30.29c1 .622 1.856 1.29 2.569 2.003l29.147 29.147c1.335 1.335 2.478 3.145 3.429 5.43.95 2.287 1.426 4.383 1.426 6.291v-.018z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',_vm._g({class:_vm.svgClass,attrs:{\"aria-hidden\":\"true\"}},_vm.$listeners),[_c('use',{attrs:{\"xlink:href\":_vm.iconName}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <svg :class=\"svgClass\" aria-hidden=\"true\" v-on=\"$listeners\">\n <use :xlink:href=\"iconName\"/>\n </svg>\n</template>\n\n<script>\nexport default {\n name: 'SvgIcon',\n props: {\n iconClass: {\n type: String,\n required: true\n },\n className: {\n type: String,\n default: ''\n }\n },\n computed: {\n iconName() {\n return `#icon-${this.iconClass}`\n },\n svgClass() {\n if (this.className) {\n return 'svg-icon ' + this.className\n } else {\n return 'svg-icon'\n }\n }\n }\n}\n</script>\n\n<style scoped>\n.svg-icon {\n width: 1em;\n height: 1em;\n vertical-align: -0.15em;\n fill: currentColor;\n overflow: hidden;\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=4e710b96&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=4e710b96&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 \"4e710b96\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-email\",\n \"use\": \"icon-email-usage\",\n \"viewBox\": \"0 0 128 96\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 96\\\" id=\\\"icon-email\\\"><path d=\\\"M64.125 56.975L120.188.912A12.476 12.476 0 0 0 115.5 0h-103c-1.588 0-3.113.3-4.513.838l56.138 56.137z\\\" /><path d=\\\"M64.125 68.287l-62.3-62.3A12.42 12.42 0 0 0 0 12.5v71C0 90.4 5.6 96 12.5 96h103c6.9 0 12.5-5.6 12.5-12.5v-71a12.47 12.47 0 0 0-1.737-6.35L64.125 68.287z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","import SpriteSymbol from \"svg-baker-runtime/browser-symbol\";\nimport sprite from \"svg-sprite-loader/runtime/browser-sprite.build\";\nvar symbol = new SpriteSymbol({\n \"id\": \"icon-chart\",\n \"use\": \"icon-chart-usage\",\n \"viewBox\": \"0 0 128 128\",\n \"content\": \"<symbol xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 128 128\\\" id=\\\"icon-chart\\\"><path d=\\\"M0 54.857h36.571V128H0V54.857zM91.429 27.43H128V128H91.429V27.429zM45.714 0h36.572v128H45.714V0z\\\" /></symbol>\"\n});\nvar result = sprite.add(symbol);\nexport default symbol","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menuText\":\"#bfcbd9\",\"menuActiveText\":\"#409EFF\",\"subMenuActiveText\":\"#f4f4f5\",\"menuBg\":\"#304156\",\"menuHover\":\"#263445\",\"subMenuBg\":\"#1f2d3d\",\"subMenuHover\":\"#001528\",\"sideBarWidth\":\"180px\"};"],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-0620.c765c190.js b/priv/static/adminfe/static/js/chunk-0620.c765c190.js
deleted file mode 100644
index 72077a5ac..000000000
--- a/priv/static/adminfe/static/js/chunk-0620.c765c190.js
+++ /dev/null
@@ -1,9 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-0620"],{"9/5/":function(e,t,r){(function(t){var r="Expected a function",n=NaN,i="[object Symbol]",o=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,l=/^0o[0-7]+$/i,c=parseInt,s="object"==typeof t&&t&&t.Object===Object&&t,f="object"==typeof self&&self&&self.Object===Object&&self,m=s||f||Function("return this")(),h=Object.prototype.toString,b=Math.max,d=Math.min,p=function(){return m.Date.now()};function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function v(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&h.call(e)==i}(e))return n;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var r=u.test(e);return r||l.test(e)?c(e.slice(2),r?2:8):a.test(e)?n:+e}e.exports=function(e,t,n){var i,o,a,u,l,c,s=0,f=!1,m=!1,h=!0;if("function"!=typeof e)throw new TypeError(r);function _(t){var r=i,n=o;return i=o=void 0,s=t,u=e.apply(n,r)}function y(e){var r=e-c;return void 0===c||r>=t||r<0||m&&e-s>=a}function F(){var e=p();if(y(e))return x(e);l=setTimeout(F,function(e){var r=t-(e-c);return m?d(r,a-(e-s)):r}(e))}function x(e){return l=void 0,h&&i?_(e):(i=o=void 0,u)}function w(){var e=p(),r=y(e);if(i=arguments,o=this,c=e,r){if(void 0===l)return function(e){return s=e,l=setTimeout(F,t),f?_(e):u}(c);if(m)return l=setTimeout(F,t),_(c)}return void 0===l&&(l=setTimeout(F,t)),u}return t=v(t)||0,g(n)&&(f=!!n.leading,a=(m="maxWait"in n)?b(v(n.maxWait)||0,t):a,h="trailing"in n?!!n.trailing:h),w.cancel=function(){void 0!==l&&clearTimeout(l),s=0,i=c=o=l=void 0},w.flush=function(){return void 0===l?u:x(p())},w}}).call(this,r("yLpj"))},ZhIB:function(e,t,r){var n,i;
-/*! @preserve
- * numeral.js
- * version : 2.0.6
- * author : Adam Draper
- * license : MIT
- * http://adamwdraper.github.com/Numeral-js/
- */void 0===(i="function"==typeof(n=function(){var e,t,r={},n={},i={currentLocale:"en",zeroFormat:null,nullFormat:null,defaultFormat:"0,0",scalePercentBy100:!0},o={currentLocale:i.currentLocale,zeroFormat:i.zeroFormat,nullFormat:i.nullFormat,defaultFormat:i.defaultFormat,scalePercentBy100:i.scalePercentBy100};function a(e,t){this._input=e,this._value=t}return(e=function(n){var i,u,l,c;if(e.isNumeral(n))i=n.value();else if(0===n||void 0===n)i=0;else if(null===n||t.isNaN(n))i=null;else if("string"==typeof n)if(o.zeroFormat&&n===o.zeroFormat)i=0;else if(o.nullFormat&&n===o.nullFormat||!n.replace(/[^0-9]+/g,"").length)i=null;else{for(u in r)if((c="function"==typeof r[u].regexps.unformat?r[u].regexps.unformat():r[u].regexps.unformat)&&n.match(c)){l=r[u].unformat;break}i=(l=l||e._.stringToNumber)(n)}else i=Number(n)||null;return new a(n,i)}).version="2.0.6",e.isNumeral=function(e){return e instanceof a},e._=t={numberToFormat:function(t,r,i){var o,a,u,l,c,s,f,m,h=n[e.options.currentLocale],b=!1,d=!1,p="",g="",v=!1;if(t=t||0,u=Math.abs(t),e._.includes(r,"(")?(b=!0,r=r.replace(/[\(|\)]/g,"")):(e._.includes(r,"+")||e._.includes(r,"-"))&&(s=e._.includes(r,"+")?r.indexOf("+"):t<0?r.indexOf("-"):-1,r=r.replace(/[\+|\-]/g,"")),e._.includes(r,"a")&&(a=!!(a=r.match(/a(k|m|b|t)?/))&&a[1],e._.includes(r," a")&&(p=" "),r=r.replace(new RegExp(p+"a[kmbt]?"),""),u>=1e12&&!a||"t"===a?(p+=h.abbreviations.trillion,t/=1e12):u<1e12&&u>=1e9&&!a||"b"===a?(p+=h.abbreviations.billion,t/=1e9):u<1e9&&u>=1e6&&!a||"m"===a?(p+=h.abbreviations.million,t/=1e6):(u<1e6&&u>=1e3&&!a||"k"===a)&&(p+=h.abbreviations.thousand,t/=1e3)),e._.includes(r,"[.]")&&(d=!0,r=r.replace("[.]",".")),l=t.toString().split(".")[0],c=r.split(".")[1],f=r.indexOf(","),o=(r.split(".")[0].split(",")[0].match(/0/g)||[]).length,c?(e._.includes(c,"[")?(c=(c=c.replace("]","")).split("["),g=e._.toFixed(t,c[0].length+c[1].length,i,c[1].length)):g=e._.toFixed(t,c.length,i),l=g.split(".")[0],g=e._.includes(g,".")?h.delimiters.decimal+g.split(".")[1]:"",d&&0===Number(g.slice(1))&&(g="")):l=e._.toFixed(t,0,i),p&&!a&&Number(l)>=1e3&&p!==h.abbreviations.trillion)switch(l=String(Number(l)/1e3),p){case h.abbreviations.thousand:p=h.abbreviations.million;break;case h.abbreviations.million:p=h.abbreviations.billion;break;case h.abbreviations.billion:p=h.abbreviations.trillion}if(e._.includes(l,"-")&&(l=l.slice(1),v=!0),l.length<o)for(var _=o-l.length;_>0;_--)l="0"+l;return f>-1&&(l=l.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+h.delimiters.thousands)),0===r.indexOf(".")&&(l=""),m=l+g+(p||""),b?m=(b&&v?"(":"")+m+(b&&v?")":""):s>=0?m=0===s?(v?"-":"+")+m:m+(v?"-":"+"):v&&(m="-"+m),m},stringToNumber:function(e){var t,r,i,a=n[o.currentLocale],u=e,l={thousand:3,million:6,billion:9,trillion:12};if(o.zeroFormat&&e===o.zeroFormat)r=0;else if(o.nullFormat&&e===o.nullFormat||!e.replace(/[^0-9]+/g,"").length)r=null;else{for(t in r=1,"."!==a.delimiters.decimal&&(e=e.replace(/\./g,"").replace(a.delimiters.decimal,".")),l)if(i=new RegExp("[^a-zA-Z]"+a.abbreviations[t]+"(?:\\)|(\\"+a.currency.symbol+")?(?:\\))?)?$"),u.match(i)){r*=Math.pow(10,l[t]);break}r*=(e.split("-").length+Math.min(e.split("(").length-1,e.split(")").length-1))%2?1:-1,e=e.replace(/[^0-9\.]+/g,""),r*=Number(e)}return r},isNaN:function(e){return"number"==typeof e&&isNaN(e)},includes:function(e,t){return-1!==e.indexOf(t)},insert:function(e,t,r){return e.slice(0,r)+t+e.slice(r)},reduce:function(e,t){if(null===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof t)throw new TypeError(t+" is not a function");var r,n=Object(e),i=n.length>>>0,o=0;if(3===arguments.length)r=arguments[2];else{for(;o<i&&!(o in n);)o++;if(o>=i)throw new TypeError("Reduce of empty array with no initial value");r=n[o++]}for(;o<i;o++)o in n&&(r=t(r,n[o],o,n));return r},multiplier:function(e){var t=e.toString().split(".");return t.length<2?1:Math.pow(10,t[1].length)},correctionFactor:function(){return Array.prototype.slice.call(arguments).reduce(function(e,r){var n=t.multiplier(r);return e>n?e:n},1)},toFixed:function(e,t,r,n){var i,o,a,u,l=e.toString().split("."),c=t-(n||0);return i=2===l.length?Math.min(Math.max(l[1].length,c),t):c,a=Math.pow(10,i),u=(r(e+"e+"+i)/a).toFixed(i),n>t-i&&(o=new RegExp("\\.?0{1,"+(n-(t-i))+"}$"),u=u.replace(o,"")),u}},e.options=o,e.formats=r,e.locales=n,e.locale=function(e){return e&&(o.currentLocale=e.toLowerCase()),o.currentLocale},e.localeData=function(e){if(!e)return n[o.currentLocale];if(e=e.toLowerCase(),!n[e])throw new Error("Unknown locale : "+e);return n[e]},e.reset=function(){for(var e in i)o[e]=i[e]},e.zeroFormat=function(e){o.zeroFormat="string"==typeof e?e:null},e.nullFormat=function(e){o.nullFormat="string"==typeof e?e:null},e.defaultFormat=function(e){o.defaultFormat="string"==typeof e?e:"0.0"},e.register=function(e,t,r){if(t=t.toLowerCase(),this[e+"s"][t])throw new TypeError(t+" "+e+" already registered.");return this[e+"s"][t]=r,r},e.validate=function(t,r){var n,i,o,a,u,l,c,s;if("string"!=typeof t&&(t+="",console.warn&&console.warn("Numeral.js: Value is not string. It has been co-erced to: ",t)),(t=t.trim()).match(/^\d+$/))return!0;if(""===t)return!1;try{c=e.localeData(r)}catch(t){c=e.localeData(e.locale())}return o=c.currency.symbol,u=c.abbreviations,n=c.delimiters.decimal,i="."===c.delimiters.thousands?"\\.":c.delimiters.thousands,!(null!==(s=t.match(/^[^\d]+/))&&(t=t.substr(1),s[0]!==o)||null!==(s=t.match(/[^\d]+$/))&&(t=t.slice(0,-1),s[0]!==u.thousand&&s[0]!==u.million&&s[0]!==u.billion&&s[0]!==u.trillion)||(l=new RegExp(i+"{2}"),t.match(/[^\d.,]/g)||(a=t.split(n)).length>2||(a.length<2?!a[0].match(/^\d+.*\d$/)||a[0].match(l):1===a[0].length?!a[0].match(/^\d+$/)||a[0].match(l)||!a[1].match(/^\d+$/):!a[0].match(/^\d+.*\d$/)||a[0].match(l)||!a[1].match(/^\d+$/))))},e.fn=a.prototype={clone:function(){return e(this)},format:function(t,n){var i,a,u,l=this._value,c=t||o.defaultFormat;if(n=n||Math.round,0===l&&null!==o.zeroFormat)a=o.zeroFormat;else if(null===l&&null!==o.nullFormat)a=o.nullFormat;else{for(i in r)if(c.match(r[i].regexps.format)){u=r[i].format;break}a=(u=u||e._.numberToFormat)(l,c,n)}return a},value:function(){return this._value},input:function(){return this._input},set:function(e){return this._value=Number(e),this},add:function(e){var r=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([this._value,e],function(e,t,n,i){return e+Math.round(r*t)},0)/r,this},subtract:function(e){var r=t.correctionFactor.call(null,this._value,e);return this._value=t.reduce([e],function(e,t,n,i){return e-Math.round(r*t)},Math.round(this._value*r))/r,this},multiply:function(e){return this._value=t.reduce([this._value,e],function(e,r,n,i){var o=t.correctionFactor(e,r);return Math.round(e*o)*Math.round(r*o)/Math.round(o*o)},1),this},divide:function(e){return this._value=t.reduce([this._value,e],function(e,r,n,i){var o=t.correctionFactor(e,r);return Math.round(e*o)/Math.round(r*o)}),this},difference:function(t){return Math.abs(e(this._value).subtract(t).value())}},e.register("locale","en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(e){var t=e%10;return 1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th"},currency:{symbol:"$"}}),e.register("format","bps",{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function(t,r,n){var i,o=e._.includes(r," BPS")?" ":"";return t*=1e4,r=r.replace(/\s?BPS/,""),i=e._.numberToFormat(t,r,n),e._.includes(i,")")?((i=i.split("")).splice(-1,0,o+"BPS"),i=i.join("")):i=i+o+"BPS",i},unformat:function(t){return+(1e-4*e._.stringToNumber(t)).toFixed(15)}}),function(){var t={base:1e3,suffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]},r={base:1024,suffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},n=t.suffixes.concat(r.suffixes.filter(function(e){return t.suffixes.indexOf(e)<0})).join("|");n="("+n.replace("B","B(?!PS)")+")",e.register("format","bytes",{regexps:{format:/([0\s]i?b)/,unformat:new RegExp(n)},format:function(n,i,o){var a,u,l,c=e._.includes(i,"ib")?r:t,s=e._.includes(i," b")||e._.includes(i," ib")?" ":"";for(i=i.replace(/\s?i?b/,""),a=0;a<=c.suffixes.length;a++)if(u=Math.pow(c.base,a),l=Math.pow(c.base,a+1),null===n||0===n||n>=u&&n<l){s+=c.suffixes[a],u>0&&(n/=u);break}return e._.numberToFormat(n,i,o)+s},unformat:function(n){var i,o,a=e._.stringToNumber(n);if(a){for(i=t.suffixes.length-1;i>=0;i--){if(e._.includes(n,t.suffixes[i])){o=Math.pow(t.base,i);break}if(e._.includes(n,r.suffixes[i])){o=Math.pow(r.base,i);break}}a*=o||1}return a}})}(),e.register("format","currency",{regexps:{format:/(\$)/},format:function(t,r,n){var i,o,a=e.locales[e.options.currentLocale],u={before:r.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:r.match(/([\+|\-|\)|\s|\$]*)$/)[0]};for(r=r.replace(/\s?\$\s?/,""),i=e._.numberToFormat(t,r,n),t>=0?(u.before=u.before.replace(/[\-\(]/,""),u.after=u.after.replace(/[\-\)]/,"")):t<0&&!e._.includes(u.before,"-")&&!e._.includes(u.before,"(")&&(u.before="-"+u.before),o=0;o<u.before.length;o++)switch(u.before[o]){case"$":i=e._.insert(i,a.currency.symbol,o);break;case" ":i=e._.insert(i," ",o+a.currency.symbol.length-1)}for(o=u.after.length-1;o>=0;o--)switch(u.after[o]){case"$":i=o===u.after.length-1?i+a.currency.symbol:e._.insert(i,a.currency.symbol,-(u.after.length-(1+o)));break;case" ":i=o===u.after.length-1?i+" ":e._.insert(i," ",-(u.after.length-(1+o)+a.currency.symbol.length-1))}return i}}),e.register("format","exponential",{regexps:{format:/(e\+|e-)/,unformat:/(e\+|e-)/},format:function(t,r,n){var i=("number"!=typeof t||e._.isNaN(t)?"0e+0":t.toExponential()).split("e");return r=r.replace(/e[\+|\-]{1}0/,""),e._.numberToFormat(Number(i[0]),r,n)+"e"+i[1]},unformat:function(t){var r=e._.includes(t,"e+")?t.split("e+"):t.split("e-"),n=Number(r[0]),i=Number(r[1]);return i=e._.includes(t,"e-")?i*=-1:i,e._.reduce([n,Math.pow(10,i)],function(t,r,n,i){var o=e._.correctionFactor(t,r);return t*o*(r*o)/(o*o)},1)}}),e.register("format","ordinal",{regexps:{format:/(o)/},format:function(t,r,n){var i=e.locales[e.options.currentLocale],o=e._.includes(r," o")?" ":"";return r=r.replace(/\s?o/,""),o+=i.ordinal(t),e._.numberToFormat(t,r,n)+o}}),e.register("format","percentage",{regexps:{format:/(%)/,unformat:/(%)/},format:function(t,r,n){var i,o=e._.includes(r," %")?" ":"";return e.options.scalePercentBy100&&(t*=100),r=r.replace(/\s?\%/,""),i=e._.numberToFormat(t,r,n),e._.includes(i,")")?((i=i.split("")).splice(-1,0,o+"%"),i=i.join("")):i=i+o+"%",i},unformat:function(t){var r=e._.stringToNumber(t);return e.options.scalePercentBy100?.01*r:r}}),e.register("format","time",{regexps:{format:/(:)/,unformat:/(:)/},format:function(e,t,r){var n=Math.floor(e/60/60),i=Math.floor((e-60*n*60)/60),o=Math.round(e-60*n*60-60*i);return n+":"+(i<10?"0"+i:i)+":"+(o<10?"0"+o:o)},unformat:function(e){var t=e.split(":"),r=0;return 3===t.length?(r+=60*Number(t[0])*60,r+=60*Number(t[1]),r+=Number(t[2])):2===t.length&&(r+=60*Number(t[0]),r+=Number(t[1])),Number(r)}}),e})?n.call(t,r,t,e):n)||(e.exports=i)}}]);
-//# sourceMappingURL=chunk-0620.c765c190.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-0620.c765c190.js.map b/priv/static/adminfe/static/js/chunk-0620.c765c190.js.map
deleted file mode 100644
index f39b8237f..000000000
--- a/priv/static/adminfe/static/js/chunk-0620.c765c190.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./node_modules/lodash.debounce/index.js","webpack:///./node_modules/numeral/numeral.js"],"names":["global","FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","Object","freeSelf","self","root","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","value","type","toNumber","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","test","slice","module","exports","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","remainingWait","debounced","isInvoking","arguments","this","leadingEdge","cancel","clearTimeout","flush","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","numeral","_","formats","locales","defaults","currentLocale","zeroFormat","nullFormat","defaultFormat","scalePercentBy100","Numeral","input","number","_input","_value","kind","unformatFunction","regexp","isNumeral","isNaN","length","regexps","unformat","match","stringToNumber","Number","version","obj","numberToFormat","format","roundingFunction","leadingCount","abbrForce","abs","int","precision","signed","thousands","output","locale","negP","optDec","abbr","decimal","neg","includes","indexOf","RegExp","abbreviations","trillion","billion","million","thousand","split","toFixed","delimiters","String","i","string","abbreviation","stringOriginal","currency","symbol","pow","search","insert","subString","start","reduce","array","callback","t","len","k","multiplier","x","parts","correctionFactor","Array","accum","next","mn","maxDecimals","optionals","boundedPrecision","optionalsRegExp","power","splitValue","minDecimals","key","toLowerCase","localeData","Error","reset","property","register","name","validate","val","culture","_decimalSep","_thousandSep","_currSymbol","_valArray","_abbrObj","_thousandRegEx","temp","console","warn","trim","e","substr","fn","clone","inputString","formatFunction","round","set","add","corrFactor","curr","currI","O","subtract","multiply","divide","difference","ordinal","b","space","splice","join","base","suffixes","binary","unformatRegex","concat","filter","item","bytes","suffix","bytesMultiplier","symbols","before","after","toExponential","hours","floor","minutes","seconds","timeArray","__webpack_require__"],"mappings":"4FAAA,SAAAA,GAUA,IAAAC,EAAA,sBAGAC,EAAA,IAGAC,EAAA,kBAGAC,EAAA,aAGAC,EAAA,qBAGAC,EAAA,aAGAC,EAAA,cAGAC,EAAAC,SAGAC,EAAA,iBAAAV,QAAAW,iBAAAX,EAGAY,EAAA,iBAAAC,iBAAAF,iBAAAE,KAGAC,EAAAJ,GAAAE,GAAAG,SAAA,cAAAA,GAUAC,EAPAL,OAAAM,UAOAC,SAGAC,EAAAC,KAAAC,IACAC,EAAAF,KAAAG,IAkBAC,EAAA,WACA,OAAAV,EAAAW,KAAAD,OA4MA,SAAAE,EAAAC,GACA,IAAAC,SAAAD,EACA,QAAAA,IAAA,UAAAC,GAAA,YAAAA,GA4EA,SAAAC,EAAAF,GACA,oBAAAA,EACA,OAAAA,EAEA,GAhCA,SAAAA,GACA,uBAAAA,GAtBA,SAAAA,GACA,QAAAA,GAAA,iBAAAA,EAsBAG,CAAAH,IAAAX,EAAAe,KAAAJ,IAAAxB,EA8BA6B,CAAAL,GACA,OAAAzB,EAEA,GAAAwB,EAAAC,GAAA,CACA,IAAAM,EAAA,mBAAAN,EAAAO,QAAAP,EAAAO,UAAAP,EACAA,EAAAD,EAAAO,KAAA,GAAAA,EAEA,oBAAAN,EACA,WAAAA,OAEAA,IAAAQ,QAAA/B,EAAA,IACA,IAAAgC,EAAA9B,EAAA+B,KAAAV,GACA,OAAAS,GAAA7B,EAAA8B,KAAAV,GACAnB,EAAAmB,EAAAW,MAAA,GAAAF,EAAA,KACA/B,EAAAgC,KAAAV,GAAAzB,GAAAyB,EAGAY,EAAAC,QAtPA,SAAAC,EAAAC,EAAAC,GACA,IAAAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAAA,EACAC,GAAA,EACAC,GAAA,EACAC,GAAA,EAEA,sBAAAZ,EACA,UAAAa,UAAArD,GAUA,SAAAsD,EAAAC,GACA,IAAAC,EAAAb,EACAc,EAAAb,EAKA,OAHAD,EAAAC,OAAAc,EACAT,EAAAM,EACAT,EAAAN,EAAAmB,MAAAF,EAAAD,GAqBA,SAAAI,EAAAL,GACA,IAAAM,EAAAN,EAAAP,EAMA,YAAAU,IAAAV,GAAAa,GAAApB,GACAoB,EAAA,GAAAV,GANAI,EAAAN,GAMAJ,EAGA,SAAAiB,IACA,IAAAP,EAAAhC,IACA,GAAAqC,EAAAL,GACA,OAAAQ,EAAAR,GAGAR,EAAAiB,WAAAF,EAzBA,SAAAP,GACA,IAEAT,EAAAL,GAFAc,EAAAP,GAIA,OAAAG,EAAA9B,EAAAyB,EAAAD,GAHAU,EAAAN,IAGAH,EAoBAmB,CAAAV,IAGA,SAAAQ,EAAAR,GAKA,OAJAR,OAAAW,EAIAN,GAAAT,EACAW,EAAAC,IAEAZ,EAAAC,OAAAc,EACAZ,GAeA,SAAAoB,IACA,IAAAX,EAAAhC,IACA4C,EAAAP,EAAAL,GAMA,GAJAZ,EAAAyB,UACAxB,EAAAyB,KACArB,EAAAO,EAEAY,EAAA,CACA,QAAAT,IAAAX,EACA,OAvEA,SAAAQ,GAMA,OAJAN,EAAAM,EAEAR,EAAAiB,WAAAF,EAAArB,GAEAS,EAAAI,EAAAC,GAAAT,EAiEAwB,CAAAtB,GAEA,GAAAG,EAGA,OADAJ,EAAAiB,WAAAF,EAAArB,GACAa,EAAAN,GAMA,YAHAU,IAAAX,IACAA,EAAAiB,WAAAF,EAAArB,IAEAK,EAIA,OAxGAL,EAAAb,EAAAa,IAAA,EACAhB,EAAAiB,KACAQ,IAAAR,EAAAQ,QAEAL,GADAM,EAAA,YAAAT,GACAxB,EAAAU,EAAAc,EAAAG,UAAA,EAAAJ,GAAAI,EACAO,EAAA,aAAAV,MAAAU,YAiGAc,EAAAK,OAnCA,gBACAb,IAAAX,GACAyB,aAAAzB,GAEAE,EAAA,EACAN,EAAAK,EAAAJ,EAAAG,OAAAW,GA+BAQ,EAAAO,MA5BA,WACA,YAAAf,IAAAX,EAAAD,EAAAiB,EAAAxC,MA4BA2C,gDCzPA,IAAAQ,EAAAC;;;;;;;QAUsBjB,KAAAiB,EAAA,mBAAdD,EAMP,WAKD,IAAAE,EACAC,EAEAC,KACAC,KACAC,GACAC,cAAA,KACAC,WAAA,KACAC,WAAA,KACAC,cAAA,MACAC,mBAAA,GAEA3C,GACAuC,cAAAD,EAAAC,cACAC,WAAAF,EAAAE,WACAC,WAAAH,EAAAG,WACAC,cAAAJ,EAAAI,cACAC,kBAAAL,EAAAK,mBASA,SAAAC,EAAAC,EAAAC,GACAnB,KAAAoB,OAAAF,EAEAlB,KAAAqB,OAAAF,EAi8BA,OA97BAZ,EAAA,SAAAW,GACA,IAAA7D,EACAiE,EACAC,EACAC,EAEA,GAAAjB,EAAAkB,UAAAP,GACA7D,EAAA6D,EAAA7D,aACS,OAAA6D,QAAA,IAAAA,EACT7D,EAAA,OACS,UAAA6D,GAAAV,EAAAkB,MAAAR,GACT7D,EAAA,UACS,oBAAA6D,EACT,GAAA7C,EAAAwC,YAAAK,IAAA7C,EAAAwC,WACAxD,EAAA,OACa,GAAAgB,EAAAyC,YAAAI,IAAA7C,EAAAyC,aAAAI,EAAArD,QAAA,eAAA8D,OACbtE,EAAA,SACa,CACb,IAAAiE,KAAAb,EAGA,IAFAe,EAAA,mBAAAf,EAAAa,GAAAM,QAAAC,SAAApB,EAAAa,GAAAM,QAAAC,WAAApB,EAAAa,GAAAM,QAAAC,WAEAX,EAAAY,MAAAN,GAAA,CACAD,EAAAd,EAAAa,GAAAO,SAEA,MAMAxE,GAFAkE,KAAAhB,EAAAC,EAAAuB,gBAEAb,QAGA7D,EAAA2E,OAAAd,IAAA,KAGA,WAAAD,EAAAC,EAAA7D,KAIA4E,QAtEA,QAyEA1B,EAAAkB,UAAA,SAAAS,GACA,OAAAA,aAAAjB,GAIAV,EAAAC,KAEA2B,eAAA,SAAA9E,EAAA+E,EAAAC,GACA,IAGAC,EAQAC,EACAC,EAIAC,EACAC,EACAC,EACAC,EACAC,EApBAC,EAAApC,EAAAH,EAAAlC,QAAAuC,eACAmC,GAAA,EACAC,GAAA,EAEAC,EAAA,GAKAC,EAAA,GACAC,GAAA,EAgGA,GAnFA9F,KAAA,EAEAmF,EAAA1F,KAAA0F,IAAAnF,GAIAkD,EAAAC,EAAA4C,SAAAhB,EAAA,MACAW,GAAA,EACAX,IAAAvE,QAAA,iBACa0C,EAAAC,EAAA4C,SAAAhB,EAAA,MAAA7B,EAAAC,EAAA4C,SAAAhB,EAAA,QACbO,EAAApC,EAAAC,EAAA4C,SAAAhB,EAAA,KAAAA,EAAAiB,QAAA,KAAAhG,EAAA,EAAA+E,EAAAiB,QAAA,QACAjB,IAAAvE,QAAA,gBAIA0C,EAAAC,EAAA4C,SAAAhB,EAAA,OAGAG,KAFAA,EAAAH,EAAAN,MAAA,iBAEAS,EAAA,GAGAhC,EAAAC,EAAA4C,SAAAhB,EAAA,QACAa,EAAA,KAGAb,IAAAvE,QAAA,IAAAyF,OAAAL,EAAA,gBAEAT,GA7CA,OA6CAD,GAAA,MAAAA,GAEAU,GAAAH,EAAAS,cAAAC,SACAnG,GAhDA,MAiDiBmF,EAjDjB,MAiDiBA,GAhDjB,MAgDiBD,GAAA,MAAAA,GAEjBU,GAAAH,EAAAS,cAAAE,QACApG,GAnDA,KAoDiBmF,EApDjB,KAoDiBA,GAnDjB,MAmDiBD,GAAA,MAAAA,GAEjBU,GAAAH,EAAAS,cAAAG,QACArG,GAtDA,MAuDiBmF,EAvDjB,KAuDiBA,GAtDjB,MAsDiBD,GAAA,MAAAA,KAEjBU,GAAAH,EAAAS,cAAAI,SACAtG,GAzDA,MA8DAkD,EAAAC,EAAA4C,SAAAhB,EAAA,SACAY,GAAA,EACAZ,IAAAvE,QAAA,YAIA4E,EAAApF,EAAAT,WAAAgH,MAAA,QACAlB,EAAAN,EAAAwB,MAAA,QACAhB,EAAAR,EAAAiB,QAAA,KACAf,GAAAF,EAAAwB,MAAA,QAAAA,MAAA,QAAA9B,MAAA,WAAAH,OAEAe,GACAnC,EAAAC,EAAA4C,SAAAV,EAAA,MAEAA,GADAA,IAAA7E,QAAA,SACA+F,MAAA,KACAV,EAAA3C,EAAAC,EAAAqD,QAAAxG,EAAAqF,EAAA,GAAAf,OAAAe,EAAA,GAAAf,OAAAU,EAAAK,EAAA,GAAAf,SAEAuB,EAAA3C,EAAAC,EAAAqD,QAAAxG,EAAAqF,EAAAf,OAAAU,GAGAI,EAAAS,EAAAU,MAAA,QAGAV,EADA3C,EAAAC,EAAA4C,SAAAF,EAAA,KACAJ,EAAAgB,WAAAZ,UAAAU,MAAA,QAEA,GAGAZ,GAAA,IAAAhB,OAAAkB,EAAAlF,MAAA,MACAkF,EAAA,KAGAT,EAAAlC,EAAAC,EAAAqD,QAAAxG,EAAA,EAAAgF,GAIAY,IAAAV,GAAAP,OAAAS,IAAA,KAAAQ,IAAAH,EAAAS,cAAAC,SAGA,OAFAf,EAAAsB,OAAA/B,OAAAS,GAAA,KAEAQ,GACA,KAAAH,EAAAS,cAAAI,SACAV,EAAAH,EAAAS,cAAAG,QACA,MACA,KAAAZ,EAAAS,cAAAG,QACAT,EAAAH,EAAAS,cAAAE,QACA,MACA,KAAAX,EAAAS,cAAAE,QACAR,EAAAH,EAAAS,cAAAC,SAYA,GALAjD,EAAAC,EAAA4C,SAAAX,EAAA,OACAA,IAAAzE,MAAA,GACAmF,GAAA,GAGAV,EAAAd,OAAAW,EACA,QAAA0B,EAAA1B,EAAAG,EAAAd,OAAuDqC,EAAA,EAAOA,IAC9DvB,EAAA,IAAAA,EAwBA,OApBAG,GAAA,IACAH,IAAA7F,WAAAiB,QAAA,0BAA2D,KAAAiF,EAAAgB,WAAAlB,YAG3D,IAAAR,EAAAiB,QAAA,OACAZ,EAAA,IAGAI,EAAAJ,EAAAS,GAAAD,GAAA,IAEAF,EACAF,GAAAE,GAAAI,EAAA,QAAAN,GAAAE,GAAAI,EAAA,QAEAR,GAAA,EACAE,EAAA,IAAAF,GAAAQ,EAAA,SAAAN,KAAAM,EAAA,SACiBA,IACjBN,EAAA,IAAAA,GAIAA,GAGAd,eAAA,SAAAkC,GACA,IAQAC,EACA7G,EAEAmE,EAXAsB,EAAApC,EAAArC,EAAAuC,eACAuD,EAAAF,EACAV,GACAI,SAAA,EACAD,QAAA,EACAD,QAAA,EACAD,SAAA,IAOA,GAAAnF,EAAAwC,YAAAoD,IAAA5F,EAAAwC,WACAxD,EAAA,OACa,GAAAgB,EAAAyC,YAAAmD,IAAA5F,EAAAyC,aAAAmD,EAAApG,QAAA,eAAA8D,OACbtE,EAAA,SACa,CAOb,IAAA6G,KANA7G,EAAA,EAEA,MAAAyF,EAAAgB,WAAAZ,UACAe,IAAApG,QAAA,UAAAA,QAAAiF,EAAAgB,WAAAZ,QAAA,MAGAK,EAGA,GAFA/B,EAAA,IAAA8B,OAAA,YAAAR,EAAAS,cAAAW,GAAA,aAAApB,EAAAsB,SAAAC,OAAA,iBAEAF,EAAArC,MAAAN,GAAA,CACAnE,GAAAP,KAAAwH,IAAA,GAAAf,EAAAW,IACA,MAKA7G,IAAA4G,EAAAL,MAAA,KAAAjC,OAAA7E,KAAAG,IAAAgH,EAAAL,MAAA,KAAAjC,OAAA,EAAAsC,EAAAL,MAAA,KAAAjC,OAAA,WAGAsC,IAAApG,QAAA,iBAEAR,GAAA2E,OAAAiC,GAGA,OAAA5G,GAEAqE,MAAA,SAAArE,GACA,uBAAAA,GAAAqE,MAAArE,IAEA+F,SAAA,SAAAa,EAAAM,GACA,WAAAN,EAAAZ,QAAAkB,IAEAC,OAAA,SAAAP,EAAAQ,EAAAC,GACA,OAAAT,EAAAjG,MAAA,EAAA0G,GAAAD,EAAAR,EAAAjG,MAAA0G,IAEAC,OAAA,SAAAC,EAAAC,GACA,UAAA7E,KACA,UAAAhB,UAAA,sDAGA,sBAAA6F,EACA,UAAA7F,UAAA6F,EAAA,sBAGA,IAGAxH,EAHAyH,EAAAzI,OAAAuI,GACAG,EAAAD,EAAAnD,SAAA,EACAqD,EAAA,EAGA,OAAAjF,UAAA4B,OACAtE,EAAA0C,UAAA,OACa,CACb,KAAAiF,EAAAD,KAAAC,KAAAF,IACAE,IAGA,GAAAA,GAAAD,EACA,UAAA/F,UAAA,+CAGA3B,EAAAyH,EAAAE,KAEA,KAAkBA,EAAAD,EAASC,IAC3BA,KAAAF,IACAzH,EAAAwH,EAAAxH,EAAAyH,EAAAE,KAAAF,IAGA,OAAAzH,GAOA4H,WAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAtI,WAAAgH,MAAA,KAEA,OAAAuB,EAAAxD,OAAA,IAAA7E,KAAAwH,IAAA,GAAAa,EAAA,GAAAxD,SAOAyD,iBAAA,WAGA,OAFAC,MAAA1I,UAAAqB,MAAAP,KAAAsC,WAEA4E,OAAA,SAAAW,EAAAC,GACA,IAAAC,EAAAhF,EAAAyE,WAAAM,GACA,OAAAD,EAAAE,EAAAF,EAAAE,GACa,IAQb3B,QAAA,SAAAxG,EAAAoI,EAAApD,EAAAqD,GACA,IAEAC,EACAC,EACAC,EACAhD,EALAiD,EAAAzI,EAAAT,WAAAgH,MAAA,KACAmC,EAAAN,GAAAC,GAAA,GAuBA,OAfAC,EADA,IAAAG,EAAAnE,OACA7E,KAAAG,IAAAH,KAAAC,IAAA+I,EAAA,GAAAnE,OAAAoE,GAAAN,GAEAM,EAGAF,EAAA/I,KAAAwH,IAAA,GAAAqB,GAGA9C,GAAAR,EAAAhF,EAAA,KAAAsI,GAAAE,GAAAhC,QAAA8B,GAEAD,EAAAD,EAAAE,IACAC,EAAA,IAAAtC,OAAA,YAAoDoC,GAAAD,EAAAE,IAAA,MACpD9C,IAAAhF,QAAA+H,EAAA,KAGA/C,IAKAtC,EAAAlC,UAGAkC,EAAAE,UAGAF,EAAAG,UAKAH,EAAAuC,OAAA,SAAAkD,GAKA,OAJAA,IACA3H,EAAAuC,cAAAoF,EAAAC,eAGA5H,EAAAuC,eAMAL,EAAA2F,WAAA,SAAAF,GACA,IAAAA,EACA,OAAAtF,EAAArC,EAAAuC,eAKA,GAFAoF,IAAAC,eAEAvF,EAAAsF,GACA,UAAAG,MAAA,oBAAAH,GAGA,OAAAtF,EAAAsF,IAGAzF,EAAA6F,MAAA,WACA,QAAAC,KAAA1F,EACAtC,EAAAgI,GAAA1F,EAAA0F,IAIA9F,EAAAM,WAAA,SAAAuB,GACA/D,EAAAwC,WAAA,mBAAAuB,EAAA,MAGA7B,EAAAO,WAAA,SAAAsB,GACA/D,EAAAyC,WAAA,mBAAAsB,EAAA,MAGA7B,EAAAQ,cAAA,SAAAqB,GACA/D,EAAA0C,cAAA,mBAAAqB,EAAA,OAGA7B,EAAA+F,SAAA,SAAAhJ,EAAAiJ,EAAAnE,GAGA,GAFAmE,IAAAN,cAEAjG,KAAA1C,EAAA,KAAAiJ,GACA,UAAAvH,UAAAuH,EAAA,IAAAjJ,EAAA,wBAKA,OAFA0C,KAAA1C,EAAA,KAAAiJ,GAAAnE,EAEAA,GAIA7B,EAAAiG,SAAA,SAAAC,EAAAC,GACA,IAAAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAd,EACAe,EAeA,GAZA,iBAAAR,IACAA,GAAA,GAEAS,QAAAC,MACAD,QAAAC,KAAA,6DAAAV,KAKAA,IAAAW,QAGAtF,MAAA,SACA,SAIA,QAAA2E,EACA,SAIA,IAEAP,EAAA3F,EAAA2F,WAAAQ,GACS,MAAAW,GACTnB,EAAA3F,EAAA2F,WAAA3F,EAAAuC,UAeA,OAXA+D,EAAAX,EAAA9B,SAAAC,OACA0C,EAAAb,EAAA3C,cACAoD,EAAAT,EAAApC,WAAAZ,QAEA0D,EADA,MAAAV,EAAApC,WAAAlB,UACA,MAEAsD,EAAApC,WAAAlB,YAKA,QADAqE,EAAAR,EAAA3E,MAAA,cAEA2E,IAAAa,OAAA,GACAL,EAAA,KAAAJ,IAOA,QADAI,EAAAR,EAAA3E,MAAA,cAEA2E,IAAAzI,MAAA,MACAiJ,EAAA,KAAAF,EAAApD,UAAAsD,EAAA,KAAAF,EAAArD,SAAAuD,EAAA,KAAAF,EAAAtD,SAAAwD,EAAA,KAAAF,EAAAvD,YAKAwD,EAAA,IAAA1D,OAAAsD,EAAA,OAEAH,EAAA3E,MAAA,cACAgF,EAAAL,EAAA7C,MAAA+C,IACAhF,OAAA,IAGAmF,EAAAnF,OAAA,GACAmF,EAAA,GAAAhF,MAAA,cAAAgF,EAAA,GAAAhF,MAAAkF,GAEA,IAAAF,EAAA,GAAAnF,QACAmF,EAAA,GAAAhF,MAAA,UAAAgF,EAAA,GAAAhF,MAAAkF,KAAAF,EAAA,GAAAhF,MAAA,UAEAgF,EAAA,GAAAhF,MAAA,cAAAgF,EAAA,GAAAhF,MAAAkF,KAAAF,EAAA,GAAAhF,MAAA,aAcAvB,EAAAgH,GAAAtG,EAAAtE,WACA6K,MAAA,WACA,OAAAjH,EAAAP,OAEAoC,OAAA,SAAAqF,EAAApF,GACA,IAEAf,EACAuB,EACA6E,EAJArK,EAAA2C,KAAAqB,OACAe,EAAAqF,GAAApJ,EAAA0C,cASA,GAHAsB,KAAAvF,KAAA6K,MAGA,IAAAtK,GAAA,OAAAgB,EAAAwC,WACAgC,EAAAxE,EAAAwC,gBACa,UAAAxD,GAAA,OAAAgB,EAAAyC,WACb+B,EAAAxE,EAAAyC,eACa,CACb,IAAAQ,KAAAb,EACA,GAAA2B,EAAAN,MAAArB,EAAAa,GAAAM,QAAAQ,QAAA,CACAsF,EAAAjH,EAAAa,GAAAc,OAEA,MAMAS,GAFA6E,KAAAnH,EAAAC,EAAA2B,gBAEA9E,EAAA+E,EAAAC,GAGA,OAAAQ,GAEAxF,MAAA,WACA,OAAA2C,KAAAqB,QAEAH,MAAA,WACA,OAAAlB,KAAAoB,QAEAwG,IAAA,SAAAvK,GAGA,OAFA2C,KAAAqB,OAAAW,OAAA3E,GAEA2C,MAEA6H,IAAA,SAAAxK,GACA,IAAAyK,EAAAtH,EAAA4E,iBAAA3H,KAAA,KAAAuC,KAAAqB,OAAAhE,GAQA,OAFA2C,KAAAqB,OAAAb,EAAAmE,QAAA3E,KAAAqB,OAAAhE,GAJA,SAAAiI,EAAAyC,EAAAC,EAAAC,GACA,OAAA3C,EAAAxI,KAAA6K,MAAAG,EAAAC,IAGA,GAAAD,EAEA9H,MAEAkI,SAAA,SAAA7K,GACA,IAAAyK,EAAAtH,EAAA4E,iBAAA3H,KAAA,KAAAuC,KAAAqB,OAAAhE,GAQA,OAFA2C,KAAAqB,OAAAb,EAAAmE,QAAAtH,GAJA,SAAAiI,EAAAyC,EAAAC,EAAAC,GACA,OAAA3C,EAAAxI,KAAA6K,MAAAG,EAAAC,IAGAjL,KAAA6K,MAAA3H,KAAAqB,OAAAyG,MAEA9H,MAEAmI,SAAA,SAAA9K,GAQA,OAFA2C,KAAAqB,OAAAb,EAAAmE,QAAA3E,KAAAqB,OAAAhE,GALA,SAAAiI,EAAAyC,EAAAC,EAAAC,GACA,IAAAH,EAAAtH,EAAA4E,iBAAAE,EAAAyC,GACA,OAAAjL,KAAA6K,MAAArC,EAAAwC,GAAAhL,KAAA6K,MAAAI,EAAAD,GAAAhL,KAAA6K,MAAAG,MAGA,GAEA9H,MAEAoI,OAAA,SAAA/K,GAQA,OAFA2C,KAAAqB,OAAAb,EAAAmE,QAAA3E,KAAAqB,OAAAhE,GALA,SAAAiI,EAAAyC,EAAAC,EAAAC,GACA,IAAAH,EAAAtH,EAAA4E,iBAAAE,EAAAyC,GACA,OAAAjL,KAAA6K,MAAArC,EAAAwC,GAAAhL,KAAA6K,MAAAI,EAAAD,KAKA9H,MAEAqI,WAAA,SAAAhL,GACA,OAAAP,KAAA0F,IAAAjC,EAAAP,KAAAqB,QAAA6G,SAAA7K,cAQAkD,EAAA+F,SAAA,eACAxC,YACAlB,UAAA,IACAM,QAAA,KAEAK,eACAI,SAAA,IACAD,QAAA,IACAD,QAAA,IACAD,SAAA,KAEA8E,QAAA,SAAAnH,GACA,IAAAoH,EAAApH,EAAA,GACA,aAAAA,EAAA,aACA,IAAAoH,EAAA,KACA,IAAAA,EAAA,KACA,IAAAA,EAAA,WAEAnE,UACAC,OAAA,OAOA9D,EAAA+F,SAAA,gBACA1E,SACAQ,OAAA,QACAP,SAAA,SAEAO,OAAA,SAAA/E,EAAA+E,EAAAC,GACA,IACAQ,EADA2F,EAAAjI,EAAAC,EAAA4C,SAAAhB,EAAA,eAoBA,OAjBA/E,GAAA,IAGA+E,IAAAvE,QAAA,aAEAgF,EAAAtC,EAAAC,EAAA2B,eAAA9E,EAAA+E,EAAAC,GAEA9B,EAAAC,EAAA4C,SAAAP,EAAA,OACAA,IAAAe,MAAA,KAEA6E,QAAA,IAAAD,EAAA,OAEA3F,IAAA6F,KAAA,KAEA7F,IAAA2F,EAAA,MAGA3F,GAEAhB,SAAA,SAAAoC,GACA,aAAA1D,EAAAC,EAAAuB,eAAAkC,IAAAJ,QAAA,OAMA,WACA,IAAAX,GACAyF,KAAA,IACAC,UAAA,8CAEAC,GACAF,KAAA,KACAC,UAAA,sDAMAE,EAHA5F,EAAA0F,SAAAG,OAAAF,EAAAD,SAAAI,OAAA,SAAAC,GACA,OAAA/F,EAAA0F,SAAAvF,QAAA4F,GAAA,KAEAP,KAAA,KAEAI,EAAA,IAAAA,EAAAjL,QAAA,mBAEA0C,EAAA+F,SAAA,kBACA1E,SACAQ,OAAA,aACAP,SAAA,IAAAyB,OAAAwF,IAEA1G,OAAA,SAAA/E,EAAA+E,EAAAC,GACA,IAGAwD,EACA5I,EACAF,EAJAmM,EAAA3I,EAAAC,EAAA4C,SAAAhB,EAAA,MAAAyG,EAAA3F,EACAiG,EAAA5I,EAAAC,EAAA4C,SAAAhB,EAAA,OAAA7B,EAAAC,EAAA4C,SAAAhB,EAAA,cAQA,IAFAA,IAAAvE,QAAA,aAEAgI,EAAA,EAA2BA,GAAAqD,EAAAN,SAAAjH,OAAgCkE,IAI3D,GAHA5I,EAAAH,KAAAwH,IAAA4E,EAAAP,KAAA9C,GACA9I,EAAAD,KAAAwH,IAAA4E,EAAAP,KAAA9C,EAAA,GAEA,OAAAxI,GAAA,IAAAA,MAAAJ,GAAAI,EAAAN,EAAA,CACAoM,GAAAD,EAAAN,SAAA/C,GAEA5I,EAAA,IACAI,GAAAJ,GAGA,MAMA,OAFAsD,EAAAC,EAAA2B,eAAA9E,EAAA+E,EAAAC,GAEA8G,GAEAtH,SAAA,SAAAoC,GACA,IACA4B,EACAuD,EAFA/L,EAAAkD,EAAAC,EAAAuB,eAAAkC,GAIA,GAAA5G,EAAA,CACA,IAAAwI,EAAA3C,EAAA0F,SAAAjH,OAAA,EAAyDkE,GAAA,EAAYA,IAAA,CACrE,GAAAtF,EAAAC,EAAA4C,SAAAa,EAAAf,EAAA0F,SAAA/C,IAAA,CACAuD,EAAAtM,KAAAwH,IAAApB,EAAAyF,KAAA9C,GAEA,MAGA,GAAAtF,EAAAC,EAAA4C,SAAAa,EAAA4E,EAAAD,SAAA/C,IAAA,CACAuD,EAAAtM,KAAAwH,IAAAuE,EAAAF,KAAA9C,GAEA,OAIAxI,GAAA+L,GAAA,EAGA,OAAA/L,KA3EA,GAkFAkD,EAAA+F,SAAA,qBACA1E,SACAQ,OAAA,QAEAA,OAAA,SAAA/E,EAAA+E,EAAAC,GACA,IAKAQ,EAEAmB,EAPAlB,EAAAvC,EAAAG,QAAAH,EAAAlC,QAAAuC,eACAyI,GACAC,OAAAlH,EAAAN,MAAA,2BACAyH,MAAAnH,EAAAN,MAAA,4BAqBA,IAdAM,IAAAvE,QAAA,eAGAgF,EAAAtC,EAAAC,EAAA2B,eAAA9E,EAAA+E,EAAAC,GAGAhF,GAAA,GACAgM,EAAAC,OAAAD,EAAAC,OAAAzL,QAAA,aACAwL,EAAAE,MAAAF,EAAAE,MAAA1L,QAAA,cACaR,EAAA,IAAAkD,EAAAC,EAAA4C,SAAAiG,EAAAC,OAAA,OAAA/I,EAAAC,EAAA4C,SAAAiG,EAAAC,OAAA,OACbD,EAAAC,OAAA,IAAAD,EAAAC,QAIAtF,EAAA,EAAuBA,EAAAqF,EAAAC,OAAA3H,OAA2BqC,IAGlD,OAFAqF,EAAAC,OAAAtF,IAGA,QACAnB,EAAAtC,EAAAC,EAAAgE,OAAA3B,EAAAC,EAAAsB,SAAAC,OAAAL,GACA,MACA,QACAnB,EAAAtC,EAAAC,EAAAgE,OAAA3B,EAAA,IAAAmB,EAAAlB,EAAAsB,SAAAC,OAAA1C,OAAA,GAMA,IAAAqC,EAAAqF,EAAAE,MAAA5H,OAAA,EAA8CqC,GAAA,EAAQA,IAGtD,OAFAqF,EAAAE,MAAAvF,IAGA,QACAnB,EAAAmB,IAAAqF,EAAAE,MAAA5H,OAAA,EAAAkB,EAAAC,EAAAsB,SAAAC,OAAA9D,EAAAC,EAAAgE,OAAA3B,EAAAC,EAAAsB,SAAAC,SAAAgF,EAAAE,MAAA5H,QAAA,EAAAqC,KACA,MACA,QACAnB,EAAAmB,IAAAqF,EAAAE,MAAA5H,OAAA,EAAAkB,EAAA,IAAAtC,EAAAC,EAAAgE,OAAA3B,EAAA,MAAAwG,EAAAE,MAAA5H,QAAA,EAAAqC,GAAAlB,EAAAsB,SAAAC,OAAA1C,OAAA,IAMA,OAAAkB,KAOAtC,EAAA+F,SAAA,wBACA1E,SACAQ,OAAA,WACAP,SAAA,YAEAO,OAAA,SAAA/E,EAAA+E,EAAAC,GACA,IAEA8C,GADA,iBAAA9H,GAAAkD,EAAAC,EAAAkB,MAAArE,GAAA,OAAAA,EAAAmM,iBACA5F,MAAA,KAMA,OAJAxB,IAAAvE,QAAA,eAAgD,IAEhD0C,EAAAC,EAAA2B,eAAAH,OAAAmD,EAAA,IAAA/C,EAAAC,GAEA,IAAA8C,EAAA,IAEAtD,SAAA,SAAAoC,GACA,IAAAkB,EAAA5E,EAAAC,EAAA4C,SAAAa,EAAA,MAAAA,EAAAL,MAAA,MAAAK,EAAAL,MAAA,MACAvG,EAAA2E,OAAAmD,EAAA,IACAU,EAAA7D,OAAAmD,EAAA,IAUA,OARAU,EAAAtF,EAAAC,EAAA4C,SAAAa,EAAA,MAAA4B,IAAA,EAAAA,EAQAtF,EAAAC,EAAAmE,QAAAtH,EAAAP,KAAAwH,IAAA,GAAAuB,IANA,SAAAP,EAAAyC,EAAAC,EAAAC,GACA,IAAAH,EAAAvH,EAAAC,EAAA4E,iBAAAE,EAAAyC,GAEA,OADAzC,EAAAwC,GAAAC,EAAAD,UAIA,MAOAvH,EAAA+F,SAAA,oBACA1E,SACAQ,OAAA,OAEAA,OAAA,SAAA/E,EAAA+E,EAAAC,GACA,IAAAS,EAAAvC,EAAAG,QAAAH,EAAAlC,QAAAuC,eAEA0H,EAAA/H,EAAAC,EAAA4C,SAAAhB,EAAA,aASA,OANAA,IAAAvE,QAAA,WAEAyK,GAAAxF,EAAAwF,QAAAjL,GAEAkD,EAAAC,EAAA2B,eAAA9E,EAAA+E,EAAAC,GAEAiG,KAOA/H,EAAA+F,SAAA,uBACA1E,SACAQ,OAAA,MACAP,SAAA,OAEAO,OAAA,SAAA/E,EAAA+E,EAAAC,GACA,IACAQ,EADA2F,EAAAjI,EAAAC,EAAA4C,SAAAhB,EAAA,aAsBA,OAnBA7B,EAAAlC,QAAA2C,oBACA3D,GAAA,KAIA+E,IAAAvE,QAAA,YAEAgF,EAAAtC,EAAAC,EAAA2B,eAAA9E,EAAA+E,EAAAC,GAEA9B,EAAAC,EAAA4C,SAAAP,EAAA,OACAA,IAAAe,MAAA,KAEA6E,QAAA,IAAAD,EAAA,KAEA3F,IAAA6F,KAAA,KAEA7F,IAAA2F,EAAA,IAGA3F,GAEAhB,SAAA,SAAAoC,GACA,IAAA9C,EAAAZ,EAAAC,EAAAuB,eAAAkC,GACA,OAAA1D,EAAAlC,QAAA2C,kBACA,IAAAG,EAEAA,KAOAZ,EAAA+F,SAAA,iBACA1E,SACAQ,OAAA,MACAP,SAAA,OAEAO,OAAA,SAAA/E,EAAA+E,EAAAC,GACA,IAAAoH,EAAA3M,KAAA4M,MAAArM,EAAA,OACAsM,EAAA7M,KAAA4M,OAAArM,EAAA,GAAAoM,EAAA,QACAG,EAAA9M,KAAA6K,MAAAtK,EAAA,GAAAoM,EAAA,MAAAE,GAEA,OAAAF,EAAA,KAAAE,EAAA,OAAAA,KAAA,KAAAC,EAAA,OAAAA,MAEA/H,SAAA,SAAAoC,GACA,IAAA4F,EAAA5F,EAAAL,MAAA,KACAgG,EAAA,EAgBA,OAbA,IAAAC,EAAAlI,QAEAiI,GAAA,GAAA5H,OAAA6H,EAAA,OAEAD,GAAA,GAAA5H,OAAA6H,EAAA,IAEAD,GAAA5H,OAAA6H,EAAA,KACa,IAAAA,EAAAlI,SAEbiI,GAAA,GAAA5H,OAAA6H,EAAA,IAEAD,GAAA5H,OAAA6H,EAAA,KAEA7H,OAAA4H,MAKArJ,IAz+BsBF,EAAA5C,KAAAS,EAAA4L,EAAA5L,EAAAD,GAAAoC,KAAApC,EAAAC,QAAAoC","file":"static/js/chunk-0620.c765c190.js","sourcesContent":["/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\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 as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\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/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\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 number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/*! @preserve\n * numeral.js\n * version : 2.0.6\n * author : Adam Draper\n * license : MIT\n * http://adamwdraper.github.com/Numeral-js/\n */\n\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n define(factory);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = factory();\n } else {\n global.numeral = factory();\n }\n}(this, function () {\n /************************************\n Variables\n ************************************/\n\n var numeral,\n _,\n VERSION = '2.0.6',\n formats = {},\n locales = {},\n defaults = {\n currentLocale: 'en',\n zeroFormat: null,\n nullFormat: null,\n defaultFormat: '0,0',\n scalePercentBy100: true\n },\n options = {\n currentLocale: defaults.currentLocale,\n zeroFormat: defaults.zeroFormat,\n nullFormat: defaults.nullFormat,\n defaultFormat: defaults.defaultFormat,\n scalePercentBy100: defaults.scalePercentBy100\n };\n\n\n /************************************\n Constructors\n ************************************/\n\n // Numeral prototype object\n function Numeral(input, number) {\n this._input = input;\n\n this._value = number;\n }\n\n numeral = function(input) {\n var value,\n kind,\n unformatFunction,\n regexp;\n\n if (numeral.isNumeral(input)) {\n value = input.value();\n } else if (input === 0 || typeof input === 'undefined') {\n value = 0;\n } else if (input === null || _.isNaN(input)) {\n value = null;\n } else if (typeof input === 'string') {\n if (options.zeroFormat && input === options.zeroFormat) {\n value = 0;\n } else if (options.nullFormat && input === options.nullFormat || !input.replace(/[^0-9]+/g, '').length) {\n value = null;\n } else {\n for (kind in formats) {\n regexp = typeof formats[kind].regexps.unformat === 'function' ? formats[kind].regexps.unformat() : formats[kind].regexps.unformat;\n\n if (regexp && input.match(regexp)) {\n unformatFunction = formats[kind].unformat;\n\n break;\n }\n }\n\n unformatFunction = unformatFunction || numeral._.stringToNumber;\n\n value = unformatFunction(input);\n }\n } else {\n value = Number(input)|| null;\n }\n\n return new Numeral(input, value);\n };\n\n // version number\n numeral.version = VERSION;\n\n // compare numeral object\n numeral.isNumeral = function(obj) {\n return obj instanceof Numeral;\n };\n\n // helper functions\n numeral._ = _ = {\n // formats numbers separators, decimals places, signs, abbreviations\n numberToFormat: function(value, format, roundingFunction) {\n var locale = locales[numeral.options.currentLocale],\n negP = false,\n optDec = false,\n leadingCount = 0,\n abbr = '',\n trillion = 1000000000000,\n billion = 1000000000,\n million = 1000000,\n thousand = 1000,\n decimal = '',\n neg = false,\n abbrForce, // force abbreviation\n abs,\n min,\n max,\n power,\n int,\n precision,\n signed,\n thousands,\n output;\n\n // make sure we never format a null value\n value = value || 0;\n\n abs = Math.abs(value);\n\n // see if we should use parentheses for negative number or if we should prefix with a sign\n // if both are present we default to parentheses\n if (numeral._.includes(format, '(')) {\n negP = true;\n format = format.replace(/[\\(|\\)]/g, '');\n } else if (numeral._.includes(format, '+') || numeral._.includes(format, '-')) {\n signed = numeral._.includes(format, '+') ? format.indexOf('+') : value < 0 ? format.indexOf('-') : -1;\n format = format.replace(/[\\+|\\-]/g, '');\n }\n\n // see if abbreviation is wanted\n if (numeral._.includes(format, 'a')) {\n abbrForce = format.match(/a(k|m|b|t)?/);\n\n abbrForce = abbrForce ? abbrForce[1] : false;\n\n // check for space before abbreviation\n if (numeral._.includes(format, ' a')) {\n abbr = ' ';\n }\n\n format = format.replace(new RegExp(abbr + 'a[kmbt]?'), '');\n\n if (abs >= trillion && !abbrForce || abbrForce === 't') {\n // trillion\n abbr += locale.abbreviations.trillion;\n value = value / trillion;\n } else if (abs < trillion && abs >= billion && !abbrForce || abbrForce === 'b') {\n // billion\n abbr += locale.abbreviations.billion;\n value = value / billion;\n } else if (abs < billion && abs >= million && !abbrForce || abbrForce === 'm') {\n // million\n abbr += locale.abbreviations.million;\n value = value / million;\n } else if (abs < million && abs >= thousand && !abbrForce || abbrForce === 'k') {\n // thousand\n abbr += locale.abbreviations.thousand;\n value = value / thousand;\n }\n }\n\n // check for optional decimals\n if (numeral._.includes(format, '[.]')) {\n optDec = true;\n format = format.replace('[.]', '.');\n }\n\n // break number and format\n int = value.toString().split('.')[0];\n precision = format.split('.')[1];\n thousands = format.indexOf(',');\n leadingCount = (format.split('.')[0].split(',')[0].match(/0/g) || []).length;\n\n if (precision) {\n if (numeral._.includes(precision, '[')) {\n precision = precision.replace(']', '');\n precision = precision.split('[');\n decimal = numeral._.toFixed(value, (precision[0].length + precision[1].length), roundingFunction, precision[1].length);\n } else {\n decimal = numeral._.toFixed(value, precision.length, roundingFunction);\n }\n\n int = decimal.split('.')[0];\n\n if (numeral._.includes(decimal, '.')) {\n decimal = locale.delimiters.decimal + decimal.split('.')[1];\n } else {\n decimal = '';\n }\n\n if (optDec && Number(decimal.slice(1)) === 0) {\n decimal = '';\n }\n } else {\n int = numeral._.toFixed(value, 0, roundingFunction);\n }\n\n // check abbreviation again after rounding\n if (abbr && !abbrForce && Number(int) >= 1000 && abbr !== locale.abbreviations.trillion) {\n int = String(Number(int) / 1000);\n\n switch (abbr) {\n case locale.abbreviations.thousand:\n abbr = locale.abbreviations.million;\n break;\n case locale.abbreviations.million:\n abbr = locale.abbreviations.billion;\n break;\n case locale.abbreviations.billion:\n abbr = locale.abbreviations.trillion;\n break;\n }\n }\n\n\n // format number\n if (numeral._.includes(int, '-')) {\n int = int.slice(1);\n neg = true;\n }\n\n if (int.length < leadingCount) {\n for (var i = leadingCount - int.length; i > 0; i--) {\n int = '0' + int;\n }\n }\n\n if (thousands > -1) {\n int = int.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1' + locale.delimiters.thousands);\n }\n\n if (format.indexOf('.') === 0) {\n int = '';\n }\n\n output = int + decimal + (abbr ? abbr : '');\n\n if (negP) {\n output = (negP && neg ? '(' : '') + output + (negP && neg ? ')' : '');\n } else {\n if (signed >= 0) {\n output = signed === 0 ? (neg ? '-' : '+') + output : output + (neg ? '-' : '+');\n } else if (neg) {\n output = '-' + output;\n }\n }\n\n return output;\n },\n // unformats numbers separators, decimals places, signs, abbreviations\n stringToNumber: function(string) {\n var locale = locales[options.currentLocale],\n stringOriginal = string,\n abbreviations = {\n thousand: 3,\n million: 6,\n billion: 9,\n trillion: 12\n },\n abbreviation,\n value,\n i,\n regexp;\n\n if (options.zeroFormat && string === options.zeroFormat) {\n value = 0;\n } else if (options.nullFormat && string === options.nullFormat || !string.replace(/[^0-9]+/g, '').length) {\n value = null;\n } else {\n value = 1;\n\n if (locale.delimiters.decimal !== '.') {\n string = string.replace(/\\./g, '').replace(locale.delimiters.decimal, '.');\n }\n\n for (abbreviation in abbreviations) {\n regexp = new RegExp('[^a-zA-Z]' + locale.abbreviations[abbreviation] + '(?:\\\\)|(\\\\' + locale.currency.symbol + ')?(?:\\\\))?)?$');\n\n if (stringOriginal.match(regexp)) {\n value *= Math.pow(10, abbreviations[abbreviation]);\n break;\n }\n }\n\n // check for negative number\n value *= (string.split('-').length + Math.min(string.split('(').length - 1, string.split(')').length - 1)) % 2 ? 1 : -1;\n\n // remove non numbers\n string = string.replace(/[^0-9\\.]+/g, '');\n\n value *= Number(string);\n }\n\n return value;\n },\n isNaN: function(value) {\n return typeof value === 'number' && isNaN(value);\n },\n includes: function(string, search) {\n return string.indexOf(search) !== -1;\n },\n insert: function(string, subString, start) {\n return string.slice(0, start) + subString + string.slice(start);\n },\n reduce: function(array, callback /*, initialValue*/) {\n if (this === null) {\n throw new TypeError('Array.prototype.reduce called on null or undefined');\n }\n\n if (typeof callback !== 'function') {\n throw new TypeError(callback + ' is not a function');\n }\n\n var t = Object(array),\n len = t.length >>> 0,\n k = 0,\n value;\n\n if (arguments.length === 3) {\n value = arguments[2];\n } else {\n while (k < len && !(k in t)) {\n k++;\n }\n\n if (k >= len) {\n throw new TypeError('Reduce of empty array with no initial value');\n }\n\n value = t[k++];\n }\n for (; k < len; k++) {\n if (k in t) {\n value = callback(value, t[k], k, t);\n }\n }\n return value;\n },\n /**\n * Computes the multiplier necessary to make x >= 1,\n * effectively eliminating miscalculations caused by\n * finite precision.\n */\n multiplier: function (x) {\n var parts = x.toString().split('.');\n\n return parts.length < 2 ? 1 : Math.pow(10, parts[1].length);\n },\n /**\n * Given a variable number of arguments, returns the maximum\n * multiplier that must be used to normalize an operation involving\n * all of them.\n */\n correctionFactor: function () {\n var args = Array.prototype.slice.call(arguments);\n\n return args.reduce(function(accum, next) {\n var mn = _.multiplier(next);\n return accum > mn ? accum : mn;\n }, 1);\n },\n /**\n * Implementation of toFixed() that treats floats more like decimals\n *\n * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n * problems for accounting- and finance-related software.\n */\n toFixed: function(value, maxDecimals, roundingFunction, optionals) {\n var splitValue = value.toString().split('.'),\n minDecimals = maxDecimals - (optionals || 0),\n boundedPrecision,\n optionalsRegExp,\n power,\n output;\n\n // Use the smallest precision value possible to avoid errors from floating point representation\n if (splitValue.length === 2) {\n boundedPrecision = Math.min(Math.max(splitValue[1].length, minDecimals), maxDecimals);\n } else {\n boundedPrecision = minDecimals;\n }\n\n power = Math.pow(10, boundedPrecision);\n\n // Multiply up by precision, round accurately, then divide and use native toFixed():\n output = (roundingFunction(value + 'e+' + boundedPrecision) / power).toFixed(boundedPrecision);\n\n if (optionals > maxDecimals - boundedPrecision) {\n optionalsRegExp = new RegExp('\\\\.?0{1,' + (optionals - (maxDecimals - boundedPrecision)) + '}$');\n output = output.replace(optionalsRegExp, '');\n }\n\n return output;\n }\n };\n\n // avaliable options\n numeral.options = options;\n\n // avaliable formats\n numeral.formats = formats;\n\n // avaliable formats\n numeral.locales = locales;\n\n // This function sets the current locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n numeral.locale = function(key) {\n if (key) {\n options.currentLocale = key.toLowerCase();\n }\n\n return options.currentLocale;\n };\n\n // This function provides access to the loaded locale data. If\n // no arguments are passed in, it will simply return the current\n // global locale object.\n numeral.localeData = function(key) {\n if (!key) {\n return locales[options.currentLocale];\n }\n\n key = key.toLowerCase();\n\n if (!locales[key]) {\n throw new Error('Unknown locale : ' + key);\n }\n\n return locales[key];\n };\n\n numeral.reset = function() {\n for (var property in defaults) {\n options[property] = defaults[property];\n }\n };\n\n numeral.zeroFormat = function(format) {\n options.zeroFormat = typeof(format) === 'string' ? format : null;\n };\n\n numeral.nullFormat = function (format) {\n options.nullFormat = typeof(format) === 'string' ? format : null;\n };\n\n numeral.defaultFormat = function(format) {\n options.defaultFormat = typeof(format) === 'string' ? format : '0.0';\n };\n\n numeral.register = function(type, name, format) {\n name = name.toLowerCase();\n\n if (this[type + 's'][name]) {\n throw new TypeError(name + ' ' + type + ' already registered.');\n }\n\n this[type + 's'][name] = format;\n\n return format;\n };\n\n\n numeral.validate = function(val, culture) {\n var _decimalSep,\n _thousandSep,\n _currSymbol,\n _valArray,\n _abbrObj,\n _thousandRegEx,\n localeData,\n temp;\n\n //coerce val to string\n if (typeof val !== 'string') {\n val += '';\n\n if (console.warn) {\n console.warn('Numeral.js: Value is not string. It has been co-erced to: ', val);\n }\n }\n\n //trim whitespaces from either sides\n val = val.trim();\n\n //if val is just digits return true\n if (!!val.match(/^\\d+$/)) {\n return true;\n }\n\n //if val is empty return false\n if (val === '') {\n return false;\n }\n\n //get the decimal and thousands separator from numeral.localeData\n try {\n //check if the culture is understood by numeral. if not, default it to current locale\n localeData = numeral.localeData(culture);\n } catch (e) {\n localeData = numeral.localeData(numeral.locale());\n }\n\n //setup the delimiters and currency symbol based on culture/locale\n _currSymbol = localeData.currency.symbol;\n _abbrObj = localeData.abbreviations;\n _decimalSep = localeData.delimiters.decimal;\n if (localeData.delimiters.thousands === '.') {\n _thousandSep = '\\\\.';\n } else {\n _thousandSep = localeData.delimiters.thousands;\n }\n\n // validating currency symbol\n temp = val.match(/^[^\\d]+/);\n if (temp !== null) {\n val = val.substr(1);\n if (temp[0] !== _currSymbol) {\n return false;\n }\n }\n\n //validating abbreviation symbol\n temp = val.match(/[^\\d]+$/);\n if (temp !== null) {\n val = val.slice(0, -1);\n if (temp[0] !== _abbrObj.thousand && temp[0] !== _abbrObj.million && temp[0] !== _abbrObj.billion && temp[0] !== _abbrObj.trillion) {\n return false;\n }\n }\n\n _thousandRegEx = new RegExp(_thousandSep + '{2}');\n\n if (!val.match(/[^\\d.,]/g)) {\n _valArray = val.split(_decimalSep);\n if (_valArray.length > 2) {\n return false;\n } else {\n if (_valArray.length < 2) {\n return ( !! _valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx));\n } else {\n if (_valArray[0].length === 1) {\n return ( !! _valArray[0].match(/^\\d+$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\\d+$/));\n } else {\n return ( !! _valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\\d+$/));\n }\n }\n }\n }\n\n return false;\n };\n\n\n /************************************\n Numeral Prototype\n ************************************/\n\n numeral.fn = Numeral.prototype = {\n clone: function() {\n return numeral(this);\n },\n format: function(inputString, roundingFunction) {\n var value = this._value,\n format = inputString || options.defaultFormat,\n kind,\n output,\n formatFunction;\n\n // make sure we have a roundingFunction\n roundingFunction = roundingFunction || Math.round;\n\n // format based on value\n if (value === 0 && options.zeroFormat !== null) {\n output = options.zeroFormat;\n } else if (value === null && options.nullFormat !== null) {\n output = options.nullFormat;\n } else {\n for (kind in formats) {\n if (format.match(formats[kind].regexps.format)) {\n formatFunction = formats[kind].format;\n\n break;\n }\n }\n\n formatFunction = formatFunction || numeral._.numberToFormat;\n\n output = formatFunction(value, format, roundingFunction);\n }\n\n return output;\n },\n value: function() {\n return this._value;\n },\n input: function() {\n return this._input;\n },\n set: function(value) {\n this._value = Number(value);\n\n return this;\n },\n add: function(value) {\n var corrFactor = _.correctionFactor.call(null, this._value, value);\n\n function cback(accum, curr, currI, O) {\n return accum + Math.round(corrFactor * curr);\n }\n\n this._value = _.reduce([this._value, value], cback, 0) / corrFactor;\n\n return this;\n },\n subtract: function(value) {\n var corrFactor = _.correctionFactor.call(null, this._value, value);\n\n function cback(accum, curr, currI, O) {\n return accum - Math.round(corrFactor * curr);\n }\n\n this._value = _.reduce([value], cback, Math.round(this._value * corrFactor)) / corrFactor;\n\n return this;\n },\n multiply: function(value) {\n function cback(accum, curr, currI, O) {\n var corrFactor = _.correctionFactor(accum, curr);\n return Math.round(accum * corrFactor) * Math.round(curr * corrFactor) / Math.round(corrFactor * corrFactor);\n }\n\n this._value = _.reduce([this._value, value], cback, 1);\n\n return this;\n },\n divide: function(value) {\n function cback(accum, curr, currI, O) {\n var corrFactor = _.correctionFactor(accum, curr);\n return Math.round(accum * corrFactor) / Math.round(curr * corrFactor);\n }\n\n this._value = _.reduce([this._value, value], cback);\n\n return this;\n },\n difference: function(value) {\n return Math.abs(numeral(this._value).subtract(value).value());\n }\n };\n\n /************************************\n Default Locale && Format\n ************************************/\n\n numeral.register('locale', 'en', {\n delimiters: {\n thousands: ',',\n decimal: '.'\n },\n abbreviations: {\n thousand: 'k',\n million: 'm',\n billion: 'b',\n trillion: 't'\n },\n ordinal: function(number) {\n var b = number % 10;\n return (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n },\n currency: {\n symbol: '$'\n }\n });\n\n \n\n(function() {\n numeral.register('format', 'bps', {\n regexps: {\n format: /(BPS)/,\n unformat: /(BPS)/\n },\n format: function(value, format, roundingFunction) {\n var space = numeral._.includes(format, ' BPS') ? ' ' : '',\n output;\n\n value = value * 10000;\n\n // check for space before BPS\n format = format.replace(/\\s?BPS/, '');\n\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n if (numeral._.includes(output, ')')) {\n output = output.split('');\n\n output.splice(-1, 0, space + 'BPS');\n\n output = output.join('');\n } else {\n output = output + space + 'BPS';\n }\n\n return output;\n },\n unformat: function(string) {\n return +(numeral._.stringToNumber(string) * 0.0001).toFixed(15);\n }\n });\n})();\n\n\n(function() {\n var decimal = {\n base: 1000,\n suffixes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\n },\n binary = {\n base: 1024,\n suffixes: ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']\n };\n\n var allSuffixes = decimal.suffixes.concat(binary.suffixes.filter(function (item) {\n return decimal.suffixes.indexOf(item) < 0;\n }));\n var unformatRegex = allSuffixes.join('|');\n // Allow support for BPS (http://www.investopedia.com/terms/b/basispoint.asp)\n unformatRegex = '(' + unformatRegex.replace('B', 'B(?!PS)') + ')';\n\n numeral.register('format', 'bytes', {\n regexps: {\n format: /([0\\s]i?b)/,\n unformat: new RegExp(unformatRegex)\n },\n format: function(value, format, roundingFunction) {\n var output,\n bytes = numeral._.includes(format, 'ib') ? binary : decimal,\n suffix = numeral._.includes(format, ' b') || numeral._.includes(format, ' ib') ? ' ' : '',\n power,\n min,\n max;\n\n // check for space before\n format = format.replace(/\\s?i?b/, '');\n\n for (power = 0; power <= bytes.suffixes.length; power++) {\n min = Math.pow(bytes.base, power);\n max = Math.pow(bytes.base, power + 1);\n\n if (value === null || value === 0 || value >= min && value < max) {\n suffix += bytes.suffixes[power];\n\n if (min > 0) {\n value = value / min;\n }\n\n break;\n }\n }\n\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n return output + suffix;\n },\n unformat: function(string) {\n var value = numeral._.stringToNumber(string),\n power,\n bytesMultiplier;\n\n if (value) {\n for (power = decimal.suffixes.length - 1; power >= 0; power--) {\n if (numeral._.includes(string, decimal.suffixes[power])) {\n bytesMultiplier = Math.pow(decimal.base, power);\n\n break;\n }\n\n if (numeral._.includes(string, binary.suffixes[power])) {\n bytesMultiplier = Math.pow(binary.base, power);\n\n break;\n }\n }\n\n value *= (bytesMultiplier || 1);\n }\n\n return value;\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'currency', {\n regexps: {\n format: /(\\$)/\n },\n format: function(value, format, roundingFunction) {\n var locale = numeral.locales[numeral.options.currentLocale],\n symbols = {\n before: format.match(/^([\\+|\\-|\\(|\\s|\\$]*)/)[0],\n after: format.match(/([\\+|\\-|\\)|\\s|\\$]*)$/)[0]\n },\n output,\n symbol,\n i;\n\n // strip format of spaces and $\n format = format.replace(/\\s?\\$\\s?/, '');\n\n // format the number\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n // update the before and after based on value\n if (value >= 0) {\n symbols.before = symbols.before.replace(/[\\-\\(]/, '');\n symbols.after = symbols.after.replace(/[\\-\\)]/, '');\n } else if (value < 0 && (!numeral._.includes(symbols.before, '-') && !numeral._.includes(symbols.before, '('))) {\n symbols.before = '-' + symbols.before;\n }\n\n // loop through each before symbol\n for (i = 0; i < symbols.before.length; i++) {\n symbol = symbols.before[i];\n\n switch (symbol) {\n case '$':\n output = numeral._.insert(output, locale.currency.symbol, i);\n break;\n case ' ':\n output = numeral._.insert(output, ' ', i + locale.currency.symbol.length - 1);\n break;\n }\n }\n\n // loop through each after symbol\n for (i = symbols.after.length - 1; i >= 0; i--) {\n symbol = symbols.after[i];\n\n switch (symbol) {\n case '$':\n output = i === symbols.after.length - 1 ? output + locale.currency.symbol : numeral._.insert(output, locale.currency.symbol, -(symbols.after.length - (1 + i)));\n break;\n case ' ':\n output = i === symbols.after.length - 1 ? output + ' ' : numeral._.insert(output, ' ', -(symbols.after.length - (1 + i) + locale.currency.symbol.length - 1));\n break;\n }\n }\n\n\n return output;\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'exponential', {\n regexps: {\n format: /(e\\+|e-)/,\n unformat: /(e\\+|e-)/\n },\n format: function(value, format, roundingFunction) {\n var output,\n exponential = typeof value === 'number' && !numeral._.isNaN(value) ? value.toExponential() : '0e+0',\n parts = exponential.split('e');\n\n format = format.replace(/e[\\+|\\-]{1}0/, '');\n\n output = numeral._.numberToFormat(Number(parts[0]), format, roundingFunction);\n\n return output + 'e' + parts[1];\n },\n unformat: function(string) {\n var parts = numeral._.includes(string, 'e+') ? string.split('e+') : string.split('e-'),\n value = Number(parts[0]),\n power = Number(parts[1]);\n\n power = numeral._.includes(string, 'e-') ? power *= -1 : power;\n\n function cback(accum, curr, currI, O) {\n var corrFactor = numeral._.correctionFactor(accum, curr),\n num = (accum * corrFactor) * (curr * corrFactor) / (corrFactor * corrFactor);\n return num;\n }\n\n return numeral._.reduce([value, Math.pow(10, power)], cback, 1);\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'ordinal', {\n regexps: {\n format: /(o)/\n },\n format: function(value, format, roundingFunction) {\n var locale = numeral.locales[numeral.options.currentLocale],\n output,\n ordinal = numeral._.includes(format, ' o') ? ' ' : '';\n\n // check for space before\n format = format.replace(/\\s?o/, '');\n\n ordinal += locale.ordinal(value);\n\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n return output + ordinal;\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'percentage', {\n regexps: {\n format: /(%)/,\n unformat: /(%)/\n },\n format: function(value, format, roundingFunction) {\n var space = numeral._.includes(format, ' %') ? ' ' : '',\n output;\n\n if (numeral.options.scalePercentBy100) {\n value = value * 100;\n }\n\n // check for space before %\n format = format.replace(/\\s?\\%/, '');\n\n output = numeral._.numberToFormat(value, format, roundingFunction);\n\n if (numeral._.includes(output, ')')) {\n output = output.split('');\n\n output.splice(-1, 0, space + '%');\n\n output = output.join('');\n } else {\n output = output + space + '%';\n }\n\n return output;\n },\n unformat: function(string) {\n var number = numeral._.stringToNumber(string);\n if (numeral.options.scalePercentBy100) {\n return number * 0.01;\n }\n return number;\n }\n });\n})();\n\n\n(function() {\n numeral.register('format', 'time', {\n regexps: {\n format: /(:)/,\n unformat: /(:)/\n },\n format: function(value, format, roundingFunction) {\n var hours = Math.floor(value / 60 / 60),\n minutes = Math.floor((value - (hours * 60 * 60)) / 60),\n seconds = Math.round(value - (hours * 60 * 60) - (minutes * 60));\n\n return hours + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);\n },\n unformat: function(string) {\n var timeArray = string.split(':'),\n seconds = 0;\n\n // turn hours and minutes into seconds and add them all up\n if (timeArray.length === 3) {\n // hours\n seconds = seconds + (Number(timeArray[0]) * 60 * 60);\n // minutes\n seconds = seconds + (Number(timeArray[1]) * 60);\n // seconds\n seconds = seconds + Number(timeArray[2]);\n } else if (timeArray.length === 2) {\n // minutes\n seconds = seconds + (Number(timeArray[0]) * 60);\n // seconds\n seconds = seconds + Number(timeArray[1]);\n }\n return Number(seconds);\n }\n });\n})();\n\nreturn numeral;\n}));\n"],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-0cb6.b9f32e0c.js b/priv/static/adminfe/static/js/chunk-0cb6.b9f32e0c.js
deleted file mode 100644
index 967eefab2..000000000
--- a/priv/static/adminfe/static/js/chunk-0cb6.b9f32e0c.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-0cb6"],{"3XKG":function(e,t,a){},"5BBj":function(e,t,a){"use strict";var o=a("mK29");a.n(o).a},"8YcG":function(e,t,a){"use strict";var o=a("H3Pu");a.n(o).a},BHDh:function(e,t,a){"use strict";var o=a("JR8x");a.n(o).a},D45k:function(e,t,a){},H3Pu:function(e,t,a){},JR8x:function(e,t,a){},eGqU:function(e,t,a){"use strict";var o=a("D45k");a.n(o).a},mK29:function(e,t,a){},rCuO:function(e,t,a){"use strict";a.r(t);var o={props:{name:{type:String,required:!0}}},i=(a("vB9w"),a("KHd+")),n=Object(i.a)(o,function(){var e=this.$createElement,t=this._self._c||e;return t("el-row",{staticClass:"prop-row",attrs:{gutter:20}},[t("el-col",{attrs:{span:4}},[t("b",[this._v(this._s(this.name))])]),this._v(" "),t("el-col",{attrs:{span:10}},[this._t("default")],2)],1)},[],!1,null,null,null);n.options.__file="PropertyEditingRow.vue";var c=n.exports,s=a("qh4k"),l={props:{host:{type:String,required:!0},packName:{type:String,required:!0},name:{type:String,required:!0},file:{type:String,required:!0},isLocal:{type:Boolean,required:!0}},data:function(){return{newName:null,newFile:null,copyToLocalPackName:null,copyToLocalVisible:!1,copyToShortcode:"",copyToFilename:""}},computed:{modifyingName:{get:function(){return null!==this.newName?this.newName:this.name},set:function(e){this.newName=e}},modifyingFile:{get:function(){return null!==this.newFile?this.newFile:this.file},set:function(e){this.newFile=e}}},methods:{update:function(){var e=this;this.$store.dispatch("UpdateAndSavePackFile",{action:"update",packName:this.packName,oldName:this.name,newName:this.modifyingName,newFilename:this.modifyingFile}).then(function(){e.newName=null,e.newFile=null,e.$store.dispatch("ReloadEmoji")})},remove:function(){var e=this;this.$confirm("This will delete the emoji, are you sure?","Warning",{confirmButtonText:"Yes, delete the emoji",cancelButtonText:"No, leave it be",type:"warning"}).then(function(){e.$store.dispatch("UpdateAndSavePackFile",{action:"remove",packName:e.packName,name:e.name}).then(function(){e.newName=null,e.newFile=null,e.$store.dispatch("ReloadEmoji")})})},copyToLocal:function(){var e=this;this.$store.dispatch("UpdateAndSavePackFile",{action:"add",packName:this.copyToLocalPackName,shortcode:""!==this.copyToShortcode.trim()?this.copyToShortcode.trim():this.name,fileName:""!==this.copyToFilename.trim()?this.copyToFilename.trim():this.file,file:this.addressOfEmojiInPack(this.host,this.packName,this.file)}).then(function(){e.copyToLocalPackName=null,e.copyToLocalVisible=!1,e.copyToShortcode="",e.copyToFilename="",e.$store.dispatch("ReloadEmoji")})},addressOfEmojiInPack:s.a}},r=(a("BHDh"),Object(i.a)(l,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-row",{attrs:{gutter:20}},[a("el-col",{attrs:{span:4}},[e.isLocal?a("el-input",{attrs:{placeholder:"Name/Shortcode"},model:{value:e.modifyingName,callback:function(t){e.modifyingName=t},expression:"modifyingName"}}):a("el-input",{attrs:{value:e.modifyingName,placeholder:"Name/Shortcode"}})],1),e._v(" "),a("el-col",{attrs:{span:6}},[e.isLocal?a("el-input",{attrs:{placeholder:"File"},model:{value:e.modifyingFile,callback:function(t){e.modifyingFile=t},expression:"modifyingFile"}}):a("el-input",{attrs:{value:e.modifyingFile,placeholder:"File"}})],1),e._v(" "),e.isLocal?a("el-col",{attrs:{span:2}},[a("el-button",{attrs:{type:"primary"},on:{click:e.update}},[e._v("Update")])],1):e._e(),e._v(" "),e.isLocal?a("el-col",{attrs:{span:2}},[a("el-button",{attrs:{type:"danger"},on:{click:e.remove}},[e._v("Remove")])],1):e._e(),e._v(" "),e.isLocal?e._e():a("el-col",{attrs:{span:4}},[a("el-popover",{attrs:{placement:"bottom"},model:{value:e.copyToLocalVisible,callback:function(t){e.copyToLocalVisible=t},expression:"copyToLocalVisible"}},[a("p",[e._v("Select the local pack to copy to")]),e._v(" "),a("el-select",{attrs:{placeholder:"Local pack"},model:{value:e.copyToLocalPackName,callback:function(t){e.copyToLocalPackName=t},expression:"copyToLocalPackName"}},e._l(e.$store.state.emoji_packs.localPacks,function(e,t){return a("el-option",{key:t,attrs:{label:t,value:t}})}),1),e._v(" "),a("p",[e._v("Specify a custom shortcode (leave empty to use the same shortcode)")]),e._v(" "),a("el-input",{attrs:{placeholder:"Shortcode (optional)"},model:{value:e.copyToShortcode,callback:function(t){e.copyToShortcode=t},expression:"copyToShortcode"}}),e._v(" "),a("p",[e._v("Specify a custom filename (leavy empty to use the same filename)")]),e._v(" "),a("el-input",{attrs:{placeholder:"Filename (optional)"},model:{value:e.copyToFilename,callback:function(t){e.copyToFilename=t},expression:"copyToFilename"}}),e._v(" "),a("el-button",{staticClass:"copy-to-local-button",attrs:{disabled:!e.copyToLocalPackName,type:"success"},on:{click:e.copyToLocal}},[e._v("Copy")]),e._v(" "),a("el-button",{attrs:{slot:"reference",type:"primary"},slot:"reference"},[e._v("Copy to local pack...")])],1)],1),e._v(" "),a("el-col",{attrs:{span:2}},[a("img",{staticClass:"emoji-preview-img",attrs:{src:e.addressOfEmojiInPack(e.host,e.packName,e.file)}})])],1)},[],!1,null,null,null));r.options.__file="SingleEmojiEditor.vue";var p=r.exports,m={props:{packName:{type:String,required:!0}},data:function(){return{shortcode:"",imageUploadURL:"",customFileName:""}},methods:{upload:function(){var e=this,t=null;this.$refs.fileUpload.files.length>0?t=this.$refs.fileUpload.files[0]:""!==this.imageUploadURL.trim()&&(t=this.imageUploadURL),null!==t&&this.$store.dispatch("UpdateAndSavePackFile",{action:"add",packName:this.packName,shortcode:this.shortcode,file:t,fileName:this.customFileName}).then(function(){e.shortcode="",e.imageUploadURL="",e.$store.dispatch("ReloadEmoji")})}}},d=(a("8YcG"),Object(i.a)(m,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("h4",[e._v("Add new emoji to the pack")]),e._v(" "),a("el-row",{attrs:{gutter:20}},[a("el-col",{staticClass:"new-emoji-col",attrs:{span:4}},[a("el-input",{attrs:{placeholder:"Shortcode"},model:{value:e.shortcode,callback:function(t){e.shortcode=t},expression:"shortcode"}})],1),e._v(" "),a("el-col",{attrs:{span:8}},[a("div",[a("h5",[e._v("Upload a file")])]),e._v("\n File name\n "),a("el-input",{attrs:{size:"mini",placeholder:"Custom file name (optional)"},model:{value:e.customFileName,callback:function(t){e.customFileName=t},expression:"customFileName"}}),e._v(" "),a("input",{ref:"fileUpload",attrs:{type:"file",accept:"image/*"}}),e._v(" "),a("div",{staticClass:"or"},[e._v("\n or\n ")]),e._v(" "),a("div",[a("h5",[e._v("Enter a URL")])]),e._v(" "),a("el-input",{attrs:{placeholder:"Image URL"},model:{value:e.imageUploadURL,callback:function(t){e.imageUploadURL=t},expression:"imageUploadURL"}}),e._v(" "),a("small",[e._v("\n (If both are filled, the file is used)\n ")])],1),e._v(" "),a("el-col",{staticClass:"new-emoji-col",attrs:{span:4}},[a("el-button",{attrs:{disabled:""==e.shortcode.trim()},on:{click:e.upload}},[e._v("Upload")])],1)],1)],1)},[],!1,null,null,null));d.options.__file="NewEmojiUploader.vue";var u={components:{PropEditingRow:c,SingleEmojiEditor:p,NewEmojiUploader:d.exports},props:{name:{type:String,required:!0},pack:{type:Object,required:!0},host:{type:String,required:!0},isLocal:{type:Boolean,required:!0}},data:function(){return{shownPackEmoji:[],downloadSharedAs:""}},computed:{share:{get:function(){return this.pack.pack["share-files"]},set:function(e){this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"share-files",value:e})}},homepage:{get:function(){return this.pack.pack.homepage},set:function(e){this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"homepage",value:e})}},description:{get:function(){return this.pack.pack.description},set:function(e){this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"description",value:e})}},license:{get:function(){return this.pack.pack.license},set:function(e){this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"license",value:e})}},fallbackSrc:{get:function(){return this.pack.pack["fallback-src"]},set:function(e){""!==e.trim()?this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"fallback-src",value:e}):(this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"fallback-src",value:null}),this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"fallback-src-sha256",value:null}))}}},methods:{downloadFromInstance:function(){var e=this;this.$store.dispatch("DownloadFrom",{instanceAddress:this.host,packName:this.name,as:this.downloadSharedAs}).then(function(){return e.$store.dispatch("ReloadEmoji")}).then(function(){return e.$store.dispatch("SetLocalEmojiPacks")})},deletePack:function(){var e=this;this.$confirm("This will delete the pack, are you sure?","Warning",{confirmButtonText:"Yes, delete the pack",cancelButtonText:"No, leave it be",type:"warning"}).then(function(){e.$store.dispatch("DeletePack",{name:e.name}).then(function(){return e.$store.dispatch("ReloadEmoji")}).then(function(){return e.$store.dispatch("SetLocalEmojiPacks")})}).catch(function(){})},savePackMetadata:function(){this.$store.dispatch("SavePackMetadata",{packName:this.name})}}},h=(a("eGqU"),Object(i.a)(u,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("h2",[e._v(e._s(e.name))]),e._v(" "),a("prop-editing-row",{attrs:{name:"Share pack"}},[a("el-switch",{attrs:{disabled:!e.isLocal},model:{value:e.share,callback:function(t){e.share=t},expression:"share"}})],1),e._v(" "),a("prop-editing-row",{attrs:{name:"Homepage"}},[e.isLocal?a("el-input",{model:{value:e.homepage,callback:function(t){e.homepage=t},expression:"homepage"}}):a("el-input",{attrs:{value:e.homepage}})],1),e._v(" "),a("prop-editing-row",{attrs:{name:"Description"}},[e.isLocal?a("el-input",{attrs:{rows:2,type:"textarea"},model:{value:e.description,callback:function(t){e.description=t},expression:"description"}}):a("el-input",{attrs:{rows:2,value:e.description,type:"textarea"}})],1),e._v(" "),a("prop-editing-row",{attrs:{name:"License"}},[e.isLocal?a("el-input",{model:{value:e.license,callback:function(t){e.license=t},expression:"license"}}):a("el-input",{attrs:{value:e.license}})],1),e._v(" "),a("prop-editing-row",{attrs:{name:"Fallback source"}},[e.isLocal?a("el-input",{model:{value:e.fallbackSrc,callback:function(t){e.fallbackSrc=t},expression:"fallbackSrc"}}):a("el-input",{attrs:{value:e.fallbackSrc}})],1),e._v(" "),e.fallbackSrc&&""!==e.fallbackSrc.trim()?a("prop-editing-row",{attrs:{name:"Fallback source SHA"}},[e._v("\n "+e._s(e.pack.pack["fallback-src-sha256"])+"\n ")]):e._e(),e._v(" "),e.isLocal?a("el-button",{attrs:{type:"success"},on:{click:e.savePackMetadata}},[e._v("Save pack metadata")]):e._e(),e._v(" "),a("el-collapse",{staticClass:"contents-collapse",model:{value:e.shownPackEmoji,callback:function(t){e.shownPackEmoji=t},expression:"shownPackEmoji"}},[a("el-collapse-item",{attrs:{name:e.name,title:"Show pack contents"}},[e.isLocal?a("new-emoji-uploader",{staticClass:"new-emoji-uploader",attrs:{"pack-name":e.name}}):e._e(),e._v(" "),a("h4",[e._v("Manage existing emoji")]),e._v(" "),e._l(e.pack.files,function(t,o){return a("single-emoji-editor",{key:o,attrs:{host:e.host,"pack-name":e.name,name:o,file:t,"is-local":e.isLocal}})})],2)],1),e._v(" "),e.isLocal?e._e():a("div",{staticClass:"shared-pack-dl-box"},[a("div",[e._v('\n This will download the "'+e._s(e.name)+'" pack to the current instance under the name\n "'+e._s(""===e.downloadSharedAs.trim()?e.name:e.downloadSharedAs)+'" (can be changed below).\n It will then be usable and shareable from the current instance.\n ')]),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.downloadFromInstance}},[e._v("\n Download shared pack to current instance\n ")]),e._v(" "),a("el-input",{staticClass:"dl-as-input",attrs:{placeholder:"Download as (optional)"},model:{value:e.downloadSharedAs,callback:function(t){e.downloadSharedAs=t},expression:"downloadSharedAs"}})],1),e._v(" "),e.pack.pack["can-download"]?a("el-link",{attrs:{href:"//"+e.host+"/api/pleroma/emoji/packs/"+e.name+"/download_shared",type:"primary",target:"_blank"}},[e._v("\n Download pack archive\n ")]):e._e(),e._v(" "),e.isLocal?a("div",{staticClass:"pack-actions"},[a("el-button",{attrs:{type:"danger"},on:{click:e.deletePack}},[e._v("\n Delete the local pack\n ")])],1):e._e()],1)},[],!1,null,null,null));h.options.__file="EmojiPack.vue";var k={components:{EmojiPack:h.exports},data:function(){return{activeName:"local",remoteInstanceAddress:"",downloadFromState:null,newPackName:"",createNewPackVisible:!1}},mounted:function(){this.refreshLocalPacks()},methods:{createLocalPack:function(){var e=this;this.createNewPackVisible=!1,this.$store.dispatch("CreatePack",{name:this.newPackName}).then(function(){e.newPackName="",e.$store.dispatch("SetLocalEmojiPacks"),e.$store.dispatch("ReloadEmoji")})},refreshLocalPacks:function(){this.$store.dispatch("SetLocalEmojiPacks")},refreshRemotePacks:function(){this.$store.dispatch("SetRemoteEmojiPacks",{remoteInstance:this.remoteInstanceAddress})},reloadEmoji:function(){this.$store.dispatch("ReloadEmoji")},importFromFS:function(){var e=this;this.$store.dispatch("ImportFromFS").then(function(){e.$store.dispatch("SetLocalEmojiPacks"),e.$store.dispatch("ReloadEmoji")})}}},v=(a("5BBj"),Object(i.a)(k,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-container",{staticClass:"emoji-packs-container"},[a("el-header",[a("h1",[e._v("\n Emoji packs\n ")])]),e._v(" "),a("el-row",{staticClass:"local-packs-actions"},[a("el-button",{attrs:{type:"primary"},on:{click:e.reloadEmoji}},[e._v("\n Reload emoji\n ")]),e._v(" "),a("el-tooltip",{attrs:{effects:"dark",content:"Importing from the filesystem will scan the directories and import those without pack.json but with emoji.txt or without neither",placement:"bottom"}},[a("el-button",{attrs:{type:"success"},on:{click:e.importFromFS}},[e._v("\n Import packs from the server filesystem\n ")])],1)],1),e._v(" "),a("el-tabs",{model:{value:e.activeName,callback:function(t){e.activeName=t},expression:"activeName"}},[a("el-tab-pane",{attrs:{label:"Local packs",name:"local"}},[a("div",[e._v("\n Local packs can be viewed and downloaded for backup here.\n ")]),e._v(" "),a("div",{staticClass:"local-packs-actions"},[a("el-popover",{attrs:{placement:"bottom",trigger:"click"},model:{value:e.createNewPackVisible,callback:function(t){e.createNewPackVisible=t},expression:"createNewPackVisible"}},[a("el-input",{attrs:{placeholder:"Name"},model:{value:e.newPackName,callback:function(t){e.newPackName=t},expression:"newPackName"}}),e._v(" "),a("el-button",{staticClass:"create-pack-button",attrs:{disabled:""===e.newPackName.trim(),type:"success"},on:{click:e.createLocalPack}},[e._v("\n Create\n ")]),e._v(" "),a("el-button",{attrs:{slot:"reference",type:"success"},slot:"reference"},[e._v("\n Create a new local pack\n ")])],1),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.refreshLocalPacks}},[e._v("\n Refresh local packs\n ")])],1),e._v(" "),e._l(e.$store.state.emoji_packs.localPacks,function(t,o){return a("div",{key:o},[a("emoji-pack",{attrs:{name:o,pack:t,host:e.$store.getters.authHost,"is-local":!0}}),e._v(" "),a("el-divider")],1)})],2),e._v(" "),a("el-tab-pane",{attrs:{label:"Remote packs",name:"remote"}},[a("el-input",{staticClass:"remote-instance-input",attrs:{placeholder:"Remote instance address"},model:{value:e.remoteInstanceAddress,callback:function(t){e.remoteInstanceAddress=t},expression:"remoteInstanceAddress"}}),e._v(" "),a("el-button",{attrs:{type:"primary"},on:{click:e.refreshRemotePacks}},[e._v("\n Refresh remote packs\n ")]),e._v(" "),e._l(e.$store.state.emoji_packs.remotePacks,function(t,o){return a("div",{key:o},[a("emoji-pack",{attrs:{name:o,pack:t,host:e.remoteInstanceAddress,"is-local":!1}}),e._v(" "),a("el-divider")],1)})],2)],1)],1)},[],!1,null,null,null));v.options.__file="index.vue";t.default=v.exports},vB9w:function(e,t,a){"use strict";var o=a("3XKG");a.n(o).a}}]);
-//# sourceMappingURL=chunk-0cb6.b9f32e0c.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-0cb6.b9f32e0c.js.map b/priv/static/adminfe/static/js/chunk-0cb6.b9f32e0c.js.map
deleted file mode 100644
index c8ade8253..000000000
--- a/priv/static/adminfe/static/js/chunk-0cb6.b9f32e0c.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/views/emoji-packs/index.vue?39b9","webpack:///./src/views/emoji-packs/components/NewEmojiUploader.vue?30f8","webpack:///./src/views/emoji-packs/components/SingleEmojiEditor.vue?9a15","webpack:///./src/views/emoji-packs/components/EmojiPack.vue?96ec","webpack:///./src/views/emoji-packs/index.vue?d1c2","webpack:///./src/views/emoji-packs/components/PropertyEditingRow.vue?5e16","webpack:///src/views/emoji-packs/components/PropertyEditingRow.vue","webpack:///./src/views/emoji-packs/components/PropertyEditingRow.vue","webpack:///./src/views/emoji-packs/components/PropertyEditingRow.vue?b8c4","webpack:///./src/views/emoji-packs/components/SingleEmojiEditor.vue?7959","webpack:///src/views/emoji-packs/components/SingleEmojiEditor.vue","webpack:///./src/views/emoji-packs/components/SingleEmojiEditor.vue","webpack:///./src/views/emoji-packs/components/SingleEmojiEditor.vue?c51d","webpack:///./src/views/emoji-packs/components/NewEmojiUploader.vue?cec7","webpack:///src/views/emoji-packs/components/NewEmojiUploader.vue","webpack:///./src/views/emoji-packs/components/NewEmojiUploader.vue","webpack:///./src/views/emoji-packs/components/NewEmojiUploader.vue?d6ab","webpack:///./src/views/emoji-packs/components/EmojiPack.vue?0c2a","webpack:///src/views/emoji-packs/components/EmojiPack.vue","webpack:///./src/views/emoji-packs/components/EmojiPack.vue","webpack:///./src/views/emoji-packs/components/EmojiPack.vue?2677","webpack:///./src/views/emoji-packs/index.vue?0457","webpack:///src/views/emoji-packs/index.vue","webpack:///./src/views/emoji-packs/index.vue","webpack:///./src/views/emoji-packs/components/PropertyEditingRow.vue?2bb0"],"names":["_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_7_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_7_2_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_7_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_7_2_node_modules_vue_loader_lib_index_js_vue_loader_options_NewEmojiUploader_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_7_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_7_2_node_modules_vue_loader_lib_index_js_vue_loader_options_SingleEmojiEditor_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_7_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_7_2_node_modules_vue_loader_lib_index_js_vue_loader_options_EmojiPack_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","components_PropertyEditingRowvue_type_script_lang_js_","props","name","type","String","required","component","Object","componentNormalizer","_h","this","$createElement","_c","_self","staticClass","attrs","gutter","span","_v","_s","_t","options","__file","PropertyEditingRow","components_SingleEmojiEditorvue_type_script_lang_js_","host","packName","file","isLocal","Boolean","data","newName","newFile","copyToLocalPackName","copyToLocalVisible","copyToShortcode","copyToFilename","computed","modifyingName","get","set","val","modifyingFile","methods","update","_this","$store","dispatch","action","oldName","newFilename","then","remove","_this2","$confirm","confirmButtonText","cancelButtonText","copyToLocal","_this3","shortcode","trim","fileName","addressOfEmojiInPack","emoji_packs","SingleEmojiEditor_component","_vm","placeholder","model","value","callback","$$v","expression","on","click","_e","placement","_l","state","_pack","key","label","disabled","slot","src","SingleEmojiEditor","components_NewEmojiUploadervue_type_script_lang_js_","imageUploadURL","customFileName","upload","$refs","fileUpload","files","length","NewEmojiUploader_component","size","ref","accept","components_EmojiPackvue_type_script_lang_js_","components","PropEditingRow","NewEmojiUploader","pack","shownPackEmoji","downloadSharedAs","share","homepage","description","license","fallbackSrc","downloadFromInstance","instanceAddress","as","deletePack","catch","savePackMetadata","EmojiPack_component","rows","title","pack-name","ename","is-local","href","target","views_emoji_packsvue_type_script_lang_js_","EmojiPack","activeName","remoteInstanceAddress","downloadFromState","newPackName","createNewPackVisible","mounted","refreshLocalPacks","createLocalPack","refreshRemotePacks","remoteInstance","reloadEmoji","importFromFS","emoji_packs_component","effects","content","trigger","getters","authHost","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_7_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_7_2_node_modules_vue_loader_lib_index_js_vue_loader_options_PropertyEditingRow_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__"],"mappings":"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","file":"static/js/chunk-0cb6.b9f32e0c.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--7-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--7-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewEmojiUploader.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewEmojiUploader.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleEmojiEditor.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleEmojiEditor.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPack.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPack.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:\"emoji-packs-container\"},[_c('el-header',[_c('h1',[_vm._v(\"\\n Emoji packs\\n \")])]),_vm._v(\" \"),_c('el-row',{staticClass:\"local-packs-actions\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.reloadEmoji}},[_vm._v(\"\\n Reload emoji\\n \")]),_vm._v(\" \"),_c('el-tooltip',{attrs:{\"effects\":\"dark\",\"content\":\"Importing from the filesystem will scan the directories and import those without pack.json but with emoji.txt or without neither\",\"placement\":\"bottom\"}},[_c('el-button',{attrs:{\"type\":\"success\"},on:{\"click\":_vm.importFromFS}},[_vm._v(\"\\n Import packs from the server filesystem\\n \")])],1)],1),_vm._v(\" \"),_c('el-tabs',{model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"Local packs\",\"name\":\"local\"}},[_c('div',[_vm._v(\"\\n Local packs can be viewed and downloaded for backup here.\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"local-packs-actions\"},[_c('el-popover',{attrs:{\"placement\":\"bottom\",\"trigger\":\"click\"},model:{value:(_vm.createNewPackVisible),callback:function ($$v) {_vm.createNewPackVisible=$$v},expression:\"createNewPackVisible\"}},[_c('el-input',{attrs:{\"placeholder\":\"Name\"},model:{value:(_vm.newPackName),callback:function ($$v) {_vm.newPackName=$$v},expression:\"newPackName\"}}),_vm._v(\" \"),_c('el-button',{staticClass:\"create-pack-button\",attrs:{\"disabled\":_vm.newPackName.trim() === '',\"type\":\"success\"},on:{\"click\":_vm.createLocalPack}},[_vm._v(\"\\n Create\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"slot\":\"reference\",\"type\":\"success\"},slot:\"reference\"},[_vm._v(\"\\n Create a new local pack\\n \")])],1),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.refreshLocalPacks}},[_vm._v(\"\\n Refresh local packs\\n \")])],1),_vm._v(\" \"),_vm._l((_vm.$store.state.emoji_packs.localPacks),function(pack,name){return _c('div',{key:name},[_c('emoji-pack',{attrs:{\"name\":name,\"pack\":pack,\"host\":_vm.$store.getters.authHost,\"is-local\":true}}),_vm._v(\" \"),_c('el-divider')],1)})],2),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":\"Remote packs\",\"name\":\"remote\"}},[_c('el-input',{staticClass:\"remote-instance-input\",attrs:{\"placeholder\":\"Remote instance address\"},model:{value:(_vm.remoteInstanceAddress),callback:function ($$v) {_vm.remoteInstanceAddress=$$v},expression:\"remoteInstanceAddress\"}}),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.refreshRemotePacks}},[_vm._v(\"\\n Refresh remote packs\\n \")]),_vm._v(\" \"),_vm._l((_vm.$store.state.emoji_packs.remotePacks),function(pack,name){return _c('div',{key:name},[_c('emoji-pack',{attrs:{\"name\":name,\"pack\":pack,\"host\":_vm.remoteInstanceAddress,\"is-local\":false}}),_vm._v(\" \"),_c('el-divider')],1)})],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyEditingRow.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyEditingRow.vue?vue&type=script&lang=js&\"","<template>\n <el-row :gutter=\"20\" class=\"prop-row\">\n <el-col :span=\"4\">\n <b>{{ name }}</b>\n </el-col>\n <el-col :span=\"10\">\n <slot/>\n </el-col>\n </el-row>\n</template>\n\n<style>\n .prop-row {\n margin-bottom: 1em;\n }\n</style>\n\n<script>\nexport default {\n props: {\n name: {\n type: String,\n required: true\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./PropertyEditingRow.vue?vue&type=template&id=57f3224b&\"\nimport script from \"./PropertyEditingRow.vue?vue&type=script&lang=js&\"\nexport * from \"./PropertyEditingRow.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PropertyEditingRow.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\ncomponent.options.__file = \"PropertyEditingRow.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-row',{staticClass:\"prop-row\",attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":4}},[_c('b',[_vm._v(_vm._s(_vm.name))])]),_vm._v(\" \"),_c('el-col',{attrs:{\"span\":10}},[_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleEmojiEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleEmojiEditor.vue?vue&type=script&lang=js&\"","<template>\n <el-row :gutter=\"20\">\n <el-col :span=\"4\">\n <el-input v-if=\"isLocal\" v-model=\"modifyingName\" placeholder=\"Name/Shortcode\" />\n <el-input v-else :value=\"modifyingName\" placeholder=\"Name/Shortcode\" />\n </el-col>\n <el-col :span=\"6\">\n <el-input v-if=\"isLocal\" v-model=\"modifyingFile\" placeholder=\"File\"/>\n <el-input v-else :value=\"modifyingFile\" placeholder=\"File\"/>\n </el-col>\n\n <el-col v-if=\"isLocal\" :span=\"2\">\n <el-button type=\"primary\" @click=\"update\">Update</el-button>\n </el-col>\n <el-col v-if=\"isLocal\" :span=\"2\">\n <el-button type=\"danger\" @click=\"remove\">Remove</el-button>\n </el-col>\n\n <el-col v-if=\"!isLocal\" :span=\"4\">\n <el-popover v-model=\"copyToLocalVisible\" placement=\"bottom\">\n <p>Select the local pack to copy to</p>\n <el-select v-model=\"copyToLocalPackName\" placeholder=\"Local pack\">\n <el-option\n v-for=\"(_pack, name) in $store.state.emoji_packs.localPacks\"\n :key=\"name\"\n :label=\"name\"\n :value=\"name\" />\n </el-select>\n\n <p>Specify a custom shortcode (leave empty to use the same shortcode)</p>\n <el-input v-model=\"copyToShortcode\" placeholder=\"Shortcode (optional)\" />\n\n <p>Specify a custom filename (leavy empty to use the same filename)</p>\n <el-input v-model=\"copyToFilename\" placeholder=\"Filename (optional)\" />\n\n <el-button\n :disabled=\"!copyToLocalPackName\"\n type=\"success\"\n class=\"copy-to-local-button\"\n @click=\"copyToLocal\">Copy</el-button>\n\n <el-button slot=\"reference\" type=\"primary\">Copy to local pack...</el-button>\n </el-popover>\n </el-col>\n\n <el-col :span=\"2\">\n <img\n :src=\"addressOfEmojiInPack(host, packName, file)\"\n class=\"emoji-preview-img\">\n </el-col>\n </el-row>\n</template>\n\n<style>\n .emoji-preview-img {\n max-width: 5em;\n }\n\n .copy-to-local-button {\n margin-top: 2em;\n float: right;\n }\n</style>\n\n<script>\n\nimport { addressOfEmojiInPack } from '@/api/emoji_packs'\n\nexport default {\n props: {\n host: {\n type: String,\n required: true\n },\n packName: {\n type: String,\n required: true\n },\n name: {\n type: String,\n required: true\n },\n file: {\n type: String,\n required: true\n },\n isLocal: {\n type: Boolean,\n required: true\n }\n },\n\n data() {\n return {\n newName: null,\n newFile: null,\n\n copyToLocalPackName: null,\n copyToLocalVisible: false,\n copyToShortcode: '',\n copyToFilename: ''\n }\n },\n\n computed: {\n modifyingName: {\n get() {\n // Return a modified name if it was actually modified, otherwise return the old name\n return this.newName !== null ? this.newName : this.name\n },\n set(val) { this.newName = val }\n },\n modifyingFile: {\n get() {\n // Return a modified name if it was actually modified, otherwise return the old name\n return this.newFile !== null ? this.newFile : this.file\n },\n set(val) { this.newFile = val }\n }\n },\n methods: {\n update() {\n this.$store.dispatch('UpdateAndSavePackFile', {\n action: 'update',\n packName: this.packName,\n oldName: this.name,\n newName: this.modifyingName,\n newFilename: this.modifyingFile\n }).then(() => {\n this.newName = null\n this.newFile = null\n\n this.$store.dispatch('ReloadEmoji')\n })\n },\n remove() {\n this.$confirm('This will delete the emoji, are you sure?', 'Warning', {\n confirmButtonText: 'Yes, delete the emoji',\n cancelButtonText: 'No, leave it be',\n type: 'warning'\n }).then(() => {\n this.$store.dispatch('UpdateAndSavePackFile', {\n action: 'remove',\n packName: this.packName,\n name: this.name\n }).then(() => {\n this.newName = null\n this.newFile = null\n\n this.$store.dispatch('ReloadEmoji')\n })\n })\n },\n\n copyToLocal() {\n this.$store.dispatch('UpdateAndSavePackFile', {\n action: 'add',\n packName: this.copyToLocalPackName,\n shortcode: this.copyToShortcode.trim() !== '' ? this.copyToShortcode.trim() : this.name,\n fileName: this.copyToFilename.trim() !== '' ? this.copyToFilename.trim() : this.file,\n file: this.addressOfEmojiInPack(this.host, this.packName, this.file)\n }).then(() => {\n this.copyToLocalPackName = null\n this.copyToLocalVisible = false\n this.copyToShortcode = ''\n this.copyToFilename = ''\n\n this.$store.dispatch('ReloadEmoji')\n })\n },\n\n addressOfEmojiInPack\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./SingleEmojiEditor.vue?vue&type=template&id=5bc267c6&\"\nimport script from \"./SingleEmojiEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./SingleEmojiEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SingleEmojiEditor.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\ncomponent.options.__file = \"SingleEmojiEditor.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{attrs:{\"span\":4}},[(_vm.isLocal)?_c('el-input',{attrs:{\"placeholder\":\"Name/Shortcode\"},model:{value:(_vm.modifyingName),callback:function ($$v) {_vm.modifyingName=$$v},expression:\"modifyingName\"}}):_c('el-input',{attrs:{\"value\":_vm.modifyingName,\"placeholder\":\"Name/Shortcode\"}})],1),_vm._v(\" \"),_c('el-col',{attrs:{\"span\":6}},[(_vm.isLocal)?_c('el-input',{attrs:{\"placeholder\":\"File\"},model:{value:(_vm.modifyingFile),callback:function ($$v) {_vm.modifyingFile=$$v},expression:\"modifyingFile\"}}):_c('el-input',{attrs:{\"value\":_vm.modifyingFile,\"placeholder\":\"File\"}})],1),_vm._v(\" \"),(_vm.isLocal)?_c('el-col',{attrs:{\"span\":2}},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.update}},[_vm._v(\"Update\")])],1):_vm._e(),_vm._v(\" \"),(_vm.isLocal)?_c('el-col',{attrs:{\"span\":2}},[_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.remove}},[_vm._v(\"Remove\")])],1):_vm._e(),_vm._v(\" \"),(!_vm.isLocal)?_c('el-col',{attrs:{\"span\":4}},[_c('el-popover',{attrs:{\"placement\":\"bottom\"},model:{value:(_vm.copyToLocalVisible),callback:function ($$v) {_vm.copyToLocalVisible=$$v},expression:\"copyToLocalVisible\"}},[_c('p',[_vm._v(\"Select the local pack to copy to\")]),_vm._v(\" \"),_c('el-select',{attrs:{\"placeholder\":\"Local pack\"},model:{value:(_vm.copyToLocalPackName),callback:function ($$v) {_vm.copyToLocalPackName=$$v},expression:\"copyToLocalPackName\"}},_vm._l((_vm.$store.state.emoji_packs.localPacks),function(_pack,name){return _c('el-option',{key:name,attrs:{\"label\":name,\"value\":name}})}),1),_vm._v(\" \"),_c('p',[_vm._v(\"Specify a custom shortcode (leave empty to use the same shortcode)\")]),_vm._v(\" \"),_c('el-input',{attrs:{\"placeholder\":\"Shortcode (optional)\"},model:{value:(_vm.copyToShortcode),callback:function ($$v) {_vm.copyToShortcode=$$v},expression:\"copyToShortcode\"}}),_vm._v(\" \"),_c('p',[_vm._v(\"Specify a custom filename (leavy empty to use the same filename)\")]),_vm._v(\" \"),_c('el-input',{attrs:{\"placeholder\":\"Filename (optional)\"},model:{value:(_vm.copyToFilename),callback:function ($$v) {_vm.copyToFilename=$$v},expression:\"copyToFilename\"}}),_vm._v(\" \"),_c('el-button',{staticClass:\"copy-to-local-button\",attrs:{\"disabled\":!_vm.copyToLocalPackName,\"type\":\"success\"},on:{\"click\":_vm.copyToLocal}},[_vm._v(\"Copy\")]),_vm._v(\" \"),_c('el-button',{attrs:{\"slot\":\"reference\",\"type\":\"primary\"},slot:\"reference\"},[_vm._v(\"Copy to local pack...\")])],1)],1):_vm._e(),_vm._v(\" \"),_c('el-col',{attrs:{\"span\":2}},[_c('img',{staticClass:\"emoji-preview-img\",attrs:{\"src\":_vm.addressOfEmojiInPack(_vm.host, _vm.packName, _vm.file)}})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewEmojiUploader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewEmojiUploader.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <h4>Add new emoji to the pack</h4>\n\n <el-row :gutter=\"20\">\n <el-col :span=\"4\" class=\"new-emoji-col\">\n <el-input v-model=\"shortcode\" placeholder=\"Shortcode\" />\n </el-col>\n\n <el-col :span=\"8\">\n <div>\n <h5>Upload a file</h5>\n </div>\n File name\n <el-input v-model=\"customFileName\" size=\"mini\" placeholder=\"Custom file name (optional)\"/>\n <input ref=\"fileUpload\" type=\"file\" accept=\"image/*\" >\n\n <div class=\"or\">\n or\n </div>\n\n <div>\n <h5>Enter a URL</h5>\n </div>\n <el-input v-model=\"imageUploadURL\" placeholder=\"Image URL\" />\n\n <small>\n (If both are filled, the file is used)\n </small>\n </el-col>\n\n <el-col :span=\"4\" class=\"new-emoji-col\">\n <el-button :disabled=\"shortcode.trim() == ''\" @click=\"upload\">Upload</el-button>\n </el-col>\n </el-row>\n </div>\n</template>\n\n<style>\n .new-emoji-col {\n margin-top: 8em;\n }\n\n .or {\n margin: 1em;\n }\n</style>\n\n<script>\nexport default {\n props: {\n packName: {\n type: String,\n required: true\n }\n },\n\n data() {\n return {\n shortcode: '',\n imageUploadURL: '',\n customFileName: ''\n }\n },\n\n methods: {\n upload() {\n let file = null\n\n if (this.$refs.fileUpload.files.length > 0) {\n file = this.$refs.fileUpload.files[0]\n } else if (this.imageUploadURL.trim() !== '') {\n file = this.imageUploadURL\n }\n\n if (file !== null) {\n this.$store.dispatch('UpdateAndSavePackFile', {\n action: 'add',\n packName: this.packName,\n shortcode: this.shortcode,\n file: file,\n fileName: this.customFileName\n }).then(() => {\n this.shortcode = ''\n this.imageUploadURL = ''\n\n this.$store.dispatch('ReloadEmoji')\n })\n }\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./NewEmojiUploader.vue?vue&type=template&id=2b91be00&\"\nimport script from \"./NewEmojiUploader.vue?vue&type=script&lang=js&\"\nexport * from \"./NewEmojiUploader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NewEmojiUploader.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\ncomponent.options.__file = \"NewEmojiUploader.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h4',[_vm._v(\"Add new emoji to the pack\")]),_vm._v(\" \"),_c('el-row',{attrs:{\"gutter\":20}},[_c('el-col',{staticClass:\"new-emoji-col\",attrs:{\"span\":4}},[_c('el-input',{attrs:{\"placeholder\":\"Shortcode\"},model:{value:(_vm.shortcode),callback:function ($$v) {_vm.shortcode=$$v},expression:\"shortcode\"}})],1),_vm._v(\" \"),_c('el-col',{attrs:{\"span\":8}},[_c('div',[_c('h5',[_vm._v(\"Upload a file\")])]),_vm._v(\"\\n File name\\n \"),_c('el-input',{attrs:{\"size\":\"mini\",\"placeholder\":\"Custom file name (optional)\"},model:{value:(_vm.customFileName),callback:function ($$v) {_vm.customFileName=$$v},expression:\"customFileName\"}}),_vm._v(\" \"),_c('input',{ref:\"fileUpload\",attrs:{\"type\":\"file\",\"accept\":\"image/*\"}}),_vm._v(\" \"),_c('div',{staticClass:\"or\"},[_vm._v(\"\\n or\\n \")]),_vm._v(\" \"),_c('div',[_c('h5',[_vm._v(\"Enter a URL\")])]),_vm._v(\" \"),_c('el-input',{attrs:{\"placeholder\":\"Image URL\"},model:{value:(_vm.imageUploadURL),callback:function ($$v) {_vm.imageUploadURL=$$v},expression:\"imageUploadURL\"}}),_vm._v(\" \"),_c('small',[_vm._v(\"\\n (If both are filled, the file is used)\\n \")])],1),_vm._v(\" \"),_c('el-col',{staticClass:\"new-emoji-col\",attrs:{\"span\":4}},[_c('el-button',{attrs:{\"disabled\":_vm.shortcode.trim() == ''},on:{\"click\":_vm.upload}},[_vm._v(\"Upload\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPack.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPack.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <h2>{{ name }}</h2>\n\n <prop-editing-row name=\"Share pack\">\n <el-switch v-model=\"share\" :disabled=\"!isLocal\" />\n </prop-editing-row>\n <prop-editing-row name=\"Homepage\">\n <el-input v-if=\"isLocal\" v-model=\"homepage\" />\n <el-input v-else :value=\"homepage\" />\n </prop-editing-row>\n <prop-editing-row name=\"Description\">\n <el-input v-if=\"isLocal\" :rows=\"2\" v-model=\"description\" type=\"textarea\" />\n <el-input v-else :rows=\"2\" :value=\"description\" type=\"textarea\" />\n </prop-editing-row>\n <prop-editing-row name=\"License\">\n <el-input v-if=\"isLocal\" v-model=\"license\" />\n <el-input v-else :value=\"license\" />\n </prop-editing-row>\n <prop-editing-row name=\"Fallback source\">\n <el-input v-if=\"isLocal\" v-model=\"fallbackSrc\" />\n <el-input v-else :value=\"fallbackSrc\" />\n </prop-editing-row>\n\n <prop-editing-row v-if=\"fallbackSrc && fallbackSrc.trim() !== ''\" name=\"Fallback source SHA\">\n {{ pack.pack[\"fallback-src-sha256\"] }}\n </prop-editing-row>\n\n <el-button v-if=\"isLocal\" type=\"success\" @click=\"savePackMetadata\">Save pack metadata</el-button>\n\n <el-collapse v-model=\"shownPackEmoji\" class=\"contents-collapse\">\n <el-collapse-item :name=\"name\" title=\"Show pack contents\">\n <new-emoji-uploader v-if=\"isLocal\" :pack-name=\"name\" class=\"new-emoji-uploader\" />\n\n <h4>Manage existing emoji</h4>\n\n <single-emoji-editor\n v-for=\"(file, ename) in pack.files\"\n :key=\"ename\"\n :host=\"host\"\n :pack-name=\"name\"\n :name=\"ename\"\n :file=\"file\"\n :is-local=\"isLocal\" />\n </el-collapse-item>\n </el-collapse>\n\n <div v-if=\"!isLocal\" class=\"shared-pack-dl-box\">\n <div>\n This will download the \"{{ name }}\" pack to the current instance under the name\n \"{{ downloadSharedAs.trim() === '' ? name : downloadSharedAs }}\" (can be changed below).\n It will then be usable and shareable from the current instance.\n </div>\n\n <el-button type=\"primary\" @click=\"downloadFromInstance\">\n Download shared pack to current instance\n </el-button>\n\n <el-input v-model=\"downloadSharedAs\" class=\"dl-as-input\" placeholder=\"Download as (optional)\" />\n </div>\n\n <el-link\n v-if=\"pack.pack['can-download']\"\n :href=\"`//${host}/api/pleroma/emoji/packs/${name}/download_shared`\"\n type=\"primary\"\n target=\"_blank\">\n Download pack archive\n </el-link>\n\n <div v-if=\"isLocal\" class=\"pack-actions\">\n <el-button type=\"danger\" @click=\"deletePack\">\n Delete the local pack\n </el-button>\n </div>\n </div>\n</template>\n\n<style>\n .shared-pack-dl-box {\n margin: 1em;\n }\n\n .dl-as-input {\n margin: 1em;\n max-width: 30%;\n }\n\n .contents-collapse {\n margin: 1em;\n }\n\n .pack-actions {\n margin-top: 1em;\n }\n\n .new-emoji-uploader {\n margin-bottom: 3em;\n }\n</style>\n\n<script>\nimport PropEditingRow from './PropertyEditingRow.vue'\nimport SingleEmojiEditor from './SingleEmojiEditor.vue'\nimport NewEmojiUploader from './NewEmojiUploader.vue'\n\nexport default {\n\n components: { PropEditingRow, SingleEmojiEditor, NewEmojiUploader },\n props: {\n name: {\n type: String,\n required: true\n },\n pack: {\n type: Object,\n required: true\n },\n host: {\n type: String,\n required: true\n },\n isLocal: {\n type: Boolean,\n required: true\n }\n },\n\n data() {\n return {\n shownPackEmoji: [],\n downloadSharedAs: ''\n }\n },\n computed: {\n share: {\n get() { return this.pack.pack['share-files'] },\n set(value) {\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'share-files', value }\n )\n }\n },\n homepage: {\n get() { return this.pack.pack['homepage'] },\n set(value) {\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'homepage', value }\n )\n }\n },\n description: {\n get() { return this.pack.pack['description'] },\n set(value) {\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'description', value }\n )\n }\n },\n license: {\n get() { return this.pack.pack['license'] },\n set(value) {\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'license', value }\n )\n }\n },\n fallbackSrc: {\n get() { return this.pack.pack['fallback-src'] },\n set(value) {\n if (value.trim() !== '') {\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'fallback-src', value }\n )\n } else {\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'fallback-src', value: null }\n )\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'fallback-src-sha256', value: null }\n )\n }\n }\n }\n },\n methods: {\n downloadFromInstance() {\n this.$store.dispatch(\n 'DownloadFrom',\n { instanceAddress: this.host, packName: this.name, as: this.downloadSharedAs }\n ).then(() => this.$store.dispatch('ReloadEmoji'))\n .then(() => this.$store.dispatch('SetLocalEmojiPacks'))\n },\n\n deletePack() {\n this.$confirm('This will delete the pack, are you sure?', 'Warning', {\n confirmButtonText: 'Yes, delete the pack',\n cancelButtonText: 'No, leave it be',\n type: 'warning'\n }).then(() => {\n this.$store.dispatch('DeletePack', { name: this.name })\n .then(() => this.$store.dispatch('ReloadEmoji'))\n .then(() => this.$store.dispatch('SetLocalEmojiPacks'))\n }).catch(() => {})\n },\n\n savePackMetadata() {\n this.$store.dispatch('SavePackMetadata', { packName: this.name })\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./EmojiPack.vue?vue&type=template&id=0fe4b898&\"\nimport script from \"./EmojiPack.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiPack.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmojiPack.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\ncomponent.options.__file = \"EmojiPack.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h2',[_vm._v(_vm._s(_vm.name))]),_vm._v(\" \"),_c('prop-editing-row',{attrs:{\"name\":\"Share pack\"}},[_c('el-switch',{attrs:{\"disabled\":!_vm.isLocal},model:{value:(_vm.share),callback:function ($$v) {_vm.share=$$v},expression:\"share\"}})],1),_vm._v(\" \"),_c('prop-editing-row',{attrs:{\"name\":\"Homepage\"}},[(_vm.isLocal)?_c('el-input',{model:{value:(_vm.homepage),callback:function ($$v) {_vm.homepage=$$v},expression:\"homepage\"}}):_c('el-input',{attrs:{\"value\":_vm.homepage}})],1),_vm._v(\" \"),_c('prop-editing-row',{attrs:{\"name\":\"Description\"}},[(_vm.isLocal)?_c('el-input',{attrs:{\"rows\":2,\"type\":\"textarea\"},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}}):_c('el-input',{attrs:{\"rows\":2,\"value\":_vm.description,\"type\":\"textarea\"}})],1),_vm._v(\" \"),_c('prop-editing-row',{attrs:{\"name\":\"License\"}},[(_vm.isLocal)?_c('el-input',{model:{value:(_vm.license),callback:function ($$v) {_vm.license=$$v},expression:\"license\"}}):_c('el-input',{attrs:{\"value\":_vm.license}})],1),_vm._v(\" \"),_c('prop-editing-row',{attrs:{\"name\":\"Fallback source\"}},[(_vm.isLocal)?_c('el-input',{model:{value:(_vm.fallbackSrc),callback:function ($$v) {_vm.fallbackSrc=$$v},expression:\"fallbackSrc\"}}):_c('el-input',{attrs:{\"value\":_vm.fallbackSrc}})],1),_vm._v(\" \"),(_vm.fallbackSrc && _vm.fallbackSrc.trim() !== '')?_c('prop-editing-row',{attrs:{\"name\":\"Fallback source SHA\"}},[_vm._v(\"\\n \"+_vm._s(_vm.pack.pack[\"fallback-src-sha256\"])+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isLocal)?_c('el-button',{attrs:{\"type\":\"success\"},on:{\"click\":_vm.savePackMetadata}},[_vm._v(\"Save pack metadata\")]):_vm._e(),_vm._v(\" \"),_c('el-collapse',{staticClass:\"contents-collapse\",model:{value:(_vm.shownPackEmoji),callback:function ($$v) {_vm.shownPackEmoji=$$v},expression:\"shownPackEmoji\"}},[_c('el-collapse-item',{attrs:{\"name\":_vm.name,\"title\":\"Show pack contents\"}},[(_vm.isLocal)?_c('new-emoji-uploader',{staticClass:\"new-emoji-uploader\",attrs:{\"pack-name\":_vm.name}}):_vm._e(),_vm._v(\" \"),_c('h4',[_vm._v(\"Manage existing emoji\")]),_vm._v(\" \"),_vm._l((_vm.pack.files),function(file,ename){return _c('single-emoji-editor',{key:ename,attrs:{\"host\":_vm.host,\"pack-name\":_vm.name,\"name\":ename,\"file\":file,\"is-local\":_vm.isLocal}})})],2)],1),_vm._v(\" \"),(!_vm.isLocal)?_c('div',{staticClass:\"shared-pack-dl-box\"},[_c('div',[_vm._v(\"\\n This will download the \\\"\"+_vm._s(_vm.name)+\"\\\" pack to the current instance under the name\\n \\\"\"+_vm._s(_vm.downloadSharedAs.trim() === '' ? _vm.name : _vm.downloadSharedAs)+\"\\\" (can be changed below).\\n It will then be usable and shareable from the current instance.\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.downloadFromInstance}},[_vm._v(\"\\n Download shared pack to current instance\\n \")]),_vm._v(\" \"),_c('el-input',{staticClass:\"dl-as-input\",attrs:{\"placeholder\":\"Download as (optional)\"},model:{value:(_vm.downloadSharedAs),callback:function ($$v) {_vm.downloadSharedAs=$$v},expression:\"downloadSharedAs\"}})],1):_vm._e(),_vm._v(\" \"),(_vm.pack.pack['can-download'])?_c('el-link',{attrs:{\"href\":(\"//\" + _vm.host + \"/api/pleroma/emoji/packs/\" + _vm.name + \"/download_shared\"),\"type\":\"primary\",\"target\":\"_blank\"}},[_vm._v(\"\\n Download pack archive\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isLocal)?_c('div',{staticClass:\"pack-actions\"},[_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.deletePack}},[_vm._v(\"\\n Delete the local pack\\n \")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <el-container class=\"emoji-packs-container\">\n <el-header>\n <h1>\n Emoji packs\n </h1>\n </el-header>\n\n <el-row class=\"local-packs-actions\">\n <el-button type=\"primary\" @click=\"reloadEmoji\">\n Reload emoji\n </el-button>\n\n <el-tooltip effects=\"dark\" content=\"Importing from the filesystem will scan the directories and import those without pack.json but with emoji.txt or without neither\" placement=\"bottom\">\n <el-button type=\"success\" @click=\"importFromFS\">\n Import packs from the server filesystem\n </el-button>\n </el-tooltip>\n </el-row>\n\n <el-tabs v-model=\"activeName\">\n <el-tab-pane label=\"Local packs\" name=\"local\">\n <div>\n Local packs can be viewed and downloaded for backup here.\n </div>\n\n <div class=\"local-packs-actions\">\n <el-popover\n v-model=\"createNewPackVisible\"\n placement=\"bottom\"\n trigger=\"click\">\n\n <el-input v-model=\"newPackName\" placeholder=\"Name\" />\n <el-button\n :disabled=\"newPackName.trim() === ''\"\n class=\"create-pack-button\"\n type=\"success\"\n @click=\"createLocalPack\" >\n Create\n </el-button>\n\n <el-button slot=\"reference\" type=\"success\">\n Create a new local pack\n </el-button>\n </el-popover>\n\n <el-button type=\"primary\" @click=\"refreshLocalPacks\">\n Refresh local packs\n </el-button>\n </div>\n\n <div v-for=\"(pack, name) in $store.state.emoji_packs.localPacks\" :key=\"name\">\n <emoji-pack :name=\"name\" :pack=\"pack\" :host=\"$store.getters.authHost\" :is-local=\"true\" />\n <el-divider />\n </div>\n </el-tab-pane>\n\n <el-tab-pane label=\"Remote packs\" name=\"remote\">\n <el-input\n v-model=\"remoteInstanceAddress\"\n class=\"remote-instance-input\"\n placeholder=\"Remote instance address\" />\n <el-button type=\"primary\" @click=\"refreshRemotePacks\">\n Refresh remote packs\n </el-button>\n\n <div v-for=\"(pack, name) in $store.state.emoji_packs.remotePacks\" :key=\"name\">\n <emoji-pack :name=\"name\" :pack=\"pack\" :host=\"remoteInstanceAddress\" :is-local=\"false\" />\n <el-divider />\n </div>\n\n </el-tab-pane>\n </el-tabs>\n </el-container>\n</template>\n\n<style>\n .emoji-packs-container {\n margin: 22px 0 0 15px;\n }\n\n .local-packs-actions {\n margin-top: 1em;\n margin-bottom: 1em;\n }\n\n .remote-instance-input {\n max-width: 10%;\n }\n\n .create-pack-button {\n margin-top: 1em;\n }\n</style>\n\n<script>\nimport EmojiPack from './components/EmojiPack'\n\nexport default {\n components: { EmojiPack },\n\n data() {\n return {\n activeName: 'local',\n remoteInstanceAddress: '',\n downloadFromState: null,\n\n newPackName: '',\n createNewPackVisible: false\n }\n },\n\n mounted() {\n this.refreshLocalPacks()\n },\n\n methods: {\n createLocalPack() {\n this.createNewPackVisible = false\n\n this.$store.dispatch('CreatePack', { name: this.newPackName })\n .then(() => {\n this.newPackName = ''\n\n this.$store.dispatch('SetLocalEmojiPacks')\n this.$store.dispatch('ReloadEmoji')\n })\n },\n\n refreshLocalPacks() {\n this.$store.dispatch('SetLocalEmojiPacks')\n },\n\n refreshRemotePacks() {\n this.$store.dispatch('SetRemoteEmojiPacks', { remoteInstance: this.remoteInstanceAddress })\n },\n\n reloadEmoji() {\n this.$store.dispatch('ReloadEmoji')\n },\n\n importFromFS() {\n this.$store.dispatch('ImportFromFS')\n .then(() => {\n this.$store.dispatch('SetLocalEmojiPacks')\n this.$store.dispatch('ReloadEmoji')\n })\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=83da257e&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyEditingRow.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PropertyEditingRow.vue?vue&type=style&index=0&lang=css&\""],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-0cc4.35b47d0a.js b/priv/static/adminfe/static/js/chunk-0cc4.35b47d0a.js
new file mode 100644
index 000000000..71b39bb28
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-0cc4.35b47d0a.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-0cc4"],{FtQ1:function(t,s,e){"use strict";e.r(s);var n=e("RIqP"),r=e.n(n),a=e("MVZn"),i=e.n(a),o=e("L2JU"),u=e("i7Kn"),c=e("ot3S"),l={name:"Statuses",components:{MultipleUsersMenu:u.a,Status:c.a},data:function(){return{selectedInstance:"",selectedUsers:[],page:1,pageSize:30}},computed:i()({loadingPeers:function(){return this.$store.state.peers.loading}},Object(o.b)(["instances","statuses"])),created:function(){},mounted:function(){this.$store.dispatch("FetchPeers")},methods:{handleFilterChange:function(t){this.page=1,this.$store.dispatch("FetchStatusesByInstance",{instance:t,page:this.page,pageSize:this.pageSize})},handleLoadMore:function(){this.page=this.page+1,this.$store.dispatch("FetchStatusesPageByInstance",{instance:this.selectedInstance,page:this.page,pageSize:this.pageSize})},clearSelection:function(){},handleStatusSelection:function(t){void 0===this.selectedUsers.find(function(s){return t.id===s.id})&&(this.selectedUsers=[].concat(r()(this.selectedUsers),[t]))}}},d=(e("QOJ7"),e("KHd+")),p=Object(d.a)(l,function(){var t=this,s=t.$createElement,e=t._self._c||s;return t.loadingPeers?t._e():e("div",{staticClass:"statuses-container"},[e("h1",[t._v("\n "+t._s(t.$t("statuses.statuses"))+"\n ")]),t._v(" "),e("div",{staticClass:"filter-container"},[e("el-select",{attrs:{placeholder:t.$t("statuses.instanceFilter"),"no-data-text":t.$t("statuses.noInstances")},on:{change:t.handleFilterChange},model:{value:t.selectedInstance,callback:function(s){t.selectedInstance=s},expression:"selectedInstance"}},t._l(t.instances,function(t,s){return e("el-option",{key:s,attrs:{label:t,value:t}})}),1),t._v(" "),e("multiple-users-menu",{attrs:{"selected-users":t.selectedUsers},on:{"apply-action":t.clearSelection}})],1),t._v(" "),t._l(t.statuses,function(s){return e("div",{key:s.id,staticClass:"status-container"},[e("status",{attrs:{status:s},on:{"status-selection":t.handleStatusSelection}})],1)}),t._v(" "),t.statuses.length>0?e("div",{staticClass:"statuses-pagination"},[e("el-button",{on:{click:t.handleLoadMore}},[t._v(t._s(t.$t("statuses.loadMore")))])],1):t._e()],2)},[],!1,null,null,null);p.options.__file="index.vue";s.default=p.exports},KmHg:function(t,s,e){},Kw8l:function(t,s,e){"use strict";var n=e("cRgN");e.n(n).a},NQWY:function(t,s,e){"use strict";var n=e("P+4G");e.n(n).a},"P+4G":function(t,s,e){},QOJ7:function(t,s,e){"use strict";var n=e("KmHg");e.n(n).a},RnhZ:function(t,s,e){var n={"./af":"K/tc","./af.js":"K/tc","./ar":"jnO4","./ar-dz":"o1bE","./ar-dz.js":"o1bE","./ar-kw":"Qj4J","./ar-kw.js":"Qj4J","./ar-ly":"HP3h","./ar-ly.js":"HP3h","./ar-ma":"CoRJ","./ar-ma.js":"CoRJ","./ar-sa":"gjCT","./ar-sa.js":"gjCT","./ar-tn":"bYM6","./ar-tn.js":"bYM6","./ar.js":"jnO4","./az":"SFxW","./az.js":"SFxW","./be":"H8ED","./be.js":"H8ED","./bg":"hKrs","./bg.js":"hKrs","./bm":"p/rL","./bm.js":"p/rL","./bn":"kEOa","./bn.js":"kEOa","./bo":"0mo+","./bo.js":"0mo+","./br":"aIdf","./br.js":"aIdf","./bs":"JVSJ","./bs.js":"JVSJ","./ca":"1xZ4","./ca.js":"1xZ4","./cs":"PA2r","./cs.js":"PA2r","./cv":"A+xa","./cv.js":"A+xa","./cy":"l5ep","./cy.js":"l5ep","./da":"DxQv","./da.js":"DxQv","./de":"tGlX","./de-at":"s+uk","./de-at.js":"s+uk","./de-ch":"u3GI","./de-ch.js":"u3GI","./de.js":"tGlX","./dv":"WYrj","./dv.js":"WYrj","./el":"jUeY","./el.js":"jUeY","./en-SG":"zavE","./en-SG.js":"zavE","./en-au":"Dmvi","./en-au.js":"Dmvi","./en-ca":"OIYi","./en-ca.js":"OIYi","./en-gb":"Oaa7","./en-gb.js":"Oaa7","./en-ie":"4dOw","./en-ie.js":"4dOw","./en-il":"czMo","./en-il.js":"czMo","./en-nz":"b1Dy","./en-nz.js":"b1Dy","./eo":"Zduo","./eo.js":"Zduo","./es":"iYuL","./es-do":"CjzT","./es-do.js":"CjzT","./es-us":"Vclq","./es-us.js":"Vclq","./es.js":"iYuL","./et":"7BjC","./et.js":"7BjC","./eu":"D/JM","./eu.js":"D/JM","./fa":"jfSC","./fa.js":"jfSC","./fi":"gekB","./fi.js":"gekB","./fo":"ByF4","./fo.js":"ByF4","./fr":"nyYc","./fr-ca":"2fjn","./fr-ca.js":"2fjn","./fr-ch":"Dkky","./fr-ch.js":"Dkky","./fr.js":"nyYc","./fy":"cRix","./fy.js":"cRix","./ga":"USCx","./ga.js":"USCx","./gd":"9rRi","./gd.js":"9rRi","./gl":"iEDd","./gl.js":"iEDd","./gom-latn":"DKr+","./gom-latn.js":"DKr+","./gu":"4MV3","./gu.js":"4MV3","./he":"x6pH","./he.js":"x6pH","./hi":"3E1r","./hi.js":"3E1r","./hr":"S6ln","./hr.js":"S6ln","./hu":"WxRl","./hu.js":"WxRl","./hy-am":"1rYy","./hy-am.js":"1rYy","./id":"UDhR","./id.js":"UDhR","./is":"BVg3","./is.js":"BVg3","./it":"bpih","./it-ch":"bxKX","./it-ch.js":"bxKX","./it.js":"bpih","./ja":"B55N","./ja.js":"B55N","./jv":"tUCv","./jv.js":"tUCv","./ka":"IBtZ","./ka.js":"IBtZ","./kk":"bXm7","./kk.js":"bXm7","./km":"6B0Y","./km.js":"6B0Y","./kn":"PpIw","./kn.js":"PpIw","./ko":"Ivi+","./ko.js":"Ivi+","./ku":"JCF/","./ku.js":"JCF/","./ky":"lgnt","./ky.js":"lgnt","./lb":"RAwQ","./lb.js":"RAwQ","./lo":"sp3z","./lo.js":"sp3z","./lt":"JvlW","./lt.js":"JvlW","./lv":"uXwI","./lv.js":"uXwI","./me":"KTz0","./me.js":"KTz0","./mi":"aIsn","./mi.js":"aIsn","./mk":"aQkU","./mk.js":"aQkU","./ml":"AvvY","./ml.js":"AvvY","./mn":"lYtQ","./mn.js":"lYtQ","./mr":"Ob0Z","./mr.js":"Ob0Z","./ms":"6+QB","./ms-my":"ZAMP","./ms-my.js":"ZAMP","./ms.js":"6+QB","./mt":"G0Uy","./mt.js":"G0Uy","./my":"honF","./my.js":"honF","./nb":"bOMt","./nb.js":"bOMt","./ne":"OjkT","./ne.js":"OjkT","./nl":"+s0g","./nl-be":"2ykv","./nl-be.js":"2ykv","./nl.js":"+s0g","./nn":"uEye","./nn.js":"uEye","./pa-in":"8/+R","./pa-in.js":"8/+R","./pl":"jVdC","./pl.js":"jVdC","./pt":"8mBD","./pt-br":"0tRk","./pt-br.js":"0tRk","./pt.js":"8mBD","./ro":"lyxo","./ro.js":"lyxo","./ru":"lXzo","./ru.js":"lXzo","./sd":"Z4QM","./sd.js":"Z4QM","./se":"//9w","./se.js":"//9w","./si":"7aV9","./si.js":"7aV9","./sk":"e+ae","./sk.js":"e+ae","./sl":"gVVK","./sl.js":"gVVK","./sq":"yPMs","./sq.js":"yPMs","./sr":"zx6S","./sr-cyrl":"E+lV","./sr-cyrl.js":"E+lV","./sr.js":"zx6S","./ss":"Ur1D","./ss.js":"Ur1D","./sv":"X709","./sv.js":"X709","./sw":"dNwA","./sw.js":"dNwA","./ta":"PeUW","./ta.js":"PeUW","./te":"XLvN","./te.js":"XLvN","./tet":"V2x9","./tet.js":"V2x9","./tg":"Oxv6","./tg.js":"Oxv6","./th":"EOgW","./th.js":"EOgW","./tl-ph":"Dzi0","./tl-ph.js":"Dzi0","./tlh":"z3Vd","./tlh.js":"z3Vd","./tr":"DoHr","./tr.js":"DoHr","./tzl":"z1FC","./tzl.js":"z1FC","./tzm":"wQk9","./tzm-latn":"tT3J","./tzm-latn.js":"tT3J","./tzm.js":"wQk9","./ug-cn":"YRex","./ug-cn.js":"YRex","./uk":"raLr","./uk.js":"raLr","./ur":"UpQW","./ur.js":"UpQW","./uz":"Loxo","./uz-latn":"AQ68","./uz-latn.js":"AQ68","./uz.js":"Loxo","./vi":"KSF8","./vi.js":"KSF8","./x-pseudo":"/X5v","./x-pseudo.js":"/X5v","./yo":"fzPg","./yo.js":"fzPg","./zh-cn":"XDpg","./zh-cn.js":"XDpg","./zh-hk":"SatO","./zh-hk.js":"SatO","./zh-tw":"kOpN","./zh-tw.js":"kOpN"};function r(t){var s=a(t);return e(s)}function a(t){if(!e.o(n,t)){var s=new Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}return n[t]}r.keys=function(){return Object.keys(n)},r.resolve=a,t.exports=r,r.id="RnhZ"},cRgN:function(t,s,e){},i7Kn:function(t,s,e){"use strict";var n=e("o0o1"),r=e.n(n),a=e("yXPU"),i=e.n(a),o={props:{selectedUsers:{type:Array,default:function(){return[]}}},computed:{showDropdownForMultipleUsers:function(){return this.$props.selectedUsers.length>0},isDesktop:function(){return"desktop"===this.$store.state.app.device}},methods:{mappers:function(){var t=this,s=function(){var s=i()(r.a.mark(function s(e,n){return r.a.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.next=2,n(e);case 2:t.$emit("apply-action");case 3:case"end":return s.stop()}},s)}));return function(t,e){return s.apply(this,arguments)}}();return{grantRight:function(e){return function(){var n=function(){var s=i()(r.a.mark(function s(n){return r.a.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.next=2,t.$store.dispatch("AddRight",{users:n,right:e});case 2:return s.abrupt("return",s.sent);case 3:case"end":return s.stop()}},s)}));return function(t){return s.apply(this,arguments)}}(),a=t.selectedUsers.filter(function(s){return s.local&&!s.roles[e]&&t.$store.state.user.id!==s.id});s(a,n)}},revokeRight:function(e){return function(){var n=function(){var s=i()(r.a.mark(function s(n){return r.a.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.next=2,t.$store.dispatch("DeleteRight",{users:n,right:e});case 2:return s.abrupt("return",s.sent);case 3:case"end":return s.stop()}},s)}));return function(t){return s.apply(this,arguments)}}(),a=t.selectedUsers.filter(function(s){return s.local&&s.roles[e]&&t.$store.state.user.id!==s.id});s(a,n)}},activate:function(){var e=t.selectedUsers.filter(function(s){return s.deactivated&&t.$store.state.user.id!==s.id});s(e,function(){var s=i()(r.a.mark(function s(e){return r.a.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.next=2,t.$store.dispatch("ActivateUsers",e);case 2:return s.abrupt("return",s.sent);case 3:case"end":return s.stop()}},s)}));return function(t){return s.apply(this,arguments)}}())},deactivate:function(){var e=t.selectedUsers.filter(function(s){return!s.deactivated&&t.$store.state.user.id!==s.id});s(e,function(){var s=i()(r.a.mark(function s(e){return r.a.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.next=2,t.$store.dispatch("DeactivateUsers",e);case 2:return s.abrupt("return",s.sent);case 3:case"end":return s.stop()}},s)}));return function(t){return s.apply(this,arguments)}}())},remove:function(){var e=t.selectedUsers.filter(function(s){return t.$store.state.user.id!==s.id});s(e,function(){var s=i()(r.a.mark(function s(e){return r.a.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.next=2,t.$store.dispatch("DeleteUsers",e);case 2:return s.abrupt("return",s.sent);case 3:case"end":return s.stop()}},s)}));return function(t){return s.apply(this,arguments)}}())},addTag:function(e){return function(){var n=t.selectedUsers.filter(function(t){return"disable_remote_subscription"===e||"disable_any_subscription"===e?t.local&&!t.tags.includes(e):!t.tags.includes(e)});s(n,function(){var s=i()(r.a.mark(function s(n){return r.a.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.next=2,t.$store.dispatch("AddTag",{users:n,tag:e});case 2:return s.abrupt("return",s.sent);case 3:case"end":return s.stop()}},s)}));return function(t){return s.apply(this,arguments)}}())}},removeTag:function(e){return i()(r.a.mark(function n(){var a;return r.a.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:a=t.selectedUsers.filter(function(t){return"disable_remote_subscription"===e||"disable_any_subscription"===e?t.local&&t.tags.includes(e):t.tags.includes(e)}),s(a,function(){var s=i()(r.a.mark(function s(n){return r.a.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.next=2,t.$store.dispatch("RemoveTag",{users:n,tag:e});case 2:return s.abrupt("return",s.sent);case 3:case"end":return s.stop()}},s)}));return function(t){return s.apply(this,arguments)}}());case 3:case"end":return n.stop()}},n)}))},requirePasswordReset:function(){t.selectedUsers.filter(function(t){return t.local}).map(function(s){return t.$store.dispatch("RequirePasswordReset",s)}),t.$emit("apply-action")},confirmAccounts:function(){var e=t.selectedUsers.filter(function(t){return t.local&&t.confirmation_pending});s(e,function(){var s=i()(r.a.mark(function s(e){return r.a.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.next=2,t.$store.dispatch("ConfirmUsersEmail",e);case 2:return s.abrupt("return",s.sent);case 3:case"end":return s.stop()}},s)}));return function(t){return s.apply(this,arguments)}}())},resendConfirmation:function(){var e=t.selectedUsers.filter(function(t){return t.local&&t.confirmation_pending});s(e,function(){var s=i()(r.a.mark(function s(e){return r.a.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return s.next=2,t.$store.dispatch("ResendConfirmationEmail",e);case 2:return s.abrupt("return",s.sent);case 3:case"end":return s.stop()}},s)}));return function(t){return s.apply(this,arguments)}}())}}},grantRightToMultipleUsers:function(t){var s=this.mappers().grantRight;this.confirmMessage(this.$t("users.grantRightConfirmation",{right:t}),s(t))},revokeRightFromMultipleUsers:function(t){var s=this.mappers().revokeRight;this.confirmMessage(this.$t("users.revokeRightConfirmation",{right:t}),s(t))},activateMultipleUsers:function(){var t=this.mappers().activate;this.confirmMessage(this.$t("users.activateMultipleUsersConfirmation"),t)},deactivateMultipleUsers:function(){var t=this.mappers().deactivate;this.confirmMessage(this.$t("users.deactivateMultipleUsersConfirmation"),t)},deleteMultipleUsers:function(){var t=this.mappers().remove;this.confirmMessage(this.$t("users.deleteMultipleUsersConfirmation"),t)},requirePasswordReset:function(){if(this.$store.state.user.nodeInfo.metadata.mailerEnabled){var t=this.mappers().requirePasswordReset;this.confirmMessage(this.$t("users.requirePasswordResetConfirmation"),t)}else this.$alert(this.$t("users.mailerMustBeEnabled"),"Error",{type:"error"})},addTagForMultipleUsers:function(t){var s=this.mappers().addTag;this.confirmMessage(this.$t("users.addTagForMultipleUsersConfirmation"),s(t))},removeTagFromMultipleUsers:function(t){var s=this.mappers().removeTag;this.confirmMessage(this.$t("users.removeTagFromMultipleUsersConfirmation"),s(t))},confirmAccountsForMultipleUsers:function(){var t=this.mappers().confirmAccounts;this.confirmMessage(this.$t("users.confirmAccountsConfirmation"),t)},resendConfirmationForMultipleUsers:function(){var t=this.mappers().resendConfirmation;this.confirmMessage(this.$t("users.resendEmailConfirmation"),t)},confirmMessage:function(t,s){var e=this;this.$confirm(t,{confirmButtonText:this.$t("users.ok"),cancelButtonText:this.$t("users.cancel"),type:"warning"}).then(function(){s()}).catch(function(){e.$message({type:"info",message:e.$t("users.canceled")})})}}},u=(e("NQWY"),e("KHd+")),c=Object(u.a)(o,function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("el-dropdown",{attrs:{size:"small",trigger:"click",placement:"bottom-start"}},[t.isDesktop?e("el-button",{staticClass:"actions-button"},[e("span",{staticClass:"actions-button-container"},[e("span",[e("i",{staticClass:"el-icon-edit"}),t._v("\n "+t._s(t.$t("users.moderateUsers"))+"\n ")]),t._v(" "),e("i",{staticClass:"el-icon-arrow-down el-icon--right"})])]):t._e(),t._v(" "),t.showDropdownForMultipleUsers?e("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[e("el-dropdown-item",{nativeOn:{click:function(s){return t.grantRightToMultipleUsers("admin")}}},[t._v("\n "+t._s(t.$t("users.grantAdmin"))+"\n ")]),t._v(" "),e("el-dropdown-item",{nativeOn:{click:function(s){return t.revokeRightFromMultipleUsers("admin")}}},[t._v("\n "+t._s(t.$t("users.revokeAdmin"))+"\n ")]),t._v(" "),e("el-dropdown-item",{nativeOn:{click:function(s){return t.grantRightToMultipleUsers("moderator")}}},[t._v("\n "+t._s(t.$t("users.grantModerator"))+"\n ")]),t._v(" "),e("el-dropdown-item",{nativeOn:{click:function(s){return t.revokeRightFromMultipleUsers("moderator")}}},[t._v("\n "+t._s(t.$t("users.revokeModerator"))+"\n ")]),t._v(" "),e("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(s){return t.confirmAccountsForMultipleUsers(s)}}},[t._v("\n "+t._s(t.$t("users.confirmAccounts"))+"\n ")]),t._v(" "),e("el-dropdown-item",{nativeOn:{click:function(s){return t.resendConfirmationForMultipleUsers(s)}}},[t._v("\n "+t._s(t.$t("users.resendConfirmation"))+"\n ")]),t._v(" "),e("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(s){return t.activateMultipleUsers(s)}}},[t._v("\n "+t._s(t.$t("users.activateAccounts"))+"\n ")]),t._v(" "),e("el-dropdown-item",{nativeOn:{click:function(s){return t.deactivateMultipleUsers(s)}}},[t._v("\n "+t._s(t.$t("users.deactivateAccounts"))+"\n ")]),t._v(" "),e("el-dropdown-item",{nativeOn:{click:function(s){return t.deleteMultipleUsers(s)}}},[t._v("\n "+t._s(t.$t("users.deleteAccounts"))+"\n ")]),t._v(" "),e("el-dropdown-item",{nativeOn:{click:function(s){return t.requirePasswordReset(s)}}},[t._v("\n "+t._s(t.$t("users.requirePasswordReset"))+"\n ")]),t._v(" "),e("el-dropdown-item",{staticClass:"no-hover",attrs:{divided:""}},[e("div",{staticClass:"tag-container"},[e("span",{staticClass:"tag-text"},[t._v(t._s(t.$t("users.forceNsfw")))]),t._v(" "),e("el-button-group",{staticClass:"tag-button-group"},[e("el-button",{attrs:{size:"mini"},nativeOn:{click:function(s){return t.addTagForMultipleUsers("force_nsfw")}}},[t._v("\n "+t._s(t.$t("users.apply"))+"\n ")]),t._v(" "),e("el-button",{attrs:{size:"mini"},nativeOn:{click:function(s){return t.removeTagFromMultipleUsers("force_nsfw")}}},[t._v("\n "+t._s(t.$t("users.remove"))+"\n ")])],1)],1)]),t._v(" "),e("el-dropdown-item",{staticClass:"no-hover"},[e("div",{staticClass:"tag-container"},[e("span",{staticClass:"tag-text"},[t._v(t._s(t.$t("users.stripMedia")))]),t._v(" "),e("el-button-group",{staticClass:"tag-button-group"},[e("el-button",{attrs:{size:"mini"},nativeOn:{click:function(s){return t.addTagForMultipleUsers("strip_media")}}},[t._v("\n "+t._s(t.$t("users.apply"))+"\n ")]),t._v(" "),e("el-button",{attrs:{size:"mini"},nativeOn:{click:function(s){return t.removeTagFromMultipleUsers("strip_media")}}},[t._v("\n "+t._s(t.$t("users.remove"))+"\n ")])],1)],1)]),t._v(" "),e("el-dropdown-item",{staticClass:"no-hover"},[e("div",{staticClass:"tag-container"},[e("span",{staticClass:"tag-text"},[t._v(t._s(t.$t("users.forceUnlisted")))]),t._v(" "),e("el-button-group",{staticClass:"tag-button-group"},[e("el-button",{attrs:{size:"mini"},nativeOn:{click:function(s){return t.addTagForMultipleUsers("force_unlisted")}}},[t._v("\n "+t._s(t.$t("users.apply"))+"\n ")]),t._v(" "),e("el-button",{attrs:{size:"mini"},nativeOn:{click:function(s){return t.removeTagFromMultipleUsers("force_unlisted")}}},[t._v("\n "+t._s(t.$t("users.remove"))+"\n ")])],1)],1)]),t._v(" "),e("el-dropdown-item",{staticClass:"no-hover"},[e("div",{staticClass:"tag-container"},[e("span",{staticClass:"tag-text"},[t._v(t._s(t.$t("users.sandbox")))]),t._v(" "),e("el-button-group",{staticClass:"tag-button-group"},[e("el-button",{attrs:{size:"mini"},nativeOn:{click:function(s){return t.addTagForMultipleUsers("sandbox")}}},[t._v("\n "+t._s(t.$t("users.apply"))+"\n ")]),t._v(" "),e("el-button",{attrs:{size:"mini"},nativeOn:{click:function(s){return t.removeTagFromMultipleUsers("sandbox")}}},[t._v("\n "+t._s(t.$t("users.remove"))+"\n ")])],1)],1)]),t._v(" "),e("el-dropdown-item",{staticClass:"no-hover"},[e("div",{staticClass:"tag-container"},[e("span",{staticClass:"tag-text"},[t._v(t._s(t.$t("users.disableRemoteSubscriptionForMultiple")))]),t._v(" "),e("el-button-group",{staticClass:"tag-button-group"},[e("el-button",{attrs:{size:"mini"},nativeOn:{click:function(s){return t.addTagForMultipleUsers("disable_remote_subscription")}}},[t._v("\n "+t._s(t.$t("users.apply"))+"\n ")]),t._v(" "),e("el-button",{attrs:{size:"mini"},nativeOn:{click:function(s){return t.removeTagFromMultipleUsers("disable_remote_subscription")}}},[t._v("\n "+t._s(t.$t("users.remove"))+"\n ")])],1)],1)]),t._v(" "),e("el-dropdown-item",{staticClass:"no-hover"},[e("div",{staticClass:"tag-container"},[e("span",{staticClass:"tag-text"},[t._v(t._s(t.$t("users.disableAnySubscriptionForMultiple")))]),t._v(" "),e("el-button-group",{staticClass:"tag-button-group"},[e("el-button",{attrs:{size:"mini"},nativeOn:{click:function(s){return t.addTagForMultipleUsers("disable_any_subscription")}}},[t._v("\n "+t._s(t.$t("users.apply"))+"\n ")]),t._v(" "),e("el-button",{attrs:{size:"mini"},nativeOn:{click:function(s){return t.removeTagFromMultipleUsers("disable_any_subscription")}}},[t._v("\n "+t._s(t.$t("users.remove"))+"\n ")])],1)],1)])],1):e("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[e("el-dropdown-item",[t._v("\n "+t._s(t.$t("users.selectUsers"))+"\n ")])],1)],1)},[],!1,null,"56aa3725",null);c.options.__file="MultipleUsersMenu.vue";s.a=c.exports},ot3S:function(t,s,e){"use strict";var n=e("wd/R"),r=e.n(n),a={name:"Status",props:{status:{type:Object,required:!0},page:{type:Number,required:!1,default:0},userId:{type:String,required:!1,default:""},godmode:{type:Boolean,required:!1,default:!1}},data:function(){return{showHiddenStatus:!1}},methods:{capitalizeFirstLetter:function(t){return t.charAt(0).toUpperCase()+t.slice(1)},changeStatus:function(t,s,e){this.$store.dispatch("ChangeStatusScope",{statusId:t,isSensitive:s,visibility:e,reportCurrentPage:this.page,userId:this.userId,godmode:this.godmode})},deleteStatus:function(t){var s=this;this.$confirm("Are you sure you want to delete this status?","Warning",{confirmButtonText:"OK",cancelButtonText:"Cancel",type:"warning"}).then(function(){s.$store.dispatch("DeleteStatus",{statusId:t,reportCurrentPage:s.page,userId:s.userId,godmode:s.godmode}),s.$message({type:"success",message:"Delete completed"})}).catch(function(){s.$message({type:"info",message:"Delete canceled"})})},optionPercent:function(t,s){var e=t.options.reduce(function(t,s){return t+s.votes_count},0);return 0===e?0:+(s.votes_count/e*100).toFixed(1)},parseTimestamp:function(t){return r()(t).format("YYYY-MM-DD HH:mm")},handleStatusSelection:function(t){this.$emit("status-selection",t)}}},i=(e("Kw8l"),e("KHd+")),o=Object(i.a)(a,function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",[t.status.deleted?e("el-card",{staticClass:"status-card"},[e("div",{attrs:{slot:"header"},slot:"header"},[e("div",{staticClass:"status-header"},[e("div",{staticClass:"status-account-container"},[e("div",{staticClass:"status-account"},[e("h4",{staticClass:"status-deleted"},[t._v(t._s(t.$t("reports.statusDeleted")))])])])])]),t._v(" "),e("div",{staticClass:"status-body"},[t.status.content?e("span",{staticClass:"status-content",domProps:{innerHTML:t._s(t.status.content)}}):e("span",{staticClass:"status-without-content"},[t._v("no content")])]),t._v(" "),t.status.created_at?e("a",{staticClass:"account",attrs:{href:t.status.url,target:"_blank"}},[t._v("\n "+t._s(t.parseTimestamp(t.status.created_at))+"\n ")]):t._e()]):e("el-card",{staticClass:"status-card"},[e("div",{attrs:{slot:"header"},slot:"header"},[e("div",{staticClass:"status-header"},[e("div",{staticClass:"status-account-container"},[e("div",{staticClass:"status-account"},[e("el-checkbox",{on:{change:function(s){return t.handleStatusSelection(t.status.account)}}},[e("img",{staticClass:"status-avatar-img",attrs:{src:t.status.account.avatar}}),t._v(" "),e("h3",{staticClass:"status-account-name"},[t._v(t._s(t.status.account.display_name))])])],1),t._v(" "),e("a",{staticClass:"account",attrs:{href:t.status.account.url,target:"_blank"}},[t._v("\n @"+t._s(t.status.account.acct)+"\n ")])]),t._v(" "),e("div",{staticClass:"status-actions"},[t.status.sensitive?e("el-tag",{attrs:{type:"warning",size:"large"}},[t._v(t._s(t.$t("reports.sensitive")))]):t._e(),t._v(" "),e("el-tag",{attrs:{size:"large"}},[t._v(t._s(t.capitalizeFirstLetter(t.status.visibility)))]),t._v(" "),e("el-dropdown",{attrs:{trigger:"click"}},[e("el-button",{staticClass:"status-actions-button",attrs:{plain:"",size:"small",icon:"el-icon-edit"}},[t._v("\n "+t._s(t.$t("reports.changeScope"))),e("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),e("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[t.status.sensitive?t._e():e("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(t.status.id,!0,t.status.visibility)}}},[t._v("\n "+t._s(t.$t("reports.addSensitive"))+"\n ")]),t._v(" "),t.status.sensitive?e("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(t.status.id,!1,t.status.visibility)}}},[t._v("\n "+t._s(t.$t("reports.removeSensitive"))+"\n ")]):t._e(),t._v(" "),"public"!==t.status.visibility?e("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(t.status.id,t.status.sensitive,"public")}}},[t._v("\n "+t._s(t.$t("reports.public"))+"\n ")]):t._e(),t._v(" "),"private"!==t.status.visibility?e("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(t.status.id,t.status.sensitive,"private")}}},[t._v("\n "+t._s(t.$t("reports.private"))+"\n ")]):t._e(),t._v(" "),"unlisted"!==t.status.visibility?e("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(t.status.id,t.status.sensitive,"unlisted")}}},[t._v("\n "+t._s(t.$t("reports.unlisted"))+"\n ")]):t._e(),t._v(" "),e("el-dropdown-item",{nativeOn:{click:function(s){return t.deleteStatus(t.status.id)}}},[t._v("\n "+t._s(t.$t("reports.deleteStatus"))+"\n ")])],1)],1)],1)])]),t._v(" "),e("div",{staticClass:"status-body"},[t.status.spoiler_text?e("div",[e("strong",[t._v(t._s(t.status.spoiler_text))]),t._v(" "),t.showHiddenStatus?t._e():e("el-button",{staticClass:"show-more-button",attrs:{size:"mini"},on:{click:function(s){t.showHiddenStatus=!0}}},[t._v("Show more")]),t._v(" "),t.showHiddenStatus?e("el-button",{staticClass:"show-more-button",attrs:{size:"mini"},on:{click:function(s){t.showHiddenStatus=!1}}},[t._v("Show less")]):t._e(),t._v(" "),t.showHiddenStatus?e("div",[e("span",{staticClass:"status-content",domProps:{innerHTML:t._s(t.status.content)}}),t._v(" "),t.status.poll?e("div",{staticClass:"poll"},[e("ul",t._l(t.status.poll.options,function(s,n){return e("li",{key:n},[t._v("\n "+t._s(s.title)+"\n "),e("el-progress",{attrs:{percentage:t.optionPercent(t.status.poll,s)}})],1)}),0)]):t._e(),t._v(" "),t._l(t.status.media_attachments,function(t,s){return e("div",{key:s,staticClass:"image"},[e("img",{attrs:{src:t.preview_url}})])})],2):t._e()],1):t._e(),t._v(" "),t.status.spoiler_text?t._e():e("div",[e("span",{staticClass:"status-content",domProps:{innerHTML:t._s(t.status.content)}}),t._v(" "),t.status.poll?e("div",{staticClass:"poll"},[e("ul",t._l(t.status.poll.options,function(s,n){return e("li",{key:n},[t._v("\n "+t._s(s.title)+"\n "),e("el-progress",{attrs:{percentage:t.optionPercent(t.status.poll,s)}})],1)}),0)]):t._e(),t._v(" "),t._l(t.status.media_attachments,function(t,s){return e("div",{key:s,staticClass:"image"},[e("img",{attrs:{src:t.preview_url}})])})],2),t._v(" "),e("a",{staticClass:"account",attrs:{href:t.status.url,target:"_blank"}},[t._v("\n "+t._s(t.parseTimestamp(t.status.created_at))+"\n ")])])])],1)},[],!1,null,null,null);o.options.__file="index.vue";s.a=o.exports}}]);
+//# sourceMappingURL=chunk-0cc4.35b47d0a.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-0cc4.35b47d0a.js.map b/priv/static/adminfe/static/js/chunk-0cc4.35b47d0a.js.map
new file mode 100644
index 000000000..4935ac41f
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-0cc4.35b47d0a.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/views/statuses/index.vue?7da1","webpack:///./src/views/statuses/index.vue?1423","webpack:///src/views/statuses/index.vue","webpack:///./src/views/statuses/index.vue","webpack:///./src/components/Status/index.vue?aecc","webpack:///./src/views/users/components/MultipleUsersMenu.vue?daef","webpack:///./src/views/statuses/index.vue?f25c","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/views/users/components/MultipleUsersMenu.vue?6cdb","webpack:///./src/views/users/components/MultipleUsersMenu.vue?56ef","webpack:///src/views/users/components/MultipleUsersMenu.vue","webpack:///./src/views/users/components/MultipleUsersMenu.vue","webpack:///./src/components/Status/index.vue?2323","webpack:///./src/components/Status/index.vue?6071","webpack:///src/components/Status/index.vue","webpack:///./src/components/Status/index.vue"],"names":["views_statusesvue_type_script_lang_js_","name","components","MultipleUsersMenu","Status","data","selectedInstance","selectedUsers","page","pageSize","computed","objectSpread_default","loadingPeers","this","$store","state","peers","loading","Object","vuex_esm","created","mounted","dispatch","methods","handleFilterChange","instance","handleLoadMore","clearSelection","handleStatusSelection","user","undefined","find","selectedUser","id","concat","toConsumableArray_default","component","componentNormalizer","_vm","_h","$createElement","_c","_self","_e","staticClass","_v","_s","$t","attrs","placeholder","no-data-text","on","change","model","value","callback","$$v","expression","_l","index","key","label","selected-users","apply-action","status","status-selection","statuses","length","click","options","__file","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MultipleUsersMenu_vue_vue_type_style_index_0_id_56aa3725_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","map","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-SG","./en-SG.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-il","./en-il.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./ga","./ga.js","./gd","./gd.js","./gl","./gl.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it-ch","./it-ch.js","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ku","./ku.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mn","./mn.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./mt","./mt.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./tg","./tg.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./ug-cn","./ug-cn.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","webpackContext","req","webpackContextResolve","o","e","Error","code","keys","resolve","module","exports","components_MultipleUsersMenuvue_type_script_lang_js_","props","type","Array","default","showDropdownForMultipleUsers","$props","isDesktop","app","device","mappers","_this","applyAction","_ref","asyncToGenerator_default","regenerator_default","a","mark","_callee","users","dispatchAction","wrap","_context","prev","next","$emit","stop","_x","_x2","apply","arguments","grantRight","right","addRightFn","_ref2","_callee2","_context2","abrupt","sent","_x3","filtered","filter","local","roles","revokeRight","deleteRightFn","_ref3","_callee3","_context3","_x4","activate","deactivated","_ref4","_callee4","_context4","_x5","deactivate","_ref5","_callee5","_context5","_x6","remove","_ref6","_callee6","_context6","_x7","addTag","tag","tags","includes","_ref7","_callee7","_context7","_x8","removeTag","_callee9","_context9","_ref9","_callee8","_context8","_x9","requirePasswordReset","confirmAccounts","confirmation_pending","_ref10","_callee10","_context10","_x10","resendConfirmation","_ref11","_callee11","_context11","_x11","grantRightToMultipleUsers","confirmMessage","revokeRightFromMultipleUsers","activateMultipleUsers","deactivateMultipleUsers","deleteMultipleUsers","nodeInfo","metadata","mailerEnabled","$alert","addTagForMultipleUsers","removeTagFromMultipleUsers","confirmAccountsForMultipleUsers","resendConfirmationForMultipleUsers","message","_this2","$confirm","confirmButtonText","cancelButtonText","then","catch","$message","size","trigger","placement","slot","nativeOn","$event","divided","components_Statusvue_type_script_lang_js_","required","Number","userId","String","godmode","Boolean","showHiddenStatus","capitalizeFirstLetter","str","charAt","toUpperCase","slice","changeStatus","statusId","isSensitive","visibility","reportCurrentPage","deleteStatus","optionPercent","poll","pollOption","allVotes","reduce","acc","option","votes_count","toFixed","parseTimestamp","timestamp","moment_default","format","account","deleted","domProps","innerHTML","content","href","url","target","created_at","src","avatar","display_name","acct","plain","icon","sensitive","spoiler_text","title","percentage","attachment","preview_url"],"mappings":"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UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,gBAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,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","file":"static/js/chunk-0cc4.35b47d0a.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loadingPeers)?_c('div',{staticClass:\"statuses-container\"},[_c('h1',[_vm._v(\"\\n \"+_vm._s(_vm.$t('statuses.statuses'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"filter-container\"},[_c('el-select',{attrs:{\"placeholder\":_vm.$t('statuses.instanceFilter'),\"no-data-text\":_vm.$t('statuses.noInstances')},on:{\"change\":_vm.handleFilterChange},model:{value:(_vm.selectedInstance),callback:function ($$v) {_vm.selectedInstance=$$v},expression:\"selectedInstance\"}},_vm._l((_vm.instances),function(instance,index){return _c('el-option',{key:index,attrs:{\"label\":instance,\"value\":instance}})}),1),_vm._v(\" \"),_c('multiple-users-menu',{attrs:{\"selected-users\":_vm.selectedUsers},on:{\"apply-action\":_vm.clearSelection}})],1),_vm._v(\" \"),_vm._l((_vm.statuses),function(status){return _c('div',{key:status.id,staticClass:\"status-container\"},[_c('status',{attrs:{\"status\":status},on:{\"status-selection\":_vm.handleStatusSelection}})],1)}),_vm._v(\" \"),(_vm.statuses.length > 0)?_c('div',{staticClass:\"statuses-pagination\"},[_c('el-button',{on:{\"click\":_vm.handleLoadMore}},[_vm._v(_vm._s(_vm.$t('statuses.loadMore')))])],1):_vm._e()],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div v-if=\"!loadingPeers\" class=\"statuses-container\">\n <h1>\n {{ $t('statuses.statuses') }}\n </h1>\n <div class=\"filter-container\">\n <el-select\n v-model=\"selectedInstance\"\n :placeholder=\"$t('statuses.instanceFilter')\"\n :no-data-text=\"$t('statuses.noInstances')\"\n @change=\"handleFilterChange\">\n <el-option\n v-for=\"(instance,index) in instances\"\n :key=\"index\"\n :label=\"instance\"\n :value=\"instance\"/>\n </el-select>\n <multiple-users-menu\n :selected-users=\"selectedUsers\"\n @apply-action=\"clearSelection\"/>\n </div>\n <div v-for=\"status in statuses\" :key=\"status.id\" class=\"status-container\">\n <status :status=\"status\" @status-selection=\"handleStatusSelection\" />\n </div>\n <div v-if=\"statuses.length > 0\" class=\"statuses-pagination\">\n <el-button @click=\"handleLoadMore\">{{ $t('statuses.loadMore') }}</el-button>\n </div>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport MultipleUsersMenu from '@/views/users/components/MultipleUsersMenu'\nimport Status from '@/components/Status'\n\nexport default {\n name: 'Statuses',\n components: {\n MultipleUsersMenu,\n Status\n },\n data() {\n return {\n selectedInstance: '',\n selectedUsers: [],\n page: 1,\n pageSize: 30\n }\n },\n computed: {\n loadingPeers() {\n return this.$store.state.peers.loading\n },\n ...mapGetters([\n 'instances',\n 'statuses'\n ])\n },\n created() {\n },\n mounted() {\n this.$store.dispatch('FetchPeers')\n },\n methods: {\n handleFilterChange(instance) {\n this.page = 1\n\n this.$store.dispatch('FetchStatusesByInstance', { instance, page: this.page, pageSize: this.pageSize })\n },\n handleLoadMore() {\n this.page = this.page + 1\n\n this.$store.dispatch('FetchStatusesPageByInstance', {\n instance: this.selectedInstance,\n page: this.page,\n pageSize: this.pageSize\n })\n },\n clearSelection() {\n // TODO\n },\n handleStatusSelection(user) {\n if (this.selectedUsers.find(selectedUser => user.id === selectedUser.id) !== undefined) {\n return\n }\n\n this.selectedUsers = [...this.selectedUsers, user]\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.statuses-container {\n padding: 0 15px;\n .status-container {\n margin: 0 0 10px;\n }\n}\n.filter-container {\n margin: 22px 15px 15px 0;\n}\n.statuses-pagination {\n padding: 15px 0;\n text-align: center;\n}\nh1 {\n margin: 22px 0 0 0;\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=5ad078ad&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleUsersMenu.vue?vue&type=style&index=0&id=56aa3725&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleUsersMenu.vue?vue&type=style&index=0&id=56aa3725&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-SG\": \"zavE\",\n\t\"./en-SG.js\": \"zavE\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\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 = \"RnhZ\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dropdown',{attrs:{\"size\":\"small\",\"trigger\":\"click\",\"placement\":\"bottom-start\"}},[(_vm.isDesktop)?_c('el-button',{staticClass:\"actions-button\"},[_c('span',{staticClass:\"actions-button-container\"},[_c('span',[_c('i',{staticClass:\"el-icon-edit\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t('users.moderateUsers'))+\"\\n \")]),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})])]):_vm._e(),_vm._v(\" \"),(_vm.showDropdownForMultipleUsers)?_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.grantRightToMultipleUsers('admin')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.grantAdmin'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.revokeRightFromMultipleUsers('admin')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.revokeAdmin'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.grantRightToMultipleUsers('moderator')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.grantModerator'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.revokeRightFromMultipleUsers('moderator')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.revokeModerator'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.confirmAccountsForMultipleUsers($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.confirmAccounts'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.resendConfirmationForMultipleUsers($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.resendConfirmation'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.activateMultipleUsers($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.activateAccounts'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.deactivateMultipleUsers($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.deactivateAccounts'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.deleteMultipleUsers($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.deleteAccounts'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.requirePasswordReset($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.requirePasswordReset'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\",attrs:{\"divided\":\"\"}},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.forceNsfw')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('force_nsfw')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('force_nsfw')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.stripMedia')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('strip_media')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('strip_media')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.forceUnlisted')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('force_unlisted')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('force_unlisted')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.sandbox')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('sandbox')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('sandbox')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.disableRemoteSubscriptionForMultiple')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('disable_remote_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('disable_remote_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.disableAnySubscriptionForMultiple')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('disable_any_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('disable_any_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)])],1):_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.selectUsers'))+\"\\n \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleUsersMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleUsersMenu.vue?vue&type=script&lang=js&\"","<template>\n <el-dropdown size=\"small\" trigger=\"click\" placement=\"bottom-start\">\n <el-button v-if=\"isDesktop\" class=\"actions-button\">\n <span class=\"actions-button-container\">\n <span>\n <i class=\"el-icon-edit\" />\n {{ $t('users.moderateUsers') }}\n </span>\n <i class=\"el-icon-arrow-down el-icon--right\"/>\n </span>\n </el-button>\n <el-dropdown-menu v-if=\"showDropdownForMultipleUsers\" slot=\"dropdown\">\n <el-dropdown-item\n @click.native=\"grantRightToMultipleUsers('admin')\">\n {{ $t('users.grantAdmin') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"revokeRightFromMultipleUsers('admin')\">\n {{ $t('users.revokeAdmin') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"grantRightToMultipleUsers('moderator')\">\n {{ $t('users.grantModerator') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"revokeRightFromMultipleUsers('moderator')\">\n {{ $t('users.revokeModerator') }}\n </el-dropdown-item>\n <el-dropdown-item\n divided\n @click.native=\"confirmAccountsForMultipleUsers\">\n {{ $t('users.confirmAccounts') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"resendConfirmationForMultipleUsers\">\n {{ $t('users.resendConfirmation') }}\n </el-dropdown-item>\n <el-dropdown-item\n divided\n @click.native=\"activateMultipleUsers\">\n {{ $t('users.activateAccounts') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"deactivateMultipleUsers\">\n {{ $t('users.deactivateAccounts') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"deleteMultipleUsers\">\n {{ $t('users.deleteAccounts') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"requirePasswordReset\">\n {{ $t('users.requirePasswordReset') }}\n </el-dropdown-item>\n <el-dropdown-item divided class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.forceNsfw') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('force_nsfw')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('force_nsfw')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.stripMedia') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('strip_media')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('strip_media')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.forceUnlisted') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('force_unlisted')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('force_unlisted')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.sandbox') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('sandbox')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('sandbox')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.disableRemoteSubscriptionForMultiple') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('disable_remote_subscription')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('disable_remote_subscription')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.disableAnySubscriptionForMultiple') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('disable_any_subscription')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('disable_any_subscription')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n </el-dropdown-menu>\n <el-dropdown-menu v-else slot=\"dropdown\">\n <el-dropdown-item>\n {{ $t('users.selectUsers') }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n</template>\n\n<script>\nexport default {\n props: {\n selectedUsers: {\n type: Array,\n default: function() {\n return []\n }\n }\n },\n computed: {\n showDropdownForMultipleUsers() {\n return this.$props.selectedUsers.length > 0\n },\n isDesktop() {\n return this.$store.state.app.device === 'desktop'\n }\n },\n methods: {\n mappers() {\n const applyAction = async(users, dispatchAction) => {\n await dispatchAction(users)\n this.$emit('apply-action')\n }\n return {\n grantRight: (right) => () => {\n const filterUsersFn = user => user.local && !user.roles[right] && this.$store.state.user.id !== user.id\n const addRightFn = async(users) => await this.$store.dispatch('AddRight', { users, right })\n const filtered = this.selectedUsers.filter(filterUsersFn)\n\n applyAction(filtered, addRightFn)\n },\n revokeRight: (right) => () => {\n const filterUsersFn = user => user.local && user.roles[right] && this.$store.state.user.id !== user.id\n const deleteRightFn = async(users) => await this.$store.dispatch('DeleteRight', { users, right })\n const filtered = this.selectedUsers.filter(filterUsersFn)\n\n applyAction(filtered, deleteRightFn)\n },\n activate: () => {\n const filtered = this.selectedUsers.filter(user => user.deactivated && this.$store.state.user.id !== user.id)\n const activateUsersFn = async(users) => await this.$store.dispatch('ActivateUsers', users)\n\n applyAction(filtered, activateUsersFn)\n },\n deactivate: () => {\n const filtered = this.selectedUsers.filter(user => !user.deactivated && this.$store.state.user.id !== user.id)\n const deactivateUsersFn = async(users) => await this.$store.dispatch('DeactivateUsers', users)\n\n applyAction(filtered, deactivateUsersFn)\n },\n remove: () => {\n const filtered = this.selectedUsers.filter(user => this.$store.state.user.id !== user.id)\n const deleteAccountFn = async(users) => await this.$store.dispatch('DeleteUsers', users)\n\n applyAction(filtered, deleteAccountFn)\n },\n addTag: (tag) => () => {\n const filtered = this.selectedUsers.filter(user =>\n tag === 'disable_remote_subscription' || tag === 'disable_any_subscription'\n ? user.local && !user.tags.includes(tag)\n : !user.tags.includes(tag))\n const addTagFn = async(users) => await this.$store.dispatch('AddTag', { users, tag })\n\n applyAction(filtered, addTagFn)\n },\n removeTag: (tag) => async() => {\n const filtered = this.selectedUsers.filter(user =>\n tag === 'disable_remote_subscription' || tag === 'disable_any_subscription'\n ? user.local && user.tags.includes(tag)\n : user.tags.includes(tag))\n const removeTagFn = async(users) => await this.$store.dispatch('RemoveTag', { users, tag })\n\n applyAction(filtered, removeTagFn)\n },\n requirePasswordReset: () => {\n const filtered = this.selectedUsers.filter(user => user.local)\n filtered.map(user => this.$store.dispatch('RequirePasswordReset', user))\n this.$emit('apply-action')\n },\n confirmAccounts: () => {\n const filtered = this.selectedUsers.filter(user => user.local && user.confirmation_pending)\n const confirmAccountFn = async(users) => await this.$store.dispatch('ConfirmUsersEmail', users)\n\n applyAction(filtered, confirmAccountFn)\n },\n resendConfirmation: () => {\n const filtered = this.selectedUsers.filter(user => user.local && user.confirmation_pending)\n const resendConfirmationFn = async(users) => await this.$store.dispatch('ResendConfirmationEmail', users)\n\n applyAction(filtered, resendConfirmationFn)\n }\n }\n },\n grantRightToMultipleUsers(right) {\n const { grantRight } = this.mappers()\n this.confirmMessage(\n this.$t('users.grantRightConfirmation', { right }),\n grantRight(right)\n )\n },\n revokeRightFromMultipleUsers(right) {\n const { revokeRight } = this.mappers()\n this.confirmMessage(\n this.$t('users.revokeRightConfirmation', { right }),\n revokeRight(right)\n )\n },\n activateMultipleUsers() {\n const { activate } = this.mappers()\n this.confirmMessage(\n this.$t('users.activateMultipleUsersConfirmation'),\n activate\n )\n },\n deactivateMultipleUsers() {\n const { deactivate } = this.mappers()\n this.confirmMessage(\n this.$t('users.deactivateMultipleUsersConfirmation'),\n deactivate\n )\n },\n deleteMultipleUsers() {\n const { remove } = this.mappers()\n this.confirmMessage(\n this.$t('users.deleteMultipleUsersConfirmation'),\n remove\n )\n },\n requirePasswordReset() {\n const mailerEnabled = this.$store.state.user.nodeInfo.metadata.mailerEnabled\n\n if (!mailerEnabled) {\n this.$alert(this.$t('users.mailerMustBeEnabled'), 'Error', { type: 'error' })\n\n return\n }\n\n const { requirePasswordReset } = this.mappers()\n this.confirmMessage(\n this.$t('users.requirePasswordResetConfirmation'),\n requirePasswordReset\n )\n },\n addTagForMultipleUsers(tag) {\n const { addTag } = this.mappers()\n this.confirmMessage(\n this.$t('users.addTagForMultipleUsersConfirmation'),\n addTag(tag)\n )\n },\n removeTagFromMultipleUsers(tag) {\n const { removeTag } = this.mappers()\n this.confirmMessage(\n this.$t('users.removeTagFromMultipleUsersConfirmation'),\n removeTag(tag)\n )\n },\n confirmAccountsForMultipleUsers() {\n const { confirmAccounts } = this.mappers()\n this.confirmMessage(\n this.$t('users.confirmAccountsConfirmation'),\n confirmAccounts\n )\n },\n resendConfirmationForMultipleUsers() {\n const { resendConfirmation } = this.mappers()\n this.confirmMessage(\n this.$t('users.resendEmailConfirmation'),\n resendConfirmation\n )\n },\n confirmMessage(message, applyAction) {\n this.$confirm(message, {\n confirmButtonText: this.$t('users.ok'),\n cancelButtonText: this.$t('users.cancel'),\n type: 'warning'\n }).then(() => {\n applyAction()\n }).catch(() => {\n this.$message({\n type: 'info',\n message: this.$t('users.canceled')\n })\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n .actions-button {\n text-align: left;\n width: 350px;\n padding: 10px;\n }\n .actions-button-container {\n display: flex;\n justify-content: space-between;\n }\n .el-dropdown {\n float: right;\n }\n .el-icon-edit {\n margin-right: 5px;\n }\n .tag-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n .tag-text {\n padding-right: 20px;\n }\n .no-hover:hover {\n color: #606266;\n background-color: white;\n cursor: auto;\n }\n</style>\n","import { render, staticRenderFns } from \"./MultipleUsersMenu.vue?vue&type=template&id=56aa3725&scoped=true&\"\nimport script from \"./MultipleUsersMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./MultipleUsersMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MultipleUsersMenu.vue?vue&type=style&index=0&id=56aa3725&rel=stylesheet%2Fscss&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 \"56aa3725\",\n null\n \n)\n\ncomponent.options.__file = \"MultipleUsersMenu.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.status.deleted)?_c('el-card',{staticClass:\"status-card\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('div',{staticClass:\"status-header\"},[_c('div',{staticClass:\"status-account-container\"},[_c('div',{staticClass:\"status-account\"},[_c('el-checkbox',{on:{\"change\":function($event){return _vm.handleStatusSelection(_vm.status.account)}}},[_c('img',{staticClass:\"status-avatar-img\",attrs:{\"src\":_vm.status.account.avatar}}),_vm._v(\" \"),_c('h3',{staticClass:\"status-account-name\"},[_vm._v(_vm._s(_vm.status.account.display_name))])])],1),_vm._v(\" \"),_c('a',{staticClass:\"account\",attrs:{\"href\":_vm.status.account.url,\"target\":\"_blank\"}},[_vm._v(\"\\n @\"+_vm._s(_vm.status.account.acct)+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"status-actions\"},[(_vm.status.sensitive)?_c('el-tag',{attrs:{\"type\":\"warning\",\"size\":\"large\"}},[_vm._v(_vm._s(_vm.$t('reports.sensitive')))]):_vm._e(),_vm._v(\" \"),_c('el-tag',{attrs:{\"size\":\"large\"}},[_vm._v(_vm._s(_vm.capitalizeFirstLetter(_vm.status.visibility)))]),_vm._v(\" \"),_c('el-dropdown',{attrs:{\"trigger\":\"click\"}},[_c('el-button',{staticClass:\"status-actions-button\",attrs:{\"plain\":\"\",\"size\":\"small\",\"icon\":\"el-icon-edit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.changeScope'))),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(!_vm.status.sensitive)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, true, _vm.status.visibility)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.addSensitive'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status.sensitive)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, false, _vm.status.visibility)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.removeSensitive'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status.visibility !== 'public')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, _vm.status.sensitive, 'public')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.public'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status.visibility !== 'private')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, _vm.status.sensitive, 'private')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.private'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status.visibility !== 'unlisted')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, _vm.status.sensitive, 'unlisted')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.unlisted'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.deleteStatus(_vm.status.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.deleteStatus'))+\"\\n \")])],1)],1)],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"status-body\"},[(_vm.status.spoiler_text)?_c('div',[_c('strong',[_vm._v(_vm._s(_vm.status.spoiler_text))]),_vm._v(\" \"),(!_vm.showHiddenStatus)?_c('el-button',{staticClass:\"show-more-button\",attrs:{\"size\":\"mini\"},on:{\"click\":function($event){_vm.showHiddenStatus = true}}},[_vm._v(\"Show more\")]):_vm._e(),_vm._v(\" \"),(_vm.showHiddenStatus)?_c('el-button',{staticClass:\"show-more-button\",attrs:{\"size\":\"mini\"},on:{\"click\":function($event){_vm.showHiddenStatus = false}}},[_vm._v(\"Show less\")]):_vm._e(),_vm._v(\" \"),(_vm.showHiddenStatus)?_c('div',[_c('span',{staticClass:\"status-content\",domProps:{\"innerHTML\":_vm._s(_vm.status.content)}}),_vm._v(\" \"),(_vm.status.poll)?_c('div',{staticClass:\"poll\"},[_c('ul',_vm._l((_vm.status.poll.options),function(option,index){return _c('li',{key:index},[_vm._v(\"\\n \"+_vm._s(option.title)+\"\\n \"),_c('el-progress',{attrs:{\"percentage\":_vm.optionPercent(_vm.status.poll, option)}})],1)}),0)]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.status.media_attachments),function(attachment,index){return _c('div',{key:index,staticClass:\"image\"},[_c('img',{attrs:{\"src\":attachment.preview_url}})])})],2):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.status.spoiler_text)?_c('div',[_c('span',{staticClass:\"status-content\",domProps:{\"innerHTML\":_vm._s(_vm.status.content)}}),_vm._v(\" \"),(_vm.status.poll)?_c('div',{staticClass:\"poll\"},[_c('ul',_vm._l((_vm.status.poll.options),function(option,index){return _c('li',{key:index},[_vm._v(\"\\n \"+_vm._s(option.title)+\"\\n \"),_c('el-progress',{attrs:{\"percentage\":_vm.optionPercent(_vm.status.poll, option)}})],1)}),0)]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.status.media_attachments),function(attachment,index){return _c('div',{key:index,staticClass:\"image\"},[_c('img',{attrs:{\"src\":attachment.preview_url}})])})],2):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"account\",attrs:{\"href\":_vm.status.url,\"target\":\"_blank\"}},[_vm._v(\"\\n \"+_vm._s(_vm.parseTimestamp(_vm.status.created_at))+\"\\n \")])])]):_c('el-card',{staticClass:\"status-card\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('div',{staticClass:\"status-header\"},[_c('div',{staticClass:\"status-account-container\"},[_c('div',{staticClass:\"status-account\"},[_c('h4',{staticClass:\"status-deleted\"},[_vm._v(_vm._s(_vm.$t('reports.statusDeleted')))])])])])]),_vm._v(\" \"),_c('div',{staticClass:\"status-body\"},[(_vm.status.content)?_c('span',{staticClass:\"status-content\",domProps:{\"innerHTML\":_vm._s(_vm.status.content)}}):_c('span',{staticClass:\"status-without-content\"},[_vm._v(\"no content\")])]),_vm._v(\" \"),(_vm.status.created_at)?_c('a',{staticClass:\"account\",attrs:{\"href\":_vm.status.url,\"target\":\"_blank\"}},[_vm._v(\"\\n \"+_vm._s(_vm.parseTimestamp(_vm.status.created_at))+\"\\n \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-card v-if=\"!status.deleted\" class=\"status-card\">\n <div slot=\"header\">\n <div class=\"status-header\">\n <div class=\"status-account-container\">\n <div class=\"status-account\">\n <el-checkbox @change=\"handleStatusSelection(status.account)\">\n <img :src=\"status.account.avatar\" class=\"status-avatar-img\">\n <h3 class=\"status-account-name\">{{ status.account.display_name }}</h3>\n </el-checkbox>\n </div>\n <a :href=\"status.account.url\" target=\"_blank\" class=\"account\">\n @{{ status.account.acct }}\n </a>\n </div>\n <div class=\"status-actions\">\n <el-tag v-if=\"status.sensitive\" type=\"warning\" size=\"large\">{{ $t('reports.sensitive') }}</el-tag>\n <el-tag size=\"large\">{{ capitalizeFirstLetter(status.visibility) }}</el-tag>\n <el-dropdown trigger=\"click\">\n <el-button plain size=\"small\" icon=\"el-icon-edit\" class=\"status-actions-button\">\n {{ $t('reports.changeScope') }}<i class=\"el-icon-arrow-down el-icon--right\"/>\n </el-button>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item\n v-if=\"!status.sensitive\"\n @click.native=\"changeStatus(status.id, true, status.visibility)\">\n {{ $t('reports.addSensitive') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.sensitive\"\n @click.native=\"changeStatus(status.id, false, status.visibility)\">\n {{ $t('reports.removeSensitive') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.visibility !== 'public'\"\n @click.native=\"changeStatus(status.id, status.sensitive, 'public')\">\n {{ $t('reports.public') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.visibility !== 'private'\"\n @click.native=\"changeStatus(status.id, status.sensitive, 'private')\">\n {{ $t('reports.private') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.visibility !== 'unlisted'\"\n @click.native=\"changeStatus(status.id, status.sensitive, 'unlisted')\">\n {{ $t('reports.unlisted') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"deleteStatus(status.id)\">\n {{ $t('reports.deleteStatus') }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n </div>\n </div>\n </div>\n <div class=\"status-body\">\n <div v-if=\"status.spoiler_text\">\n <strong>{{ status.spoiler_text }}</strong>\n <el-button v-if=\"!showHiddenStatus\" size=\"mini\" class=\"show-more-button\" @click=\"showHiddenStatus = true\">Show more</el-button>\n <el-button v-if=\"showHiddenStatus\" size=\"mini\" class=\"show-more-button\" @click=\"showHiddenStatus = false\">Show less</el-button>\n <div v-if=\"showHiddenStatus\">\n <span class=\"status-content\" v-html=\"status.content\"/>\n <div v-if=\"status.poll\" class=\"poll\">\n <ul>\n <li v-for=\"(option, index) in status.poll.options\" :key=\"index\">\n {{ option.title }}\n <el-progress :percentage=\"optionPercent(status.poll, option)\" />\n </li>\n </ul>\n </div>\n <div v-for=\"(attachment, index) in status.media_attachments\" :key=\"index\" class=\"image\">\n <img :src=\"attachment.preview_url\">\n </div>\n </div>\n </div>\n <div v-if=\"!status.spoiler_text\">\n <span class=\"status-content\" v-html=\"status.content\"/>\n <div v-if=\"status.poll\" class=\"poll\">\n <ul>\n <li v-for=\"(option, index) in status.poll.options\" :key=\"index\">\n {{ option.title }}\n <el-progress :percentage=\"optionPercent(status.poll, option)\" />\n </li>\n </ul>\n </div>\n <div v-for=\"(attachment, index) in status.media_attachments\" :key=\"index\" class=\"image\">\n <img :src=\"attachment.preview_url\">\n </div>\n </div>\n <a :href=\"status.url\" target=\"_blank\" class=\"account\">\n {{ parseTimestamp(status.created_at) }}\n </a>\n </div>\n </el-card>\n <el-card v-else class=\"status-card\">\n <div slot=\"header\">\n <div class=\"status-header\">\n <div class=\"status-account-container\">\n <div class=\"status-account\">\n <h4 class=\"status-deleted\">{{ $t('reports.statusDeleted') }}</h4>\n </div>\n </div>\n </div>\n </div>\n <div class=\"status-body\">\n <span v-if=\"status.content\" class=\"status-content\" v-html=\"status.content\"/>\n <span v-else class=\"status-without-content\">no content</span>\n </div>\n <a v-if=\"status.created_at\" :href=\"status.url\" target=\"_blank\" class=\"account\">\n {{ parseTimestamp(status.created_at) }}\n </a>\n </el-card>\n </div>\n</template>\n\n<script>\nimport moment from 'moment'\n\nexport default {\n name: 'Status',\n props: {\n status: {\n type: Object,\n required: true\n },\n page: {\n type: Number,\n required: false,\n default: 0\n },\n userId: {\n type: String,\n required: false,\n default: ''\n },\n godmode: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n data() {\n return {\n showHiddenStatus: false\n }\n },\n methods: {\n capitalizeFirstLetter(str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n },\n changeStatus(statusId, isSensitive, visibility) {\n this.$store.dispatch('ChangeStatusScope', { statusId, isSensitive, visibility, reportCurrentPage: this.page, userId: this.userId, godmode: this.godmode })\n },\n deleteStatus(statusId) {\n this.$confirm('Are you sure you want to delete this status?', 'Warning', {\n confirmButtonText: 'OK',\n cancelButtonText: 'Cancel',\n type: 'warning'\n }).then(() => {\n this.$store.dispatch('DeleteStatus', { statusId, reportCurrentPage: this.page, userId: this.userId, godmode: this.godmode })\n this.$message({\n type: 'success',\n message: 'Delete completed'\n })\n }).catch(() => {\n this.$message({\n type: 'info',\n message: 'Delete canceled'\n })\n })\n },\n optionPercent(poll, pollOption) {\n const allVotes = poll.options.reduce((acc, option) => (acc + option.votes_count), 0)\n if (allVotes === 0) {\n return 0\n }\n return +(pollOption.votes_count / allVotes * 100).toFixed(1)\n },\n parseTimestamp(timestamp) {\n return moment(timestamp).format('YYYY-MM-DD HH:mm')\n },\n handleStatusSelection(account) {\n this.$emit('status-selection', account)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.status-card {\n .account {\n text-decoration: underline;\n line-height: 26px;\n font-size: 13px;\n }\n .image {\n width: 20%;\n img {\n width: 100%;\n }\n }\n .show-more-button {\n margin-left: 5px;\n }\n .status-account {\n display: flex;\n align-items: center;\n }\n .status-avatar-img {\n display: inline-block;\n width: 15px;\n height: 15px;\n margin-right: 5px;\n }\n .status-account-name {\n display: inline-block;\n margin: 0;\n height: 22px;\n }\n .status-body {\n display: flex;\n flex-direction: column;\n }\n .status-content {\n font-size: 15px;\n line-height: 26px;\n }\n .status-card {\n margin-bottom: 15px;\n }\n .status-deleted {\n font-style: italic;\n margin-top: 3px;\n }\n .status-header {\n display: flex;\n justify-content: space-between;\n }\n .status-without-content {\n font-style: italic;\n }\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .el-message {\n min-width: 80%;\n }\n .el-message-box {\n width: 80%;\n }\n .status-card {\n .el-card__header {\n padding: 10px 17px;\n }\n .el-tag {\n margin: 3px 4px 3px 0;\n }\n .status-account-container {\n margin-bottom: 5px;\n }\n .status-actions-button {\n margin: 3px 0 3px;\n }\n .status-actions {\n display: flex;\n flex-wrap: wrap;\n }\n .status-header {\n display: flex;\n flex-direction: column;\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=38b82c99&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-15fa.34dcb9d8.js b/priv/static/adminfe/static/js/chunk-15fa.10871dbf.js
index b0819b138..8c7b033cf 100644
--- a/priv/static/adminfe/static/js/chunk-15fa.34dcb9d8.js
+++ b/priv/static/adminfe/static/js/chunk-15fa.10871dbf.js
@@ -1,2 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-15fa"],{"/eX4":function(s,t,i){"use strict";i.r(t);var n=[function(){var s=this.$createElement,t=this._self._c||s;return t("div",{staticClass:"pic-404"},[t("img",{staticClass:"pic-404__parent",attrs:{src:i("o2sD"),alt:"404"}}),this._v(" "),t("img",{staticClass:"pic-404__child left",attrs:{src:i("Jvyq"),alt:"404"}}),this._v(" "),t("img",{staticClass:"pic-404__child mid",attrs:{src:i("Jvyq"),alt:"404"}}),this._v(" "),t("img",{staticClass:"pic-404__child right",attrs:{src:i("Jvyq"),alt:"404"}})])}],e={name:"Page404",computed:{message:function(){return"There is nothing here"}}},r=(i("J67/"),i("KHd+")),l=Object(r.a)(e,function(){var s=this,t=s.$createElement,i=s._self._c||t;return i("div",{staticClass:"wscn-http404-container"},[i("div",{staticClass:"wscn-http404"},[s._m(0),s._v(" "),i("div",{staticClass:"bullshit"},[i("div",{staticClass:"bullshit__oops"},[s._v("OOPS!")]),s._v(" "),i("div",{staticClass:"bullshit__headline"},[s._v(s._s(s.message))]),s._v(" "),i("div",{staticClass:"bullshit__info"},[s._v("Please make sure you URL is correct")]),s._v(" "),i("router-link",{staticClass:"bullshit__return-home",attrs:{to:"/"}},[s._v("Go to the home page")])],1)])])},n,!1,null,"1d6b2d2a",null);l.options.__file="404.vue";t.default=l.exports},"J67/":function(s,t,i){"use strict";var n=i("QCkX");i.n(n).a},Jvyq:function(s,t){s.exports="data:image/png;base64,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"},QCkX:function(s,t,i){},o2sD:function(s,t,i){s.exports=i.p+"static/img/404.a57b6f3.png"}}]);
-//# sourceMappingURL=chunk-15fa.34dcb9d8.js.map \ No newline at end of file
+//# sourceMappingURL=chunk-15fa.10871dbf.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-15fa.34dcb9d8.js.map b/priv/static/adminfe/static/js/chunk-15fa.10871dbf.js.map
index 2ec54c8aa..a4b89ba68 100644
--- a/priv/static/adminfe/static/js/chunk-15fa.34dcb9d8.js.map
+++ b/priv/static/adminfe/static/js/chunk-15fa.10871dbf.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./src/views/errorPage/404.vue?e9e9","webpack:///./src/views/errorPage/404.vue?e36b","webpack:///src/views/errorPage/404.vue","webpack:///./src/views/errorPage/404.vue","webpack:///./src/views/errorPage/404.vue?ce30","webpack:///./src/assets/404_images/404_cloud.png","webpack:///./src/assets/404_images/404.png"],"names":["staticRenderFns","_h","this","$createElement","_c","_self","staticClass","attrs","src","__webpack_require__","alt","_v","errorPage_404vue_type_script_lang_js_","name","computed","message","component","Object","componentNormalizer","_vm","_m","_s","to","options","__file","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_1d6b2d2a_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","n","module","exports","p"],"mappings":"+GAAA,IACAA,GAAA,WAAoC,IAAaC,EAAbC,KAAaC,eAA0BC,EAAvCF,KAAuCG,MAAAD,IAAAH,EAAwB,OAAAG,EAAA,OAAiBE,YAAA,YAAsBF,EAAA,OAAYE,YAAA,kBAAAC,OAAqCC,IAAMC,EAAQ,QAA6BC,IAAA,SAAlMR,KAAiNS,GAAA,KAAAP,EAAA,OAAwBE,YAAA,sBAAAC,OAAyCC,IAAMC,EAAQ,QAAmCC,IAAA,SAAnUR,KAAkVS,GAAA,KAAAP,EAAA,OAAwBE,YAAA,qBAAAC,OAAwCC,IAAMC,EAAQ,QAAmCC,IAAA,SAAncR,KAAkdS,GAAA,KAAAP,EAAA,OAAwBE,YAAA,uBAAAC,OAA0CC,IAAMC,EAAQ,QAAmCC,IAAA,aCDjaE,GCsBxMC,KAAA,UACAC,UACAC,QADA,WAEA,yDCjBAC,EAAgBC,OAAAC,EAAA,EAAAD,CACdL,EHTF,WAA0B,IAAAO,EAAAjB,KAAaD,EAAAkB,EAAAhB,eAA0BC,EAAAe,EAAAd,MAAAD,IAAAH,EAAwB,OAAAG,EAAA,OAAiBE,YAAA,2BAAqCF,EAAA,OAAYE,YAAA,iBAA2Ba,EAAAC,GAAA,GAAAD,EAAAR,GAAA,KAAAP,EAAA,OAAkCE,YAAA,aAAuBF,EAAA,OAAYE,YAAA,mBAA6Ba,EAAAR,GAAA,WAAAQ,EAAAR,GAAA,KAAAP,EAAA,OAA0CE,YAAA,uBAAiCa,EAAAR,GAAAQ,EAAAE,GAAAF,EAAAJ,YAAAI,EAAAR,GAAA,KAAAP,EAAA,OAAsDE,YAAA,mBAA6Ba,EAAAR,GAAA,yCAAAQ,EAAAR,GAAA,KAAAP,EAAA,eAAgFE,YAAA,wBAAAC,OAA2Ce,GAAA,OAAUH,EAAAR,GAAA,kCGWzjBX,GACF,EACA,KACA,WACA,MAIAgB,EAAAO,QAAAC,OAAA,UACeC,EAAA,QAAAT,+CCpBf,IAAAU,EAAAjB,EAAA,QAAAA,EAAAkB,EAAAD,GAA6e,sBCA7eE,EAAAC,QAAA,0xMCAAD,EAAAC,QAAiBpB,EAAAqB,EAAuB","file":"static/js/chunk-15fa.34dcb9d8.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wscn-http404-container\"},[_c('div',{staticClass:\"wscn-http404\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"bullshit\"},[_c('div',{staticClass:\"bullshit__oops\"},[_vm._v(\"OOPS!\")]),_vm._v(\" \"),_c('div',{staticClass:\"bullshit__headline\"},[_vm._v(_vm._s(_vm.message))]),_vm._v(\" \"),_c('div',{staticClass:\"bullshit__info\"},[_vm._v(\"Please make sure you URL is correct\")]),_vm._v(\" \"),_c('router-link',{staticClass:\"bullshit__return-home\",attrs:{\"to\":\"/\"}},[_vm._v(\"Go to the home page\")])],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pic-404\"},[_c('img',{staticClass:\"pic-404__parent\",attrs:{\"src\":require(\"@/assets/404_images/404.png\"),\"alt\":\"404\"}}),_vm._v(\" \"),_c('img',{staticClass:\"pic-404__child left\",attrs:{\"src\":require(\"@/assets/404_images/404_cloud.png\"),\"alt\":\"404\"}}),_vm._v(\" \"),_c('img',{staticClass:\"pic-404__child mid\",attrs:{\"src\":require(\"@/assets/404_images/404_cloud.png\"),\"alt\":\"404\"}}),_vm._v(\" \"),_c('img',{staticClass:\"pic-404__child right\",attrs:{\"src\":require(\"@/assets/404_images/404_cloud.png\"),\"alt\":\"404\"}})])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"wscn-http404-container\">\n <div class=\"wscn-http404\">\n <div class=\"pic-404\">\n <img class=\"pic-404__parent\" src=\"@/assets/404_images/404.png\" alt=\"404\">\n <img class=\"pic-404__child left\" src=\"@/assets/404_images/404_cloud.png\" alt=\"404\">\n <img class=\"pic-404__child mid\" src=\"@/assets/404_images/404_cloud.png\" alt=\"404\">\n <img class=\"pic-404__child right\" src=\"@/assets/404_images/404_cloud.png\" alt=\"404\">\n </div>\n <div class=\"bullshit\">\n <div class=\"bullshit__oops\">OOPS!</div>\n <div class=\"bullshit__headline\">{{ message }}</div>\n <div class=\"bullshit__info\">Please make sure you URL is correct</div>\n <router-link to=\"/\" class=\"bullshit__return-home\">Go to the home page</router-link>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n\nexport default {\n name: 'Page404',\n computed: {\n message() {\n return 'There is nothing here'\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n.wscn-http404-container{\n transform: translate(-50%,-50%);\n position: absolute;\n top: 40%;\n left: 50%;\n}\n.wscn-http404 {\n position: relative;\n width: 1200px;\n padding: 0 50px;\n overflow: hidden;\n .pic-404 {\n position: relative;\n float: left;\n width: 600px;\n overflow: hidden;\n &__parent {\n width: 100%;\n }\n &__child {\n position: absolute;\n &.left {\n width: 80px;\n top: 17px;\n left: 220px;\n opacity: 0;\n animation-name: cloudLeft;\n animation-duration: 2s;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n animation-delay: 1s;\n }\n &.mid {\n width: 46px;\n top: 10px;\n left: 420px;\n opacity: 0;\n animation-name: cloudMid;\n animation-duration: 2s;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n animation-delay: 1.2s;\n }\n &.right {\n width: 62px;\n top: 100px;\n left: 500px;\n opacity: 0;\n animation-name: cloudRight;\n animation-duration: 2s;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n animation-delay: 1s;\n }\n @keyframes cloudLeft {\n 0% {\n top: 17px;\n left: 220px;\n opacity: 0;\n }\n 20% {\n top: 33px;\n left: 188px;\n opacity: 1;\n }\n 80% {\n top: 81px;\n left: 92px;\n opacity: 1;\n }\n 100% {\n top: 97px;\n left: 60px;\n opacity: 0;\n }\n }\n @keyframes cloudMid {\n 0% {\n top: 10px;\n left: 420px;\n opacity: 0;\n }\n 20% {\n top: 40px;\n left: 360px;\n opacity: 1;\n }\n 70% {\n top: 130px;\n left: 180px;\n opacity: 1;\n }\n 100% {\n top: 160px;\n left: 120px;\n opacity: 0;\n }\n }\n @keyframes cloudRight {\n 0% {\n top: 100px;\n left: 500px;\n opacity: 0;\n }\n 20% {\n top: 120px;\n left: 460px;\n opacity: 1;\n }\n 80% {\n top: 180px;\n left: 340px;\n opacity: 1;\n }\n 100% {\n top: 200px;\n left: 300px;\n opacity: 0;\n }\n }\n }\n }\n .bullshit {\n position: relative;\n float: left;\n width: 300px;\n padding: 30px 0;\n overflow: hidden;\n &__oops {\n font-size: 32px;\n font-weight: bold;\n line-height: 40px;\n color: #1482f0;\n opacity: 0;\n margin-bottom: 20px;\n animation-name: slideUp;\n animation-duration: 0.5s;\n animation-fill-mode: forwards;\n }\n &__headline {\n font-size: 20px;\n line-height: 24px;\n color: #222;\n font-weight: bold;\n opacity: 0;\n margin-bottom: 10px;\n animation-name: slideUp;\n animation-duration: 0.5s;\n animation-delay: 0.1s;\n animation-fill-mode: forwards;\n }\n &__info {\n font-size: 13px;\n line-height: 21px;\n color: grey;\n opacity: 0;\n margin-bottom: 30px;\n animation-name: slideUp;\n animation-duration: 0.5s;\n animation-delay: 0.2s;\n animation-fill-mode: forwards;\n }\n &__return-home {\n display: block;\n float: left;\n width: 165px;\n height: 36px;\n background: #1482f0;\n border-radius: 100px;\n text-align: center;\n color: #ffffff;\n opacity: 0;\n font-size: 14px;\n line-height: 36px;\n cursor: pointer;\n animation-name: slideUp;\n animation-duration: 0.5s;\n animation-delay: 0.3s;\n animation-fill-mode: forwards;\n }\n @keyframes slideUp {\n 0% {\n transform: translateY(60px);\n opacity: 0;\n }\n 100% {\n transform: translateY(0);\n opacity: 1;\n }\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./404.vue?vue&type=template&id=1d6b2d2a&scoped=true&\"\nimport script from \"./404.vue?vue&type=script&lang=js&\"\nexport * from \"./404.vue?vue&type=script&lang=js&\"\nimport style0 from \"./404.vue?vue&type=style&index=0&id=1d6b2d2a&rel=stylesheet%2Fscss&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 \"1d6b2d2a\",\n null\n \n)\n\ncomponent.options.__file = \"404.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=style&index=0&id=1d6b2d2a&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=style&index=0&id=1d6b2d2a&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/img/404.a57b6f3.png\";"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///./src/views/errorPage/404.vue?e9e9","webpack:///./src/views/errorPage/404.vue?e36b","webpack:///src/views/errorPage/404.vue","webpack:///./src/views/errorPage/404.vue","webpack:///./src/views/errorPage/404.vue?ce30","webpack:///./src/assets/404_images/404_cloud.png","webpack:///./src/assets/404_images/404.png"],"names":["staticRenderFns","_h","this","$createElement","_c","_self","staticClass","attrs","src","__webpack_require__","alt","_v","errorPage_404vue_type_script_lang_js_","name","computed","message","component","Object","componentNormalizer","_vm","_m","_s","to","options","__file","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_1d6b2d2a_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","n","module","exports","p"],"mappings":"+GAAA,IACAA,GAAA,WAAoC,IAAaC,EAAbC,KAAaC,eAA0BC,EAAvCF,KAAuCG,MAAAD,IAAAH,EAAwB,OAAAG,EAAA,OAAiBE,YAAA,YAAsBF,EAAA,OAAYE,YAAA,kBAAAC,OAAqCC,IAAMC,EAAQ,QAA6BC,IAAA,SAAlMR,KAAiNS,GAAA,KAAAP,EAAA,OAAwBE,YAAA,sBAAAC,OAAyCC,IAAMC,EAAQ,QAAmCC,IAAA,SAAnUR,KAAkVS,GAAA,KAAAP,EAAA,OAAwBE,YAAA,qBAAAC,OAAwCC,IAAMC,EAAQ,QAAmCC,IAAA,SAAncR,KAAkdS,GAAA,KAAAP,EAAA,OAAwBE,YAAA,uBAAAC,OAA0CC,IAAMC,EAAQ,QAAmCC,IAAA,aCDjaE,GCsBxMC,KAAA,UACAC,UACAC,QADA,WAEA,yDCjBAC,EAAgBC,OAAAC,EAAA,EAAAD,CACdL,EHTF,WAA0B,IAAAO,EAAAjB,KAAaD,EAAAkB,EAAAhB,eAA0BC,EAAAe,EAAAd,MAAAD,IAAAH,EAAwB,OAAAG,EAAA,OAAiBE,YAAA,2BAAqCF,EAAA,OAAYE,YAAA,iBAA2Ba,EAAAC,GAAA,GAAAD,EAAAR,GAAA,KAAAP,EAAA,OAAkCE,YAAA,aAAuBF,EAAA,OAAYE,YAAA,mBAA6Ba,EAAAR,GAAA,WAAAQ,EAAAR,GAAA,KAAAP,EAAA,OAA0CE,YAAA,uBAAiCa,EAAAR,GAAAQ,EAAAE,GAAAF,EAAAJ,YAAAI,EAAAR,GAAA,KAAAP,EAAA,OAAsDE,YAAA,mBAA6Ba,EAAAR,GAAA,yCAAAQ,EAAAR,GAAA,KAAAP,EAAA,eAAgFE,YAAA,wBAAAC,OAA2Ce,GAAA,OAAUH,EAAAR,GAAA,kCGWzjBX,GACF,EACA,KACA,WACA,MAIAgB,EAAAO,QAAAC,OAAA,UACeC,EAAA,QAAAT,+CCpBf,IAAAU,EAAAjB,EAAA,QAAAA,EAAAkB,EAAAD,GAA6e,sBCA7eE,EAAAC,QAAA,0xMCAAD,EAAAC,QAAiBpB,EAAAqB,EAAuB","file":"static/js/chunk-15fa.10871dbf.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wscn-http404-container\"},[_c('div',{staticClass:\"wscn-http404\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"bullshit\"},[_c('div',{staticClass:\"bullshit__oops\"},[_vm._v(\"OOPS!\")]),_vm._v(\" \"),_c('div',{staticClass:\"bullshit__headline\"},[_vm._v(_vm._s(_vm.message))]),_vm._v(\" \"),_c('div',{staticClass:\"bullshit__info\"},[_vm._v(\"Please make sure you URL is correct\")]),_vm._v(\" \"),_c('router-link',{staticClass:\"bullshit__return-home\",attrs:{\"to\":\"/\"}},[_vm._v(\"Go to the home page\")])],1)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pic-404\"},[_c('img',{staticClass:\"pic-404__parent\",attrs:{\"src\":require(\"@/assets/404_images/404.png\"),\"alt\":\"404\"}}),_vm._v(\" \"),_c('img',{staticClass:\"pic-404__child left\",attrs:{\"src\":require(\"@/assets/404_images/404_cloud.png\"),\"alt\":\"404\"}}),_vm._v(\" \"),_c('img',{staticClass:\"pic-404__child mid\",attrs:{\"src\":require(\"@/assets/404_images/404_cloud.png\"),\"alt\":\"404\"}}),_vm._v(\" \"),_c('img',{staticClass:\"pic-404__child right\",attrs:{\"src\":require(\"@/assets/404_images/404_cloud.png\"),\"alt\":\"404\"}})])}]\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"wscn-http404-container\">\n <div class=\"wscn-http404\">\n <div class=\"pic-404\">\n <img class=\"pic-404__parent\" src=\"@/assets/404_images/404.png\" alt=\"404\">\n <img class=\"pic-404__child left\" src=\"@/assets/404_images/404_cloud.png\" alt=\"404\">\n <img class=\"pic-404__child mid\" src=\"@/assets/404_images/404_cloud.png\" alt=\"404\">\n <img class=\"pic-404__child right\" src=\"@/assets/404_images/404_cloud.png\" alt=\"404\">\n </div>\n <div class=\"bullshit\">\n <div class=\"bullshit__oops\">OOPS!</div>\n <div class=\"bullshit__headline\">{{ message }}</div>\n <div class=\"bullshit__info\">Please make sure you URL is correct</div>\n <router-link to=\"/\" class=\"bullshit__return-home\">Go to the home page</router-link>\n </div>\n </div>\n </div>\n</template>\n\n<script>\n\nexport default {\n name: 'Page404',\n computed: {\n message() {\n return 'There is nothing here'\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n.wscn-http404-container{\n transform: translate(-50%,-50%);\n position: absolute;\n top: 40%;\n left: 50%;\n}\n.wscn-http404 {\n position: relative;\n width: 1200px;\n padding: 0 50px;\n overflow: hidden;\n .pic-404 {\n position: relative;\n float: left;\n width: 600px;\n overflow: hidden;\n &__parent {\n width: 100%;\n }\n &__child {\n position: absolute;\n &.left {\n width: 80px;\n top: 17px;\n left: 220px;\n opacity: 0;\n animation-name: cloudLeft;\n animation-duration: 2s;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n animation-delay: 1s;\n }\n &.mid {\n width: 46px;\n top: 10px;\n left: 420px;\n opacity: 0;\n animation-name: cloudMid;\n animation-duration: 2s;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n animation-delay: 1.2s;\n }\n &.right {\n width: 62px;\n top: 100px;\n left: 500px;\n opacity: 0;\n animation-name: cloudRight;\n animation-duration: 2s;\n animation-timing-function: linear;\n animation-fill-mode: forwards;\n animation-delay: 1s;\n }\n @keyframes cloudLeft {\n 0% {\n top: 17px;\n left: 220px;\n opacity: 0;\n }\n 20% {\n top: 33px;\n left: 188px;\n opacity: 1;\n }\n 80% {\n top: 81px;\n left: 92px;\n opacity: 1;\n }\n 100% {\n top: 97px;\n left: 60px;\n opacity: 0;\n }\n }\n @keyframes cloudMid {\n 0% {\n top: 10px;\n left: 420px;\n opacity: 0;\n }\n 20% {\n top: 40px;\n left: 360px;\n opacity: 1;\n }\n 70% {\n top: 130px;\n left: 180px;\n opacity: 1;\n }\n 100% {\n top: 160px;\n left: 120px;\n opacity: 0;\n }\n }\n @keyframes cloudRight {\n 0% {\n top: 100px;\n left: 500px;\n opacity: 0;\n }\n 20% {\n top: 120px;\n left: 460px;\n opacity: 1;\n }\n 80% {\n top: 180px;\n left: 340px;\n opacity: 1;\n }\n 100% {\n top: 200px;\n left: 300px;\n opacity: 0;\n }\n }\n }\n }\n .bullshit {\n position: relative;\n float: left;\n width: 300px;\n padding: 30px 0;\n overflow: hidden;\n &__oops {\n font-size: 32px;\n font-weight: bold;\n line-height: 40px;\n color: #1482f0;\n opacity: 0;\n margin-bottom: 20px;\n animation-name: slideUp;\n animation-duration: 0.5s;\n animation-fill-mode: forwards;\n }\n &__headline {\n font-size: 20px;\n line-height: 24px;\n color: #222;\n font-weight: bold;\n opacity: 0;\n margin-bottom: 10px;\n animation-name: slideUp;\n animation-duration: 0.5s;\n animation-delay: 0.1s;\n animation-fill-mode: forwards;\n }\n &__info {\n font-size: 13px;\n line-height: 21px;\n color: grey;\n opacity: 0;\n margin-bottom: 30px;\n animation-name: slideUp;\n animation-duration: 0.5s;\n animation-delay: 0.2s;\n animation-fill-mode: forwards;\n }\n &__return-home {\n display: block;\n float: left;\n width: 165px;\n height: 36px;\n background: #1482f0;\n border-radius: 100px;\n text-align: center;\n color: #ffffff;\n opacity: 0;\n font-size: 14px;\n line-height: 36px;\n cursor: pointer;\n animation-name: slideUp;\n animation-duration: 0.5s;\n animation-delay: 0.3s;\n animation-fill-mode: forwards;\n }\n @keyframes slideUp {\n 0% {\n transform: translateY(60px);\n opacity: 0;\n }\n 100% {\n transform: translateY(0);\n opacity: 1;\n }\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./404.vue?vue&type=template&id=1d6b2d2a&scoped=true&\"\nimport script from \"./404.vue?vue&type=script&lang=js&\"\nexport * from \"./404.vue?vue&type=script&lang=js&\"\nimport style0 from \"./404.vue?vue&type=style&index=0&id=1d6b2d2a&rel=stylesheet%2Fscss&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 \"1d6b2d2a\",\n null\n \n)\n\ncomponent.options.__file = \"404.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=style&index=0&id=1d6b2d2a&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./404.vue?vue&type=style&index=0&id=1d6b2d2a&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJgAAACKCAYAAABW3IOxAAAAAXNSR0IArs4c6QAAElhJREFUeAHtnXuQHMV9x7tndvdOQkgCWZKxkITEQ5YB87AVCT9iEqgyTsXlyA42QVRcScXYzvOPkKeJLSrOy8RVxMSVBNuVqrhIxS7KJk5BKlWpQKiKX4hgwOII6CzLAk6H0Pt0e/uY6Xx+p7vT3Gl2b2e3Z2d2t7vqdzuP7l//+tvf6+75dU+PVi5kioAxZl01UDtMEG43Wu/AmOuUUYeVVqNKmVGjvX2+HAdqX6mkfqS1Pp2pwQkz1wnju+gdIACZlpTr6npU7FChETIh5uJkKvWYPkO+fUp7oyZUowWt9hWLahTyHU2mK/3YjmApYjxlzGWmSuukQ4iktwP2NZCsmFqWWh9D96hWZp+nvb2lgvompNubWn4tKHYEawGkVqJAnBWVutpmZlono2mdjFnVSlqbcTytnynSpHlaXYPeV5F3QLIDNvNIossRLAlaM3Ehk1etqitDIZGidTKMnbTayvVM8IRAZQj1dNHXF9N9blhQpBc4f2dW3WcmgCwAIPenEGdNJVDbGYhDpOmB+DaunZ+14VrpV31fjxb96dZqeRN7vs29m4WITeKkcssRbAGsEKdUq6lrQ7o6M9M6GWU2LYiW6Snd4HO+p8sFX70dQ7wWjfkW8T4IyYIW41uJNvAEKxuzUQbiSocMwqdbp+sh2ZAVdC0qgRhVur8nS75+A79b2lT9AHo+3mbatpINHMEgz/JKqH7ZmPBtJtA3J3cTtIVz+4m0PsyYfS8D9ytRsrp9RXMpd0Oye+bOUj4YOIJNVsJvQKqdgitAh8aocQbIr/P0d4pLNbmMDOPsXKk9tSYMzUrOux6wbaTg6SN0g9vI3HaLeif6v9SNQg0UwSZr5ndVGP51EmCpiJPEH4OAxwFLBskyhilyvozBzyp+L5JxWxKdjeKSl+j+Xqmgl0D66xrFs3Bd8tlJfv9mQVdTFQNDMMj1Tm3M45Ch0BSRhDeppBqtnXjXZXrnlApV1TAKxwe2hHsreEBYw/015NsYazzwdIM/KBT0ZURa6GZIaFHL0eWf5SZs/E7LKdqI2LjQbSjLaxIqd3W5ap6ma1yXiY2MowB6nLyPQbZJ7dE1Kzz6Ri2hG6zMdINZuD2OYNO7IJn4ylIJfU8wyOVN1cx/8MuAPj+BSq0PFabnFddnbNUB8r8Be8bSsKNVH0oaeXdF51Q13J03cknB8WM9TUeaNbnElI3Iv4NRM0etxGsr9HULRsv1XoAT8HJVToZozw8V9VvaqrH0Ej2G6ltoyao2s+jbFmzSmPX4IB7MG7mowIlSUa+xWYmWdP0Mev7JNl59STBAKqqa+XoWqxkWq+yCr1+iOX3DYvEyuv8R8r3bZt59SbByDV+XmV7QZxOrjnUx7tpT8FL1b3VsIwq22lAyq6PvCDZZMbfy+P/bswXMz68ew4FqtfLyU7bGlvQVwVhBeoXW5iuNi5vNHcZdhkH9cXI/LxsLssu1bwjGuGuJqZmH+M3CYdm0Bnlp49tM/Qxc6yWgWJ02aYpyyjenauHfMXF9dcrZJFZP6/UiKyG2J07YJwn6ogVjGujXINdH81YnkGuKrlFWQvTNP3JSjHueYNWquZY5xvuTFrwb8Zln3INLQjzlAxt6n2BBeBdPjaxm0CZPtYg9e5jEfleebMrClp5vuk9Vwl1CLqZf9nuePljy1YTvqxKku4iB9eUM+m0v1lu8nrR+fbioB7rlmgWp5wkmBYFEOjBmcxCqzbX6bNFkaao+4fvmh3RVRwu+Z3iau5CLl5LggrOx7B/h7xpF68AO7KOI9gXBogWKHrPmakU9UG+rB/SetWD6Fq1dQEv3Eu8QjtHCVYueWso4aT1xraxsQPcTEPmno3YM8nFfEyyuYmnt/CAwlweBujx6n0WARwqe9+OCF55kOodDbzXE20z8lpdD02LuZ42X7D3hwgwCA0ewRjVvQrOqFgar5K2PMyGQl0JqdK//xxzi6wzYA1qmFazhugTSrZiNNfsrcSHXBOebZq+53wH2z7RS+RCpWAvMFnrXLdPvG80kohscLxW8l30dln3PG+ZR/E2QcATy3dSK3kGK41qwNmqbV9nWTlWDtWeSnhnbrT6/kNclOG2U0F6SnveD2YOiY03unzUGQkewGFDcJXsIOILZw9JpikHAESwGFHfJHgKOYPawdJpiEHAEiwHFXbKHgCOYPSydphgEHMFiQHGX7CHgCGYPS6cpBgFHsBhQ3CV7CDiC2cPSaYpBwE1vxIAy4Jd+gUn+V1rA4Ani3CHr65rFdQRrhs5g3ltCsUUWC7cRQbYX/XiziK6LbIaOu7cYAnfS2t3TLJIjWDN03L1WEPg0JPtko4iOYI2QcdeTIPC3kOxDcQkcweJQcdeSIiA8ks3+blyY0BFsISLuvF0E5P3ThyGZfEZwLjiCzUHhDiwgIC/DyJ64cy++OIJZQNWpmIfARZzJtvHT31VyBJuHjTuxhIC8c/ooJJPP7bjgEEgFAfmW5UOOYKlg65TOIHCTI5jjQqoIOIKlCq9T7gjmOJAqAo5gqcLrlDuCOQ6kikBPEww/yw2+7z3FvlynU0XJKW8bgZ5bcAipZDHcLyG/gVy/+owrr16tq2fLNXO0UgtWhopPtmSxN2vb1dC/CdnErzcCxLoUSz+B/Cpy4SJWlys1M1KuhyeqdcP3svWbSe8vkqaj22zfFPqe6ukeoSMA4hPXc00wSCEVdgsirdX7kLbsZYfWE3yc9AW+fltmQ7mLjNJXoLstXdgQGxzBYmHJJ8GofGmhfgX5dWRzrOkdXOSrIIf5OsiLtHB1NgneQH6bOlA3ndQRLBbBfBGMipYNdKW1kjFWKy8exJYq6cXQqJch3GilFupqIIQ2FyfV4QgWi1j2BINUsovzrchvIjtizezyRfbb38cDw0E+sFXgeAs2LvoJZEew2ErKjmBU2gZMkleePoZMrx2KNTH7i2EtVCO0cIdo4ZaGodrKnvorF5rlCLYQkenz7hMMYt1M1tINvh9J9cluuoj2/9T4msjeybo5DOFWmFBdCeHOcwSLBbo7BINUy8n+o4gQa0usKb17cbJSV4+VCurneCy1+mTau5DMWZ4uwSDWVWQlpLoDWTaXbf8cvERR5FPJ2/qnSFZLUrfuyYdUonMnIsR6j1Vz86PsJ5jyMnID4lqtJvViDRyIJYv975yRNzXJs5dvjWO8tFrytGv9n7OXgWlg+2sdEwxivRvl0lp9ECk2yKjXL0s3+CwiXWHX/HM9DNppbL8PubdtgkGsN/INn78s+upnUbS+h8FoZroAtQe5DpEHFReaI1Dl9j8gn2Vbp9ckatsEK1eDrzHl8mEUhSj5AR+D4qOf6gp0in+r14MA9T1kK+K+QbR4bcoeYV9FdsOHA9HobRFsqm7eFwbho1FFcoxymUF+Zubzd/Ju3MaFcXJ+HmLfd5FLkH4dR1I0q+EbaLubuh+J05qYYHSNS6eqZi/OxUviFM5emyHbs0I2vqF9KRk1jT+bLsPf75P3amRThjb0Utb/ibF/RD3LEKJhSEywqUpwL//mdzXUGHNDyMaSmef4uOdhutG8ke1pTF6K9JsDOKYmrFySoYMQ67FWtCUiWLVqrgmU2UMr1tEjOsb9kJZtHLJtwgDry3FaKThx9iIydnhri/EHPZrgJV3hw0mAaJlgkMpjhcF3WIr8U0kyWCwuBu+dIdslXSLbPmwSt4O82u7C4gjsJ8pnkAepKxmjJgotE4xx12+FJvxCIu0JI1OAEcg2Rsu2EcNkibTNcBBlryDbkZbLbdOAHtN1CHs/izxAvZz9lHnCQrQENK3XOpYcj/B7fkL9bUenUPIx9lch24YOySb+GPG+C7E66trbLkxvJZTW/XPI31AHk52a3hLBJishj6JG5hczCRT0Rcj2CmRbj8GXtWiEAPUcsg0ZbjHNIEcTMkkP9VfgLdhZCYsSrFI3HwiC8GEruVlQQuH3QbaDBQ+y6ViyCVBPIdciXWtxLRQtKxXS/T2AiPddukWroSnB6BKXMfZ6Hp9XLqeCeOF2lFfFDhZ8vQ6ybQQZ8WWJ932VVZT6U5kM2B9EPgOxZCCfSmhKsMlqcJ8y6ndSydmiUgAKhor6dQqz1qLaflb1rxTuU+AmrodUQ0OC4fN6Oz6v79KK5X5Zs+/rl0u+TvwmUKrI5lP5f2HWH0MscZZ2JcQSTEiFz+tJfF6yiiDXAbAmhou6H1fL2sT9SZQJsWR6p6sh9rG9XKdb7AFyCVJFv30fTVeRziYzmYAW77tMSGcSzmnByvI6WY2BvTHnZWJRgkw1c5vDBb06QZJBiXqAgu5Gvgq5ZDoss3BOC2aq5ov4vHJPLkGMcZds/O/CWQTEqfxnyN9DLFnTlnmYRzB8Xr+Iz+vnM7eqBQM8Tx/ytHpjC1EHIcoJCnkvch/EOp2nAs91kXSJK3h7mT57+uWNPNl4ji2AWMMtUZwz/pwYA3OhTEnvR8T7fjSPpZ5rwdiH4S8wUN4Myn3Ai38Kcl2Ye0PTM1C8719B/hRivZpeNp1rnm4E8HntwOf1P7RiXucq09UAoCdxSyxPN5fcajdY9i/In4DDaG6tjBhWgFQFVko80AvkErtxSwxF7B+kw/+msHdBrKZLlPMGiDdVV3dBrqvzZlicPbgljjD3OGgEE1/WByDWjb1GLqlDjy3+buR1oCNxFZqna4Brhnw9SJPYsrLhE8jVlP1beaqLJLboseM1tizV1VLB+9+SH0762mM1Qv6eJFkxcYzu8YIkhevRuOJm+DzyOYiVK5dDO3ieIVgkJYUKqcxn8JAfw890GWTbELmdySE2VRjY93vXKB73f0RkAG99XVYmFUem5xBsoSG4BEaGCvpQ0ffWsy4MwnU/FAteGTuWdD/nruX4CDn9PsR6vms5dimjRQkWtcMvePuHff0TXqRdw5uOsrAv9eBpfQqnar+uTH0KAOXJ8PHUgcwog0QEi9rIVM3YkqLH8mVzASR4S1pujqGiZ+iq+81p/2OwvBv5Z8glvq2+DW0TLIqI53tHadle4KWMpZDhKvGtRe+3e8za+xOlQl9NaB8Diz9H7odYlXZx6aV0VggWLTBPoRNF34yUitBOs0Fum98MogJCxn40jlHtPXssKxu+iMjUjpBsYIJ1gkWRgx7VkqefZ1lNnXHbVsjW8jIgnmQncUssjerrwWPp/r6OyF4O+3vQ/o5NTpVgUeukRYIwI7gbJmnZ5FtBDddyEXeKeMPR9D14LFM7v0dZnuxB262Z3DWCLbQYx+5LeOaPez6bnxgzz0PPvYApody/bLKwTDPnMrXzhxCrZ73vDcrV1uXMCBa1tljQB0u+GmfItR7CLWPs1XJXGtWT8bE4R+9BvgS5Ml2mnDEO87LPBcGiFp0/7KvzhnpqZD87tXMvxJqIlsUd53AzEGYLqJeeIFhfTu3Y/qew4q+ybVQP6OvbqR3b2DuCJUNUpnbkyfCxZMkGN3bul0jnpGoOYMcdyDZHrmQ14lqw5njJPlkytfMFiDUQUzvN4Uh+1xEsHrPZqR3ZMyuXr4PFm52/q45g8+tk4Kd25sPR+Zkj2FkMn+BQ1mYN9NTOWTjsHDmCKfUCUP4BxHJTO3Y4NU/LID9FjoPEJ5GrHLnmccLqySC2YG5qxyqFmisrsBp5gumZQdghcHZq59O0WGPNYXF3bSHgrV3hrwXwXcgjSNtfdLBlUEp6HkXvNZTvY4gjV0ogx6mdN6t88qRZVQ7DDxsd7mLC+R0sCpx3P06B7WvLhj3W61gbGrqpHdsVlFBfQwIdK5uNlUp4u1Lh7TiHrkqot+3olggmUzufQvr+rZ22ge5SwoYEi+Y/PmHequr1XaHSt6X9pneHBHNTO9GKy8FxSwSbtVO6zMMT6t2hCW7nC6O3stTZ+iZwbRLMTe3MVlLOfhMRLGo7ZCuOnwpuYX3gLsj2flo2K28AJSTY7NSO7AH/o6h97jgfCLRNsKj5r/FNI3My2MnHb3ah8GbI1/YLGwkIJlM7sjbr+1Fb3HG+ELBCsGiRDp0ya1QYfmT64cCoHdF7rRy3QDA3tdMKkDmJY51g0XKNHzebcXnwFIrbw6g3R+81Om5CMJna2Y18mVar3ii9u54vBFIlWLSoh0+b6+u1+u3MHNzGzMG66L3ocQzB5PuPn0dkQzb31k4UrB447hrBZrFgfOYdmqi/RwcaZ676EGRbOXtPfiMEc1M7UWDccXIEINvQ+Mn6zrHj9YfGTtTLsp3nqamAy+YR5MrkGl0Kh0ADBI4Ys/zUVPj4sdPBPQ2iuMsOAYeAQ2A+Av8Pby5Qwk3kUm8AAAAASUVORK5CYII=\"","module.exports = __webpack_public_path__ + \"static/img/404.a57b6f3.png\";"],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-18e1.f8bb78f3.js b/priv/static/adminfe/static/js/chunk-18e1.9f7c9b0f.js
index 4ddfe2bc2..237c35b90 100644
--- a/priv/static/adminfe/static/js/chunk-18e1.f8bb78f3.js
+++ b/priv/static/adminfe/static/js/chunk-18e1.9f7c9b0f.js
@@ -1,2 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-18e1"],{BF41:function(t,a,i){},"UUO+":function(t,a,i){"use strict";i.r(a);var e=i("zGwZ"),s=i.n(e),r={name:"Page401",data:function(){return{errGif:s.a+"?"+ +new Date,ewizardClap:"https://wpimg.wallstcn.com/007ef517-bafd-4066-aae4-6883632d9646",dialogVisible:!1}},methods:{back:function(){this.$route.query.noGoBack?this.$router.push({path:"/dashboard"}):this.$router.go(-1)}}},n=(i("UrVv"),i("KHd+")),l=Object(n.a)(r,function(){var t=this,a=t.$createElement,i=t._self._c||a;return i("div",{staticClass:"errPage-container"},[i("el-button",{staticClass:"pan-back-btn",attrs:{icon:"arrow-left"},on:{click:t.back}},[t._v("返回")]),t._v(" "),i("el-row",[i("el-col",{attrs:{span:12}},[i("h1",{staticClass:"text-jumbo text-ginormous"},[t._v("Oops!")]),t._v("\n gif来源"),i("a",{attrs:{href:"https://zh.airbnb.com/",target:"_blank"}},[t._v("airbnb")]),t._v(" 页面\n "),i("h2",[t._v("你没有权限去该页面")]),t._v(" "),i("h6",[t._v("如有不满请联系你领导")]),t._v(" "),i("ul",{staticClass:"list-unstyled"},[i("li",[t._v("或者你可以去:")]),t._v(" "),i("li",{staticClass:"link-type"},[i("router-link",{attrs:{to:"/dashboard"}},[t._v("回首页")])],1),t._v(" "),i("li",{staticClass:"link-type"},[i("a",{attrs:{href:"https://www.taobao.com/"}},[t._v("随便看看")])]),t._v(" "),i("li",[i("a",{attrs:{href:"#"},on:{click:function(a){a.preventDefault(),t.dialogVisible=!0}}},[t._v("点我看图")])])])]),t._v(" "),i("el-col",{attrs:{span:12}},[i("img",{attrs:{src:t.errGif,width:"313",height:"428",alt:"Girl has dropped her ice cream."}})])],1),t._v(" "),i("el-dialog",{attrs:{visible:t.dialogVisible,title:"随便看"},on:{"update:visible":function(a){t.dialogVisible=a}}},[i("img",{staticClass:"pan-img",attrs:{src:t.ewizardClap}})])],1)},[],!1,null,"ab9be52c",null);l.options.__file="401.vue";a.default=l.exports},UrVv:function(t,a,i){"use strict";var e=i("BF41");i.n(e).a},zGwZ:function(t,a,i){t.exports=i.p+"static/img/401.089007e.gif"}}]);
-//# sourceMappingURL=chunk-18e1.f8bb78f3.js.map \ No newline at end of file
+//# sourceMappingURL=chunk-18e1.9f7c9b0f.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-18e1.f8bb78f3.js.map b/priv/static/adminfe/static/js/chunk-18e1.9f7c9b0f.js.map
index b61e3bc20..2cfd1cfcc 100644
--- a/priv/static/adminfe/static/js/chunk-18e1.f8bb78f3.js.map
+++ b/priv/static/adminfe/static/js/chunk-18e1.9f7c9b0f.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./src/views/errorPage/401.vue?e7a2","webpack:///./src/views/errorPage/401.vue?6307","webpack:///src/views/errorPage/401.vue","webpack:///./src/views/errorPage/401.vue","webpack:///./src/views/errorPage/401.vue?2b76","webpack:///./src/assets/401_images/401.gif"],"names":["errorPage_401vue_type_script_lang_js_","name","data","errGif","_401_default","a","Date","ewizardClap","dialogVisible","methods","back","this","$route","query","noGoBack","$router","push","path","go","component","Object","componentNormalizer","_vm","_h","$createElement","_c","_self","staticClass","attrs","icon","on","click","_v","span","href","target","to","$event","preventDefault","src","width","height","alt","visible","title","update:visible","options","__file","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_401_vue_vue_type_style_index_0_id_ab9be52c_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","module","exports","p"],"mappings":"sIAAA,yBCAwMA,GCgCxMC,KAAA,UACAC,KAAA,WACA,OACAC,OAAAC,EAAAC,EAAA,UAAAC,KACAC,YAAA,kEACAC,eAAA,IAGAC,SACAC,KADA,WAEAC,KAAAC,OAAAC,MAAAC,SACAH,KAAAI,QAAAC,MAAAC,KAAA,eAEAN,KAAAI,QAAAG,IAAA,8BCrCAC,EAAgBC,OAAAC,EAAA,EAAAD,CACdpB,EHTF,WAA0B,IAAAsB,EAAAX,KAAaY,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,sBAAgCF,EAAA,aAAkBE,YAAA,eAAAC,OAAkCC,KAAA,cAAoBC,IAAKC,MAAAT,EAAAZ,QAAkBY,EAAAU,GAAA,QAAAV,EAAAU,GAAA,KAAAP,EAAA,UAAAA,EAAA,UAAuDG,OAAOK,KAAA,MAAWR,EAAA,MAAWE,YAAA,8BAAwCL,EAAAU,GAAA,WAAAV,EAAAU,GAAA,iBAAAP,EAAA,KAAoDG,OAAOM,KAAA,yBAAAC,OAAA,YAAmDb,EAAAU,GAAA,YAAAV,EAAAU,GAAA,eAAAP,EAAA,MAAAH,EAAAU,GAAA,eAAAV,EAAAU,GAAA,KAAAP,EAAA,MAAAH,EAAAU,GAAA,gBAAAV,EAAAU,GAAA,KAAAP,EAAA,MAA2IE,YAAA,kBAA4BF,EAAA,MAAAH,EAAAU,GAAA,aAAAV,EAAAU,GAAA,KAAAP,EAAA,MAAoDE,YAAA,cAAwBF,EAAA,eAAoBG,OAAOQ,GAAA,gBAAmBd,EAAAU,GAAA,aAAAV,EAAAU,GAAA,KAAAP,EAAA,MAA2CE,YAAA,cAAwBF,EAAA,KAAUG,OAAOM,KAAA,6BAAkCZ,EAAAU,GAAA,YAAAV,EAAAU,GAAA,KAAAP,EAAA,MAAAA,EAAA,KAAkDG,OAAOM,KAAA,KAAWJ,IAAKC,MAAA,SAAAM,GAAyBA,EAAAC,iBAAwBhB,EAAAd,eAAA,MAAyBc,EAAAU,GAAA,gBAAAV,EAAAU,GAAA,KAAAP,EAAA,UAAkDG,OAAOK,KAAA,MAAWR,EAAA,OAAYG,OAAOW,IAAAjB,EAAAnB,OAAAqC,MAAA,MAAAC,OAAA,MAAAC,IAAA,wCAAuF,GAAApB,EAAAU,GAAA,KAAAP,EAAA,aAAoCG,OAAOe,QAAArB,EAAAd,cAAAoC,MAAA,OAA0Cd,IAAKe,iBAAA,SAAAR,GAAkCf,EAAAd,cAAA6B,MAA2BZ,EAAA,OAAYE,YAAA,UAAAC,OAA6BW,IAAAjB,EAAAf,kBAAuB,QGYl4C,EACA,KACA,WACA,MAIAY,EAAA2B,QAAAC,OAAA,UACeC,EAAA,QAAA7B,6CCpBf,IAAA8B,EAAAC,EAAA,QAAAA,EAAAC,EAAAF,GAA6e,wBCA7eG,EAAAC,QAAiBH,EAAAI,EAAuB","file":"static/js/chunk-18e1.f8bb78f3.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"errPage-container\"},[_c('el-button',{staticClass:\"pan-back-btn\",attrs:{\"icon\":\"arrow-left\"},on:{\"click\":_vm.back}},[_vm._v(\"返回\")]),_vm._v(\" \"),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('h1',{staticClass:\"text-jumbo text-ginormous\"},[_vm._v(\"Oops!\")]),_vm._v(\"\\n gif来源\"),_c('a',{attrs:{\"href\":\"https://zh.airbnb.com/\",\"target\":\"_blank\"}},[_vm._v(\"airbnb\")]),_vm._v(\" 页面\\n \"),_c('h2',[_vm._v(\"你没有权限去该页面\")]),_vm._v(\" \"),_c('h6',[_vm._v(\"如有不满请联系你领导\")]),_vm._v(\" \"),_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_vm._v(\"或者你可以去:\")]),_vm._v(\" \"),_c('li',{staticClass:\"link-type\"},[_c('router-link',{attrs:{\"to\":\"/dashboard\"}},[_vm._v(\"回首页\")])],1),_vm._v(\" \"),_c('li',{staticClass:\"link-type\"},[_c('a',{attrs:{\"href\":\"https://www.taobao.com/\"}},[_vm._v(\"随便看看\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();_vm.dialogVisible=true}}},[_vm._v(\"点我看图\")])])])]),_vm._v(\" \"),_c('el-col',{attrs:{\"span\":12}},[_c('img',{attrs:{\"src\":_vm.errGif,\"width\":\"313\",\"height\":\"428\",\"alt\":\"Girl has dropped her ice cream.\"}})])],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"visible\":_vm.dialogVisible,\"title\":\"随便看\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('img',{staticClass:\"pan-img\",attrs:{\"src\":_vm.ewizardClap}})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./401.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./401.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"errPage-container\">\n <el-button icon=\"arrow-left\" class=\"pan-back-btn\" @click=\"back\">返回</el-button>\n <el-row>\n <el-col :span=\"12\">\n <h1 class=\"text-jumbo text-ginormous\">Oops!</h1>\n gif来源<a href=\"https://zh.airbnb.com/\" target=\"_blank\">airbnb</a> 页面\n <h2>你没有权限去该页面</h2>\n <h6>如有不满请联系你领导</h6>\n <ul class=\"list-unstyled\">\n <li>或者你可以去:</li>\n <li class=\"link-type\">\n <router-link to=\"/dashboard\">回首页</router-link>\n </li>\n <li class=\"link-type\"><a href=\"https://www.taobao.com/\">随便看看</a></li>\n <li><a href=\"#\" @click.prevent=\"dialogVisible=true\">点我看图</a></li>\n </ul>\n </el-col>\n <el-col :span=\"12\">\n <img :src=\"errGif\" width=\"313\" height=\"428\" alt=\"Girl has dropped her ice cream.\">\n </el-col>\n </el-row>\n <el-dialog :visible.sync=\"dialogVisible\" title=\"随便看\">\n <img :src=\"ewizardClap\" class=\"pan-img\">\n </el-dialog>\n </div>\n</template>\n\n<script>\nimport errGif from '@/assets/401_images/401.gif'\n\nexport default {\n name: 'Page401',\n data: function() {\n return {\n errGif: errGif + '?' + +new Date(),\n ewizardClap: 'https://wpimg.wallstcn.com/007ef517-bafd-4066-aae4-6883632d9646',\n dialogVisible: false\n }\n },\n methods: {\n back() {\n if (this.$route.query.noGoBack) {\n this.$router.push({ path: '/dashboard' })\n } else {\n this.$router.go(-1)\n }\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n .errPage-container {\n width: 800px;\n max-width: 100%;\n margin: 100px auto;\n .pan-back-btn {\n background: #008489;\n color: #fff;\n border: none!important;\n }\n .pan-gif {\n margin: 0 auto;\n display: block;\n }\n .pan-img {\n display: block;\n margin: 0 auto;\n width: 100%;\n }\n .text-jumbo {\n font-size: 60px;\n font-weight: 700;\n color: #484848;\n }\n .list-unstyled {\n font-size: 14px;\n li {\n padding-bottom: 5px;\n }\n a {\n color: #008489;\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n }\n }\n }\n</style>\n","import { render, staticRenderFns } from \"./401.vue?vue&type=template&id=ab9be52c&scoped=true&\"\nimport script from \"./401.vue?vue&type=script&lang=js&\"\nexport * from \"./401.vue?vue&type=script&lang=js&\"\nimport style0 from \"./401.vue?vue&type=style&index=0&id=ab9be52c&rel=stylesheet%2Fscss&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 \"ab9be52c\",\n null\n \n)\n\ncomponent.options.__file = \"401.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./401.vue?vue&type=style&index=0&id=ab9be52c&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./401.vue?vue&type=style&index=0&id=ab9be52c&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"static/img/401.089007e.gif\";"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///./src/views/errorPage/401.vue?e7a2","webpack:///./src/views/errorPage/401.vue?6307","webpack:///src/views/errorPage/401.vue","webpack:///./src/views/errorPage/401.vue","webpack:///./src/views/errorPage/401.vue?2b76","webpack:///./src/assets/401_images/401.gif"],"names":["errorPage_401vue_type_script_lang_js_","name","data","errGif","_401_default","a","Date","ewizardClap","dialogVisible","methods","back","this","$route","query","noGoBack","$router","push","path","go","component","Object","componentNormalizer","_vm","_h","$createElement","_c","_self","staticClass","attrs","icon","on","click","_v","span","href","target","to","$event","preventDefault","src","width","height","alt","visible","title","update:visible","options","__file","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_401_vue_vue_type_style_index_0_id_ab9be52c_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","module","exports","p"],"mappings":"sIAAA,yBCAwMA,GCgCxMC,KAAA,UACAC,KAAA,WACA,OACAC,OAAAC,EAAAC,EAAA,UAAAC,KACAC,YAAA,kEACAC,eAAA,IAGAC,SACAC,KADA,WAEAC,KAAAC,OAAAC,MAAAC,SACAH,KAAAI,QAAAC,MAAAC,KAAA,eAEAN,KAAAI,QAAAG,IAAA,8BCrCAC,EAAgBC,OAAAC,EAAA,EAAAD,CACdpB,EHTF,WAA0B,IAAAsB,EAAAX,KAAaY,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,sBAAgCF,EAAA,aAAkBE,YAAA,eAAAC,OAAkCC,KAAA,cAAoBC,IAAKC,MAAAT,EAAAZ,QAAkBY,EAAAU,GAAA,QAAAV,EAAAU,GAAA,KAAAP,EAAA,UAAAA,EAAA,UAAuDG,OAAOK,KAAA,MAAWR,EAAA,MAAWE,YAAA,8BAAwCL,EAAAU,GAAA,WAAAV,EAAAU,GAAA,iBAAAP,EAAA,KAAoDG,OAAOM,KAAA,yBAAAC,OAAA,YAAmDb,EAAAU,GAAA,YAAAV,EAAAU,GAAA,eAAAP,EAAA,MAAAH,EAAAU,GAAA,eAAAV,EAAAU,GAAA,KAAAP,EAAA,MAAAH,EAAAU,GAAA,gBAAAV,EAAAU,GAAA,KAAAP,EAAA,MAA2IE,YAAA,kBAA4BF,EAAA,MAAAH,EAAAU,GAAA,aAAAV,EAAAU,GAAA,KAAAP,EAAA,MAAoDE,YAAA,cAAwBF,EAAA,eAAoBG,OAAOQ,GAAA,gBAAmBd,EAAAU,GAAA,aAAAV,EAAAU,GAAA,KAAAP,EAAA,MAA2CE,YAAA,cAAwBF,EAAA,KAAUG,OAAOM,KAAA,6BAAkCZ,EAAAU,GAAA,YAAAV,EAAAU,GAAA,KAAAP,EAAA,MAAAA,EAAA,KAAkDG,OAAOM,KAAA,KAAWJ,IAAKC,MAAA,SAAAM,GAAyBA,EAAAC,iBAAwBhB,EAAAd,eAAA,MAAyBc,EAAAU,GAAA,gBAAAV,EAAAU,GAAA,KAAAP,EAAA,UAAkDG,OAAOK,KAAA,MAAWR,EAAA,OAAYG,OAAOW,IAAAjB,EAAAnB,OAAAqC,MAAA,MAAAC,OAAA,MAAAC,IAAA,wCAAuF,GAAApB,EAAAU,GAAA,KAAAP,EAAA,aAAoCG,OAAOe,QAAArB,EAAAd,cAAAoC,MAAA,OAA0Cd,IAAKe,iBAAA,SAAAR,GAAkCf,EAAAd,cAAA6B,MAA2BZ,EAAA,OAAYE,YAAA,UAAAC,OAA6BW,IAAAjB,EAAAf,kBAAuB,QGYl4C,EACA,KACA,WACA,MAIAY,EAAA2B,QAAAC,OAAA,UACeC,EAAA,QAAA7B,6CCpBf,IAAA8B,EAAAC,EAAA,QAAAA,EAAAC,EAAAF,GAA6e,wBCA7eG,EAAAC,QAAiBH,EAAAI,EAAuB","file":"static/js/chunk-18e1.9f7c9b0f.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"errPage-container\"},[_c('el-button',{staticClass:\"pan-back-btn\",attrs:{\"icon\":\"arrow-left\"},on:{\"click\":_vm.back}},[_vm._v(\"返回\")]),_vm._v(\" \"),_c('el-row',[_c('el-col',{attrs:{\"span\":12}},[_c('h1',{staticClass:\"text-jumbo text-ginormous\"},[_vm._v(\"Oops!\")]),_vm._v(\"\\n gif来源\"),_c('a',{attrs:{\"href\":\"https://zh.airbnb.com/\",\"target\":\"_blank\"}},[_vm._v(\"airbnb\")]),_vm._v(\" 页面\\n \"),_c('h2',[_vm._v(\"你没有权限去该页面\")]),_vm._v(\" \"),_c('h6',[_vm._v(\"如有不满请联系你领导\")]),_vm._v(\" \"),_c('ul',{staticClass:\"list-unstyled\"},[_c('li',[_vm._v(\"或者你可以去:\")]),_vm._v(\" \"),_c('li',{staticClass:\"link-type\"},[_c('router-link',{attrs:{\"to\":\"/dashboard\"}},[_vm._v(\"回首页\")])],1),_vm._v(\" \"),_c('li',{staticClass:\"link-type\"},[_c('a',{attrs:{\"href\":\"https://www.taobao.com/\"}},[_vm._v(\"随便看看\")])]),_vm._v(\" \"),_c('li',[_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();_vm.dialogVisible=true}}},[_vm._v(\"点我看图\")])])])]),_vm._v(\" \"),_c('el-col',{attrs:{\"span\":12}},[_c('img',{attrs:{\"src\":_vm.errGif,\"width\":\"313\",\"height\":\"428\",\"alt\":\"Girl has dropped her ice cream.\"}})])],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"visible\":_vm.dialogVisible,\"title\":\"随便看\"},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('img',{staticClass:\"pan-img\",attrs:{\"src\":_vm.ewizardClap}})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./401.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./401.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"errPage-container\">\n <el-button icon=\"arrow-left\" class=\"pan-back-btn\" @click=\"back\">返回</el-button>\n <el-row>\n <el-col :span=\"12\">\n <h1 class=\"text-jumbo text-ginormous\">Oops!</h1>\n gif来源<a href=\"https://zh.airbnb.com/\" target=\"_blank\">airbnb</a> 页面\n <h2>你没有权限去该页面</h2>\n <h6>如有不满请联系你领导</h6>\n <ul class=\"list-unstyled\">\n <li>或者你可以去:</li>\n <li class=\"link-type\">\n <router-link to=\"/dashboard\">回首页</router-link>\n </li>\n <li class=\"link-type\"><a href=\"https://www.taobao.com/\">随便看看</a></li>\n <li><a href=\"#\" @click.prevent=\"dialogVisible=true\">点我看图</a></li>\n </ul>\n </el-col>\n <el-col :span=\"12\">\n <img :src=\"errGif\" width=\"313\" height=\"428\" alt=\"Girl has dropped her ice cream.\">\n </el-col>\n </el-row>\n <el-dialog :visible.sync=\"dialogVisible\" title=\"随便看\">\n <img :src=\"ewizardClap\" class=\"pan-img\">\n </el-dialog>\n </div>\n</template>\n\n<script>\nimport errGif from '@/assets/401_images/401.gif'\n\nexport default {\n name: 'Page401',\n data: function() {\n return {\n errGif: errGif + '?' + +new Date(),\n ewizardClap: 'https://wpimg.wallstcn.com/007ef517-bafd-4066-aae4-6883632d9646',\n dialogVisible: false\n }\n },\n methods: {\n back() {\n if (this.$route.query.noGoBack) {\n this.$router.push({ path: '/dashboard' })\n } else {\n this.$router.go(-1)\n }\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n .errPage-container {\n width: 800px;\n max-width: 100%;\n margin: 100px auto;\n .pan-back-btn {\n background: #008489;\n color: #fff;\n border: none!important;\n }\n .pan-gif {\n margin: 0 auto;\n display: block;\n }\n .pan-img {\n display: block;\n margin: 0 auto;\n width: 100%;\n }\n .text-jumbo {\n font-size: 60px;\n font-weight: 700;\n color: #484848;\n }\n .list-unstyled {\n font-size: 14px;\n li {\n padding-bottom: 5px;\n }\n a {\n color: #008489;\n text-decoration: none;\n &:hover {\n text-decoration: underline;\n }\n }\n }\n }\n</style>\n","import { render, staticRenderFns } from \"./401.vue?vue&type=template&id=ab9be52c&scoped=true&\"\nimport script from \"./401.vue?vue&type=script&lang=js&\"\nexport * from \"./401.vue?vue&type=script&lang=js&\"\nimport style0 from \"./401.vue?vue&type=style&index=0&id=ab9be52c&rel=stylesheet%2Fscss&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 \"ab9be52c\",\n null\n \n)\n\ncomponent.options.__file = \"401.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./401.vue?vue&type=style&index=0&id=ab9be52c&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./401.vue?vue&type=style&index=0&id=ab9be52c&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"static/img/401.089007e.gif\";"],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-1c46.b92c7c1b.js b/priv/static/adminfe/static/js/chunk-1c46.b92c7c1b.js
new file mode 100644
index 000000000..c63a38759
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-1c46.b92c7c1b.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-1c46"],{HMof:function(e,t,i){"use strict";i.r(t);var n=i("o0o1"),s=i.n(n),a=i("yXPU"),o=i.n(a),r={data:function(){return{rules:{email:[{validator:this.validateEmail,trigger:"blur"}]},newTokenForm:{maxUse:1,expiresAt:""},inviteUserForm:{email:"",name:""},createTokenDialogVisible:!1,inviteUserDialogVisible:!1}},computed:{getLabelWidth:function(){return this.isDesktop?"100px":"80px"},isDesktop:function(){return"desktop"===this.$store.state.app.device},loading:function(){return this.$store.state.invites.loading},newToken:function(){return this.$store.state.invites.newToken},tokens:function(){return this.$store.state.invites.inviteTokens}},mounted:function(){this.$store.dispatch("FetchInviteTokens")},methods:{closeDialogWindow:function(){this.inviteUserDialogVisible=!1,this.createTokenDialogVisible=!1,this.$store.dispatch("RemoveNewToken"),this.$data.inviteUserForm.email="",this.$data.inviteUserForm.name=""},createToken:function(){this.$store.dispatch("GenerateInviteToken",this.$data.newTokenForm)},inviteUserViaEmail:function(){var e=o()(s.a.mark(function e(){var t=this;return s.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:this.$refs.inviteUserForm.validate(function(){var e=o()(s.a.mark(function e(i){return s.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!i){e.next=6;break}return e.next=3,t.$store.dispatch("InviteUserViaEmail",t.$data.inviteUserForm);case 3:t.closeDialogWindow(),e.next=8;break;case 6:return t.$message({type:"error",message:t.$t("invites.submitFormError")}),e.abrupt("return",!1);case 8:case"end":return e.stop()}},e)}));return function(t){return e.apply(this,arguments)}}());case 1:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}(),revokeInviteToken:function(e){this.$store.dispatch("RevokeToken",e)},validateEmail:function(e,t,i){return""===t?i(new Error(this.$t("invites.emptyEmailError"))):this.validEmail(t)?i():i(new Error(this.$t("invites.invalidEmailError")))},validEmail:function(e){return/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(e)}}},l=(i("ObxI"),i("KHd+")),c=Object(l.a)(r,function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"invites-container"},[i("h1",[e._v(e._s(e.$t("invites.inviteTokens")))]),e._v(" "),i("div",{staticClass:"actions-container"},[i("el-button",{staticClass:"create-invite-token",on:{click:function(t){e.createTokenDialogVisible=!0}}},[i("span",[i("i",{staticClass:"icon el-icon-plus"}),e._v("\n "+e._s(e.$t("invites.createInviteToken"))+"\n ")])]),e._v(" "),i("el-button",{staticClass:"invite-via-email",on:{click:function(t){e.inviteUserDialogVisible=!0}}},[i("span",[i("i",{staticClass:"icon el-icon-message"}),e._v("\n "+e._s(e.$t("invites.inviteUserViaEmail"))+"\n ")])])],1),e._v(" "),i("el-dialog",{attrs:{visible:e.createTokenDialogVisible,"show-close":!1,title:e.$t("invites.createInviteToken"),"custom-class":"create-new-token-dialog"},on:{"update:visible":function(t){e.createTokenDialogVisible=t}}},[i("el-form",{ref:"newTokenForm",attrs:{model:e.newTokenForm,"label-width":e.getLabelWidth,"status-icon":""}},[i("el-form-item",{attrs:{label:e.$t("invites.maxUse")}},[i("el-input-number",{attrs:{min:0,size:e.isDesktop?"medium":"small",name:"maxUse"},model:{value:e.newTokenForm.maxUse,callback:function(t){e.$set(e.newTokenForm,"maxUse",t)},expression:"newTokenForm.maxUse"}})],1),e._v(" "),i("el-form-item",{attrs:{label:e.$t("invites.expiresAt")}},[i("el-date-picker",{staticClass:"pick-date",attrs:{placeholder:e.$t("invites.pickDate"),type:"date",name:"date","value-format":"yyyy-MM-dd"},model:{value:e.newTokenForm.expiresAt,callback:function(t){e.$set(e.newTokenForm,"expiresAt",t)},expression:"newTokenForm.expiresAt"}})],1)],1),e._v(" "),i("span",{attrs:{slot:"footer"},slot:"footer"},[i("el-button",{on:{click:e.closeDialogWindow}},[e._v(e._s(e.$t("invites.cancel")))]),e._v(" "),i("el-button",{attrs:{type:"primary"},on:{click:e.createToken}},[e._v(e._s(e.$t("invites.create")))])],1),e._v(" "),"token"in e.newToken?i("el-card",[i("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[i("span",[e._v(e._s(e.$t("invites.tokenCreated")))])]),e._v(" "),i("p",[e._v(e._s(this.$t("invites.token"))+": "+e._s(e.newToken.token))]),e._v(" "),i("p",[e._v(e._s(this.$t("invites.maxUse"))+": "+e._s(e.newToken.maxUse))]),e._v(" "),i("p",[e._v(e._s(this.$t("invites.expiresAt"))+": "+e._s(e.newToken.expiresAt))])]):e._e()],1),e._v(" "),i("el-dialog",{attrs:{visible:e.inviteUserDialogVisible,"show-close":!1,title:e.$t("invites.sendRegistration"),"custom-class":"invite-via-email-dialog"},on:{"update:visible":function(t){e.inviteUserDialogVisible=t}}},[i("div",[i("p",{staticClass:"info"},[e._v(e._s(e.$t("invites.inviteViaEmailAlert")))]),e._v(" "),i("el-form",{ref:"inviteUserForm",attrs:{model:e.inviteUserForm,rules:e.rules,"label-width":e.getLabelWidth,"status-icon":""}},[i("el-form-item",{attrs:{label:e.$t("invites.email"),prop:"email"}},[i("el-input",{attrs:{name:"email",type:"email",autofocus:""},model:{value:e.inviteUserForm.email,callback:function(t){e.$set(e.inviteUserForm,"email",t)},expression:"inviteUserForm.email"}})],1),e._v(" "),i("el-form-item",{attrs:{label:e.$t("invites.name"),prop:"name"}},[i("el-input",{attrs:{name:"name"},model:{value:e.inviteUserForm.name,callback:function(t){e.$set(e.inviteUserForm,"name",t)},expression:"inviteUserForm.name"}})],1)],1)],1),e._v(" "),i("span",{attrs:{slot:"footer"},slot:"footer"},[i("el-button",{on:{click:e.closeDialogWindow}},[e._v(e._s(e.$t("invites.cancel")))]),e._v(" "),i("el-button",{attrs:{type:"primary"},on:{click:e.inviteUserViaEmail}},[e._v(e._s(e.$t("invites.create")))])],1)]),e._v(" "),i("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticClass:"invite-token-table",attrs:{data:e.tokens,"default-sort":{prop:"used",order:"ascending"}}},[e.isDesktop?i("el-table-column",{attrs:{label:e.$t("invites.id"),"min-width":"60",prop:"id",sortable:""}}):e._e(),e._v(" "),i("el-table-column",{attrs:{label:e.$t("invites.token"),"min-width":e.isDesktop?350:125,prop:"token"}}),e._v(" "),e.isDesktop?i("el-table-column",{attrs:{label:e.$t("invites.expiresAt"),align:"center","header-align":"center","min-width":"110",prop:"expires_at",sortable:""}}):e._e(),e._v(" "),i("el-table-column",{attrs:{label:e.$t("invites.maxUse"),align:"center","header-align":"center","min-width":"60",prop:"max_use",sortable:""}}),e._v(" "),e.isDesktop?i("el-table-column",{attrs:{label:e.$t("invites.uses"),align:"center","header-align":"center","min-width":"60",prop:"uses"}}):e._e(),e._v(" "),i("el-table-column",{attrs:{label:e.$t("invites.used"),"min-width":e.isDesktop?60:50,align:"center","header-align":"center",prop:"used",sortable:""},scopedSlots:e._u([{key:"default",fn:function(t){return[i("el-tag",{attrs:{type:t.row.used?"danger":"success","disable-transitions":""}},[e._v(e._s(t.row.used?e.$t("invites.used"):e.$t("invites.active")))])]}}])}),e._v(" "),i("el-table-column",{attrs:{label:e.$t("invites.actions"),"min-width":e.isDesktop?100:50,align:"center","header-align":"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("el-button",{attrs:{type:"text",size:"small"},nativeOn:{click:function(i){return e.revokeInviteToken(t.row.token)}}},[e._v("\n "+e._s(e.$t("invites.revoke"))+"\n ")])]}}])})],1)],1)},[],!1,null,null,null);c.options.__file="index.vue";t.default=c.exports},ObxI:function(e,t,i){"use strict";var n=i("Tykb");i.n(n).a},Tykb:function(e,t,i){}}]);
+//# sourceMappingURL=chunk-1c46.b92c7c1b.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-1c46.b92c7c1b.js.map b/priv/static/adminfe/static/js/chunk-1c46.b92c7c1b.js.map
new file mode 100644
index 000000000..a0d4a6655
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-1c46.b92c7c1b.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/views/invites/index.vue?b1af","webpack:///./src/views/invites/index.vue?b523","webpack:///src/views/invites/index.vue","webpack:///./src/views/invites/index.vue","webpack:///./src/views/invites/index.vue?0fc1"],"names":["views_invitesvue_type_script_lang_js_","data","rules","email","validator","this","validateEmail","trigger","newTokenForm","maxUse","expiresAt","inviteUserForm","name","createTokenDialogVisible","inviteUserDialogVisible","computed","getLabelWidth","isDesktop","$store","state","app","device","loading","invites","newToken","tokens","inviteTokens","mounted","dispatch","methods","closeDialogWindow","$data","createToken","inviteUserViaEmail","_inviteUserViaEmail","asyncToGenerator_default","regenerator_default","a","mark","_callee2","_this","wrap","_context2","prev","next","$refs","validate","_ref","_callee","valid","_context","$message","type","message","$t","abrupt","stop","_x","apply","arguments","revokeInviteToken","token","rule","value","callback","Error","validEmail","test","component","Object","componentNormalizer","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","on","click","$event","attrs","visible","show-close","title","custom-class","update:visible","ref","model","label-width","status-icon","label","min","size","$$v","$set","expression","placeholder","value-format","slot","_e","prop","autofocus","directives","rawName","default-sort","order","min-width","sortable","align","header-align","scopedSlots","_u","key","fn","scope","row","used","disable-transitions","nativeOn","options","__file","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n"],"mappings":"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","file":"static/js/chunk-1c46.b92c7c1b.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"invites-container\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('invites.inviteTokens')))]),_vm._v(\" \"),_c('div',{staticClass:\"actions-container\"},[_c('el-button',{staticClass:\"create-invite-token\",on:{\"click\":function($event){_vm.createTokenDialogVisible = true}}},[_c('span',[_c('i',{staticClass:\"icon el-icon-plus\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t('invites.createInviteToken'))+\"\\n \")])]),_vm._v(\" \"),_c('el-button',{staticClass:\"invite-via-email\",on:{\"click\":function($event){_vm.inviteUserDialogVisible = true}}},[_c('span',[_c('i',{staticClass:\"icon el-icon-message\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t('invites.inviteUserViaEmail'))+\"\\n \")])])],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"visible\":_vm.createTokenDialogVisible,\"show-close\":false,\"title\":_vm.$t('invites.createInviteToken'),\"custom-class\":\"create-new-token-dialog\"},on:{\"update:visible\":function($event){_vm.createTokenDialogVisible=$event}}},[_c('el-form',{ref:\"newTokenForm\",attrs:{\"model\":_vm.newTokenForm,\"label-width\":_vm.getLabelWidth,\"status-icon\":\"\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.maxUse')}},[_c('el-input-number',{attrs:{\"min\":0,\"size\":_vm.isDesktop ? 'medium' : 'small',\"name\":\"maxUse\"},model:{value:(_vm.newTokenForm.maxUse),callback:function ($$v) {_vm.$set(_vm.newTokenForm, \"maxUse\", $$v)},expression:\"newTokenForm.maxUse\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.expiresAt')}},[_c('el-date-picker',{staticClass:\"pick-date\",attrs:{\"placeholder\":_vm.$t('invites.pickDate'),\"type\":\"date\",\"name\":\"date\",\"value-format\":\"yyyy-MM-dd\"},model:{value:(_vm.newTokenForm.expiresAt),callback:function ($$v) {_vm.$set(_vm.newTokenForm, \"expiresAt\", $$v)},expression:\"newTokenForm.expiresAt\"}})],1)],1),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.closeDialogWindow}},[_vm._v(_vm._s(_vm.$t('invites.cancel')))]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.createToken}},[_vm._v(_vm._s(_vm.$t('invites.create')))])],1),_vm._v(\" \"),('token' in _vm.newToken)?_c('el-card',[_c('div',{staticClass:\"clearfix\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(_vm._s(_vm.$t('invites.tokenCreated')))])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(this.$t('invites.token'))+\": \"+_vm._s(_vm.newToken.token))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(this.$t('invites.maxUse'))+\": \"+_vm._s(_vm.newToken.maxUse))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(this.$t('invites.expiresAt'))+\": \"+_vm._s(_vm.newToken.expiresAt))])]):_vm._e()],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"visible\":_vm.inviteUserDialogVisible,\"show-close\":false,\"title\":_vm.$t('invites.sendRegistration'),\"custom-class\":\"invite-via-email-dialog\"},on:{\"update:visible\":function($event){_vm.inviteUserDialogVisible=$event}}},[_c('div',[_c('p',{staticClass:\"info\"},[_vm._v(_vm._s(_vm.$t('invites.inviteViaEmailAlert')))]),_vm._v(\" \"),_c('el-form',{ref:\"inviteUserForm\",attrs:{\"model\":_vm.inviteUserForm,\"rules\":_vm.rules,\"label-width\":_vm.getLabelWidth,\"status-icon\":\"\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.email'),\"prop\":\"email\"}},[_c('el-input',{attrs:{\"name\":\"email\",\"type\":\"email\",\"autofocus\":\"\"},model:{value:(_vm.inviteUserForm.email),callback:function ($$v) {_vm.$set(_vm.inviteUserForm, \"email\", $$v)},expression:\"inviteUserForm.email\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.name'),\"prop\":\"name\"}},[_c('el-input',{attrs:{\"name\":\"name\"},model:{value:(_vm.inviteUserForm.name),callback:function ($$v) {_vm.$set(_vm.inviteUserForm, \"name\", $$v)},expression:\"inviteUserForm.name\"}})],1)],1)],1),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.closeDialogWindow}},[_vm._v(_vm._s(_vm.$t('invites.cancel')))]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.inviteUserViaEmail}},[_vm._v(_vm._s(_vm.$t('invites.create')))])],1)]),_vm._v(\" \"),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"invite-token-table\",attrs:{\"data\":_vm.tokens,\"default-sort\":{prop: 'used', order: 'ascending'}}},[(_vm.isDesktop)?_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.id'),\"min-width\":\"60\",\"prop\":\"id\",\"sortable\":\"\"}}):_vm._e(),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.token'),\"min-width\":_vm.isDesktop ? 350 : 125,\"prop\":\"token\"}}),_vm._v(\" \"),(_vm.isDesktop)?_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.expiresAt'),\"align\":\"center\",\"header-align\":\"center\",\"min-width\":\"110\",\"prop\":\"expires_at\",\"sortable\":\"\"}}):_vm._e(),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.maxUse'),\"align\":\"center\",\"header-align\":\"center\",\"min-width\":\"60\",\"prop\":\"max_use\",\"sortable\":\"\"}}),_vm._v(\" \"),(_vm.isDesktop)?_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.uses'),\"align\":\"center\",\"header-align\":\"center\",\"min-width\":\"60\",\"prop\":\"uses\"}}):_vm._e(),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.used'),\"min-width\":_vm.isDesktop ? 60 : 50,\"align\":\"center\",\"header-align\":\"center\",\"prop\":\"used\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',{attrs:{\"type\":scope.row.used ? 'danger' : 'success',\"disable-transitions\":\"\"}},[_vm._v(_vm._s(scope.row.used ? _vm.$t('invites.used') : _vm.$t('invites.active')))])]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.actions'),\"min-width\":_vm.isDesktop ? 100 : 50,\"align\":\"center\",\"header-align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"small\"},nativeOn:{\"click\":function($event){return _vm.revokeInviteToken(scope.row.token)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('invites.revoke'))+\"\\n \")])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"invites-container\">\n <h1>{{ $t('invites.inviteTokens') }}</h1>\n <div class=\"actions-container\">\n <el-button class=\"create-invite-token\" @click=\"createTokenDialogVisible = true\">\n <span>\n <i class=\"icon el-icon-plus\"/>\n {{ $t('invites.createInviteToken') }}\n </span>\n </el-button>\n <el-button class=\"invite-via-email\" @click=\"inviteUserDialogVisible = true\">\n <span>\n <i class=\"icon el-icon-message\"/>\n {{ $t('invites.inviteUserViaEmail') }}\n </span>\n </el-button>\n </div>\n <el-dialog\n :visible.sync=\"createTokenDialogVisible\"\n :show-close=\"false\"\n :title=\"$t('invites.createInviteToken')\"\n custom-class=\"create-new-token-dialog\">\n <el-form ref=\"newTokenForm\" :model=\"newTokenForm\" :label-width=\"getLabelWidth\" status-icon>\n <el-form-item :label=\"$t('invites.maxUse')\">\n <el-input-number\n v-model=\"newTokenForm.maxUse\"\n :min=\"0\"\n :size=\"isDesktop ? 'medium' : 'small'\"\n name=\"maxUse\"/>\n </el-form-item>\n <el-form-item :label=\"$t('invites.expiresAt')\">\n <el-date-picker\n v-model=\"newTokenForm.expiresAt\"\n :placeholder=\"$t('invites.pickDate')\"\n class=\"pick-date\"\n type=\"date\"\n name=\"date\"\n value-format=\"yyyy-MM-dd\"/>\n </el-form-item>\n </el-form>\n <span slot=\"footer\">\n <el-button @click=\"closeDialogWindow\">{{ $t('invites.cancel') }}</el-button>\n <el-button type=\"primary\" @click=\"createToken\">{{ $t('invites.create') }}</el-button>\n </span>\n <el-card v-if=\"'token' in newToken\">\n <div slot=\"header\" class=\"clearfix\">\n <span>{{ $t('invites.tokenCreated') }}</span>\n </div>\n <p>{{ this.$t('invites.token') }}: {{ newToken.token }}</p>\n <p>{{ this.$t('invites.maxUse') }}: {{ newToken.maxUse }}</p>\n <p>{{ this.$t('invites.expiresAt') }}: {{ newToken.expiresAt }}</p>\n </el-card>\n </el-dialog>\n <el-dialog\n :visible.sync=\"inviteUserDialogVisible\"\n :show-close=\"false\"\n :title=\"$t('invites.sendRegistration')\"\n custom-class=\"invite-via-email-dialog\">\n <div>\n <p class=\"info\">{{ $t('invites.inviteViaEmailAlert') }}</p>\n <el-form ref=\"inviteUserForm\" :model=\"inviteUserForm\" :rules=\"rules\" :label-width=\"getLabelWidth\" status-icon>\n <el-form-item :label=\"$t('invites.email')\" prop=\"email\">\n <el-input v-model=\"inviteUserForm.email\" name=\"email\" type=\"email\" autofocus/>\n </el-form-item>\n <el-form-item :label=\"$t('invites.name')\" prop=\"name\">\n <el-input v-model=\"inviteUserForm.name\" name=\"name\"/>\n </el-form-item>\n </el-form>\n </div>\n <span slot=\"footer\">\n <el-button @click=\"closeDialogWindow\">{{ $t('invites.cancel') }}</el-button>\n <el-button type=\"primary\" @click=\"inviteUserViaEmail\">{{ $t('invites.create') }}</el-button>\n </span>\n </el-dialog>\n <el-table\n v-loading=\"loading\"\n :data=\"tokens\"\n :default-sort = \"{prop: 'used', order: 'ascending'}\"\n class=\"invite-token-table\">\n <el-table-column\n v-if=\"isDesktop\"\n :label=\"$t('invites.id')\"\n min-width=\"60\"\n prop=\"id\"\n sortable/>\n <el-table-column\n :label=\"$t('invites.token')\"\n :min-width=\"isDesktop ? 350 : 125\"\n prop=\"token\"/>\n <el-table-column\n v-if=\"isDesktop\"\n :label=\"$t('invites.expiresAt')\"\n align=\"center\"\n header-align=\"center\"\n min-width=\"110\"\n prop=\"expires_at\"\n sortable/>\n <el-table-column\n :label=\"$t('invites.maxUse')\"\n align=\"center\"\n header-align=\"center\"\n min-width=\"60\"\n prop=\"max_use\"\n sortable/>\n <el-table-column\n v-if=\"isDesktop\"\n :label=\"$t('invites.uses')\"\n align=\"center\"\n header-align=\"center\"\n min-width=\"60\"\n prop=\"uses\"/>\n <el-table-column\n :label=\"$t('invites.used')\"\n :min-width=\"isDesktop ? 60 : 50\"\n align=\"center\"\n header-align=\"center\"\n prop=\"used\"\n sortable>\n <template slot-scope=\"scope\">\n <el-tag\n :type=\"scope.row.used ? 'danger' : 'success'\"\n disable-transitions>{{ scope.row.used ? $t('invites.used') : $t('invites.active') }}</el-tag>\n </template>\n </el-table-column>\n <el-table-column\n :label=\"$t('invites.actions')\"\n :min-width=\"isDesktop ? 100 : 50\"\n align=\"center\"\n header-align=\"center\">\n <template slot-scope=\"scope\">\n <el-button type=\"text\" size=\"small\" @click.native=\"revokeInviteToken(scope.row.token)\">\n {{ $t('invites.revoke') }}\n </el-button>\n </template>\n </el-table-column>\n </el-table>\n </div>\n</template>\n\n<script>\nexport default {\n data() {\n return {\n rules: {\n email: [\n { validator: this.validateEmail, trigger: 'blur' }\n ]\n },\n newTokenForm: {\n maxUse: 1,\n expiresAt: ''\n },\n inviteUserForm: {\n email: '',\n name: ''\n },\n createTokenDialogVisible: false,\n inviteUserDialogVisible: false\n }\n },\n computed: {\n getLabelWidth() {\n return this.isDesktop ? '100px' : '80px'\n },\n isDesktop() {\n return this.$store.state.app.device === 'desktop'\n },\n loading() {\n return this.$store.state.invites.loading\n },\n newToken() {\n return this.$store.state.invites.newToken\n },\n tokens() {\n return this.$store.state.invites.inviteTokens\n }\n },\n mounted() {\n this.$store.dispatch('FetchInviteTokens')\n },\n methods: {\n closeDialogWindow() {\n this.inviteUserDialogVisible = false\n this.createTokenDialogVisible = false\n this.$store.dispatch('RemoveNewToken')\n this.$data.inviteUserForm.email = ''\n this.$data.inviteUserForm.name = ''\n },\n createToken() {\n this.$store.dispatch('GenerateInviteToken', this.$data.newTokenForm)\n },\n async inviteUserViaEmail() {\n this.$refs['inviteUserForm'].validate(async(valid) => {\n if (valid) {\n await this.$store.dispatch('InviteUserViaEmail', this.$data.inviteUserForm)\n this.closeDialogWindow()\n } else {\n this.$message({\n type: 'error',\n message: this.$t('invites.submitFormError')\n })\n return false\n }\n })\n },\n revokeInviteToken(token) {\n this.$store.dispatch('RevokeToken', token)\n },\n validateEmail(rule, value, callback) {\n if (value === '') {\n return callback(new Error(this.$t('invites.emptyEmailError')))\n } else if (!this.validEmail(value)) {\n return callback(new Error(this.$t('invites.invalidEmailError')))\n } else {\n return callback()\n }\n },\n validEmail(email) {\n const re = /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/\n return re.test(email)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.invites-container {\n .actions-container {\n display: flex;\n height: 36px;\n justify-content: space-between;\n align-items: center;\n margin: 20px 15px 15px 15px;\n }\n .create-invite-token {\n text-align: left;\n width: 350px;\n padding: 10px;\n }\n .create-new-token-dialog {\n width: 40%\n }\n .el-dialog__body {\n padding: 5px 20px 0 20px\n }\n h1 {\n margin: 22px 0 0 15px;\n }\n .icon {\n margin-right: 5px;\n }\n .invite-token-table {\n width: 100%;\n margin: 0 15px;\n }\n .invite-via-email {\n text-align: left;\n width: 350px;\n padding: 10px;\n }\n .invite-via-email-dialog {\n width: 50%\n }\n .info {\n color: #666666;\n font-size: 13px;\n line-height: 22px;\n margin: 0 0 10px 0;\n }\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .invites-container {\n .actions-container {\n display: flex;\n height: 82px;\n flex-direction: column;\n align-items: center;\n margin: 15px 10px 7px 10px;\n }\n .create-invite-token {\n width: 100%;\n }\n .create-new-token-dialog {\n width: 85%\n }\n .el-date-editor {\n width: 150px;\n }\n .el-dialog__body {\n padding: 5px 15px 0 15px\n }\n h1 {\n margin: 7px 10px 15px 10px;\n }\n .invite-token-table {\n width: 100%;\n margin: 0;\n }\n .invite-via-email {\n width: 100%;\n margin: 10px 0 0 0;\n }\n .invite-via-email-dialog {\n width: 85%\n }\n .info {\n margin: 0 0 10px 5px;\n }\n }\n .create-invite-token {\n width: 100%\n }\n .invite-via-email {\n width: 100%\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=3683f29a&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\""],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-23b2.442bb8df.js b/priv/static/adminfe/static/js/chunk-23b2.442bb8df.js
deleted file mode 100644
index 61cfc7826..000000000
--- a/priv/static/adminfe/static/js/chunk-23b2.442bb8df.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-23b2"],{"/Z02":function(e,t,s){},"6eCR":function(e,t,s){"use strict";var r=s("Jdpf");s.n(r).a},DPTh:function(e,t,s){"use strict";var r=s("vg5t");s.n(r).a},DVld:function(e,t,s){"use strict";var r=s("/Z02");s.n(r).a},Jdpf:function(e,t,s){},RGjw:function(e,t,s){"use strict";s.r(t);var r=s("o0o1"),n=s.n(r),i=s("yXPU"),a=s.n(i),o=s("9/5/"),c=s.n(o),u=s("ZhIB"),l=s.n(u),d=s("lSNA"),p=s.n(d),v=s("MVZn"),m=s.n(v),f={data:function(){return{value:[]}},computed:{isDesktop:function(){return"desktop"===this.$store.state.app.device}},methods:{removeOppositeFilters:function(){var e=Object.keys(this.$store.state.users.filters).length,t=this.$data.value.slice(),s=t.indexOf("local"),r=t.indexOf("external"),n=t.indexOf("active"),i=t.indexOf("deactivated");if(t.length===e)return[];if(s>-1&&r>-1){var a=s>r?r:s;t.splice(a,1)}else if(n>-1&&i>-1){var o=n>i?i:n;t.splice(o,1)}return t},toggleFilters:function(){this.$data.value=this.removeOppositeFilters();var e=this.$data.value.reduce(function(e,t){return m()({},e,p()({},t,!0))},{});this.$store.dispatch("ToggleUsersFilter",e)}}},g=(s("DVld"),s("KHd+")),_=Object(g.a)(f,function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("el-select",{staticClass:"select-field",attrs:{clearable:e.isDesktop,placeholder:e.$t("usersFilter.inputPlaceholder"),multiple:""},on:{change:e.toggleFilters},model:{value:e.value,callback:function(t){e.value=t},expression:"value"}},[s("el-option-group",{attrs:{label:e.$t("usersFilter.byUserType")}},[s("el-option",{attrs:{value:"local"}},[e._v(e._s(e.$t("usersFilter.local")))]),e._v(" "),s("el-option",{attrs:{value:"external"}},[e._v(e._s(e.$t("usersFilter.external")))])],1),e._v(" "),s("el-option-group",{attrs:{label:e.$t("usersFilter.byStatus")}},[s("el-option",{attrs:{value:"active"}},[e._v(e._s(e.$t("usersFilter.active")))]),e._v(" "),s("el-option",{attrs:{value:"deactivated"}},[e._v(e._s(e.$t("usersFilter.deactivated")))])],1)],1)},[],!1,null,"71bc6b38",null);_.options.__file="UsersFilter.vue";var h=_.exports,w={props:{selectedUsers:{type:Array,default:function(){return[]}}},computed:{showDropdownForMultipleUsers:function(){return this.$props.selectedUsers.length>0},isDesktop:function(){return"desktop"===this.$store.state.app.device}},methods:{mappers:function(){var e=this,t=function(t,s){return Promise.all(t.map(s)).then(function(){e.$message({type:"success",message:e.$t("users.completed")}),e.$emit("apply-action")}).catch(function(e){console.log(e)})};return{grantRight:function(s){return function(){var r=function(){var t=a()(n.a.mark(function t(r){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("ToggleRight",{user:r,right:s});case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}(),i=e.selectedUsers.filter(function(t){return t.local&&!t.roles[s]&&e.$store.state.user.id!==t.id});t(i,r)}},revokeRight:function(s){return function(){var r=function(){var t=a()(n.a.mark(function t(r){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("ToggleRight",{user:r,right:s});case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}(),i=e.selectedUsers.filter(function(t){return t.local&&t.roles[s]&&e.$store.state.user.id!==t.id});t(i,r)}},activate:function(){var s=e.selectedUsers.filter(function(t){return t.deactivated&&e.$store.state.user.id!==t.id});t(s,function(){var t=a()(n.a.mark(function t(s){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("ToggleUserActivation",s.nickname);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}())},deactivate:function(){var s=e.selectedUsers.filter(function(t){return!t.deactivated&&e.$store.state.user.id!==t.id});t(s,function(){var t=a()(n.a.mark(function t(s){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("ToggleUserActivation",s.nickname);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}())},remove:function(){var s=e.selectedUsers.filter(function(t){return e.$store.state.user.id!==t.id});t(s,function(){var t=a()(n.a.mark(function t(s){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("DeleteUser",s);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}())},addTag:function(t){return a()(n.a.mark(function s(){var r,i;return n.a.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return r=function(e){return"disable_remote_subscription"===t||"disable_any_subscription"===t?e.local&&!e.tags.includes(t):!e.tags.includes(t)},i=e.selectedUsers.filter(r),s.prev=2,s.next=5,e.$store.dispatch("AddTag",{users:i,tag:t});case 5:s.next=11;break;case 7:return s.prev=7,s.t0=s.catch(2),console.log(s.t0),s.abrupt("return");case 11:e.$message({type:"success",message:e.$t("users.completed")}),e.$emit("apply-action");case 13:case"end":return s.stop()}},s,null,[[2,7]])}))},removeTag:function(t){return a()(n.a.mark(function s(){var r,i;return n.a.wrap(function(s){for(;;)switch(s.prev=s.next){case 0:return r=function(e){return"disable_remote_subscription"===t||"disable_any_subscription"===t?e.local&&e.tags.includes(t):e.tags.includes(t)},i=e.selectedUsers.filter(r),s.prev=2,s.next=5,e.$store.dispatch("RemoveTag",{users:i,tag:t});case 5:s.next=11;break;case 7:return s.prev=7,s.t0=s.catch(2),console.log(s.t0),s.abrupt("return");case 11:e.$message({type:"success",message:e.$t("users.completed")}),e.$emit("apply-action");case 13:case"end":return s.stop()}},s,null,[[2,7]])}))},requirePasswordReset:function(){e.selectedUsers.map(function(t){return e.$store.dispatch("RequirePasswordReset",t)})}}},grantRightToMultipleUsers:function(e){var t=this.mappers().grantRight;this.confirmMessage(this.$t("users.grantRightConfirmation",{right:e}),t(e))},revokeRightFromMultipleUsers:function(e){var t=this.mappers().revokeRight;this.confirmMessage(this.$t("users.revokeRightConfirmation",{right:e}),t(e))},activateMultipleUsers:function(){var e=this.mappers().activate;this.confirmMessage(this.$t("users.activateMultipleUsersConfirmation"),e)},deactivateMultipleUsers:function(){var e=this.mappers().deactivate;this.confirmMessage(this.$t("users.deactivateMultipleUsersConfirmation"),e)},deleteMultipleUsers:function(){var e=this.mappers().remove;this.confirmMessage(this.$t("users.deleteMultipleUsersConfirmation"),e)},requirePasswordReset:function(){if(this.$store.state.user.nodeInfo.metadata.mailerEnabled){var e=this.mappers().requirePasswordReset;this.confirmMessage(this.$t("users.requirePasswordResetConfirmation"),e)}else this.$alert(this.$t("users.mailerMustBeEnabled"),"Error",{type:"error"})},addTagForMultipleUsers:function(e){var t=this.mappers().addTag;this.confirmMessage(this.$t("users.addTagForMultipleUsersConfirmation"),t(e))},removeTagFromMultipleUsers:function(e){var t=this.mappers().removeTag;this.confirmMessage(this.$t("users.removeTagFromMultipleUsersConfirmation"),t(e))},confirmMessage:function(e,t){var s=this;this.$confirm(e,{confirmButtonText:this.$t("users.ok"),cancelButtonText:this.$t("users.cancel"),type:"warning"}).then(function(){t()}).catch(function(){s.$message({type:"info",message:s.$t("users.canceled")})})}}},$=(s("Zfjx"),Object(g.a)(w,function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("el-dropdown",{attrs:{size:"small",trigger:"click",placement:"bottom-start"}},[e.isDesktop?s("el-button",{staticClass:"actions-button"},[s("span",{staticClass:"actions-button-container"},[s("span",[s("i",{staticClass:"el-icon-edit"}),e._v("\n "+e._s(e.$t("users.moderateUsers"))+"\n ")]),e._v(" "),s("i",{staticClass:"el-icon-arrow-down el-icon--right"})])]):e._e(),e._v(" "),e.showDropdownForMultipleUsers?s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[s("el-dropdown-item",{nativeOn:{click:function(t){return e.grantRightToMultipleUsers("admin")}}},[e._v("\n "+e._s(e.$t("users.grantAdmin"))+"\n ")]),e._v(" "),s("el-dropdown-item",{nativeOn:{click:function(t){return e.revokeRightFromMultipleUsers("admin")}}},[e._v("\n "+e._s(e.$t("users.revokeAdmin"))+"\n ")]),e._v(" "),s("el-dropdown-item",{nativeOn:{click:function(t){return e.grantRightToMultipleUsers("moderator")}}},[e._v("\n "+e._s(e.$t("users.grantModerator"))+"\n ")]),e._v(" "),s("el-dropdown-item",{nativeOn:{click:function(t){return e.revokeRightFromMultipleUsers("moderator")}}},[e._v("\n "+e._s(e.$t("users.revokeModerator"))+"\n ")]),e._v(" "),s("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(t){return e.activateMultipleUsers(t)}}},[e._v("\n "+e._s(e.$t("users.activateAccounts"))+"\n ")]),e._v(" "),s("el-dropdown-item",{nativeOn:{click:function(t){return e.deactivateMultipleUsers(t)}}},[e._v("\n "+e._s(e.$t("users.deactivateAccounts"))+"\n ")]),e._v(" "),s("el-dropdown-item",{nativeOn:{click:function(t){return e.deleteMultipleUsers(t)}}},[e._v("\n "+e._s(e.$t("users.deleteAccounts"))+"\n ")]),e._v(" "),s("el-dropdown-item",{nativeOn:{click:function(t){return e.requirePasswordReset(t)}}},[e._v("\n "+e._s(e.$t("users.requirePasswordReset"))+"\n ")]),e._v(" "),s("el-dropdown-item",{staticClass:"no-hover",attrs:{divided:""}},[s("div",{staticClass:"tag-container"},[s("span",{staticClass:"tag-text"},[e._v(e._s(e.$t("users.forceNsfw")))]),e._v(" "),s("el-button-group",{staticClass:"tag-button-group"},[s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.addTagForMultipleUsers("force_nsfw")}}},[e._v("\n "+e._s(e.$t("users.apply"))+"\n ")]),e._v(" "),s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.removeTagFromMultipleUsers("force_nsfw")}}},[e._v("\n "+e._s(e.$t("users.remove"))+"\n ")])],1)],1)]),e._v(" "),s("el-dropdown-item",{staticClass:"no-hover"},[s("div",{staticClass:"tag-container"},[s("span",{staticClass:"tag-text"},[e._v(e._s(e.$t("users.stripMedia")))]),e._v(" "),s("el-button-group",{staticClass:"tag-button-group"},[s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.addTagForMultipleUsers("strip_media")}}},[e._v("\n "+e._s(e.$t("users.apply"))+"\n ")]),e._v(" "),s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.removeTagFromMultipleUsers("strip_media")}}},[e._v("\n "+e._s(e.$t("users.remove"))+"\n ")])],1)],1)]),e._v(" "),s("el-dropdown-item",{staticClass:"no-hover"},[s("div",{staticClass:"tag-container"},[s("span",{staticClass:"tag-text"},[e._v(e._s(e.$t("users.forceUnlisted")))]),e._v(" "),s("el-button-group",{staticClass:"tag-button-group"},[s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.addTagForMultipleUsers("force_unlisted")}}},[e._v("\n "+e._s(e.$t("users.apply"))+"\n ")]),e._v(" "),s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.removeTagFromMultipleUsers("force_unlisted")}}},[e._v("\n "+e._s(e.$t("users.remove"))+"\n ")])],1)],1)]),e._v(" "),s("el-dropdown-item",{staticClass:"no-hover"},[s("div",{staticClass:"tag-container"},[s("span",{staticClass:"tag-text"},[e._v(e._s(e.$t("users.sandbox")))]),e._v(" "),s("el-button-group",{staticClass:"tag-button-group"},[s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.addTagForMultipleUsers("sandbox")}}},[e._v("\n "+e._s(e.$t("users.apply"))+"\n ")]),e._v(" "),s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.removeTagFromMultipleUsers("sandbox")}}},[e._v("\n "+e._s(e.$t("users.remove"))+"\n ")])],1)],1)]),e._v(" "),s("el-dropdown-item",{staticClass:"no-hover"},[s("div",{staticClass:"tag-container"},[s("span",{staticClass:"tag-text"},[e._v(e._s(e.$t("users.disableRemoteSubscriptionForMultiple")))]),e._v(" "),s("el-button-group",{staticClass:"tag-button-group"},[s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.addTagForMultipleUsers("disable_remote_subscription")}}},[e._v("\n "+e._s(e.$t("users.apply"))+"\n ")]),e._v(" "),s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.removeTagFromMultipleUsers("disable_remote_subscription")}}},[e._v("\n "+e._s(e.$t("users.remove"))+"\n ")])],1)],1)]),e._v(" "),s("el-dropdown-item",{staticClass:"no-hover"},[s("div",{staticClass:"tag-container"},[s("span",{staticClass:"tag-text"},[e._v(e._s(e.$t("users.disableAnySubscriptionForMultiple")))]),e._v(" "),s("el-button-group",{staticClass:"tag-button-group"},[s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.addTagForMultipleUsers("disable_any_subscription")}}},[e._v("\n "+e._s(e.$t("users.apply"))+"\n ")]),e._v(" "),s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.removeTagFromMultipleUsers("disable_any_subscription")}}},[e._v("\n "+e._s(e.$t("users.remove"))+"\n ")])],1)],1)])],1):s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[s("el-dropdown-item",[e._v("\n "+e._s(e.$t("users.selectUsers"))+"\n ")])],1)],1)},[],!1,null,"a2aed82c",null));$.options.__file="MultipleUsersMenu.vue";var b=$.exports,k={name:"NewAccountDialog",props:{dialogFormVisible:{type:Boolean,default:function(){return!1}}},data:function(){return{newUserForm:{nickname:"",email:"",password:""},rules:{nickname:[{validator:this.validateUsername,trigger:"blur"}],email:[{validator:this.validateEmail,trigger:"blur"}],password:[{validator:this.validatePassword,trigger:"blur"}]}}},computed:{isDesktop:function(){return"desktop"===this.$store.state.app.device},isVisible:{get:function(){return this.$props.dialogFormVisible},set:function(){this.closeDialogWindow()}},getLabelWidth:function(){return this.isDesktop?"120px":"85px"}},methods:{closeDialogWindow:function(){this.$emit("closeWindow")},resetForm:function(){var e=this;this.$nextTick(function(){e.$refs.newUserForm.resetFields()})},submitForm:function(e){var t=this;this.$refs[e].validate(function(e){if(!e)return t.$message({type:"error",message:t.$t("users.submitFormError")}),!1;t.$emit("createNewAccount",t.$data.newUserForm)})},validateEmail:function(e,t,s){return""===t?s(new Error(this.$t("users.emptyEmailError"))):this.validEmail(t)?s():s(new Error(this.$t("users.invalidEmailError")))},validatePassword:function(e,t,s){return""===t?s(new Error(this.$t("users.emptyPasswordError"))):s()},validateUsername:function(e,t,s){return""===t?s(new Error(this.$t("users.emptyNicknameError"))):this.validNickname(t)?s():s(new Error(this.$t("users.invalidNicknameError")))},validEmail:function(e){return/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(e)},validNickname:function(e){return/^[a-zA-Z\d]+$/.test(e)}}},U=(s("DPTh"),Object(g.a)(k,function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("el-dialog",{attrs:{visible:e.isVisible,"show-close":!1,title:e.$t("users.createAccount"),"custom-class":"create-user-dialog"},on:{"update:visible":function(t){e.isVisible=t},open:e.resetForm}},[s("el-form",{ref:"newUserForm",attrs:{model:e.newUserForm,rules:e.rules,"label-width":e.getLabelWidth,"status-icon":""}},[s("el-form-item",{staticClass:"create-account-form-item",attrs:{label:e.$t("users.username"),prop:"nickname"}},[s("el-input",{attrs:{name:"nickname",autofocus:""},model:{value:e.newUserForm.nickname,callback:function(t){e.$set(e.newUserForm,"nickname",t)},expression:"newUserForm.nickname"}})],1),e._v(" "),s("el-form-item",{staticClass:"create-account-form-item",attrs:{label:e.$t("users.email"),prop:"email"}},[s("el-input",{attrs:{name:"email",type:"email"},model:{value:e.newUserForm.email,callback:function(t){e.$set(e.newUserForm,"email",t)},expression:"newUserForm.email"}})],1),e._v(" "),s("el-form-item",{staticClass:"create-account-form-item-without-margin",attrs:{label:e.$t("users.password"),prop:"password"}},[s("el-input",{attrs:{type:"password",name:"password",autocomplete:"off"},model:{value:e.newUserForm.password,callback:function(t){e.$set(e.newUserForm,"password",t)},expression:"newUserForm.password"}})],1)],1),e._v(" "),s("span",{attrs:{slot:"footer"},slot:"footer"},[s("el-button",{on:{click:e.closeDialogWindow}},[e._v(e._s(e.$t("users.cancel")))]),e._v(" "),s("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.submitForm("newUserForm")}}},[e._v(e._s(e.$t("users.create")))])],1)],1)},[],!1,null,null,null));U.options.__file="NewAccountDialog.vue";var C={name:"Users",components:{UsersFilter:h,MultipleUsersMenu:b,NewAccountDialog:U.exports},data:function(){return{search:"",selectedUsers:[],createAccountDialogOpen:!1,resetPasswordDialogOpen:!1}},computed:{loading:function(){return this.$store.state.users.loading},normalizedUsersCount:function(){return l()(this.$store.state.users.totalUsersCount).format("0a")},users:function(){return this.$store.state.users.fetchedUsers},usersCount:function(){return this.$store.state.users.totalUsersCount},pageSize:function(){return this.$store.state.users.pageSize},passwordResetLink:function(){return this.$store.state.users.passwordResetToken.link},passwordResetToken:function(){return this.$store.state.users.passwordResetToken.token},currentPage:function(){return this.$store.state.users.currentPage},isDesktop:function(){return"desktop"===this.$store.state.app.device},isMobile:function(){return"mobile"===this.$store.state.app.device},width:function(){return!!this.isMobile&&55}},created:function(){var e=this;this.handleDebounceSearchInput=c()(function(t){e.$store.dispatch("SearchUsers",{query:t,page:1})},500)},mounted:function(){this.$store.dispatch("FetchUsers",{page:1})},methods:{activationIcon:function(e){return e?"el-icon-error":"el-icon-success"},clearSelection:function(){this.$refs.usersTable.clearSelection()},createNewAccount:function(){var e=a()(n.a.mark(function e(t){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("CreateNewAccount",t);case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:return e.prev=8,this.createAccountDialogOpen=!1,e.finish(8);case 11:this.$message({type:"success",message:this.$t("users.accountCreated")});case 12:case"end":return e.stop()}},e,this,[[0,5,8,11]])}));return function(t){return e.apply(this,arguments)}}(),getFirstLetter:function(e){return e.charAt(0).toUpperCase()},getPasswordResetToken:function(e){this.resetPasswordDialogOpen=!0,this.$store.dispatch("GetPasswordResetToken",e)},requirePasswordReset:function(e){this.$store.state.user.nodeInfo.metadata.mailerEnabled?this.$store.dispatch("RequirePasswordReset",{nickname:e}):this.$alert(this.$t("users.mailerMustBeEnabled"),"Error",{type:"error"})},handleDeactivation:function(e){var t=e.nickname;this.$store.dispatch("ToggleUserActivation",t)},handleDeletion:function(e){this.$store.dispatch("DeleteUser",e)},handlePageChange:function(e){var t=this.$store.state.users.searchQuery;""===t?this.$store.dispatch("FetchUsers",{page:e}):this.$store.dispatch("SearchUsers",{query:t,page:e})},handleSelectionChange:function(e){this.$data.selectedUsers=e},closeResetPasswordDialog:function(){this.resetPasswordDialogOpen=!1,this.$store.dispatch("RemovePasswordToken")},showAdminAction:function(e){var t=e.local,s=e.id;return t&&this.showDeactivatedButton(s)},showDeactivatedButton:function(e){return this.$store.state.user.id!==e},toggleTag:function(e,t){e.tags.includes(t)?this.$store.dispatch("RemoveTag",{users:[e],tag:t}):this.$store.dispatch("AddTag",{users:[e],tag:t})},toggleUserRight:function(e,t){this.$store.dispatch("ToggleRight",{user:e,right:t})}}},F=(s("6eCR"),Object(g.a)(C,function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"users-container"},[s("h1",[e._v("\n "+e._s(e.$t("users.users"))+"\n "),s("span",{staticClass:"user-count"},[e._v("("+e._s(e.normalizedUsersCount)+")")])]),e._v(" "),s("div",{staticClass:"filter-container"},[s("users-filter"),e._v(" "),s("el-input",{staticClass:"search",attrs:{placeholder:e.$t("users.search")},on:{input:e.handleDebounceSearchInput},model:{value:e.search,callback:function(t){e.search=t},expression:"search"}})],1),e._v(" "),s("div",{staticClass:"actions-container"},[s("el-button",{staticClass:"actions-button create-account",on:{click:function(t){e.createAccountDialogOpen=!0}}},[s("span",[s("i",{staticClass:"el-icon-plus"}),e._v("\n "+e._s(e.$t("users.createAccount"))+"\n ")])]),e._v(" "),s("multiple-users-menu",{attrs:{"selected-users":e.selectedUsers},on:{"apply-action":e.clearSelection}})],1),e._v(" "),s("new-account-dialog",{attrs:{"dialog-form-visible":e.createAccountDialogOpen},on:{createNewAccount:e.createNewAccount,closeWindow:function(t){e.createAccountDialogOpen=!1}}}),e._v(" "),s("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"usersTable",staticStyle:{width:"100%"},attrs:{data:e.users,"row-key":"id"},on:{"selection-change":e.handleSelectionChange}},[e.isDesktop?s("el-table-column",{attrs:{type:"selection","reserve-selection":"",width:"44",align:"center"}}):e._e(),e._v(" "),s("el-table-column",{attrs:{"min-width":e.width,label:e.$t("users.id"),prop:"id"}}),e._v(" "),s("el-table-column",{attrs:{label:e.$t("users.name"),prop:"nickname"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("router-link",{attrs:{to:{name:"UsersShow",params:{id:t.row.id}}}},[e._v(e._s(t.row.nickname))]),e._v(" "),e.isDesktop?s("el-tag",{attrs:{type:"info",size:"mini"}},[s("span",[e._v(e._s(t.row.local?e.$t("users.local"):e.$t("users.external")))])]):e._e()]}}])}),e._v(" "),s("el-table-column",{attrs:{"min-width":e.width,label:e.$t("users.status")},scopedSlots:e._u([{key:"default",fn:function(t){return[s("el-tag",{attrs:{type:t.row.deactivated?"danger":"success"}},[e.isDesktop?s("span",[e._v(e._s(t.row.deactivated?e.$t("users.deactivated"):e.$t("users.active")))]):s("i",{class:e.activationIcon(t.row.deactivated)})]),e._v(" "),t.row.roles.admin?s("el-tag",[s("span",[e._v(e._s(e.isDesktop?e.$t("users.admin"):e.getFirstLetter(e.$t("users.admin"))))])]):e._e(),e._v(" "),t.row.roles.moderator?s("el-tag",[s("span",[e._v(e._s(e.isDesktop?e.$t("users.moderator"):e.getFirstLetter(e.$t("users.moderator"))))])]):e._e()]}}])}),e._v(" "),s("el-table-column",{attrs:{label:e.$t("users.actions"),fixed:"right"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("el-dropdown",{attrs:{size:"small",trigger:"click"}},[s("span",{staticClass:"el-dropdown-link"},[e._v("\n "+e._s(e.$t("users.moderation"))+"\n "),e.isDesktop?s("i",{staticClass:"el-icon-arrow-down el-icon--right"}):e._e()]),e._v(" "),s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[e.showAdminAction(t.row)?s("el-dropdown-item",{nativeOn:{click:function(s){return e.toggleUserRight(t.row,"admin")}}},[e._v("\n "+e._s(t.row.roles.admin?e.$t("users.revokeAdmin"):e.$t("users.grantAdmin"))+"\n ")]):e._e(),e._v(" "),e.showAdminAction(t.row)?s("el-dropdown-item",{nativeOn:{click:function(s){return e.toggleUserRight(t.row,"moderator")}}},[e._v("\n "+e._s(t.row.roles.moderator?e.$t("users.revokeModerator"):e.$t("users.grantModerator"))+"\n ")]):e._e(),e._v(" "),e.showDeactivatedButton(t.row.id)?s("el-dropdown-item",{attrs:{divided:e.showAdminAction(t.row)},nativeOn:{click:function(s){return e.handleDeactivation(t.row)}}},[e._v("\n "+e._s(t.row.deactivated?e.$t("users.activateAccount"):e.$t("users.deactivateAccount"))+"\n ")]):e._e(),e._v(" "),e.showDeactivatedButton(t.row.id)?s("el-dropdown-item",{nativeOn:{click:function(s){return e.handleDeletion(t.row)}}},[e._v("\n "+e._s(e.$t("users.deleteAccount"))+"\n ")]):e._e(),e._v(" "),s("el-dropdown-item",{class:{"active-tag":t.row.tags.includes("force_nsfw")},attrs:{divided:e.showAdminAction(t.row)},nativeOn:{click:function(s){return e.toggleTag(t.row,"force_nsfw")}}},[e._v("\n "+e._s(e.$t("users.forceNsfw"))+"\n "),t.row.tags.includes("force_nsfw")?s("i",{staticClass:"el-icon-check"}):e._e()]),e._v(" "),s("el-dropdown-item",{class:{"active-tag":t.row.tags.includes("strip_media")},nativeOn:{click:function(s){return e.toggleTag(t.row,"strip_media")}}},[e._v("\n "+e._s(e.$t("users.stripMedia"))+"\n "),t.row.tags.includes("strip_media")?s("i",{staticClass:"el-icon-check"}):e._e()]),e._v(" "),s("el-dropdown-item",{class:{"active-tag":t.row.tags.includes("force_unlisted")},nativeOn:{click:function(s){return e.toggleTag(t.row,"force_unlisted")}}},[e._v("\n "+e._s(e.$t("users.forceUnlisted"))+"\n "),t.row.tags.includes("force_unlisted")?s("i",{staticClass:"el-icon-check"}):e._e()]),e._v(" "),s("el-dropdown-item",{class:{"active-tag":t.row.tags.includes("sandbox")},nativeOn:{click:function(s){return e.toggleTag(t.row,"sandbox")}}},[e._v("\n "+e._s(e.$t("users.sandbox"))+"\n "),t.row.tags.includes("sandbox")?s("i",{staticClass:"el-icon-check"}):e._e()]),e._v(" "),t.row.local?s("el-dropdown-item",{class:{"active-tag":t.row.tags.includes("disable_remote_subscription")},nativeOn:{click:function(s){return e.toggleTag(t.row,"disable_remote_subscription")}}},[e._v("\n "+e._s(e.$t("users.disableRemoteSubscription"))+"\n "),t.row.tags.includes("disable_remote_subscription")?s("i",{staticClass:"el-icon-check"}):e._e()]):e._e(),e._v(" "),t.row.local?s("el-dropdown-item",{class:{"active-tag":t.row.tags.includes("disable_any_subscription")},nativeOn:{click:function(s){return e.toggleTag(t.row,"disable_any_subscription")}}},[e._v("\n "+e._s(e.$t("users.disableAnySubscription"))+"\n "),t.row.tags.includes("disable_any_subscription")?s("i",{staticClass:"el-icon-check"}):e._e()]):e._e(),e._v(" "),t.row.local?s("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(s){return e.getPasswordResetToken(t.row.nickname)}}},[e._v("\n "+e._s(e.$t("users.getPasswordResetToken"))+"\n ")]):e._e(),e._v(" "),t.row.local?s("el-dropdown-item",{nativeOn:{click:function(s){return e.requirePasswordReset(t.row.nickname)}}},[e._v("\n "+e._s(e.$t("users.requirePasswordReset"))+"\n ")]):e._e()],1)],1)]}}])})],1),e._v(" "),s("el-dialog",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],attrs:{visible:e.resetPasswordDialogOpen,title:e.$t("users.passwordResetTokenCreated"),"custom-class":"password-reset-token-dialog"},on:{"update:visible":function(t){e.resetPasswordDialogOpen=t},close:e.closeResetPasswordDialog}},[s("div",[s("p",{staticClass:"password-reset-token"},[e._v("Password reset token was generated: "+e._s(e.passwordResetToken))]),e._v(" "),s("p",[e._v("You can also use this link to reset password:\n "),s("a",{staticClass:"reset-password-link",attrs:{href:e.passwordResetLink,target:"_blank"}},[e._v(e._s(e.passwordResetLink))])])])]),e._v(" "),0===e.users.length?s("div",{staticClass:"no-users-message"},[s("p",[e._v("There are no users to display")])]):e._e(),e._v(" "),e.loading?e._e():s("div",{staticClass:"pagination"},[s("el-pagination",{attrs:{total:e.usersCount,"current-page":e.currentPage,"page-size":e.pageSize,background:"",layout:"prev, pager, next"},on:{"current-change":e.handlePageChange}})],1)],1)},[],!1,null,null,null));F.options.__file="index.vue";t.default=F.exports},Zfjx:function(e,t,s){"use strict";var r=s("fyBP");s.n(r).a},fyBP:function(e,t,s){},vg5t:function(e,t,s){}}]);
-//# sourceMappingURL=chunk-23b2.442bb8df.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-23b2.442bb8df.js.map b/priv/static/adminfe/static/js/chunk-23b2.442bb8df.js.map
deleted file mode 100644
index 474d1086e..000000000
--- a/priv/static/adminfe/static/js/chunk-23b2.442bb8df.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/views/users/index.vue?1afe","webpack:///./src/views/users/components/NewAccountDialog.vue?d353","webpack:///./src/views/users/components/UsersFilter.vue?f835","webpack:///./src/views/users/index.vue?d945","webpack:///./src/views/users/components/UsersFilter.vue?6a82","webpack:///src/views/users/components/UsersFilter.vue","webpack:///./src/views/users/components/UsersFilter.vue","webpack:///./src/views/users/components/UsersFilter.vue?3f06","webpack:///./src/views/users/components/MultipleUsersMenu.vue?56ef","webpack:///src/views/users/components/MultipleUsersMenu.vue","webpack:///./src/views/users/components/MultipleUsersMenu.vue","webpack:///./src/views/users/components/MultipleUsersMenu.vue?6f6f","webpack:///./src/views/users/components/NewAccountDialog.vue?9018","webpack:///src/views/users/components/NewAccountDialog.vue","webpack:///./src/views/users/components/NewAccountDialog.vue","webpack:///./src/views/users/components/NewAccountDialog.vue?0cce","webpack:///./src/views/users/index.vue?0a29","webpack:///src/views/users/index.vue","webpack:///./src/views/users/index.vue","webpack:///./src/views/users/components/MultipleUsersMenu.vue?8970"],"names":["_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_NewAccountDialog_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_UsersFilter_vue_vue_type_style_index_0_id_71bc6b38_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","components_UsersFiltervue_type_script_lang_js_","data","value","computed","isDesktop","this","$store","state","app","device","methods","removeOppositeFilters","filtersQuantity","Object","keys","users","filters","length","currentFilters","$data","slice","indexOfLocal","indexOf","indexOfExternal","indexOfActive","indexOfDeactivated","filterToRemove","splice","_filterToRemove","toggleFilters","reduce","acc","filter","objectSpread_default","defineProperty_default","dispatch","component","componentNormalizer","_vm","_h","$createElement","_c","_self","staticClass","attrs","clearable","placeholder","$t","multiple","on","change","model","callback","$$v","expression","label","_v","_s","options","__file","UsersFilter","components_MultipleUsersMenuvue_type_script_lang_js_","props","selectedUsers","type","Array","default","showDropdownForMultipleUsers","$props","mappers","_this","applyActionToAllUsers","filteredUsers","fn","Promise","all","map","then","$message","message","$emit","catch","err","console","log","grantRight","right","toggleRightFn","_ref","asyncToGenerator_default","regenerator_default","a","mark","_callee","user","wrap","_context","prev","next","abrupt","sent","stop","_x","apply","arguments","filtered","local","roles","id","revokeRight","_ref2","_callee2","_context2","_x2","activate","deactivated","_ref3","_callee3","_context3","nickname","_x3","deactivate","_ref4","_callee4","_context4","_x4","remove","_ref5","_callee5","_context5","_x5","addTag","tag","_callee6","filterUsersFn","_context6","tags","includes","t0","removeTag","_callee7","_context7","requirePasswordReset","grantRightToMultipleUsers","confirmMessage","revokeRightFromMultipleUsers","activateMultipleUsers","deactivateMultipleUsers","deleteMultipleUsers","nodeInfo","metadata","mailerEnabled","$alert","addTagForMultipleUsers","removeTagFromMultipleUsers","applyAction","_this2","$confirm","confirmButtonText","cancelButtonText","MultipleUsersMenu_component","size","trigger","placement","_e","slot","nativeOn","click","$event","divided","MultipleUsersMenu","components_NewAccountDialogvue_type_script_lang_js_","name","dialogFormVisible","Boolean","newUserForm","email","password","rules","validator","validateUsername","validateEmail","validatePassword","isVisible","get","set","closeDialogWindow","getLabelWidth","resetForm","$nextTick","$refs","resetFields","submitForm","formName","validate","valid","rule","Error","validEmail","validNickname","test","NewAccountDialog_component","visible","show-close","title","custom-class","update:visible","open","ref","label-width","status-icon","prop","autofocus","$set","autocomplete","views_usersvue_type_script_lang_js_","components","NewAccountDialog","search","createAccountDialogOpen","resetPasswordDialogOpen","loading","normalizedUsersCount","numeral_default","totalUsersCount","format","fetchedUsers","usersCount","pageSize","passwordResetLink","passwordResetToken","link","token","currentPage","isMobile","width","created","handleDebounceSearchInput","lodash_debounce_default","query","page","mounted","activationIcon","status","clearSelection","usersTable","createNewAccount","_createNewAccount","accountData","finish","getFirstLetter","str","charAt","toUpperCase","getPasswordResetToken","handleDeactivation","handleDeletion","handlePageChange","searchQuery","handleSelectionChange","closeResetPasswordDialog","showAdminAction","showDeactivatedButton","toggleTag","toggleUserRight","users_component","input","selected-users","apply-action","dialog-form-visible","closeWindow","directives","rawName","staticStyle","row-key","selection-change","reserve-selection","align","min-width","scopedSlots","_u","key","scope","to","params","row","class","fixed","admin","moderator","active-tag","close","href","target","total","current-page","page-size","background","layout","current-change","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MultipleUsersMenu_vue_vue_type_style_index_0_id_a2aed82c_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__"],"mappings":"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","file":"static/js/chunk-23b2.442bb8df.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewAccountDialog.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewAccountDialog.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersFilter.vue?vue&type=style&index=0&id=71bc6b38&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersFilter.vue?vue&type=style&index=0&id=71bc6b38&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"users-container\"},[_c('h1',[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.users'))+\"\\n \"),_c('span',{staticClass:\"user-count\"},[_vm._v(\"(\"+_vm._s(_vm.normalizedUsersCount)+\")\")])]),_vm._v(\" \"),_c('div',{staticClass:\"filter-container\"},[_c('users-filter'),_vm._v(\" \"),_c('el-input',{staticClass:\"search\",attrs:{\"placeholder\":_vm.$t('users.search')},on:{\"input\":_vm.handleDebounceSearchInput},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"actions-container\"},[_c('el-button',{staticClass:\"actions-button create-account\",on:{\"click\":function($event){_vm.createAccountDialogOpen = true}}},[_c('span',[_c('i',{staticClass:\"el-icon-plus\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t('users.createAccount'))+\"\\n \")])]),_vm._v(\" \"),_c('multiple-users-menu',{attrs:{\"selected-users\":_vm.selectedUsers},on:{\"apply-action\":_vm.clearSelection}})],1),_vm._v(\" \"),_c('new-account-dialog',{attrs:{\"dialog-form-visible\":_vm.createAccountDialogOpen},on:{\"createNewAccount\":_vm.createNewAccount,\"closeWindow\":function($event){_vm.createAccountDialogOpen = false}}}),_vm._v(\" \"),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"usersTable\",staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.users,\"row-key\":\"id\"},on:{\"selection-change\":_vm.handleSelectionChange}},[(_vm.isDesktop)?_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":\"\",\"width\":\"44\",\"align\":\"center\"}}):_vm._e(),_vm._v(\" \"),_c('el-table-column',{attrs:{\"min-width\":_vm.width,\"label\":_vm.$t('users.id'),\"prop\":\"id\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('users.name'),\"prop\":\"nickname\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('router-link',{attrs:{\"to\":{ name: 'UsersShow', params: { id: scope.row.id }}}},[_vm._v(_vm._s(scope.row.nickname))]),_vm._v(\" \"),(_vm.isDesktop)?_c('el-tag',{attrs:{\"type\":\"info\",\"size\":\"mini\"}},[_c('span',[_vm._v(_vm._s(scope.row.local ? _vm.$t('users.local') : _vm.$t('users.external')))])]):_vm._e()]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"min-width\":_vm.width,\"label\":_vm.$t('users.status')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',{attrs:{\"type\":scope.row.deactivated ? 'danger' : 'success'}},[(_vm.isDesktop)?_c('span',[_vm._v(_vm._s(scope.row.deactivated ? _vm.$t('users.deactivated') : _vm.$t('users.active')))]):_c('i',{class:_vm.activationIcon(scope.row.deactivated)})]),_vm._v(\" \"),(scope.row.roles.admin)?_c('el-tag',[_c('span',[_vm._v(_vm._s(_vm.isDesktop ? _vm.$t('users.admin') : _vm.getFirstLetter(_vm.$t('users.admin'))))])]):_vm._e(),_vm._v(\" \"),(scope.row.roles.moderator)?_c('el-tag',[_c('span',[_vm._v(_vm._s(_vm.isDesktop ? _vm.$t('users.moderator') : _vm.getFirstLetter(_vm.$t('users.moderator'))))])]):_vm._e()]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('users.actions'),\"fixed\":\"right\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-dropdown',{attrs:{\"size\":\"small\",\"trigger\":\"click\"}},[_c('span',{staticClass:\"el-dropdown-link\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.moderation'))+\"\\n \"),(_vm.isDesktop)?_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(_vm.showAdminAction(scope.row))?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.toggleUserRight(scope.row, 'admin')}}},[_vm._v(\"\\n \"+_vm._s(scope.row.roles.admin ? _vm.$t('users.revokeAdmin') : _vm.$t('users.grantAdmin'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.showAdminAction(scope.row))?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.toggleUserRight(scope.row, 'moderator')}}},[_vm._v(\"\\n \"+_vm._s(scope.row.roles.moderator ? _vm.$t('users.revokeModerator') : _vm.$t('users.grantModerator'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.showDeactivatedButton(scope.row.id))?_c('el-dropdown-item',{attrs:{\"divided\":_vm.showAdminAction(scope.row)},nativeOn:{\"click\":function($event){return _vm.handleDeactivation(scope.row)}}},[_vm._v(\"\\n \"+_vm._s(scope.row.deactivated ? _vm.$t('users.activateAccount') : _vm.$t('users.deactivateAccount'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.showDeactivatedButton(scope.row.id))?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.handleDeletion(scope.row)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.deleteAccount'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': scope.row.tags.includes('force_nsfw') },attrs:{\"divided\":_vm.showAdminAction(scope.row)},nativeOn:{\"click\":function($event){return _vm.toggleTag(scope.row, 'force_nsfw')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.forceNsfw'))+\"\\n \"),(scope.row.tags.includes('force_nsfw'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': scope.row.tags.includes('strip_media') },nativeOn:{\"click\":function($event){return _vm.toggleTag(scope.row, 'strip_media')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.stripMedia'))+\"\\n \"),(scope.row.tags.includes('strip_media'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': scope.row.tags.includes('force_unlisted') },nativeOn:{\"click\":function($event){return _vm.toggleTag(scope.row, 'force_unlisted')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.forceUnlisted'))+\"\\n \"),(scope.row.tags.includes('force_unlisted'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': scope.row.tags.includes('sandbox') },nativeOn:{\"click\":function($event){return _vm.toggleTag(scope.row, 'sandbox')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.sandbox'))+\"\\n \"),(scope.row.tags.includes('sandbox'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),(scope.row.local)?_c('el-dropdown-item',{class:{ 'active-tag': scope.row.tags.includes('disable_remote_subscription') },nativeOn:{\"click\":function($event){return _vm.toggleTag(scope.row, 'disable_remote_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.disableRemoteSubscription'))+\"\\n \"),(scope.row.tags.includes('disable_remote_subscription'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]):_vm._e(),_vm._v(\" \"),(scope.row.local)?_c('el-dropdown-item',{class:{ 'active-tag': scope.row.tags.includes('disable_any_subscription') },nativeOn:{\"click\":function($event){return _vm.toggleTag(scope.row, 'disable_any_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.disableAnySubscription'))+\"\\n \"),(scope.row.tags.includes('disable_any_subscription'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]):_vm._e(),_vm._v(\" \"),(scope.row.local)?_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.getPasswordResetToken(scope.row.nickname)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.getPasswordResetToken'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(scope.row.local)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.requirePasswordReset(scope.row.nickname)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.requirePasswordReset'))+\"\\n \")]):_vm._e()],1)],1)]}}])})],1),_vm._v(\" \"),_c('el-dialog',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"visible\":_vm.resetPasswordDialogOpen,\"title\":_vm.$t('users.passwordResetTokenCreated'),\"custom-class\":\"password-reset-token-dialog\"},on:{\"update:visible\":function($event){_vm.resetPasswordDialogOpen=$event},\"close\":_vm.closeResetPasswordDialog}},[_c('div',[_c('p',{staticClass:\"password-reset-token\"},[_vm._v(\"Password reset token was generated: \"+_vm._s(_vm.passwordResetToken))]),_vm._v(\" \"),_c('p',[_vm._v(\"You can also use this link to reset password:\\n \"),_c('a',{staticClass:\"reset-password-link\",attrs:{\"href\":_vm.passwordResetLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.passwordResetLink))])])])]),_vm._v(\" \"),(_vm.users.length === 0)?_c('div',{staticClass:\"no-users-message\"},[_c('p',[_vm._v(\"There are no users to display\")])]):_vm._e(),_vm._v(\" \"),(!_vm.loading)?_c('div',{staticClass:\"pagination\"},[_c('el-pagination',{attrs:{\"total\":_vm.usersCount,\"current-page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"background\":\"\",\"layout\":\"prev, pager, next\"},on:{\"current-change\":_vm.handlePageChange}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersFilter.vue?vue&type=script&lang=js&\"","<template>\n <el-select\n v-model=\"value\"\n :clearable=\"isDesktop\"\n :placeholder=\"$t('usersFilter.inputPlaceholder')\"\n multiple\n class=\"select-field\"\n @change=\"toggleFilters\">\n <el-option-group :label=\"$t('usersFilter.byUserType')\">\n <el-option value=\"local\">{{ $t('usersFilter.local') }}</el-option>\n <el-option value=\"external\">{{ $t('usersFilter.external') }}</el-option>\n </el-option-group>\n <el-option-group :label=\"$t('usersFilter.byStatus')\">\n <el-option value=\"active\">{{ $t('usersFilter.active') }}</el-option>\n <el-option value=\"deactivated\">{{ $t('usersFilter.deactivated') }}</el-option>\n </el-option-group>\n </el-select>\n</template>\n\n<script>\nexport default {\n data() {\n return {\n value: []\n }\n },\n computed: {\n isDesktop() {\n return this.$store.state.app.device === 'desktop'\n }\n },\n methods: {\n removeOppositeFilters() {\n const filtersQuantity = Object.keys(this.$store.state.users.filters).length\n const currentFilters = this.$data.value.slice()\n const indexOfLocal = currentFilters.indexOf('local')\n const indexOfExternal = currentFilters.indexOf('external')\n const indexOfActive = currentFilters.indexOf('active')\n const indexOfDeactivated = currentFilters.indexOf('deactivated')\n if (currentFilters.length === filtersQuantity) {\n return []\n } else if (indexOfLocal > -1 && indexOfExternal > -1) {\n const filterToRemove = indexOfLocal > indexOfExternal ? indexOfExternal : indexOfLocal\n currentFilters.splice(filterToRemove, 1)\n } else if (indexOfActive > -1 && indexOfDeactivated > -1) {\n const filterToRemove = indexOfActive > indexOfDeactivated ? indexOfDeactivated : indexOfActive\n currentFilters.splice(filterToRemove, 1)\n }\n return currentFilters\n },\n toggleFilters() {\n this.$data.value = this.removeOppositeFilters()\n const currentFilters = this.$data.value.reduce((acc, filter) => ({ ...acc, [filter]: true }), {})\n this.$store.dispatch('ToggleUsersFilter', currentFilters)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n.select-field {\n width: 350px;\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .select-field {\n width: 100%;\n margin-bottom: 5px;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./UsersFilter.vue?vue&type=template&id=71bc6b38&scoped=true&\"\nimport script from \"./UsersFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./UsersFilter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UsersFilter.vue?vue&type=style&index=0&id=71bc6b38&rel=stylesheet%2Fscss&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 \"71bc6b38\",\n null\n \n)\n\ncomponent.options.__file = \"UsersFilter.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',{staticClass:\"select-field\",attrs:{\"clearable\":_vm.isDesktop,\"placeholder\":_vm.$t('usersFilter.inputPlaceholder'),\"multiple\":\"\"},on:{\"change\":_vm.toggleFilters},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},[_c('el-option-group',{attrs:{\"label\":_vm.$t('usersFilter.byUserType')}},[_c('el-option',{attrs:{\"value\":\"local\"}},[_vm._v(_vm._s(_vm.$t('usersFilter.local')))]),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"external\"}},[_vm._v(_vm._s(_vm.$t('usersFilter.external')))])],1),_vm._v(\" \"),_c('el-option-group',{attrs:{\"label\":_vm.$t('usersFilter.byStatus')}},[_c('el-option',{attrs:{\"value\":\"active\"}},[_vm._v(_vm._s(_vm.$t('usersFilter.active')))]),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"deactivated\"}},[_vm._v(_vm._s(_vm.$t('usersFilter.deactivated')))])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleUsersMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleUsersMenu.vue?vue&type=script&lang=js&\"","<template>\n <el-dropdown size=\"small\" trigger=\"click\" placement=\"bottom-start\">\n <el-button v-if=\"isDesktop\" class=\"actions-button\">\n <span class=\"actions-button-container\">\n <span>\n <i class=\"el-icon-edit\" />\n {{ $t('users.moderateUsers') }}\n </span>\n <i class=\"el-icon-arrow-down el-icon--right\"/>\n </span>\n </el-button>\n <el-dropdown-menu v-if=\"showDropdownForMultipleUsers\" slot=\"dropdown\">\n <el-dropdown-item\n @click.native=\"grantRightToMultipleUsers('admin')\">\n {{ $t('users.grantAdmin') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"revokeRightFromMultipleUsers('admin')\">\n {{ $t('users.revokeAdmin') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"grantRightToMultipleUsers('moderator')\">\n {{ $t('users.grantModerator') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"revokeRightFromMultipleUsers('moderator')\">\n {{ $t('users.revokeModerator') }}\n </el-dropdown-item>\n <el-dropdown-item\n divided\n @click.native=\"activateMultipleUsers\">\n {{ $t('users.activateAccounts') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"deactivateMultipleUsers\">\n {{ $t('users.deactivateAccounts') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"deleteMultipleUsers\">\n {{ $t('users.deleteAccounts') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"requirePasswordReset\">\n {{ $t('users.requirePasswordReset') }}\n </el-dropdown-item>\n <el-dropdown-item divided class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.forceNsfw') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('force_nsfw')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('force_nsfw')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.stripMedia') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('strip_media')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('strip_media')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.forceUnlisted') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('force_unlisted')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('force_unlisted')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.sandbox') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('sandbox')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('sandbox')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.disableRemoteSubscriptionForMultiple') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('disable_remote_subscription')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('disable_remote_subscription')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.disableAnySubscriptionForMultiple') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('disable_any_subscription')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('disable_any_subscription')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n </el-dropdown-menu>\n <el-dropdown-menu v-else slot=\"dropdown\">\n <el-dropdown-item>\n {{ $t('users.selectUsers') }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n</template>\n\n<script>\nexport default {\n props: {\n selectedUsers: {\n type: Array,\n default: function() {\n return []\n }\n }\n },\n computed: {\n showDropdownForMultipleUsers() {\n return this.$props.selectedUsers.length > 0\n },\n isDesktop() {\n return this.$store.state.app.device === 'desktop'\n }\n },\n methods: {\n mappers() {\n const applyActionToAllUsers = (filteredUsers, fn) => Promise.all(filteredUsers.map(fn))\n .then(() => {\n this.$message({\n type: 'success',\n message: this.$t('users.completed')\n })\n this.$emit('apply-action')\n }).catch((err) => {\n console.log(err)\n return\n })\n return {\n grantRight: (right) => () => {\n const filterUsersFn = user => user.local && !user.roles[right] && this.$store.state.user.id !== user.id\n const toggleRightFn = async(user) => await this.$store.dispatch('ToggleRight', { user, right })\n const filtered = this.selectedUsers.filter(filterUsersFn)\n\n applyActionToAllUsers(filtered, toggleRightFn)\n },\n revokeRight: (right) => () => {\n const filterUsersFn = user => user.local && user.roles[right] && this.$store.state.user.id !== user.id\n const toggleRightFn = async(user) => await this.$store.dispatch('ToggleRight', { user, right })\n const filtered = this.selectedUsers.filter(filterUsersFn)\n\n applyActionToAllUsers(filtered, toggleRightFn)\n },\n activate: () => {\n const filtered = this.selectedUsers.filter(user => user.deactivated && this.$store.state.user.id !== user.id)\n const toggleActivationFn = async(user) => await this.$store.dispatch('ToggleUserActivation', user.nickname)\n\n applyActionToAllUsers(filtered, toggleActivationFn)\n },\n deactivate: () => {\n const filtered = this.selectedUsers.filter(user => !user.deactivated && this.$store.state.user.id !== user.id)\n const toggleActivationFn = async(user) => await this.$store.dispatch('ToggleUserActivation', user.nickname)\n\n applyActionToAllUsers(filtered, toggleActivationFn)\n },\n remove: () => {\n const filtered = this.selectedUsers.filter(user => this.$store.state.user.id !== user.id)\n const deleteAccountFn = async(user) => await this.$store.dispatch('DeleteUser', user)\n\n applyActionToAllUsers(filtered, deleteAccountFn)\n },\n addTag: (tag) => async() => {\n const filterUsersFn = user => tag === 'disable_remote_subscription' || tag === 'disable_any_subscription'\n ? user.local && !user.tags.includes(tag)\n : !user.tags.includes(tag)\n const users = this.selectedUsers.filter(filterUsersFn)\n\n try {\n await this.$store.dispatch('AddTag', { users, tag })\n } catch (err) {\n console.log(err)\n return\n }\n\n this.$message({\n type: 'success',\n message: this.$t('users.completed')\n })\n this.$emit('apply-action')\n },\n removeTag: (tag) => async() => {\n const filterUsersFn = user => tag === 'disable_remote_subscription' || tag === 'disable_any_subscription'\n ? user.local && user.tags.includes(tag)\n : user.tags.includes(tag)\n const users = this.selectedUsers.filter(filterUsersFn)\n\n try {\n await this.$store.dispatch('RemoveTag', { users, tag })\n } catch (err) {\n console.log(err)\n return\n }\n\n this.$message({\n type: 'success',\n message: this.$t('users.completed')\n })\n this.$emit('apply-action')\n },\n requirePasswordReset: () => {\n this.selectedUsers.map(user => this.$store.dispatch('RequirePasswordReset', user))\n }\n }\n },\n grantRightToMultipleUsers(right) {\n const { grantRight } = this.mappers()\n this.confirmMessage(\n this.$t('users.grantRightConfirmation', { right }),\n grantRight(right)\n )\n },\n revokeRightFromMultipleUsers(right) {\n const { revokeRight } = this.mappers()\n this.confirmMessage(\n this.$t('users.revokeRightConfirmation', { right }),\n revokeRight(right)\n )\n },\n activateMultipleUsers() {\n const { activate } = this.mappers()\n this.confirmMessage(\n this.$t('users.activateMultipleUsersConfirmation'),\n activate\n )\n },\n deactivateMultipleUsers() {\n const { deactivate } = this.mappers()\n this.confirmMessage(\n this.$t('users.deactivateMultipleUsersConfirmation'),\n deactivate\n )\n },\n deleteMultipleUsers() {\n const { remove } = this.mappers()\n this.confirmMessage(\n this.$t('users.deleteMultipleUsersConfirmation'),\n remove\n )\n },\n requirePasswordReset() {\n const mailerEnabled = this.$store.state.user.nodeInfo.metadata.mailerEnabled\n\n if (!mailerEnabled) {\n this.$alert(this.$t('users.mailerMustBeEnabled'), 'Error', { type: 'error' })\n\n return\n }\n\n const { requirePasswordReset } = this.mappers()\n this.confirmMessage(\n this.$t('users.requirePasswordResetConfirmation'),\n requirePasswordReset\n )\n },\n addTagForMultipleUsers(tag) {\n const { addTag } = this.mappers()\n this.confirmMessage(\n this.$t('users.addTagForMultipleUsersConfirmation'),\n addTag(tag)\n )\n },\n removeTagFromMultipleUsers(tag) {\n const { removeTag } = this.mappers()\n this.confirmMessage(\n this.$t('users.removeTagFromMultipleUsersConfirmation'),\n removeTag(tag)\n )\n },\n confirmMessage(message, applyAction) {\n this.$confirm(message, {\n confirmButtonText: this.$t('users.ok'),\n cancelButtonText: this.$t('users.cancel'),\n type: 'warning'\n }).then(() => {\n applyAction()\n }).catch(() => {\n this.$message({\n type: 'info',\n message: this.$t('users.canceled')\n })\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n .actions-button {\n text-align: left;\n width: 350px;\n padding: 10px;\n }\n .actions-button-container {\n display: flex;\n justify-content: space-between;\n }\n .el-dropdown {\n float: right;\n }\n .el-icon-edit {\n margin-right: 5px;\n }\n .tag-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n .tag-text {\n padding-right: 20px;\n }\n .no-hover:hover {\n color: #606266;\n background-color: white;\n cursor: auto;\n }\n</style>\n","import { render, staticRenderFns } from \"./MultipleUsersMenu.vue?vue&type=template&id=a2aed82c&scoped=true&\"\nimport script from \"./MultipleUsersMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./MultipleUsersMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MultipleUsersMenu.vue?vue&type=style&index=0&id=a2aed82c&rel=stylesheet%2Fscss&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 \"a2aed82c\",\n null\n \n)\n\ncomponent.options.__file = \"MultipleUsersMenu.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dropdown',{attrs:{\"size\":\"small\",\"trigger\":\"click\",\"placement\":\"bottom-start\"}},[(_vm.isDesktop)?_c('el-button',{staticClass:\"actions-button\"},[_c('span',{staticClass:\"actions-button-container\"},[_c('span',[_c('i',{staticClass:\"el-icon-edit\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t('users.moderateUsers'))+\"\\n \")]),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})])]):_vm._e(),_vm._v(\" \"),(_vm.showDropdownForMultipleUsers)?_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.grantRightToMultipleUsers('admin')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.grantAdmin'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.revokeRightFromMultipleUsers('admin')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.revokeAdmin'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.grantRightToMultipleUsers('moderator')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.grantModerator'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.revokeRightFromMultipleUsers('moderator')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.revokeModerator'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.activateMultipleUsers($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.activateAccounts'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.deactivateMultipleUsers($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.deactivateAccounts'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.deleteMultipleUsers($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.deleteAccounts'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.requirePasswordReset($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.requirePasswordReset'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\",attrs:{\"divided\":\"\"}},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.forceNsfw')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('force_nsfw')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('force_nsfw')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.stripMedia')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('strip_media')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('strip_media')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.forceUnlisted')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('force_unlisted')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('force_unlisted')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.sandbox')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('sandbox')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('sandbox')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.disableRemoteSubscriptionForMultiple')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('disable_remote_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('disable_remote_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.disableAnySubscriptionForMultiple')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('disable_any_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('disable_any_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)])],1):_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.selectUsers'))+\"\\n \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewAccountDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewAccountDialog.vue?vue&type=script&lang=js&\"","<template>\n <el-dialog\n :visible.sync=\"isVisible\"\n :show-close=\"false\"\n :title=\"$t('users.createAccount')\"\n custom-class=\"create-user-dialog\"\n @open=\"resetForm\">\n <el-form ref=\"newUserForm\" :model=\"newUserForm\" :rules=\"rules\" :label-width=\"getLabelWidth\" status-icon>\n <el-form-item :label=\"$t('users.username')\" prop=\"nickname\" class=\"create-account-form-item\">\n <el-input v-model=\"newUserForm.nickname\" name=\"nickname\" autofocus/>\n </el-form-item>\n <el-form-item :label=\"$t('users.email')\" prop=\"email\" class=\"create-account-form-item\">\n <el-input v-model=\"newUserForm.email\" name=\"email\" type=\"email\"/>\n </el-form-item>\n <el-form-item :label=\"$t('users.password')\" prop=\"password\" class=\"create-account-form-item-without-margin\">\n <el-input v-model=\"newUserForm.password\" type=\"password\" name=\"password\" autocomplete=\"off\"/>\n </el-form-item>\n </el-form>\n <span slot=\"footer\">\n <el-button @click=\"closeDialogWindow\">{{ $t('users.cancel') }}</el-button>\n <el-button type=\"primary\" @click=\"submitForm('newUserForm')\">{{ $t('users.create') }}</el-button>\n </span>\n </el-dialog>\n</template>\n\n<script>\nexport default {\n name: 'NewAccountDialog',\n props: {\n dialogFormVisible: {\n type: Boolean,\n default: function() {\n return false\n }\n }\n },\n data() {\n return {\n newUserForm: {\n nickname: '',\n email: '',\n password: ''\n },\n rules: {\n nickname: [\n { validator: this.validateUsername, trigger: 'blur' }\n ],\n email: [\n { validator: this.validateEmail, trigger: 'blur' }\n ],\n password: [\n { validator: this.validatePassword, trigger: 'blur' }\n ]\n }\n }\n },\n computed: {\n isDesktop() {\n return this.$store.state.app.device === 'desktop'\n },\n isVisible: {\n get() {\n return this.$props.dialogFormVisible\n },\n set() {\n this.closeDialogWindow()\n }\n },\n getLabelWidth() {\n return this.isDesktop ? '120px' : '85px'\n }\n },\n methods: {\n closeDialogWindow() {\n this.$emit('closeWindow')\n },\n resetForm() {\n this.$nextTick(() => {\n this.$refs['newUserForm'].resetFields()\n })\n },\n submitForm(formName) {\n this.$refs[formName].validate((valid) => {\n if (valid) {\n this.$emit('createNewAccount', this.$data.newUserForm)\n } else {\n this.$message({\n type: 'error',\n message: this.$t('users.submitFormError')\n })\n return false\n }\n })\n },\n validateEmail(rule, value, callback) {\n if (value === '') {\n return callback(new Error(this.$t('users.emptyEmailError')))\n } else if (!this.validEmail(value)) {\n return callback(new Error(this.$t('users.invalidEmailError')))\n } else {\n return callback()\n }\n },\n validatePassword(rule, value, callback) {\n if (value === '') {\n return callback(new Error(this.$t('users.emptyPasswordError')))\n } else {\n return callback()\n }\n },\n validateUsername(rule, value, callback) {\n if (value === '') {\n return callback(new Error(this.$t('users.emptyNicknameError')))\n } else if (!this.validNickname(value)) {\n return callback(new Error(this.$t('users.invalidNicknameError')))\n } else {\n return callback()\n }\n },\n validEmail(email) {\n var re = /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/\n return re.test(email)\n },\n validNickname(nickname) {\n var re = /^[a-zA-Z\\d]+$/\n return re.test(nickname)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.el-dialog__body {\n padding: 20px 20px 20px 20px\n}\n.create-account-form-item {\n margin-bottom: 20px;\n}\n.create-account-form-item-without-margin {\n margin-bottom: 0px;\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .create-user-dialog {\n width: 85%\n }\n .create-account-form-item {\n margin-bottom: 20px;\n }\n .el-dialog__body {\n padding: 20px 20px 20px 20px\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./NewAccountDialog.vue?vue&type=template&id=18b328aa&\"\nimport script from \"./NewAccountDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./NewAccountDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NewAccountDialog.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"NewAccountDialog.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{attrs:{\"visible\":_vm.isVisible,\"show-close\":false,\"title\":_vm.$t('users.createAccount'),\"custom-class\":\"create-user-dialog\"},on:{\"update:visible\":function($event){_vm.isVisible=$event},\"open\":_vm.resetForm}},[_c('el-form',{ref:\"newUserForm\",attrs:{\"model\":_vm.newUserForm,\"rules\":_vm.rules,\"label-width\":_vm.getLabelWidth,\"status-icon\":\"\"}},[_c('el-form-item',{staticClass:\"create-account-form-item\",attrs:{\"label\":_vm.$t('users.username'),\"prop\":\"nickname\"}},[_c('el-input',{attrs:{\"name\":\"nickname\",\"autofocus\":\"\"},model:{value:(_vm.newUserForm.nickname),callback:function ($$v) {_vm.$set(_vm.newUserForm, \"nickname\", $$v)},expression:\"newUserForm.nickname\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"create-account-form-item\",attrs:{\"label\":_vm.$t('users.email'),\"prop\":\"email\"}},[_c('el-input',{attrs:{\"name\":\"email\",\"type\":\"email\"},model:{value:(_vm.newUserForm.email),callback:function ($$v) {_vm.$set(_vm.newUserForm, \"email\", $$v)},expression:\"newUserForm.email\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"create-account-form-item-without-margin\",attrs:{\"label\":_vm.$t('users.password'),\"prop\":\"password\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"name\":\"password\",\"autocomplete\":\"off\"},model:{value:(_vm.newUserForm.password),callback:function ($$v) {_vm.$set(_vm.newUserForm, \"password\", $$v)},expression:\"newUserForm.password\"}})],1)],1),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.closeDialogWindow}},[_vm._v(_vm._s(_vm.$t('users.cancel')))]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.submitForm('newUserForm')}}},[_vm._v(_vm._s(_vm.$t('users.create')))])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"users-container\">\n <h1>\n {{ $t('users.users') }}\n <span class=\"user-count\">({{ normalizedUsersCount }})</span>\n </h1>\n <div class=\"filter-container\">\n <users-filter/>\n <el-input :placeholder=\"$t('users.search')\" v-model=\"search\" class=\"search\" @input=\"handleDebounceSearchInput\"/>\n </div>\n <div class=\"actions-container\">\n <el-button class=\"actions-button create-account\" @click=\"createAccountDialogOpen = true\">\n <span>\n <i class=\"el-icon-plus\"/>\n {{ $t('users.createAccount') }}\n </span>\n </el-button>\n <multiple-users-menu\n :selected-users=\"selectedUsers\"\n @apply-action=\"clearSelection\"/>\n </div>\n <new-account-dialog\n :dialog-form-visible=\"createAccountDialogOpen\"\n @createNewAccount=\"createNewAccount\"\n @closeWindow=\"createAccountDialogOpen = false\"/>\n <el-table\n v-loading=\"loading\"\n ref=\"usersTable\"\n :data=\"users\"\n row-key=\"id\"\n style=\"width: 100%\"\n @selection-change=\"handleSelectionChange\">\n <el-table-column\n v-if=\"isDesktop\"\n type=\"selection\"\n reserve-selection\n width=\"44\"\n align=\"center\"/>\n <el-table-column :min-width=\"width\" :label=\"$t('users.id')\" prop=\"id\" />\n <el-table-column :label=\"$t('users.name')\" prop=\"nickname\">\n <template slot-scope=\"scope\">\n <router-link :to=\"{ name: 'UsersShow', params: { id: scope.row.id }}\">{{ scope.row.nickname }}</router-link>\n <el-tag v-if=\"isDesktop\" type=\"info\" size=\"mini\">\n <span>{{ scope.row.local ? $t('users.local') : $t('users.external') }}</span>\n </el-tag>\n </template>\n </el-table-column>\n <el-table-column :min-width=\"width\" :label=\"$t('users.status')\">\n <template slot-scope=\"scope\">\n <el-tag :type=\"scope.row.deactivated ? 'danger' : 'success'\">\n <span v-if=\"isDesktop\">{{ scope.row.deactivated ? $t('users.deactivated') : $t('users.active') }}</span>\n <i v-else :class=\"activationIcon(scope.row.deactivated)\"/>\n </el-tag>\n <el-tag v-if=\"scope.row.roles.admin\">\n <span>{{ isDesktop ? $t('users.admin') : getFirstLetter($t('users.admin')) }}</span>\n </el-tag>\n <el-tag v-if=\"scope.row.roles.moderator\">\n <span>{{ isDesktop ? $t('users.moderator') : getFirstLetter($t('users.moderator')) }}</span>\n </el-tag>\n </template>\n </el-table-column>\n <el-table-column :label=\"$t('users.actions')\" fixed=\"right\">\n <template slot-scope=\"scope\">\n <el-dropdown size=\"small\" trigger=\"click\">\n <span class=\"el-dropdown-link\">\n {{ $t('users.moderation') }}\n <i v-if=\"isDesktop\" class=\"el-icon-arrow-down el-icon--right\"/>\n </span>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item\n v-if=\"showAdminAction(scope.row)\"\n @click.native=\"toggleUserRight(scope.row, 'admin')\">\n {{ scope.row.roles.admin ? $t('users.revokeAdmin') : $t('users.grantAdmin') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"showAdminAction(scope.row)\"\n @click.native=\"toggleUserRight(scope.row, 'moderator')\">\n {{ scope.row.roles.moderator ? $t('users.revokeModerator') : $t('users.grantModerator') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"showDeactivatedButton(scope.row.id)\"\n :divided=\"showAdminAction(scope.row)\"\n @click.native=\"handleDeactivation(scope.row)\">\n {{ scope.row.deactivated ? $t('users.activateAccount') : $t('users.deactivateAccount') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"showDeactivatedButton(scope.row.id)\"\n @click.native=\"handleDeletion(scope.row)\">\n {{ $t('users.deleteAccount') }}\n </el-dropdown-item>\n <el-dropdown-item\n :divided=\"showAdminAction(scope.row)\"\n :class=\"{ 'active-tag': scope.row.tags.includes('force_nsfw') }\"\n @click.native=\"toggleTag(scope.row, 'force_nsfw')\">\n {{ $t('users.forceNsfw') }}\n <i v-if=\"scope.row.tags.includes('force_nsfw')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n :class=\"{ 'active-tag': scope.row.tags.includes('strip_media') }\"\n @click.native=\"toggleTag(scope.row, 'strip_media')\">\n {{ $t('users.stripMedia') }}\n <i v-if=\"scope.row.tags.includes('strip_media')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n :class=\"{ 'active-tag': scope.row.tags.includes('force_unlisted') }\"\n @click.native=\"toggleTag(scope.row, 'force_unlisted')\">\n {{ $t('users.forceUnlisted') }}\n <i v-if=\"scope.row.tags.includes('force_unlisted')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n :class=\"{ 'active-tag': scope.row.tags.includes('sandbox') }\"\n @click.native=\"toggleTag(scope.row, 'sandbox')\">\n {{ $t('users.sandbox') }}\n <i v-if=\"scope.row.tags.includes('sandbox')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"scope.row.local\"\n :class=\"{ 'active-tag': scope.row.tags.includes('disable_remote_subscription') }\"\n @click.native=\"toggleTag(scope.row, 'disable_remote_subscription')\">\n {{ $t('users.disableRemoteSubscription') }}\n <i v-if=\"scope.row.tags.includes('disable_remote_subscription')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"scope.row.local\"\n :class=\"{ 'active-tag': scope.row.tags.includes('disable_any_subscription') }\"\n @click.native=\"toggleTag(scope.row, 'disable_any_subscription')\">\n {{ $t('users.disableAnySubscription') }}\n <i v-if=\"scope.row.tags.includes('disable_any_subscription')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"scope.row.local\"\n divided\n @click.native=\"getPasswordResetToken(scope.row.nickname)\">\n {{ $t('users.getPasswordResetToken') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"scope.row.local\"\n @click.native=\"requirePasswordReset(scope.row.nickname)\">\n {{ $t('users.requirePasswordReset') }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n </template>\n </el-table-column>\n </el-table>\n <el-dialog\n v-loading=\"loading\"\n :visible.sync=\"resetPasswordDialogOpen\"\n :title=\"$t('users.passwordResetTokenCreated')\"\n custom-class=\"password-reset-token-dialog\"\n @close=\"closeResetPasswordDialog\">\n <div>\n <p class=\"password-reset-token\">Password reset token was generated: {{ passwordResetToken }}</p>\n <p>You can also use this link to reset password:\n <a :href=\"passwordResetLink\" target=\"_blank\" class=\"reset-password-link\">{{ passwordResetLink }}</a>\n </p>\n </div>\n </el-dialog>\n <div v-if=\"users.length === 0\" class=\"no-users-message\">\n <p>There are no users to display</p>\n </div>\n <div v-if=\"!loading\" class=\"pagination\">\n <el-pagination\n :total=\"usersCount\"\n :current-page=\"currentPage\"\n :page-size=\"pageSize\"\n background\n layout=\"prev, pager, next\"\n @current-change=\"handlePageChange\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport debounce from 'lodash.debounce'\nimport numeral from 'numeral'\nimport UsersFilter from './components/UsersFilter'\nimport MultipleUsersMenu from './components/MultipleUsersMenu'\nimport NewAccountDialog from './components/NewAccountDialog'\n\nexport default {\n name: 'Users',\n components: {\n UsersFilter,\n MultipleUsersMenu,\n NewAccountDialog\n },\n data() {\n return {\n search: '',\n selectedUsers: [],\n createAccountDialogOpen: false,\n resetPasswordDialogOpen: false\n }\n },\n computed: {\n loading() {\n return this.$store.state.users.loading\n },\n normalizedUsersCount() {\n return numeral(this.$store.state.users.totalUsersCount).format('0a')\n },\n users() {\n return this.$store.state.users.fetchedUsers\n },\n usersCount() {\n return this.$store.state.users.totalUsersCount\n },\n pageSize() {\n return this.$store.state.users.pageSize\n },\n passwordResetLink() {\n return this.$store.state.users.passwordResetToken.link\n },\n passwordResetToken() {\n return this.$store.state.users.passwordResetToken.token\n },\n currentPage() {\n return this.$store.state.users.currentPage\n },\n isDesktop() {\n return this.$store.state.app.device === 'desktop'\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n width() {\n return this.isMobile ? 55 : false\n }\n },\n created() {\n this.handleDebounceSearchInput = debounce((query) => {\n this.$store.dispatch('SearchUsers', { query, page: 1 })\n }, 500)\n },\n mounted: function() {\n this.$store.dispatch('FetchUsers', { page: 1 })\n },\n methods: {\n activationIcon(status) {\n return status ? 'el-icon-error' : 'el-icon-success'\n },\n clearSelection() {\n this.$refs.usersTable.clearSelection()\n },\n async createNewAccount(accountData) {\n try {\n await this.$store.dispatch('CreateNewAccount', accountData)\n } catch (_e) {\n return\n } finally {\n this.createAccountDialogOpen = false\n }\n this.$message({\n type: 'success',\n message: this.$t('users.accountCreated')\n })\n },\n getFirstLetter(str) {\n return str.charAt(0).toUpperCase()\n },\n getPasswordResetToken(nickname) {\n this.resetPasswordDialogOpen = true\n this.$store.dispatch('GetPasswordResetToken', nickname)\n },\n requirePasswordReset(nickname) {\n const mailerEnabled = this.$store.state.user.nodeInfo.metadata.mailerEnabled\n\n if (!mailerEnabled) {\n this.$alert(this.$t('users.mailerMustBeEnabled'), 'Error', { type: 'error' })\n\n return\n }\n\n this.$store.dispatch('RequirePasswordReset', { nickname })\n },\n handleDeactivation({ nickname }) {\n this.$store.dispatch('ToggleUserActivation', nickname)\n },\n handleDeletion(user) {\n this.$store.dispatch('DeleteUser', user)\n },\n handlePageChange(page) {\n const searchQuery = this.$store.state.users.searchQuery\n if (searchQuery === '') {\n this.$store.dispatch('FetchUsers', { page })\n } else {\n this.$store.dispatch('SearchUsers', { query: searchQuery, page })\n }\n },\n handleSelectionChange(value) {\n this.$data.selectedUsers = value\n },\n closeResetPasswordDialog() {\n this.resetPasswordDialogOpen = false\n this.$store.dispatch('RemovePasswordToken')\n },\n showAdminAction({ local, id }) {\n return local && this.showDeactivatedButton(id)\n },\n showDeactivatedButton(id) {\n return this.$store.state.user.id !== id\n },\n toggleTag(user, tag) {\n user.tags.includes(tag)\n ? this.$store.dispatch('RemoveTag', { users: [user], tag })\n : this.$store.dispatch('AddTag', { users: [user], tag })\n },\n toggleUserRight(user, right) {\n this.$store.dispatch('ToggleRight', { user, right })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.actions-button {\n text-align: left;\n width: 350px;\n padding: 10px;\n}\n.actions-container {\n display: flex;\n height: 36px;\n justify-content: space-between;\n align-items: center;\n margin: 0 15px 10px 15px;\n}\n.active-tag {\n color: #409EFF;\n font-weight: 700;\n .el-icon-check {\n color: #409EFF;\n float: right;\n margin: 7px 0 0 15px;\n }\n}\n.el-dropdown-link:hover {\n cursor: pointer;\n color: #409EFF;\n }\n.el-icon-plus {\n margin-right: 5px;\n}\n.password-reset-token {\n margin: 0 0 14px 0;\n}\n.password-reset-token-dialog {\n width: 50%\n}\n.reset-password-link {\n text-decoration: underline;\n}\n.users-container {\n h1 {\n margin: 22px 0 0 15px;\n }\n\n .pagination {\n margin: 25px 0;\n text-align: center;\n }\n\n .search {\n width: 350px;\n float: right;\n }\n .filter-container {\n display: flex;\n height: 36px;\n justify-content: space-between;\n align-items: center;\n margin: 22px 15px 15px 15px\n }\n .user-count {\n color: gray;\n font-size: 28px;\n }\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .password-reset-token-dialog {\n width: 85%\n }\n .users-container {\n h1 {\n margin: 7px 10px 15px 10px;\n }\n .actions-container {\n display: flex;\n flex-direction: column;\n margin: 0 10px 7px 10px\n }\n .create-account {\n width: 100%;\n }\n .el-icon-arrow-down {\n font-size: 12px;\n }\n .search {\n width: 100%;\n }\n .filter-container {\n display: flex;\n height: 82px;\n flex-direction: column;\n margin: 0 10px\n }\n .el-tag {\n width: 30px;\n display: inline-block;\n margin-bottom: 4px;\n font-weight: bold;\n &.el-tag--success {\n padding-left: 8px;\n }\n &.el-tag--danger {\n padding-left: 8px;\n }\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=f7de9566&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleUsersMenu.vue?vue&type=style&index=0&id=a2aed82c&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleUsersMenu.vue?vue&type=style&index=0&id=a2aed82c&rel=stylesheet%2Fscss&lang=scss&scoped=true&\""],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-2943.8ab5d0d9.js b/priv/static/adminfe/static/js/chunk-2943.8ab5d0d9.js
deleted file mode 100644
index 85b40b995..000000000
--- a/priv/static/adminfe/static/js/chunk-2943.8ab5d0d9.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-2943"],{"+qaP":function(e,t,a){"use strict";var s=a("60OA");a.n(s).a},"2q6O":function(e,t,a){"use strict";var s=a("Scsy");a.n(s).a},"4NUT":function(e,t,a){},"4b9x":function(e,t,a){"use strict";var s=a("wgcy");a.n(s).a},"60OA":function(e,t,a){},"9p49":function(e,t,a){},DPt0:function(e,t,a){"use strict";var s=a("x6RV");a.n(s).a},Dd5M:function(e,t,a){},FCne:function(e,t,a){"use strict";var s=a("OCuP");a.n(s).a},KFE3:function(e,t,a){"use strict";var s=a("mSK5");a.n(s).a},NyLv:function(e,t,a){"use strict";var s=a("Rh6R");a.n(s).a},OCuP:function(e,t,a){},PYLh:function(e,t,a){},Px65:function(e,t,a){},PygS:function(e,t,a){"use strict";var s=a("TtMh");a.n(s).a},RTtG:function(e,t,a){"use strict";var s=a("Zgs2");a.n(s).a},Rh6R:function(e,t,a){},Scsy:function(e,t,a){},TOIk:function(e,t,a){},TRR9:function(e,t,a){},TtMh:function(e,t,a){},TudB:function(e,t,a){},"UbP/":function(e,t,a){},UdS4:function(e,t,a){"use strict";var s=a("WwJU");a.n(s).a},V9mB:function(e,t,a){"use strict";var s=a("Dd5M");a.n(s).a},"WvM+":function(e,t,a){"use strict";var s=a("TRR9");a.n(s).a},WwJU:function(e,t,a){},YcIK:function(e,t,a){"use strict";a.r(t);var s=a("o0o1"),n=a.n(s),i=a("yXPU"),l=a.n(i),r=a("lSNA"),o=a.n(r),u=a("MVZn"),c=a.n(u),p=a("L2JU"),m=a("mSNy"),d={name:"ActivityPub",computed:c()({},Object(p.b)(["activityPub","user"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},v=(a("qEST"),a("KHd+")),f=Object(v.a)(d,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"activityPub",attrs:{model:e.activityPub,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Unfollow blocked"}},[a("el-switch",{attrs:{value:e.activityPub.unfollow_blocked},on:{change:function(t){return e.updateSetting(t,"activitypub","unfollow_blocked")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether blocks result in people getting unfollowed")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Outgoing blocks"}},[a("el-switch",{attrs:{value:e.activityPub.outgoing_blocks},on:{change:function(t){return e.updateSetting(t,"activitypub","outgoing_blocks")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether to federate blocks to other instances")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Follow handshake timeout"}},[a("el-input-number",{staticClass:"top-margin",attrs:{value:e.activityPub.follow_handshake_timeout,step:100,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"activitypub","follow_handshake_timeout")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Sign object fetches"}},[a("el-switch",{attrs:{value:e.activityPub.sign_object_fetches},on:{change:function(t){return e.updateSetting(t,"activitypub","sign_object_fetches")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Sign object fetches with HTTP signatures")])],1)],1),e._v(" "),a("el-form",{ref:"user",attrs:{model:e.user,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Deny follow blocked"}},[a("el-switch",{attrs:{value:e.user.deny_follow_blocked},on:{change:function(t){return e.updateSetting(t,"user","deny_follow_blocked")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether to disallow following an account that has blocked the user in question")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null);f.options.__file="ActivityPub.vue";var _=f.exports,h={name:"Authentication",computed:c()({},Object(p.b)(["pleromaAuthenticator","ldap","auth","ueberauth","oauth2","facebook","google","twitter","microsoft"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},b=(a("4b9x"),Object(v.a)(h,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"pleromaAuthenticator",attrs:{model:e.pleromaAuthenticator,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Authentication type"}},[a("el-select",{attrs:{value:e.pleromaAuthenticator.value,clearable:""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Auth.Authenticator","value")}}},[a("el-option",{attrs:{label:"None",value:""}}),e._v(" "),a("el-option",{attrs:{label:"Pleroma.Web.Auth.PleromaAuthenticator // Default database authenticator",value:"Pleroma.Web.Auth.PleromaAuthenticator"}}),e._v(" "),a("el-option",{attrs:{label:"Pleroma.Web.Auth.LDAPAuthenticator // LDAP authenticator",value:"Pleroma.Web.Auth.LDAPAuthenticator"}})],1)],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"auth",attrs:{model:e.auth,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Authentication settings:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Auth template"}},[a("el-input",{attrs:{value:e.auth.auth_template},on:{input:function(t){return e.updateSetting(t,"auth","auth_template")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Authentication form template. By default it's\n "),a("span",{staticClass:"code"},[e._v("show.html")]),e._v(" which corresponds to\n "),a("span",{staticClass:"code"},[e._v("lib/pleroma/web/templates/o_auth/o_auth/show.html.eex.")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"OAuth consumer template"}},[a("el-input",{attrs:{value:e.auth.oauth_consumer_template},on:{input:function(t){return e.updateSetting(t,"auth","oauth_consumer_template")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("OAuth consumer mode authentication form template. By default it's\n "),a("span",{staticClass:"code"},[e._v("consumer.html")]),e._v(" which corresponds to\n "),a("span",{staticClass:"code"},[e._v("lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex.")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"OAuth consumer strategies"}},[a("el-select",{attrs:{value:e.auth.oauth_consumer_strategies||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"auth","oauth_consumer_strategies")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The list of enabled OAuth consumer strategies; by default it's set by\n "),a("span",{staticClass:"code"},[e._v("OAUTH_CONSUMER_STRATEGIES")]),e._v("\n environment variable. You can enter values in the following format: "),a("span",{staticClass:"code"},[e._v("'a:foo b:baz'")])])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"ldap",attrs:{model:e.ldap,"label-width":e.labelWidth}},[a("el-form-item",{staticClass:"options-paragraph-container"},[a("p",{staticClass:"options-paragraph"},[e._v("Use LDAP for user authentication. When a user logs in to the Pleroma\n instance, the name and password will be verified by trying to authenticate\n (bind) to an LDAP server. If a user exists in the LDAP directory but there\n is no account with the same name yet on the Pleroma instance then a new\n Pleroma account will be created with the same name as the LDAP user name.")])]),e._v(" "),a("el-form-item",{attrs:{label:"LDAP Authenticator:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.ldap.enabled},on:{change:function(t){return e.updateSetting(t,"ldap","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enables LDAP authentication")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Host"}},[a("el-input",{attrs:{value:e.ldap.host},on:{input:function(t){return e.updateSetting(t,"ldap","host")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("LDAP server hostname")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.ldap.port},on:{input:function(t){return e.updateSetting(t,"ldap","port")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("LDAP port, e.g. 389 or 636")])],1),e._v(" "),a("el-form-item",{attrs:{label:"SSL"}},[a("el-switch",{attrs:{value:e.ldap.ssl},on:{change:function(t){return e.updateSetting(t,"ldap","ssl")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("True to use SSL, usually implies the port 636")])],1),e._v(" "),a("el-form-item",{attrs:{label:"TLS"}},[a("el-switch",{attrs:{value:e.ldap.tls},on:{change:function(t){return e.updateSetting(t,"ldap","tls")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("True to start TLS, usually implies the port 389")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Base"}},[a("el-input",{attrs:{value:e.ldap.base},on:{input:function(t){return e.updateSetting(t,"ldap","base")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("LDAP base, e.g. "),a("span",{staticClass:"code"},[e._v("'dc=example,dc=com'")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"UID"}},[a("el-input",{attrs:{value:e.ldap.uid},on:{input:function(t){return e.updateSetting(t,"ldap","uid")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("LDAP attribute name to authenticate the user, e.g. when\n "),a("span",{staticClass:"code"},[e._v("'cn'")]),e._v(", the filter will be "),a("span",{staticClass:"code"},[e._v("'cn=username,base'")])])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"ueberauth",attrs:{model:e.ueberauth,"label-width":e.labelWidth}},[a("el-form-item",{staticClass:"options-paragraph-container",attrs:{label:"OAuth consumer mode"}},[a("p",{staticClass:"options-paragraph"},[e._v("\n OAuth consumer mode allows sign in / sign up via external OAuth providers\n (e.g. Twitter, Facebook, Google, Microsoft, etc.). Implementation is based on Ueberauth; see the list of\n "),a("a",{attrs:{href:"https://github.com/ueberauth/ueberauth/wiki/List-of-Strategies",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n available strategies.\n ")])]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("\n Note: each strategy is shipped as a separate dependency; in order to get the strategies, run\n "),a("span",{staticClass:"code"},[e._v('OAUTH_CONSUMER_STRATEGIES="..." mix deps.get')]),e._v(",\n e.g. "),a("span",{staticClass:"code"},[e._v('OAUTH_CONSUMER_STRATEGIES="twitter facebook google microsoft" mix deps.get')]),e._v(".\n The server should also be started with "),a("span",{staticClass:"code"},[e._v('OAUTH_CONSUMER_STRATEGIES="..." mix phx.server')]),e._v("\n in case you enable any strategies.\n ")]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("\n Note: each strategy requires separate setup (on external provider side and Pleroma side).\n Below are the guidelines on setting up most popular strategies.\n ")]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("\n Note: make sure that "),a("span",{staticClass:"code"},[e._v("'SameSite=Lax'")]),e._v(" is set in\n "),a("span",{staticClass:"code"},[e._v("extra_cookie_attrs")]),e._v(" when you have this feature enabled.\n OAuth consumer mode will not work with "),a("span",{staticClass:"code"},[e._v("'SameSite=Strict'")])]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("For Twitter,\n "),a("a",{attrs:{href:"https://developer.twitter.com/en/apps",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n register an app,\n ")]),e._v("\n configure callback URL to "),a("span",{staticClass:"code"},[e._v("https://<your_host>/oauth/twitter/callback")])]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("For Facebook,\n "),a("a",{attrs:{href:"https://developers.facebook.com/apps",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n register an app,\n ")]),e._v("\n configure callback URL to "),a("span",{staticClass:"code"},[e._v("https://<your_host>/oauth/facebook/callback")]),e._v(",\n enable Facebook Login service at\n "),a("span",{staticClass:"code"},[e._v("https://developers.facebook.com/apps/<app_id>/fb-login/settings/")])]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("For Google,\n "),a("a",{attrs:{href:"https://console.developers.google.com/",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n register an app,\n ")]),e._v("\n configure callback URL to "),a("span",{staticClass:"code"},[e._v("https://<your_host>/oauth/google/callback")])]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("For Microsoft,\n "),a("a",{attrs:{href:"https://portal.azure.com",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n register an app,\n ")]),e._v("\n configure callback URL to "),a("span",{staticClass:"code"},[e._v("https://<your_host>/oauth/microsoft/callback")])]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("\n Once the app is configured on external OAuth provider side, add app's credentials and strategy-specific settings\n per strategy's documentation (e.g.\n "),a("a",{attrs:{href:"https://github.com/ueberauth/ueberauth_twitter",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n ueberauth_twitter\n ")]),e._v(").\n ")])]),e._v(" "),a("el-form-item",{attrs:{label:"Ueberauth:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Base path"}},[a("el-input",{attrs:{value:e.ueberauth.base_path},on:{input:function(t){return e.updateSetting(t,"ueberauth","base_path")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"facebook",attrs:{model:e.facebook,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Facebook:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Client ID"}},[a("el-input",{attrs:{value:e.facebook.client_id},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Facebook.OAuth","client_id")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Client secret"}},[a("el-input",{attrs:{value:e.facebook.client_secret},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Facebook.OAuth","client_secret")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Redirect URI"}},[a("el-input",{attrs:{value:e.facebook.redirect_uri},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Facebook.OAuth","redirect_uri")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"twitter",attrs:{model:e.twitter,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Twitter:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Consumer key"}},[a("el-input",{attrs:{value:e.twitter.consumer_key},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Twitter.OAuth","consumer_key")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Consumer secret"}},[a("el-input",{attrs:{value:e.twitter.consumer_secret},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Twitter.OAuth","consumer_secret")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"google",attrs:{model:e.google,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Google:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Client ID"}},[a("el-input",{attrs:{value:e.google.client_id},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Google.OAuth","client_id")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Client secret"}},[a("el-input",{attrs:{value:e.google.client_secret},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Google.OAuth","client_secret")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Redirect URI"}},[a("el-input",{attrs:{value:e.google.redirect_uri},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Google.OAuth","redirect_uri")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"microsoft",attrs:{model:e.microsoft,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Microsoft:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Client ID"}},[a("el-input",{attrs:{value:e.microsoft.client_id},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Microsoft.OAuth","client_id")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Client secret"}},[a("el-input",{attrs:{value:e.microsoft.client_secret},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Microsoft.OAuth","client_secret")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"oauth2",attrs:{model:e.oauth2,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"OAuth 2.0 Provider:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Token expires in (s)"}},[a("el-input-number",{attrs:{value:e.oauth2.token_expires_in,step:10,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"oauth2","token_expires_in")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The lifetime in seconds of the access token")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Issue new refresh token"}},[a("el-switch",{attrs:{value:e.oauth2.issue_new_refresh_token},on:{change:function(t){return e.updateSetting(t,"oauth2","issue_new_refresh_token")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Keeps old refresh token or generate new refresh token when to obtain an access token")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Clean expired token"}},[a("el-switch",{attrs:{value:e.oauth2.clean_expired_tokens},on:{change:function(t){return e.updateSetting(t,"oauth2","clean_expired_tokens")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enable a background job to clean expired oauth tokens. Defaults to false.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Clean expired token interval"}},[a("el-input-number",{attrs:{value:e.oauth2.clean_expired_tokens_interval/36e5,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(36e5*t,"oauth2","clean_expired_tokens_interval")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Interval to run the job to clean expired tokens. Defaults to 24 hours.")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));b.options.__file="Authentication.vue";var g=b.exports,y={name:"AutoLinker",computed:c()({},Object(p.b)(["autoLinker"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"},loading:function(){return this.$store.state.settings.loading},booleanClass:function(){return this.getBooleanValue("class")},booleanRel:function(){return this.getBooleanValue("rel")},booleanTruncate:function(){return this.getBooleanValue("truncate")}}),methods:{getBooleanValue:function(e){var t=this.autoLinker.opts[e];return"string"==typeof t||"number"==typeof t},getNumValue:function(e){return this.autoLinker.opts[e]||0},getStringValue:function(e){return this.autoLinker.opts[e]||""},processTwoTypeValue:function(e,t,a,s){if(!0===e){var n="truncate"===s?0:"";this.processNestedData(n,t,a,s)}else this.processNestedData(e,t,a,s)},processNestedData:function(e,t,a,s){var n=c()({},this.$store.state.settings.settings[t][a],o()({},s,e));this.updateSetting(n,t,a)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},w=(a("cyzs"),Object(v.a)(y,function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.loading?e._e():a("el-form",{ref:"autoLinker",attrs:{model:e.autoLinker,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Class"}},[a("el-switch",{attrs:{value:e.booleanClass},on:{change:function(t){return e.processTwoTypeValue(t,"auto_linker","opts","class")}}}),e._v(" "),e.booleanClass?e._e():a("p",{staticClass:"expl"},[e._v("Specify the class to be added to the generated link. False to clear.")])],1),e._v(" "),e.booleanClass?a("el-form-item",[a("el-input",{attrs:{value:e.getStringValue("class")},on:{input:function(t){return e.processTwoTypeValue(t,"auto_linker","opts","class")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Specify the class to be added to the generated link. False to clear.")])],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"Rel"}},[a("el-switch",{attrs:{value:e.booleanRel},on:{change:function(t){return e.processTwoTypeValue(t,"auto_linker","opts","rel")}}}),e._v(" "),e.booleanRel?e._e():a("p",{staticClass:"expl"},[e._v("Override the rel attribute. False to clear")])],1),e._v(" "),e.booleanRel?a("el-form-item",[a("el-input",{attrs:{value:e.getStringValue("rel")},on:{input:function(t){return e.processTwoTypeValue(t,"auto_linker","opts","rel")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Override the rel attribute. False to clear")])],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"New window"}},[a("el-switch",{attrs:{value:e.autoLinker.opts.new_window},on:{change:function(t){return e.processNestedData(t,"auto_linker","opts","new_window")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Set to false to remove "),a("span",{staticClass:"code"},[e._v("target='_blank'")]),e._v(" attribute")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Scheme"}},[a("el-switch",{attrs:{value:e.autoLinker.opts.scheme},on:{change:function(t){return e.processNestedData(t,"auto_linker","opts","scheme")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Set to true to link urls with schema "),a("span",{staticClass:"code"},[e._v("http://google.com")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Truncate"}},[a("el-switch",{attrs:{value:e.booleanTruncate},on:{change:function(t){return e.processTwoTypeValue(t,"auto_linker","opts","truncate")}}}),e._v(" "),e.booleanTruncate?e._e():a("p",{staticClass:"expl"},[e._v("Set to a number to truncate urls longer then the number.\n Truncated urls will end in "),a("span",{staticClass:"code"},[e._v("..")])])],1),e._v(" "),e.booleanTruncate?a("el-form-item",[a("el-input-number",{attrs:{value:e.getStringValue("truncate"),step:1,min:0,size:"large"},on:{change:function(t){return e.processTwoTypeValue(t,"auto_linker","opts","truncate")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Specify the class to be added to the generated link. False to clear.")])],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"Strip prefix"}},[a("el-switch",{attrs:{value:e.autoLinker.opts.strip_prefix},on:{change:function(t){return e.processNestedData(t,"auto_linker","opts","strip_prefix")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Strip the scheme prefix")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Extra"}},[a("el-switch",{attrs:{value:e.autoLinker.opts.extra},on:{change:function(t){return e.processNestedData(t,"auto_linker","opts","extra")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Link urls with rarely used schemes (magnet, ipfs, irc, etc.)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Validate TLD"}},[a("el-switch",{attrs:{value:e.autoLinker.opts.validate_tld},on:{change:function(t){return e.processNestedData(t,"auto_linker","opts","validate_tld")}}})],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)},[],!1,null,null,null));w.options.__file="AutoLinker.vue";var x=w.exports,C={name:"Captcha",computed:c()({},Object(p.b)(["captcha","kocaptcha"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},S=(a("2q6O"),Object(v.a)(C,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"captcha",attrs:{model:e.captcha,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.captcha.enabled},on:{change:function(t){return e.updateSetting(t,"Pleroma.Captcha","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether the captcha should be shown on registration")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Valid for (s)"}},[a("el-input-number",{attrs:{value:e.captcha.seconds_valid,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Captcha","seconds_valid")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The time in seconds for which the captcha is valid")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Method"}},[a("el-select",{attrs:{value:e.captcha.method,clearable:""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Captcha","method")}}},[a("el-option",{attrs:{label:"Pleroma.Captcha.Kocaptcha",value:"Pleroma.Captcha.Kocaptcha"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("The method/service to use for captcha")])],1)],1),e._v(" "),a("el-form",{ref:"kocaptcha",attrs:{model:e.kocaptcha,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Kocaptcha Endpoint"}},[a("el-input",{attrs:{value:e.kocaptcha.endpoint},on:{input:function(t){return e.updateSetting(t,"Pleroma.Captcha.Kocaptcha","endpoint")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Kocaptcha is a captcha service with a single API endpoint, the source code is\n "),a("a",{attrs:{href:"https://github.com/koto-bank/kocaptcha",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("here")]),e._v(".\n The default endpoint "),a("span",{staticClass:"code"},[e._v("'https://captcha.kotobank.ch'")]),e._v(" is hosted by the developer.\n ")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));S.options.__file="Captcha.vue";var k=S.exports,A={name:"Instance",computed:c()({},Object(p.b)(["database","ectoRepos","pleromaRepo"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},P=(a("RTtG"),Object(v.a)(A,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"database",attrs:{model:e.database,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Database settings:"}}),e._v(" "),a("el-form-item",{attrs:{label:"RUM enabled"}},[a("el-switch",{attrs:{value:e.database.rum_enabled},on:{change:function(t){return e.updateSetting(t,"database","rum_enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("RUM indexes are an alternative indexing scheme that is not included in PostgreSQL by default.\n While they may eventually be mainlined, for now they have to be installed as a PostgreSQL extension from\n "),a("a",{attrs:{href:"https://github.com/postgrespro/rum",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n https://github.com/postgrespro/rum.\n ")])]),e._v(" "),a("p",{staticClass:"expl"},[e._v("Their advantage over the standard GIN indexes is that they allow efficient ordering of search results by timestamp,\n which makes search queries a lot faster on larger servers, by one or two orders of magnitude.\n They take up around 3 times as much space as GIN indexes.")]),e._v(" "),a("p",{staticClass:"expl"},[e._v("To enable them, both the "),a("span",{staticClass:"code"},[e._v("rum_enabled")]),e._v(" flag has to be set and the following special\n migration has to be run: "),a("span",{staticClass:"code"},[e._v("mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/")])])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"ectoRepos",attrs:{model:e.ectoRepos,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Ecto repos"}},[a("el-select",{attrs:{value:e.ectoRepos.value||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"ecto_repos","value")}}},[a("el-option",{attrs:{label:"Pleroma.Repo",value:"Pleroma.Repo"}})],1)],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"pleromaRepo",attrs:{model:e.pleromaRepo,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Pleroma Repo configuration:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Name"}},[a("el-input",{attrs:{value:e.pleromaRepo.name},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","name")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The name of the Repo supervisor process")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Priv"}},[a("el-input",{attrs:{value:e.pleromaRepo.priv},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","priv")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The directory where to keep repository data, like migrations, schema and more. Defaults to "),a("span",{staticClass:"code"},[e._v("\n priv/YOUR_REPO")]),e._v(". It must always point to a subdirectory inside the priv directory")])],1),e._v(" "),a("el-form-item",{attrs:{label:"URL"}},[a("el-input",{attrs:{value:e.pleromaRepo.url},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","url")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("An URL that specifies storage information")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Log level"}},[a("el-select",{attrs:{value:e.pleromaRepo.log,clearable:""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","log")}}},[a("el-option",{attrs:{value:!1,label:"False - disables logging for that repository."}}),e._v(" "),a("el-option",{attrs:{value:":debug",label:":debug - for debug-related messages"}}),e._v(" "),a("el-option",{attrs:{value:":info",label:":info - for information of any kind"}}),e._v(" "),a("el-option",{attrs:{value:":warn",label:":warn - for warnings"}}),e._v(" "),a("el-option",{attrs:{value:":error",label:":error - for errors"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("The log level used when logging the query with Elixir's Logger")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Pool size"}},[a("el-input-number",{attrs:{value:e.pleromaRepo.pool_size,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","pool_size")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The size of the pool used by the connection module. Defaults to "),a("span",{staticClass:"code"},[e._v("10")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Telemetry prefix"}},[a("el-select",{attrs:{value:e.pleromaRepo.telemetry_prefix||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","telemetry_prefix")}}},[a("el-option",{attrs:{label:":my_app",value:":my_app"}}),e._v(" "),a("el-option",{attrs:{label:":repo",value:":repo"}}),e._v(" "),a("el-option",{attrs:{label:":query",value:":query"}})],1)],1),e._v(" "),a("el-form-item",{attrs:{label:"Types"}},[a("el-input",{attrs:{value:e.pleromaRepo.types},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","types")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Telemetry event"}},[a("el-select",{attrs:{value:e.pleromaRepo.telemetry_event||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","telemetry_event")}}},[a("el-option",{attrs:{label:"Pleroma.Repo.Instrumenter",value:"Pleroma.Repo.Instrumenter"}})],1)],1),e._v(" "),a("el-form-item",{attrs:{label:"Connection options:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Hostname"}},[a("el-input",{attrs:{value:e.pleromaRepo.hostname},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","hostname")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Server hostname")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Socket dir"}},[a("el-input",{attrs:{value:e.pleromaRepo.socket_dir},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","socket_dir")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Connect to Postgres via UNIX sockets in the given directory. The socket name is derived based on the port.\n This is the preferred method for configuring sockets and it takes precedence over the hostname.\n If you are connecting to a socket outside of the Postgres convention, use "),a("span",{staticClass:"code"},[e._v(":socket")]),e._v(" instead.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Socket"}},[a("el-input",{attrs:{value:e.pleromaRepo.socket},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","socket")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Connect to Postgres via UNIX sockets in the given path. This option takes precedence over the\n "),a("span",{staticClass:"code"},[e._v(":hostname")]),e._v(" and "),a("span",{staticClass:"code"},[e._v(":socket_dir")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Username"}},[a("el-input",{attrs:{value:e.pleromaRepo.username},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","username")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Password"}},[a("el-input",{attrs:{value:e.pleromaRepo.password},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","password")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.pleromaRepo.port},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","port")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Server port (default: 5432)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Database"}},[a("el-input",{attrs:{value:e.pleromaRepo.database},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","database")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The database to connect to")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Maintenance database"}},[a("el-input",{attrs:{value:e.pleromaRepo.maintenance_database},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","maintenance_database")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v('Specifies the name of the database to connect to when creating or dropping the database. Defaults to "postgres"')])],1),e._v(" "),a("el-form-item",{attrs:{label:"Pool"}},[a("el-input",{attrs:{value:e.pleromaRepo.pool},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","pool")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The connection pool module, defaults to "),a("span",{staticClass:"code"},[e._v("DBConnection.ConnectionPool")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"SSL"}},[a("el-switch",{attrs:{value:e.pleromaRepo.ssl},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","ssl")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Set to true if ssl should be used")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Connect timeout"}},[a("el-input-number",{attrs:{value:e.pleromaRepo.connect_timeout,step:1e3,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","connect_timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The timeout for establishing new connections. Defaults to 5000")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Prepare"}},[a("el-select",{attrs:{value:e.pleromaRepo.prepare,clearable:""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","prepare")}}},[a("el-option",{attrs:{label:"named",value:":named"}}),e._v(" "),a("el-option",{attrs:{label:"unnamed",value:":unnamed"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("How to prepare queries, either "),a("span",{staticClass:"code"},[e._v(":named")]),e._v(" to use named queries or\n "),a("span",{staticClass:"code"},[e._v(":unnamed")]),e._v(" to force unnamed queries (default: :named)")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));P.options.__file="Database.vue";var U=P.exports,L={federationPublisherModulesOptions:[{label:"Pleroma.Web.ActivityPub.Publisher",value:"Pleroma.Web.ActivityPub.Publisher"},{label:"Pleroma.Web.Websub",value:"Pleroma.Web.Websub"},{label:"Pleroma.Web.Salmon",value:"Pleroma.Web.Salmon"}],rewritePolicyOptions:[{label:"NoOpPolicy",value:"Pleroma.Web.ActivityPub.MRF.NoOpPolicy",expl:"NoOpPolicy: Doesn’t modify activities (default)"},{label:"DropPolicy",value:"Pleroma.Web.ActivityPub.MRF.DropPolicy",expl:"DropPolicy: Drops all activities. It generally doesn’t makes sense to use in production"},{label:"SimplePolicy",value:"Pleroma.Web.ActivityPub.MRF.SimplePolicy",expl:"SimplePolicy: Restrict the visibility of activities from certains instances (See :mrf_simple section)"},{label:"TagPolicy",value:"Pleroma.Web.ActivityPub.MRF.TagPolicy",expl:"Applies policies to individual users based on tags, which can be set using pleroma-fe/admin-fe/any other app that supports Pleroma Admin API. For example it allows marking posts from individual users nsfw (sensitive)"},{label:"SubchainPolicy",value:"Pleroma.Web.ActivityPub.MRF.SubchainPolicy",expl:"Selectively runs other MRF policies when messages match (see :mrf_subchain section)"},{label:"RejectNonPublic",value:"Pleroma.Web.ActivityPub.MRF.RejectNonPublic",expl:"RejectNonPublic: Drops posts with non-public visibility settings (See :mrf_rejectnonpublic section)"},{label:"EnsureRePrepended",value:"Pleroma.Web.ActivityPub.MRF.EnsureRePrepended",expl:"EnsureRePrepended: Rewrites posts to ensure that replies to posts with subjects do not have an identical subject and instead begin with re:"},{label:"AntiLinkSpamPolicy",value:"Pleroma.Web.ActivityPub.MRF.AntiLinkSpamPolicy",expl:"Rejects posts from likely spambots by rejecting posts from new users that contain links"},{label:"MediaProxyWarmingPolicy",value:"Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy",expl:"Crawls attachments using their MediaProxy URLs so that the MediaProxy cache is primed"},{label:"MentionPolicy",value:"Pleroma.Web.ActivityPub.MRF.MentionPolicy",expl:"Drops posts mentioning configurable users. (see :mrf_mention section)"},{label:"VocabularyPolicy",value:"Pleroma.Web.ActivityPub.MRF.VocabularyPolicy",expl:"Restricts activities to a configured set of vocabulary"}],quarantinedInstancesOptions:[],autofollowedNicknamesOptions:[],uriSchemesOptions:[{label:"https",value:"https"},{label:"http",value:"http"},{label:"dat",value:"dat"},{label:"dweb",value:"dweb"},{label:"gopher",value:"gopher"},{label:"ipfs",value:"ipfs"},{label:"ipns",value:"ipns"},{label:"irc",value:"irc"},{label:"ircs",value:"ircs"},{label:"magnet",value:"magnet"},{label:"mailto",value:"mailto"},{label:"mumble",value:"mumble"},{label:"ssb",value:"ssb"},{label:"xmpp",value:"xmpp"}],themeOptions:[{label:"pleroma-dark",value:"pleroma-dark"},{label:"pleroma-light",value:"pleroma-light"},{label:"classic-dark",value:"classic-dark"},{label:"bird",value:"bird"},{label:"ir-black",value:"ir-black"},{label:"monokai",value:"monokai"},{label:"mammal",value:"mammal"},{label:"redmond-xx",value:"redmond-xx"},{label:"redmond-xx-se",value:"redmond-xx-se"},{label:"redmond-xxi",value:"redmond-xxi"},{label:"breezy-dark",value:"breezy-dark"},{label:"breezy-light",value:"breezy-light"}],instrumentersOptions:[{label:"Pleroma.Web.Endpoint.Instrumenter",value:"Pleroma.Web.Endpoint.Instrumenter"}],extraCookieAttrsOptions:[{label:"SameSite=Lax",value:"SameSite=Lax"}],hackneyPoolsOptions:[{label:"Federation",value:":federation",max_connections:50,timeout:15e4},{label:"Media",value:":media",max_connections:50,timeout:15e4},{label:"Upload",value:":upload",max_connections:25,timeout:3e5}],whitelistedContentTypesOptions:[{label:"image/gif",value:"image/gif"},{label:"image/jpeg",value:"image/jpeg"},{label:"image/jpg",value:"image/jpg"},{label:"image/png",value:"image/png"},{label:"image/svg+xml",value:"image/svg+xml"},{label:"audio/mpeg",value:"audio/mpeg"},{label:"audio/mp3",value:"audio/mp3"},{label:"video/webm",value:"video/webm"},{label:"video/mp4",value:"video/mp4"},{label:"video/quicktime",value:"video/quicktime"}],mogrifyActionsOptions:[{label:"strip",value:"strip"},{label:"auto-orient",value:"auto-orient"}],adapterOptions:[{label:"Swoosh.Adapters.Sendmail",value:"Swoosh.Adapters.Sendmail"},{label:"Swoosh.Adapters.SMTP",value:"Swoosh.Adapters.SMTP"},{label:"Swoosh.Adapters.Sendgrid",value:"Swoosh.Adapters.Sendgrid"},{label:"Swoosh.Adapters.Mandrill",value:"Swoosh.Adapters.Mandrill"},{label:"Swoosh.Adapters.Mailgun",value:"Swoosh.Adapters.Mailgun"},{label:"Swoosh.Adapters.Mailjet",value:"Swoosh.Adapters.Mailjet"},{label:"Swoosh.Adapters.Postmark",value:"Swoosh.Adapters.Postmark"},{label:"Swoosh.Adapters.SparkPost",value:"Swoosh.Adapters.SparkPost"},{label:"Swoosh.Adapters.AmazonSES",value:"Swoosh.Adapters.AmazonSES"},{label:"Swoosh.Adapters.Dyn",value:"Swoosh.Adapters.Dyn"},{label:"Swoosh.Adapters.SocketLabs",value:"Swoosh.Adapters.SocketLabs"},{label:"Swoosh.Adapters.Gmail",value:"Swoosh.Adapters.Gmail"},{label:"Swoosh.Adapters.Local",value:"Swoosh.Adapters.Local"}],loggerBackendsOptions:[{label:"Console // log to stdout",value:JSON.stringify(":console")},{label:"Ex_syslogger // log to syslog",value:JSON.stringify({tuple:["ExSyslogger",":ex_syslogger"]})},{label:"Quack.Logger // log to Slack",value:JSON.stringify("Quack.Logger")}],restrictedNicknamesOptions:[{value:".well-known"},{value:"~"},{value:"about"},{value:"activities"},{value:"api"},{value:"auth"},{value:"check_password"},{value:"dev"},{value:"friend-requests"},{value:"inbox"},{value:"internal"},{value:"main"},{value:"media"},{value:"nodeinfo"},{value:"notice"},{value:"oauth"},{value:"objects"},{value:"ostatus_subscribe"},{value:"pleroma"},{value:"proxy"},{value:"push"},{value:"registration"},{value:"relay"},{value:"settings"},{value:"status"},{value:"tag"},{value:"user-search"},{value:"user_exists"},{value:"users"},{value:"web"}]},R=a("fJ7X"),M=a.n(R),T=(a("nBvS"),a("Lrpg"),{name:"Endpoint",components:{editor:M.a},computed:c()({},Object(p.b)(["endpoint"]),{editorContentHttp:{get:function(){return this.endpoint.http.dispatch?this.endpoint.http.dispatch[0]:""},set:function(e){this.processNestedData([e],"Pleroma.Web.Endpoint","http","dispatch")}},editorContentHttps:{get:function(){return this.endpoint.https.dispatch?this.endpoint.https.dispatch[0]:""},set:function(e){this.processNestedData([e],"Pleroma.Web.Endpoint","https","dispatch")}},configureHttp:function(){return!1==!this.endpoint.http},configureHttps:function(){return!1==!this.endpoint.https},endpointHttp:function(){return this.endpoint.http||{}},endpointHttps:function(){return this.endpoint.https||{}},extraCookieAttrsOptions:function(){return L.extraCookieAttrsOptions},instrumentersOptions:function(){return L.instrumentersOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"},loading:function(){return this.$store.state.settings.loading}}),methods:{processNestedData:function(e,t,a,s){var n=c()({},this.$store.state.settings.settings[t][a],o()({},s,e));this.updateSetting(n,t,a)},showServerConfig:function(e,t){e?this.updateSetting({},"Pleroma.Web.Endpoint",t):this.updateSetting(e,"Pleroma.Web.Endpoint",t)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}}),D=(a("NyLv"),Object(v.a)(T,function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.loading?e._e():a("el-form",{ref:"endpoint",attrs:{model:e.endpoint,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Instrumenters"}},[a("el-select",{attrs:{value:e.endpoint.instrumenters||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","instrumenters")}}},e._l(e.instrumentersOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Compile-time configuration:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Code reloader"}},[a("el-switch",{attrs:{value:e.endpoint.code_reloader},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","code_reloader")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enables code reloading functionality")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Debug errors"}},[a("el-switch",{attrs:{value:e.endpoint.debug_errors},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","debug_errors")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enables using "),a("span",{staticClass:"code"},[e._v("Plug.Debugger")]),e._v(" functionality for debugging failures in the application.\n Recommended to be set to true only in development as it allows listing of the application source code during debugging. Defaults to false.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Render errors:"}}),e._v(" "),a("el-form-item",{attrs:{label:"View"}},[a("el-input",{attrs:{value:e.endpoint.render_errors.view},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","render_errors","view")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Accepts"}},[a("el-select",{attrs:{value:e.endpoint.render_errors.accepts||[],multiple:"",filterable:"","allow-create":""},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","render_errors","accepts")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Layout"}},[a("el-switch",{attrs:{value:e.endpoint.render_errors.layout},on:{change:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","render_errors","layout")}}})],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Runtime configuration:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Cache static manifest"}},[a("el-input",{attrs:{value:e.endpoint.cache_static_manifest},on:{input:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","cache_static_manifest")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A path to a json manifest file that contains static files and their digested version.\n This is typically set to "),a("span",{staticClass:"code"},[e._v("'priv/static/cache_manifest.json'")]),e._v("\n which is the file automatically generated by "),a("span",{staticClass:"code"},[e._v("mix phx.digest")])])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"HTTP:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Configure HTTP server"}},[a("el-switch",{attrs:{value:e.configureHttp},on:{change:function(t){return e.showServerConfig(t,"http")}}})],1),e._v(" "),e.configureHttp?a("div",[a("el-form-item",{attrs:{label:"Dispatch"}},[a("editor",{attrs:{height:"150",width:"100%",lang:"elixir",theme:"chrome"},model:{value:e.editorContentHttp,callback:function(t){e.editorContentHttp=t},expression:"editorContentHttp"}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("You can type in Elixir code here")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.endpointHttp.port},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","http","port")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The port to run the server. Defaults to 4000 (http) and 4040 (https).")])],1),e._v(" "),a("el-form-item",{attrs:{label:"IP"}},[a("el-input",{attrs:{value:e.endpointHttp.ip,placeholder:"xxx.xxx.xxx.xx"},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","http","ip")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The ip to bind the server to")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Reference name"}},[a("el-input",{attrs:{value:e.endpointHttp.ref},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","http","ref")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The reference name to be used. Defaults to "),a("span",{staticClass:"code"},[e._v("plug.HTTP")]),e._v(" (http) and\n "),a("span",{staticClass:"code"},[e._v("plug.HTTPS")]),e._v(" (https). This is the value that needs to be given on shutdown.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Compress"}},[a("el-switch",{attrs:{value:e.endpointHttp.compress},on:{change:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","http","compress")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Cowboy will attempt to compress the response body. Defaults to false.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Timeout in s"}},[a("el-input-number",{attrs:{value:e.endpointHttp.timeout/1e3,step:1,min:0,size:"large"},on:{input:function(t){return e.processNestedData(1e3*t,"Pleroma.Web.Endpoint","http","timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.")])],1),e._v(" "),a("div",{staticClass:"line"})],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"HTTPS:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Configure HTTPS server"}},[a("el-switch",{attrs:{value:e.configureHttps},on:{change:function(t){return e.showServerConfig(t,"https")}}})],1),e._v(" "),e.configureHttps?a("div",[a("el-form-item",{attrs:{label:"Dispatch"}},[a("editor",{attrs:{height:"150",width:"100%",lang:"elixir",theme:"chrome"},model:{value:e.editorContentHttps,callback:function(t){e.editorContentHttps=t},expression:"editorContentHttps"}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("You can type in Elixir code here")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.endpointHttps.port},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","https","port")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The port to run the server. Defaults to 4000 (http) and 4040 (https).")])],1),e._v(" "),a("el-form-item",{attrs:{label:"IP"}},[a("el-input",{attrs:{value:e.endpointHttps.ip,placeholder:"xxx.xxx.xxx.xx"},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","https","ip")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The ip to bind the server to")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Reference name"}},[a("el-input",{attrs:{value:e.endpointHttps.ref},on:{input:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","https","ref")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The reference name to be used. Defaults to "),a("span",{staticClass:"code"},[e._v("plug.HTTP")]),e._v(" (http) and\n "),a("span",{staticClass:"code"},[e._v("plug.HTTPS")]),e._v(" (https). This is the value that needs to be given on shutdown.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Compress"}},[a("el-switch",{attrs:{value:e.endpointHttps.compress},on:{change:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","https","compress")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Cowboy will attempt to compress the response body. Defaults to false.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Timeout in s"}},[a("el-input-number",{attrs:{value:e.endpointHttps.timeout/1e3,step:1,min:0,size:"large"},on:{input:function(t){return e.processNestedData(1e3*t,"Pleroma.Web.Endpoint","https","timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.")])],1),e._v(" "),a("div",{staticClass:"line"})],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"Secret key base"}},[a("el-input",{attrs:{value:e.endpoint.secret_key_base},on:{input:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","secret_key_base")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A secret key used as a base to generate secrets for encrypting and signing data. For example, cookies and tokens are signed by default, but they may also be encrypted if desired. Defaults to nil as it must be set per application")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Server"}},[a("el-switch",{attrs:{value:e.endpoint.server},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","server")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When true, starts the web server when the endpoint supervision tree starts. Defaults to false. The "),a("span",{staticClass:"code"},[e._v("mix phx.server")]),e._v(" task automatically sets this to true.")])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"URL:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Host"}},[a("el-input",{attrs:{value:e.endpoint.url.host},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","url","host")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The host without the scheme and a post (e.g "),a("span",{staticClass:"code"},[e._v("example.com")]),e._v(", not "),a("span",{staticClass:"code"},[e._v("https://example.com:2020")]),e._v(")")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Scheme"}},[a("el-input",{attrs:{value:e.endpoint.url.scheme},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","url","scheme")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("e.g http, https")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.endpoint.url.port},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","url","port")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Path"}},[a("el-input",{attrs:{value:e.endpoint.url.path},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","url","path")}}})],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Protocol"}},[a("el-input",{attrs:{value:e.endpoint.protocol},on:{input:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","protocol")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Signing salt"}},[a("el-input",{attrs:{value:e.endpoint.signing_salt},on:{input:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","signing_salt")}}})],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"PubSub:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Name"}},[a("el-input",{attrs:{value:e.endpoint.pubsub.name},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","pubsub","name")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Adapter"}},[a("el-input",{attrs:{value:e.endpoint.pubsub.adapter},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","pubsub","adapter")}}})],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Secure cookie flag"}},[a("el-switch",{attrs:{value:e.endpoint.secure_cookie_flag},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","secure_cookie_flag")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Extra cookie attrs"}},[a("el-select",{attrs:{value:e.endpoint.extra_cookie_attrs||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","extra_cookie_attrs")}}},e._l(e.extraCookieAttrsOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{staticClass:"options-paragraph-container"},[a("p",{staticClass:"options-paragraph"},[e._v("Only common options are listed here. You can add more (all configuration options can be viewed\n "),a("a",{attrs:{href:"https://hexdocs.pm/phoenix/Phoenix.Endpoint.html#module-dynamic-configuration",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("here")]),e._v(")\n ")])]),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)},[],!1,null,null,null));D.options.__file="Endpoint.vue";var E=D.exports,W={name:"Instance",computed:c()({},Object(p.b)(["enabled","handler","passwordAuthenticator","port","privDir"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{toggleEsshd:function(e){this.$store.dispatch("ToggleEsshd",e)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},N=(a("FCne"),Object(v.a)(W,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{attrs:{"label-width":e.labelWidth}},[a("el-form-item",[a("p",{staticClass:"expl"},[e._v("Before enabling this you must:\n "),a("ol",{staticClass:"esshd-list"},[a("li",[e._v("Add "),a("span",{staticClass:"code"},[e._v(":esshd")]),e._v(" to "),a("span",{staticClass:"code"},[e._v("mix.exs")]),e._v(" as one of the\n "),a("span",{staticClass:"code"},[e._v("extra_applications")])]),e._v(" "),a("li",[e._v("Generate host keys in your\n "),a("span",{staticClass:"code"},[e._v("priv")]),e._v(" dir with\n "),a("span",{staticClass:"code"},[e._v('ssh-keygen -m PEM -N "" -b 2048 -t rsa -f ssh_host_rsa_key')])])])])])],1),e._v(" "),a("el-form",{ref:"enabled",attrs:{model:e.enabled,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.enabled.value},on:{change:function(t){return e.updateSetting(t,"enabled","value")}}})],1)],1),e._v(" "),a("el-form",{ref:"privDir",attrs:{model:e.privDir,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Priv dir"}},[a("el-input",{attrs:{value:e.privDir.value},on:{input:function(t){return e.updateSetting(t,"priv_dir","value")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("You can input relative path here")])],1)],1),e._v(" "),a("el-form",{ref:"handler",attrs:{model:e.handler,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Handler"}},[a("el-input",{attrs:{value:e.handler.value},on:{input:function(t){return e.updateSetting(t,"handler","value")}}})],1)],1),e._v(" "),a("el-form",{ref:"port",attrs:{model:e.port,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.port.value},on:{input:function(t){return e.updateSetting(t,"port","value")}}})],1)],1),e._v(" "),a("el-form",{ref:"passwordAuthenticator",attrs:{model:e.passwordAuthenticator,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Password authenticator"}},[a("el-input",{attrs:{value:e.passwordAuthenticator.value},on:{input:function(t){return e.updateSetting(t,"password_authenticator","value")}}})],1),e._v(" "),a("el-form-item",[a("p",{staticClass:"expl"},[e._v("Feel free to adjust the priv_dir and port number.\n Then you will have to create the key for the keys (in the example "),a("span",{staticClass:"code"},[e._v("priv/ssh_keys")]),e._v(") and create the host keys with\n "),a("span",{staticClass:"code"},[e._v('ssh-keygen -m PEM -N "" -b 2048 -t rsa -f ssh_host_rsa_key')]),e._v(".\n After restarting, you should be able to connect to your Pleroma instance with "),a("span",{staticClass:"code"},[e._v("ssh username@server -p $PORT")])])]),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));N.options.__file="Esshd.vue";var O=N.exports,j={name:"Frontend",computed:c()({},Object(p.b)(["assets","frontend","emoji","chat","markup"]),{groups:function(){var e=this;return Object.keys(this.emoji.groups).map(function(t){return[t,e.emoji.groups[t]]})},mascots:function(){var e=this;return Object.keys(this.assets.mascots).map(function(t){return[t,e.assets.mascots[t].url,e.assets.mascots[t].mime_type]})},themeOptions:function(){return L.themeOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{addRowToGroups:function(){var e=this.groups.reduce(function(e,t,a){return c()({},e,o()({},t[0],t[1]))},{});this.updateSetting(c()({},e,{"":[]}),"emoji","groups")},addRowToMascots:function(){var e=this.mascots.reduce(function(e,t,a){return c()({},e,o()({},t[0],{url:t[1],mime_type:t[2]}))},{});this.updateSetting(c()({},e,{"":{url:"",mime_type:""}}),"assets","mascots")},deleteGroupsRow:function(e){var t=this.groups.filter(function(t,a){return e!==a}).reduce(function(e,t,a){return c()({},e,o()({},t[0],t[1]))},{});this.updateSetting(t,"emoji","groups")},deleteMascotsRow:function(e){var t=this.mascots.filter(function(t,a){return e!==a}).reduce(function(e,t,a){return c()({},e,o()({},t[0],{url:t[1],mime_type:t[2]}))},{});this.updateSetting(t,"assets","mascots")},parseGroups:function(e,t,a){var s=this.groups.reduce(function(s,n,i){return a===i?"key"===t?c()({},s,o()({},e,n[1])):c()({},s,o()({},n[0],e)):c()({},s,o()({},n[0],n[1]))},{});this.updateSetting(s,"emoji","groups")},parseMascots:function(e,t,a){var s=this.mascots.reduce(function(s,n,i){return a===i?"name"===t?c()({},s,o()({},e,{url:n[1],mime_type:n[2]})):"url"===t?c()({},s,o()({},n[0],{url:e,mime_type:n[2]})):c()({},s,o()({},n[0],{url:n[1],mime_type:e})):c()({},s,o()({},n[0],{url:n[1],mime_type:n[2]}))},{});this.updateSetting(s,"assets","mascots")},processNestedData:function(e,t,a,s){var n=c()({},this.$store.state.settings.settings[t][a],o()({},s,e));this.updateSetting(n,t,a)},sendBackgroundMasto:function(e){var t=e.file;this.$store.dispatch("UploadMedia",{file:t,tab:"frontend_configurations",inputName:"masto_fe",childName:"background"})},sendBackgroundPleroma:function(e){var t=e.file;this.$store.dispatch("UploadMedia",{file:t,tab:"frontend_configurations",inputName:"pleroma_fe",childName:"background"})},sendLogoMasto:function(e){var t=e.file;this.$store.dispatch("UploadMedia",{file:t,tab:"frontend_configurations",inputName:"masto_fe",childName:"logo"})},sendLogoPleroma:function(e){var t=e.file;this.$store.dispatch("UploadMedia",{file:t,tab:"frontend_configurations",inputName:"pleroma_fe",childName:"logo"})},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},I=(a("hVXW"),Object(v.a)(j,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"frontend",attrs:{model:e.frontend,"label-width":e.labelWidth}},[a("el-form-item",[a("p",{staticClass:"expl"},[e._v("This form can be used to configure a keyword list that keeps the configuration data for any kind of frontend.\n By default, settings for "),a("span",{staticClass:"code"},[e._v("pleroma_fe")]),e._v(" and "),a("span",{staticClass:"code"},[e._v("masto_fe")]),e._v(" are configured.\n If you want to add your own configuration your settings need to be complete as they will override the defaults.")])]),e._v(" "),a("el-form-item",{attrs:{label:"Pleroma FE:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Theme"}},[a("el-select",{attrs:{value:e.frontend.pleroma_fe.theme,clearable:""},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","theme")}}},e._l(e.themeOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Which theme to use")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Background"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.background},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","background")}}}),e._v(" "),a("div",{staticClass:"upload-container"},[a("p",{staticClass:"text"},[e._v("or")]),e._v(" "),a("el-upload",{attrs:{"http-request":e.sendBackgroundPleroma,multiple:!1,"show-file-list":!1,action:"/api/v1/media"}},[a("el-button",{attrs:{size:"small",type:"primary"}},[e._v("Click to upload")])],1)],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("URL of the background, unless viewing a user profile with a background that is set")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Logo"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.logo},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","logo")}}}),e._v(" "),a("div",{staticClass:"upload-container"},[a("p",{staticClass:"text"},[e._v("or")]),e._v(" "),a("el-upload",{attrs:{"http-request":e.sendLogoPleroma,multiple:!1,"show-file-list":!1,action:"/api/v1/media"}},[a("el-button",{attrs:{size:"small",type:"primary"}},[e._v("Click to upload")])],1)],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("URL of the logo")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Logo mask"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.logoMask},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","logoMask")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether to use only the logo's shape as a mask (true) or as a regular image (false)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Logo margin (em)"}},[a("el-input-number",{attrs:{value:e.frontend.pleroma_fe.logoMargin,step:.1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","logoMargin")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("What margin to use around the logo")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Redirect URL"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.redirectRootNoLogin},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","redirectRootNoLogin")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Relative URL which indicates where to redirect when a user is logged in")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Redirect for anonymous user"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.redirectRootLogin},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","redirectRootLogin")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Relative URL which indicates where to redirect when a user isn’t logged in")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Show instance panel"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.showInstanceSpecificPanel},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","showInstanceSpecificPanel")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whenether to show the instance’s specific panel")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Scope options enabled"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.scopeOptionsEnabled},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","scopeOptionsEnabled")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Formatting options enabled"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.formattingOptionsEnabled},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","formattingOptionsEnabled")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Collapse msg with subject"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.collapseMessageWithSubject},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","collapseMessageWithSubject")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When a message has a subject (aka Content Warning), collapse it by default")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Scope copy"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.scopeCopy},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","scopeCopy")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Copy the scope "),a("span",{staticClass:"code"},[e._v("(private/unlisted/public)")]),e._v(" in replies to posts by default")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Subject line behavior"}},[a("el-select",{attrs:{value:e.frontend.pleroma_fe.subjectLineBehavior,clearable:""},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","subjectLineBehavior")}}},[a("el-option",{attrs:{label:"Email",value:"email"}},[e._v("Email / Copy and preprend re:, as in email")]),e._v(" "),a("el-option",{attrs:{label:"Masto",value:"masto"}},[e._v("Masto / Copy verbatim, as in Mastodon")]),e._v(" "),a("el-option",{attrs:{label:"Noop",value:"noop"}},[e._v("Noop / Don't copy the subject")])],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Allows changing the default behaviour of subject lines in replies")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Post content type"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.postContentType},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","postContentType")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Always show subject input"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.alwaysShowSubjectInput},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","alwaysShowSubjectInput")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When set to false, auto-hide the subject field when it's empty")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Hide post statistics"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.hidePostStats},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","hidePostStats")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Hide notices statistics(repeats, favorites, …)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Hide user statistics"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.hideUserStats},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","hideUserStats")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Hide profile statistics(posts, posts per day, followers, followings, …)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Login method"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.loginMethod},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","loginMethod")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Web push notifications"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.webPushNotifications},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","webPushNotifications")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"No attachment links"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.noAttachmentLinks},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","noAttachmentLinks")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"NSFW Censor image"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.nsfwCensorImage},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","nsfwCensorImage")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Show features panel"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.showFeaturesPanel},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","showFeaturesPanel")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Minimal scopes mode"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.minimalScopesMode},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","minimalScopesMode")}}})],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Masto FE:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Theme"}},[a("el-select",{attrs:{value:e.frontend.masto_fe.theme,clearable:""},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","theme")}}},e._l(e.themeOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Which theme to use")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Background"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.background},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","background")}}}),e._v(" "),a("div",{staticClass:"upload-container"},[a("p",{staticClass:"text"},[e._v("or")]),e._v(" "),a("el-upload",{attrs:{"http-request":e.sendBackgroundMasto,multiple:!1,"show-file-list":!1,action:"/api/v1/media"}},[a("el-button",{attrs:{size:"small",type:"primary"}},[e._v("Click to upload")])],1)],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("URL of the background, unless viewing a user profile with a background that is set")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Logo"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.logo},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","logo")}}}),e._v(" "),a("div",{staticClass:"upload-container"},[a("p",{staticClass:"text"},[e._v("or")]),e._v(" "),a("el-upload",{attrs:{"http-request":e.sendLogoMasto,multiple:!1,"show-file-list":!1,action:"/api/v1/media"}},[a("el-button",{attrs:{size:"small",type:"primary"}},[e._v("Click to upload")])],1)],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("URL of the logo")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Logo mask"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.logoMask},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","logoMask")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether to use only the logo's shape as a mask (true) or as a regular image (false)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Logo margin (em)"}},[a("el-input-number",{attrs:{value:e.frontend.masto_fe.logoMargin,step:.1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","logoMargin")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("What margin to use around the logo")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Redirect URL"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.redirectRootNoLogin},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","redirectRootNoLogin")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Relative URL which indicates where to redirect when a user is logged in")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Redirect for anonymous user"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.redirectRootLogin},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","redirectRootLogin")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Relative URL which indicates where to redirect when a user isn’t logged in")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Show instance panel"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.showInstanceSpecificPanel},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","showInstanceSpecificPanel")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whenether to show the instance’s specific panel")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Scope options enabled"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.scopeOptionsEnabled},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","scopeOptionsEnabled")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Formatting options enabled"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.formattingOptionsEnabled},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","formattingOptionsEnabled")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Collapse msg with subjects"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.collapseMessageWithSubject},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","collapseMessageWithSubject")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When a message has a subject (aka Content Warning), collapse it by default")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Scope copy"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.scopeCopy},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","scopeCopy")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Copy the scope "),a("span",{staticClass:"code"},[e._v("(private/unlisted/public)")]),e._v(" in replies to posts by default")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Subject line behavior"}},[a("el-select",{attrs:{value:e.frontend.masto_fe.subjectLineBehavior,clearable:""},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","subjectLineBehavior")}}},[a("el-option",{attrs:{label:"Email",value:"email"}},[e._v("Email / Copy and preprend re:, as in email")]),e._v(" "),a("el-option",{attrs:{label:"Masto",value:"masto"}},[e._v("Masto / Copy verbatim, as in Mastodon")]),e._v(" "),a("el-option",{attrs:{label:"Noop",value:"noop"}},[e._v("Noop / Don't copy the subject")])],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Allows changing the default behaviour of subject lines in replies")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Post content type"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.postContentType},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","postContentType")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Always show subject input"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.alwaysShowSubjectInput},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","alwaysShowSubjectInput")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When set to false, auto-hide the subject field when it's empty")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Hide post statistics"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.hidePostStats},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","hidePostStats")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Hide notices statistics(repeats, favorites, …)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Hide user statistics"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.hideUserStats},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","hideUserStats")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Hide profile statistics(posts, posts per day, followers, followings, …)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Login method"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.loginMethod},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","loginMethod")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Web push notifications"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.webPushNotifications},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","webPushNotifications")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"No attachment links"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.noAttachmentLinks},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","noAttachmentLinks")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"NSFW Censor image"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.nsfwCensorImage},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","nsfwCensorImage")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Show features panel"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.showFeaturesPanel},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","showFeaturesPanel")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Minimal scopes mode"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.minimalScopesMode},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","minimalScopesMode")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"assets",attrs:{model:e.assets,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Assets:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Default mascot"}},[a("el-select",{attrs:{value:e.assets.default_mascot,clearable:""},on:{change:function(t){return e.updateSetting(t,"assets","default_mascot")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("An element from mascots - This will be used as the default mascot on MastoFE\n (default: "),a("span",{staticClass:"code"},[e._v(":pleroma_fox_tan")]),e._v(")")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Mascots"}},[e._l(e.mascots,function(t,s){var n=t[0],i=t[1],l=t[2];return a("div",{key:s,staticClass:"mascot-container"},[a("div",{staticClass:"mascot-name-container"},[a("el-input",{staticClass:"mascot-name-input",attrs:{value:n,placeholder:"Name"},on:{input:function(t){return e.parseMascots(t,"name",s)}}}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.deleteMascotsRow(s,"emoji","groups")}}})],1),e._v(" "),a("el-input",{staticClass:"mascot-input",attrs:{value:i,placeholder:"URL"},on:{input:function(t){return e.parseMascots(t,"url",s)}}}),e._v(" "),a("el-input",{staticClass:"mascot-input",attrs:{value:l,placeholder:"Mime type"},on:{input:function(t){return e.parseMascots(t,"mimeType",s)}}})],1)}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:e.addRowToMascots}})],2)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"emoji",attrs:{model:e.emoji,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Emoji:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Location of emoji files"}},[a("el-select",{attrs:{value:e.emoji.shortcode_globs||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"emoji","shortcode_globs")}}},[a("el-option",{attrs:{label:"/emoji/custom/**/*.png",value:"/emoji/custom/**/*.png"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Location of custom emoji files. "),a("span",{staticClass:"code"},[e._v("*")]),e._v(" can be used as a wildcard.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Pack extensions"}},[a("el-select",{attrs:{value:e.emoji.pack_extensions||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"emoji","pack_extensions")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of file extensions for emojis, when no "),a("span",{staticClass:"code"},[e._v("emoji.txt")]),e._v(" for a pack is present. ")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Group"}},[e._l(e.groups,function(t,s){var n=t[0],i=t[1];return a("div",{key:s,staticClass:"setting-input"},[a("el-input",{staticClass:"name-input",attrs:{value:n,placeholder:"key"},on:{input:function(t){return e.parseGroups(t,"key",s)}}}),e._v(" :\n "),a("el-select",{staticClass:"value-input",attrs:{value:i,multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.parseGroups(t,"value",s)}}}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.deleteGroupsRow(s)}}})],1)}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:e.addRowToGroups}})],2),e._v(" "),a("el-form-item",{attrs:{label:"Location of JSON-manifest"}},[a("el-input",{attrs:{value:e.emoji.default_manifest},on:{input:function(t){return e.updateSetting(t,"emoji","default_manifest")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Location of the JSON-manifest. This manifest contains information about the emoji-packs you can download. Currently only one manifest can be added (no arrays).")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"chat",attrs:{model:e.chat,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Chat enabled"}},[a("el-switch",{attrs:{value:e.chat.enabled},on:{input:function(t){return e.updateSetting(t,"chat","enabled")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"markup",attrs:{model:e.markup,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Markup settings:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Allow inline images"}},[a("el-switch",{attrs:{value:e.markup.allow_inline_images},on:{input:function(t){return e.updateSetting(t,"markup","allow_inline_images")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Allow headings"}},[a("el-switch",{attrs:{value:e.markup.allow_headings},on:{input:function(t){return e.updateSetting(t,"markup","allow_headings")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Allow tables"}},[a("el-switch",{attrs:{value:e.markup.allow_tables},on:{input:function(t){return e.updateSetting(t,"markup","allow_tables")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Allow fonts"}},[a("el-switch",{attrs:{value:e.markup.allow_fonts},on:{input:function(t){return e.updateSetting(t,"markup","allow_fonts")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Scrub policy"}},[a("el-select",{attrs:{value:e.markup.scrub_policy||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"markup","scrub_policy")}}},[a("el-option",{attrs:{label:"Pleroma.HTML.Transform.MediaProxy",value:"Pleroma.HTML.Transform.MediaProxy"}}),e._v(" "),a("el-option",{attrs:{label:"Pleroma.HTML.Scrubber.Default",value:"Pleroma.HTML.Scrubber.Default"}})],1)],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));I.options.__file="Frontend.vue";var $=I.exports,F={name:"Gopher",computed:c()({},Object(p.b)(["gopher"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},z=(a("w5cJ"),Object(v.a)(F,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-form",{ref:"gopher",attrs:{model:e.gopher,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.gopher.enabled},on:{change:function(t){return e.updateSetting(t,"gopher","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enables the gopher interface")])],1),e._v(" "),a("el-form-item",{attrs:{label:"IP address"}},[a("el-input",{attrs:{value:e.gopher.ip,placeholder:"xxx.xxx.xxx.xx"},on:{input:function(t){return e.updateSetting(t,"gopher","ip")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enables the gopher interface")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.gopher.port},on:{input:function(t){return e.updateSetting(t,"gopher","port")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Port to bind to")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Dst port"}},[a("el-input",{attrs:{value:e.gopher.dstport},on:{input:function(t){return e.updateSetting(t,"gopher","dstport")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Port advertised in urls (optional, defaults to port)")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)},[],!1,null,null,null));z.options.__file="Gopher.vue";var H=z.exports,q={name:"HTTP",computed:c()({},Object(p.b)(["corsPlugCredentials","corsPlugExpose","corsPlugHeaders","corsPlugMaxAge","corsPlugMethods","hackneyPools","http","httpSecurity","metricsExporter"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{processNestedData:function(e,t,a,s){var n=c()({},this.$store.state.settings.settings[t][a],o()({},s,e));this.updateSetting(n,t,a)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},B=(a("KFE3"),Object(v.a)(q,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"http",attrs:{model:e.http,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"HTTP settings:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Proxy url"}},[a("el-input",{attrs:{value:e.http.proxy_url},on:{input:function(t){return e.updateSetting(t,"http","proxy_url")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Send user agent"}},[a("el-switch",{attrs:{value:e.http.send_user_agent},on:{change:function(t){return e.updateSetting(t,"http","send_user_agent")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Adapter:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Versions"}},[a("el-select",{attrs:{value:e.http.adapter.versions||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.processNestedData(t,"http","adapter","versions")}}},[a("el-option",{attrs:{value:":tlsv1"}}),e._v(" "),a("el-option",{attrs:{value:":'tlsv1.1'"}}),e._v(" "),a("el-option",{attrs:{value:":'tlsv1.2'"}})],1)],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"corsPlugMaxAge",attrs:{model:e.corsPlugMaxAge,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Cors plug config:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Max age (days)"}},[a("el-input-number",{attrs:{value:e.corsPlugMaxAge.value/86400,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(86400*t,"max_age","value")}}})],1)],1),e._v(" "),a("el-form",{ref:"corsPlugMethods",attrs:{model:e.corsPlugMethods,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Methods"}},[a("el-select",{attrs:{value:e.corsPlugMethods.value||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"methods","value")}}},[a("el-option",{attrs:{value:"POST"}}),e._v(" "),a("el-option",{attrs:{value:"PUT"}}),e._v(" "),a("el-option",{attrs:{value:"DELETE"}}),e._v(" "),a("el-option",{attrs:{value:"GET"}}),e._v(" "),a("el-option",{attrs:{value:"PATCH"}}),e._v(" "),a("el-option",{attrs:{value:"OPTIONS"}})],1)],1)],1),e._v(" "),a("el-form",{ref:"corsPlugExpose",attrs:{model:e.corsPlugExpose,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Expose"}},[a("el-select",{attrs:{value:e.corsPlugExpose.value||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"expose","value")}}},[a("el-option",{attrs:{value:"Link"}}),e._v(" "),a("el-option",{attrs:{value:"X-RateLimit-Reset"}}),e._v(" "),a("el-option",{attrs:{value:"X-RateLimit-Limit"}}),e._v(" "),a("el-option",{attrs:{value:"X-RateLimit-Remaining"}}),e._v(" "),a("el-option",{attrs:{value:"X-Request-Id"}}),e._v(" "),a("el-option",{attrs:{value:"Idempotency-Key"}})],1)],1)],1),e._v(" "),a("el-form",{ref:"corsPlugCredentials",attrs:{model:e.corsPlugCredentials,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Credentials"}},[a("el-switch",{attrs:{value:e.corsPlugCredentials.value},on:{change:function(t){return e.updateSetting(t,"credentials","value")}}})],1)],1),e._v(" "),a("el-form",{ref:"corsPlugHeaders",attrs:{model:e.corsPlugHeaders,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Headers"}},[a("el-select",{attrs:{value:e.corsPlugHeaders.value||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"headers","value")}}},[a("el-option",{attrs:{value:"Authorization"}}),e._v(" "),a("el-option",{attrs:{value:"Content-Type"}}),e._v(" "),a("el-option",{attrs:{value:"Idempotency-Key"}})],1)],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"httpSecurity",attrs:{model:e.httpSecurity,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"HTTP security:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Security policy"}},[a("el-switch",{attrs:{value:e.httpSecurity.enabled},on:{change:function(t){return e.updateSetting(t,"http_security","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether the managed content security policy is enabled")])],1),e._v(" "),a("el-form-item",{attrs:{label:"STS"}},[a("el-switch",{attrs:{value:e.httpSecurity.sts},on:{change:function(t){return e.updateSetting(t,"http_security","sts")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether to additionally send a "),a("span",{staticClass:"code"},[e._v("Strict-Transport-Security header")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"STS max age (days)"}},[a("el-input-number",{attrs:{value:e.httpSecurity.sts_max_age/86400,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(86400*t,"http_security","sts_max_age")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum age for the "),a("span",{staticClass:"code"},[e._v("Strict-Transport-Security")]),e._v(" header if sent")])],1),e._v(" "),a("el-form-item",{attrs:{label:"CT max age (days)"}},[a("el-input-number",{attrs:{value:e.httpSecurity.ct_max_age/86400,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(86400*t,"http_security","ct_max_age")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum age for the "),a("span",{staticClass:"code"},[e._v("Expect-CT")]),e._v(" header if sent")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Referrer policy"}},[a("el-select",{attrs:{value:e.httpSecurity.referrer_policy,clearable:""},on:{change:function(t){return e.updateSetting(t,"http_security","referrer_policy")}}},[a("el-option",{attrs:{label:"same-origin",value:"same-origin"}}),e._v(" "),a("el-option",{attrs:{label:"no-referrer",value:"no-referrer"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("The referrer policy to use")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Report URI"}},[a("el-input",{attrs:{value:e.httpSecurity.report_uri},on:{input:function(t){return e.updateSetting(t,"http_security","report_uri")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Adds the specified url to "),a("span",{staticClass:"code"},[e._v("report-uri")]),e._v(" and "),a("span",{staticClass:"code"},[e._v("report-to")]),e._v(" group in CSP header")])],1)],1),e._v(" "),a("el-form",{ref:"hackneyPools",attrs:{model:e.hackneyPools,"label-width":e.labelWidth}},[a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Hackney pools:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Federation:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Max connections"}},[a("el-input-number",{attrs:{value:e.hackneyPools.federation.max_connections,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"hackney_pools","federation","max_connections")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("You may want this pool "),a("span",{staticClass:"code"},[e._v("max_connections")]),e._v(" to be at least equal to the number of federator jobs + retry queue jobs.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Timeout (s)"}},[a("el-input-number",{attrs:{value:e.hackneyPools.federation.timeout/1e3,step:10,min:0,size:"large"},on:{change:function(t){return e.processNestedData(1e3*t,"hackney_pools","federation","timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("For the federation jobs")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Media:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Max connections"}},[a("el-input-number",{attrs:{value:e.hackneyPools.media.max_connections,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"hackney_pools","media","max_connections")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Timeout (s)"}},[a("el-input-number",{attrs:{value:e.hackneyPools.media.timeout/1e3,step:10,min:0,size:"large"},on:{change:function(t){return e.processNestedData(1e3*t,"hackney_pools","media","timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("For rich media, media proxy")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Upload:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Max connections"}},[a("el-input-number",{attrs:{value:e.hackneyPools.upload.max_connections,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"hackney_pools","upload","max_connections")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Timeout (s)"}},[a("el-input-number",{attrs:{value:e.hackneyPools.upload.timeout/1e3,step:10,min:0,size:"large"},on:{change:function(t){return e.processNestedData(1e3*t,"hackney_pools","upload","timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("For uploaded media (if using a remote uploader and "),a("span",{staticClass:"code"},[e._v("proxy_remote: true")]),e._v(")")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));B.options.__file="Http.vue";var V=B.exports,G={name:"Instance",computed:c()({},Object(p.b)(["adminToken","fetchInitialPosts","instance","pleromaUser","scheduledActivity","suggestions","uriSchemes"]),{autofollowedNicknamesOptions:function(){return L.autofollowedNicknamesOptions},federationPublisherModulesOptions:function(){return L.federationPublisherModulesOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"},quarantinedInstancesOptions:function(){return L.quarantinedInstancesOptions},restrictedNicknamesOptions:function(){return L.restrictedNicknamesOptions},rewritePolicy:function(){return"string"==typeof this.instance.rewrite_policy?[this.instance.rewrite_policy]:this.instance.rewrite_policy},rewritePolicyExplanations:function(){return this.rewritePolicy?this.rewritePolicy.filter(function(e){return L.rewritePolicyOptions.find(function(t){return t.value===e})}):[]},rewritePolicyOptions:function(){return L.rewritePolicyOptions},uriSchemesOptions:function(){return L.uriSchemesOptions}}),methods:{getRewritePolicyExpl:function(e){return L.rewritePolicyOptions.find(function(t){return t.value===e}).expl},processNestedData:function(e,t,a,s){var n=c()({},this.$store.state.settings.settings[t][a],o()({},s,e));this.updateSetting(n,t,a)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},K=(a("e0P1"),Object(v.a)(G,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"instance",attrs:{model:e.instance,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Name"}},[a("el-input",{attrs:{value:e.instance.name},on:{input:function(t){return e.updateSetting(t,"instance","name")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The instance’s name")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Email"}},[a("el-input",{attrs:{value:e.instance.email},on:{input:function(t){return e.updateSetting(t,"instance","email")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Email used to reach an Administrator/Moderator of the instance")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Notify email"}},[a("el-input",{attrs:{value:e.instance.notify_email},on:{input:function(t){return e.updateSetting(t,"instance","notify_email")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Email used for notifications")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Description"}},[a("el-input",{attrs:{value:e.instance.description},on:{input:function(t){return e.updateSetting(t,"instance","description")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The instance’s description, can be seen in nodeinfo and "),a("span",{staticClass:"code"},[e._v("/api/v1/instance")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Limit"}},[a("el-input-number",{attrs:{value:e.instance.limit,step:1e3,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Posts character limit (CW/Subject included in the counter)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Remote limit"}},[a("el-input-number",{attrs:{value:e.instance.remote_limit,step:1e3,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","remote_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Hard character limit beyond which remote posts will be dropped")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Upload limit (MB)"}},[a("el-input-number",{attrs:{value:e.instance.upload_limit/1048576,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(1048576*t,"instance","upload_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("File size limit of uploads (except for avatar, background, banner)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Avatar upload limit (MB)"}},[a("el-input-number",{attrs:{value:e.instance.avatar_upload_limit/1048576,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(1048576*t,"instance","avatar_upload_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("File size limit of user’s profile avatars")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Background upload limit (MB)"}},[a("el-input-number",{attrs:{value:e.instance.background_upload_limit/1048576,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(1048576*t,"instance","background_upload_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("File size limit of user’s profile backgrounds")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Banner upload limit (MB)"}},[a("el-input-number",{attrs:{value:e.instance.banner_upload_limit/1048576,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(1048576*t,"instance","banner_upload_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("File size limit of user’s profile banners")])],1),e._v(" "),a("el-form-item",{attrs:{label:"User bio length"}},[a("el-input-number",{attrs:{value:e.instance.user_bio_length,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","user_bio_length")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A user bio maximum length (default: 5000)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"User name length"}},[a("el-input-number",{attrs:{value:e.instance.user_name_length,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","user_name_length")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A user name maximum length (default: 100)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Poll limits:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Max options"}},[a("el-input-number",{attrs:{value:e.instance.poll_limits.max_options,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"instance","poll_limits","max_options")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Maximum number of options")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max characters per option"}},[a("el-input-number",{attrs:{value:e.instance.poll_limits.max_option_chars,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"instance","poll_limits","max_option_chars")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Maximum number of characters per option")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Minimum expiration (days)"}},[a("el-input-number",{attrs:{value:e.instance.poll_limits.min_expiration,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"instance","poll_limits","min_expiration")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Minimum expiration time")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max expiration (days)"}},[a("el-input-number",{attrs:{value:e.instance.poll_limits.max_expiration/86400,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(86400*t,"instance","poll_limits","max_expiration")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Maximum expiration time")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Registrations open"}},[a("el-switch",{attrs:{value:e.instance.registrations_open},on:{change:function(t){return e.updateSetting(t,"instance","registrations_open")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enable registrations for anyone, invitations can be enabled when false")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Invites enabled"}},[a("el-switch",{attrs:{value:e.instance.invites_enabled},on:{change:function(t){return e.updateSetting(t,"instance","invites_enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enable user invitations for admins (depends on "),a("span",{staticClass:"code"},[e._v("registrations_open: false)")]),e._v(".")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Account activation required"}},[a("el-switch",{attrs:{value:e.instance.account_activation_required},on:{change:function(t){return e.updateSetting(t,"instance","account_activation_required")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Require users to confirm their emails before signing in")])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Federating"}},[a("el-switch",{attrs:{value:e.instance.federating},on:{change:function(t){return e.updateSetting(t,"instance","federating")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enable federation with other instances")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Fed. replies max depth"}},[a("el-input-number",{attrs:{value:e.instance.federation_incoming_replies_max_depth,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","federation_incoming_replies_max_depth")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Max. depth of reply-to activities fetching on incoming federation, to prevent out-of-memory situations while fetching very long threads. Lower this value if you experience out-of-memory crashes.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Fed. reachability timeout"}},[a("el-input-number",{attrs:{value:e.instance.federation_reachability_timeout_days,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","federation_reachability_timeout_days")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Timeout (in days) of each external federation target being unreachable prior to pausing federating to it")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Federation publisher modules"}},[a("el-select",{attrs:{value:e.instance.federation_publisher_modules||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"instance","federation_publisher_modules")}}},e._l(e.federationPublisherModulesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),a("el-form-item",{attrs:{label:"Allow relay"}},[a("el-switch",{attrs:{value:e.instance.allow_relay},on:{change:function(t){return e.updateSetting(t,"instance","allow_relay")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enable Pleroma’s Relay, which makes it possible to follow a whole instance")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Rewrite policy"}},[a("el-select",{attrs:{value:e.rewritePolicy||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"instance","rewrite_policy")}}},e._l(e.rewritePolicyOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),e._l(e.rewritePolicyExplanations,function(t){return a("p",{key:t,staticClass:"expl"},[e._v(e._s(e.getRewritePolicyExpl(t)))])})],2),e._v(" "),a("el-form-item",{attrs:{label:"Public"}},[a("el-switch",{attrs:{value:e.instance.public},on:{change:function(t){return e.updateSetting(t,"instance","public")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Makes the client API in authentificated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Quarantined instances"}},[a("el-select",{attrs:{value:e.instance.quarantined_instances||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"instance","quarantined_instances")}}},e._l(e.quarantinedInstancesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of ActivityPub instances where private (DMs, followers-only) activities will not be send")])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Managed config"}},[a("el-switch",{attrs:{value:e.instance.managed_config},on:{change:function(t){return e.updateSetting(t,"instance","managed_config")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whenether the config for pleroma-fe is configured in this config or in "),a("span",{staticClass:"code"},[e._v("static/config.json")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Static directory"}},[a("el-input",{attrs:{value:e.instance.static_dir},on:{input:function(t){return e.updateSetting(t,"instance","static_dir")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Allowed post formats"}},[a("el-select",{attrs:{value:e.instance.allowed_post_formats||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"instance","allowed_post_formats")}}},[a("el-option",{attrs:{label:"text/plain",value:"text/plain"}}),e._v(" "),a("el-option",{attrs:{label:"text/html",value:"text/html"}}),e._v(" "),a("el-option",{attrs:{label:"text/markdown",value:"text/markdown"}}),e._v(" "),a("el-option",{attrs:{label:"text/bbcode",value:"text/bbcode"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("MIME-type list of formats allowed to be posted (transformed into HTML)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"MRF transparency"}},[a("el-switch",{attrs:{value:e.instance.mrf_transparency},on:{change:function(t){return e.updateSetting(t,"instance","mrf_transparency")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Make the content of your Message Rewrite Facility settings public (via nodeinfo)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"MRF transparency exclusions"}},[a("el-select",{attrs:{value:e.instance.mrf_transparency_exclusions||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"instance","mrf_transparency_exclusions")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Scope copy"}},[a("el-switch",{attrs:{value:e.instance.scope_copy},on:{change:function(t){return e.updateSetting(t,"instance","scope_copy")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Copy the scope "),a("span",{staticClass:"code"},[e._v("(private/unlisted/public)")]),e._v(" in replies to posts by default")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Subject line behavior"}},[a("el-select",{attrs:{value:e.instance.subject_line_behavior,clearable:""},on:{change:function(t){return e.updateSetting(t,"instance","subject_line_behavior")}}},[a("el-option",{attrs:{label:"Email",value:"email"}},[e._v("Email / Copy and preprend re:, as in email")]),e._v(" "),a("el-option",{attrs:{label:"Masto",value:"masto"}},[e._v("Masto / Copy verbatim, as in Mastodon")]),e._v(" "),a("el-option",{attrs:{label:"Noop",value:"noop"}},[e._v("Noop / Don't copy the subject")])],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Allows changing the default behaviour of subject lines in replies")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Always show subject input"}},[a("el-switch",{attrs:{value:e.instance.always_show_subject_input},on:{change:function(t){return e.updateSetting(t,"instance","always_show_subject_input")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When set to false, auto-hide the subject field when it's empty")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Extended nickname format"}},[a("el-switch",{attrs:{value:e.instance.extended_nickname_format},on:{change:function(t){return e.updateSetting(t,"instance","extended_nickname_format")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Set to "),a("span",{staticClass:"code"},[e._v("true")]),e._v(" to use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max pinned statuses"}},[a("el-input-number",{attrs:{value:e.instance.max_pinned_statuses,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","max_pinned_statuses")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum number of pinned statuses. '0' will disable the feature")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Autofollowed nicknames"}},[a("el-select",{attrs:{value:e.instance.autofollowed_nicknames||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"instance","autofollowed_nicknames")}}},e._l(e.autofollowedNicknamesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Set to nicknames of (local) users that every new user should automatically follow")])],1),e._v(" "),a("el-form-item",{attrs:{label:"No attachment links"}},[a("el-switch",{attrs:{value:e.instance.no_attachment_links},on:{change:function(t){return e.updateSetting(t,"instance","no_attachment_links")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Set to true to disable automatically adding attachment link text to statuses")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Welcome message"}},[a("el-input",{attrs:{value:e.instance.welcome_message},on:{input:function(t){return e.updateSetting(t,"instance","welcome_message")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A message that will be send to a newly registered users as a direct message")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Welcome user nickname"}},[a("el-input",{attrs:{value:e.instance.welcome_user_nickname},on:{input:function(t){return e.updateSetting(t,"instance","welcome_user_nickname")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The nickname of the local user that sends the welcome message")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max report comment size"}},[a("el-input-number",{attrs:{value:e.instance.max_report_comment_size,step:100,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","max_report_comment_size")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum size of the report comment")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Safe DM mentions"}},[a("el-switch",{attrs:{value:e.instance.safe_dm_mentions},on:{change:function(t){return e.updateSetting(t,"instance","safe_dm_mentions")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If set to true, only mentions at the beginning of a post will be used to address people in direct messages. This is to prevent accidental mentioning of people when talking about them")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Healthcheck"}},[a("el-switch",{attrs:{value:e.instance.healthcheck},on:{change:function(t){return e.updateSetting(t,"instance","healthcheck")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If set to true, system data will be shown on "),a("span",{staticClass:"code"},[e._v("/api/pleroma/healthcheck")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Remote post retention days"}},[a("el-input-number",{attrs:{value:e.instance.remote_post_retention_days,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","remote_post_retention_days")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The default amount of days to retain remote posts when pruning the database.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Skip thread containment"}},[a("el-switch",{attrs:{value:e.instance.skip_thread_containment},on:{change:function(t){return e.updateSetting(t,"instance","skip_thread_containment")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Skip filter out broken threads.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Limit to local content"}},[a("el-select",{attrs:{value:e.instance.limit_to_local_content,clearable:""},on:{change:function(t){return e.updateSetting(t,"instance","limit_to_local_content")}}},[a("el-option",{attrs:{label:"Unauthenticated",value:":unauthenticated"}}),e._v(" "),a("el-option",{attrs:{label:"All",value:":all"}}),e._v(" "),a("el-option",{attrs:{label:"False",value:"false"}})],1)],1),e._v(" "),a("el-form-item",{attrs:{label:"Dynamic configuration"}},[a("el-switch",{attrs:{value:e.instance.dynamic_configuration},on:{change:function(t){return e.updateSetting(t,"instance","dynamic_configuration")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Allow transferring configuration to DB with the subsequent customization from Admin API")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max account fields"}},[a("el-input-number",{attrs:{value:e.instance.max_account_fields,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","max_account_fields")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum number of custom fields in the user profile (Default: 4)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max remote account fields"}},[a("el-input-number",{attrs:{value:e.instance.max_remote_account_fields,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","max_remote_account_fields")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum number of custom fields in the remote user profile (Default: 10)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Account field name length"}},[a("el-input-number",{attrs:{value:e.instance.account_field_name_length,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","account_field_name_length")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("An account field name maximum length (Default: 255)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Account field value length"}},[a("el-input-number",{attrs:{value:e.instance.account_field_value_length,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","account_field_value_length")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("An account field value maximum length (Default: 255)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"External user synchronization"}},[a("el-switch",{attrs:{value:e.instance.external_user_synchronization},on:{change:function(t){return e.updateSetting(t,"instance","external_user_synchronization")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enabling following/followers counters synchronization for external users.")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"uriSchemes",attrs:{model:e.uriSchemes,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"URI schemes"}},[a("el-select",{attrs:{value:e.uriSchemes.valid_schemes||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"uri_schemes","valid_schemes")}}},e._l(e.uriSchemesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of the scheme part that is considered valid to be an URL")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"adminToken",attrs:{model:e.adminToken,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Admin token"}},[a("el-input",{attrs:{value:e.adminToken.value},on:{input:function(t){return e.updateSetting(t,"admin_token","value")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Allows to set a token that can be used to authenticate with the admin api without using an actual user by giving it as the "),a("span",{staticClass:"code"},[e._v("admin_token")]),e._v(" parameter.")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"scheduledActivity",attrs:{model:e.scheduledActivity,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Scheduled activity:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Daily user limit"}},[a("el-input-number",{attrs:{value:e.scheduledActivity.daily_user_limit,step:5,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.ScheduledActivity","daily_user_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The number of scheduled activities a user is allowed to create in a single day (Default: 25)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Total user limit"}},[a("el-input-number",{attrs:{value:e.scheduledActivity.total_user_limit,step:10,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.ScheduledActivity","total_user_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The number of scheduled activities a user is allowed to create in total (Default: 300)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.scheduledActivity.enabled},on:{change:function(t){return e.updateSetting(t,"Pleroma.ScheduledActivity","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether scheduled activities are sent to the job queue to be executed")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"fetchInitialPosts",attrs:{model:e.fetchInitialPosts,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Fetch initial posts"}},[a("el-switch",{attrs:{value:e.fetchInitialPosts.enabled},on:{change:function(t){return e.updateSetting(t,"fetch_initial_posts","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If enabled, when a new user is federated with, fetch some of their latest posts")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Pages"}},[a("el-input-number",{attrs:{value:e.fetchInitialPosts.pages,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"fetch_initial_posts","pages")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The amount of pages to fetch")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"suggestions",attrs:{model:e.suggestions,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Suggestions:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.suggestions.enabled},on:{change:function(t){return e.updateSetting(t,"suggestions","enabled")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Third party engine"}},[a("el-input",{attrs:{value:e.suggestions.third_party_engine},on:{input:function(t){return e.updateSetting(t,"suggestions","third_party_engine")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Timeout"}},[a("el-input-number",{attrs:{value:e.suggestions.timeout,step:1e3,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"suggestions","timeout")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Limit"}},[a("el-input-number",{attrs:{value:e.suggestions.limit,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"suggestions","limit")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Web"}},[a("el-input",{attrs:{value:e.suggestions.web},on:{input:function(t){return e.updateSetting(t,"suggestions","web")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"pleromaUser",attrs:{model:e.pleromaUser,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Restricted nicknames"}},[a("el-select",{attrs:{value:e.pleromaUser.restricted_nicknames||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.User","restricted_nicknames")}}},e._l(e.restrictedNicknamesOptions,function(e){return a("el-option",{key:e.value,attrs:{value:e.value}})}),1)],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));K.options.__file="Instance.vue";var Q=K.exports,J={name:"JobQueue",computed:c()({},Object(p.b)(["queues","retryQueue"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},X=(a("lNpP"),Object(v.a)(J,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"queues",attrs:{model:e.queues,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Job queues:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Outgoing federation"}},[a("el-input-number",{attrs:{value:e.queues.federator_outgoing,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","federator_outgoing")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Incoming federation"}},[a("el-input-number",{attrs:{value:e.queues.federator_incoming,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","federator_incoming")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Email sender"}},[a("el-input-number",{attrs:{value:e.queues.mailer,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","mailer")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Transmogrifier"}},[a("el-input-number",{attrs:{value:e.queues.transmogrifier,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","transmogrifier")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Web push notifications"}},[a("el-input-number",{attrs:{value:e.queues.web_push,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","web_push")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Scheduled activities"}},[a("el-input-number",{attrs:{value:e.queues.scheduled_activities,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","scheduled_activities")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Background"}},[a("el-input-number",{attrs:{value:e.queues.background,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","background")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"retryQueue",attrs:{model:e.retryQueue,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Retry queue:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.retryQueue.enabled},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Federator.RetryQueue","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If set to true, failed federation jobs will be retried")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max jobs"}},[a("el-input-number",{attrs:{value:e.retryQueue.max_jobs,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Federator.RetryQueue","max_jobs")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum amount of parallel federation jobs running at the same time.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Initial timeout (s)"}},[a("el-input-number",{attrs:{value:e.retryQueue.initial_timeout,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Federator.RetryQueue","initial_timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The initial timeout in seconds")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max retries"}},[a("el-input-number",{attrs:{value:e.retryQueue.max_retries,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Federator.RetryQueue","max_retries")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum number of times a federation job is retried")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));X.options.__file="JobQueue.vue";var Y=X.exports,Z={name:"Logger",computed:c()({},Object(p.b)(["consoleLogger","exsyslogger","level","loggerBackends","meta","webhookUrl"]),{loggerBackendsValue:function(){return this.loggerBackends.value?this.loggerBackends.value.map(function(e){return JSON.stringify(e)}):[]},loggerBackendsOptions:function(){return L.loggerBackendsOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{processNestedData:function(e,t,a,s){var n=c()({},this.$store.state.settings.settings[t][a],o()({},s,e));this.updateSetting(n,t,a)},updateloggerBackends:function(e,t,a){var s=e.map(function(e){return JSON.parse(e)});this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,s)})},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},ee=(a("mADP"),Object(v.a)(Z,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"loggerBackends",attrs:{model:e.loggerBackends,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Backends"}},[a("el-select",{attrs:{value:e.loggerBackendsValue,multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateloggerBackends(t,"backends","value")}}},e._l(e.loggerBackendsOptions,function(e,t){return a("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[a("span",{staticClass:"code"},[e._v(":console")]),e._v(" is used to send logs to stdout, "),a("span",{staticClass:"code"},[e._v("{ExSyslogger, :ex_syslogger}")]),e._v(" to log to syslog, and "),a("span",{staticClass:"code"},[e._v("Quack.Logger")]),e._v(" to log to Slack")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"consoleLogger",attrs:{model:e.consoleLogger,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Console logger:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Level"}},[a("el-select",{attrs:{value:e.consoleLogger.level,clearable:""},on:{change:function(t){return e.updateSetting(t,"console","level")}}},[a("el-option",{attrs:{value:":debug",label:":debug - for debug-related messages"}}),e._v(" "),a("el-option",{attrs:{value:":info",label:":info - for information of any kind"}}),e._v(" "),a("el-option",{attrs:{value:":warn",label:":warn - for warnings"}}),e._v(" "),a("el-option",{attrs:{value:":error",label:":error - for errors"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("The level to be logged by this backend. Note that messages are filtered by the general\n "),a("span",{staticClass:"code"},[e._v(":level")]),e._v(" configuration for the "),a("span",{staticClass:"code"},[e._v(":logger")]),e._v(" application first.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Format"}},[a("el-input",{attrs:{value:e.consoleLogger.format},on:{input:function(t){return e.updateSetting(t,"console","format")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The format message used to print logs. ")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Metadata"}},[a("el-select",{attrs:{value:e.consoleLogger.metadata||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"console","metadata")}}},[a("el-option",{attrs:{value:":all"}}),e._v(" "),a("el-option",{attrs:{value:":request_id"}}),e._v(" "),a("el-option",{attrs:{value:":line"}}),e._v(" "),a("el-option",{attrs:{value:":user_id"}}),e._v(" "),a("el-option",{attrs:{value:":application"}}),e._v(" "),a("el-option",{attrs:{value:":function"}}),e._v(" "),a("el-option",{attrs:{value:":file"}}),e._v(" "),a("el-option",{attrs:{value:":pid"}}),e._v(" "),a("el-option",{attrs:{value:":crash_reason"}}),e._v(" "),a("el-option",{attrs:{value:":initial_call"}}),e._v(" "),a("el-option",{attrs:{value:":registered_name"}}),e._v(" "),a("el-option",{attrs:{value:":none"}})],1)],1),e._v(" "),a("el-form-item",{attrs:{label:"Device"}},[a("el-input",{attrs:{value:e.consoleLogger.device},on:{input:function(t){return e.updateSetting(t,"console","device")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The device to log error messages to. Defaults to "),a("span",{staticClass:"code"},[e._v(":user")]),e._v("\n but can be changed to something else such as "),a("span",{staticClass:"code"},[e._v(":standard_error")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max buffer"}},[a("el-input-number",{attrs:{value:e.consoleLogger.max_buffer,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"console","max_buffer")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Maximum events to buffer while waiting for a confirmation from the IO device (default: 32). Once the buffer is full, the backend will block until a confirmation is received.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Colors:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.consoleLogger.colors.enabled},on:{change:function(t){return e.processNestedData(t,"console","colors","enabled")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Debug message"}},[a("el-input",{attrs:{value:e.consoleLogger.colors.debug},on:{input:function(t){return e.processNestedData(t,"console","colors","debug")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Defaults to: "),a("span",{staticClass:"code"},[e._v(":cyan")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Info message"}},[a("el-input",{attrs:{value:e.consoleLogger.colors.info},on:{input:function(t){return e.processNestedData(t,"console","colors","info")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Defaults to: "),a("span",{staticClass:"code"},[e._v(":normal")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Warn message"}},[a("el-input",{attrs:{value:e.consoleLogger.colors.warn},on:{input:function(t){return e.processNestedData(t,"console","colors","warn")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Defaults to: "),a("span",{staticClass:"code"},[e._v(":yellow")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Error message"}},[a("el-input",{attrs:{value:e.consoleLogger.colors.error},on:{input:function(t){return e.processNestedData(t,"console","colors","error")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Defaults to: "),a("span",{staticClass:"code"},[e._v(":red")])])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"exsyslogger",attrs:{model:e.exsyslogger,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"ExSyslogger:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Level"}},[a("el-select",{attrs:{value:e.exsyslogger.level,clearable:""},on:{change:function(t){return e.updateSetting(t,"ex_syslogger","level")}}},[a("el-option",{attrs:{value:":debug",label:":debug - for debug-related messages"}}),e._v(" "),a("el-option",{attrs:{value:":info",label:":info - for information of any kind"}}),e._v(" "),a("el-option",{attrs:{value:":warn",label:":warn - for warnings"}}),e._v(" "),a("el-option",{attrs:{value:":error",label:":error - for errors"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Logging level. It defaults to "),a("span",{staticClass:"code"},[e._v(":info.")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Format"}},[a("el-input",{attrs:{value:e.exsyslogger.format},on:{input:function(t){return e.updateSetting(t,"ex_syslogger","format")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The format message used to print logs.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Formatter"}},[a("el-input",{attrs:{value:e.exsyslogger.formatter},on:{input:function(t){return e.updateSetting(t,"ex_syslogger","formatter")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Formatter that will be used to format the log. It default to "),a("span",{staticClass:"code"},[e._v("Logger.Formatter")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Metadata"}},[a("el-select",{attrs:{value:e.exsyslogger.metadata||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"ex_syslogger","metadata")}}},[a("el-option",{attrs:{value:":all"}}),e._v(" "),a("el-option",{attrs:{value:":request_id"}}),e._v(" "),a("el-option",{attrs:{value:":line"}}),e._v(" "),a("el-option",{attrs:{value:":user_id"}}),e._v(" "),a("el-option",{attrs:{value:":application"}}),e._v(" "),a("el-option",{attrs:{value:":function"}}),e._v(" "),a("el-option",{attrs:{value:":file"}}),e._v(" "),a("el-option",{attrs:{value:":pid"}}),e._v(" "),a("el-option",{attrs:{value:":crash_reason"}}),e._v(" "),a("el-option",{attrs:{value:":initial_call"}}),e._v(" "),a("el-option",{attrs:{value:":registered_name"}}),e._v(" "),a("el-option",{attrs:{value:":none"}})],1)],1),e._v(" "),a("el-form-item",{attrs:{label:"Ident"}},[a("el-input",{attrs:{value:e.exsyslogger.ident},on:{input:function(t){return e.updateSetting(t,"ex_syslogger","ident")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A string that’s prepended to every message, and is typically set to the app name. It defaults to "),a("span",{staticClass:"code"},[e._v("Elixir")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Facility"}},[a("el-input",{attrs:{value:e.exsyslogger.facility},on:{input:function(t){return e.updateSetting(t,"ex_syslogger","facility")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Syslog facility to be used. It defaults to "),a("span",{staticClass:"code"},[e._v(":local0")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Options"}},[a("el-select",{attrs:{value:e.exsyslogger.option||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"ex_syslogger","option")}}},[a("el-option",{attrs:{value:":pid"}}),e._v(" "),a("el-option",{attrs:{value:":cons"}}),e._v(" "),a("el-option",{attrs:{value:":odelay"}}),e._v(" "),a("el-option",{attrs:{value:":ndelay"}}),e._v(" "),a("el-option",{attrs:{value:":perror"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Syslog option to be used. It defaults to "),a("span",{staticClass:"code"},[e._v(":ndelay.")])])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"webhookUrl",attrs:{model:e.webhookUrl,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Quack logger:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Webhook URL"}},[a("el-input",{attrs:{value:e.webhookUrl.value},on:{input:function(t){return e.updateSetting(t,"webhook_url","value")}}})],1)],1),e._v(" "),a("el-form",{ref:"level",attrs:{model:e.level,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Level"}},[a("el-select",{attrs:{value:e.level.value,clearable:""},on:{change:function(t){return e.updateSetting(t,"level","value")}}},[a("el-option",{attrs:{value:":debug",label:":debug - for debug-related messages"}}),e._v(" "),a("el-option",{attrs:{value:":info",label:":info - for information of any kind"}}),e._v(" "),a("el-option",{attrs:{value:":warn",label:":warn - for warnings"}}),e._v(" "),a("el-option",{attrs:{value:":error",label:":error - for errors"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Logging level. It defaults to "),a("span",{staticClass:"code"},[e._v(":info.")])])],1)],1),e._v(" "),a("el-form",{ref:"meta",attrs:{model:e.meta,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Metadata"}},[a("el-select",{attrs:{value:e.meta.value||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"meta","value")}}},[a("el-option",{attrs:{value:":all"}}),e._v(" "),a("el-option",{attrs:{value:":module"}}),e._v(" "),a("el-option",{attrs:{value:":function"}}),e._v(" "),a("el-option",{attrs:{value:":file"}}),e._v(" "),a("el-option",{attrs:{value:":application"}}),e._v(" "),a("el-option",{attrs:{value:":line"}}),e._v(" "),a("el-option",{attrs:{value:":pid"}}),e._v(" "),a("el-option",{attrs:{value:":crash_reason"}}),e._v(" "),a("el-option",{attrs:{value:":initial_call"}}),e._v(" "),a("el-option",{attrs:{value:":registered_name"}}),e._v(" "),a("el-option",{attrs:{value:":none"}})],1)],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));ee.options.__file="Logger.vue";var te=ee.exports,ae={name:"Mailer",components:{editor:M.a},computed:c()({},Object(p.b)(["emailNotifications","mailer","userEmail"]),{editorContent:{get:function(){return this.mailer.dkim?this.mailer.dkim[0]:""},set:function(e){this.updateSetting([e],"Pleroma.Emails.Mailer","dkim")}},adapterOptions:function(){return L.adapterOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{processNestedData:function(e,t,a,s){var n=c()({},this.$store.state.settings.settings[t][a],o()({},s,e));this.updateSetting(n,t,a)},sendEmailLogo:function(e){var t=e.file;this.$store.dispatch("UploadMedia",{file:t,tab:"Pleroma.Emails.UserEmail",inputName:"logo"})},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},se=(a("PygS"),Object(v.a)(ae,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"mailer",attrs:{model:e.mailer,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.mailer.enabled},on:{change:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Allows to enable or disable sending emails. Defaults to false.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Adapter"}},[a("el-select",{attrs:{value:e.mailer.adapter,clearable:""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","adapter")}}},e._l(e.adapterOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),"Swoosh.Adapters.Sendmail"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"CMD Path"}},[a("el-input",{attrs:{value:e.mailer.cmd_path},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","cmd_path")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("E. g. "),a("span",{staticClass:"code"},[e._v('/usr/bin/sendmail"')])])],1),e._v(" "),a("el-form-item",{attrs:{label:"CMD Args"}},[a("el-input",{attrs:{value:e.mailer.cmd_args},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","cmd_args")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("E. g. "),a("span",{staticClass:"code"},[e._v("-N delay,failure,success")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Qmail"}},[a("el-switch",{attrs:{value:e.mailer.qmail},on:{change:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","qmail")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.SMTP"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"Relay"}},[a("el-input",{attrs:{value:e.mailer.relay},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","relay")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("E. g. "),a("span",{staticClass:"code"},[e._v("smtp.avengers.com")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Username"}},[a("el-input",{attrs:{value:e.mailer.username},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","username")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Password"}},[a("el-input",{attrs:{value:e.mailer.password},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","password")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"SSL"}},[a("el-switch",{attrs:{value:e.mailer.ssl},on:{change:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","ssl")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"TLS"}},[a("el-input",{attrs:{value:e.mailer.tls},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","tls")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("E.g. "),a("span",{staticClass:"code"},[e._v(":always")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Auth"}},[a("el-input",{attrs:{value:e.mailer.auth},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","auth")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("E.g. "),a("span",{staticClass:"code"},[e._v(":always")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.mailer.port},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","port")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"DKIM"}},[a("editor",{attrs:{height:"150",width:"100%",lang:"elixir",theme:"chrome"},model:{value:e.editorContent,callback:function(t){e.editorContent=t},expression:"editorContent"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Retries"}},[a("el-input-number",{attrs:{value:e.mailer.retries,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","retries")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"No mx lookups"}},[a("el-switch",{attrs:{value:e.mailer.no_mx_lookups},on:{change:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","no_mx_lookups")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Sendgrid"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Mandrill"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Mailgun"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Domain"}},[a("el-input",{attrs:{value:e.mailer.domain},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","domain")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Mailjet"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Secret"}},[a("el-input",{attrs:{value:e.mailer.secret},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","secret")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Postmark"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.SparkPost"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Endpoint"}},[a("el-input",{attrs:{value:e.mailer.endpoint},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","endpoint")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.AmazonSES"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"Region"}},[a("el-input",{attrs:{value:e.mailer.region},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","region")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Access key"}},[a("el-input",{attrs:{value:e.mailer.access_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","access_key")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Secret"}},[a("el-input",{attrs:{value:e.mailer.secret},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","secret")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Dyn"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.SocketLabs"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"Server ID"}},[a("el-input",{attrs:{value:e.mailer.server_id},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","server_id")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Gmail"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"Access token"}},[a("el-input",{attrs:{value:e.mailer.access_token},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","access_token")}}})],1)],1):e._e()],1),e._v(" "),a("el-form",{ref:"emailNotifications",attrs:{model:e.emailNotifications,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Email notifications"}}),e._v(" "),a("el-form-item",{attrs:{label:"Digest:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Active"}},[a("el-switch",{attrs:{value:e.emailNotifications.digest.active},on:{change:function(t){return e.processNestedData(t,"email_notifications","digest","active")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Globally enable or disable digest emails.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Schedule"}},[a("el-input",{attrs:{value:e.emailNotifications.digest.schedule},on:{input:function(t){return e.processNestedData(t,"email_notifications","digest","schedule")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When to send digest email, in "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Cron",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n crontab format\n ")]),e._v('.\n "0 0 * * 0" is the default, meaning "once a week at midnight on Sunday morning"')])],1),e._v(" "),a("el-form-item",{attrs:{label:"Interval"}},[a("el-input-number",{attrs:{value:e.emailNotifications.digest.interval,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"email_notifications","digest","interval")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Minimum interval between digest emails to one user.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Inactivity threshold"}},[a("el-input-number",{attrs:{value:e.emailNotifications.digest.inactivity_threshold,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"email_notifications","digest","inactivity_threshold")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Minimum user inactivity threshold.")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"userEmail",attrs:{model:e.userEmail,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Digest template styles:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Logo"}},[a("el-input",{attrs:{value:e.userEmail.logo},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.UserEmail","logo")}}}),e._v(" "),a("div",{staticClass:"upload-container"},[a("p",{staticClass:"text"},[e._v("or")]),e._v(" "),a("el-upload",{attrs:{"http-request":e.sendEmailLogo,multiple:!1,"show-file-list":!1,action:"/api/v1/media"}},[a("el-button",{attrs:{size:"small",type:"primary"}},[e._v("Click to upload")])],1)],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("A path to a custom logo.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Styling:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Link color"}},[a("el-input",{attrs:{value:e.userEmail.styling.link_color},on:{input:function(t){return e.processNestedData(t,"Pleroma.Emails.UserEmail","styling","link_color")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Background color"}},[a("el-input",{attrs:{value:e.userEmail.styling.background_color},on:{input:function(t){return e.processNestedData(t,"Pleroma.Emails.UserEmail","styling","background_color")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Content background color"}},[a("el-input",{attrs:{value:e.userEmail.styling.content_background_color},on:{input:function(t){return e.processNestedData(t,"Pleroma.Emails.UserEmail","styling","content_background_color")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Header color"}},[a("el-input",{attrs:{value:e.userEmail.styling.header_color},on:{input:function(t){return e.processNestedData(t,"Pleroma.Emails.UserEmail","styling","header_color")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Text color"}},[a("el-input",{attrs:{value:e.userEmail.styling.text_color},on:{input:function(t){return e.processNestedData(t,"Pleroma.Emails.UserEmail","styling","text_color")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Text muted color"}},[a("el-input",{attrs:{value:e.userEmail.styling.text_muted_color},on:{input:function(t){return e.processNestedData(t,"Pleroma.Emails.UserEmail","styling","text_muted_color")}}})],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));se.options.__file="Mailer.vue";var ne=se.exports,ie={name:"MediaProxy",computed:c()({},Object(p.b)(["mediaProxy"]),{inlineContentTypes:function(){return Array.isArray(this.mediaProxy.proxy_opts.inline_content_types)?"whitelistedTypeArray":this.mediaProxy.proxy_opts.inline_content_types},http:function(){return this.mediaProxy.proxy_opts.http||{}},reqHeadersOptions:function(){return this.mediaProxySettings.reqHeadersOptions},hackneyPoolsOptions:function(){return L.hackneyPoolsOptions},whitelistedContentTypes:function(){return Array.isArray(this.mediaProxy.proxy_opts.inline_content_types)?this.mediaProxy.proxy_opts.inline_content_types:[]},whitelistedContentTypesOptions:function(){return L.whitelistedContentTypesOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{getPoolExpl:function(e){var t=this.hackneyPoolsOptions.find(function(t){return t.value===e});return t?"Max connections: "+t.max_connections+", timeout: "+t.timeout:""},processHttpSettings:function(e,t,a,s,n){var i=c()({},this.mediaProxy[a][s],o()({},n,e));this.processNestedData(i,t,a,s)},processNestedData:function(e,t,a,s){var n=c()({},this.$store.state.settings.settings[t][a],o()({},s,e));this.updateSetting(n,t,a)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},le=(a("UdS4"),Object(v.a)(ie,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-form",{ref:"mediaProxy",attrs:{model:e.mediaProxy,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.mediaProxy.enabled},on:{change:function(t){return e.updateSetting(t,"media_proxy","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enables proxying of remote media to the instance’s proxy")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Base URL"}},[a("el-input",{attrs:{value:e.mediaProxy.base_url},on:{input:function(t){return e.updateSetting(t,"media_proxy","base_url")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts.")])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Proxy options:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Redirect on failure"}},[a("el-switch",{attrs:{value:e.mediaProxy.proxy_opts.redirect_on_failure},on:{change:function(t){return e.processNestedData(t,"media_proxy","proxy_opts","redirect_on_failure")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Redirects the client to the real remote URL if there's any HTTP errors. Any error during body processing will not be redirected as the response is chunked")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max body length (MB)"}},[a("el-input-number",{attrs:{value:e.mediaProxy.proxy_opts.max_body_length/1048576,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(1048576*t,"media_proxy","proxy_opts","max_body_length")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Limits the content length to be approximately the specified length")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max read duration (s)"}},[a("el-input-number",{attrs:{value:e.mediaProxy.proxy_opts.max_read_duration,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"media_proxy","proxy_opts","max_read_duration")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The total time the connection is allowed to read from the remote upstream")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Inline content types"}},[a("el-select",{attrs:{value:e.inlineContentTypes,clearable:""},on:{change:function(t){return e.processNestedData(t,"media_proxy","proxy_opts","inline_content_types")}}},[a("el-option",{attrs:{value:!0,label:"True"}}),e._v(" "),a("el-option",{attrs:{value:!1,label:"False"}}),e._v(" "),a("el-option",{attrs:{value:"whitelistedTypeArray",label:"List of whitelisted content types"}}),e._v(" "),a("el-option",{attrs:{value:"keepUserAgent",label:"Forward client's user-agent to the upstream"}})],1),e._v(" "),!0===e.inlineContentTypes?a("p",{staticClass:"expl"},[e._v("Will not alter "),a("span",{staticClass:"code"},[e._v("content-disposition")]),e._v(" (up to the upstream)")]):e._e(),e._v(" "),e.inlineContentTypes?e._e():a("p",{staticClass:"expl"},[e._v("Will add "),a("span",{staticClass:"code"},[e._v("content-disposition: attachment")]),e._v(" to any request")]),e._v(" "),"keepUserAgent"===e.inlineContentTypes?a("p",{staticClass:"expl"},[e._v("\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\n doing content transformation (encoding, …) depending on the request.\n ")]):e._e()],1),e._v(" "),"whitelistedTypeArray"===e.inlineContentTypes?a("el-form-item",{attrs:{label:"Whitelisted content types"}},[a("el-select",{attrs:{value:e.whitelistedContentTypes,multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.processNestedData(t,"media_proxy","proxy_opts","inline_content_types")}}},e._l(e.whitelistedContentTypesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"Request headers"}},[a("el-select",{attrs:{value:e.mediaProxy.proxy_opts.req_headers||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.processNestedData(t,"media_proxy","proxy_opts","req_headers")}}}),e._v(" "),a("p",{staticClass:"expl"},[a("span",{staticClass:"code"},[e._v("resp_headers")]),e._v(" additional headers")])],1),e._v(" "),a("el-form-item",{attrs:{label:"HTTP:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Follow redirect"}},[a("el-switch",{attrs:{value:e.http.follow_redirect},on:{change:function(t){return e.processHttpSettings(t,"media_proxy","proxy_opts","http","follow_redirect")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Pool"}},[a("el-select",{attrs:{value:e.http.pool,clearable:""},on:{change:function(t){return e.processHttpSettings(t,"media_proxy","proxy_opts","http","pool")}}},e._l(e.hackneyPoolsOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v(e._s(e.getPoolExpl(e.http.pool)))])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Whitelist"}},[a("el-select",{attrs:{value:e.mediaProxy.whitelist||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"media_proxy","whitelist")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of domains to bypass the mediaproxy")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)},[],!1,null,null,null));le.options.__file="MediaProxy.vue";var re=le.exports,oe={name:"Metadata",computed:c()({},Object(p.b)(["metadata","richMedia"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},ue=(a("apN7"),Object(v.a)(oe,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"metadata",attrs:{model:e.metadata,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Providers"}},[a("el-select",{attrs:{value:e.metadata.providers||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Metadata","providers")}}},[a("el-option",{attrs:{value:"Pleroma.Web.Metadata.Providers.OpenGraph"}}),e._v(" "),a("el-option",{attrs:{value:"Pleroma.Web.Metadata.Providers.TwitterCard"}}),e._v(" "),a("el-option",{attrs:{value:"Pleroma.Web.Metadata.Providers.RelMe"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of metadata providers to enable.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Unfurl NSFW"}},[a("el-switch",{attrs:{value:e.metadata.unfurl_nsfw},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Metadata","unfurl_nsfw")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If set to true nsfw attachments will be shown in previews.")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"richMedia",attrs:{model:e.richMedia,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Rich media:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.richMedia.enabled},on:{change:function(t){return e.updateSetting(t,"rich_media","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If enabled the instance will parse metadata from attached links to generate link previews.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Ignore hosts"}},[a("el-select",{attrs:{value:e.richMedia.ignore_hosts||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"rich_media","ignore_hosts")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of hosts which will be ignored by the metadata parser.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Ignore TLD"}},[a("el-select",{attrs:{value:e.richMedia.ignore_tld||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"rich_media","ignore_tld")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List TLDs (top-level domains) which will ignore for parse metadata.\n Default is "),a("span",{staticClass:"code"},[e._v('["local", "localdomain", "lan"]')])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Parsers"}},[a("el-select",{attrs:{value:e.richMedia.parsers||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"rich_media","parsers")}}},[a("el-option",{attrs:{value:"Pleroma.Web.RichMedia.Parsers.TwitterCard"}}),e._v(" "),a("el-option",{attrs:{value:"Pleroma.Web.RichMedia.Parsers.OGP"}}),e._v(" "),a("el-option",{attrs:{value:"Pleroma.Web.RichMedia.Parsers.OEmbed"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of Rich Media parsers")])],1),e._v(" "),a("el-form-item",{attrs:{label:"TTL Setters"}},[a("el-select",{attrs:{value:e.richMedia.ttl_setters||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"rich_media","ttl_setters")}}},[a("el-option",{attrs:{value:"Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl"}})],1)],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));ue.options.__file="Metadata.vue";var ce=ue.exports,pe={name:"MRF",data:function(){return{removableDoubleOptions:["replace","mrfUserAllowlist"],removableSingleOptions:["keywordReject","federatedTimelineRemoval"]}},computed:c()({},Object(p.b)(["mrfHellthread","mrfKeyword","mrfMention","mrfNormalizeMarkup","mrfSimple","mrfSubchain","mrfRejectnonpublic","mrfUserAllowlist","mrfVocabulary"]),{matchActor:function(){var e=this;return Object.keys(this.mrfSubchain.match_actor).map(function(t){return[t,e.mrfSubchain.match_actor[t]]})},policiesOptions:function(){return L.rewritePolicyOptions},replacePatterns:function(){var e=this;return Object.keys(this.mrfKeyword.replace).map(function(t){return[t,e.mrfKeyword.replace[t]]})},userAllowlist:function(){var e=this;return Object.keys(this.mrfUserAllowlist).map(function(t){return[t,e.mrfUserAllowlist[t]]})},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{addMrfSubchainRow:function(){var e=this.matchActor.reduce(function(e,t,a){return c()({},e,o()({},t[0],t[1]))},{});this.updateSetting(c()({},e,{"":[]}),"mrf_subchain","match_actor")},addMrfUserAllowlistRow:function(){var e=this.userAllowlist.reduce(function(e,t,a){return c()({},e,o()({},t[0],t[1]))},{});this.$store.dispatch("RewriteConfig",{data:c()({},e,{"":[]}),tab:"mrf_user_allowlist"})},addReplaceRow:function(){var e=this.replacePatterns.reduce(function(e,t,a){return c()({},e,o()({},t[0],t[1]))},{});this.updateSetting(c()({},e,{"":""}),"mrf_keyword","replace")},deleteMrfSubchainRow:function(e){var t=this.matchActor.filter(function(t,a){return e!==a}).reduce(function(e,t,a){return c()({},e,o()({},t[0],t[1]))},{});this.updateSetting(t,"mrf_subchain","match_actor")},deleteMrfUserAllowlistRow:function(e){var t=this.userAllowlist.filter(function(t,a){return e!==a}).reduce(function(e,t,a){return c()({},e,o()({},t[0],t[1]))},{});this.$store.dispatch("RewriteConfig",{data:t,tab:"mrf_user_allowlist"})},deleteReplaceRow:function(e){var t=this.replacePatterns.filter(function(t,a){return e!==a}).reduce(function(e,t,a){return c()({},e,o()({},t[0],t[1]))},{});this.updateSetting(t,"mrf_keyword","replace")},parseMrfSubchain:function(e,t,a){var s=this.matchActor.reduce(function(s,n,i){return a===i?"regExp"===t?c()({},s,o()({},e,n[1])):c()({},s,o()({},n[0],e)):c()({},s,o()({},n[0],n[1]))},{});this.updateSetting(s,"mrf_subchain","match_actor")},parseMrfUserAllowlist:function(e,t,a){var s=this.userAllowlist.reduce(function(s,n,i){return a===i?"domain"===t?c()({},s,o()({},e,n[1])):c()({},s,o()({},n[0],e)):c()({},s,o()({},n[0],n[1]))},{});this.$store.dispatch("RewriteConfig",{data:s,tab:"mrf_user_allowlist"})},parseReplace:function(e,t,a){var s=this.replacePatterns.reduce(function(s,n,i){return a===i?"key"===t?c()({},s,o()({},e,n[1])):c()({},s,o()({},n[0],e)):c()({},s,o()({},n[0],n[1]))},{});this.updateSetting(s,"mrf_keyword","replace")},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},me=(a("h9z7"),Object(v.a)(pe,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"mrfSimple",attrs:{model:e.mrfSimple,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF Simple:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Media removal"}},[a("el-select",{attrs:{value:e.mrfSimple.media_removal||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","media_removal")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to remove medias from")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Media NSFW"}},[a("el-select",{attrs:{value:e.mrfSimple.media_nsfw||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","media_nsfw")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to put medias as NSFW (sensitive)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Federated timeline removal"}},[a("el-select",{attrs:{value:e.mrfSimple.federated_timeline_removal||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","federated_timeline_removal")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to remove from Federated (aka The Whole Known Network) Timeline")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Reject"}},[a("el-select",{attrs:{value:e.mrfSimple.reject||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","reject")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to reject any activities from")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Accept"}},[a("el-select",{attrs:{value:e.mrfSimple.accept||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","accept")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to accept any activities from")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Report removal"}},[a("el-select",{attrs:{value:e.mrfSimple.report_removal||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","report_removal")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to reject reports from")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Avatar removal"}},[a("el-select",{attrs:{value:e.mrfSimple.avatar_removal||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","avatar_removal")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to strip avatars from")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Banner removal"}},[a("el-select",{attrs:{value:e.mrfSimple.banner_removal||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","banner_removal")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to strip banners from")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfRejectnonpublic",attrs:{model:e.mrfRejectnonpublic,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF Reject non public:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Allow followers-only posts"}},[a("el-switch",{attrs:{value:e.mrfRejectnonpublic.allow_followersonly},on:{change:function(t){return e.updateSetting(t,"mrf_rejectnonpublic","allow_followersonly")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Allow direct messages"}},[a("el-switch",{attrs:{value:e.mrfRejectnonpublic.allow_direct},on:{change:function(t){return e.updateSetting(t,"mrf_rejectnonpublic","allow_direct")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfHellthread",attrs:{model:e.mrfHellthread,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF Hellthread:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Delist threshold"}},[a("el-input-number",{attrs:{value:e.mrfHellthread.delist_threshold,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"mrf_hellthread","delist_threshold")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Number of mentioned users after which the message gets delisted\n (the message can still be seen, but it will not show up in public timelines and mentioned users won't get notifications about it).\n Set to 0 to disable.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Reject threshold"}},[a("el-input-number",{attrs:{value:e.mrfHellthread.reject_threshold,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"mrf_hellthread","reject_threshold")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Number of mentioned users after which the messaged gets rejected. Set to 0 to disable.")])],1)],1),e._v(" "),a("el-form",{ref:"mrfKeyword",attrs:{model:e.mrfKeyword,"label-width":e.labelWidth}},[a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"MRF Keyword:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Reject"}},[a("el-select",{attrs:{value:e.mrfKeyword.reject||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_keyword","reject")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of patterns which result in message being rejected")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Federated timeline removal"}},[a("el-select",{attrs:{value:e.mrfKeyword.federated_timeline_removal,multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_keyword","federated_timeline_removal")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of patterns which result in message being removed from federated timelines (a.k.a unlisted)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Replace"}},[e._l(e.replacePatterns,function(t,s){var n=t[0],i=t[1];return a("div",{key:s,staticClass:"setting-input"},[a("el-input",{staticClass:"name-input",attrs:{value:n,placeholder:"pattern"},on:{input:function(t){return e.parseReplace(t,"key",s)}}}),e._v(" :\n "),a("el-input",{staticClass:"value-input",attrs:{value:i,placeholder:"replacement"},on:{input:function(t){return e.parseReplace(t,"value",s)}}}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.deleteReplaceRow(s)}}})],1)}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:e.addReplaceRow}})],2)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfSubchain",attrs:{model:e.mrfSubchain,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF Subchain:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Match actor:"}},[e._l(e.matchActor,function(t,s){var n=t[0],i=t[1];return a("div",{key:s,staticClass:"setting-input"},[a("el-input",{staticClass:"name-input",attrs:{value:n,placeholder:"Regular expression"},on:{input:function(t){return e.parseMrfSubchain(t,"regExp",s)}}}),e._v(" :\n "),a("el-select",{staticClass:"value-input",attrs:{value:i,placeholder:"Policy modules",multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.parseMrfSubchain(t,"policies",s)}}},e._l(e.policiesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.deleteMrfSubchainRow(s)}}})],1)}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:e.addMrfSubchainRow}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Matches a series of regular expressions against the actor field.")])],2)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfMention",attrs:{model:e.mrfMention,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF Mention:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Actors"}},[a("el-select",{attrs:{value:e.mrfMention.actors||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_mention","actors")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of actors, for which to drop any posts mentioning.")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfUserAllowlist",attrs:{model:e.mrfUserAllowlist,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF User allowlist"}},[e._l(e.userAllowlist,function(t,s){var n=t[0],i=t[1];return a("div",{key:s,staticClass:"setting-input"},[a("el-input",{staticClass:"name-input",attrs:{value:n,placeholder:"domain"},on:{input:function(t){return e.parseMrfUserAllowlist(t,"domain",s)}}}),e._v(" :\n "),a("el-select",{staticClass:"value-input",attrs:{value:i,placeholder:"list of users",multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.parseMrfUserAllowlist(t,"users",s)}}}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.deleteMrfUserAllowlistRow(s)}}})],1)}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:e.addMrfUserAllowlistRow}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The keys in this section are the domain names that the policy should apply to. Each key should be assigned a list of users that should be allowed through by their ActivityPub ID.")])],2)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfNormalizeMarkup",attrs:{model:e.mrfNormalizeMarkup,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF normalize markup:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Scrub policy"}},[a("el-input",{attrs:{value:e.mrfNormalizeMarkup.scrub_policy},on:{input:function(t){return e.updateSetting(t,"mrf_normalize_markup","scrub_policy")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfVocabulary",attrs:{model:e.mrfVocabulary,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF Vocabulary:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Accept"}},[a("el-select",{attrs:{value:e.mrfVocabulary.accept||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_vocabulary","accept")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of ActivityStreams terms to accept. If empty, all supported messages are accepted.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Reject"}},[a("el-select",{attrs:{value:e.mrfVocabulary.reject||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_vocabulary","reject")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of ActivityStreams terms to reject. If empty, no messages are rejected.")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));me.options.__file="MRF.vue";var de=me.exports,ve={name:"Other",computed:c()({},Object(p.b)(["formatEncoders","mimeTypesConfig","teslaAdapter"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"},mimeTypes:function(){var e=this;return Object.keys(this.mimeTypesConfig.value).map(function(t){return[t,e.mimeTypesConfig.value[t]]})}}),methods:{addRowToMimeTypes:function(){var e=this.mimeTypes.reduce(function(e,t,a){return c()({},e,o()({},t[0],t[1]))},{});this.updateSetting(c()({},e,{"":[]}),"types","value")},deleteMimeTypes:function(e){var t=this.mimeTypes.filter(function(t,a){return e!==a}).reduce(function(e,t,a){return c()({},e,o()({},t[0],t[1]))},{});this.updateSetting(t,"types","value")},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}(),parseMimeTypes:function(e,t,a){var s=this.mimeTypes.reduce(function(s,n,i){return a===i?"type"===t?c()({},s,o()({},e,n[1])):c()({},s,o()({},n[0],e)):c()({},s,o()({},n[0],n[1]))},{});this.updateSetting(s,"types","value")},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})}}},fe=(a("gFOO"),Object(v.a)(ve,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"formatEncoders",attrs:{model:e.formatEncoders,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Phoenix Format encoders:"}}),e._v(" "),a("el-form-item",{attrs:{label:"JSON"}},[a("el-input",{attrs:{value:e.formatEncoders.json},on:{input:function(t){return e.updateSetting(t,"format_encoders","json")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"teslaAdapter",attrs:{model:e.teslaAdapter,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Tesla adapter"}},[a("el-input",{attrs:{value:e.teslaAdapter.value},on:{input:function(t){return e.updateSetting(t,"adapter","value")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mimeTypesConfig",attrs:{model:e.mimeTypesConfig,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Mime types"}},[e._l(e.mimeTypes,function(t,s){var n=t[0],i=t[1];return a("div",{key:s,staticClass:"setting-input"},[a("el-input",{staticClass:"name-input",attrs:{value:n,placeholder:"type"},on:{input:function(t){return e.parseMimeTypes(t,"type",s)}}}),e._v(" :\n "),a("el-select",{staticClass:"value-input",attrs:{value:i,multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.parseMimeTypes(t,"value",s)}}}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.deleteMimeTypes(s)}}})],1)}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:e.addRowToMimeTypes}})],2),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));fe.options.__file="Other.vue";var _e=fe.exports,he={name:"RateLimiters",computed:c()({},Object(p.b)(["rateLimiters"]),{accountConfirmationResendAllUsers:function(){return this.rateLimiters.account_confirmation_resend?this.rateLimiters.account_confirmation_resend.tuple:[null,null]},accountConfirmationResendAuthUsers:function(){return!!Array.isArray(this.rateLimiters.account_confirmation_resend)&&this.rateLimiters.account_confirmation_resend[1].tuple},accountConfirmationResendUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.account_confirmation_resend)&&this.rateLimiters.account_confirmation_resend[0].tuple},activityPubRoutesAllUsers:function(){return this.rateLimiters.ap_routes?this.rateLimiters.ap_routes.tuple:[null,null]},activityPubRoutesAuthUsers:function(){return!!Array.isArray(this.rateLimiters.ap_routes)&&this.rateLimiters.ap_routes[1].tuple},activityPubRoutesUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.ap_routes)&&this.rateLimiters.ap_routes[0].tuple},appAccountCreationAllUsers:function(){return this.rateLimiters.app_account_creation?this.rateLimiters.app_account_creation.tuple:[null,null]},appAccountCreationAuthUsers:function(){return!!Array.isArray(this.rateLimiters.app_account_creation)&&this.rateLimiters.app_account_creation[1].tuple},appAccountCreationUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.app_account_creation)&&this.rateLimiters.app_account_creation[0].tuple},passwordResetAllUsers:function(){return this.rateLimiters.password_reset?this.rateLimiters.password_reset.tuple:[null,null]},passwordResetAuthUsers:function(){return!!Array.isArray(this.rateLimiters.password_reset)&&this.rateLimiters.password_reset[1].tuple},passwordResetUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.password_reset)&&this.rateLimiters.password_reset[0].tuple},relationsActionsAllUsers:function(){return this.rateLimiters.relations_actions?this.rateLimiters.relations_actions.tuple:[null,null]},relationsActionsAuthUsers:function(){return!!Array.isArray(this.rateLimiters.relations_actions)&&this.rateLimiters.relations_actions[1].tuple},relationsActionsUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.relations_actions)&&this.rateLimiters.relations_actions[0].tuple},relationIdActionAllUsers:function(){return this.rateLimiters.relation_id_action?this.rateLimiters.relation_id_action.tuple:[null,null]},relationIdActionAuthUsers:function(){return!!Array.isArray(this.rateLimiters.relation_id_action)&&this.rateLimiters.relation_id_action[1].tuple},relationIdActionUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.relation_id_action)&&this.rateLimiters.relation_id_action[0].tuple},searchLimitAllUsers:function(){return this.rateLimiters.search?this.rateLimiters.search.tuple:[null,null]},searchLimitAuthUsers:function(){return!!Array.isArray(this.rateLimiters.search)&&this.rateLimiters.search[1].tuple},searchLimitUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.search)&&this.rateLimiters.search[0].tuple},statusesActionsAllUsers:function(){return this.rateLimiters.statuses_actions?this.rateLimiters.statuses_actions.tuple:[null,null]},statusesActionsAuthUsers:function(){return!!Array.isArray(this.rateLimiters.statuses_actions)&&this.rateLimiters.statuses_actions[1].tuple},statusesActionsUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.statuses_actions)&&this.rateLimiters.statuses_actions[0].tuple},statusIdActionAllUsers:function(){return this.rateLimiters.status_id_action?this.rateLimiters.status_id_action.tuple:[null,null]},statusIdActionAuthUsers:function(){return!!Array.isArray(this.rateLimiters.status_id_action)&&this.rateLimiters.status_id_action[1].tuple},statusIdActionUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.status_id_action)&&this.rateLimiters.status_id_action[0].tuple},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{parseRateLimiter:function(e,t,a,s,n){if("oneLimit"===s){var i="scale"===a?{tuple:[e,n[1]]}:{tuple:[n[0],e]};this.updateSetting(i,"rate_limit",t)}else if("authUserslimit"===s){var l="scale"===a?[{tuple:[n[0][0],n[0][1]]},{tuple:[e,n[1][1]]}]:[{tuple:[n[0][0],n[0][1]]},{tuple:[n[1][0],e]}];this.updateSetting(l,"rate_limit",t)}else if("unauthUsersLimit"===s){var r="scale"===a?[{tuple:[e,n[0][1]]},{tuple:[n[1][0],n[1][1]]}]:[{tuple:[n[0][0],e]},{tuple:[n[1][0],n[1][1]]}];this.updateSetting(r,"rate_limit",t)}},toggleLimits:function(e,t){this.updateSetting(e,"rate_limit",t)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},be=(a("WvM+"),Object(v.a)(he,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-form",{ref:"rateLimiters",attrs:{model:e.rateLimiters,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Search:"}},[e.searchLimitAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.searchLimitAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"search","scale","oneLimit",e.searchLimitAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.searchLimitAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"search","limit","oneLimit",e.searchLimitAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"search")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.searchLimitAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.searchLimitAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"search","scale","authUserslimit",[e.searchLimitUnauthUsers,e.searchLimitAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.searchLimitAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"search","limit","authUserslimit",[e.searchLimitUnauthUsers,e.searchLimitAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.searchLimitUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"search","scale","unauthUsersLimit",[e.searchLimitUnauthUsers,e.searchLimitAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.searchLimitUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"search","limit","unauthUsersLimit",[e.searchLimitUnauthUsers,e.searchLimitAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"search")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"App account creation:"}},[e.appAccountCreationAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.appAccountCreationAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"app_account_creation","scale","oneLimit",e.appAccountCreationAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.appAccountCreationAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"app_account_creation","limit","oneLimit",e.appAccountCreationAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"app_account_creation")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.appAccountCreationAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.appAccountCreationAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"app_account_creation","scale","authUserslimit",[e.appAccountCreationUnauthUsers,e.appAccountCreationAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.appAccountCreationAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"app_account_creation","limit","authUserslimit",[e.appAccountCreationUnauthUsers,e.appAccountCreationAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.appAccountCreationUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"app_account_creation","scale","unauthUsersLimit",[e.appAccountCreationUnauthUsers,e.appAccountCreationAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.appAccountCreationUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"app_account_creation","limit","unauthUsersLimit",[e.appAccountCreationUnauthUsers,e.appAccountCreationAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"app_account_creation")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Relations actions:"}},[e.relationsActionsAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.relationsActionsAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"relations_actions","scale","oneLimit",e.relationsActionsAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.relationsActionsAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"relations_actions","limit","oneLimit",e.relationsActionsAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"relations_actions")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.relationsActionsAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.relationsActionsAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"relations_actions","scale","authUserslimit",[e.relationsActionsUnauthUsers,e.relationsActionsAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.relationsActionsAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"relations_actions","limit","authUserslimit",[e.relationsActionsUnauthUsers,e.relationsActionsAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.relationsActionsUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"relations_actions","scale","unauthUsersLimit",[e.relationsActionsUnauthUsers,e.relationsActionsAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.relationsActionsUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"relations_actions","limit","unauthUsersLimit",[e.relationsActionsUnauthUsers,e.relationsActionsAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"relations_actions")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Relation ID Action:"}},[e.relationIdActionAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.relationIdActionAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"relation_id_action","scale","oneLimit",e.relationIdActionAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.relationIdActionAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"relation_id_action","limit","oneLimit",e.relationIdActionAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"relation_id_action")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.relationIdActionAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.relationIdActionAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"relation_id_action","scale","authUserslimit",[e.relationIdActionUnauthUsers,e.relationIdActionAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.relationIdActionAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"relation_id_action","limit","authUserslimit",[e.relationIdActionUnauthUsers,e.relationIdActionAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.relationIdActionUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"relation_id_action","scale","unauthUsersLimit",[e.relationIdActionUnauthUsers,e.relationIdActionAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.relationIdActionUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"relation_id_action","limit","unauthUsersLimit",[e.relationIdActionUnauthUsers,e.relationIdActionAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"relation_id_action")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Statuses actions:"}},[e.statusesActionsAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.statusesActionsAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"statuses_actions","scale","oneLimit",e.statusesActionsAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.statusesActionsAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"statuses_actions","limit","oneLimit",e.statusesActionsAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"statuses_actions")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.statusesActionsAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.statusesActionsAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"statuses_actions","scale","authUserslimit",[e.statusesActionsUnauthUsers,e.statusesActionsAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.statusesActionsAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"statuses_actions","limit","authUserslimit",[e.statusesActionsUnauthUsers,e.statusesActionsAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.statusesActionsUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"statuses_actions","scale","unauthUsersLimit",[e.statusesActionsUnauthUsers,e.statusesActionsAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.statusesActionsUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"statuses_actions","limit","unauthUsersLimit",[e.statusesActionsUnauthUsers,e.statusesActionsAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"statuses_actions")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Status ID Action:"}},[e.statusIdActionAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.statusIdActionAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"status_id_action","scale","oneLimit",e.statusIdActionAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.statusIdActionAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"status_id_action","limit","oneLimit",e.statusIdActionAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"status_id_action")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.statusIdActionAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.statusIdActionAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"status_id_action","scale","authUserslimit",[e.statusIdActionUnauthUsers,e.statusIdActionAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.statusIdActionAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"status_id_action","limit","authUserslimit",[e.statusIdActionUnauthUsers,e.statusIdActionAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.statusIdActionUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"status_id_action","scale","unauthUsersLimit",[e.statusIdActionUnauthUsers,e.statusIdActionAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.statusIdActionUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"status_id_action","limit","unauthUsersLimit",[e.statusIdActionUnauthUsers,e.statusIdActionAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"status_id_action")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Password reset:"}},[e.passwordResetAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.passwordResetAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"password_reset","scale","oneLimit",e.passwordResetAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.passwordResetAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"password_reset","limit","oneLimit",e.passwordResetAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"password_reset")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.passwordResetAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.passwordResetAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"password_reset","scale","authUserslimit",[e.passwordResetUnauthUsers,e.passwordResetAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.passwordResetAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"password_reset","limit","authUserslimit",[e.passwordResetUnauthUsers,e.passwordResetAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.passwordResetUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"password_reset","scale","unauthUsersLimit",[e.passwordResetUnauthUsers,e.passwordResetAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.passwordResetUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"password_reset","limit","unauthUsersLimit",[e.passwordResetUnauthUsers,e.passwordResetAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"password_reset")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Account confirmation resend:"}},[e.accountConfirmationResendAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.accountConfirmationResendAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"account_confirmation_resend","scale","oneLimit",e.accountConfirmationResendAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.accountConfirmationResendAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"account_confirmation_resend","limit","oneLimit",e.accountConfirmationResendAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"account_confirmation_resend")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.accountConfirmationResendAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.accountConfirmationResendAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"account_confirmation_resend","scale","authUserslimit",[e.accountConfirmationResendUnauthUsers,e.accountConfirmationResendAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.accountConfirmationResendAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"account_confirmation_resend","limit","authUserslimit",[e.accountConfirmationResendUnauthUsers,e.accountConfirmationResendAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.accountConfirmationResendUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"account_confirmation_resend","scale","unauthUsersLimit",[e.accountConfirmationResendUnauthUsers,e.accountConfirmationResendAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.accountConfirmationResendUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"account_confirmation_resend","limit","unauthUsersLimit",[e.accountConfirmationResendUnauthUsers,e.accountConfirmationResendAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"account_confirmation_resend")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Activity pub routes:"}},[e.activityPubRoutesAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.activityPubRoutesAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"ap_routes","scale","oneLimit",e.activityPubRoutesAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.activityPubRoutesAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"ap_routes","limit","oneLimit",e.activityPubRoutesAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"ap_routes")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.activityPubRoutesAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.activityPubRoutesAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"ap_routes","scale","authUserslimit",[e.activityPubRoutesUnauthUsers,e.activityPubRoutesAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.activityPubRoutesAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"ap_routes","limit","authUserslimit",[e.activityPubRoutesUnauthUsers,e.activityPubRoutesAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.activityPubRoutesUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"ap_routes","scale","unauthUsersLimit",[e.activityPubRoutesUnauthUsers,e.activityPubRoutesAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.activityPubRoutesUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"ap_routes","limit","unauthUsersLimit",[e.activityPubRoutesUnauthUsers,e.activityPubRoutesAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"ap_routes")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)},[],!1,null,null,null));be.options.__file="RateLimiters.vue";var ge=be.exports,ye={name:"Upload",computed:c()({},Object(p.b)(["uploadAnonymizeFilename","upload","uploadFilterMogrify","uploadersLocal","uploadMDII","uploadS3"]),{inlineContentTypes:function(){return Array.isArray(this.upload.proxy_opts.inline_content_types)?"whitelistedTypeArray":this.upload.proxy_opts.inline_content_types},http:function(){return this.upload.proxy_opts.http||{}},hackneyPoolsOptions:function(){return L.hackneyPoolsOptions},whitelistedContentTypes:function(){return Array.isArray(this.upload.proxy_opts.inline_content_types)?this.upload.proxy_opts.inline_content_types:[]},whitelistedContentTypesOptions:function(){return L.whitelistedContentTypesOptions},mogrifyActionsOptions:function(){return L.mogrifyActionsOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{getPoolExpl:function(e){var t=this.hackneyPoolsOptions.find(function(t){return t.value===e});return t?"Max connections: "+t.max_connections+", timeout: "+t.timeout:""},processHttpSettings:function(e,t,a,s,n){var i=c()({},this.upload[a][s],o()({},n,e));this.processNestedData(i,t,a,s)},processNestedData:function(e,t,a,s){var n=c()({},this.$store.state.settings.settings[t][a],o()({},s,e));this.updateSetting(n,t,a)},updateInlineContentTypes:function(){"whitelistedTypeArray"===this.$data.inlineContentTypes?this.processNestedData(this.$data.whitelistedContentTypes,"Pleroma.Upload","proxy_opts","inline_content_types"):this.processNestedData(this.$data.inlineContentTypes,"Pleroma.Upload","proxy_opts","inline_content_types")},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},we=(a("DPt0"),Object(v.a)(ye,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"upload",attrs:{model:e.upload,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Uploader"}},[a("el-input",{attrs:{value:e.upload.uploader},on:{input:function(t){return e.updateSetting(t,"Pleroma.Upload","uploader")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Filters"}},[a("el-select",{attrs:{value:e.upload.filters||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Upload","filters")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Link name"}},[a("el-switch",{attrs:{value:e.upload.link_name},on:{change:function(t){return e.updateSetting(t,"Pleroma.Upload","link_name")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When enabled Pleroma will add a name parameter to the url of the upload, for example\n "),a("span",{staticClass:"code"},[e._v("https://instance.tld/media/corndog.png?name=corndog.png")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Base URL"}},[a("el-input",{attrs:{value:e.upload.base_url},on:{input:function(t){return e.updateSetting(t,"Pleroma.Upload","base_url")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Proxy remote"}},[a("el-switch",{attrs:{value:e.upload.proxy_remote},on:{change:function(t){return e.updateSetting(t,"Pleroma.Upload","proxy_remote")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If you're using a remote uploader, Pleroma will proxy media requests instead of redirecting to it")])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Proxy options:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Redirect on failure"}},[a("el-switch",{attrs:{value:e.upload.proxy_opts.redirect_on_failure},on:{change:function(t){return e.processNestedData(t,"Pleroma.Upload","proxy_opts","redirect_on_failure")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Redirects the client to the real remote URL if there's any HTTP errors.\n Any error during body processing will not be redirected as the response is chunked")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max body length (MB)"}},[a("el-input-number",{attrs:{value:e.upload.proxy_opts.max_body_length/1048576,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(1048576*t,"Pleroma.Upload","proxy_opts","max_body_length")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Limits the content length to be approximately the specified length")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max read duration (s)"}},[a("el-input-number",{attrs:{value:e.upload.proxy_opts.max_read_duration,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"Pleroma.Upload","proxy_opts","max_read_duration")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The total time the connection is allowed to read from the remote upstream")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Inline content types"}},[a("el-select",{attrs:{value:e.inlineContentTypes,clearable:""},on:{change:function(t){return e.processNestedData(t,"Pleroma.Upload","proxy_opts","inline_content_types")}}},[a("el-option",{attrs:{value:!0,label:"True"}}),e._v(" "),a("el-option",{attrs:{value:!1,label:"False"}}),e._v(" "),a("el-option",{attrs:{value:"whitelistedTypeArray",label:"List of whitelisted content types"}}),e._v(" "),a("el-option",{attrs:{value:"keepUserAgent",label:"Forward client's user-agent to the upstream"}})],1),e._v(" "),!0===e.inlineContentTypes?a("p",{staticClass:"expl"},[e._v("Will not alter "),a("span",{staticClass:"code"},[e._v("content-disposition")]),e._v(" (up to the upstream)")]):e._e(),e._v(" "),e.inlineContentTypes?e._e():a("p",{staticClass:"expl"},[e._v("Will add "),a("span",{staticClass:"code"},[e._v("content-disposition: attachment")]),e._v(" to any request")]),e._v(" "),"keepUserAgent"===e.inlineContentTypes?a("p",{staticClass:"expl"},[e._v("\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\n doing content transformation (encoding, …) depending on the request.\n ")]):e._e()],1),e._v(" "),"whitelistedTypeArray"===e.inlineContentTypes?a("el-form-item",{attrs:{label:"Whitelisted content types"}},[a("el-select",{attrs:{value:e.whitelistedContentTypes,multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.processNestedData(t,"Pleroma.Upload","proxy_opts","inline_content_types")}}},e._l(e.whitelistedContentTypesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"Request headers"}},[a("el-select",{attrs:{value:e.upload.proxy_opts.req_headers||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.processNestedData(t,"Pleroma.Upload","proxy_opts","req_headers")}}}),e._v(" "),a("p",{staticClass:"expl"},[a("span",{staticClass:"code"},[e._v("resp_headers")]),e._v(" additional headers")])],1),e._v(" "),a("el-form-item",{attrs:{label:"HTTP:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Follow redirect"}},[a("el-switch",{attrs:{value:e.http.follow_redirect},on:{change:function(t){return e.processHttpSettings(t,"Pleroma.Upload","proxy_opts","http","follow_redirect")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Pool"}},[a("el-select",{attrs:{value:e.http.pool,clearable:""},on:{change:function(t){return e.processHttpSettings(t,"Pleroma.Upload","proxy_opts","http","pool")}}},e._l(e.hackneyPoolsOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v(e._s(e.getPoolExpl(e.http.pool)))])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"uploadersLocal",attrs:{model:e.uploadersLocal,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Uploaders.Local:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Directory for user-uploads"}},[a("el-input",{attrs:{value:e.uploadersLocal.uploads},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.Local","uploads")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Which directory to store the user-uploads in, relative to pleroma’s working directory")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"uploadFilterMogrify",attrs:{model:e.uploadFilterMogrify,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Actions for Mogrify"}},[a("el-select",{attrs:{value:e.uploadFilterMogrify.args||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Upload.Filter.Mogrify","args")}}},e._l(e.mogrifyActionsOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"uploadAnonymizeFilename",attrs:{model:e.uploadAnonymizeFilename,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Anonymize filename"}},[a("el-input",{attrs:{value:e.uploadAnonymizeFilename.text},on:{input:function(t){return e.updateSetting(t,"Pleroma.Upload.Filter.AnonymizeFilename","text")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Text to replace filenames in links. If empty, "),a("span",{staticClass:"code"},[e._v("{random}.extension")]),e._v(" will be used")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"uploadS3",attrs:{model:e.uploadS3,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"S3 Config:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Bucket"}},[a("el-input",{attrs:{value:e.uploadS3.bucket},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.S3","bucket")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("S3 bucket name")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Bucket namespace"}},[a("el-input",{attrs:{value:e.uploadS3.bucket_namespace},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.S3","bucket_namespace")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("S3 bucket namespace")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Public endpoint"}},[a("el-input",{attrs:{value:e.uploadS3.public_endpoint},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.S3","public_endpoint")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("S3 endpoint that the user finally accesses")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Truncated namespace"}},[a("el-input",{attrs:{value:e.uploadS3.truncated_namespace},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.S3","truncated_namespace")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v('If you use S3 compatible service such as Digital Ocean Spaces or CDN, set folder name or "" etc.\n For example, when using CDN to S3 virtual host format, set "".\n At this time, write CNAME to CDN in '),a("span",{staticClass:"code"},[e._v("public_endpoint")]),e._v(".\n ")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"uploadMDII",attrs:{model:e.uploadMDII,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Uploaders.MDII Config:"}}),e._v(" "),a("el-form-item",{attrs:{label:"CGI"}},[a("el-input",{attrs:{value:e.uploadMDII.cgi},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.MDII","cgi")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Files"}},[a("el-input",{attrs:{value:e.uploadMDII.files},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.MDII","files")}}})],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));we.options.__file="Upload.vue";var xe=we.exports,Ce={name:"WebPush",computed:c()({},Object(p.b)(["vapidDetails"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:o()({},a,e)})},onSubmit:function(){var e=l()(n.a.mark(function e(){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.$store.dispatch("SubmitChanges");case 3:e.next=8;break;case 5:return e.prev=5,e.t0=e.catch(0),e.abrupt("return");case 8:this.$message({type:"success",message:m.a.t("settings.success")});case 9:case"end":return e.stop()}},e,this,[[0,5]])}));return function(){return e.apply(this,arguments)}}()}},Se=(a("+qaP"),Object(v.a)(Ce,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-form",{ref:"vapidDetails",attrs:{model:e.vapidDetails,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Subject"}},[a("el-input",{attrs:{value:e.vapidDetails.subject},on:{input:function(t){return e.updateSetting(t,"vapid_details","subject")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A mailto link for the administrative contact. It’s best if this email is not a personal email address,\n but rather a group email so that if a person leaves an organization, is unavailable for an extended period,\n or otherwise can’t respond, someone else on the list can.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Public key"}},[a("el-input",{attrs:{value:e.vapidDetails.public_key},on:{input:function(t){return e.updateSetting(t,"vapid_details","public_key")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("VAPID public key")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Private key"}},[a("el-input",{attrs:{value:e.vapidDetails.private_key},on:{input:function(t){return e.updateSetting(t,"vapid_details","private_key")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("VAPID private key")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)},[],!1,null,null,null));Se.options.__file="WebPush.vue";var ke={components:{ActivityPub:_,Authentication:g,AutoLinker:x,Captcha:k,Database:U,Endpoint:E,Esshd:O,Frontend:$,Gopher:H,Http:V,Instance:Q,JobQueue:Y,Logger:te,Mailer:ne,MediaProxy:re,Metadata:ce,Mrf:de,Other:_e,RateLimiters:ge,Upload:xe,WebPush:Se.exports},computed:{isMobile:function(){return"mobile"===this.$store.state.app.device},tabPosition:function(){return this.isMobile?"top":"left"}},mounted:function(){this.$store.dispatch("FetchSettings")}},Ae=(a("V9mB"),Object(v.a)(ke,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"settings-container"},[a("h1",[e._v(e._s(e.$t("settings.settings")))]),e._v(" "),a("el-tabs",{attrs:{"tab-position":e.tabPosition}},[a("el-tab-pane",{attrs:{label:e.$t("settings.activityPub")}},[a("activity-pub")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.auth")}},[a("authentication")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.autoLinker")}},[a("auto-linker")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.esshd")}},[a("esshd")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.captcha")}},[a("captcha")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.database")}},[a("database")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.endpoint")}},[a("endpoint")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.frontend")}},[a("frontend")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.gopher")}},[a("gopher")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.http")}},[a("http")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.instance")}},[a("instance")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.jobQueue")}},[a("job-queue")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.logger")}},[a("logger")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.mailer")}},[a("mailer")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.mediaProxy")}},[a("media-proxy")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.metadata")}},[a("metadata")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.mrf")}},[a("mrf")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.rateLimiters")}},[a("rate-limiters")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.upload")}},[a("upload")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.webPush")}},[a("web-push")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.other")}},[a("other")],1)],1)],1)},[],!1,null,"729534ce",null));Ae.options.__file="index.vue";t.default=Ae.exports},Zgs2:function(e,t,a){},apN7:function(e,t,a){"use strict";var s=a("9p49");a.n(s).a},cyzs:function(e,t,a){"use strict";var s=a("Px65");a.n(s).a},e0P1:function(e,t,a){"use strict";var s=a("TudB");a.n(s).a},gFOO:function(e,t,a){"use strict";var s=a("jqM2");a.n(s).a},h9z7:function(e,t,a){"use strict";var s=a("TOIk");a.n(s).a},hVXW:function(e,t,a){"use strict";var s=a("uswN");a.n(s).a},jqM2:function(e,t,a){},lNpP:function(e,t,a){"use strict";var s=a("UbP/");a.n(s).a},mADP:function(e,t,a){"use strict";var s=a("qLeA");a.n(s).a},mSK5:function(e,t,a){},qEST:function(e,t,a){"use strict";var s=a("4NUT");a.n(s).a},qLeA:function(e,t,a){},uswN:function(e,t,a){},w5cJ:function(e,t,a){"use strict";var s=a("PYLh");a.n(s).a},wgcy:function(e,t,a){},x6RV:function(e,t,a){}}]);
-//# sourceMappingURL=chunk-2943.8ab5d0d9.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-2943.8ab5d0d9.js.map b/priv/static/adminfe/static/js/chunk-2943.8ab5d0d9.js.map
deleted file mode 100644
index 0ecc45de4..000000000
--- a/priv/static/adminfe/static/js/chunk-2943.8ab5d0d9.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/views/settings/components/WebPush.vue?38e3","webpack:///./src/views/settings/components/Captcha.vue?029c","webpack:///./src/views/settings/components/Authentication.vue?4503","webpack:///./src/views/settings/components/Upload.vue?33cd","webpack:///./src/views/settings/components/Esshd.vue?eedf","webpack:///./src/views/settings/components/Http.vue?56b1","webpack:///./src/views/settings/components/Endpoint.vue?df2b","webpack:///./src/views/settings/components/Mailer.vue?cb92","webpack:///./src/views/settings/components/Database.vue?9c10","webpack:///./src/views/settings/components/MediaProxy.vue?e0fb","webpack:///./src/views/settings/index.vue?fca3","webpack:///./src/views/settings/components/RateLimiters.vue?0aac","webpack:///./src/views/settings/index.vue?253d","webpack:///./src/views/settings/components/ActivityPub.vue?9ad8","webpack:///src/views/settings/components/ActivityPub.vue","webpack:///./src/views/settings/components/ActivityPub.vue","webpack:///./src/views/settings/components/ActivityPub.vue?bfc9","webpack:///./src/views/settings/components/Authentication.vue?1922","webpack:///src/views/settings/components/Authentication.vue","webpack:///./src/views/settings/components/Authentication.vue","webpack:///./src/views/settings/components/Authentication.vue?e8bf","webpack:///./src/views/settings/components/AutoLinker.vue?fed2","webpack:///src/views/settings/components/AutoLinker.vue","webpack:///./src/views/settings/components/AutoLinker.vue","webpack:///./src/views/settings/components/AutoLinker.vue?868d","webpack:///./src/views/settings/components/Captcha.vue?b5df","webpack:///src/views/settings/components/Captcha.vue","webpack:///./src/views/settings/components/Captcha.vue","webpack:///./src/views/settings/components/Captcha.vue?4067","webpack:///./src/views/settings/components/Database.vue?092c","webpack:///src/views/settings/components/Database.vue","webpack:///./src/views/settings/components/Database.vue","webpack:///./src/views/settings/components/Database.vue?d370","webpack:///./src/views/settings/components/options.js","webpack:///./src/views/settings/components/Endpoint.vue?c17d","webpack:///src/views/settings/components/Endpoint.vue","webpack:///./src/views/settings/components/Endpoint.vue","webpack:///./src/views/settings/components/Endpoint.vue?1427","webpack:///./src/views/settings/components/Esshd.vue?b0ed","webpack:///src/views/settings/components/Esshd.vue","webpack:///./src/views/settings/components/Esshd.vue","webpack:///./src/views/settings/components/Esshd.vue?2952","webpack:///./src/views/settings/components/Frontend.vue?1622","webpack:///src/views/settings/components/Frontend.vue","webpack:///./src/views/settings/components/Frontend.vue","webpack:///./src/views/settings/components/Frontend.vue?faab","webpack:///./src/views/settings/components/Gopher.vue?cb09","webpack:///src/views/settings/components/Gopher.vue","webpack:///./src/views/settings/components/Gopher.vue","webpack:///./src/views/settings/components/Gopher.vue?71a6","webpack:///./src/views/settings/components/Http.vue?0ecb","webpack:///src/views/settings/components/Http.vue","webpack:///./src/views/settings/components/Http.vue","webpack:///./src/views/settings/components/Http.vue?106c","webpack:///./src/views/settings/components/Instance.vue?ea1e","webpack:///src/views/settings/components/Instance.vue","webpack:///./src/views/settings/components/Instance.vue","webpack:///./src/views/settings/components/Instance.vue?7a58","webpack:///./src/views/settings/components/JobQueue.vue?e650","webpack:///src/views/settings/components/JobQueue.vue","webpack:///./src/views/settings/components/JobQueue.vue","webpack:///./src/views/settings/components/JobQueue.vue?1198","webpack:///./src/views/settings/components/Logger.vue?aa5f","webpack:///src/views/settings/components/Logger.vue","webpack:///./src/views/settings/components/Logger.vue","webpack:///./src/views/settings/components/Logger.vue?25b9","webpack:///./src/views/settings/components/Mailer.vue?48d6","webpack:///src/views/settings/components/Mailer.vue","webpack:///./src/views/settings/components/Mailer.vue","webpack:///./src/views/settings/components/Mailer.vue?e50c","webpack:///./src/views/settings/components/MediaProxy.vue?9571","webpack:///src/views/settings/components/MediaProxy.vue","webpack:///./src/views/settings/components/MediaProxy.vue","webpack:///./src/views/settings/components/MediaProxy.vue?50af","webpack:///./src/views/settings/components/Metadata.vue?7f4f","webpack:///src/views/settings/components/Metadata.vue","webpack:///./src/views/settings/components/Metadata.vue","webpack:///./src/views/settings/components/Metadata.vue?8186","webpack:///./src/views/settings/components/MRF.vue?274b","webpack:///src/views/settings/components/MRF.vue","webpack:///./src/views/settings/components/MRF.vue","webpack:///./src/views/settings/components/MRF.vue?ce1b","webpack:///./src/views/settings/components/Other.vue?7bf4","webpack:///src/views/settings/components/Other.vue","webpack:///./src/views/settings/components/Other.vue","webpack:///./src/views/settings/components/Other.vue?932b","webpack:///./src/views/settings/components/RateLimiters.vue?15d2","webpack:///src/views/settings/components/RateLimiters.vue","webpack:///./src/views/settings/components/RateLimiters.vue","webpack:///./src/views/settings/components/RateLimiters.vue?4368","webpack:///./src/views/settings/components/Upload.vue?304d","webpack:///src/views/settings/components/Upload.vue","webpack:///./src/views/settings/components/Upload.vue","webpack:///./src/views/settings/components/Upload.vue?9fbf","webpack:///./src/views/settings/components/WebPush.vue?5451","webpack:///src/views/settings/components/WebPush.vue","webpack:///./src/views/settings/components/WebPush.vue","webpack:///./src/views/settings/components/WebPush.vue?1411","webpack:///./src/views/settings/index.vue?3c3a","webpack:///src/views/settings/index.vue","webpack:///./src/views/settings/index.vue","webpack:///./src/views/settings/components/Metadata.vue?0952","webpack:///./src/views/settings/components/AutoLinker.vue?42b3","webpack:///./src/views/settings/components/Instance.vue?2668","webpack:///./src/views/settings/components/Other.vue?8e53","webpack:///./src/views/settings/components/MRF.vue?8c92","webpack:///./src/views/settings/components/Frontend.vue?f18f","webpack:///./src/views/settings/components/JobQueue.vue?d797","webpack:///./src/views/settings/components/Logger.vue?a62e","webpack:///./src/views/settings/components/ActivityPub.vue?48d9","webpack:///./src/views/settings/components/Gopher.vue?5fd9"],"names":["_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_WebPush_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Captcha_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Authentication_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Upload_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Esshd_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Http_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Endpoint_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Mailer_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Database_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MediaProxy_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_729534ce_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_RateLimiters_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","components_ActivityPubvue_type_script_lang_js_","name","computed","objectSpread_default","Object","vuex_esm","isMobile","this","$store","state","app","device","labelWidth","methods","updateSetting","value","tab","input","dispatch","data","defineProperty_default","onSubmit","_onSubmit","asyncToGenerator_default","regenerator_default","a","mark","_callee","wrap","_context","prev","next","t0","abrupt","$message","type","message","lang","t","stop","apply","arguments","component","componentNormalizer","_vm","_h","$createElement","_c","_self","ref","attrs","model","activityPub","label-width","label","unfollow_blocked","on","change","$event","_v","staticClass","outgoing_blocks","follow_handshake_timeout","step","min","size","sign_object_fetches","user","deny_follow_blocked","click","options","__file","ActivityPub","components_Authenticationvue_type_script_lang_js_","Authentication_component","pleromaAuthenticator","clearable","auth","auth_template","oauth_consumer_template","oauth_consumer_strategies","multiple","filterable","allow-create","ldap","enabled","host","port","ssl","tls","base","uid","ueberauth","href","rel","target","base_path","facebook","client_id","client_secret","redirect_uri","twitter","consumer_key","consumer_secret","google","microsoft","oauth2","token_expires_in","issue_new_refresh_token","clean_expired_tokens","clean_expired_tokens_interval","Authentication","components_AutoLinkervue_type_script_lang_js_","loading","settings","booleanClass","getBooleanValue","booleanRel","booleanTruncate","autoLinker","opts","getNumValue","getStringValue","processTwoTypeValue","inputName","childName","processNestedData","updatedValue","AutoLinker_component","_e","new_window","scheme","strip_prefix","extra","validate_tld","AutoLinker","components_Captchavue_type_script_lang_js_","Captcha_component","captcha","seconds_valid","method","kocaptcha","endpoint","Captcha","components_Databasevue_type_script_lang_js_","Database_component","database","rum_enabled","ectoRepos","pleromaRepo","priv","url","log","pool_size","telemetry_prefix","types","telemetry_event","hostname","socket_dir","socket","username","password","maintenance_database","pool","connect_timeout","prepare","Database","federationPublisherModulesOptions","rewritePolicyOptions","expl","quarantinedInstancesOptions","autofollowedNicknamesOptions","uriSchemesOptions","themeOptions","instrumentersOptions","extraCookieAttrsOptions","hackneyPoolsOptions","max_connections","timeout","whitelistedContentTypesOptions","mogrifyActionsOptions","adapterOptions","loggerBackendsOptions","JSON","stringify","tuple","restrictedNicknamesOptions","components_Endpointvue_type_script_lang_js_","components","editor","vue2_ace_editor_default","editorContentHttp","get","http","set","editorContentHttps","https","configureHttp","configureHttps","endpointHttp","endpointHttps","showServerConfig","protocol","Endpoint_component","instrumenters","_l","item","key","code_reloader","debug_errors","render_errors","view","accepts","layout","cache_static_manifest","height","width","theme","callback","$$v","expression","ip","placeholder","compress","secret_key_base","server","path","signing_salt","pubsub","adapter","secure_cookie_flag","extra_cookie_attrs","Endpoint","components_Esshdvue_type_script_lang_js_","toggleEsshd","Esshd_component","privDir","handler","passwordAuthenticator","Esshd","components_Frontendvue_type_script_lang_js_","groups","_this","keys","emoji","map","mascots","_this2","assets","mascotName","mime_type","addRowToGroups","reduce","acc","el","i","","addRowToMascots","deleteGroupsRow","index","filter","deleteMascotsRow","parseGroups","inputType","parseMascots","sendBackgroundMasto","_ref","file","sendBackgroundPleroma","_ref2","sendLogoMasto","_ref3","sendLogoPleroma","_ref4","Frontend_component","frontend","pleroma_fe","background","http-request","show-file-list","action","logo","logoMask","logoMargin","redirectRootNoLogin","redirectRootLogin","showInstanceSpecificPanel","scopeOptionsEnabled","formattingOptionsEnabled","collapseMessageWithSubject","scopeCopy","subjectLineBehavior","postContentType","alwaysShowSubjectInput","hidePostStats","hideUserStats","loginMethod","webPushNotifications","noAttachmentLinks","nsfwCensorImage","showFeaturesPanel","minimalScopesMode","masto_fe","default_mascot","mimeType","icon","circle","shortcode_globs","pack_extensions","default_manifest","chat","markup","allow_inline_images","allow_headings","allow_tables","allow_fonts","scrub_policy","Frontend","components_Gophervue_type_script_lang_js_","Gopher_component","gopher","dstport","Gopher","components_Httpvue_type_script_lang_js_","Http_component","proxy_url","send_user_agent","versions","corsPlugMaxAge","corsPlugMethods","corsPlugExpose","corsPlugCredentials","corsPlugHeaders","httpSecurity","sts","sts_max_age","ct_max_age","referrer_policy","report_uri","hackneyPools","federation","media","upload","Http","components_Instancevue_type_script_lang_js_","rewritePolicy","instance","rewrite_policy","rewritePolicyExplanations","policy","find","getRewritePolicyExpl","Instance_component","email","notify_email","description","limit","remote_limit","upload_limit","avatar_upload_limit","background_upload_limit","banner_upload_limit","user_bio_length","user_name_length","poll_limits","max_options","max_option_chars","min_expiration","max_expiration","registrations_open","invites_enabled","account_activation_required","federating","federation_incoming_replies_max_depth","federation_reachability_timeout_days","federation_publisher_modules","allow_relay","_s","public","quarantined_instances","managed_config","static_dir","allowed_post_formats","mrf_transparency","mrf_transparency_exclusions","scope_copy","subject_line_behavior","always_show_subject_input","extended_nickname_format","max_pinned_statuses","autofollowed_nicknames","no_attachment_links","welcome_message","welcome_user_nickname","max_report_comment_size","safe_dm_mentions","healthcheck","remote_post_retention_days","skip_thread_containment","limit_to_local_content","dynamic_configuration","max_account_fields","max_remote_account_fields","account_field_name_length","account_field_value_length","external_user_synchronization","uriSchemes","valid_schemes","adminToken","scheduledActivity","daily_user_limit","total_user_limit","fetchInitialPosts","pages","suggestions","third_party_engine","web","pleromaUser","restricted_nicknames","Instance","components_JobQueuevue_type_script_lang_js_","JobQueue_component","queues","federator_outgoing","federator_incoming","mailer","transmogrifier","web_push","scheduled_activities","retryQueue","max_jobs","initial_timeout","max_retries","JobQueue","components_Loggervue_type_script_lang_js_","loggerBackendsValue","loggerBackends","section","updateloggerBackends","parseValue","parse","Logger_component","consoleLogger","level","format","metadata","max_buffer","colors","debug","info","warn","error","exsyslogger","formatter","ident","facility","option","webhookUrl","meta","Logger","components_Mailervue_type_script_lang_js_","editorContent","dkim","sendEmailLogo","Mailer_component","cmd_path","cmd_args","qmail","relay","retries","no_mx_lookups","api_key","domain","secret","region","access_key","server_id","access_token","emailNotifications","digest","active","schedule","interval","inactivity_threshold","userEmail","styling","link_color","background_color","content_background_color","header_color","text_color","text_muted_color","Mailer","components_MediaProxyvue_type_script_lang_js_","inlineContentTypes","Array","isArray","mediaProxy","proxy_opts","inline_content_types","reqHeadersOptions","mediaProxySettings","whitelistedContentTypes","getPoolExpl","processHttpSettings","httpSection","MediaProxy_component","base_url","redirect_on_failure","max_body_length","max_read_duration","req_headers","follow_redirect","whitelist","MediaProxy","components_Metadatavue_type_script_lang_js_","Metadata_component","providers","unfurl_nsfw","richMedia","ignore_hosts","ignore_tld","parsers","ttl_setters","Metadata","components_MRFvue_type_script_lang_js_","removableDoubleOptions","removableSingleOptions","matchActor","mrfSubchain","match_actor","policiesOptions","replacePatterns","mrfKeyword","replace","userAllowlist","_this3","mrfUserAllowlist","addMrfSubchainRow","addMrfUserAllowlistRow","addReplaceRow","deleteMrfSubchainRow","deleteMrfUserAllowlistRow","deleteReplaceRow","parseMrfSubchain","parseMrfUserAllowlist","parseReplace","MRF_component","mrfSimple","media_removal","media_nsfw","federated_timeline_removal","reject","accept","report_removal","avatar_removal","banner_removal","mrfRejectnonpublic","allow_followersonly","allow_direct","mrfHellthread","delist_threshold","reject_threshold","regExp","policies","mrfMention","actors","users","mrfNormalizeMarkup","mrfVocabulary","MRF","components_Othervue_type_script_lang_js_","mimeTypes","mimeTypesConfig","addRowToMimeTypes","deleteMimeTypes","parseMimeTypes","Other_component","formatEncoders","json","teslaAdapter","Other","components_RateLimitersvue_type_script_lang_js_","accountConfirmationResendAllUsers","rateLimiters","account_confirmation_resend","accountConfirmationResendAuthUsers","accountConfirmationResendUnauthUsers","activityPubRoutesAllUsers","ap_routes","activityPubRoutesAuthUsers","activityPubRoutesUnauthUsers","appAccountCreationAllUsers","app_account_creation","appAccountCreationAuthUsers","appAccountCreationUnauthUsers","passwordResetAllUsers","password_reset","passwordResetAuthUsers","passwordResetUnauthUsers","relationsActionsAllUsers","relations_actions","relationsActionsAuthUsers","relationsActionsUnauthUsers","relationIdActionAllUsers","relation_id_action","relationIdActionAuthUsers","relationIdActionUnauthUsers","searchLimitAllUsers","search","searchLimitAuthUsers","searchLimitUnauthUsers","statusesActionsAllUsers","statuses_actions","statusesActionsAuthUsers","statusesActionsUnauthUsers","statusIdActionAllUsers","status_id_action","statusIdActionAuthUsers","statusIdActionUnauthUsers","parseRateLimiter","typeOfInput","typeOfLimit","currentValue","valueToSend","_valueToSend","_valueToSend2","toggleLimits","RateLimiters_component","RateLimiters","components_Uploadvue_type_script_lang_js_","updateInlineContentTypes","$data","Upload_component","uploader","filters","link_name","proxy_remote","uploadersLocal","uploads","uploadFilterMogrify","args","uploadAnonymizeFilename","text","uploadS3","bucket","bucket_namespace","public_endpoint","truncated_namespace","uploadMDII","cgi","files","Upload","components_WebPushvue_type_script_lang_js_","WebPush_component","vapidDetails","subject","public_key","private_key","views_settingsvue_type_script_lang_js_","Mrf","WebPush","tabPosition","mounted","settings_component","$t","tab-position","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Metadata_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoLinker_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Instance_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Other_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MRF_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Frontend_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_JobQueue_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Logger_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActivityPub_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Gopher_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__"],"mappings":"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","file":"static/js/chunk-2943.8ab5d0d9.js","sourcesContent":["import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebPush.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebPush.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Esshd.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Esshd.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Http.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Http.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailer.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailer.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Database.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Database.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaProxy.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaProxy.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=729534ce&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=729534ce&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateLimiters.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateLimiters.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings-container\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('settings.settings')))]),_vm._v(\" \"),_c('el-tabs',{attrs:{\"tab-position\":_vm.tabPosition}},[_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.activityPub')}},[_c('activity-pub')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.auth')}},[_c('authentication')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.autoLinker')}},[_c('auto-linker')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.esshd')}},[_c('esshd')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.captcha')}},[_c('captcha')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.database')}},[_c('database')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.endpoint')}},[_c('endpoint')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.frontend')}},[_c('frontend')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.gopher')}},[_c('gopher')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.http')}},[_c('http')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.instance')}},[_c('instance')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.jobQueue')}},[_c('job-queue')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.logger')}},[_c('logger')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.mailer')}},[_c('mailer')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.mediaProxy')}},[_c('media-proxy')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.metadata')}},[_c('metadata')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.mrf')}},[_c('mrf')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.rateLimiters')}},[_c('rate-limiters')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.upload')}},[_c('upload')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.webPush')}},[_c('web-push')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.other')}},[_c('other')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityPub.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityPub.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"activityPub\" :model=\"activityPub\" :label-width=\"labelWidth\">\n <el-form-item label=\"Unfollow blocked\">\n <el-switch :value=\"activityPub.unfollow_blocked\" @change=\"updateSetting($event, 'activitypub', 'unfollow_blocked')\"/>\n <p class=\"expl\">Whether blocks result in people getting unfollowed</p>\n </el-form-item>\n <el-form-item label=\"Outgoing blocks\">\n <el-switch :value=\"activityPub.outgoing_blocks\" @change=\"updateSetting($event, 'activitypub', 'outgoing_blocks')\"/>\n <p class=\"expl\">Whether to federate blocks to other instances</p>\n </el-form-item>\n <el-form-item label=\"Follow handshake timeout\">\n <el-input-number\n :value=\"activityPub.follow_handshake_timeout\"\n :step=\"100\"\n :min=\"0\"\n size=\"large\"\n class=\"top-margin\"\n @change=\"updateSetting($event, 'activitypub', 'follow_handshake_timeout')\"/>\n </el-form-item>\n <el-form-item label=\"Sign object fetches\">\n <el-switch :value=\"activityPub.sign_object_fetches\" @change=\"updateSetting($event, 'activitypub', 'sign_object_fetches')\"/>\n <p class=\"expl\">Sign object fetches with HTTP signatures</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"user\" :model=\"user\" :label-width=\"labelWidth\">\n <el-form-item label=\"Deny follow blocked\">\n <el-switch :value=\"user.deny_follow_blocked\" @change=\"updateSetting($event, 'user', 'deny_follow_blocked')\"/>\n <p class=\"expl\">Whether to disallow following an account that has blocked the user in question</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\n\nexport default {\n name: 'ActivityPub',\n computed: {\n ...mapGetters([\n 'activityPub',\n 'user'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./ActivityPub.vue?vue&type=template&id=633b0e1e&\"\nimport script from \"./ActivityPub.vue?vue&type=script&lang=js&\"\nexport * from \"./ActivityPub.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ActivityPub.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"ActivityPub.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"activityPub\",attrs:{\"model\":_vm.activityPub,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Unfollow blocked\"}},[_c('el-switch',{attrs:{\"value\":_vm.activityPub.unfollow_blocked},on:{\"change\":function($event){return _vm.updateSetting($event, 'activitypub', 'unfollow_blocked')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether blocks result in people getting unfollowed\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Outgoing blocks\"}},[_c('el-switch',{attrs:{\"value\":_vm.activityPub.outgoing_blocks},on:{\"change\":function($event){return _vm.updateSetting($event, 'activitypub', 'outgoing_blocks')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to federate blocks to other instances\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Follow handshake timeout\"}},[_c('el-input-number',{staticClass:\"top-margin\",attrs:{\"value\":_vm.activityPub.follow_handshake_timeout,\"step\":100,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'activitypub', 'follow_handshake_timeout')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Sign object fetches\"}},[_c('el-switch',{attrs:{\"value\":_vm.activityPub.sign_object_fetches},on:{\"change\":function($event){return _vm.updateSetting($event, 'activitypub', 'sign_object_fetches')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Sign object fetches with HTTP signatures\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"user\",attrs:{\"model\":_vm.user,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Deny follow blocked\"}},[_c('el-switch',{attrs:{\"value\":_vm.user.deny_follow_blocked},on:{\"change\":function($event){return _vm.updateSetting($event, 'user', 'deny_follow_blocked')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to disallow following an account that has blocked the user in question\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"pleromaAuthenticator\" :model=\"pleromaAuthenticator\" :label-width=\"labelWidth\">\n <el-form-item label=\"Authentication type\">\n <el-select :value=\"pleromaAuthenticator.value\" clearable @change=\"updateSetting($event, 'Pleroma.Web.Auth.Authenticator', 'value')\">\n <el-option label=\"None\" value=\"\"/>\n <el-option label=\"Pleroma.Web.Auth.PleromaAuthenticator // Default database authenticator\" value=\"Pleroma.Web.Auth.PleromaAuthenticator\"/>\n <el-option label=\"Pleroma.Web.Auth.LDAPAuthenticator // LDAP authenticator\" value=\"Pleroma.Web.Auth.LDAPAuthenticator\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"auth\" :model=\"auth\" :label-width=\"labelWidth\">\n <el-form-item label=\"Authentication settings:\"/>\n <el-form-item label=\"Auth template\">\n <el-input :value=\"auth.auth_template\" @input=\"updateSetting($event, 'auth', 'auth_template')\"/>\n <p class=\"expl\">Authentication form template. By default it's\n <span class=\"code\">show.html</span> which corresponds to\n <span class=\"code\">lib/pleroma/web/templates/o_auth/o_auth/show.html.eex.</span>\n </p>\n </el-form-item>\n <el-form-item label=\"OAuth consumer template\">\n <el-input :value=\"auth.oauth_consumer_template\" @input=\"updateSetting($event, 'auth', 'oauth_consumer_template')\"/>\n <p class=\"expl\">OAuth consumer mode authentication form template. By default it's\n <span class=\"code\">consumer.html</span> which corresponds to\n <span class=\"code\">lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex.</span>\n </p>\n </el-form-item>\n <el-form-item label=\"OAuth consumer strategies\">\n <el-select :value=\"auth.oauth_consumer_strategies || []\" multiple filterable allow-create @change=\"updateSetting($event, 'auth', 'oauth_consumer_strategies')\"/>\n <p class=\"expl\">The list of enabled OAuth consumer strategies; by default it's set by\n <span class=\"code\">OAUTH_CONSUMER_STRATEGIES</span>\n environment variable. You can enter values in the following format: <span class=\"code\">'a:foo b:baz'</span>\n </p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"ldap\" :model=\"ldap\" :label-width=\"labelWidth\">\n <el-form-item class=\"options-paragraph-container\">\n <p class=\"options-paragraph\">Use LDAP for user authentication. When a user logs in to the Pleroma\n instance, the name and password will be verified by trying to authenticate\n (bind) to an LDAP server. If a user exists in the LDAP directory but there\n is no account with the same name yet on the Pleroma instance then a new\n Pleroma account will be created with the same name as the LDAP user name.</p>\n </el-form-item>\n <el-form-item label=\"LDAP Authenticator:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"ldap.enabled\" @change=\"updateSetting($event, 'ldap', 'enabled')\"/>\n <p class=\"expl\">Enables LDAP authentication</p>\n </el-form-item>\n <el-form-item label=\"Host\">\n <el-input :value=\"ldap.host\" @input=\"updateSetting($event, 'ldap', 'host')\"/>\n <p class=\"expl\">LDAP server hostname</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"ldap.port\" @input=\"updateSetting($event, 'ldap', 'port')\"/>\n <p class=\"expl\">LDAP port, e.g. 389 or 636</p>\n </el-form-item>\n <el-form-item label=\"SSL\">\n <el-switch :value=\"ldap.ssl\" @change=\"updateSetting($event, 'ldap', 'ssl')\"/>\n <p class=\"expl\">True to use SSL, usually implies the port 636</p>\n </el-form-item>\n <el-form-item label=\"TLS\">\n <el-switch :value=\"ldap.tls\" @change=\"updateSetting($event, 'ldap', 'tls')\"/>\n <p class=\"expl\">True to start TLS, usually implies the port 389</p>\n </el-form-item>\n <el-form-item label=\"Base\">\n <el-input :value=\"ldap.base\" @input=\"updateSetting($event, 'ldap', 'base')\"/>\n <p class=\"expl\">LDAP base, e.g. <span class=\"code\">'dc=example,dc=com'</span></p>\n </el-form-item>\n <el-form-item label=\"UID\">\n <el-input :value=\"ldap.uid\" @input=\"updateSetting($event, 'ldap', 'uid')\"/>\n <p class=\"expl\">LDAP attribute name to authenticate the user, e.g. when\n <span class=\"code\">'cn'</span>, the filter will be <span class=\"code\">'cn=username,base'</span>\n </p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"ueberauth\" :model=\"ueberauth\" :label-width=\"labelWidth\">\n <el-form-item label=\"OAuth consumer mode\" class=\"options-paragraph-container\">\n <p class=\"options-paragraph\">\n OAuth consumer mode allows sign in / sign up via external OAuth providers\n (e.g. Twitter, Facebook, Google, Microsoft, etc.). Implementation is based on Ueberauth; see the list of\n <a\n href=\"https://github.com/ueberauth/ueberauth/wiki/List-of-Strategies\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n available strategies.\n </a>\n </p>\n <p class=\"options-paragraph\">\n Note: each strategy is shipped as a separate dependency; in order to get the strategies, run\n <span class=\"code\">OAUTH_CONSUMER_STRATEGIES=\"...\" mix deps.get</span>,\n e.g. <span class=\"code\">OAUTH_CONSUMER_STRATEGIES=\"twitter facebook google microsoft\" mix deps.get</span>.\n The server should also be started with <span class=\"code\">OAUTH_CONSUMER_STRATEGIES=\"...\" mix phx.server</span>\n in case you enable any strategies.\n </p>\n <p class=\"options-paragraph\">\n Note: each strategy requires separate setup (on external provider side and Pleroma side).\n Below are the guidelines on setting up most popular strategies.\n </p>\n <p class=\"options-paragraph\">\n Note: make sure that <span class=\"code\">'SameSite=Lax'</span> is set in\n <span class=\"code\">extra_cookie_attrs</span> when you have this feature enabled.\n OAuth consumer mode will not work with <span class=\"code\">'SameSite=Strict'</span>\n </p>\n <p class=\"options-paragraph\">For Twitter,\n <a\n href=\"https://developer.twitter.com/en/apps\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n register an app,\n </a>\n configure callback URL to <span class=\"code\">https://&lt;your_host&gt;/oauth/twitter/callback</span>\n </p>\n <p class=\"options-paragraph\">For Facebook,\n <a\n href=\"https://developers.facebook.com/apps\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n register an app,\n </a>\n configure callback URL to <span class=\"code\">https://&lt;your_host&gt;/oauth/facebook/callback</span>,\n enable Facebook Login service at\n <span class=\"code\">https://developers.facebook.com/apps/&lt;app_id&gt;/fb-login/settings/</span>\n </p>\n <p class=\"options-paragraph\">For Google,\n <a\n href=\"https://console.developers.google.com/\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n register an app,\n </a>\n configure callback URL to <span class=\"code\">https://&lt;your_host&gt;/oauth/google/callback</span>\n </p>\n <p class=\"options-paragraph\">For Microsoft,\n <a\n href=\"https://portal.azure.com\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n register an app,\n </a>\n configure callback URL to <span class=\"code\">https://&lt;your_host&gt;/oauth/microsoft/callback</span>\n </p>\n <p class=\"options-paragraph\">\n Once the app is configured on external OAuth provider side, add app's credentials and strategy-specific settings\n per strategy's documentation (e.g.\n <a\n href=\"https://github.com/ueberauth/ueberauth_twitter\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n ueberauth_twitter\n </a>).\n </p>\n </el-form-item>\n <el-form-item label=\"Ueberauth:\"/>\n <el-form-item label=\"Base path\">\n <el-input :value=\"ueberauth.base_path\" @input=\"updateSetting($event, 'ueberauth', 'base_path')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"facebook\" :model=\"facebook\" :label-width=\"labelWidth\">\n <el-form-item label=\"Facebook:\"/>\n <el-form-item label=\"Client ID\">\n <el-input :value=\"facebook.client_id\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'client_id')\"/>\n </el-form-item>\n <el-form-item label=\"Client secret\">\n <el-input :value=\"facebook.client_secret\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'client_secret')\"/>\n </el-form-item>\n <el-form-item label=\"Redirect URI\">\n <el-input :value=\"facebook.redirect_uri\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'redirect_uri')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"twitter\" :model=\"twitter\" :label-width=\"labelWidth\">\n <el-form-item label=\"Twitter:\"/>\n <el-form-item label=\"Consumer key\">\n <el-input :value=\"twitter.consumer_key\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Twitter.OAuth', 'consumer_key')\"/>\n </el-form-item>\n <el-form-item label=\"Consumer secret\">\n <el-input :value=\"twitter.consumer_secret\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Twitter.OAuth', 'consumer_secret')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"google\" :model=\"google\" :label-width=\"labelWidth\">\n <el-form-item label=\"Google:\"/>\n <el-form-item label=\"Client ID\">\n <el-input :value=\"google.client_id\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'client_id')\"/>\n </el-form-item>\n <el-form-item label=\"Client secret\">\n <el-input :value=\"google.client_secret\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'client_secret')\"/>\n </el-form-item>\n <el-form-item label=\"Redirect URI\">\n <el-input :value=\"google.redirect_uri\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'redirect_uri')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"microsoft\" :model=\"microsoft\" :label-width=\"labelWidth\">\n <el-form-item label=\"Microsoft:\"/>\n <el-form-item label=\"Client ID\">\n <el-input :value=\"microsoft.client_id\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Microsoft.OAuth', 'client_id')\"/>\n </el-form-item>\n <el-form-item label=\"Client secret\">\n <el-input :value=\"microsoft.client_secret\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Microsoft.OAuth', 'client_secret')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"oauth2\" :model=\"oauth2\" :label-width=\"labelWidth\">\n <el-form-item label=\"OAuth 2.0 Provider:\"/>\n <el-form-item label=\"Token expires in (s)\">\n <el-input-number :value=\"oauth2.token_expires_in\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'oauth2', 'token_expires_in')\"/>\n <p class=\"expl\">The lifetime in seconds of the access token</p>\n </el-form-item>\n <el-form-item label=\"Issue new refresh token\">\n <el-switch :value=\"oauth2.issue_new_refresh_token\" @change=\"updateSetting($event, 'oauth2', 'issue_new_refresh_token')\"/>\n <p class=\"expl\">Keeps old refresh token or generate new refresh token when to obtain an access token</p>\n </el-form-item>\n <el-form-item label=\"Clean expired token\">\n <el-switch :value=\"oauth2.clean_expired_tokens\" @change=\"updateSetting($event, 'oauth2', 'clean_expired_tokens')\"/>\n <p class=\"expl\">Enable a background job to clean expired oauth tokens. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Clean expired token interval\">\n <el-input-number :value=\"oauth2.clean_expired_tokens_interval / 3600000\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 3600000, 'oauth2', 'clean_expired_tokens_interval')\"/>\n <p class=\"expl\">Interval to run the job to clean expired tokens. Defaults to 24 hours.</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\n\nexport default {\n name: 'Authentication',\n computed: {\n ...mapGetters([\n 'pleromaAuthenticator',\n 'ldap',\n 'auth',\n 'ueberauth',\n 'oauth2',\n 'facebook',\n 'google',\n 'twitter',\n 'microsoft'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Authentication.vue?vue&type=template&id=2e021d34&\"\nimport script from \"./Authentication.vue?vue&type=script&lang=js&\"\nexport * from \"./Authentication.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Authentication.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Authentication.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"pleromaAuthenticator\",attrs:{\"model\":_vm.pleromaAuthenticator,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Authentication type\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaAuthenticator.value,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Auth.Authenticator', 'value')}}},[_c('el-option',{attrs:{\"label\":\"None\",\"value\":\"\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Pleroma.Web.Auth.PleromaAuthenticator // Default database authenticator\",\"value\":\"Pleroma.Web.Auth.PleromaAuthenticator\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Pleroma.Web.Auth.LDAPAuthenticator // LDAP authenticator\",\"value\":\"Pleroma.Web.Auth.LDAPAuthenticator\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"auth\",attrs:{\"model\":_vm.auth,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Authentication settings:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Auth template\"}},[_c('el-input',{attrs:{\"value\":_vm.auth.auth_template},on:{\"input\":function($event){return _vm.updateSetting($event, 'auth', 'auth_template')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Authentication form template. By default it's\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"show.html\")]),_vm._v(\" which corresponds to\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"lib/pleroma/web/templates/o_auth/o_auth/show.html.eex.\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"OAuth consumer template\"}},[_c('el-input',{attrs:{\"value\":_vm.auth.oauth_consumer_template},on:{\"input\":function($event){return _vm.updateSetting($event, 'auth', 'oauth_consumer_template')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"OAuth consumer mode authentication form template. By default it's\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"consumer.html\")]),_vm._v(\" which corresponds to\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex.\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"OAuth consumer strategies\"}},[_c('el-select',{attrs:{\"value\":_vm.auth.oauth_consumer_strategies || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'auth', 'oauth_consumer_strategies')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The list of enabled OAuth consumer strategies; by default it's set by\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"OAUTH_CONSUMER_STRATEGIES\")]),_vm._v(\"\\n environment variable. You can enter values in the following format: \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'a:foo b:baz'\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"ldap\",attrs:{\"model\":_vm.ldap,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{staticClass:\"options-paragraph-container\"},[_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"Use LDAP for user authentication. When a user logs in to the Pleroma\\n instance, the name and password will be verified by trying to authenticate\\n (bind) to an LDAP server. If a user exists in the LDAP directory but there\\n is no account with the same name yet on the Pleroma instance then a new\\n Pleroma account will be created with the same name as the LDAP user name.\")])]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"LDAP Authenticator:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.ldap.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'ldap', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables LDAP authentication\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Host\"}},[_c('el-input',{attrs:{\"value\":_vm.ldap.host},on:{\"input\":function($event){return _vm.updateSetting($event, 'ldap', 'host')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"LDAP server hostname\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.ldap.port},on:{\"input\":function($event){return _vm.updateSetting($event, 'ldap', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"LDAP port, e.g. 389 or 636\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"SSL\"}},[_c('el-switch',{attrs:{\"value\":_vm.ldap.ssl},on:{\"change\":function($event){return _vm.updateSetting($event, 'ldap', 'ssl')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"True to use SSL, usually implies the port 636\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"TLS\"}},[_c('el-switch',{attrs:{\"value\":_vm.ldap.tls},on:{\"change\":function($event){return _vm.updateSetting($event, 'ldap', 'tls')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"True to start TLS, usually implies the port 389\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Base\"}},[_c('el-input',{attrs:{\"value\":_vm.ldap.base},on:{\"input\":function($event){return _vm.updateSetting($event, 'ldap', 'base')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"LDAP base, e.g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'dc=example,dc=com'\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"UID\"}},[_c('el-input',{attrs:{\"value\":_vm.ldap.uid},on:{\"input\":function($event){return _vm.updateSetting($event, 'ldap', 'uid')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"LDAP attribute name to authenticate the user, e.g. when\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'cn'\")]),_vm._v(\", the filter will be \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'cn=username,base'\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"ueberauth\",attrs:{\"model\":_vm.ueberauth,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{staticClass:\"options-paragraph-container\",attrs:{\"label\":\"OAuth consumer mode\"}},[_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n OAuth consumer mode allows sign in / sign up via external OAuth providers\\n (e.g. Twitter, Facebook, Google, Microsoft, etc.). Implementation is based on Ueberauth; see the list of\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/ueberauth/ueberauth/wiki/List-of-Strategies\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n available strategies.\\n \")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n Note: each strategy is shipped as a separate dependency; in order to get the strategies, run\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"OAUTH_CONSUMER_STRATEGIES=\\\"...\\\" mix deps.get\")]),_vm._v(\",\\n e.g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"OAUTH_CONSUMER_STRATEGIES=\\\"twitter facebook google microsoft\\\" mix deps.get\")]),_vm._v(\".\\n The server should also be started with \"),_c('span',{staticClass:\"code\"},[_vm._v(\"OAUTH_CONSUMER_STRATEGIES=\\\"...\\\" mix phx.server\")]),_vm._v(\"\\n in case you enable any strategies.\\n \")]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n Note: each strategy requires separate setup (on external provider side and Pleroma side).\\n Below are the guidelines on setting up most popular strategies.\\n \")]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n Note: make sure that \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'SameSite=Lax'\")]),_vm._v(\" is set in\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"extra_cookie_attrs\")]),_vm._v(\" when you have this feature enabled.\\n OAuth consumer mode will not work with \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'SameSite=Strict'\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"For Twitter,\\n \"),_c('a',{attrs:{\"href\":\"https://developer.twitter.com/en/apps\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n register an app,\\n \")]),_vm._v(\"\\n configure callback URL to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://<your_host>/oauth/twitter/callback\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"For Facebook,\\n \"),_c('a',{attrs:{\"href\":\"https://developers.facebook.com/apps\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n register an app,\\n \")]),_vm._v(\"\\n configure callback URL to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://<your_host>/oauth/facebook/callback\")]),_vm._v(\",\\n enable Facebook Login service at\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://developers.facebook.com/apps/<app_id>/fb-login/settings/\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"For Google,\\n \"),_c('a',{attrs:{\"href\":\"https://console.developers.google.com/\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n register an app,\\n \")]),_vm._v(\"\\n configure callback URL to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://<your_host>/oauth/google/callback\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"For Microsoft,\\n \"),_c('a',{attrs:{\"href\":\"https://portal.azure.com\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n register an app,\\n \")]),_vm._v(\"\\n configure callback URL to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://<your_host>/oauth/microsoft/callback\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n Once the app is configured on external OAuth provider side, add app's credentials and strategy-specific settings\\n per strategy's documentation (e.g.\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/ueberauth/ueberauth_twitter\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n ueberauth_twitter\\n \")]),_vm._v(\").\\n \")])]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Ueberauth:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Base path\"}},[_c('el-input',{attrs:{\"value\":_vm.ueberauth.base_path},on:{\"input\":function($event){return _vm.updateSetting($event, 'ueberauth', 'base_path')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"facebook\",attrs:{\"model\":_vm.facebook,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Facebook:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client ID\"}},[_c('el-input',{attrs:{\"value\":_vm.facebook.client_id},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'client_id')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client secret\"}},[_c('el-input',{attrs:{\"value\":_vm.facebook.client_secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'client_secret')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect URI\"}},[_c('el-input',{attrs:{\"value\":_vm.facebook.redirect_uri},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'redirect_uri')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"twitter\",attrs:{\"model\":_vm.twitter,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Twitter:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Consumer key\"}},[_c('el-input',{attrs:{\"value\":_vm.twitter.consumer_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Twitter.OAuth', 'consumer_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Consumer secret\"}},[_c('el-input',{attrs:{\"value\":_vm.twitter.consumer_secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Twitter.OAuth', 'consumer_secret')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"google\",attrs:{\"model\":_vm.google,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Google:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client ID\"}},[_c('el-input',{attrs:{\"value\":_vm.google.client_id},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'client_id')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client secret\"}},[_c('el-input',{attrs:{\"value\":_vm.google.client_secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'client_secret')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect URI\"}},[_c('el-input',{attrs:{\"value\":_vm.google.redirect_uri},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'redirect_uri')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"microsoft\",attrs:{\"model\":_vm.microsoft,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Microsoft:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client ID\"}},[_c('el-input',{attrs:{\"value\":_vm.microsoft.client_id},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Microsoft.OAuth', 'client_id')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client secret\"}},[_c('el-input',{attrs:{\"value\":_vm.microsoft.client_secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Microsoft.OAuth', 'client_secret')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"oauth2\",attrs:{\"model\":_vm.oauth2,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"OAuth 2.0 Provider:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Token expires in (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.oauth2.token_expires_in,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'oauth2', 'token_expires_in')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The lifetime in seconds of the access token\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Issue new refresh token\"}},[_c('el-switch',{attrs:{\"value\":_vm.oauth2.issue_new_refresh_token},on:{\"change\":function($event){return _vm.updateSetting($event, 'oauth2', 'issue_new_refresh_token')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Keeps old refresh token or generate new refresh token when to obtain an access token\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Clean expired token\"}},[_c('el-switch',{attrs:{\"value\":_vm.oauth2.clean_expired_tokens},on:{\"change\":function($event){return _vm.updateSetting($event, 'oauth2', 'clean_expired_tokens')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable a background job to clean expired oauth tokens. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Clean expired token interval\"}},[_c('el-input-number',{attrs:{\"value\":_vm.oauth2.clean_expired_tokens_interval / 3600000,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 3600000, 'oauth2', 'clean_expired_tokens_interval')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Interval to run the job to clean expired tokens. Defaults to 24 hours.\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinker.vue?vue&type=script&lang=js&\"","<template>\n <el-form v-if=\"!loading\" ref=\"autoLinker\" :model=\"autoLinker\" :label-width=\"labelWidth\">\n <el-form-item label=\"Class\">\n <el-switch :value=\"booleanClass\" @change=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'class')\"/>\n <p v-if=\"!booleanClass\" class=\"expl\">Specify the class to be added to the generated link. False to clear.</p>\n </el-form-item>\n <el-form-item v-if=\"booleanClass\">\n <el-input :value=\"getStringValue('class')\" @input=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'class')\"/>\n <p class=\"expl\">Specify the class to be added to the generated link. False to clear.</p>\n </el-form-item>\n <el-form-item label=\"Rel\">\n <el-switch :value=\"booleanRel\" @change=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'rel')\"/>\n <p v-if=\"!booleanRel\" class=\"expl\">Override the rel attribute. False to clear</p>\n </el-form-item>\n <el-form-item v-if=\"booleanRel\">\n <el-input :value=\"getStringValue('rel')\" @input=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'rel')\"/>\n <p class=\"expl\">Override the rel attribute. False to clear</p>\n </el-form-item>\n <el-form-item label=\"New window\">\n <el-switch :value=\"autoLinker.opts.new_window\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'new_window')\"/>\n <p class=\"expl\">Set to false to remove <span class=\"code\">target='_blank'</span> attribute</p>\n </el-form-item>\n <el-form-item label=\"Scheme\">\n <el-switch :value=\"autoLinker.opts.scheme\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'scheme')\"/>\n <p class=\"expl\">Set to true to link urls with schema <span class=\"code\">http://google.com</span></p>\n </el-form-item>\n <el-form-item label=\"Truncate\">\n <el-switch :value=\"booleanTruncate\" @change=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'truncate')\"/>\n <p v-if=\"!booleanTruncate\" class=\"expl\">Set to a number to truncate urls longer then the number.\n Truncated urls will end in <span class=\"code\">..</span></p>\n </el-form-item>\n <el-form-item v-if=\"booleanTruncate\">\n <el-input-number :value=\"getStringValue('truncate')\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'truncate')\"/>\n <p class=\"expl\">Specify the class to be added to the generated link. False to clear.</p>\n </el-form-item>\n <el-form-item label=\"Strip prefix\">\n <el-switch :value=\"autoLinker.opts.strip_prefix\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'strip_prefix')\"/>\n <p class=\"expl\">Strip the scheme prefix</p>\n </el-form-item>\n <el-form-item label=\"Extra\">\n <el-switch :value=\"autoLinker.opts.extra\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'extra')\"/>\n <p class=\"expl\">Link urls with rarely used schemes (magnet, ipfs, irc, etc.)</p>\n </el-form-item>\n <el-form-item label=\"Validate TLD\">\n <el-switch :value=\"autoLinker.opts.validate_tld\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'validate_tld')\"/>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\n\nexport default {\n name: 'AutoLinker',\n computed: {\n ...mapGetters([\n 'autoLinker'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n },\n loading() {\n return this.$store.state.settings.loading\n },\n booleanClass() {\n return this.getBooleanValue('class')\n },\n booleanRel() {\n return this.getBooleanValue('rel')\n },\n booleanTruncate() {\n return this.getBooleanValue('truncate')\n }\n },\n methods: {\n getBooleanValue(name) {\n const value = this.autoLinker.opts[name]\n return typeof value === 'string' || typeof value === 'number'\n },\n getNumValue(name) {\n const value = this.autoLinker.opts[name]\n return value || 0\n },\n getStringValue(name) {\n const value = this.autoLinker.opts[name]\n return value || ''\n },\n processTwoTypeValue(value, tab, inputName, childName) {\n if (value === true) {\n const data = childName === 'truncate' ? 0 : ''\n this.processNestedData(data, tab, inputName, childName)\n } else {\n this.processNestedData(value, tab, inputName, childName)\n }\n },\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./AutoLinker.vue?vue&type=template&id=62014b5c&\"\nimport script from \"./AutoLinker.vue?vue&type=script&lang=js&\"\nexport * from \"./AutoLinker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AutoLinker.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"AutoLinker.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading)?_c('el-form',{ref:\"autoLinker\",attrs:{\"model\":_vm.autoLinker,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Class\"}},[_c('el-switch',{attrs:{\"value\":_vm.booleanClass},on:{\"change\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'class')}}}),_vm._v(\" \"),(!_vm.booleanClass)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Specify the class to be added to the generated link. False to clear.\")]):_vm._e()],1),_vm._v(\" \"),(_vm.booleanClass)?_c('el-form-item',[_c('el-input',{attrs:{\"value\":_vm.getStringValue('class')},on:{\"input\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'class')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Specify the class to be added to the generated link. False to clear.\")])],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Rel\"}},[_c('el-switch',{attrs:{\"value\":_vm.booleanRel},on:{\"change\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'rel')}}}),_vm._v(\" \"),(!_vm.booleanRel)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Override the rel attribute. False to clear\")]):_vm._e()],1),_vm._v(\" \"),(_vm.booleanRel)?_c('el-form-item',[_c('el-input',{attrs:{\"value\":_vm.getStringValue('rel')},on:{\"input\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'rel')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Override the rel attribute. False to clear\")])],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"New window\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.new_window},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'new_window')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to false to remove \"),_c('span',{staticClass:\"code\"},[_vm._v(\"target='_blank'\")]),_vm._v(\" attribute\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scheme\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.scheme},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'scheme')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to true to link urls with schema \"),_c('span',{staticClass:\"code\"},[_vm._v(\"http://google.com\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Truncate\"}},[_c('el-switch',{attrs:{\"value\":_vm.booleanTruncate},on:{\"change\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'truncate')}}}),_vm._v(\" \"),(!_vm.booleanTruncate)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to a number to truncate urls longer then the number.\\n Truncated urls will end in \"),_c('span',{staticClass:\"code\"},[_vm._v(\"..\")])]):_vm._e()],1),_vm._v(\" \"),(_vm.booleanTruncate)?_c('el-form-item',[_c('el-input-number',{attrs:{\"value\":_vm.getStringValue('truncate'),\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'truncate')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Specify the class to be added to the generated link. False to clear.\")])],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Strip prefix\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.strip_prefix},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'strip_prefix')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Strip the scheme prefix\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Extra\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.extra},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'extra')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Link urls with rarely used schemes (magnet, ipfs, irc, etc.)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Validate TLD\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.validate_tld},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'validate_tld')}}})],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"captcha\" :model=\"captcha\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"captcha.enabled\" @change=\"updateSetting($event, 'Pleroma.Captcha', 'enabled')\"/>\n <p class=\"expl\">Whether the captcha should be shown on registration</p>\n </el-form-item>\n <el-form-item label=\"Valid for (s)\">\n <el-input-number :value=\"captcha.seconds_valid\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Captcha', 'seconds_valid')\"/>\n <p class=\"expl\">The time in seconds for which the captcha is valid</p>\n </el-form-item>\n <el-form-item label=\"Method\">\n <el-select :value=\"captcha.method\" clearable @change=\"updateSetting($event, 'Pleroma.Captcha', 'method')\">\n <el-option label=\"Pleroma.Captcha.Kocaptcha\" value=\"Pleroma.Captcha.Kocaptcha\"/>\n </el-select>\n <p class=\"expl\">The method/service to use for captcha</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"kocaptcha\" :model=\"kocaptcha\" :label-width=\"labelWidth\">\n <el-form-item label=\"Kocaptcha Endpoint\">\n <el-input :value=\"kocaptcha.endpoint\" @input=\"updateSetting($event, 'Pleroma.Captcha.Kocaptcha', 'endpoint')\"/>\n <p class=\"expl\">Kocaptcha is a captcha service with a single API endpoint, the source code is\n <a href=\"https://github.com/koto-bank/kocaptcha\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">here</a>.\n The default endpoint <span class=\"code\">'https://captcha.kotobank.ch'</span> is hosted by the developer.\n </p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\n\nexport default {\n name: 'Captcha',\n computed: {\n ...mapGetters([\n 'captcha',\n 'kocaptcha'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Captcha.vue?vue&type=template&id=14a0e05b&\"\nimport script from \"./Captcha.vue?vue&type=script&lang=js&\"\nexport * from \"./Captcha.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Captcha.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Captcha.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"captcha\",attrs:{\"model\":_vm.captcha,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.captcha.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Captcha', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether the captcha should be shown on registration\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Valid for (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.captcha.seconds_valid,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Captcha', 'seconds_valid')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The time in seconds for which the captcha is valid\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Method\"}},[_c('el-select',{attrs:{\"value\":_vm.captcha.method,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Captcha', 'method')}}},[_c('el-option',{attrs:{\"label\":\"Pleroma.Captcha.Kocaptcha\",\"value\":\"Pleroma.Captcha.Kocaptcha\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The method/service to use for captcha\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"kocaptcha\",attrs:{\"model\":_vm.kocaptcha,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Kocaptcha Endpoint\"}},[_c('el-input',{attrs:{\"value\":_vm.kocaptcha.endpoint},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Captcha.Kocaptcha', 'endpoint')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Kocaptcha is a captcha service with a single API endpoint, the source code is\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/koto-bank/kocaptcha\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"here\")]),_vm._v(\".\\n The default endpoint \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'https://captcha.kotobank.ch'\")]),_vm._v(\" is hosted by the developer.\\n \")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Database.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Database.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"database\" :model=\"database\" :label-width=\"labelWidth\">\n <el-form-item label=\"Database settings:\"/>\n <el-form-item label=\"RUM enabled\">\n <el-switch :value=\"database.rum_enabled\" @change=\"updateSetting($event, 'database', 'rum_enabled')\"/>\n <p class=\"expl\">RUM indexes are an alternative indexing scheme that is not included in PostgreSQL by default.\n While they may eventually be mainlined, for now they have to be installed as a PostgreSQL extension from\n <a\n href=\"https://github.com/postgrespro/rum\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n https://github.com/postgrespro/rum.\n </a>\n </p>\n <p class=\"expl\">Their advantage over the standard GIN indexes is that they allow efficient ordering of search results by timestamp,\n which makes search queries a lot faster on larger servers, by one or two orders of magnitude.\n They take up around 3 times as much space as GIN indexes.</p>\n <p class=\"expl\">To enable them, both the <span class=\"code\">rum_enabled</span> flag has to be set and the following special\n migration has to be run: <span class=\"code\">mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/</span></p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"ectoRepos\" :model=\"ectoRepos\" :label-width=\"labelWidth\">\n <el-form-item label=\"Ecto repos\">\n <el-select :value=\"ectoRepos.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'ecto_repos', 'value')\">\n <el-option label=\"Pleroma.Repo\" value=\"Pleroma.Repo\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"pleromaRepo\" :model=\"pleromaRepo\" :label-width=\"labelWidth\">\n <el-form-item label=\"Pleroma Repo configuration:\"/>\n <el-form-item label=\"Name\">\n <el-input :value=\"pleromaRepo.name\" @input=\"updateSetting($event, 'Pleroma.Repo', 'name')\"/>\n <p class=\"expl\">The name of the Repo supervisor process</p>\n </el-form-item>\n <el-form-item label=\"Priv\">\n <el-input :value=\"pleromaRepo.priv\" @input=\"updateSetting($event, 'Pleroma.Repo', 'priv')\"/>\n <p class=\"expl\">The directory where to keep repository data, like migrations, schema and more. Defaults to <span class=\"code\">\n priv/YOUR_REPO</span>. It must always point to a subdirectory inside the priv directory</p>\n </el-form-item>\n <el-form-item label=\"URL\">\n <el-input :value=\"pleromaRepo.url\" @input=\"updateSetting($event, 'Pleroma.Repo', 'url')\"/>\n <p class=\"expl\">An URL that specifies storage information</p>\n </el-form-item>\n <el-form-item label=\"Log level\">\n <el-select :value=\"pleromaRepo.log\" clearable @change=\"updateSetting($event, 'Pleroma.Repo', 'log')\">\n <el-option :value=\"false\" label=\"False - disables logging for that repository.\"/>\n <el-option value=\":debug\" label=\":debug - for debug-related messages\"/>\n <el-option value=\":info\" label=\":info - for information of any kind\"/>\n <el-option value=\":warn\" label=\":warn - for warnings\"/>\n <el-option value=\":error\" label=\":error - for errors\"/>\n </el-select>\n <p class=\"expl\">The log level used when logging the query with Elixir's Logger</p>\n </el-form-item>\n <el-form-item label=\"Pool size\">\n <el-input-number :value=\"pleromaRepo.pool_size\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Repo', 'pool_size')\"/>\n <p class=\"expl\">The size of the pool used by the connection module. Defaults to <span class=\"code\">10</span></p>\n </el-form-item>\n <el-form-item label=\"Telemetry prefix\">\n <el-select :value=\"pleromaRepo.telemetry_prefix || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Repo', 'telemetry_prefix')\">\n <el-option label=\":my_app\" value=\":my_app\"/>\n <el-option label=\":repo\" value=\":repo\"/>\n <el-option label=\":query\" value=\":query\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Types\">\n <el-input :value=\"pleromaRepo.types\" @input=\"updateSetting($event, 'Pleroma.Repo', 'types')\"/>\n </el-form-item>\n <el-form-item label=\"Telemetry event\">\n <el-select :value=\"pleromaRepo.telemetry_event || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Repo', 'telemetry_event')\">\n <el-option label=\"Pleroma.Repo.Instrumenter\" value=\"Pleroma.Repo.Instrumenter\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Connection options:\"/>\n <el-form-item label=\"Hostname\">\n <el-input :value=\"pleromaRepo.hostname\" @input=\"updateSetting($event, 'Pleroma.Repo', 'hostname')\"/>\n <p class=\"expl\">Server hostname</p>\n </el-form-item>\n <el-form-item label=\"Socket dir\">\n <el-input :value=\"pleromaRepo.socket_dir\" @input=\"updateSetting($event, 'Pleroma.Repo', 'socket_dir')\"/>\n <p class=\"expl\">Connect to Postgres via UNIX sockets in the given directory. The socket name is derived based on the port.\n This is the preferred method for configuring sockets and it takes precedence over the hostname.\n If you are connecting to a socket outside of the Postgres convention, use <span class=\"code\">:socket</span> instead.</p>\n </el-form-item>\n <el-form-item label=\"Socket\">\n <el-input :value=\"pleromaRepo.socket\" @input=\"updateSetting($event, 'Pleroma.Repo', 'socket')\"/>\n <p class=\"expl\">Connect to Postgres via UNIX sockets in the given path. This option takes precedence over the\n <span class=\"code\">:hostname</span> and <span class=\"code\">:socket_dir</span></p>\n </el-form-item>\n <el-form-item label=\"Username\">\n <el-input :value=\"pleromaRepo.username\" @input=\"updateSetting($event, 'Pleroma.Repo', 'username')\"/>\n </el-form-item>\n <el-form-item label=\"Password\">\n <el-input :value=\"pleromaRepo.password\" @input=\"updateSetting($event, 'Pleroma.Repo', 'password')\"/>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"pleromaRepo.port\" @input=\"updateSetting($event, 'Pleroma.Repo', 'port')\"/>\n <p class=\"expl\">Server port (default: 5432)</p>\n </el-form-item>\n <el-form-item label=\"Database\">\n <el-input :value=\"pleromaRepo.database\" @input=\"updateSetting($event, 'Pleroma.Repo', 'database')\"/>\n <p class=\"expl\">The database to connect to</p>\n </el-form-item>\n <el-form-item label=\"Maintenance database\">\n <el-input :value=\"pleromaRepo.maintenance_database\" @input=\"updateSetting($event, 'Pleroma.Repo', 'maintenance_database')\"/>\n <p class=\"expl\">Specifies the name of the database to connect to when creating or dropping the database. Defaults to \"postgres\"</p>\n </el-form-item>\n <el-form-item label=\"Pool\">\n <el-input :value=\"pleromaRepo.pool\" @input=\"updateSetting($event, 'Pleroma.Repo', 'pool')\"/>\n <p class=\"expl\">The connection pool module, defaults to <span class=\"code\">DBConnection.ConnectionPool</span></p>\n </el-form-item>\n <el-form-item label=\"SSL\">\n <el-switch :value=\"pleromaRepo.ssl\" @change=\"updateSetting($event, 'Pleroma.Repo', 'ssl')\"/>\n <p class=\"expl\">Set to true if ssl should be used</p>\n </el-form-item>\n <el-form-item label=\"Connect timeout\">\n <el-input-number :value=\"pleromaRepo.connect_timeout\" :step=\"1000\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Repo', 'connect_timeout')\"/>\n <p class=\"expl\">The timeout for establishing new connections. Defaults to 5000</p>\n </el-form-item>\n <el-form-item label=\"Prepare\">\n <el-select :value=\"pleromaRepo.prepare\" clearable @change=\"updateSetting($event, 'Pleroma.Repo', 'prepare')\">\n <el-option label=\"named\" value=\":named\"/>\n <el-option label=\"unnamed\" value=\":unnamed\"/>\n </el-select>\n <p class=\"expl\">How to prepare queries, either <span class=\"code\">:named</span> to use named queries or\n <span class=\"code\">:unnamed</span> to force unnamed queries (default: :named)</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Instance',\n computed: {\n ...mapGetters([\n 'database',\n 'ectoRepos',\n 'pleromaRepo'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Database.vue?vue&type=template&id=5fed6c2e&\"\nimport script from \"./Database.vue?vue&type=script&lang=js&\"\nexport * from \"./Database.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Database.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Database.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"database\",attrs:{\"model\":_vm.database,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Database settings:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"RUM enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.database.rum_enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'database', 'rum_enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"RUM indexes are an alternative indexing scheme that is not included in PostgreSQL by default.\\n While they may eventually be mainlined, for now they have to be installed as a PostgreSQL extension from\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/postgrespro/rum\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n https://github.com/postgrespro/rum.\\n \")])]),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Their advantage over the standard GIN indexes is that they allow efficient ordering of search results by timestamp,\\n which makes search queries a lot faster on larger servers, by one or two orders of magnitude.\\n They take up around 3 times as much space as GIN indexes.\")]),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"To enable them, both the \"),_c('span',{staticClass:\"code\"},[_vm._v(\"rum_enabled\")]),_vm._v(\" flag has to be set and the following special\\n migration has to be run: \"),_c('span',{staticClass:\"code\"},[_vm._v(\"mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"ectoRepos\",attrs:{\"model\":_vm.ectoRepos,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Ecto repos\"}},[_c('el-select',{attrs:{\"value\":_vm.ectoRepos.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'ecto_repos', 'value')}}},[_c('el-option',{attrs:{\"label\":\"Pleroma.Repo\",\"value\":\"Pleroma.Repo\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"pleromaRepo\",attrs:{\"model\":_vm.pleromaRepo,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Pleroma Repo configuration:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Name\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.name},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'name')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The name of the Repo supervisor process\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Priv\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.priv},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'priv')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The directory where to keep repository data, like migrations, schema and more. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"\\n priv/YOUR_REPO\")]),_vm._v(\". It must always point to a subdirectory inside the priv directory\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"URL\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.url},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'url')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"An URL that specifies storage information\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Log level\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaRepo.log,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'log')}}},[_c('el-option',{attrs:{\"value\":false,\"label\":\"False - disables logging for that repository.\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":debug\",\"label\":\":debug - for debug-related messages\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":info\",\"label\":\":info - for information of any kind\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":warn\",\"label\":\":warn - for warnings\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":error\",\"label\":\":error - for errors\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The log level used when logging the query with Elixir's Logger\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pool size\"}},[_c('el-input-number',{attrs:{\"value\":_vm.pleromaRepo.pool_size,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'pool_size')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The size of the pool used by the connection module. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"10\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Telemetry prefix\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaRepo.telemetry_prefix || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'telemetry_prefix')}}},[_c('el-option',{attrs:{\"label\":\":my_app\",\"value\":\":my_app\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\":repo\",\"value\":\":repo\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\":query\",\"value\":\":query\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Types\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.types},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'types')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Telemetry event\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaRepo.telemetry_event || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'telemetry_event')}}},[_c('el-option',{attrs:{\"label\":\"Pleroma.Repo.Instrumenter\",\"value\":\"Pleroma.Repo.Instrumenter\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Connection options:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hostname\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.hostname},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'hostname')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Server hostname\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Socket dir\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.socket_dir},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'socket_dir')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Connect to Postgres via UNIX sockets in the given directory. The socket name is derived based on the port.\\n This is the preferred method for configuring sockets and it takes precedence over the hostname.\\n If you are connecting to a socket outside of the Postgres convention, use \"),_c('span',{staticClass:\"code\"},[_vm._v(\":socket\")]),_vm._v(\" instead.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Socket\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.socket},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'socket')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Connect to Postgres via UNIX sockets in the given path. This option takes precedence over the\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\":hostname\")]),_vm._v(\" and \"),_c('span',{staticClass:\"code\"},[_vm._v(\":socket_dir\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Username\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.username},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'username')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Password\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.password},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'password')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.port},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Server port (default: 5432)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Database\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.database},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'database')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The database to connect to\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Maintenance database\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.maintenance_database},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'maintenance_database')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Specifies the name of the database to connect to when creating or dropping the database. Defaults to \\\"postgres\\\"\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pool\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.pool},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'pool')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The connection pool module, defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"DBConnection.ConnectionPool\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"SSL\"}},[_c('el-switch',{attrs:{\"value\":_vm.pleromaRepo.ssl},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'ssl')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to true if ssl should be used\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Connect timeout\"}},[_c('el-input-number',{attrs:{\"value\":_vm.pleromaRepo.connect_timeout,\"step\":1000,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'connect_timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The timeout for establishing new connections. Defaults to 5000\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Prepare\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaRepo.prepare,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'prepare')}}},[_c('el-option',{attrs:{\"label\":\"named\",\"value\":\":named\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"unnamed\",\"value\":\":unnamed\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"How to prepare queries, either \"),_c('span',{staticClass:\"code\"},[_vm._v(\":named\")]),_vm._v(\" to use named queries or\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\":unnamed\")]),_vm._v(\" to force unnamed queries (default: :named)\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const options = {\n federationPublisherModulesOptions: [\n { label: 'Pleroma.Web.ActivityPub.Publisher', value: 'Pleroma.Web.ActivityPub.Publisher' },\n { label: 'Pleroma.Web.Websub', value: 'Pleroma.Web.Websub' },\n { label: 'Pleroma.Web.Salmon', value: 'Pleroma.Web.Salmon' }],\n rewritePolicyOptions: [\n { label: 'NoOpPolicy', value: 'Pleroma.Web.ActivityPub.MRF.NoOpPolicy', expl: 'NoOpPolicy: Doesn’t modify activities (default)' },\n { label: 'DropPolicy', value: 'Pleroma.Web.ActivityPub.MRF.DropPolicy', expl: 'DropPolicy: Drops all activities. It generally doesn’t makes sense to use in production' },\n { label: 'SimplePolicy', value: 'Pleroma.Web.ActivityPub.MRF.SimplePolicy', expl: 'SimplePolicy: Restrict the visibility of activities from certains instances (See :mrf_simple section)' },\n { label: 'TagPolicy', value: 'Pleroma.Web.ActivityPub.MRF.TagPolicy', expl: 'Applies policies to individual users based on tags, which can be set using pleroma-fe/admin-fe/any other app that supports Pleroma Admin API. For example it allows marking posts from individual users nsfw (sensitive)' },\n { label: 'SubchainPolicy', value: 'Pleroma.Web.ActivityPub.MRF.SubchainPolicy', expl: 'Selectively runs other MRF policies when messages match (see :mrf_subchain section)' },\n { label: 'RejectNonPublic', value: 'Pleroma.Web.ActivityPub.MRF.RejectNonPublic', expl: 'RejectNonPublic: Drops posts with non-public visibility settings (See :mrf_rejectnonpublic section)' },\n { label: 'EnsureRePrepended', value: 'Pleroma.Web.ActivityPub.MRF.EnsureRePrepended', expl: 'EnsureRePrepended: Rewrites posts to ensure that replies to posts with subjects do not have an identical subject and instead begin with re:' },\n { label: 'AntiLinkSpamPolicy', value: 'Pleroma.Web.ActivityPub.MRF.AntiLinkSpamPolicy', expl: 'Rejects posts from likely spambots by rejecting posts from new users that contain links' },\n { label: 'MediaProxyWarmingPolicy', value: 'Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy', expl: 'Crawls attachments using their MediaProxy URLs so that the MediaProxy cache is primed' },\n { label: 'MentionPolicy', value: 'Pleroma.Web.ActivityPub.MRF.MentionPolicy', expl: 'Drops posts mentioning configurable users. (see :mrf_mention section)' },\n { label: 'VocabularyPolicy', value: 'Pleroma.Web.ActivityPub.MRF.VocabularyPolicy', expl: 'Restricts activities to a configured set of vocabulary' }\n ],\n quarantinedInstancesOptions: [],\n autofollowedNicknamesOptions: [],\n uriSchemesOptions: [\n { label: 'https', value: 'https' },\n { label: 'http', value: 'http' },\n { label: 'dat', value: 'dat' },\n { label: 'dweb', value: 'dweb' },\n { label: 'gopher', value: 'gopher' },\n { label: 'ipfs', value: 'ipfs' },\n { label: 'ipns', value: 'ipns' },\n { label: 'irc', value: 'irc' },\n { label: 'ircs', value: 'ircs' },\n { label: 'magnet', value: 'magnet' },\n { label: 'mailto', value: 'mailto' },\n { label: 'mumble', value: 'mumble' },\n { label: 'ssb', value: 'ssb' },\n { label: 'xmpp', value: 'xmpp' }],\n themeOptions: [\n { label: 'pleroma-dark', value: 'pleroma-dark' },\n { label: 'pleroma-light', value: 'pleroma-light' },\n { label: 'classic-dark', value: 'classic-dark' },\n { label: 'bird', value: 'bird' },\n { label: 'ir-black', value: 'ir-black' },\n { label: 'monokai', value: 'monokai' },\n { label: 'mammal', value: 'mammal' },\n { label: 'redmond-xx', value: 'redmond-xx' },\n { label: 'redmond-xx-se', value: 'redmond-xx-se' },\n { label: 'redmond-xxi', value: 'redmond-xxi' },\n { label: 'breezy-dark', value: 'breezy-dark' },\n { label: 'breezy-light', value: 'breezy-light' }],\n instrumentersOptions: [{ label: 'Pleroma.Web.Endpoint.Instrumenter', value: 'Pleroma.Web.Endpoint.Instrumenter' }],\n extraCookieAttrsOptions: [{ label: 'SameSite=Lax', value: 'SameSite=Lax' }],\n hackneyPoolsOptions: [{ label: 'Federation', value: ':federation', max_connections: 50, timeout: 150000 },\n { label: 'Media', value: ':media', max_connections: 50, timeout: 150000 },\n { label: 'Upload', value: ':upload', max_connections: 25, timeout: 300000 }],\n whitelistedContentTypesOptions: [{ label: 'image/gif', value: 'image/gif' },\n { label: 'image/jpeg', value: 'image/jpeg' },\n { label: 'image/jpg', value: 'image/jpg' },\n { label: 'image/png', value: 'image/png' },\n { label: 'image/svg+xml', value: 'image/svg+xml' },\n { label: 'audio/mpeg', value: 'audio/mpeg' },\n { label: 'audio/mp3', value: 'audio/mp3' },\n { label: 'video/webm', value: 'video/webm' },\n { label: 'video/mp4', value: 'video/mp4' },\n { label: 'video/quicktime', value: 'video/quicktime' }],\n mogrifyActionsOptions: [{ label: 'strip', value: 'strip' }, { label: 'auto-orient', value: 'auto-orient' }],\n adapterOptions: [\n { label: 'Swoosh.Adapters.Sendmail', value: 'Swoosh.Adapters.Sendmail' },\n { label: 'Swoosh.Adapters.SMTP', value: 'Swoosh.Adapters.SMTP' },\n { label: 'Swoosh.Adapters.Sendgrid', value: 'Swoosh.Adapters.Sendgrid' },\n { label: 'Swoosh.Adapters.Mandrill', value: 'Swoosh.Adapters.Mandrill' },\n { label: 'Swoosh.Adapters.Mailgun', value: 'Swoosh.Adapters.Mailgun' },\n { label: 'Swoosh.Adapters.Mailjet', value: 'Swoosh.Adapters.Mailjet' },\n { label: 'Swoosh.Adapters.Postmark', value: 'Swoosh.Adapters.Postmark' },\n { label: 'Swoosh.Adapters.SparkPost', value: 'Swoosh.Adapters.SparkPost' },\n { label: 'Swoosh.Adapters.AmazonSES', value: 'Swoosh.Adapters.AmazonSES' },\n { label: 'Swoosh.Adapters.Dyn', value: 'Swoosh.Adapters.Dyn' },\n { label: 'Swoosh.Adapters.SocketLabs', value: 'Swoosh.Adapters.SocketLabs' },\n { label: 'Swoosh.Adapters.Gmail', value: 'Swoosh.Adapters.Gmail' },\n { label: 'Swoosh.Adapters.Local', value: 'Swoosh.Adapters.Local' }\n ],\n loggerBackendsOptions: [\n { label: 'Console // log to stdout', value: JSON.stringify(':console') },\n { label: 'Ex_syslogger // log to syslog', value: JSON.stringify({ 'tuple': ['ExSyslogger', ':ex_syslogger'] }) },\n { label: 'Quack.Logger // log to Slack', value: JSON.stringify('Quack.Logger') }\n ],\n restrictedNicknamesOptions: [\n { value: '.well-known' },\n { value: '~' },\n { value: 'about' },\n { value: 'activities' },\n { value: 'api' },\n { value: 'auth' },\n { value: 'check_password' },\n { value: 'dev' },\n { value: 'friend-requests' },\n { value: 'inbox' },\n { value: 'internal' },\n { value: 'main' },\n { value: 'media' },\n { value: 'nodeinfo' },\n { value: 'notice' },\n { value: 'oauth' },\n { value: 'objects' },\n { value: 'ostatus_subscribe' },\n { value: 'pleroma' },\n { value: 'proxy' },\n { value: 'push' },\n { value: 'registration' },\n { value: 'relay' },\n { value: 'settings' },\n { value: 'status' },\n { value: 'tag' },\n { value: 'user-search' },\n { value: 'user_exists' },\n { value: 'users' },\n { value: 'web' }\n ]\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=script&lang=js&\"","<template>\n <el-form v-if=\"!loading\" ref=\"endpoint\" :model=\"endpoint\" :label-width=\"labelWidth\">\n <el-form-item label=\"Instrumenters\">\n <el-select :value=\"endpoint.instrumenters || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'instrumenters')\">\n <el-option\n v-for=\"item in instrumentersOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Compile-time configuration:\"/>\n <el-form-item label=\"Code reloader\">\n <el-switch :value=\"endpoint.code_reloader\" @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'code_reloader')\"/>\n <p class=\"expl\">Enables code reloading functionality</p>\n </el-form-item>\n <el-form-item label=\"Debug errors\">\n <el-switch :value=\"endpoint.debug_errors\" @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'debug_errors')\"/>\n <p class=\"expl\">Enables using <span class=\"code\">Plug.Debugger</span> functionality for debugging failures in the application.\n Recommended to be set to true only in development as it allows listing of the application source code during debugging. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Render errors:\"/>\n <el-form-item label=\"View\">\n <el-input :value=\"endpoint.render_errors.view\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'view')\"/>\n </el-form-item>\n <el-form-item label=\"Accepts\">\n <el-select :value=\"endpoint.render_errors.accepts || []\" multiple filterable allow-create @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'accepts')\"/>\n </el-form-item>\n <el-form-item label=\"Layout\">\n <el-switch :value=\"endpoint.render_errors.layout\" @change=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'layout')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Runtime configuration:\"/>\n <el-form-item label=\"Cache static manifest\">\n <el-input :value=\"endpoint.cache_static_manifest\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'cache_static_manifest')\"/>\n <p class=\"expl\">A path to a json manifest file that contains static files and their digested version.\n This is typically set to <span class=\"code\">'priv/static/cache_manifest.json'</span>\n which is the file automatically generated by <span class=\"code\">mix phx.digest</span></p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"HTTP:\"/>\n <el-form-item label=\"Configure HTTP server\">\n <el-switch :value=\"configureHttp\" @change=\"showServerConfig($event, 'http')\"/>\n </el-form-item>\n <div v-if=\"configureHttp\">\n <el-form-item label=\"Dispatch\">\n <editor v-model=\"editorContentHttp\" height=\"150\" width=\"100%\" lang=\"elixir\" theme=\"chrome\"/>\n <p class=\"expl\">You can type in Elixir code here</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"endpointHttp.port\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'port')\"/>\n <p class=\"expl\">The port to run the server. Defaults to 4000 (http) and 4040 (https).</p>\n </el-form-item>\n <el-form-item label=\"IP\">\n <el-input :value=\"endpointHttp.ip\" placeholder=\"xxx.xxx.xxx.xx\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'ip')\"/>\n <p class=\"expl\">The ip to bind the server to</p>\n </el-form-item>\n <el-form-item label=\"Reference name\">\n <el-input :value=\"endpointHttp.ref\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'ref')\"/>\n <p class=\"expl\">The reference name to be used. Defaults to <span class=\"code\">plug.HTTP</span> (http) and\n <span class=\"code\">plug.HTTPS</span> (https). This is the value that needs to be given on shutdown.</p>\n </el-form-item>\n <el-form-item label=\"Compress\">\n <el-switch :value=\"endpointHttp.compress\" @change=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'compress')\"/>\n <p class=\"expl\">Cowboy will attempt to compress the response body. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Timeout in s\">\n <el-input-number :value=\"endpointHttp.timeout / 1000\" :step=\"1\" :min=\"0\" size=\"large\" @input=\"processNestedData($event * 1000, 'Pleroma.Web.Endpoint', 'http', 'timeout')\"/>\n <p class=\"expl\">Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.</p>\n </el-form-item>\n <div class=\"line\"/>\n </div>\n <el-form-item label=\"HTTPS:\"/>\n <el-form-item label=\"Configure HTTPS server\">\n <el-switch :value=\"configureHttps\" @change=\"showServerConfig($event, 'https')\"/>\n </el-form-item>\n <div v-if=\"configureHttps\">\n <el-form-item label=\"Dispatch\">\n <editor v-model=\"editorContentHttps\" height=\"150\" width=\"100%\" lang=\"elixir\" theme=\"chrome\"/>\n <p class=\"expl\">You can type in Elixir code here</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"endpointHttps.port\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'port')\"/>\n <p class=\"expl\">The port to run the server. Defaults to 4000 (http) and 4040 (https).</p>\n </el-form-item>\n <el-form-item label=\"IP\">\n <el-input :value=\"endpointHttps.ip\" placeholder=\"xxx.xxx.xxx.xx\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'ip')\"/>\n <p class=\"expl\">The ip to bind the server to</p>\n </el-form-item>\n <el-form-item label=\"Reference name\">\n <el-input :value=\"endpointHttps.ref\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'https', 'ref')\"/>\n <p class=\"expl\">The reference name to be used. Defaults to <span class=\"code\">plug.HTTP</span> (http) and\n <span class=\"code\">plug.HTTPS</span> (https). This is the value that needs to be given on shutdown.</p>\n </el-form-item>\n <el-form-item label=\"Compress\">\n <el-switch :value=\"endpointHttps.compress\" @change=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'compress')\"/>\n <p class=\"expl\">Cowboy will attempt to compress the response body. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Timeout in s\">\n <el-input-number :value=\"endpointHttps.timeout / 1000\" :step=\"1\" :min=\"0\" size=\"large\" @input=\"processNestedData($event * 1000, 'Pleroma.Web.Endpoint', 'https', 'timeout')\"/>\n <p class=\"expl\">Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.</p>\n </el-form-item>\n <div class=\"line\"/>\n </div>\n <el-form-item label=\"Secret key base\">\n <el-input :value=\"endpoint.secret_key_base\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'secret_key_base')\"/>\n <p class=\"expl\">A secret key used as a base to generate secrets for encrypting and signing data. For example, cookies and tokens are signed by default, but they may also be encrypted if desired. Defaults to nil as it must be set per application</p>\n </el-form-item>\n <el-form-item label=\"Server\">\n <el-switch :value=\"endpoint.server\" @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'server')\"/>\n <p class=\"expl\">When true, starts the web server when the endpoint supervision tree starts. Defaults to false. The <span class=\"code\">mix phx.server</span> task automatically sets this to true.</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"URL:\"/>\n <el-form-item label=\"Host\">\n <el-input :value=\"endpoint.url.host\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'host')\"/>\n <p class=\"expl\">The host without the scheme and a post (e.g <span class=\"code\">example.com</span>, not <span class=\"code\">https://example.com:2020</span>)</p>\n </el-form-item>\n <el-form-item label=\"Scheme\">\n <el-input :value=\"endpoint.url.scheme\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'scheme')\"/>\n <p class=\"expl\">e.g http, https</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"endpoint.url.port\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'port')\"/>\n </el-form-item>\n <el-form-item label=\"Path\">\n <el-input :value=\"endpoint.url.path\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'path')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Protocol\">\n <el-input :value=\"endpoint.protocol\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'protocol')\"/>\n </el-form-item>\n <el-form-item label=\"Signing salt\">\n <el-input :value=\"endpoint.signing_salt\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'signing_salt')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"PubSub:\"/>\n <el-form-item label=\"Name\">\n <el-input :value=\"endpoint.pubsub.name\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'pubsub', 'name')\"/>\n </el-form-item>\n <el-form-item label=\"Adapter\">\n <el-input :value=\"endpoint.pubsub.adapter\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'pubsub', 'adapter')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Secure cookie flag\">\n <el-switch :value=\"endpoint.secure_cookie_flag\" @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'secure_cookie_flag')\"/>\n </el-form-item>\n <el-form-item label=\"Extra cookie attrs\">\n <el-select :value=\"endpoint.extra_cookie_attrs || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'extra_cookie_attrs')\">\n <el-option\n v-for=\"item in extraCookieAttrsOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item class=\"options-paragraph-container\">\n <p class=\"options-paragraph\">Only common options are listed here. You can add more (all configuration options can be viewed\n <a\n href=\"https://hexdocs.pm/phoenix/Phoenix.Endpoint.html#module-dynamic-configuration\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">here</a>)\n </p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\nimport { options } from './options'\nimport AceEditor from 'vue2-ace-editor'\nimport 'brace/mode/elixir'\nimport 'default-passive-events'\n\nexport default {\n name: 'Endpoint',\n components: {\n editor: AceEditor\n },\n computed: {\n ...mapGetters([\n 'endpoint'\n ]),\n editorContentHttp: {\n get: function() {\n return this.endpoint.http.dispatch ? this.endpoint.http.dispatch[0] : ''\n },\n set: function(value) {\n this.processNestedData([value], 'Pleroma.Web.Endpoint', 'http', 'dispatch')\n }\n },\n editorContentHttps: {\n get: function() {\n return this.endpoint.https.dispatch ? this.endpoint.https.dispatch[0] : ''\n },\n set: function(value) {\n this.processNestedData([value], 'Pleroma.Web.Endpoint', 'https', 'dispatch')\n }\n },\n configureHttp() {\n return !this.endpoint.http === false\n },\n configureHttps() {\n return !this.endpoint.https === false\n },\n endpointHttp() {\n return this.endpoint.http || {}\n },\n endpointHttps() {\n return this.endpoint.https || {}\n },\n extraCookieAttrsOptions() {\n return options.extraCookieAttrsOptions\n },\n instrumentersOptions() {\n return options.instrumentersOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n },\n loading() {\n return this.$store.state.settings.loading\n }\n },\n methods: {\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n showServerConfig(value, protocol) {\n if (value) {\n this.updateSetting({}, 'Pleroma.Web.Endpoint', protocol)\n } else {\n this.updateSetting(value, 'Pleroma.Web.Endpoint', protocol)\n }\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Endpoint.vue?vue&type=template&id=911facda&\"\nimport script from \"./Endpoint.vue?vue&type=script&lang=js&\"\nexport * from \"./Endpoint.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Endpoint.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Endpoint.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading)?_c('el-form',{ref:\"endpoint\",attrs:{\"model\":_vm.endpoint,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Instrumenters\"}},[_c('el-select',{attrs:{\"value\":_vm.endpoint.instrumenters || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'instrumenters')}}},_vm._l((_vm.instrumentersOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Compile-time configuration:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Code reloader\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.code_reloader},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'code_reloader')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables code reloading functionality\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Debug errors\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.debug_errors},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'debug_errors')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables using \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Plug.Debugger\")]),_vm._v(\" functionality for debugging failures in the application.\\n Recommended to be set to true only in development as it allows listing of the application source code during debugging. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Render errors:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"View\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.render_errors.view},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'view')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Accepts\"}},[_c('el-select',{attrs:{\"value\":_vm.endpoint.render_errors.accepts || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'accepts')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Layout\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.render_errors.layout},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'layout')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Runtime configuration:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Cache static manifest\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.cache_static_manifest},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'cache_static_manifest')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A path to a json manifest file that contains static files and their digested version.\\n This is typically set to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'priv/static/cache_manifest.json'\")]),_vm._v(\"\\n which is the file automatically generated by \"),_c('span',{staticClass:\"code\"},[_vm._v(\"mix phx.digest\")])])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"HTTP:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Configure HTTP server\"}},[_c('el-switch',{attrs:{\"value\":_vm.configureHttp},on:{\"change\":function($event){return _vm.showServerConfig($event, 'http')}}})],1),_vm._v(\" \"),(_vm.configureHttp)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Dispatch\"}},[_c('editor',{attrs:{\"height\":\"150\",\"width\":\"100%\",\"lang\":\"elixir\",\"theme\":\"chrome\"},model:{value:(_vm.editorContentHttp),callback:function ($$v) {_vm.editorContentHttp=$$v},expression:\"editorContentHttp\"}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"You can type in Elixir code here\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttp.port},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The port to run the server. Defaults to 4000 (http) and 4040 (https).\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"IP\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttp.ip,\"placeholder\":\"xxx.xxx.xxx.xx\"},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'ip')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The ip to bind the server to\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reference name\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttp.ref},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'ref')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The reference name to be used. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"plug.HTTP\")]),_vm._v(\" (http) and\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"plug.HTTPS\")]),_vm._v(\" (https). This is the value that needs to be given on shutdown.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Compress\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpointHttp.compress},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'compress')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Cowboy will attempt to compress the response body. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout in s\"}},[_c('el-input-number',{attrs:{\"value\":_vm.endpointHttp.timeout / 1000,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"input\":function($event){return _vm.processNestedData($event * 1000, 'Pleroma.Web.Endpoint', 'http', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"})],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"HTTPS:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Configure HTTPS server\"}},[_c('el-switch',{attrs:{\"value\":_vm.configureHttps},on:{\"change\":function($event){return _vm.showServerConfig($event, 'https')}}})],1),_vm._v(\" \"),(_vm.configureHttps)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Dispatch\"}},[_c('editor',{attrs:{\"height\":\"150\",\"width\":\"100%\",\"lang\":\"elixir\",\"theme\":\"chrome\"},model:{value:(_vm.editorContentHttps),callback:function ($$v) {_vm.editorContentHttps=$$v},expression:\"editorContentHttps\"}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"You can type in Elixir code here\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttps.port},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The port to run the server. Defaults to 4000 (http) and 4040 (https).\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"IP\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttps.ip,\"placeholder\":\"xxx.xxx.xxx.xx\"},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'ip')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The ip to bind the server to\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reference name\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttps.ref},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'https', 'ref')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The reference name to be used. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"plug.HTTP\")]),_vm._v(\" (http) and\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"plug.HTTPS\")]),_vm._v(\" (https). This is the value that needs to be given on shutdown.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Compress\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpointHttps.compress},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'compress')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Cowboy will attempt to compress the response body. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout in s\"}},[_c('el-input-number',{attrs:{\"value\":_vm.endpointHttps.timeout / 1000,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"input\":function($event){return _vm.processNestedData($event * 1000, 'Pleroma.Web.Endpoint', 'https', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"})],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Secret key base\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.secret_key_base},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'secret_key_base')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A secret key used as a base to generate secrets for encrypting and signing data. For example, cookies and tokens are signed by default, but they may also be encrypted if desired. Defaults to nil as it must be set per application\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Server\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.server},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'server')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When true, starts the web server when the endpoint supervision tree starts. Defaults to false. The \"),_c('span',{staticClass:\"code\"},[_vm._v(\"mix phx.server\")]),_vm._v(\" task automatically sets this to true.\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"URL:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Host\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.url.host},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'host')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The host without the scheme and a post (e.g \"),_c('span',{staticClass:\"code\"},[_vm._v(\"example.com\")]),_vm._v(\", not \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://example.com:2020\")]),_vm._v(\")\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scheme\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.url.scheme},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'scheme')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"e.g http, https\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.url.port},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'port')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Path\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.url.path},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'path')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Protocol\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.protocol},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'protocol')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Signing salt\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.signing_salt},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'signing_salt')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"PubSub:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Name\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.pubsub.name},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'pubsub', 'name')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Adapter\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.pubsub.adapter},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'pubsub', 'adapter')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Secure cookie flag\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.secure_cookie_flag},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'secure_cookie_flag')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Extra cookie attrs\"}},[_c('el-select',{attrs:{\"value\":_vm.endpoint.extra_cookie_attrs || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'extra_cookie_attrs')}}},_vm._l((_vm.extraCookieAttrsOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{staticClass:\"options-paragraph-container\"},[_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"Only common options are listed here. You can add more (all configuration options can be viewed\\n \"),_c('a',{attrs:{\"href\":\"https://hexdocs.pm/phoenix/Phoenix.Endpoint.html#module-dynamic-configuration\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"here\")]),_vm._v(\")\\n \")])]),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Esshd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Esshd.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form :label-width=\"labelWidth\">\n <el-form-item>\n <p class=\"expl\">Before enabling this you must:\n <ol class=\"esshd-list\">\n <li>Add <span class=\"code\">:esshd</span> to <span class=\"code\">mix.exs</span> as one of the\n <span class=\"code\">extra_applications</span>\n </li>\n <li>Generate host keys in your\n <span class=\"code\">priv</span> dir with\n <span class=\"code\">ssh-keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key</span>\n </li>\n </ol>\n </p>\n </el-form-item>\n </el-form>\n <el-form ref=\"enabled\" :model=\"enabled\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"enabled.value\" @change=\"updateSetting($event, 'enabled', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"privDir\" :model=\"privDir\" :label-width=\"labelWidth\">\n <el-form-item label=\"Priv dir\">\n <el-input :value=\"privDir.value\" @input=\"updateSetting($event, 'priv_dir', 'value')\"/>\n <p class=\"expl\">You can input relative path here</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"handler\" :model=\"handler\" :label-width=\"labelWidth\">\n <el-form-item label=\"Handler\">\n <el-input :value=\"handler.value\" @input=\"updateSetting($event, 'handler', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"port\" :model=\"port\" :label-width=\"labelWidth\">\n <el-form-item label=\"Port\">\n <el-input :value=\"port.value\" @input=\"updateSetting($event, 'port', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"passwordAuthenticator\" :model=\"passwordAuthenticator\" :label-width=\"labelWidth\">\n <el-form-item label=\"Password authenticator\">\n <el-input :value=\"passwordAuthenticator.value\" @input=\"updateSetting($event, 'password_authenticator', 'value')\"/>\n </el-form-item>\n <el-form-item>\n <p class=\"expl\">Feel free to adjust the priv_dir and port number.\n Then you will have to create the key for the keys (in the example <span class=\"code\">priv/ssh_keys</span>) and create the host keys with\n <span class=\"code\">ssh-keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key</span>.\n After restarting, you should be able to connect to your Pleroma instance with <span class=\"code\">ssh username@server -p $PORT</span>\n </p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Instance',\n computed: {\n ...mapGetters([\n 'enabled',\n 'handler',\n 'passwordAuthenticator',\n 'port',\n 'privDir'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n toggleEsshd(value) {\n this.$store.dispatch('ToggleEsshd', value)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Esshd.vue?vue&type=template&id=153bd8e4&\"\nimport script from \"./Esshd.vue?vue&type=script&lang=js&\"\nexport * from \"./Esshd.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Esshd.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Esshd.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{attrs:{\"label-width\":_vm.labelWidth}},[_c('el-form-item',[_c('p',{staticClass:\"expl\"},[_vm._v(\"Before enabling this you must:\\n \"),_c('ol',{staticClass:\"esshd-list\"},[_c('li',[_vm._v(\"Add \"),_c('span',{staticClass:\"code\"},[_vm._v(\":esshd\")]),_vm._v(\" to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"mix.exs\")]),_vm._v(\" as one of the\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"extra_applications\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"Generate host keys in your\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"priv\")]),_vm._v(\" dir with\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"ssh-keygen -m PEM -N \\\"\\\" -b 2048 -t rsa -f ssh_host_rsa_key\")])])])])])],1),_vm._v(\" \"),_c('el-form',{ref:\"enabled\",attrs:{\"model\":_vm.enabled,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.enabled.value},on:{\"change\":function($event){return _vm.updateSetting($event, 'enabled', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"privDir\",attrs:{\"model\":_vm.privDir,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Priv dir\"}},[_c('el-input',{attrs:{\"value\":_vm.privDir.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'priv_dir', 'value')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"You can input relative path here\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"handler\",attrs:{\"model\":_vm.handler,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Handler\"}},[_c('el-input',{attrs:{\"value\":_vm.handler.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'handler', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"port\",attrs:{\"model\":_vm.port,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.port.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'port', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"passwordAuthenticator\",attrs:{\"model\":_vm.passwordAuthenticator,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Password authenticator\"}},[_c('el-input',{attrs:{\"value\":_vm.passwordAuthenticator.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'password_authenticator', 'value')}}})],1),_vm._v(\" \"),_c('el-form-item',[_c('p',{staticClass:\"expl\"},[_vm._v(\"Feel free to adjust the priv_dir and port number.\\n Then you will have to create the key for the keys (in the example \"),_c('span',{staticClass:\"code\"},[_vm._v(\"priv/ssh_keys\")]),_vm._v(\") and create the host keys with\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"ssh-keygen -m PEM -N \\\"\\\" -b 2048 -t rsa -f ssh_host_rsa_key\")]),_vm._v(\".\\n After restarting, you should be able to connect to your Pleroma instance with \"),_c('span',{staticClass:\"code\"},[_vm._v(\"ssh username@server -p $PORT\")])])]),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Frontend.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Frontend.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"frontend\" :model=\"frontend\" :label-width=\"labelWidth\">\n <el-form-item>\n <p class=\"expl\">This form can be used to configure a keyword list that keeps the configuration data for any kind of frontend.\n By default, settings for <span class=\"code\">pleroma_fe</span> and <span class=\"code\">masto_fe</span> are configured.\n If you want to add your own configuration your settings need to be complete as they will override the defaults.</p>\n </el-form-item>\n <el-form-item label=\"Pleroma FE:\"/>\n <el-form-item label=\"Theme\">\n <el-select :value=\"frontend.pleroma_fe.theme\" clearable @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'theme')\">\n <el-option\n v-for=\"item in themeOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">Which theme to use</p>\n </el-form-item>\n <el-form-item label=\"Background\">\n <el-input :value=\"frontend.pleroma_fe.background\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'background')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendBackgroundPleroma\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">URL of the background, unless viewing a user profile with a background that is set</p>\n </el-form-item>\n <el-form-item label=\"Logo\">\n <el-input :value=\"frontend.pleroma_fe.logo\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logo')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendLogoPleroma\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">URL of the logo</p>\n </el-form-item>\n <el-form-item label=\"Logo mask\">\n <el-switch :value=\"frontend.pleroma_fe.logoMask\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logoMask')\"/>\n <p class=\"expl\">Whether to use only the logo's shape as a mask (true) or as a regular image (false)</p>\n </el-form-item>\n <el-form-item label=\"Logo margin (em)\">\n <el-input-number :value=\"frontend.pleroma_fe.logoMargin\" :step=\"0.1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logoMargin')\"/>\n <p class=\"expl\">What margin to use around the logo</p>\n </el-form-item>\n <el-form-item label=\"Redirect URL\">\n <el-input :value=\"frontend.pleroma_fe.redirectRootNoLogin\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'redirectRootNoLogin')\"/>\n <p class=\"expl\">Relative URL which indicates where to redirect when a user is logged in</p>\n </el-form-item>\n <el-form-item label=\"Redirect for anonymous user\">\n <el-input :value=\"frontend.pleroma_fe.redirectRootLogin\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'redirectRootLogin')\"/>\n <p class=\"expl\">Relative URL which indicates where to redirect when a user isn’t logged in</p>\n </el-form-item>\n <el-form-item label=\"Show instance panel\">\n <el-switch :value=\"frontend.pleroma_fe.showInstanceSpecificPanel\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'showInstanceSpecificPanel')\"/>\n <p class=\"expl\">Whenether to show the instance’s specific panel</p>\n </el-form-item>\n <el-form-item label=\"Scope options enabled\">\n <el-switch :value=\"frontend.pleroma_fe.scopeOptionsEnabled\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'scopeOptionsEnabled')\"/>\n </el-form-item>\n <el-form-item label=\"Formatting options enabled\">\n <el-switch :value=\"frontend.pleroma_fe.formattingOptionsEnabled\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'formattingOptionsEnabled')\"/>\n </el-form-item>\n <el-form-item label=\"Collapse msg with subject\">\n <el-switch :value=\"frontend.pleroma_fe.collapseMessageWithSubject\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'collapseMessageWithSubject')\"/>\n <p class=\"expl\">When a message has a subject (aka Content Warning), collapse it by default</p>\n </el-form-item>\n <el-form-item label=\"Scope copy\">\n <el-switch :value=\"frontend.pleroma_fe.scopeCopy\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'scopeCopy')\"/>\n <p class=\"expl\">Copy the scope <span class=\"code\">(private/unlisted/public)</span> in replies to posts by default</p>\n </el-form-item>\n <el-form-item label=\"Subject line behavior\">\n <el-select :value=\"frontend.pleroma_fe.subjectLineBehavior\" clearable @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'subjectLineBehavior')\">\n <el-option label=\"Email\" value=\"email\">Email / Copy and preprend re:, as in email</el-option>\n <el-option label=\"Masto\" value=\"masto\">Masto / Copy verbatim, as in Mastodon</el-option>\n <el-option label=\"Noop\" value=\"noop\">Noop / Don't copy the subject</el-option>\n </el-select>\n <p class=\"expl\">Allows changing the default behaviour of subject lines in replies</p>\n </el-form-item>\n <el-form-item label=\"Post content type\">\n <el-input :value=\"frontend.pleroma_fe.postContentType\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'postContentType')\"/>\n </el-form-item>\n <el-form-item label=\"Always show subject input\">\n <el-switch :value=\"frontend.pleroma_fe.alwaysShowSubjectInput\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'alwaysShowSubjectInput')\"/>\n <p class=\"expl\">When set to false, auto-hide the subject field when it's empty</p>\n </el-form-item>\n <el-form-item label=\"Hide post statistics\">\n <el-switch :value=\"frontend.pleroma_fe.hidePostStats\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'hidePostStats')\"/>\n <p class=\"expl\">Hide notices statistics(repeats, favorites, …)</p>\n </el-form-item>\n <el-form-item label=\"Hide user statistics\">\n <el-switch :value=\"frontend.pleroma_fe.hideUserStats\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'hideUserStats')\"/>\n <p class=\"expl\">Hide profile statistics(posts, posts per day, followers, followings, …)</p>\n </el-form-item>\n <el-form-item label=\"Login method\">\n <el-input :value=\"frontend.pleroma_fe.loginMethod\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'loginMethod')\"/>\n </el-form-item>\n <el-form-item label=\"Web push notifications\">\n <el-switch :value=\"frontend.pleroma_fe.webPushNotifications\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'webPushNotifications')\"/>\n </el-form-item>\n <el-form-item label=\"No attachment links\">\n <el-switch :value=\"frontend.pleroma_fe.noAttachmentLinks\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'noAttachmentLinks')\"/>\n </el-form-item>\n <el-form-item label=\"NSFW Censor image\">\n <el-input :value=\"frontend.pleroma_fe.nsfwCensorImage\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'nsfwCensorImage')\"/>\n </el-form-item>\n <el-form-item label=\"Show features panel\">\n <el-switch :value=\"frontend.pleroma_fe.showFeaturesPanel\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'showFeaturesPanel')\"/>\n </el-form-item>\n <el-form-item label=\"Minimal scopes mode\">\n <el-switch :value=\"frontend.pleroma_fe.minimalScopesMode\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'minimalScopesMode')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Masto FE:\"/>\n <el-form-item label=\"Theme\">\n <el-select :value=\"frontend.masto_fe.theme\" clearable @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'theme')\">\n <el-option\n v-for=\"item in themeOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">Which theme to use</p>\n </el-form-item>\n <el-form-item label=\"Background\">\n <el-input :value=\"frontend.masto_fe.background\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'background')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendBackgroundMasto\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">URL of the background, unless viewing a user profile with a background that is set</p>\n </el-form-item>\n <el-form-item label=\"Logo\">\n <el-input :value=\"frontend.masto_fe.logo\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'logo')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendLogoMasto\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">URL of the logo</p>\n </el-form-item>\n <el-form-item label=\"Logo mask\">\n <el-switch :value=\"frontend.masto_fe.logoMask\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'logoMask')\"/>\n <p class=\"expl\">Whether to use only the logo's shape as a mask (true) or as a regular image (false)</p>\n </el-form-item>\n <el-form-item label=\"Logo margin (em)\">\n <el-input-number :value=\"frontend.masto_fe.logoMargin\" :step=\"0.1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'logoMargin')\"/>\n <p class=\"expl\">What margin to use around the logo</p>\n </el-form-item>\n <el-form-item label=\"Redirect URL\">\n <el-input :value=\"frontend.masto_fe.redirectRootNoLogin\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'redirectRootNoLogin')\"/>\n <p class=\"expl\">Relative URL which indicates where to redirect when a user is logged in</p>\n </el-form-item>\n <el-form-item label=\"Redirect for anonymous user\">\n <el-input :value=\"frontend.masto_fe.redirectRootLogin\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'redirectRootLogin')\"/>\n <p class=\"expl\">Relative URL which indicates where to redirect when a user isn’t logged in</p>\n </el-form-item>\n <el-form-item label=\"Show instance panel\">\n <el-switch :value=\"frontend.masto_fe.showInstanceSpecificPanel\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'showInstanceSpecificPanel')\"/>\n <p class=\"expl\">Whenether to show the instance’s specific panel</p>\n </el-form-item>\n <el-form-item label=\"Scope options enabled\">\n <el-switch :value=\"frontend.masto_fe.scopeOptionsEnabled\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'scopeOptionsEnabled')\"/>\n </el-form-item>\n <el-form-item label=\"Formatting options enabled\">\n <el-switch :value=\"frontend.masto_fe.formattingOptionsEnabled\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'formattingOptionsEnabled')\"/>\n </el-form-item>\n <el-form-item label=\"Collapse msg with subjects\">\n <el-switch :value=\"frontend.masto_fe.collapseMessageWithSubject\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'collapseMessageWithSubject')\"/>\n <p class=\"expl\">When a message has a subject (aka Content Warning), collapse it by default</p>\n </el-form-item>\n <el-form-item label=\"Scope copy\">\n <el-switch :value=\"frontend.masto_fe.scopeCopy\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'scopeCopy')\"/>\n <p class=\"expl\">Copy the scope <span class=\"code\">(private/unlisted/public)</span> in replies to posts by default</p>\n </el-form-item>\n <el-form-item label=\"Subject line behavior\">\n <el-select :value=\"frontend.masto_fe.subjectLineBehavior\" clearable @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'subjectLineBehavior')\">\n <el-option label=\"Email\" value=\"email\">Email / Copy and preprend re:, as in email</el-option>\n <el-option label=\"Masto\" value=\"masto\">Masto / Copy verbatim, as in Mastodon</el-option>\n <el-option label=\"Noop\" value=\"noop\">Noop / Don't copy the subject</el-option>\n </el-select>\n <p class=\"expl\">Allows changing the default behaviour of subject lines in replies</p>\n </el-form-item>\n <el-form-item label=\"Post content type\">\n <el-input :value=\"frontend.masto_fe.postContentType\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'postContentType')\"/>\n </el-form-item>\n <el-form-item label=\"Always show subject input\">\n <el-switch :value=\"frontend.masto_fe.alwaysShowSubjectInput\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'alwaysShowSubjectInput')\"/>\n <p class=\"expl\">When set to false, auto-hide the subject field when it's empty</p>\n </el-form-item>\n <el-form-item label=\"Hide post statistics\">\n <el-switch :value=\"frontend.masto_fe.hidePostStats\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'hidePostStats')\"/>\n <p class=\"expl\">Hide notices statistics(repeats, favorites, …)</p>\n </el-form-item>\n <el-form-item label=\"Hide user statistics\">\n <el-switch :value=\"frontend.masto_fe.hideUserStats\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'hideUserStats')\"/>\n <p class=\"expl\">Hide profile statistics(posts, posts per day, followers, followings, …)</p>\n </el-form-item>\n <el-form-item label=\"Login method\">\n <el-input :value=\"frontend.masto_fe.loginMethod\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'loginMethod')\"/>\n </el-form-item>\n <el-form-item label=\"Web push notifications\">\n <el-switch :value=\"frontend.masto_fe.webPushNotifications\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'webPushNotifications')\"/>\n </el-form-item>\n <el-form-item label=\"No attachment links\">\n <el-switch :value=\"frontend.masto_fe.noAttachmentLinks\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'noAttachmentLinks')\"/>\n </el-form-item>\n <el-form-item label=\"NSFW Censor image\">\n <el-input :value=\"frontend.masto_fe.nsfwCensorImage\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'nsfwCensorImage')\"/>\n </el-form-item>\n <el-form-item label=\"Show features panel\">\n <el-switch :value=\"frontend.masto_fe.showFeaturesPanel\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'showFeaturesPanel')\"/>\n </el-form-item>\n <el-form-item label=\"Minimal scopes mode\">\n <el-switch :value=\"frontend.masto_fe.minimalScopesMode\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'minimalScopesMode')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"assets\" :model=\"assets\" :label-width=\"labelWidth\">\n <el-form-item label=\"Assets:\"/>\n <el-form-item label=\"Default mascot\">\n <el-select :value=\"assets.default_mascot\" clearable @change=\"updateSetting($event, 'assets', 'default_mascot')\"/>\n <p class=\"expl\">An element from mascots - This will be used as the default mascot on MastoFE\n (default: <span class=\"code\">:pleroma_fox_tan</span>)</p>\n </el-form-item>\n <el-form-item label=\"Mascots\">\n <div v-for=\"([name, url, mimeType], index) in mascots\" :key=\"index\" class=\"mascot-container\">\n <div class=\"mascot-name-container\">\n <el-input :value=\"name\" placeholder=\"Name\" class=\"mascot-name-input\" @input=\"parseMascots($event, 'name', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteMascotsRow(index, 'emoji', 'groups')\"/>\n </div>\n <el-input :value=\"url\" placeholder=\"URL\" class=\"mascot-input\" @input=\"parseMascots($event, 'url', index)\"/>\n <el-input :value=\"mimeType\" placeholder=\"Mime type\" class=\"mascot-input\" @input=\"parseMascots($event, 'mimeType', index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addRowToMascots\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"emoji\" :model=\"emoji\" :label-width=\"labelWidth\">\n <el-form-item label=\"Emoji:\"/>\n <el-form-item label=\"Location of emoji files\">\n <el-select :value=\"emoji.shortcode_globs || []\" multiple filterable allow-create @change=\"updateSetting($event, 'emoji', 'shortcode_globs')\">\n <el-option label=\"/emoji/custom/**/*.png\" value=\"/emoji/custom/**/*.png\"/>\n </el-select>\n <p class=\"expl\">Location of custom emoji files. <span class=\"code\">*</span> can be used as a wildcard.</p>\n </el-form-item>\n <el-form-item label=\"Pack extensions\">\n <el-select :value=\"emoji.pack_extensions || []\" multiple filterable allow-create @change=\"updateSetting($event, 'emoji', 'pack_extensions')\"/>\n <p class=\"expl\">A list of file extensions for emojis, when no <span class=\"code\">emoji.txt</span> for a pack is present. </p>\n </el-form-item>\n <el-form-item label=\"Group\">\n <div v-for=\"([key, value], index) in groups\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"key\" placeholder=\"key\" class=\"name-input\" @input=\"parseGroups($event, 'key', index)\"/> :\n <el-select :value=\"value\" multiple filterable allow-create class=\"value-input\" @change=\"parseGroups($event, 'value', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteGroupsRow(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addRowToGroups\"/>\n </el-form-item>\n <el-form-item label=\"Location of JSON-manifest\">\n <el-input :value=\"emoji.default_manifest\" @input=\"updateSetting($event, 'emoji', 'default_manifest')\"/>\n <p class=\"expl\">Location of the JSON-manifest. This manifest contains information about the emoji-packs you can download. Currently only one manifest can be added (no arrays).</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"chat\" :model=\"chat\" :label-width=\"labelWidth\">\n <el-form-item label=\"Chat enabled\">\n <el-switch :value=\"chat.enabled\" @input=\"updateSetting($event, 'chat', 'enabled')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"markup\" :model=\"markup\" :label-width=\"labelWidth\">\n <el-form-item label=\"Markup settings:\"/>\n <el-form-item label=\"Allow inline images\">\n <el-switch :value=\"markup.allow_inline_images\" @input=\"updateSetting($event, 'markup', 'allow_inline_images')\"/>\n </el-form-item>\n <el-form-item label=\"Allow headings\">\n <el-switch :value=\"markup.allow_headings\" @input=\"updateSetting($event, 'markup', 'allow_headings')\"/>\n </el-form-item>\n <el-form-item label=\"Allow tables\">\n <el-switch :value=\"markup.allow_tables\" @input=\"updateSetting($event, 'markup', 'allow_tables')\"/>\n </el-form-item>\n <el-form-item label=\"Allow fonts\">\n <el-switch :value=\"markup.allow_fonts\" @input=\"updateSetting($event, 'markup', 'allow_fonts')\"/>\n </el-form-item>\n <el-form-item label=\"Scrub policy\">\n <el-select :value=\"markup.scrub_policy || []\" multiple filterable allow-create @change=\"updateSetting($event, 'markup', 'scrub_policy')\">\n <el-option label=\"Pleroma.HTML.Transform.MediaProxy\" value=\"Pleroma.HTML.Transform.MediaProxy\"/>\n <el-option label=\"Pleroma.HTML.Scrubber.Default\" value=\"Pleroma.HTML.Scrubber.Default\"/>\n </el-select>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\nimport { options } from './options'\n\nexport default {\n name: 'Frontend',\n computed: {\n ...mapGetters([\n 'assets',\n 'frontend',\n 'emoji',\n 'chat',\n 'markup'\n ]),\n groups() {\n return Object.keys(this.emoji.groups).map(key => [key, this.emoji.groups[key]])\n },\n mascots() {\n return Object.keys(this.assets.mascots)\n .map(mascotName =>\n [mascotName, this.assets.mascots[mascotName].url, this.assets.mascots[mascotName].mime_type])\n },\n themeOptions() {\n return options.themeOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n addRowToGroups() {\n const updatedValue = this.groups.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting({ ...updatedValue, '': [] }, 'emoji', 'groups')\n },\n addRowToMascots() {\n const updatedValue = this.mascots.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: { url: el[1], mime_type: el[2] }}\n }, {})\n this.updateSetting({ ...updatedValue, '': { url: '', mime_type: '' }}, 'assets', 'mascots')\n },\n deleteGroupsRow(index) {\n const filteredValues = this.groups.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'emoji', 'groups')\n },\n deleteMascotsRow(index) {\n const filteredValues = this.mascots.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: { url: el[1], mime_type: el[2] }}\n }, {})\n this.updateSetting(updatedValue, 'assets', 'mascots')\n },\n parseGroups(value, inputType, index) {\n const updatedValue = this.groups.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'key' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'emoji', 'groups')\n },\n parseMascots(value, inputType, index) {\n const updatedValue = this.mascots.reduce((acc, el, i) => {\n if (index === i) {\n if (inputType === 'name') {\n return { ...acc, [value]: { url: el[1], mime_type: el[2] }}\n } else if (inputType === 'url') {\n return { ...acc, [el[0]]: { url: value, mime_type: el[2] }}\n } else {\n return { ...acc, [el[0]]: { url: el[1], mime_type: value }}\n }\n }\n return { ...acc, [el[0]]: { url: el[1], mime_type: el[2] }}\n }, {})\n this.updateSetting(updatedValue, 'assets', 'mascots')\n },\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n sendBackgroundMasto({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'frontend_configurations', inputName: 'masto_fe', childName: 'background' })\n },\n sendBackgroundPleroma({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'frontend_configurations', inputName: 'pleroma_fe', childName: 'background' })\n },\n sendLogoMasto({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'frontend_configurations', inputName: 'masto_fe', childName: 'logo' })\n },\n sendLogoPleroma({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'frontend_configurations', inputName: 'pleroma_fe', childName: 'logo' })\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Frontend.vue?vue&type=template&id=7f3ed65f&\"\nimport script from \"./Frontend.vue?vue&type=script&lang=js&\"\nexport * from \"./Frontend.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Frontend.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Frontend.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"frontend\",attrs:{\"model\":_vm.frontend,\"label-width\":_vm.labelWidth}},[_c('el-form-item',[_c('p',{staticClass:\"expl\"},[_vm._v(\"This form can be used to configure a keyword list that keeps the configuration data for any kind of frontend.\\n By default, settings for \"),_c('span',{staticClass:\"code\"},[_vm._v(\"pleroma_fe\")]),_vm._v(\" and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"masto_fe\")]),_vm._v(\" are configured.\\n If you want to add your own configuration your settings need to be complete as they will override the defaults.\")])]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pleroma FE:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Theme\"}},[_c('el-select',{attrs:{\"value\":_vm.frontend.pleroma_fe.theme,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'theme')}}},_vm._l((_vm.themeOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Which theme to use\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.background},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'background')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendBackgroundPleroma,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"URL of the background, unless viewing a user profile with a background that is set\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.logo},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logo')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendLogoPleroma,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"URL of the logo\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo mask\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.logoMask},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logoMask')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to use only the logo's shape as a mask (true) or as a regular image (false)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo margin (em)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.frontend.pleroma_fe.logoMargin,\"step\":0.1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logoMargin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"What margin to use around the logo\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect URL\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.redirectRootNoLogin},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'redirectRootNoLogin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Relative URL which indicates where to redirect when a user is logged in\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect for anonymous user\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.redirectRootLogin},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'redirectRootLogin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Relative URL which indicates where to redirect when a user isn’t logged in\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Show instance panel\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.showInstanceSpecificPanel},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'showInstanceSpecificPanel')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whenether to show the instance’s specific panel\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope options enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.scopeOptionsEnabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'scopeOptionsEnabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Formatting options enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.formattingOptionsEnabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'formattingOptionsEnabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Collapse msg with subject\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.collapseMessageWithSubject},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'collapseMessageWithSubject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When a message has a subject (aka Content Warning), collapse it by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope copy\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.scopeCopy},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'scopeCopy')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Copy the scope \"),_c('span',{staticClass:\"code\"},[_vm._v(\"(private/unlisted/public)\")]),_vm._v(\" in replies to posts by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Subject line behavior\"}},[_c('el-select',{attrs:{\"value\":_vm.frontend.pleroma_fe.subjectLineBehavior,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'subjectLineBehavior')}}},[_c('el-option',{attrs:{\"label\":\"Email\",\"value\":\"email\"}},[_vm._v(\"Email / Copy and preprend re:, as in email\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Masto\",\"value\":\"masto\"}},[_vm._v(\"Masto / Copy verbatim, as in Mastodon\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Noop\",\"value\":\"noop\"}},[_vm._v(\"Noop / Don't copy the subject\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows changing the default behaviour of subject lines in replies\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Post content type\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.postContentType},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'postContentType')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Always show subject input\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.alwaysShowSubjectInput},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'alwaysShowSubjectInput')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When set to false, auto-hide the subject field when it's empty\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hide post statistics\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.hidePostStats},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'hidePostStats')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hide notices statistics(repeats, favorites, …)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hide user statistics\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.hideUserStats},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'hideUserStats')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hide profile statistics(posts, posts per day, followers, followings, …)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Login method\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.loginMethod},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'loginMethod')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Web push notifications\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.webPushNotifications},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'webPushNotifications')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"No attachment links\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.noAttachmentLinks},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'noAttachmentLinks')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"NSFW Censor image\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.nsfwCensorImage},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'nsfwCensorImage')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Show features panel\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.showFeaturesPanel},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'showFeaturesPanel')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Minimal scopes mode\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.minimalScopesMode},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'minimalScopesMode')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Masto FE:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Theme\"}},[_c('el-select',{attrs:{\"value\":_vm.frontend.masto_fe.theme,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'theme')}}},_vm._l((_vm.themeOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Which theme to use\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.background},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'background')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendBackgroundMasto,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"URL of the background, unless viewing a user profile with a background that is set\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.logo},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'logo')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendLogoMasto,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"URL of the logo\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo mask\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.logoMask},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'logoMask')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to use only the logo's shape as a mask (true) or as a regular image (false)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo margin (em)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.frontend.masto_fe.logoMargin,\"step\":0.1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'logoMargin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"What margin to use around the logo\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect URL\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.redirectRootNoLogin},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'redirectRootNoLogin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Relative URL which indicates where to redirect when a user is logged in\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect for anonymous user\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.redirectRootLogin},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'redirectRootLogin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Relative URL which indicates where to redirect when a user isn’t logged in\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Show instance panel\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.showInstanceSpecificPanel},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'showInstanceSpecificPanel')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whenether to show the instance’s specific panel\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope options enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.scopeOptionsEnabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'scopeOptionsEnabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Formatting options enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.formattingOptionsEnabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'formattingOptionsEnabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Collapse msg with subjects\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.collapseMessageWithSubject},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'collapseMessageWithSubject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When a message has a subject (aka Content Warning), collapse it by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope copy\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.scopeCopy},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'scopeCopy')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Copy the scope \"),_c('span',{staticClass:\"code\"},[_vm._v(\"(private/unlisted/public)\")]),_vm._v(\" in replies to posts by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Subject line behavior\"}},[_c('el-select',{attrs:{\"value\":_vm.frontend.masto_fe.subjectLineBehavior,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'subjectLineBehavior')}}},[_c('el-option',{attrs:{\"label\":\"Email\",\"value\":\"email\"}},[_vm._v(\"Email / Copy and preprend re:, as in email\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Masto\",\"value\":\"masto\"}},[_vm._v(\"Masto / Copy verbatim, as in Mastodon\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Noop\",\"value\":\"noop\"}},[_vm._v(\"Noop / Don't copy the subject\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows changing the default behaviour of subject lines in replies\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Post content type\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.postContentType},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'postContentType')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Always show subject input\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.alwaysShowSubjectInput},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'alwaysShowSubjectInput')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When set to false, auto-hide the subject field when it's empty\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hide post statistics\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.hidePostStats},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'hidePostStats')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hide notices statistics(repeats, favorites, …)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hide user statistics\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.hideUserStats},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'hideUserStats')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hide profile statistics(posts, posts per day, followers, followings, …)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Login method\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.loginMethod},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'loginMethod')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Web push notifications\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.webPushNotifications},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'webPushNotifications')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"No attachment links\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.noAttachmentLinks},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'noAttachmentLinks')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"NSFW Censor image\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.nsfwCensorImage},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'nsfwCensorImage')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Show features panel\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.showFeaturesPanel},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'showFeaturesPanel')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Minimal scopes mode\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.minimalScopesMode},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'minimalScopesMode')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"assets\",attrs:{\"model\":_vm.assets,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Assets:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Default mascot\"}},[_c('el-select',{attrs:{\"value\":_vm.assets.default_mascot,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'assets', 'default_mascot')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"An element from mascots - This will be used as the default mascot on MastoFE\\n (default: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":pleroma_fox_tan\")]),_vm._v(\")\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Mascots\"}},[_vm._l((_vm.mascots),function(ref,index){\nvar name = ref[0];\nvar url = ref[1];\nvar mimeType = ref[2];\nreturn _c('div',{key:index,staticClass:\"mascot-container\"},[_c('div',{staticClass:\"mascot-name-container\"},[_c('el-input',{staticClass:\"mascot-name-input\",attrs:{\"value\":name,\"placeholder\":\"Name\"},on:{\"input\":function($event){return _vm.parseMascots($event, 'name', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteMascotsRow(index, 'emoji', 'groups')}}})],1),_vm._v(\" \"),_c('el-input',{staticClass:\"mascot-input\",attrs:{\"value\":url,\"placeholder\":\"URL\"},on:{\"input\":function($event){return _vm.parseMascots($event, 'url', index)}}}),_vm._v(\" \"),_c('el-input',{staticClass:\"mascot-input\",attrs:{\"value\":mimeType,\"placeholder\":\"Mime type\"},on:{\"input\":function($event){return _vm.parseMascots($event, 'mimeType', index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addRowToMascots}})],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"emoji\",attrs:{\"model\":_vm.emoji,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Emoji:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Location of emoji files\"}},[_c('el-select',{attrs:{\"value\":_vm.emoji.shortcode_globs || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'emoji', 'shortcode_globs')}}},[_c('el-option',{attrs:{\"label\":\"/emoji/custom/**/*.png\",\"value\":\"/emoji/custom/**/*.png\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Location of custom emoji files. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"*\")]),_vm._v(\" can be used as a wildcard.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pack extensions\"}},[_c('el-select',{attrs:{\"value\":_vm.emoji.pack_extensions || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'emoji', 'pack_extensions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of file extensions for emojis, when no \"),_c('span',{staticClass:\"code\"},[_vm._v(\"emoji.txt\")]),_vm._v(\" for a pack is present. \")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Group\"}},[_vm._l((_vm.groups),function(ref,index){\nvar key = ref[0];\nvar value = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":key,\"placeholder\":\"key\"},on:{\"input\":function($event){return _vm.parseGroups($event, 'key', index)}}}),_vm._v(\" :\\n \"),_c('el-select',{staticClass:\"value-input\",attrs:{\"value\":value,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.parseGroups($event, 'value', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteGroupsRow(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addRowToGroups}})],2),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Location of JSON-manifest\"}},[_c('el-input',{attrs:{\"value\":_vm.emoji.default_manifest},on:{\"input\":function($event){return _vm.updateSetting($event, 'emoji', 'default_manifest')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Location of the JSON-manifest. This manifest contains information about the emoji-packs you can download. Currently only one manifest can be added (no arrays).\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"chat\",attrs:{\"model\":_vm.chat,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Chat enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.chat.enabled},on:{\"input\":function($event){return _vm.updateSetting($event, 'chat', 'enabled')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"markup\",attrs:{\"model\":_vm.markup,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Markup settings:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow inline images\"}},[_c('el-switch',{attrs:{\"value\":_vm.markup.allow_inline_images},on:{\"input\":function($event){return _vm.updateSetting($event, 'markup', 'allow_inline_images')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow headings\"}},[_c('el-switch',{attrs:{\"value\":_vm.markup.allow_headings},on:{\"input\":function($event){return _vm.updateSetting($event, 'markup', 'allow_headings')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow tables\"}},[_c('el-switch',{attrs:{\"value\":_vm.markup.allow_tables},on:{\"input\":function($event){return _vm.updateSetting($event, 'markup', 'allow_tables')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow fonts\"}},[_c('el-switch',{attrs:{\"value\":_vm.markup.allow_fonts},on:{\"input\":function($event){return _vm.updateSetting($event, 'markup', 'allow_fonts')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scrub policy\"}},[_c('el-select',{attrs:{\"value\":_vm.markup.scrub_policy || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'markup', 'scrub_policy')}}},[_c('el-option',{attrs:{\"label\":\"Pleroma.HTML.Transform.MediaProxy\",\"value\":\"Pleroma.HTML.Transform.MediaProxy\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Pleroma.HTML.Scrubber.Default\",\"value\":\"Pleroma.HTML.Scrubber.Default\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gopher.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gopher.vue?vue&type=script&lang=js&\"","<template>\n <el-form ref=\"gopher\" :model=\"gopher\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"gopher.enabled\" @change=\"updateSetting($event, 'gopher', 'enabled')\"/>\n <p class=\"expl\">Enables the gopher interface</p>\n </el-form-item>\n <el-form-item label=\"IP address\">\n <el-input :value=\"gopher.ip\" placeholder=\"xxx.xxx.xxx.xx\" @input=\"updateSetting($event, 'gopher', 'ip')\"/>\n <p class=\"expl\">Enables the gopher interface</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"gopher.port\" @input=\"updateSetting($event, 'gopher', 'port')\"/>\n <p class=\"expl\">Port to bind to</p>\n </el-form-item>\n <el-form-item label=\"Dst port\">\n <el-input :value=\"gopher.dstport\" @input=\"updateSetting($event, 'gopher', 'dstport')\"/>\n <p class=\"expl\">Port advertised in urls (optional, defaults to port)</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Gopher',\n computed: {\n ...mapGetters([\n 'gopher'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Gopher.vue?vue&type=template&id=158af078&\"\nimport script from \"./Gopher.vue?vue&type=script&lang=js&\"\nexport * from \"./Gopher.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Gopher.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Gopher.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"gopher\",attrs:{\"model\":_vm.gopher,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.gopher.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'gopher', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables the gopher interface\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"IP address\"}},[_c('el-input',{attrs:{\"value\":_vm.gopher.ip,\"placeholder\":\"xxx.xxx.xxx.xx\"},on:{\"input\":function($event){return _vm.updateSetting($event, 'gopher', 'ip')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables the gopher interface\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.gopher.port},on:{\"input\":function($event){return _vm.updateSetting($event, 'gopher', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Port to bind to\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Dst port\"}},[_c('el-input',{attrs:{\"value\":_vm.gopher.dstport},on:{\"input\":function($event){return _vm.updateSetting($event, 'gopher', 'dstport')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Port advertised in urls (optional, defaults to port)\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Http.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Http.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"http\" :model=\"http\" :label-width=\"labelWidth\">\n <el-form-item label=\"HTTP settings:\"/>\n <el-form-item label=\"Proxy url\">\n <el-input :value=\"http.proxy_url\" @input=\"updateSetting($event, 'http', 'proxy_url')\"/>\n </el-form-item>\n <el-form-item label=\"Send user agent\">\n <el-switch :value=\"http.send_user_agent\" @change=\"updateSetting($event, 'http', 'send_user_agent')\"/>\n </el-form-item>\n <el-form-item label=\"Adapter:\"/>\n <el-form-item label=\"Versions\">\n <el-select :value=\"http.adapter.versions || []\" multiple filterable allow-create @change=\"processNestedData($event, 'http', 'adapter', 'versions')\">\n <el-option value=\":tlsv1\"/>\n <el-option value=\":'tlsv1.1'\"/>\n <el-option value=\":'tlsv1.2'\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"corsPlugMaxAge\" :model=\"corsPlugMaxAge\" :label-width=\"labelWidth\">\n <el-form-item label=\"Cors plug config:\"/>\n <el-form-item label=\"Max age (days)\">\n <el-input-number :value=\"corsPlugMaxAge.value / 86400\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 86400, 'max_age', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"corsPlugMethods\" :model=\"corsPlugMethods\" :label-width=\"labelWidth\">\n <el-form-item label=\"Methods\">\n <el-select :value=\"corsPlugMethods.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'methods', 'value')\">\n <el-option value=\"POST\"/>\n <el-option value=\"PUT\"/>\n <el-option value=\"DELETE\"/>\n <el-option value=\"GET\"/>\n <el-option value=\"PATCH\"/>\n <el-option value=\"OPTIONS\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <el-form ref=\"corsPlugExpose\" :model=\"corsPlugExpose\" :label-width=\"labelWidth\">\n <el-form-item label=\"Expose\">\n <el-select :value=\"corsPlugExpose.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'expose', 'value')\">\n <el-option value=\"Link\"/>\n <el-option value=\"X-RateLimit-Reset\"/>\n <el-option value=\"X-RateLimit-Limit\"/>\n <el-option value=\"X-RateLimit-Remaining\"/>\n <el-option value=\"X-Request-Id\"/>\n <el-option value=\"Idempotency-Key\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <el-form ref=\"corsPlugCredentials\" :model=\"corsPlugCredentials\" :label-width=\"labelWidth\">\n <el-form-item label=\"Credentials\">\n <el-switch :value=\"corsPlugCredentials.value\" @change=\"updateSetting($event, 'credentials', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"corsPlugHeaders\" :model=\"corsPlugHeaders\" :label-width=\"labelWidth\">\n <el-form-item label=\"Headers\">\n <el-select :value=\"corsPlugHeaders.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'headers', 'value')\">\n <el-option value=\"Authorization\"/>\n <el-option value=\"Content-Type\"/>\n <el-option value=\"Idempotency-Key\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"httpSecurity\" :model=\"httpSecurity\" :label-width=\"labelWidth\">\n <el-form-item label=\"HTTP security:\"/>\n <el-form-item label=\"Security policy\">\n <el-switch :value=\"httpSecurity.enabled\" @change=\"updateSetting($event, 'http_security', 'enabled')\"/>\n <p class=\"expl\">Whether the managed content security policy is enabled</p>\n </el-form-item>\n <el-form-item label=\"STS\">\n <el-switch :value=\"httpSecurity.sts\" @change=\"updateSetting($event, 'http_security', 'sts')\"/>\n <p class=\"expl\">Whether to additionally send a <span class=\"code\">Strict-Transport-Security header</span></p>\n </el-form-item>\n <el-form-item label=\"STS max age (days)\">\n <el-input-number :value=\"httpSecurity.sts_max_age / 86400\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 86400, 'http_security', 'sts_max_age')\"/>\n <p class=\"expl\">The maximum age for the <span class=\"code\">Strict-Transport-Security</span> header if sent</p>\n </el-form-item>\n <el-form-item label=\"CT max age (days)\">\n <el-input-number :value=\"httpSecurity.ct_max_age / 86400\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 86400, 'http_security', 'ct_max_age')\"/>\n <p class=\"expl\">The maximum age for the <span class=\"code\">Expect-CT</span> header if sent</p>\n </el-form-item>\n <el-form-item label=\"Referrer policy\">\n <el-select :value=\"httpSecurity.referrer_policy\" clearable @change=\"updateSetting($event, 'http_security', 'referrer_policy')\">\n <el-option label=\"same-origin\" value=\"same-origin\"/>\n <el-option label=\"no-referrer\" value=\"no-referrer\"/>\n </el-select>\n <p class=\"expl\">The referrer policy to use</p>\n </el-form-item>\n <el-form-item label=\"Report URI\">\n <el-input :value=\"httpSecurity.report_uri\" @input=\"updateSetting($event, 'http_security', 'report_uri')\"/>\n <p class=\"expl\">Adds the specified url to <span class=\"code\">report-uri</span> and <span class=\"code\">report-to</span> group in CSP header</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"hackneyPools\" :model=\"hackneyPools\" :label-width=\"labelWidth\">\n <div class=\"line\"/>\n <el-form-item label=\"Hackney pools:\"/>\n <el-form-item label=\"Federation:\"/>\n <el-form-item label=\"Max connections\">\n <el-input-number :value=\"hackneyPools.federation.max_connections\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'hackney_pools', 'federation', 'max_connections')\"/>\n <p class=\"expl\">You may want this pool <span class=\"code\">max_connections</span> to be at least equal to the number of federator jobs + retry queue jobs.</p>\n </el-form-item>\n <el-form-item label=\"Timeout (s)\">\n <el-input-number :value=\"hackneyPools.federation.timeout / 1000\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1000, 'hackney_pools', 'federation', 'timeout')\"/>\n <p class=\"expl\">For the federation jobs</p>\n </el-form-item>\n <el-form-item label=\"Media:\"/>\n <el-form-item label=\"Max connections\">\n <el-input-number :value=\"hackneyPools.media.max_connections\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'hackney_pools', 'media', 'max_connections')\"/>\n </el-form-item>\n <el-form-item label=\"Timeout (s)\">\n <el-input-number :value=\"hackneyPools.media.timeout / 1000\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1000, 'hackney_pools', 'media', 'timeout')\"/>\n <p class=\"expl\">For rich media, media proxy</p>\n </el-form-item>\n <el-form-item label=\"Upload:\"/>\n <el-form-item label=\"Max connections\">\n <el-input-number :value=\"hackneyPools.upload.max_connections\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'hackney_pools', 'upload', 'max_connections')\"/>\n </el-form-item>\n <el-form-item label=\"Timeout (s)\">\n <el-input-number :value=\"hackneyPools.upload.timeout / 1000\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1000, 'hackney_pools', 'upload', 'timeout')\"/>\n <p class=\"expl\">For uploaded media (if using a remote uploader and <span class=\"code\">proxy_remote: true</span>)</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'HTTP',\n computed: {\n ...mapGetters([\n 'corsPlugCredentials',\n 'corsPlugExpose',\n 'corsPlugHeaders',\n 'corsPlugMaxAge',\n 'corsPlugMethods',\n 'hackneyPools',\n 'http',\n 'httpSecurity',\n 'metricsExporter'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Http.vue?vue&type=template&id=37489e24&\"\nimport script from \"./Http.vue?vue&type=script&lang=js&\"\nexport * from \"./Http.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Http.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Http.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"http\",attrs:{\"model\":_vm.http,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"HTTP settings:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Proxy url\"}},[_c('el-input',{attrs:{\"value\":_vm.http.proxy_url},on:{\"input\":function($event){return _vm.updateSetting($event, 'http', 'proxy_url')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Send user agent\"}},[_c('el-switch',{attrs:{\"value\":_vm.http.send_user_agent},on:{\"change\":function($event){return _vm.updateSetting($event, 'http', 'send_user_agent')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Adapter:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Versions\"}},[_c('el-select',{attrs:{\"value\":_vm.http.adapter.versions || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'http', 'adapter', 'versions')}}},[_c('el-option',{attrs:{\"value\":\":tlsv1\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":'tlsv1.1'\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":'tlsv1.2'\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugMaxAge\",attrs:{\"model\":_vm.corsPlugMaxAge,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Cors plug config:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max age (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.corsPlugMaxAge.value / 86400,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 86400, 'max_age', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugMethods\",attrs:{\"model\":_vm.corsPlugMethods,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Methods\"}},[_c('el-select',{attrs:{\"value\":_vm.corsPlugMethods.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'methods', 'value')}}},[_c('el-option',{attrs:{\"value\":\"POST\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"PUT\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"DELETE\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"GET\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"PATCH\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"OPTIONS\"}})],1)],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugExpose\",attrs:{\"model\":_vm.corsPlugExpose,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Expose\"}},[_c('el-select',{attrs:{\"value\":_vm.corsPlugExpose.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'expose', 'value')}}},[_c('el-option',{attrs:{\"value\":\"Link\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"X-RateLimit-Reset\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"X-RateLimit-Limit\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"X-RateLimit-Remaining\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"X-Request-Id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Idempotency-Key\"}})],1)],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugCredentials\",attrs:{\"model\":_vm.corsPlugCredentials,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Credentials\"}},[_c('el-switch',{attrs:{\"value\":_vm.corsPlugCredentials.value},on:{\"change\":function($event){return _vm.updateSetting($event, 'credentials', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugHeaders\",attrs:{\"model\":_vm.corsPlugHeaders,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Headers\"}},[_c('el-select',{attrs:{\"value\":_vm.corsPlugHeaders.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'headers', 'value')}}},[_c('el-option',{attrs:{\"value\":\"Authorization\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Content-Type\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Idempotency-Key\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"httpSecurity\",attrs:{\"model\":_vm.httpSecurity,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"HTTP security:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Security policy\"}},[_c('el-switch',{attrs:{\"value\":_vm.httpSecurity.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'http_security', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether the managed content security policy is enabled\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"STS\"}},[_c('el-switch',{attrs:{\"value\":_vm.httpSecurity.sts},on:{\"change\":function($event){return _vm.updateSetting($event, 'http_security', 'sts')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to additionally send a \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Strict-Transport-Security header\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"STS max age (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.httpSecurity.sts_max_age / 86400,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 86400, 'http_security', 'sts_max_age')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum age for the \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Strict-Transport-Security\")]),_vm._v(\" header if sent\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"CT max age (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.httpSecurity.ct_max_age / 86400,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 86400, 'http_security', 'ct_max_age')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum age for the \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Expect-CT\")]),_vm._v(\" header if sent\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Referrer policy\"}},[_c('el-select',{attrs:{\"value\":_vm.httpSecurity.referrer_policy,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'http_security', 'referrer_policy')}}},[_c('el-option',{attrs:{\"label\":\"same-origin\",\"value\":\"same-origin\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"no-referrer\",\"value\":\"no-referrer\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The referrer policy to use\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Report URI\"}},[_c('el-input',{attrs:{\"value\":_vm.httpSecurity.report_uri},on:{\"input\":function($event){return _vm.updateSetting($event, 'http_security', 'report_uri')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Adds the specified url to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"report-uri\")]),_vm._v(\" and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"report-to\")]),_vm._v(\" group in CSP header\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"hackneyPools\",attrs:{\"model\":_vm.hackneyPools,\"label-width\":_vm.labelWidth}},[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hackney pools:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federation:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max connections\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.federation.max_connections,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'hackney_pools', 'federation', 'max_connections')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"You may want this pool \"),_c('span',{staticClass:\"code\"},[_vm._v(\"max_connections\")]),_vm._v(\" to be at least equal to the number of federator jobs + retry queue jobs.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.federation.timeout / 1000,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1000, 'hackney_pools', 'federation', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"For the federation jobs\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Media:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max connections\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.media.max_connections,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'hackney_pools', 'media', 'max_connections')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.media.timeout / 1000,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1000, 'hackney_pools', 'media', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"For rich media, media proxy\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Upload:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max connections\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.upload.max_connections,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'hackney_pools', 'upload', 'max_connections')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.upload.timeout / 1000,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1000, 'hackney_pools', 'upload', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"For uploaded media (if using a remote uploader and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"proxy_remote: true\")]),_vm._v(\")\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Instance.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Instance.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"instance\" :model=\"instance\" :label-width=\"labelWidth\">\n <el-form-item label=\"Name\">\n <el-input :value=\"instance.name\" @input=\"updateSetting($event, 'instance', 'name')\"/>\n <p class=\"expl\">The instance’s name</p>\n </el-form-item>\n <el-form-item label=\"Email\">\n <el-input :value=\"instance.email\" @input=\"updateSetting($event, 'instance', 'email')\"/>\n <p class=\"expl\">Email used to reach an Administrator/Moderator of the instance</p>\n </el-form-item>\n <el-form-item label=\"Notify email\">\n <el-input :value=\"instance.notify_email\" @input=\"updateSetting($event, 'instance', 'notify_email')\"/>\n <p class=\"expl\">Email used for notifications</p>\n </el-form-item>\n <el-form-item label=\"Description\">\n <el-input :value=\"instance.description\" @input=\"updateSetting($event, 'instance', 'description')\"/>\n <p class=\"expl\">The instance’s description, can be seen in nodeinfo and <span class=\"code\">/api/v1/instance</span></p>\n </el-form-item>\n <el-form-item label=\"Limit\">\n <el-input-number :value=\"instance.limit\" :step=\"1000\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'limit')\"/>\n <p class=\"expl\">Posts character limit (CW/Subject included in the counter)</p>\n </el-form-item>\n <el-form-item label=\"Remote limit\">\n <el-input-number :value=\"instance.remote_limit\" :step=\"1000\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'remote_limit')\"/>\n <p class=\"expl\">Hard character limit beyond which remote posts will be dropped</p>\n </el-form-item>\n <el-form-item label=\"Upload limit (MB)\">\n <el-input-number :value=\"instance.upload_limit / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 1048576, 'instance', 'upload_limit')\"/>\n <p class=\"expl\">File size limit of uploads (except for avatar, background, banner)</p>\n </el-form-item>\n <el-form-item label=\"Avatar upload limit (MB)\">\n <el-input-number :value=\"instance.avatar_upload_limit / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 1048576, 'instance', 'avatar_upload_limit')\"/>\n <p class=\"expl\">File size limit of user’s profile avatars</p>\n </el-form-item>\n <el-form-item label=\"Background upload limit (MB)\">\n <el-input-number :value=\"instance.background_upload_limit / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 1048576, 'instance', 'background_upload_limit')\"/>\n <p class=\"expl\">File size limit of user’s profile backgrounds</p>\n </el-form-item>\n <el-form-item label=\"Banner upload limit (MB)\">\n <el-input-number :value=\"instance.banner_upload_limit / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 1048576, 'instance', 'banner_upload_limit')\"/>\n <p class=\"expl\">File size limit of user’s profile banners</p>\n </el-form-item>\n <el-form-item label=\"User bio length\">\n <el-input-number :value=\"instance.user_bio_length\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'user_bio_length')\"/>\n <p class=\"expl\">A user bio maximum length (default: 5000)</p>\n </el-form-item>\n <el-form-item label=\"User name length\">\n <el-input-number :value=\"instance.user_name_length\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'user_name_length')\"/>\n <p class=\"expl\">A user name maximum length (default: 100)</p>\n </el-form-item>\n <el-form-item label=\"Poll limits:\"/>\n <el-form-item label=\"Max options\">\n <el-input-number :value=\"instance.poll_limits.max_options\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'instance', 'poll_limits', 'max_options')\"/>\n <p class=\"expl\">Maximum number of options</p>\n </el-form-item>\n <el-form-item label=\"Max characters per option\">\n <el-input-number :value=\"instance.poll_limits.max_option_chars\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'instance', 'poll_limits', 'max_option_chars')\"/>\n <p class=\"expl\">Maximum number of characters per option</p>\n </el-form-item>\n <el-form-item label=\"Minimum expiration (days)\">\n <el-input-number :value=\"instance.poll_limits.min_expiration\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'instance', 'poll_limits', 'min_expiration')\"/>\n <p class=\"expl\">Minimum expiration time</p>\n </el-form-item>\n <el-form-item label=\"Max expiration (days)\">\n <el-input-number :value=\"instance.poll_limits.max_expiration / 86400\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 86400, 'instance', 'poll_limits', 'max_expiration')\"/>\n <p class=\"expl\">Maximum expiration time</p>\n </el-form-item>\n <el-form-item label=\"Registrations open\">\n <el-switch :value=\"instance.registrations_open\" @change=\"updateSetting($event, 'instance', 'registrations_open')\"/>\n <p class=\"expl\">Enable registrations for anyone, invitations can be enabled when false</p>\n </el-form-item>\n <el-form-item label=\"Invites enabled\">\n <el-switch :value=\"instance.invites_enabled\" @change=\"updateSetting($event, 'instance', 'invites_enabled')\"/>\n <p class=\"expl\">Enable user invitations for admins (depends on <span class=\"code\">registrations_open: false)</span>.</p>\n </el-form-item>\n <el-form-item label=\"Account activation required\">\n <el-switch :value=\"instance.account_activation_required\" @change=\"updateSetting($event, 'instance', 'account_activation_required')\"/>\n <p class=\"expl\">Require users to confirm their emails before signing in</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Federating\">\n <el-switch :value=\"instance.federating\" @change=\"updateSetting($event, 'instance', 'federating')\"/>\n <p class=\"expl\">Enable federation with other instances</p>\n </el-form-item>\n <el-form-item label=\"Fed. replies max depth\">\n <el-input-number :value=\"instance.federation_incoming_replies_max_depth\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'federation_incoming_replies_max_depth')\"/>\n <p class=\"expl\">Max. depth of reply-to activities fetching on incoming federation, to prevent out-of-memory situations while fetching very long threads. Lower this value if you experience out-of-memory crashes.</p>\n </el-form-item>\n <el-form-item label=\"Fed. reachability timeout\">\n <el-input-number :value=\"instance.federation_reachability_timeout_days\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'federation_reachability_timeout_days')\"/>\n <p class=\"expl\">Timeout (in days) of each external federation target being unreachable prior to pausing federating to it</p>\n </el-form-item>\n <el-form-item label=\"Federation publisher modules\">\n <el-select :value=\"instance.federation_publisher_modules || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'federation_publisher_modules')\">\n <el-option\n v-for=\"item in federationPublisherModulesOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Allow relay\">\n <el-switch :value=\"instance.allow_relay\" @change=\"updateSetting($event, 'instance', 'allow_relay')\"/>\n <p class=\"expl\">Enable Pleroma’s Relay, which makes it possible to follow a whole instance</p>\n </el-form-item>\n <el-form-item label=\"Rewrite policy\">\n <el-select :value=\"rewritePolicy || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'rewrite_policy')\">\n <el-option\n v-for=\"item in rewritePolicyOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p\n v-for=\"item in rewritePolicyExplanations\"\n :key=\"item\"\n class=\"expl\">{{ getRewritePolicyExpl(item) }}</p>\n </el-form-item>\n <el-form-item label=\"Public\">\n <el-switch :value=\"instance.public\" @change=\"updateSetting($event, 'instance', 'public')\"/>\n <p class=\"expl\">Makes the client API in authentificated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network</p>\n </el-form-item>\n <el-form-item label=\"Quarantined instances\">\n <el-select :value=\"instance.quarantined_instances || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'quarantined_instances')\">\n <el-option\n v-for=\"item in quarantinedInstancesOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">List of ActivityPub instances where private (DMs, followers-only) activities will not be send</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Managed config\">\n <el-switch :value=\"instance.managed_config\" @change=\"updateSetting($event, 'instance', 'managed_config')\"/>\n <p class=\"expl\">Whenether the config for pleroma-fe is configured in this config or in <span class=\"code\">static/config.json</span></p>\n </el-form-item>\n <el-form-item label=\"Static directory\">\n <el-input :value=\"instance.static_dir\" @input=\"updateSetting($event, 'instance', 'static_dir')\"/>\n </el-form-item>\n <el-form-item label=\"Allowed post formats\">\n <el-select :value=\"instance.allowed_post_formats || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'allowed_post_formats')\">\n <el-option label=\"text/plain\" value=\"text/plain\"/>\n <el-option label=\"text/html\" value=\"text/html\"/>\n <el-option label=\"text/markdown\" value=\"text/markdown\"/>\n <el-option label=\"text/bbcode\" value=\"text/bbcode\"/>\n </el-select>\n <p class=\"expl\">MIME-type list of formats allowed to be posted (transformed into HTML)</p>\n </el-form-item>\n <el-form-item label=\"MRF transparency\">\n <el-switch :value=\"instance.mrf_transparency\" @change=\"updateSetting($event, 'instance', 'mrf_transparency')\"/>\n <p class=\"expl\">Make the content of your Message Rewrite Facility settings public (via nodeinfo)</p>\n </el-form-item>\n <el-form-item label=\"MRF transparency exclusions\">\n <el-select :value=\"instance.mrf_transparency_exclusions || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'mrf_transparency_exclusions')\"/>\n </el-form-item>\n <el-form-item label=\"Scope copy\">\n <el-switch :value=\"instance.scope_copy\" @change=\"updateSetting($event, 'instance', 'scope_copy')\"/>\n <p class=\"expl\">Copy the scope <span class=\"code\">(private/unlisted/public)</span> in replies to posts by default</p>\n </el-form-item>\n <el-form-item label=\"Subject line behavior\">\n <el-select :value=\"instance.subject_line_behavior\" clearable @change=\"updateSetting($event, 'instance', 'subject_line_behavior')\">\n <el-option label=\"Email\" value=\"email\">Email / Copy and preprend re:, as in email</el-option>\n <el-option label=\"Masto\" value=\"masto\">Masto / Copy verbatim, as in Mastodon</el-option>\n <el-option label=\"Noop\" value=\"noop\">Noop / Don't copy the subject</el-option>\n </el-select>\n <p class=\"expl\">Allows changing the default behaviour of subject lines in replies</p>\n </el-form-item>\n <el-form-item label=\"Always show subject input\">\n <el-switch :value=\"instance.always_show_subject_input\" @change=\"updateSetting($event, 'instance', 'always_show_subject_input')\"/>\n <p class=\"expl\">When set to false, auto-hide the subject field when it's empty</p>\n </el-form-item>\n <el-form-item label=\"Extended nickname format\">\n <el-switch :value=\"instance.extended_nickname_format\" @change=\"updateSetting($event, 'instance', 'extended_nickname_format')\"/>\n <p class=\"expl\">Set to <span class=\"code\">true</span> to use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames</p>\n </el-form-item>\n <el-form-item label=\"Max pinned statuses\">\n <el-input-number :value=\"instance.max_pinned_statuses\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'max_pinned_statuses')\"/>\n <p class=\"expl\">The maximum number of pinned statuses. '0' will disable the feature</p>\n </el-form-item>\n <el-form-item label=\"Autofollowed nicknames\">\n <el-select :value=\"instance.autofollowed_nicknames || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'autofollowed_nicknames')\">\n <el-option\n v-for=\"item in autofollowedNicknamesOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">Set to nicknames of (local) users that every new user should automatically follow</p>\n </el-form-item>\n <el-form-item label=\"No attachment links\">\n <el-switch :value=\"instance.no_attachment_links\" @change=\"updateSetting($event, 'instance', 'no_attachment_links')\"/>\n <p class=\"expl\">Set to true to disable automatically adding attachment link text to statuses</p>\n </el-form-item>\n <el-form-item label=\"Welcome message\">\n <el-input :value=\"instance.welcome_message\" @input=\"updateSetting($event, 'instance', 'welcome_message')\"/>\n <p class=\"expl\">A message that will be send to a newly registered users as a direct message</p>\n </el-form-item>\n <el-form-item label=\"Welcome user nickname\">\n <el-input :value=\"instance.welcome_user_nickname\" @input=\"updateSetting($event, 'instance', 'welcome_user_nickname')\"/>\n <p class=\"expl\">The nickname of the local user that sends the welcome message</p>\n </el-form-item>\n <el-form-item label=\"Max report comment size\">\n <el-input-number :value=\"instance.max_report_comment_size\" :step=\"100\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'max_report_comment_size')\"/>\n <p class=\"expl\">The maximum size of the report comment</p>\n </el-form-item>\n <el-form-item label=\"Safe DM mentions\">\n <el-switch :value=\"instance.safe_dm_mentions\" @change=\"updateSetting($event, 'instance', 'safe_dm_mentions')\"/>\n <p class=\"expl\">If set to true, only mentions at the beginning of a post will be used to address people in direct messages. This is to prevent accidental mentioning of people when talking about them</p>\n </el-form-item>\n <el-form-item label=\"Healthcheck\">\n <el-switch :value=\"instance.healthcheck\" @change=\"updateSetting($event, 'instance', 'healthcheck')\"/>\n <p class=\"expl\">If set to true, system data will be shown on <span class=\"code\">/api/pleroma/healthcheck</span></p>\n </el-form-item>\n <el-form-item label=\"Remote post retention days\">\n <el-input-number :value=\"instance.remote_post_retention_days\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'remote_post_retention_days')\"/>\n <p class=\"expl\">The default amount of days to retain remote posts when pruning the database.</p>\n </el-form-item>\n <el-form-item label=\"Skip thread containment\">\n <el-switch :value=\"instance.skip_thread_containment\" @change=\"updateSetting($event, 'instance', 'skip_thread_containment')\"/>\n <p class=\"expl\">Skip filter out broken threads.</p>\n </el-form-item>\n <el-form-item label=\"Limit to local content\">\n <el-select :value=\"instance.limit_to_local_content\" clearable @change=\"updateSetting($event, 'instance', 'limit_to_local_content')\">\n <el-option label=\"Unauthenticated\" value=\":unauthenticated\"/>\n <el-option label=\"All\" value=\":all\"/>\n <el-option label=\"False\" value=\"false\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Dynamic configuration\">\n <el-switch :value=\"instance.dynamic_configuration\" @change=\"updateSetting($event, 'instance', 'dynamic_configuration')\"/>\n <p class=\"expl\">Allow transferring configuration to DB with the subsequent customization from Admin API</p>\n </el-form-item>\n <el-form-item label=\"Max account fields\">\n <el-input-number :value=\"instance.max_account_fields\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'max_account_fields')\"/>\n <p class=\"expl\">The maximum number of custom fields in the user profile (Default: 4)</p>\n </el-form-item>\n <el-form-item label=\"Max remote account fields\">\n <el-input-number :value=\"instance.max_remote_account_fields\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'max_remote_account_fields')\"/>\n <p class=\"expl\">The maximum number of custom fields in the remote user profile (Default: 10)</p>\n </el-form-item>\n <el-form-item label=\"Account field name length\">\n <el-input-number :value=\"instance.account_field_name_length\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'account_field_name_length')\"/>\n <p class=\"expl\">An account field name maximum length (Default: 255)</p>\n </el-form-item>\n <el-form-item label=\"Account field value length\">\n <el-input-number :value=\"instance.account_field_value_length\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'account_field_value_length')\"/>\n <p class=\"expl\">An account field value maximum length (Default: 255)</p>\n </el-form-item>\n <el-form-item label=\"External user synchronization\">\n <el-switch :value=\"instance.external_user_synchronization\" @change=\"updateSetting($event, 'instance', 'external_user_synchronization')\"/>\n <p class=\"expl\">Enabling following/followers counters synchronization for external users.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uriSchemes\" :model=\"uriSchemes\" :label-width=\"labelWidth\">\n <el-form-item label=\"URI schemes\">\n <el-select :value=\"uriSchemes.valid_schemes || []\" multiple filterable allow-create @change=\"updateSetting($event, 'uri_schemes', 'valid_schemes')\">\n <el-option\n v-for=\"item in uriSchemesOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">List of the scheme part that is considered valid to be an URL</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"adminToken\" :model=\"adminToken\" :label-width=\"labelWidth\">\n <el-form-item label=\"Admin token\">\n <el-input :value=\"adminToken.value\" @input=\"updateSetting($event, 'admin_token', 'value')\"/>\n <p class=\"expl\">Allows to set a token that can be used to authenticate with the admin api without using an actual user by giving it as the <span class=\"code\">admin_token</span> parameter.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"scheduledActivity\" :model=\"scheduledActivity\" :label-width=\"labelWidth\">\n <el-form-item label=\"Scheduled activity:\"/>\n <el-form-item label=\"Daily user limit\">\n <el-input-number :value=\"scheduledActivity.daily_user_limit\" :step=\"5\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.ScheduledActivity', 'daily_user_limit')\"/>\n <p class=\"expl\">The number of scheduled activities a user is allowed to create in a single day (Default: 25)</p>\n </el-form-item>\n <el-form-item label=\"Total user limit\">\n <el-input-number :value=\"scheduledActivity.total_user_limit\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.ScheduledActivity', 'total_user_limit')\"/>\n <p class=\"expl\">The number of scheduled activities a user is allowed to create in total (Default: 300)</p>\n </el-form-item>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"scheduledActivity.enabled\" @change=\"updateSetting($event, 'Pleroma.ScheduledActivity', 'enabled')\"/>\n <p class=\"expl\">Whether scheduled activities are sent to the job queue to be executed</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"fetchInitialPosts\" :model=\"fetchInitialPosts\" :label-width=\"labelWidth\">\n <el-form-item label=\"Fetch initial posts\">\n <el-switch :value=\"fetchInitialPosts.enabled\" @change=\"updateSetting($event, 'fetch_initial_posts', 'enabled')\"/>\n <p class=\"expl\">If enabled, when a new user is federated with, fetch some of their latest posts</p>\n </el-form-item>\n <el-form-item label=\"Pages\">\n <el-input-number :value=\"fetchInitialPosts.pages\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'fetch_initial_posts', 'pages')\"/>\n <p class=\"expl\">The amount of pages to fetch</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"suggestions\" :model=\"suggestions\" :label-width=\"labelWidth\">\n <el-form-item label=\"Suggestions:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"suggestions.enabled\" @change=\"updateSetting($event, 'suggestions', 'enabled')\"/>\n </el-form-item>\n <el-form-item label=\"Third party engine\">\n <el-input :value=\"suggestions.third_party_engine\" @input=\"updateSetting($event, 'suggestions', 'third_party_engine')\"/>\n </el-form-item>\n <el-form-item label=\"Timeout\">\n <el-input-number :value=\"suggestions.timeout\" :step=\"1000\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'suggestions', 'timeout')\"/>\n </el-form-item>\n <el-form-item label=\"Limit\">\n <el-input-number :value=\"suggestions.limit\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'suggestions', 'limit')\"/>\n </el-form-item>\n <el-form-item label=\"Web\">\n <el-input :value=\"suggestions.web\" @input=\"updateSetting($event, 'suggestions', 'web')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"pleromaUser\" :model=\"pleromaUser\" :label-width=\"labelWidth\">\n <el-form-item label=\"Restricted nicknames\">\n <el-select :value=\"pleromaUser.restricted_nicknames || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.User', 'restricted_nicknames')\">\n <el-option\n v-for=\"item in restrictedNicknamesOptions\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\n\nexport default {\n name: 'Instance',\n computed: {\n ...mapGetters([\n 'adminToken',\n 'fetchInitialPosts',\n 'instance',\n 'pleromaUser',\n 'scheduledActivity',\n 'suggestions',\n 'uriSchemes'\n ]),\n autofollowedNicknamesOptions() {\n return options.autofollowedNicknamesOptions\n },\n federationPublisherModulesOptions() {\n return options.federationPublisherModulesOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n },\n quarantinedInstancesOptions() {\n return options.quarantinedInstancesOptions\n },\n restrictedNicknamesOptions() {\n return options.restrictedNicknamesOptions\n },\n rewritePolicy() {\n return typeof this.instance.rewrite_policy === 'string' ? [this.instance.rewrite_policy] : this.instance.rewrite_policy\n },\n rewritePolicyExplanations() {\n return this.rewritePolicy ? this.rewritePolicy.filter(policy => options.rewritePolicyOptions.find(el => el.value === policy)) : []\n },\n rewritePolicyOptions() {\n return options.rewritePolicyOptions\n },\n uriSchemesOptions() {\n return options.uriSchemesOptions\n }\n },\n methods: {\n getRewritePolicyExpl(value) {\n const policy = options.rewritePolicyOptions.find(el => el.value === value)\n return policy.expl\n },\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Instance.vue?vue&type=template&id=dccaf986&\"\nimport script from \"./Instance.vue?vue&type=script&lang=js&\"\nexport * from \"./Instance.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Instance.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Instance.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"instance\",attrs:{\"model\":_vm.instance,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Name\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.name},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'name')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The instance’s name\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Email\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.email},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'email')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Email used to reach an Administrator/Moderator of the instance\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Notify email\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.notify_email},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'notify_email')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Email used for notifications\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Description\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.description},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'description')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The instance’s description, can be seen in nodeinfo and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"/api/v1/instance\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.limit,\"step\":1000,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Posts character limit (CW/Subject included in the counter)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Remote limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.remote_limit,\"step\":1000,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'remote_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hard character limit beyond which remote posts will be dropped\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Upload limit (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.upload_limit / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 1048576, 'instance', 'upload_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"File size limit of uploads (except for avatar, background, banner)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Avatar upload limit (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.avatar_upload_limit / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 1048576, 'instance', 'avatar_upload_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"File size limit of user’s profile avatars\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background upload limit (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.background_upload_limit / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 1048576, 'instance', 'background_upload_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"File size limit of user’s profile backgrounds\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Banner upload limit (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.banner_upload_limit / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 1048576, 'instance', 'banner_upload_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"File size limit of user’s profile banners\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"User bio length\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.user_bio_length,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'user_bio_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A user bio maximum length (default: 5000)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"User name length\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.user_name_length,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'user_name_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A user name maximum length (default: 100)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Poll limits:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max options\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.poll_limits.max_options,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'instance', 'poll_limits', 'max_options')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Maximum number of options\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max characters per option\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.poll_limits.max_option_chars,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'instance', 'poll_limits', 'max_option_chars')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Maximum number of characters per option\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Minimum expiration (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.poll_limits.min_expiration,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'instance', 'poll_limits', 'min_expiration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Minimum expiration time\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max expiration (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.poll_limits.max_expiration / 86400,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 86400, 'instance', 'poll_limits', 'max_expiration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Maximum expiration time\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Registrations open\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.registrations_open},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'registrations_open')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable registrations for anyone, invitations can be enabled when false\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Invites enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.invites_enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'invites_enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable user invitations for admins (depends on \"),_c('span',{staticClass:\"code\"},[_vm._v(\"registrations_open: false)\")]),_vm._v(\".\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Account activation required\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.account_activation_required},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'account_activation_required')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Require users to confirm their emails before signing in\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federating\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.federating},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'federating')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable federation with other instances\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Fed. replies max depth\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.federation_incoming_replies_max_depth,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'federation_incoming_replies_max_depth')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Max. depth of reply-to activities fetching on incoming federation, to prevent out-of-memory situations while fetching very long threads. Lower this value if you experience out-of-memory crashes.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Fed. reachability timeout\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.federation_reachability_timeout_days,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'federation_reachability_timeout_days')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Timeout (in days) of each external federation target being unreachable prior to pausing federating to it\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federation publisher modules\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.federation_publisher_modules || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'federation_publisher_modules')}}},_vm._l((_vm.federationPublisherModulesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow relay\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.allow_relay},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'allow_relay')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable Pleroma’s Relay, which makes it possible to follow a whole instance\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Rewrite policy\"}},[_c('el-select',{attrs:{\"value\":_vm.rewritePolicy || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'rewrite_policy')}}},_vm._l((_vm.rewritePolicyOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_vm._l((_vm.rewritePolicyExplanations),function(item){return _c('p',{key:item,staticClass:\"expl\"},[_vm._v(_vm._s(_vm.getRewritePolicyExpl(item)))])})],2),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Public\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.public},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'public')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Makes the client API in authentificated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Quarantined instances\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.quarantined_instances || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'quarantined_instances')}}},_vm._l((_vm.quarantinedInstancesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of ActivityPub instances where private (DMs, followers-only) activities will not be send\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Managed config\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.managed_config},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'managed_config')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whenether the config for pleroma-fe is configured in this config or in \"),_c('span',{staticClass:\"code\"},[_vm._v(\"static/config.json\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Static directory\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.static_dir},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'static_dir')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allowed post formats\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.allowed_post_formats || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'allowed_post_formats')}}},[_c('el-option',{attrs:{\"label\":\"text/plain\",\"value\":\"text/plain\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"text/html\",\"value\":\"text/html\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"text/markdown\",\"value\":\"text/markdown\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"text/bbcode\",\"value\":\"text/bbcode\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"MIME-type list of formats allowed to be posted (transformed into HTML)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"MRF transparency\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.mrf_transparency},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'mrf_transparency')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Make the content of your Message Rewrite Facility settings public (via nodeinfo)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"MRF transparency exclusions\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.mrf_transparency_exclusions || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'mrf_transparency_exclusions')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope copy\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.scope_copy},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'scope_copy')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Copy the scope \"),_c('span',{staticClass:\"code\"},[_vm._v(\"(private/unlisted/public)\")]),_vm._v(\" in replies to posts by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Subject line behavior\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.subject_line_behavior,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'subject_line_behavior')}}},[_c('el-option',{attrs:{\"label\":\"Email\",\"value\":\"email\"}},[_vm._v(\"Email / Copy and preprend re:, as in email\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Masto\",\"value\":\"masto\"}},[_vm._v(\"Masto / Copy verbatim, as in Mastodon\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Noop\",\"value\":\"noop\"}},[_vm._v(\"Noop / Don't copy the subject\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows changing the default behaviour of subject lines in replies\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Always show subject input\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.always_show_subject_input},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'always_show_subject_input')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When set to false, auto-hide the subject field when it's empty\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Extended nickname format\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.extended_nickname_format},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'extended_nickname_format')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"true\")]),_vm._v(\" to use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max pinned statuses\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.max_pinned_statuses,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'max_pinned_statuses')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum number of pinned statuses. '0' will disable the feature\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Autofollowed nicknames\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.autofollowed_nicknames || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'autofollowed_nicknames')}}},_vm._l((_vm.autofollowedNicknamesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to nicknames of (local) users that every new user should automatically follow\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"No attachment links\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.no_attachment_links},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'no_attachment_links')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to true to disable automatically adding attachment link text to statuses\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Welcome message\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.welcome_message},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'welcome_message')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A message that will be send to a newly registered users as a direct message\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Welcome user nickname\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.welcome_user_nickname},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'welcome_user_nickname')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The nickname of the local user that sends the welcome message\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max report comment size\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.max_report_comment_size,\"step\":100,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'max_report_comment_size')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum size of the report comment\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Safe DM mentions\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.safe_dm_mentions},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'safe_dm_mentions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If set to true, only mentions at the beginning of a post will be used to address people in direct messages. This is to prevent accidental mentioning of people when talking about them\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Healthcheck\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.healthcheck},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'healthcheck')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If set to true, system data will be shown on \"),_c('span',{staticClass:\"code\"},[_vm._v(\"/api/pleroma/healthcheck\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Remote post retention days\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.remote_post_retention_days,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'remote_post_retention_days')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The default amount of days to retain remote posts when pruning the database.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Skip thread containment\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.skip_thread_containment},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'skip_thread_containment')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Skip filter out broken threads.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Limit to local content\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.limit_to_local_content,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'limit_to_local_content')}}},[_c('el-option',{attrs:{\"label\":\"Unauthenticated\",\"value\":\":unauthenticated\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"All\",\"value\":\":all\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"False\",\"value\":\"false\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Dynamic configuration\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.dynamic_configuration},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'dynamic_configuration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allow transferring configuration to DB with the subsequent customization from Admin API\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max account fields\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.max_account_fields,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'max_account_fields')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum number of custom fields in the user profile (Default: 4)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max remote account fields\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.max_remote_account_fields,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'max_remote_account_fields')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum number of custom fields in the remote user profile (Default: 10)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Account field name length\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.account_field_name_length,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'account_field_name_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"An account field name maximum length (Default: 255)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Account field value length\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.account_field_value_length,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'account_field_value_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"An account field value maximum length (Default: 255)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"External user synchronization\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.external_user_synchronization},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'external_user_synchronization')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enabling following/followers counters synchronization for external users.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uriSchemes\",attrs:{\"model\":_vm.uriSchemes,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"URI schemes\"}},[_c('el-select',{attrs:{\"value\":_vm.uriSchemes.valid_schemes || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'uri_schemes', 'valid_schemes')}}},_vm._l((_vm.uriSchemesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of the scheme part that is considered valid to be an URL\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"adminToken\",attrs:{\"model\":_vm.adminToken,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Admin token\"}},[_c('el-input',{attrs:{\"value\":_vm.adminToken.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'admin_token', 'value')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows to set a token that can be used to authenticate with the admin api without using an actual user by giving it as the \"),_c('span',{staticClass:\"code\"},[_vm._v(\"admin_token\")]),_vm._v(\" parameter.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"scheduledActivity\",attrs:{\"model\":_vm.scheduledActivity,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Scheduled activity:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Daily user limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.scheduledActivity.daily_user_limit,\"step\":5,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.ScheduledActivity', 'daily_user_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The number of scheduled activities a user is allowed to create in a single day (Default: 25)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Total user limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.scheduledActivity.total_user_limit,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.ScheduledActivity', 'total_user_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The number of scheduled activities a user is allowed to create in total (Default: 300)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.scheduledActivity.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.ScheduledActivity', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether scheduled activities are sent to the job queue to be executed\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"fetchInitialPosts\",attrs:{\"model\":_vm.fetchInitialPosts,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Fetch initial posts\"}},[_c('el-switch',{attrs:{\"value\":_vm.fetchInitialPosts.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'fetch_initial_posts', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If enabled, when a new user is federated with, fetch some of their latest posts\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pages\"}},[_c('el-input-number',{attrs:{\"value\":_vm.fetchInitialPosts.pages,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'fetch_initial_posts', 'pages')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The amount of pages to fetch\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"suggestions\",attrs:{\"model\":_vm.suggestions,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Suggestions:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.suggestions.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'suggestions', 'enabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Third party engine\"}},[_c('el-input',{attrs:{\"value\":_vm.suggestions.third_party_engine},on:{\"input\":function($event){return _vm.updateSetting($event, 'suggestions', 'third_party_engine')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout\"}},[_c('el-input-number',{attrs:{\"value\":_vm.suggestions.timeout,\"step\":1000,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'suggestions', 'timeout')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.suggestions.limit,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'suggestions', 'limit')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Web\"}},[_c('el-input',{attrs:{\"value\":_vm.suggestions.web},on:{\"input\":function($event){return _vm.updateSetting($event, 'suggestions', 'web')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"pleromaUser\",attrs:{\"model\":_vm.pleromaUser,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Restricted nicknames\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaUser.restricted_nicknames || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.User', 'restricted_nicknames')}}},_vm._l((_vm.restrictedNicknamesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JobQueue.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JobQueue.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"queues\" :model=\"queues\" :label-width=\"labelWidth\">\n <el-form-item label=\"Job queues:\"/>\n <el-form-item label=\"Outgoing federation\">\n <el-input-number :value=\"queues.federator_outgoing\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'federator_outgoing')\"/>\n </el-form-item>\n <el-form-item label=\"Incoming federation\">\n <el-input-number :value=\"queues.federator_incoming\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'federator_incoming')\"/>\n </el-form-item>\n <el-form-item label=\"Email sender\">\n <el-input-number :value=\"queues.mailer\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'mailer')\"/>\n </el-form-item>\n <el-form-item label=\"Transmogrifier\">\n <el-input-number :value=\"queues.transmogrifier\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'transmogrifier')\"/>\n </el-form-item>\n <el-form-item label=\"Web push notifications\">\n <el-input-number :value=\"queues.web_push\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'web_push')\"/>\n </el-form-item>\n <el-form-item label=\"Scheduled activities\">\n <el-input-number :value=\"queues.scheduled_activities\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'scheduled_activities')\"/>\n </el-form-item>\n <el-form-item label=\"Background\">\n <el-input-number :value=\"queues.background\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'background')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"retryQueue\" :model=\"retryQueue\" :label-width=\"labelWidth\">\n <el-form-item label=\"Retry queue:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"retryQueue.enabled\" @change=\"updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'enabled')\"/>\n <p class=\"expl\">If set to true, failed federation jobs will be retried</p>\n </el-form-item>\n <el-form-item label=\"Max jobs\">\n <el-input-number :value=\"retryQueue.max_jobs\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'max_jobs')\"/>\n <p class=\"expl\">The maximum amount of parallel federation jobs running at the same time.</p>\n </el-form-item>\n <el-form-item label=\"Initial timeout (s)\">\n <el-input-number :value=\"retryQueue.initial_timeout\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'initial_timeout')\"/>\n <p class=\"expl\">The initial timeout in seconds</p>\n </el-form-item>\n <el-form-item label=\"Max retries\">\n <el-input-number :value=\"retryQueue.max_retries\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'max_retries')\"/>\n <p class=\"expl\">The maximum number of times a federation job is retried</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'JobQueue',\n computed: {\n ...mapGetters([\n 'queues',\n 'retryQueue'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./JobQueue.vue?vue&type=template&id=02182992&\"\nimport script from \"./JobQueue.vue?vue&type=script&lang=js&\"\nexport * from \"./JobQueue.vue?vue&type=script&lang=js&\"\nimport style0 from \"./JobQueue.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"JobQueue.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"queues\",attrs:{\"model\":_vm.queues,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Job queues:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Outgoing federation\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.federator_outgoing,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'federator_outgoing')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Incoming federation\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.federator_incoming,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'federator_incoming')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Email sender\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.mailer,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'mailer')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Transmogrifier\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.transmogrifier,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'transmogrifier')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Web push notifications\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.web_push,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'web_push')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scheduled activities\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.scheduled_activities,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'scheduled_activities')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.background,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'background')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"retryQueue\",attrs:{\"model\":_vm.retryQueue,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Retry queue:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.retryQueue.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If set to true, failed federation jobs will be retried\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max jobs\"}},[_c('el-input-number',{attrs:{\"value\":_vm.retryQueue.max_jobs,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'max_jobs')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum amount of parallel federation jobs running at the same time.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Initial timeout (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.retryQueue.initial_timeout,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'initial_timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The initial timeout in seconds\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max retries\"}},[_c('el-input-number',{attrs:{\"value\":_vm.retryQueue.max_retries,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'max_retries')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum number of times a federation job is retried\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"loggerBackends\" :model=\"loggerBackends\" :label-width=\"labelWidth\">\n <el-form-item label=\"Backends\">\n <el-select :value=\"loggerBackendsValue\" multiple filterable allow-create @change=\"updateloggerBackends($event, 'backends', 'value')\">\n <el-option\n v-for=\"(item, index) in loggerBackendsOptions\"\n :key=\"index\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\"><span class=\"code\">:console</span> is used to send logs to stdout, <span class=\"code\">{ExSyslogger, :ex_syslogger}</span> to log to syslog, and <span class=\"code\">Quack.Logger</span> to log to Slack</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"consoleLogger\" :model=\"consoleLogger\" :label-width=\"labelWidth\">\n <el-form-item label=\"Console logger:\"/>\n <el-form-item label=\"Level\">\n <el-select :value=\"consoleLogger.level\" clearable @change=\"updateSetting($event, 'console', 'level')\">\n <el-option value=\":debug\" label=\":debug - for debug-related messages\"/>\n <el-option value=\":info\" label=\":info - for information of any kind\"/>\n <el-option value=\":warn\" label=\":warn - for warnings\"/>\n <el-option value=\":error\" label=\":error - for errors\"/>\n </el-select>\n <p class=\"expl\">The level to be logged by this backend. Note that messages are filtered by the general\n <span class=\"code\">:level</span> configuration for the <span class=\"code\">:logger</span> application first.</p>\n </el-form-item>\n <el-form-item label=\"Format\">\n <el-input :value=\"consoleLogger.format\" @input=\"updateSetting($event, 'console', 'format')\"/>\n <p class=\"expl\">The format message used to print logs. </p>\n </el-form-item>\n <el-form-item label=\"Metadata\">\n <el-select :value=\"consoleLogger.metadata || []\" multiple filterable allow-create @change=\"updateSetting($event, 'console', 'metadata')\">\n <el-option value=\":all\"/>\n <el-option value=\":request_id\"/>\n <el-option value=\":line\"/>\n <el-option value=\":user_id\"/>\n <el-option value=\":application\"/>\n <el-option value=\":function\"/>\n <el-option value=\":file\"/>\n <el-option value=\":pid\"/>\n <el-option value=\":crash_reason\"/>\n <el-option value=\":initial_call\"/>\n <el-option value=\":registered_name\"/>\n <el-option value=\":none\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Device\">\n <el-input :value=\"consoleLogger.device\" @input=\"updateSetting($event, 'console', 'device')\"/>\n <p class=\"expl\">The device to log error messages to. Defaults to <span class=\"code\">:user</span>\n but can be changed to something else such as <span class=\"code\">:standard_error</span></p>\n </el-form-item>\n <el-form-item label=\"Max buffer\">\n <el-input-number :value=\"consoleLogger.max_buffer\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'console', 'max_buffer')\"/>\n <p class=\"expl\">Maximum events to buffer while waiting for a confirmation from the IO device (default: 32). Once the buffer is full, the backend will block until a confirmation is received.</p>\n </el-form-item>\n <el-form-item label=\"Colors:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"consoleLogger.colors.enabled\" @change=\"processNestedData($event, 'console', 'colors', 'enabled')\"/>\n </el-form-item>\n <el-form-item label=\"Debug message\">\n <el-input :value=\"consoleLogger.colors.debug\" @input=\"processNestedData($event, 'console', 'colors', 'debug')\"/>\n <p class=\"expl\">Defaults to: <span class=\"code\">:cyan</span></p>\n </el-form-item>\n <el-form-item label=\"Info message\">\n <el-input :value=\"consoleLogger.colors.info\" @input=\"processNestedData($event, 'console', 'colors', 'info')\"/>\n <p class=\"expl\">Defaults to: <span class=\"code\">:normal</span></p>\n </el-form-item>\n <el-form-item label=\"Warn message\">\n <el-input :value=\"consoleLogger.colors.warn\" @input=\"processNestedData($event, 'console', 'colors', 'warn')\"/>\n <p class=\"expl\">Defaults to: <span class=\"code\">:yellow</span></p>\n </el-form-item>\n <el-form-item label=\"Error message\">\n <el-input :value=\"consoleLogger.colors.error\" @input=\"processNestedData($event, 'console', 'colors', 'error')\"/>\n <p class=\"expl\">Defaults to: <span class=\"code\">:red</span></p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"exsyslogger\" :model=\"exsyslogger\" :label-width=\"labelWidth\">\n <el-form-item label=\"ExSyslogger:\"/>\n <el-form-item label=\"Level\">\n <el-select :value=\"exsyslogger.level\" clearable @change=\"updateSetting($event, 'ex_syslogger', 'level')\">\n <el-option value=\":debug\" label=\":debug - for debug-related messages\"/>\n <el-option value=\":info\" label=\":info - for information of any kind\"/>\n <el-option value=\":warn\" label=\":warn - for warnings\"/>\n <el-option value=\":error\" label=\":error - for errors\"/>\n </el-select>\n <p class=\"expl\">Logging level. It defaults to <span class=\"code\">:info.</span></p>\n </el-form-item>\n <el-form-item label=\"Format\">\n <el-input :value=\"exsyslogger.format\" @input=\"updateSetting($event, 'ex_syslogger', 'format')\"/>\n <p class=\"expl\">The format message used to print logs.</p>\n </el-form-item>\n <el-form-item label=\"Formatter\">\n <el-input :value=\"exsyslogger.formatter\" @input=\"updateSetting($event, 'ex_syslogger', 'formatter')\"/>\n <p class=\"expl\">Formatter that will be used to format the log. It default to <span class=\"code\">Logger.Formatter</span></p>\n </el-form-item>\n <el-form-item label=\"Metadata\">\n <el-select :value=\"exsyslogger.metadata || []\" multiple filterable allow-create @change=\"updateSetting($event, 'ex_syslogger', 'metadata')\">\n <el-option value=\":all\"/>\n <el-option value=\":request_id\"/>\n <el-option value=\":line\"/>\n <el-option value=\":user_id\"/>\n <el-option value=\":application\"/>\n <el-option value=\":function\"/>\n <el-option value=\":file\"/>\n <el-option value=\":pid\"/>\n <el-option value=\":crash_reason\"/>\n <el-option value=\":initial_call\"/>\n <el-option value=\":registered_name\"/>\n <el-option value=\":none\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Ident\">\n <el-input :value=\"exsyslogger.ident\" @input=\"updateSetting($event, 'ex_syslogger', 'ident')\"/>\n <p class=\"expl\">A string that’s prepended to every message, and is typically set to the app name. It defaults to <span class=\"code\">Elixir</span></p>\n </el-form-item>\n <el-form-item label=\"Facility\">\n <el-input :value=\"exsyslogger.facility\" @input=\"updateSetting($event, 'ex_syslogger', 'facility')\"/>\n <p class=\"expl\">Syslog facility to be used. It defaults to <span class=\"code\">:local0</span></p>\n </el-form-item>\n <el-form-item label=\"Options\">\n <el-select :value=\"exsyslogger.option || []\" multiple filterable allow-create @change=\"updateSetting($event, 'ex_syslogger', 'option')\">\n <el-option value=\":pid\"/>\n <el-option value=\":cons\"/>\n <el-option value=\":odelay\"/>\n <el-option value=\":ndelay\"/>\n <el-option value=\":perror\"/>\n </el-select>\n <p class=\"expl\">Syslog option to be used. It defaults to <span class=\"code\">:ndelay.</span></p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"webhookUrl\" :model=\"webhookUrl\" :label-width=\"labelWidth\">\n <el-form-item label=\"Quack logger:\"/>\n <el-form-item label=\"Webhook URL\">\n <el-input :value=\"webhookUrl.value\" @input=\"updateSetting($event, 'webhook_url', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"level\" :model=\"level\" :label-width=\"labelWidth\">\n <el-form-item label=\"Level\">\n <el-select :value=\"level.value\" clearable @change=\"updateSetting($event, 'level', 'value')\">\n <el-option value=\":debug\" label=\":debug - for debug-related messages\"/>\n <el-option value=\":info\" label=\":info - for information of any kind\"/>\n <el-option value=\":warn\" label=\":warn - for warnings\"/>\n <el-option value=\":error\" label=\":error - for errors\"/>\n </el-select>\n <p class=\"expl\">Logging level. It defaults to <span class=\"code\">:info.</span></p>\n </el-form-item>\n </el-form>\n <el-form ref=\"meta\" :model=\"meta\" :label-width=\"labelWidth\">\n <el-form-item label=\"Metadata\">\n <el-select :value=\"meta.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'meta', 'value')\">\n <el-option value=\":all\"/>\n <el-option value=\":module\"/>\n <el-option value=\":function\"/>\n <el-option value=\":file\"/>\n <el-option value=\":application\"/>\n <el-option value=\":line\"/>\n <el-option value=\":pid\"/>\n <el-option value=\":crash_reason\"/>\n <el-option value=\":initial_call\"/>\n <el-option value=\":registered_name\"/>\n <el-option value=\":none\"/>\n </el-select>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\nimport { options } from './options'\n\nexport default {\n name: 'Logger',\n computed: {\n ...mapGetters([\n 'consoleLogger',\n 'exsyslogger',\n 'level',\n 'loggerBackends',\n 'meta',\n 'webhookUrl'\n ]),\n loggerBackendsValue() {\n return this.loggerBackends.value ? this.loggerBackends.value.map(el => JSON.stringify(el)) : []\n },\n loggerBackendsOptions() {\n return options.loggerBackendsOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n processNestedData(value, tab, section, input) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][section], ...{ [input]: value }}\n this.updateSetting(updatedValue, tab, section)\n },\n updateloggerBackends(value, tab, input) {\n const parseValue = value.map(el => JSON.parse(el))\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: parseValue }})\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Logger.vue?vue&type=template&id=2b676ce8&\"\nimport script from \"./Logger.vue?vue&type=script&lang=js&\"\nexport * from \"./Logger.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Logger.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Logger.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"loggerBackends\",attrs:{\"model\":_vm.loggerBackends,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Backends\"}},[_c('el-select',{attrs:{\"value\":_vm.loggerBackendsValue,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateloggerBackends($event, 'backends', 'value')}}},_vm._l((_vm.loggerBackendsOptions),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_c('span',{staticClass:\"code\"},[_vm._v(\":console\")]),_vm._v(\" is used to send logs to stdout, \"),_c('span',{staticClass:\"code\"},[_vm._v(\"{ExSyslogger, :ex_syslogger}\")]),_vm._v(\" to log to syslog, and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Quack.Logger\")]),_vm._v(\" to log to Slack\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"consoleLogger\",attrs:{\"model\":_vm.consoleLogger,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Console logger:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Level\"}},[_c('el-select',{attrs:{\"value\":_vm.consoleLogger.level,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'console', 'level')}}},[_c('el-option',{attrs:{\"value\":\":debug\",\"label\":\":debug - for debug-related messages\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":info\",\"label\":\":info - for information of any kind\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":warn\",\"label\":\":warn - for warnings\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":error\",\"label\":\":error - for errors\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The level to be logged by this backend. Note that messages are filtered by the general\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\":level\")]),_vm._v(\" configuration for the \"),_c('span',{staticClass:\"code\"},[_vm._v(\":logger\")]),_vm._v(\" application first.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Format\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.format},on:{\"input\":function($event){return _vm.updateSetting($event, 'console', 'format')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The format message used to print logs. \")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Metadata\"}},[_c('el-select',{attrs:{\"value\":_vm.consoleLogger.metadata || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'console', 'metadata')}}},[_c('el-option',{attrs:{\"value\":\":all\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":request_id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":line\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":user_id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":application\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":function\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":file\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":pid\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":crash_reason\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":initial_call\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":registered_name\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":none\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Device\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.device},on:{\"input\":function($event){return _vm.updateSetting($event, 'console', 'device')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The device to log error messages to. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":user\")]),_vm._v(\"\\n but can be changed to something else such as \"),_c('span',{staticClass:\"code\"},[_vm._v(\":standard_error\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max buffer\"}},[_c('el-input-number',{attrs:{\"value\":_vm.consoleLogger.max_buffer,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'console', 'max_buffer')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Maximum events to buffer while waiting for a confirmation from the IO device (default: 32). Once the buffer is full, the backend will block until a confirmation is received.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Colors:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.consoleLogger.colors.enabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'enabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Debug message\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.colors.debug},on:{\"input\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'debug')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Defaults to: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":cyan\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Info message\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.colors.info},on:{\"input\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'info')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Defaults to: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":normal\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Warn message\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.colors.warn},on:{\"input\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'warn')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Defaults to: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":yellow\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Error message\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.colors.error},on:{\"input\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'error')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Defaults to: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":red\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"exsyslogger\",attrs:{\"model\":_vm.exsyslogger,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"ExSyslogger:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Level\"}},[_c('el-select',{attrs:{\"value\":_vm.exsyslogger.level,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'level')}}},[_c('el-option',{attrs:{\"value\":\":debug\",\"label\":\":debug - for debug-related messages\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":info\",\"label\":\":info - for information of any kind\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":warn\",\"label\":\":warn - for warnings\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":error\",\"label\":\":error - for errors\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Logging level. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":info.\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Format\"}},[_c('el-input',{attrs:{\"value\":_vm.exsyslogger.format},on:{\"input\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'format')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The format message used to print logs.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Formatter\"}},[_c('el-input',{attrs:{\"value\":_vm.exsyslogger.formatter},on:{\"input\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'formatter')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Formatter that will be used to format the log. It default to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Logger.Formatter\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Metadata\"}},[_c('el-select',{attrs:{\"value\":_vm.exsyslogger.metadata || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'metadata')}}},[_c('el-option',{attrs:{\"value\":\":all\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":request_id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":line\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":user_id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":application\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":function\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":file\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":pid\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":crash_reason\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":initial_call\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":registered_name\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":none\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Ident\"}},[_c('el-input',{attrs:{\"value\":_vm.exsyslogger.ident},on:{\"input\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'ident')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A string that’s prepended to every message, and is typically set to the app name. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Elixir\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Facility\"}},[_c('el-input',{attrs:{\"value\":_vm.exsyslogger.facility},on:{\"input\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'facility')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Syslog facility to be used. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":local0\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Options\"}},[_c('el-select',{attrs:{\"value\":_vm.exsyslogger.option || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'option')}}},[_c('el-option',{attrs:{\"value\":\":pid\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":cons\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":odelay\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":ndelay\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":perror\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Syslog option to be used. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":ndelay.\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"webhookUrl\",attrs:{\"model\":_vm.webhookUrl,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Quack logger:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Webhook URL\"}},[_c('el-input',{attrs:{\"value\":_vm.webhookUrl.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'webhook_url', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"level\",attrs:{\"model\":_vm.level,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Level\"}},[_c('el-select',{attrs:{\"value\":_vm.level.value,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'level', 'value')}}},[_c('el-option',{attrs:{\"value\":\":debug\",\"label\":\":debug - for debug-related messages\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":info\",\"label\":\":info - for information of any kind\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":warn\",\"label\":\":warn - for warnings\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":error\",\"label\":\":error - for errors\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Logging level. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":info.\")])])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"meta\",attrs:{\"model\":_vm.meta,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Metadata\"}},[_c('el-select',{attrs:{\"value\":_vm.meta.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'meta', 'value')}}},[_c('el-option',{attrs:{\"value\":\":all\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":module\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":function\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":file\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":application\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":line\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":pid\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":crash_reason\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":initial_call\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":registered_name\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":none\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailer.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"mailer\" :model=\"mailer\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"mailer.enabled\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'enabled')\"/>\n <p class=\"expl\">Allows to enable or disable sending emails. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Adapter\">\n <el-select :value=\"mailer.adapter\" clearable @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'adapter')\">\n <el-option\n v-for=\"item in adapterOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <div class=\"line\"/>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Sendmail'\">\n <el-form-item label=\"CMD Path\">\n <el-input :value=\"mailer.cmd_path\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'cmd_path')\"/>\n <p class=\"expl\">E. g. <span class=\"code\">/usr/bin/sendmail\"</span></p>\n </el-form-item>\n <el-form-item label=\"CMD Args\">\n <el-input :value=\"mailer.cmd_args\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'cmd_args')\"/>\n <p class=\"expl\">E. g. <span class=\"code\">-N delay,failure,success</span></p>\n </el-form-item>\n <el-form-item label=\"Qmail\">\n <el-switch :value=\"mailer.qmail\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'qmail')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.SMTP'\">\n <el-form-item label=\"Relay\">\n <el-input :value=\"mailer.relay\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'relay')\"/>\n <p class=\"expl\">E. g. <span class=\"code\">smtp.avengers.com</span></p>\n </el-form-item>\n <el-form-item label=\"Username\">\n <el-input :value=\"mailer.username\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'username')\"/>\n </el-form-item>\n <el-form-item label=\"Password\">\n <el-input :value=\"mailer.password\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'password')\"/>\n </el-form-item>\n <el-form-item label=\"SSL\">\n <el-switch :value=\"mailer.ssl\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'ssl')\"/>\n </el-form-item>\n <el-form-item label=\"TLS\">\n <el-input :value=\"mailer.tls\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'tls')\"/>\n <p class=\"expl\">E.g. <span class=\"code\">:always</span></p>\n </el-form-item>\n <el-form-item label=\"Auth\">\n <el-input :value=\"mailer.auth\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'auth')\"/>\n <p class=\"expl\">E.g. <span class=\"code\">:always</span></p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"mailer.port\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'port')\"/>\n </el-form-item>\n <el-form-item label=\"DKIM\">\n <editor v-model=\"editorContent\" height=\"150\" width=\"100%\" lang=\"elixir\" theme=\"chrome\"/>\n </el-form-item>\n <el-form-item label=\"Retries\">\n <el-input-number :value=\"mailer.retries\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'retries')\"/>\n </el-form-item>\n <el-form-item label=\"No mx lookups\">\n <el-switch :value=\"mailer.no_mx_lookups\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'no_mx_lookups')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Sendgrid'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Mandrill'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Mailgun'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n <el-form-item label=\"Domain\">\n <el-input :value=\"mailer.domain\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'domain')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Mailjet'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n <el-form-item label=\"Secret\">\n <el-input :value=\"mailer.secret\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'secret')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Postmark'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.SparkPost'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n <el-form-item label=\"Endpoint\">\n <el-input :value=\"mailer.endpoint\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'endpoint')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.AmazonSES'\">\n <el-form-item label=\"Region\">\n <el-input :value=\"mailer.region\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'region')\"/>\n </el-form-item>\n <el-form-item label=\"Access key\">\n <el-input :value=\"mailer.access_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'access_key')\"/>\n </el-form-item>\n <el-form-item label=\"Secret\">\n <el-input :value=\"mailer.secret\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'secret')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Dyn'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.SocketLabs'\">\n <el-form-item label=\"Server ID\">\n <el-input :value=\"mailer.server_id\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'server_id')\"/>\n </el-form-item>\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Gmail'\">\n <el-form-item label=\"Access token\">\n <el-input :value=\"mailer.access_token\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'access_token')\"/>\n </el-form-item>\n </div>\n </el-form>\n <el-form ref=\"emailNotifications\" :model=\"emailNotifications\" :label-width=\"labelWidth\">\n <el-form-item label=\"Email notifications\"/>\n <el-form-item label=\"Digest:\"/>\n <el-form-item label=\"Active\">\n <el-switch :value=\"emailNotifications.digest.active\" @change=\"processNestedData($event, 'email_notifications', 'digest', 'active')\"/>\n <p class=\"expl\">Globally enable or disable digest emails.</p>\n </el-form-item>\n <el-form-item label=\"Schedule\">\n <el-input :value=\"emailNotifications.digest.schedule\" @input=\"processNestedData($event, 'email_notifications', 'digest', 'schedule')\"/>\n <p class=\"expl\">When to send digest email, in <a\n href=\"https://en.wikipedia.org/wiki/Cron\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n crontab format\n </a>.\n \"0 0 * * 0\" is the default, meaning \"once a week at midnight on Sunday morning\"</p>\n </el-form-item>\n <el-form-item label=\"Interval\">\n <el-input-number :value=\"emailNotifications.digest.interval\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'email_notifications', 'digest', 'interval')\"/>\n <p class=\"expl\">Minimum interval between digest emails to one user.</p>\n </el-form-item>\n <el-form-item label=\"Inactivity threshold\">\n <el-input-number :value=\"emailNotifications.digest.inactivity_threshold\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'email_notifications', 'digest', 'inactivity_threshold')\"/>\n <p class=\"expl\">Minimum user inactivity threshold.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"userEmail\" :model=\"userEmail\" :label-width=\"labelWidth\">\n <el-form-item label=\"Digest template styles:\"/>\n <el-form-item label=\"Logo\">\n <el-input :value=\"userEmail.logo\" @input=\"updateSetting($event, 'Pleroma.Emails.UserEmail', 'logo')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendEmailLogo\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">A path to a custom logo.</p>\n </el-form-item>\n <el-form-item label=\"Styling:\"/>\n <el-form-item label=\"Link color\">\n <el-input :value=\"userEmail.styling.link_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'link_color')\"/>\n </el-form-item>\n <el-form-item label=\"Background color\">\n <el-input :value=\"userEmail.styling.background_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'background_color')\"/>\n </el-form-item>\n <el-form-item label=\"Content background color\">\n <el-input :value=\"userEmail.styling.content_background_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'content_background_color')\"/>\n </el-form-item>\n <el-form-item label=\"Header color\">\n <el-input :value=\"userEmail.styling.header_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'header_color')\"/>\n </el-form-item>\n <el-form-item label=\"Text color\">\n <el-input :value=\"userEmail.styling.text_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'text_color')\"/>\n </el-form-item>\n <el-form-item label=\"Text muted color\">\n <el-input :value=\"userEmail.styling.text_muted_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'text_muted_color')\"/>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\nimport AceEditor from 'vue2-ace-editor'\nimport 'brace/mode/elixir'\nimport 'default-passive-events'\n\nexport default {\n name: 'Mailer',\n components: {\n editor: AceEditor\n },\n computed: {\n ...mapGetters([\n 'emailNotifications',\n 'mailer',\n 'userEmail'\n ]),\n editorContent: {\n get: function() {\n return this.mailer.dkim ? this.mailer.dkim[0] : ''\n },\n set: function(value) {\n this.updateSetting([value], 'Pleroma.Emails.Mailer', 'dkim')\n }\n },\n adapterOptions() {\n return options.adapterOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n sendEmailLogo({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'Pleroma.Emails.UserEmail', inputName: 'logo' })\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Mailer.vue?vue&type=template&id=2da96af2&\"\nimport script from \"./Mailer.vue?vue&type=script&lang=js&\"\nexport * from \"./Mailer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Mailer.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Mailer.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"mailer\",attrs:{\"model\":_vm.mailer,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.mailer.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows to enable or disable sending emails. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Adapter\"}},[_c('el-select',{attrs:{\"value\":_vm.mailer.adapter,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'adapter')}}},_vm._l((_vm.adapterOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Sendmail')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"CMD Path\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.cmd_path},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'cmd_path')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E. g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"/usr/bin/sendmail\\\"\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"CMD Args\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.cmd_args},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'cmd_args')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E. g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"-N delay,failure,success\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Qmail\"}},[_c('el-switch',{attrs:{\"value\":_vm.mailer.qmail},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'qmail')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.SMTP')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Relay\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.relay},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'relay')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E. g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"smtp.avengers.com\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Username\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.username},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'username')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Password\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.password},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'password')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"SSL\"}},[_c('el-switch',{attrs:{\"value\":_vm.mailer.ssl},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'ssl')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"TLS\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.tls},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'tls')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E.g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\":always\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Auth\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.auth},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'auth')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E.g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\":always\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.port},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'port')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"DKIM\"}},[_c('editor',{attrs:{\"height\":\"150\",\"width\":\"100%\",\"lang\":\"elixir\",\"theme\":\"chrome\"},model:{value:(_vm.editorContent),callback:function ($$v) {_vm.editorContent=$$v},expression:\"editorContent\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Retries\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mailer.retries,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'retries')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"No mx lookups\"}},[_c('el-switch',{attrs:{\"value\":_vm.mailer.no_mx_lookups},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'no_mx_lookups')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Sendgrid')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Mandrill')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Mailgun')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Domain\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.domain},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'domain')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Mailjet')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Secret\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'secret')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Postmark')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.SparkPost')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Endpoint\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.endpoint},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'endpoint')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.AmazonSES')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Region\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.region},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'region')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Access key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.access_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'access_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Secret\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'secret')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Dyn')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.SocketLabs')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Server ID\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.server_id},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'server_id')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Gmail')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Access token\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.access_token},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'access_token')}}})],1)],1):_vm._e()],1),_vm._v(\" \"),_c('el-form',{ref:\"emailNotifications\",attrs:{\"model\":_vm.emailNotifications,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Email notifications\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Digest:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Active\"}},[_c('el-switch',{attrs:{\"value\":_vm.emailNotifications.digest.active},on:{\"change\":function($event){return _vm.processNestedData($event, 'email_notifications', 'digest', 'active')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Globally enable or disable digest emails.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Schedule\"}},[_c('el-input',{attrs:{\"value\":_vm.emailNotifications.digest.schedule},on:{\"input\":function($event){return _vm.processNestedData($event, 'email_notifications', 'digest', 'schedule')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When to send digest email, in \"),_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Cron\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n crontab format\\n \")]),_vm._v(\".\\n \\\"0 0 * * 0\\\" is the default, meaning \\\"once a week at midnight on Sunday morning\\\"\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Interval\"}},[_c('el-input-number',{attrs:{\"value\":_vm.emailNotifications.digest.interval,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'email_notifications', 'digest', 'interval')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Minimum interval between digest emails to one user.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Inactivity threshold\"}},[_c('el-input-number',{attrs:{\"value\":_vm.emailNotifications.digest.inactivity_threshold,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'email_notifications', 'digest', 'inactivity_threshold')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Minimum user inactivity threshold.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"userEmail\",attrs:{\"model\":_vm.userEmail,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Digest template styles:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.logo},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.UserEmail', 'logo')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendEmailLogo,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A path to a custom logo.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Styling:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Link color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.link_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'link_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.background_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'background_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Content background color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.content_background_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'content_background_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Header color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.header_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'header_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Text color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.text_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'text_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Text muted color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.text_muted_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'text_muted_color')}}})],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaProxy.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaProxy.vue?vue&type=script&lang=js&\"","<template>\n <el-form ref=\"mediaProxy\" :model=\"mediaProxy\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"mediaProxy.enabled\" @change=\"updateSetting($event, 'media_proxy', 'enabled')\"/>\n <p class=\"expl\">Enables proxying of remote media to the instance’s proxy</p>\n </el-form-item>\n <el-form-item label=\"Base URL\">\n <el-input :value=\"mediaProxy.base_url\" @input=\"updateSetting($event, 'media_proxy', 'base_url')\"/>\n <p class=\"expl\">The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts.</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Proxy options:\"/>\n <el-form-item label=\"Redirect on failure\">\n <el-switch :value=\"mediaProxy.proxy_opts.redirect_on_failure\" @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'redirect_on_failure')\"/>\n <p class=\"expl\">Redirects the client to the real remote URL if there's any HTTP errors. Any error during body processing will not be redirected as the response is chunked</p>\n </el-form-item>\n <el-form-item label=\"Max body length (MB)\">\n <el-input-number :value=\"mediaProxy.proxy_opts.max_body_length / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1048576, 'media_proxy', 'proxy_opts', 'max_body_length')\"/>\n <p class=\"expl\">Limits the content length to be approximately the specified length</p>\n </el-form-item>\n <el-form-item label=\"Max read duration (s)\">\n <el-input-number :value=\"mediaProxy.proxy_opts.max_read_duration\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'max_read_duration')\"/>\n <p class=\"expl\">The total time the connection is allowed to read from the remote upstream</p>\n </el-form-item>\n <el-form-item label=\"Inline content types\">\n <el-select :value=\"inlineContentTypes\" clearable @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'inline_content_types')\">\n <el-option :value=\"true\" label=\"True\"/>\n <el-option :value=\"false\" label=\"False\"/>\n <el-option value=\"whitelistedTypeArray\" label=\"List of whitelisted content types\"/>\n <el-option value=\"keepUserAgent\" label=\"Forward client's user-agent to the upstream\"/>\n </el-select>\n <p v-if=\"inlineContentTypes === true\" class=\"expl\">Will not alter <span class=\"code\">content-disposition</span> (up to the upstream)</p>\n <p v-if=\"!inlineContentTypes\" class=\"expl\">Will add <span class=\"code\">content-disposition: attachment</span> to any request</p>\n <p v-if=\"inlineContentTypes === 'keepUserAgent'\" class=\"expl\">\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\n doing content transformation (encoding, …) depending on the request.\n </p>\n </el-form-item>\n <el-form-item v-if=\"inlineContentTypes === 'whitelistedTypeArray'\" label=\"Whitelisted content types\">\n <el-select :value=\"whitelistedContentTypes\" multiple filterable allow-create @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'inline_content_types')\">\n <el-option\n v-for=\"item in whitelistedContentTypesOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Request headers\">\n <el-select :value=\"mediaProxy.proxy_opts.req_headers || []\" multiple filterable allow-create @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'req_headers')\"/>\n <p class=\"expl\"><span class=\"code\">resp_headers</span> additional headers</p>\n </el-form-item>\n <el-form-item label=\"HTTP:\"/>\n <el-form-item label=\"Follow redirect\">\n <el-switch :value=\"http.follow_redirect\" @change=\"processHttpSettings($event, 'media_proxy', 'proxy_opts', 'http', 'follow_redirect')\"/>\n </el-form-item>\n <el-form-item label=\"Pool\">\n <el-select :value=\"http.pool\" clearable @change=\"processHttpSettings($event, 'media_proxy', 'proxy_opts', 'http', 'pool')\">\n <el-option\n v-for=\"item in hackneyPoolsOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">{{ getPoolExpl(http.pool) }}</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Whitelist\">\n <el-select :value=\"mediaProxy.whitelist || []\" multiple filterable allow-create @change=\"updateSetting($event, 'media_proxy', 'whitelist')\"/>\n <p class=\"expl\">List of domains to bypass the mediaproxy</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\n\nexport default {\n name: 'MediaProxy',\n computed: {\n ...mapGetters([\n 'mediaProxy'\n ]),\n inlineContentTypes() {\n return Array.isArray(this.mediaProxy.proxy_opts.inline_content_types) ? 'whitelistedTypeArray' : this.mediaProxy.proxy_opts.inline_content_types\n },\n http() {\n return this.mediaProxy.proxy_opts.http || {}\n },\n reqHeadersOptions() {\n return this.mediaProxySettings.reqHeadersOptions\n },\n hackneyPoolsOptions() {\n return options.hackneyPoolsOptions\n },\n whitelistedContentTypes() {\n return Array.isArray(this.mediaProxy.proxy_opts.inline_content_types) ? this.mediaProxy.proxy_opts.inline_content_types : []\n },\n whitelistedContentTypesOptions() {\n return options.whitelistedContentTypesOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n getPoolExpl(value) {\n const pool = this.hackneyPoolsOptions.find(el => el.value === value)\n return pool ? 'Max connections: ' + pool.max_connections + ', timeout: ' + pool.timeout : ''\n },\n processHttpSettings(value, tab, section, httpSection, input) {\n const updatedValue = { ...this.mediaProxy[section][httpSection], ...{ [input]: value }}\n this.processNestedData(updatedValue, tab, section, httpSection)\n },\n processNestedData(value, tab, section, input) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][section], ...{ [input]: value }}\n this.updateSetting(updatedValue, tab, section)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./MediaProxy.vue?vue&type=template&id=566b164a&\"\nimport script from \"./MediaProxy.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaProxy.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MediaProxy.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"MediaProxy.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"mediaProxy\",attrs:{\"model\":_vm.mediaProxy,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.mediaProxy.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'media_proxy', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables proxying of remote media to the instance’s proxy\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Base URL\"}},[_c('el-input',{attrs:{\"value\":_vm.mediaProxy.base_url},on:{\"input\":function($event){return _vm.updateSetting($event, 'media_proxy', 'base_url')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts.\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Proxy options:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect on failure\"}},[_c('el-switch',{attrs:{\"value\":_vm.mediaProxy.proxy_opts.redirect_on_failure},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'redirect_on_failure')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Redirects the client to the real remote URL if there's any HTTP errors. Any error during body processing will not be redirected as the response is chunked\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max body length (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mediaProxy.proxy_opts.max_body_length / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1048576, 'media_proxy', 'proxy_opts', 'max_body_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Limits the content length to be approximately the specified length\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max read duration (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mediaProxy.proxy_opts.max_read_duration,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'max_read_duration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The total time the connection is allowed to read from the remote upstream\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Inline content types\"}},[_c('el-select',{attrs:{\"value\":_vm.inlineContentTypes,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'inline_content_types')}}},[_c('el-option',{attrs:{\"value\":true,\"label\":\"True\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":false,\"label\":\"False\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"whitelistedTypeArray\",\"label\":\"List of whitelisted content types\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"keepUserAgent\",\"label\":\"Forward client's user-agent to the upstream\"}})],1),_vm._v(\" \"),(_vm.inlineContentTypes === true)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Will not alter \"),_c('span',{staticClass:\"code\"},[_vm._v(\"content-disposition\")]),_vm._v(\" (up to the upstream)\")]):_vm._e(),_vm._v(\" \"),(!_vm.inlineContentTypes)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Will add \"),_c('span',{staticClass:\"code\"},[_vm._v(\"content-disposition: attachment\")]),_vm._v(\" to any request\")]):_vm._e(),_vm._v(\" \"),(_vm.inlineContentTypes === 'keepUserAgent')?_c('p',{staticClass:\"expl\"},[_vm._v(\"\\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\\n doing content transformation (encoding, …) depending on the request.\\n \")]):_vm._e()],1),_vm._v(\" \"),(_vm.inlineContentTypes === 'whitelistedTypeArray')?_c('el-form-item',{attrs:{\"label\":\"Whitelisted content types\"}},[_c('el-select',{attrs:{\"value\":_vm.whitelistedContentTypes,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'inline_content_types')}}},_vm._l((_vm.whitelistedContentTypesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Request headers\"}},[_c('el-select',{attrs:{\"value\":_vm.mediaProxy.proxy_opts.req_headers || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'req_headers')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_c('span',{staticClass:\"code\"},[_vm._v(\"resp_headers\")]),_vm._v(\" additional headers\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"HTTP:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Follow redirect\"}},[_c('el-switch',{attrs:{\"value\":_vm.http.follow_redirect},on:{\"change\":function($event){return _vm.processHttpSettings($event, 'media_proxy', 'proxy_opts', 'http', 'follow_redirect')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pool\"}},[_c('el-select',{attrs:{\"value\":_vm.http.pool,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processHttpSettings($event, 'media_proxy', 'proxy_opts', 'http', 'pool')}}},_vm._l((_vm.hackneyPoolsOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(_vm._s(_vm.getPoolExpl(_vm.http.pool)))])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Whitelist\"}},[_c('el-select',{attrs:{\"value\":_vm.mediaProxy.whitelist || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'media_proxy', 'whitelist')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of domains to bypass the mediaproxy\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Metadata.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Metadata.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"metadata\" :model=\"metadata\" :label-width=\"labelWidth\">\n <el-form-item label=\"Providers\">\n <el-select :value=\"metadata.providers || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Web.Metadata', 'providers')\">\n <el-option value=\"Pleroma.Web.Metadata.Providers.OpenGraph\"/>\n <el-option value=\"Pleroma.Web.Metadata.Providers.TwitterCard\"/>\n <el-option value=\"Pleroma.Web.Metadata.Providers.RelMe\"/>\n </el-select>\n <p class=\"expl\">A list of metadata providers to enable.</p>\n </el-form-item>\n <el-form-item label=\"Unfurl NSFW\">\n <el-switch :value=\"metadata.unfurl_nsfw\" @change=\"updateSetting($event, 'Pleroma.Web.Metadata', 'unfurl_nsfw')\"/>\n <p class=\"expl\">If set to true nsfw attachments will be shown in previews.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"richMedia\" :model=\"richMedia\" :label-width=\"labelWidth\">\n <el-form-item label=\"Rich media:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"richMedia.enabled\" @change=\"updateSetting($event, 'rich_media', 'enabled')\"/>\n <p class=\"expl\">If enabled the instance will parse metadata from attached links to generate link previews.</p>\n </el-form-item>\n <el-form-item label=\"Ignore hosts\">\n <el-select :value=\"richMedia.ignore_hosts || []\" multiple filterable allow-create @change=\"updateSetting($event, 'rich_media', 'ignore_hosts')\"/>\n <p class=\"expl\">List of hosts which will be ignored by the metadata parser.</p>\n </el-form-item>\n <el-form-item label=\"Ignore TLD\">\n <el-select :value=\"richMedia.ignore_tld || []\" multiple filterable allow-create @change=\"updateSetting($event, 'rich_media', 'ignore_tld')\"/>\n <p class=\"expl\">List TLDs (top-level domains) which will ignore for parse metadata.\n Default is <span class=\"code\">[\"local\", \"localdomain\", \"lan\"]</span></p>\n </el-form-item>\n <el-form-item label=\"Parsers\">\n <el-select :value=\"richMedia.parsers || []\" multiple filterable allow-create @change=\"updateSetting($event, 'rich_media', 'parsers')\">\n <el-option value=\"Pleroma.Web.RichMedia.Parsers.TwitterCard\"/>\n <el-option value=\"Pleroma.Web.RichMedia.Parsers.OGP\"/>\n <el-option value=\"Pleroma.Web.RichMedia.Parsers.OEmbed\"/>\n </el-select>\n <p class=\"expl\">List of Rich Media parsers</p>\n </el-form-item>\n <el-form-item label=\"TTL Setters\">\n <el-select :value=\"richMedia.ttl_setters || []\" multiple filterable allow-create @change=\"updateSetting($event, 'rich_media', 'ttl_setters')\">\n <el-option value=\"Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl\"/>\n </el-select>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\n\nexport default {\n name: 'Metadata',\n computed: {\n ...mapGetters([\n 'metadata',\n 'richMedia'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Metadata.vue?vue&type=template&id=5d0a5fd6&\"\nimport script from \"./Metadata.vue?vue&type=script&lang=js&\"\nexport * from \"./Metadata.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Metadata.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Metadata.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"metadata\",attrs:{\"model\":_vm.metadata,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Providers\"}},[_c('el-select',{attrs:{\"value\":_vm.metadata.providers || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Metadata', 'providers')}}},[_c('el-option',{attrs:{\"value\":\"Pleroma.Web.Metadata.Providers.OpenGraph\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Pleroma.Web.Metadata.Providers.TwitterCard\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Pleroma.Web.Metadata.Providers.RelMe\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of metadata providers to enable.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unfurl NSFW\"}},[_c('el-switch',{attrs:{\"value\":_vm.metadata.unfurl_nsfw},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Metadata', 'unfurl_nsfw')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If set to true nsfw attachments will be shown in previews.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"richMedia\",attrs:{\"model\":_vm.richMedia,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Rich media:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.richMedia.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If enabled the instance will parse metadata from attached links to generate link previews.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Ignore hosts\"}},[_c('el-select',{attrs:{\"value\":_vm.richMedia.ignore_hosts || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'ignore_hosts')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of hosts which will be ignored by the metadata parser.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Ignore TLD\"}},[_c('el-select',{attrs:{\"value\":_vm.richMedia.ignore_tld || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'ignore_tld')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List TLDs (top-level domains) which will ignore for parse metadata.\\n Default is \"),_c('span',{staticClass:\"code\"},[_vm._v(\"[\\\"local\\\", \\\"localdomain\\\", \\\"lan\\\"]\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Parsers\"}},[_c('el-select',{attrs:{\"value\":_vm.richMedia.parsers || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'parsers')}}},[_c('el-option',{attrs:{\"value\":\"Pleroma.Web.RichMedia.Parsers.TwitterCard\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Pleroma.Web.RichMedia.Parsers.OGP\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Pleroma.Web.RichMedia.Parsers.OEmbed\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of Rich Media parsers\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"TTL Setters\"}},[_c('el-select',{attrs:{\"value\":_vm.richMedia.ttl_setters || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'ttl_setters')}}},[_c('el-option',{attrs:{\"value\":\"Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MRF.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MRF.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"mrfSimple\" :model=\"mrfSimple\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Simple:\"/>\n <el-form-item label=\"Media removal\">\n <el-select :value=\"mrfSimple.media_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'media_removal')\"/>\n <p class=\"expl\">List of instances to remove medias from</p>\n </el-form-item>\n <el-form-item label=\"Media NSFW\">\n <el-select :value=\"mrfSimple.media_nsfw || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'media_nsfw')\"/>\n <p class=\"expl\">List of instances to put medias as NSFW (sensitive)</p>\n </el-form-item>\n <el-form-item label=\"Federated timeline removal\">\n <el-select :value=\"mrfSimple.federated_timeline_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'federated_timeline_removal')\"/>\n <p class=\"expl\">List of instances to remove from Federated (aka The Whole Known Network) Timeline</p>\n </el-form-item>\n <el-form-item label=\"Reject\">\n <el-select :value=\"mrfSimple.reject || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'reject')\"/>\n <p class=\"expl\">List of instances to reject any activities from</p>\n </el-form-item>\n <el-form-item label=\"Accept\">\n <el-select :value=\"mrfSimple.accept || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'accept')\"/>\n <p class=\"expl\">List of instances to accept any activities from</p>\n </el-form-item>\n <el-form-item label=\"Report removal\">\n <el-select :value=\"mrfSimple.report_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'report_removal')\"/>\n <p class=\"expl\">List of instances to reject reports from</p>\n </el-form-item>\n <el-form-item label=\"Avatar removal\">\n <el-select :value=\"mrfSimple.avatar_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'avatar_removal')\"/>\n <p class=\"expl\">List of instances to strip avatars from</p>\n </el-form-item>\n <el-form-item label=\"Banner removal\">\n <el-select :value=\"mrfSimple.banner_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'banner_removal')\"/>\n <p class=\"expl\">List of instances to strip banners from</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfRejectnonpublic\" :model=\"mrfRejectnonpublic\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Reject non public:\"/>\n <el-form-item label=\"Allow followers-only posts\">\n <el-switch :value=\"mrfRejectnonpublic.allow_followersonly\" @change=\"updateSetting($event, 'mrf_rejectnonpublic', 'allow_followersonly')\"/>\n </el-form-item>\n <el-form-item label=\"Allow direct messages\">\n <el-switch :value=\"mrfRejectnonpublic.allow_direct\" @change=\"updateSetting($event, 'mrf_rejectnonpublic', 'allow_direct')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfHellthread\" :model=\"mrfHellthread\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Hellthread:\"/>\n <el-form-item label=\"Delist threshold\">\n <el-input-number :value=\"mrfHellthread.delist_threshold\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'mrf_hellthread', 'delist_threshold')\"/>\n <p class=\"expl\">Number of mentioned users after which the message gets delisted\n (the message can still be seen, but it will not show up in public timelines and mentioned users won't get notifications about it).\n Set to 0 to disable.</p>\n </el-form-item>\n <el-form-item label=\"Reject threshold\">\n <el-input-number :value=\"mrfHellthread.reject_threshold\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'mrf_hellthread', 'reject_threshold')\"/>\n <p class=\"expl\">Number of mentioned users after which the messaged gets rejected. Set to 0 to disable.</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"mrfKeyword\" :model=\"mrfKeyword\" :label-width=\"labelWidth\">\n <div class=\"line\"/>\n <el-form-item label=\"MRF Keyword:\"/>\n <el-form-item label=\"Reject\">\n <el-select :value=\"mrfKeyword.reject || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_keyword', 'reject')\"/>\n <p class=\"expl\">A list of patterns which result in message being rejected</p>\n </el-form-item>\n <el-form-item label=\"Federated timeline removal\">\n <el-select :value=\"mrfKeyword.federated_timeline_removal\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_keyword', 'federated_timeline_removal')\"/>\n <p class=\"expl\">A list of patterns which result in message being removed from federated timelines (a.k.a unlisted)</p>\n </el-form-item>\n <el-form-item label=\"Replace\">\n <div v-for=\"([key, value], index) in replacePatterns\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"key\" placeholder=\"pattern\" class=\"name-input\" @input=\"parseReplace($event, 'key', index)\"/> :\n <el-input :value=\"value\" placeholder=\"replacement\" class=\"value-input\" @input=\"parseReplace($event, 'value', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteReplaceRow(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addReplaceRow\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfSubchain\" :model=\"mrfSubchain\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Subchain:\"/>\n <el-form-item label=\"Match actor:\">\n <div v-for=\"([regExp, policies], index) in matchActor\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"regExp\" placeholder=\"Regular expression\" class=\"name-input\" @input=\"parseMrfSubchain($event, 'regExp', index)\"/> :\n <el-select :value=\"policies\" placeholder=\"Policy modules\" multiple filterable allow-create class=\"value-input\" @change=\"parseMrfSubchain($event, 'policies', index)\">\n <el-option\n v-for=\"item in policiesOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteMrfSubchainRow(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addMrfSubchainRow\"/>\n <p class=\"expl\">Matches a series of regular expressions against the actor field.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfMention\" :model=\"mrfMention\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Mention:\"/>\n <el-form-item label=\"Actors\">\n <el-select :value=\"mrfMention.actors || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_mention', 'actors')\"/>\n <p class=\"expl\">A list of actors, for which to drop any posts mentioning.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfUserAllowlist\" :model=\"mrfUserAllowlist\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF User allowlist\">\n <div v-for=\"([domain, users], index) in userAllowlist\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"domain\" placeholder=\"domain\" class=\"name-input\" @input=\"parseMrfUserAllowlist($event, 'domain', index)\"/> :\n <el-select :value=\"users\" placeholder=\"list of users\" multiple filterable allow-create class=\"value-input\" @change=\"parseMrfUserAllowlist($event, 'users', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteMrfUserAllowlistRow(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addMrfUserAllowlistRow\"/>\n <p class=\"expl\">The keys in this section are the domain names that the policy should apply to. Each key should be assigned a list of users that should be allowed through by their ActivityPub ID.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfNormalizeMarkup\" :model=\"mrfNormalizeMarkup\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF normalize markup:\"/>\n <el-form-item label=\"Scrub policy\">\n <el-input :value=\"mrfNormalizeMarkup.scrub_policy\" @input=\"updateSetting($event, 'mrf_normalize_markup', 'scrub_policy')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfVocabulary\" :model=\"mrfVocabulary\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Vocabulary:\"/>\n <el-form-item label=\"Accept\">\n <el-select :value=\"mrfVocabulary.accept || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_vocabulary', 'accept')\"/>\n <p class=\"expl\">A list of ActivityStreams terms to accept. If empty, all supported messages are accepted.</p>\n </el-form-item>\n <el-form-item label=\"Reject\">\n <el-select :value=\"mrfVocabulary.reject || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_vocabulary', 'reject')\"/>\n <p class=\"expl\">A list of ActivityStreams terms to reject. If empty, no messages are rejected.</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport i18n from '@/lang'\nimport { options } from './options'\n\nexport default {\n name: 'MRF',\n data: function() {\n return {\n removableDoubleOptions: ['replace', 'mrfUserAllowlist'],\n removableSingleOptions: ['keywordReject', 'federatedTimelineRemoval']\n }\n },\n computed: {\n ...mapGetters([\n 'mrfHellthread',\n 'mrfKeyword',\n 'mrfMention',\n 'mrfNormalizeMarkup',\n 'mrfSimple',\n 'mrfSubchain',\n 'mrfRejectnonpublic',\n 'mrfUserAllowlist',\n 'mrfVocabulary'\n ]),\n matchActor() {\n return Object.keys(this.mrfSubchain.match_actor).map(key => [key, this.mrfSubchain.match_actor[key]])\n },\n policiesOptions() {\n return options.rewritePolicyOptions\n },\n replacePatterns() {\n return Object.keys(this.mrfKeyword.replace).map(key => [key, this.mrfKeyword.replace[key]])\n },\n userAllowlist() {\n return Object.keys(this.mrfUserAllowlist).map(key => [key, this.mrfUserAllowlist[key]])\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n addMrfSubchainRow() {\n const updatedValue = this.matchActor.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting({ ...updatedValue, '': [] }, 'mrf_subchain', 'match_actor')\n },\n addMrfUserAllowlistRow() {\n const updatedValue = this.userAllowlist.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.$store.dispatch('RewriteConfig', { data: { ...updatedValue, '': [] }, tab: 'mrf_user_allowlist' })\n },\n addReplaceRow() {\n const updatedValue = this.replacePatterns.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting({ ...updatedValue, '': '' }, 'mrf_keyword', 'replace')\n },\n deleteMrfSubchainRow(index) {\n const filteredValues = this.matchActor.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'mrf_subchain', 'match_actor')\n },\n deleteMrfUserAllowlistRow(index) {\n const filteredValues = this.userAllowlist.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.$store.dispatch('RewriteConfig', { data: updatedValue, tab: 'mrf_user_allowlist' })\n },\n deleteReplaceRow(index) {\n const filteredValues = this.replacePatterns.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'mrf_keyword', 'replace')\n },\n parseMrfSubchain(value, inputType, index) {\n const updatedValue = this.matchActor.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'regExp' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'mrf_subchain', 'match_actor')\n },\n parseMrfUserAllowlist(value, inputType, index) {\n const updatedValue = this.userAllowlist.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'domain' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.$store.dispatch('RewriteConfig', { data: updatedValue, tab: 'mrf_user_allowlist' })\n },\n parseReplace(value, inputType, index) {\n const updatedValue = this.replacePatterns.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'key' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'mrf_keyword', 'replace')\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./MRF.vue?vue&type=template&id=ca66c63c&\"\nimport script from \"./MRF.vue?vue&type=script&lang=js&\"\nexport * from \"./MRF.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MRF.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"MRF.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"mrfSimple\",attrs:{\"model\":_vm.mrfSimple,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Simple:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Media removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.media_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'media_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to remove medias from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Media NSFW\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.media_nsfw || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'media_nsfw')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to put medias as NSFW (sensitive)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federated timeline removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.federated_timeline_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'federated_timeline_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to remove from Federated (aka The Whole Known Network) Timeline\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reject\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.reject || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'reject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to reject any activities from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Accept\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.accept || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'accept')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to accept any activities from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Report removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.report_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'report_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to reject reports from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Avatar removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.avatar_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'avatar_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to strip avatars from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Banner removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.banner_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'banner_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to strip banners from\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfRejectnonpublic\",attrs:{\"model\":_vm.mrfRejectnonpublic,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Reject non public:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow followers-only posts\"}},[_c('el-switch',{attrs:{\"value\":_vm.mrfRejectnonpublic.allow_followersonly},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_rejectnonpublic', 'allow_followersonly')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow direct messages\"}},[_c('el-switch',{attrs:{\"value\":_vm.mrfRejectnonpublic.allow_direct},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_rejectnonpublic', 'allow_direct')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfHellthread\",attrs:{\"model\":_vm.mrfHellthread,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Hellthread:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Delist threshold\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mrfHellthread.delist_threshold,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_hellthread', 'delist_threshold')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Number of mentioned users after which the message gets delisted\\n (the message can still be seen, but it will not show up in public timelines and mentioned users won't get notifications about it).\\n Set to 0 to disable.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reject threshold\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mrfHellthread.reject_threshold,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_hellthread', 'reject_threshold')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Number of mentioned users after which the messaged gets rejected. Set to 0 to disable.\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"mrfKeyword\",attrs:{\"model\":_vm.mrfKeyword,\"label-width\":_vm.labelWidth}},[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"MRF Keyword:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reject\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfKeyword.reject || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_keyword', 'reject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of patterns which result in message being rejected\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federated timeline removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfKeyword.federated_timeline_removal,\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_keyword', 'federated_timeline_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of patterns which result in message being removed from federated timelines (a.k.a unlisted)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Replace\"}},[_vm._l((_vm.replacePatterns),function(ref,index){\nvar key = ref[0];\nvar value = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":key,\"placeholder\":\"pattern\"},on:{\"input\":function($event){return _vm.parseReplace($event, 'key', index)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"value-input\",attrs:{\"value\":value,\"placeholder\":\"replacement\"},on:{\"input\":function($event){return _vm.parseReplace($event, 'value', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteReplaceRow(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addReplaceRow}})],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfSubchain\",attrs:{\"model\":_vm.mrfSubchain,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Subchain:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Match actor:\"}},[_vm._l((_vm.matchActor),function(ref,index){\nvar regExp = ref[0];\nvar policies = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":regExp,\"placeholder\":\"Regular expression\"},on:{\"input\":function($event){return _vm.parseMrfSubchain($event, 'regExp', index)}}}),_vm._v(\" :\\n \"),_c('el-select',{staticClass:\"value-input\",attrs:{\"value\":policies,\"placeholder\":\"Policy modules\",\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.parseMrfSubchain($event, 'policies', index)}}},_vm._l((_vm.policiesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteMrfSubchainRow(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addMrfSubchainRow}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Matches a series of regular expressions against the actor field.\")])],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfMention\",attrs:{\"model\":_vm.mrfMention,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Mention:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Actors\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfMention.actors || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_mention', 'actors')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of actors, for which to drop any posts mentioning.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfUserAllowlist\",attrs:{\"model\":_vm.mrfUserAllowlist,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF User allowlist\"}},[_vm._l((_vm.userAllowlist),function(ref,index){\nvar domain = ref[0];\nvar users = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":domain,\"placeholder\":\"domain\"},on:{\"input\":function($event){return _vm.parseMrfUserAllowlist($event, 'domain', index)}}}),_vm._v(\" :\\n \"),_c('el-select',{staticClass:\"value-input\",attrs:{\"value\":users,\"placeholder\":\"list of users\",\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.parseMrfUserAllowlist($event, 'users', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteMrfUserAllowlistRow(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addMrfUserAllowlistRow}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The keys in this section are the domain names that the policy should apply to. Each key should be assigned a list of users that should be allowed through by their ActivityPub ID.\")])],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfNormalizeMarkup\",attrs:{\"model\":_vm.mrfNormalizeMarkup,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF normalize markup:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scrub policy\"}},[_c('el-input',{attrs:{\"value\":_vm.mrfNormalizeMarkup.scrub_policy},on:{\"input\":function($event){return _vm.updateSetting($event, 'mrf_normalize_markup', 'scrub_policy')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfVocabulary\",attrs:{\"model\":_vm.mrfVocabulary,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Vocabulary:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Accept\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfVocabulary.accept || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_vocabulary', 'accept')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of ActivityStreams terms to accept. If empty, all supported messages are accepted.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reject\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfVocabulary.reject || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_vocabulary', 'reject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of ActivityStreams terms to reject. If empty, no messages are rejected.\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Other.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Other.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"formatEncoders\" :model=\"formatEncoders\" :label-width=\"labelWidth\">\n <el-form-item label=\"Phoenix Format encoders:\"/>\n <el-form-item label=\"JSON\">\n <el-input :value=\"formatEncoders.json\" @input=\"updateSetting($event, 'format_encoders', 'json')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"teslaAdapter\" :model=\"teslaAdapter\" :label-width=\"labelWidth\">\n <el-form-item label=\"Tesla adapter\">\n <el-input :value=\"teslaAdapter.value\" @input=\"updateSetting($event, 'adapter', 'value')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mimeTypesConfig\" :model=\"mimeTypesConfig\" :label-width=\"labelWidth\">\n <el-form-item label=\"Mime types\">\n <div v-for=\"([type, value], index) in mimeTypes\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"type\" placeholder=\"type\" class=\"name-input\" @input=\"parseMimeTypes($event, 'type', index)\"/> :\n <el-select :value=\"value\" multiple filterable allow-create class=\"value-input\" @change=\"parseMimeTypes($event, 'value', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteMimeTypes(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addRowToMimeTypes\"/>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Other',\n computed: {\n ...mapGetters([\n 'formatEncoders',\n 'mimeTypesConfig',\n 'teslaAdapter'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n },\n mimeTypes() {\n return Object.keys(this.mimeTypesConfig.value).map(key => [key, this.mimeTypesConfig.value[key]])\n }\n },\n methods: {\n addRowToMimeTypes() {\n const updatedValue = this.mimeTypes.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting({ ...updatedValue, '': [] }, 'types', 'value')\n },\n deleteMimeTypes(index) {\n const filteredValues = this.mimeTypes.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'types', 'value')\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n },\n parseMimeTypes(value, inputType, index) {\n const updatedValue = this.mimeTypes.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'type' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'types', 'value')\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Other.vue?vue&type=template&id=75a047f1&\"\nimport script from \"./Other.vue?vue&type=script&lang=js&\"\nexport * from \"./Other.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Other.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Other.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"formatEncoders\",attrs:{\"model\":_vm.formatEncoders,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Phoenix Format encoders:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"JSON\"}},[_c('el-input',{attrs:{\"value\":_vm.formatEncoders.json},on:{\"input\":function($event){return _vm.updateSetting($event, 'format_encoders', 'json')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"teslaAdapter\",attrs:{\"model\":_vm.teslaAdapter,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Tesla adapter\"}},[_c('el-input',{attrs:{\"value\":_vm.teslaAdapter.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'adapter', 'value')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mimeTypesConfig\",attrs:{\"model\":_vm.mimeTypesConfig,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Mime types\"}},[_vm._l((_vm.mimeTypes),function(ref,index){\nvar type = ref[0];\nvar value = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":type,\"placeholder\":\"type\"},on:{\"input\":function($event){return _vm.parseMimeTypes($event, 'type', index)}}}),_vm._v(\" :\\n \"),_c('el-select',{staticClass:\"value-input\",attrs:{\"value\":value,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.parseMimeTypes($event, 'value', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteMimeTypes(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addRowToMimeTypes}})],2),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateLimiters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateLimiters.vue?vue&type=script&lang=js&\"","<template>\n <el-form ref=\"rateLimiters\" :model=\"rateLimiters\" :label-width=\"labelWidth\">\n <el-form-item label=\"Search:\">\n <div v-if=\"!searchLimitAuthUsers\">\n <el-input :value=\"searchLimitAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'search', 'scale', 'oneLimit', searchLimitAllUsers)\"/> :\n <el-input :value=\"searchLimitAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'search', 'limit', 'oneLimit', searchLimitAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'search')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"searchLimitAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"searchLimitAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'search', 'scale', 'authUserslimit', [searchLimitUnauthUsers, searchLimitAuthUsers])\"/> :\n <el-input :value=\"searchLimitAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'search', 'limit', 'authUserslimit', [searchLimitUnauthUsers, searchLimitAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"searchLimitUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'search', 'scale', 'unauthUsersLimit', [searchLimitUnauthUsers, searchLimitAuthUsers])\"/> :\n <el-input :value=\"searchLimitUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'search', 'limit', 'unauthUsersLimit', [searchLimitUnauthUsers, searchLimitAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'search')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"App account creation:\">\n <div v-if=\"!appAccountCreationAuthUsers\">\n <el-input :value=\"appAccountCreationAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'scale', 'oneLimit', appAccountCreationAllUsers)\"/> :\n <el-input :value=\"appAccountCreationAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'limit', 'oneLimit', appAccountCreationAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'app_account_creation')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"appAccountCreationAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"appAccountCreationAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'scale', 'authUserslimit', [appAccountCreationUnauthUsers, appAccountCreationAuthUsers])\"/> :\n <el-input :value=\"appAccountCreationAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'limit', 'authUserslimit', [appAccountCreationUnauthUsers, appAccountCreationAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"appAccountCreationUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'scale', 'unauthUsersLimit', [appAccountCreationUnauthUsers, appAccountCreationAuthUsers])\"/> :\n <el-input :value=\"appAccountCreationUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'limit', 'unauthUsersLimit', [appAccountCreationUnauthUsers, appAccountCreationAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'app_account_creation')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Relations actions:\">\n <div v-if=\"!relationsActionsAuthUsers\">\n <el-input :value=\"relationsActionsAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'scale', 'oneLimit', relationsActionsAllUsers)\"/> :\n <el-input :value=\"relationsActionsAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'limit', 'oneLimit', relationsActionsAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'relations_actions')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"relationsActionsAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"relationsActionsAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'scale', 'authUserslimit', [relationsActionsUnauthUsers, relationsActionsAuthUsers])\"/> :\n <el-input :value=\"relationsActionsAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'limit', 'authUserslimit', [relationsActionsUnauthUsers, relationsActionsAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"relationsActionsUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'scale', 'unauthUsersLimit', [relationsActionsUnauthUsers, relationsActionsAuthUsers])\"/> :\n <el-input :value=\"relationsActionsUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'limit', 'unauthUsersLimit', [relationsActionsUnauthUsers, relationsActionsAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'relations_actions')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Relation ID Action:\">\n <div v-if=\"!relationIdActionAuthUsers\">\n <el-input :value=\"relationIdActionAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'scale', 'oneLimit', relationIdActionAllUsers)\"/> :\n <el-input :value=\"relationIdActionAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'limit', 'oneLimit', relationIdActionAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'relation_id_action')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"relationIdActionAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"relationIdActionAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'scale', 'authUserslimit', [relationIdActionUnauthUsers, relationIdActionAuthUsers])\"/> :\n <el-input :value=\"relationIdActionAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'limit', 'authUserslimit', [relationIdActionUnauthUsers, relationIdActionAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"relationIdActionUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'scale', 'unauthUsersLimit', [relationIdActionUnauthUsers, relationIdActionAuthUsers])\"/> :\n <el-input :value=\"relationIdActionUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'limit', 'unauthUsersLimit', [relationIdActionUnauthUsers, relationIdActionAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'relation_id_action')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Statuses actions:\">\n <div v-if=\"!statusesActionsAuthUsers\">\n <el-input :value=\"statusesActionsAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'scale', 'oneLimit', statusesActionsAllUsers)\"/> :\n <el-input :value=\"statusesActionsAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'limit', 'oneLimit', statusesActionsAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'statuses_actions')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"statusesActionsAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"statusesActionsAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'scale', 'authUserslimit', [statusesActionsUnauthUsers, statusesActionsAuthUsers])\"/> :\n <el-input :value=\"statusesActionsAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'limit', 'authUserslimit', [statusesActionsUnauthUsers, statusesActionsAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"statusesActionsUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'scale', 'unauthUsersLimit', [statusesActionsUnauthUsers, statusesActionsAuthUsers])\"/> :\n <el-input :value=\"statusesActionsUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'limit', 'unauthUsersLimit', [statusesActionsUnauthUsers, statusesActionsAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'statuses_actions')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Status ID Action:\">\n <div v-if=\"!statusIdActionAuthUsers\">\n <el-input :value=\"statusIdActionAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'scale', 'oneLimit', statusIdActionAllUsers)\"/> :\n <el-input :value=\"statusIdActionAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'limit', 'oneLimit', statusIdActionAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'status_id_action')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"statusIdActionAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"statusIdActionAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'scale', 'authUserslimit', [statusIdActionUnauthUsers, statusIdActionAuthUsers])\"/> :\n <el-input :value=\"statusIdActionAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'limit', 'authUserslimit', [statusIdActionUnauthUsers, statusIdActionAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"statusIdActionUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'scale', 'unauthUsersLimit', [statusIdActionUnauthUsers, statusIdActionAuthUsers])\"/> :\n <el-input :value=\"statusIdActionUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'limit', 'unauthUsersLimit', [statusIdActionUnauthUsers, statusIdActionAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'status_id_action')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Password reset:\">\n <div v-if=\"!passwordResetAuthUsers\">\n <el-input :value=\"passwordResetAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'password_reset', 'scale', 'oneLimit', passwordResetAllUsers)\"/> :\n <el-input :value=\"passwordResetAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'password_reset', 'limit', 'oneLimit', passwordResetAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'password_reset')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"passwordResetAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"passwordResetAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'password_reset', 'scale', 'authUserslimit', [passwordResetUnauthUsers, passwordResetAuthUsers])\"/> :\n <el-input :value=\"passwordResetAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'password_reset', 'limit', 'authUserslimit', [passwordResetUnauthUsers, passwordResetAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"passwordResetUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'password_reset', 'scale', 'unauthUsersLimit', [passwordResetUnauthUsers, passwordResetAuthUsers])\"/> :\n <el-input :value=\"passwordResetUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'password_reset', 'limit', 'unauthUsersLimit', [passwordResetUnauthUsers, passwordResetAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'password_reset')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Account confirmation resend:\">\n <div v-if=\"!accountConfirmationResendAuthUsers\">\n <el-input :value=\"accountConfirmationResendAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'oneLimit', accountConfirmationResendAllUsers)\"/> :\n <el-input :value=\"accountConfirmationResendAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'oneLimit', accountConfirmationResendAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'account_confirmation_resend')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"accountConfirmationResendAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"accountConfirmationResendAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'authUserslimit', [accountConfirmationResendUnauthUsers, accountConfirmationResendAuthUsers])\"/> :\n <el-input :value=\"accountConfirmationResendAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'authUserslimit', [accountConfirmationResendUnauthUsers, accountConfirmationResendAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"accountConfirmationResendUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'unauthUsersLimit', [accountConfirmationResendUnauthUsers, accountConfirmationResendAuthUsers])\"/> :\n <el-input :value=\"accountConfirmationResendUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'unauthUsersLimit', [accountConfirmationResendUnauthUsers, accountConfirmationResendAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'account_confirmation_resend')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Activity pub routes:\">\n <div v-if=\"!activityPubRoutesAuthUsers\">\n <el-input :value=\"activityPubRoutesAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'scale', 'oneLimit', activityPubRoutesAllUsers)\"/> :\n <el-input :value=\"activityPubRoutesAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'limit', 'oneLimit', activityPubRoutesAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'ap_routes')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"activityPubRoutesAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"activityPubRoutesAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'scale', 'authUserslimit', [activityPubRoutesUnauthUsers, activityPubRoutesAuthUsers])\"/> :\n <el-input :value=\"activityPubRoutesAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'limit', 'authUserslimit', [activityPubRoutesUnauthUsers, activityPubRoutesAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"activityPubRoutesUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'scale', 'unauthUsersLimit', [activityPubRoutesUnauthUsers, activityPubRoutesAuthUsers])\"/> :\n <el-input :value=\"activityPubRoutesUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'limit', 'unauthUsersLimit', [activityPubRoutesUnauthUsers, activityPubRoutesAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'ap_routes')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'RateLimiters',\n computed: {\n ...mapGetters([\n 'rateLimiters'\n ]),\n accountConfirmationResendAllUsers() {\n return this.rateLimiters.account_confirmation_resend ? this.rateLimiters.account_confirmation_resend.tuple : [null, null]\n },\n accountConfirmationResendAuthUsers() {\n return Array.isArray(this.rateLimiters.account_confirmation_resend)\n ? this.rateLimiters.account_confirmation_resend[1].tuple\n : false\n },\n accountConfirmationResendUnauthUsers() {\n return Array.isArray(this.rateLimiters.account_confirmation_resend)\n ? this.rateLimiters.account_confirmation_resend[0].tuple\n : false\n },\n activityPubRoutesAllUsers() {\n return this.rateLimiters.ap_routes ? this.rateLimiters.ap_routes.tuple : [null, null]\n },\n activityPubRoutesAuthUsers() {\n return Array.isArray(this.rateLimiters.ap_routes)\n ? this.rateLimiters.ap_routes[1].tuple\n : false\n },\n activityPubRoutesUnauthUsers() {\n return Array.isArray(this.rateLimiters.ap_routes)\n ? this.rateLimiters.ap_routes[0].tuple\n : false\n },\n appAccountCreationAllUsers() {\n return this.rateLimiters.app_account_creation ? this.rateLimiters.app_account_creation.tuple : [null, null]\n },\n appAccountCreationAuthUsers() {\n return Array.isArray(this.rateLimiters.app_account_creation)\n ? this.rateLimiters.app_account_creation[1].tuple\n : false\n },\n appAccountCreationUnauthUsers() {\n return Array.isArray(this.rateLimiters.app_account_creation)\n ? this.rateLimiters.app_account_creation[0].tuple\n : false\n },\n passwordResetAllUsers() {\n return this.rateLimiters.password_reset ? this.rateLimiters.password_reset.tuple : [null, null]\n },\n passwordResetAuthUsers() {\n return Array.isArray(this.rateLimiters.password_reset)\n ? this.rateLimiters.password_reset[1].tuple\n : false\n },\n passwordResetUnauthUsers() {\n return Array.isArray(this.rateLimiters.password_reset)\n ? this.rateLimiters.password_reset[0].tuple\n : false\n },\n relationsActionsAllUsers() {\n return this.rateLimiters.relations_actions ? this.rateLimiters.relations_actions.tuple : [null, null]\n },\n relationsActionsAuthUsers() {\n return Array.isArray(this.rateLimiters.relations_actions)\n ? this.rateLimiters.relations_actions[1].tuple\n : false\n },\n relationsActionsUnauthUsers() {\n return Array.isArray(this.rateLimiters.relations_actions)\n ? this.rateLimiters.relations_actions[0].tuple\n : false\n },\n relationIdActionAllUsers() {\n return this.rateLimiters.relation_id_action ? this.rateLimiters.relation_id_action.tuple : [null, null]\n },\n relationIdActionAuthUsers() {\n return Array.isArray(this.rateLimiters.relation_id_action)\n ? this.rateLimiters.relation_id_action[1].tuple\n : false\n },\n relationIdActionUnauthUsers() {\n return Array.isArray(this.rateLimiters.relation_id_action)\n ? this.rateLimiters.relation_id_action[0].tuple\n : false\n },\n searchLimitAllUsers() {\n return this.rateLimiters.search ? this.rateLimiters.search.tuple : [null, null]\n },\n searchLimitAuthUsers() {\n return Array.isArray(this.rateLimiters.search)\n ? this.rateLimiters.search[1].tuple\n : false\n },\n searchLimitUnauthUsers() {\n return Array.isArray(this.rateLimiters.search)\n ? this.rateLimiters.search[0].tuple\n : false\n },\n statusesActionsAllUsers() {\n return this.rateLimiters.statuses_actions ? this.rateLimiters.statuses_actions.tuple : [null, null]\n },\n statusesActionsAuthUsers() {\n return Array.isArray(this.rateLimiters.statuses_actions)\n ? this.rateLimiters.statuses_actions[1].tuple\n : false\n },\n statusesActionsUnauthUsers() {\n return Array.isArray(this.rateLimiters.statuses_actions)\n ? this.rateLimiters.statuses_actions[0].tuple\n : false\n },\n statusIdActionAllUsers() {\n return this.rateLimiters.status_id_action ? this.rateLimiters.status_id_action.tuple : [null, null]\n },\n statusIdActionAuthUsers() {\n return Array.isArray(this.rateLimiters.status_id_action)\n ? this.rateLimiters.status_id_action[1].tuple\n : false\n },\n statusIdActionUnauthUsers() {\n return Array.isArray(this.rateLimiters.status_id_action)\n ? this.rateLimiters.status_id_action[0].tuple\n : false\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n parseRateLimiter(value, input, typeOfInput, typeOfLimit, currentValue) {\n if (typeOfLimit === 'oneLimit') {\n const valueToSend = typeOfInput === 'scale' ? { 'tuple': [value, currentValue[1]] } : { 'tuple': [currentValue[0], value] }\n this.updateSetting(valueToSend, 'rate_limit', input)\n } else if (typeOfLimit === 'authUserslimit') {\n const valueToSend = typeOfInput === 'scale'\n ? [{ 'tuple': [currentValue[0][0], currentValue[0][1]] }, { 'tuple': [value, currentValue[1][1]] }]\n : [{ 'tuple': [currentValue[0][0], currentValue[0][1]] }, { 'tuple': [currentValue[1][0], value] }]\n this.updateSetting(valueToSend, 'rate_limit', input)\n } else if (typeOfLimit === 'unauthUsersLimit') {\n const valueToSend = typeOfInput === 'scale'\n ? [{ 'tuple': [value, currentValue[0][1]] }, { 'tuple': [currentValue[1][0], currentValue[1][1]] }]\n : [{ 'tuple': [currentValue[0][0], value] }, { 'tuple': [currentValue[1][0], currentValue[1][1]] }]\n this.updateSetting(valueToSend, 'rate_limit', input)\n }\n },\n toggleLimits(value, input) {\n this.updateSetting(value, 'rate_limit', input)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./RateLimiters.vue?vue&type=template&id=4ebbf908&\"\nimport script from \"./RateLimiters.vue?vue&type=script&lang=js&\"\nexport * from \"./RateLimiters.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RateLimiters.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"RateLimiters.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"rateLimiters\",attrs:{\"model\":_vm.rateLimiters,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Search:\"}},[(!_vm.searchLimitAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.searchLimitAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'scale', 'oneLimit', _vm.searchLimitAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.searchLimitAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'limit', 'oneLimit', _vm.searchLimitAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'search')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.searchLimitAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.searchLimitAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'scale', 'authUserslimit', [_vm.searchLimitUnauthUsers, _vm.searchLimitAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.searchLimitAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'limit', 'authUserslimit', [_vm.searchLimitUnauthUsers, _vm.searchLimitAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.searchLimitUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'scale', 'unauthUsersLimit', [_vm.searchLimitUnauthUsers, _vm.searchLimitAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.searchLimitUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'limit', 'unauthUsersLimit', [_vm.searchLimitUnauthUsers, _vm.searchLimitAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'search')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"App account creation:\"}},[(!_vm.appAccountCreationAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.appAccountCreationAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'scale', 'oneLimit', _vm.appAccountCreationAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.appAccountCreationAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'limit', 'oneLimit', _vm.appAccountCreationAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'app_account_creation')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.appAccountCreationAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.appAccountCreationAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'scale', 'authUserslimit', [_vm.appAccountCreationUnauthUsers, _vm.appAccountCreationAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.appAccountCreationAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'limit', 'authUserslimit', [_vm.appAccountCreationUnauthUsers, _vm.appAccountCreationAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.appAccountCreationUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'scale', 'unauthUsersLimit', [_vm.appAccountCreationUnauthUsers, _vm.appAccountCreationAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.appAccountCreationUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'limit', 'unauthUsersLimit', [_vm.appAccountCreationUnauthUsers, _vm.appAccountCreationAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'app_account_creation')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Relations actions:\"}},[(!_vm.relationsActionsAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationsActionsAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'scale', 'oneLimit', _vm.relationsActionsAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationsActionsAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'limit', 'oneLimit', _vm.relationsActionsAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'relations_actions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.relationsActionsAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationsActionsAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'scale', 'authUserslimit', [_vm.relationsActionsUnauthUsers, _vm.relationsActionsAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationsActionsAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'limit', 'authUserslimit', [_vm.relationsActionsUnauthUsers, _vm.relationsActionsAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationsActionsUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'scale', 'unauthUsersLimit', [_vm.relationsActionsUnauthUsers, _vm.relationsActionsAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationsActionsUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'limit', 'unauthUsersLimit', [_vm.relationsActionsUnauthUsers, _vm.relationsActionsAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'relations_actions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Relation ID Action:\"}},[(!_vm.relationIdActionAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationIdActionAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'scale', 'oneLimit', _vm.relationIdActionAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationIdActionAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'limit', 'oneLimit', _vm.relationIdActionAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'relation_id_action')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.relationIdActionAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationIdActionAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'scale', 'authUserslimit', [_vm.relationIdActionUnauthUsers, _vm.relationIdActionAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationIdActionAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'limit', 'authUserslimit', [_vm.relationIdActionUnauthUsers, _vm.relationIdActionAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationIdActionUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'scale', 'unauthUsersLimit', [_vm.relationIdActionUnauthUsers, _vm.relationIdActionAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationIdActionUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'limit', 'unauthUsersLimit', [_vm.relationIdActionUnauthUsers, _vm.relationIdActionAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'relation_id_action')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Statuses actions:\"}},[(!_vm.statusesActionsAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusesActionsAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'scale', 'oneLimit', _vm.statusesActionsAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusesActionsAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'limit', 'oneLimit', _vm.statusesActionsAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'statuses_actions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.statusesActionsAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusesActionsAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'scale', 'authUserslimit', [_vm.statusesActionsUnauthUsers, _vm.statusesActionsAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusesActionsAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'limit', 'authUserslimit', [_vm.statusesActionsUnauthUsers, _vm.statusesActionsAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusesActionsUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'scale', 'unauthUsersLimit', [_vm.statusesActionsUnauthUsers, _vm.statusesActionsAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusesActionsUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'limit', 'unauthUsersLimit', [_vm.statusesActionsUnauthUsers, _vm.statusesActionsAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'statuses_actions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Status ID Action:\"}},[(!_vm.statusIdActionAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusIdActionAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'scale', 'oneLimit', _vm.statusIdActionAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusIdActionAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'limit', 'oneLimit', _vm.statusIdActionAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'status_id_action')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.statusIdActionAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusIdActionAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'scale', 'authUserslimit', [_vm.statusIdActionUnauthUsers, _vm.statusIdActionAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusIdActionAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'limit', 'authUserslimit', [_vm.statusIdActionUnauthUsers, _vm.statusIdActionAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusIdActionUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'scale', 'unauthUsersLimit', [_vm.statusIdActionUnauthUsers, _vm.statusIdActionAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusIdActionUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'limit', 'unauthUsersLimit', [_vm.statusIdActionUnauthUsers, _vm.statusIdActionAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'status_id_action')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Password reset:\"}},[(!_vm.passwordResetAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.passwordResetAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'scale', 'oneLimit', _vm.passwordResetAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.passwordResetAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'limit', 'oneLimit', _vm.passwordResetAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'password_reset')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.passwordResetAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.passwordResetAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'scale', 'authUserslimit', [_vm.passwordResetUnauthUsers, _vm.passwordResetAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.passwordResetAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'limit', 'authUserslimit', [_vm.passwordResetUnauthUsers, _vm.passwordResetAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.passwordResetUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'scale', 'unauthUsersLimit', [_vm.passwordResetUnauthUsers, _vm.passwordResetAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.passwordResetUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'limit', 'unauthUsersLimit', [_vm.passwordResetUnauthUsers, _vm.passwordResetAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'password_reset')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Account confirmation resend:\"}},[(!_vm.accountConfirmationResendAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.accountConfirmationResendAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'oneLimit', _vm.accountConfirmationResendAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.accountConfirmationResendAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'oneLimit', _vm.accountConfirmationResendAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'account_confirmation_resend')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.accountConfirmationResendAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.accountConfirmationResendAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'authUserslimit', [_vm.accountConfirmationResendUnauthUsers, _vm.accountConfirmationResendAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.accountConfirmationResendAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'authUserslimit', [_vm.accountConfirmationResendUnauthUsers, _vm.accountConfirmationResendAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.accountConfirmationResendUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'unauthUsersLimit', [_vm.accountConfirmationResendUnauthUsers, _vm.accountConfirmationResendAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.accountConfirmationResendUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'unauthUsersLimit', [_vm.accountConfirmationResendUnauthUsers, _vm.accountConfirmationResendAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'account_confirmation_resend')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Activity pub routes:\"}},[(!_vm.activityPubRoutesAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.activityPubRoutesAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'scale', 'oneLimit', _vm.activityPubRoutesAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.activityPubRoutesAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'limit', 'oneLimit', _vm.activityPubRoutesAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'ap_routes')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.activityPubRoutesAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.activityPubRoutesAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'scale', 'authUserslimit', [_vm.activityPubRoutesUnauthUsers, _vm.activityPubRoutesAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.activityPubRoutesAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'limit', 'authUserslimit', [_vm.activityPubRoutesUnauthUsers, _vm.activityPubRoutesAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.activityPubRoutesUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'scale', 'unauthUsersLimit', [_vm.activityPubRoutesUnauthUsers, _vm.activityPubRoutesAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.activityPubRoutesUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'limit', 'unauthUsersLimit', [_vm.activityPubRoutesUnauthUsers, _vm.activityPubRoutesAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'ap_routes')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"upload\" :model=\"upload\" :label-width=\"labelWidth\">\n <el-form-item label=\"Uploader\">\n <el-input :value=\"upload.uploader\" @input=\"updateSetting($event, 'Pleroma.Upload', 'uploader')\"/>\n </el-form-item>\n <el-form-item label=\"Filters\">\n <el-select :value=\"upload.filters || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Upload', 'filters')\"/>\n </el-form-item>\n <el-form-item label=\"Link name\">\n <el-switch :value=\"upload.link_name\" @change=\"updateSetting($event, 'Pleroma.Upload', 'link_name')\"/>\n <p class=\"expl\">When enabled Pleroma will add a name parameter to the url of the upload, for example\n <span class=\"code\">https://instance.tld/media/corndog.png?name=corndog.png</span></p>\n </el-form-item>\n <el-form-item label=\"Base URL\">\n <el-input :value=\"upload.base_url\" @input=\"updateSetting($event, 'Pleroma.Upload', 'base_url')\"/>\n <p class=\"expl\">The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host</p>\n </el-form-item>\n <el-form-item label=\"Proxy remote\">\n <el-switch :value=\"upload.proxy_remote\" @change=\"updateSetting($event, 'Pleroma.Upload', 'proxy_remote')\"/>\n <p class=\"expl\">If you're using a remote uploader, Pleroma will proxy media requests instead of redirecting to it</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Proxy options:\"/>\n <el-form-item label=\"Redirect on failure\">\n <el-switch :value=\"upload.proxy_opts.redirect_on_failure\" @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'redirect_on_failure')\"/>\n <p class=\"expl\">Redirects the client to the real remote URL if there's any HTTP errors.\n Any error during body processing will not be redirected as the response is chunked</p>\n </el-form-item>\n <el-form-item label=\"Max body length (MB)\">\n <el-input-number :value=\"upload.proxy_opts.max_body_length / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1048576, 'Pleroma.Upload', 'proxy_opts', 'max_body_length')\"/>\n <p class=\"expl\">Limits the content length to be approximately the specified length</p>\n </el-form-item>\n <el-form-item label=\"Max read duration (s)\">\n <el-input-number :value=\"upload.proxy_opts.max_read_duration\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'max_read_duration')\"/>\n <p class=\"expl\">The total time the connection is allowed to read from the remote upstream</p>\n </el-form-item>\n <el-form-item label=\"Inline content types\">\n <el-select :value=\"inlineContentTypes\" clearable @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')\">\n <el-option :value=\"true\" label=\"True\"/>\n <el-option :value=\"false\" label=\"False\"/>\n <el-option value=\"whitelistedTypeArray\" label=\"List of whitelisted content types\"/>\n <el-option value=\"keepUserAgent\" label=\"Forward client's user-agent to the upstream\"/>\n </el-select>\n <p v-if=\"inlineContentTypes === true\" class=\"expl\">Will not alter <span class=\"code\">content-disposition</span> (up to the upstream)</p>\n <p v-if=\"!inlineContentTypes\" class=\"expl\">Will add <span class=\"code\">content-disposition: attachment</span> to any request</p>\n <p v-if=\"inlineContentTypes === 'keepUserAgent'\" class=\"expl\">\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\n doing content transformation (encoding, …) depending on the request.\n </p>\n </el-form-item>\n <el-form-item v-if=\"inlineContentTypes === 'whitelistedTypeArray'\" label=\"Whitelisted content types\">\n <el-select :value=\"whitelistedContentTypes\" multiple filterable allow-create @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')\">\n <el-option\n v-for=\"item in whitelistedContentTypesOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Request headers\">\n <el-select :value=\"upload.proxy_opts.req_headers || []\" multiple filterable allow-create @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'req_headers')\"/>\n <p class=\"expl\"><span class=\"code\">resp_headers</span> additional headers</p>\n </el-form-item>\n <el-form-item label=\"HTTP:\"/>\n <el-form-item label=\"Follow redirect\">\n <el-switch :value=\"http.follow_redirect\" @change=\"processHttpSettings($event, 'Pleroma.Upload', 'proxy_opts', 'http', 'follow_redirect')\"/>\n </el-form-item>\n <el-form-item label=\"Pool\">\n <el-select :value=\"http.pool\" clearable @change=\"processHttpSettings($event, 'Pleroma.Upload', 'proxy_opts', 'http', 'pool')\">\n <el-option\n v-for=\"item in hackneyPoolsOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">{{ getPoolExpl(http.pool) }}</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadersLocal\" :model=\"uploadersLocal\" :label-width=\"labelWidth\">\n <el-form-item label=\"Uploaders.Local:\"/>\n <el-form-item label=\"Directory for user-uploads\">\n <el-input :value=\"uploadersLocal.uploads\" @input=\"updateSetting($event, 'Pleroma.Uploaders.Local', 'uploads')\"/>\n <p class=\"expl\">Which directory to store the user-uploads in, relative to pleroma’s working directory</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadFilterMogrify\" :model=\"uploadFilterMogrify\" :label-width=\"labelWidth\">\n <el-form-item label=\"Actions for Mogrify\">\n <el-select :value=\"uploadFilterMogrify.args || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Upload.Filter.Mogrify', 'args')\">\n <el-option\n v-for=\"item in mogrifyActionsOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadAnonymizeFilename\" :model=\"uploadAnonymizeFilename\" :label-width=\"labelWidth\">\n <el-form-item label=\"Anonymize filename\">\n <el-input :value=\"uploadAnonymizeFilename.text\" @input=\"updateSetting($event, 'Pleroma.Upload.Filter.AnonymizeFilename', 'text')\"/>\n <p class=\"expl\">Text to replace filenames in links. If empty, <span class=\"code\">{random}.extension</span> will be used</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadS3\" :model=\"uploadS3\" :label-width=\"labelWidth\">\n <el-form-item label=\"S3 Config:\"/>\n <el-form-item label=\"Bucket\">\n <el-input :value=\"uploadS3.bucket\" @input=\"updateSetting($event, 'Pleroma.Uploaders.S3', 'bucket')\"/>\n <p class=\"expl\">S3 bucket name</p>\n </el-form-item>\n <el-form-item label=\"Bucket namespace\">\n <el-input :value=\"uploadS3.bucket_namespace\" @input=\"updateSetting($event, 'Pleroma.Uploaders.S3', 'bucket_namespace')\"/>\n <p class=\"expl\">S3 bucket namespace</p>\n </el-form-item>\n <el-form-item label=\"Public endpoint\">\n <el-input :value=\"uploadS3.public_endpoint\" @input=\"updateSetting($event, 'Pleroma.Uploaders.S3', 'public_endpoint')\"/>\n <p class=\"expl\">S3 endpoint that the user finally accesses</p>\n </el-form-item>\n <el-form-item label=\"Truncated namespace\">\n <el-input :value=\"uploadS3.truncated_namespace\" @input=\"updateSetting($event, 'Pleroma.Uploaders.S3', 'truncated_namespace')\"/>\n <p class=\"expl\">If you use S3 compatible service such as Digital Ocean Spaces or CDN, set folder name or \"\" etc.\n For example, when using CDN to S3 virtual host format, set \"\".\n At this time, write CNAME to CDN in <span class=\"code\">public_endpoint</span>.\n </p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadMDII\" :model=\"uploadMDII\" :label-width=\"labelWidth\">\n <el-form-item label=\"Uploaders.MDII Config:\"/>\n <el-form-item label=\"CGI\">\n <el-input :value=\"uploadMDII.cgi\" @input=\"updateSetting($event, 'Pleroma.Uploaders.MDII', 'cgi')\"/>\n </el-form-item>\n <el-form-item label=\"Files\">\n <el-input :value=\"uploadMDII.files\" @input=\"updateSetting($event, 'Pleroma.Uploaders.MDII', 'files')\"/>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\n\nexport default {\n name: 'Upload',\n computed: {\n ...mapGetters([\n 'uploadAnonymizeFilename',\n 'upload',\n 'uploadFilterMogrify',\n 'uploadersLocal',\n 'uploadMDII',\n 'uploadS3'\n ]),\n inlineContentTypes() {\n return Array.isArray(this.upload.proxy_opts.inline_content_types) ? 'whitelistedTypeArray' : this.upload.proxy_opts.inline_content_types\n },\n http() {\n return this.upload.proxy_opts.http || {}\n },\n hackneyPoolsOptions() {\n return options.hackneyPoolsOptions\n },\n whitelistedContentTypes() {\n return Array.isArray(this.upload.proxy_opts.inline_content_types) ? this.upload.proxy_opts.inline_content_types : []\n },\n whitelistedContentTypesOptions() {\n return options.whitelistedContentTypesOptions\n },\n mogrifyActionsOptions() {\n return options.mogrifyActionsOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n getPoolExpl(value) {\n const pool = this.hackneyPoolsOptions.find(el => el.value === value)\n return pool ? 'Max connections: ' + pool.max_connections + ', timeout: ' + pool.timeout : ''\n },\n processHttpSettings(value, tab, section, httpSection, input) {\n const updatedValue = { ...this.upload[section][httpSection], ...{ [input]: value }}\n this.processNestedData(updatedValue, tab, section, httpSection)\n },\n processNestedData(value, tab, section, input) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][section], ...{ [input]: value }}\n this.updateSetting(updatedValue, tab, section)\n },\n updateInlineContentTypes() {\n if (this.$data.inlineContentTypes === 'whitelistedTypeArray') {\n this.processNestedData(this.$data.whitelistedContentTypes, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')\n } else {\n this.processNestedData(this.$data.inlineContentTypes, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')\n }\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Upload.vue?vue&type=template&id=03608c71&\"\nimport script from \"./Upload.vue?vue&type=script&lang=js&\"\nexport * from \"./Upload.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Upload.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Upload.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"upload\",attrs:{\"model\":_vm.upload,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Uploader\"}},[_c('el-input',{attrs:{\"value\":_vm.upload.uploader},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'uploader')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Filters\"}},[_c('el-select',{attrs:{\"value\":_vm.upload.filters || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'filters')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Link name\"}},[_c('el-switch',{attrs:{\"value\":_vm.upload.link_name},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'link_name')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When enabled Pleroma will add a name parameter to the url of the upload, for example\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://instance.tld/media/corndog.png?name=corndog.png\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Base URL\"}},[_c('el-input',{attrs:{\"value\":_vm.upload.base_url},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'base_url')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Proxy remote\"}},[_c('el-switch',{attrs:{\"value\":_vm.upload.proxy_remote},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'proxy_remote')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If you're using a remote uploader, Pleroma will proxy media requests instead of redirecting to it\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Proxy options:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect on failure\"}},[_c('el-switch',{attrs:{\"value\":_vm.upload.proxy_opts.redirect_on_failure},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'redirect_on_failure')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Redirects the client to the real remote URL if there's any HTTP errors.\\n Any error during body processing will not be redirected as the response is chunked\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max body length (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.upload.proxy_opts.max_body_length / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1048576, 'Pleroma.Upload', 'proxy_opts', 'max_body_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Limits the content length to be approximately the specified length\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max read duration (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.upload.proxy_opts.max_read_duration,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'max_read_duration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The total time the connection is allowed to read from the remote upstream\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Inline content types\"}},[_c('el-select',{attrs:{\"value\":_vm.inlineContentTypes,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')}}},[_c('el-option',{attrs:{\"value\":true,\"label\":\"True\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":false,\"label\":\"False\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"whitelistedTypeArray\",\"label\":\"List of whitelisted content types\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"keepUserAgent\",\"label\":\"Forward client's user-agent to the upstream\"}})],1),_vm._v(\" \"),(_vm.inlineContentTypes === true)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Will not alter \"),_c('span',{staticClass:\"code\"},[_vm._v(\"content-disposition\")]),_vm._v(\" (up to the upstream)\")]):_vm._e(),_vm._v(\" \"),(!_vm.inlineContentTypes)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Will add \"),_c('span',{staticClass:\"code\"},[_vm._v(\"content-disposition: attachment\")]),_vm._v(\" to any request\")]):_vm._e(),_vm._v(\" \"),(_vm.inlineContentTypes === 'keepUserAgent')?_c('p',{staticClass:\"expl\"},[_vm._v(\"\\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\\n doing content transformation (encoding, …) depending on the request.\\n \")]):_vm._e()],1),_vm._v(\" \"),(_vm.inlineContentTypes === 'whitelistedTypeArray')?_c('el-form-item',{attrs:{\"label\":\"Whitelisted content types\"}},[_c('el-select',{attrs:{\"value\":_vm.whitelistedContentTypes,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')}}},_vm._l((_vm.whitelistedContentTypesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Request headers\"}},[_c('el-select',{attrs:{\"value\":_vm.upload.proxy_opts.req_headers || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'req_headers')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_c('span',{staticClass:\"code\"},[_vm._v(\"resp_headers\")]),_vm._v(\" additional headers\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"HTTP:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Follow redirect\"}},[_c('el-switch',{attrs:{\"value\":_vm.http.follow_redirect},on:{\"change\":function($event){return _vm.processHttpSettings($event, 'Pleroma.Upload', 'proxy_opts', 'http', 'follow_redirect')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pool\"}},[_c('el-select',{attrs:{\"value\":_vm.http.pool,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processHttpSettings($event, 'Pleroma.Upload', 'proxy_opts', 'http', 'pool')}}},_vm._l((_vm.hackneyPoolsOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(_vm._s(_vm.getPoolExpl(_vm.http.pool)))])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadersLocal\",attrs:{\"model\":_vm.uploadersLocal,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Uploaders.Local:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Directory for user-uploads\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadersLocal.uploads},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.Local', 'uploads')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Which directory to store the user-uploads in, relative to pleroma’s working directory\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadFilterMogrify\",attrs:{\"model\":_vm.uploadFilterMogrify,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Actions for Mogrify\"}},[_c('el-select',{attrs:{\"value\":_vm.uploadFilterMogrify.args || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload.Filter.Mogrify', 'args')}}},_vm._l((_vm.mogrifyActionsOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadAnonymizeFilename\",attrs:{\"model\":_vm.uploadAnonymizeFilename,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Anonymize filename\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadAnonymizeFilename.text},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload.Filter.AnonymizeFilename', 'text')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Text to replace filenames in links. If empty, \"),_c('span',{staticClass:\"code\"},[_vm._v(\"{random}.extension\")]),_vm._v(\" will be used\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadS3\",attrs:{\"model\":_vm.uploadS3,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"S3 Config:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Bucket\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadS3.bucket},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.S3', 'bucket')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"S3 bucket name\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Bucket namespace\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadS3.bucket_namespace},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.S3', 'bucket_namespace')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"S3 bucket namespace\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Public endpoint\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadS3.public_endpoint},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.S3', 'public_endpoint')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"S3 endpoint that the user finally accesses\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Truncated namespace\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadS3.truncated_namespace},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.S3', 'truncated_namespace')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If you use S3 compatible service such as Digital Ocean Spaces or CDN, set folder name or \\\"\\\" etc.\\n For example, when using CDN to S3 virtual host format, set \\\"\\\".\\n At this time, write CNAME to CDN in \"),_c('span',{staticClass:\"code\"},[_vm._v(\"public_endpoint\")]),_vm._v(\".\\n \")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadMDII\",attrs:{\"model\":_vm.uploadMDII,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Uploaders.MDII Config:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"CGI\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadMDII.cgi},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.MDII', 'cgi')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Files\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadMDII.files},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.MDII', 'files')}}})],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebPush.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebPush.vue?vue&type=script&lang=js&\"","<template>\n <el-form ref=\"vapidDetails\" :model=\"vapidDetails\" :label-width=\"labelWidth\">\n <el-form-item label=\"Subject\">\n <el-input :value=\"vapidDetails.subject\" @input=\"updateSetting($event, 'vapid_details', 'subject')\"/>\n <p class=\"expl\">A mailto link for the administrative contact. It’s best if this email is not a personal email address,\n but rather a group email so that if a person leaves an organization, is unavailable for an extended period,\n or otherwise can’t respond, someone else on the list can.</p>\n </el-form-item>\n <el-form-item label=\"Public key\">\n <el-input :value=\"vapidDetails.public_key\" @input=\"updateSetting($event, 'vapid_details', 'public_key')\"/>\n <p class=\"expl\">VAPID public key</p>\n </el-form-item>\n <el-form-item label=\"Private key\">\n <el-input :value=\"vapidDetails.private_key\" @input=\"updateSetting($event, 'vapid_details', 'private_key')\"/>\n <p class=\"expl\">VAPID private key</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport i18n from '@/lang'\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'WebPush',\n computed: {\n ...mapGetters([\n 'vapidDetails'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n async onSubmit() {\n try {\n await this.$store.dispatch('SubmitChanges')\n } catch (e) {\n return\n }\n this.$message({\n type: 'success',\n message: i18n.t('settings.success')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./WebPush.vue?vue&type=template&id=1778144a&\"\nimport script from \"./WebPush.vue?vue&type=script&lang=js&\"\nexport * from \"./WebPush.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WebPush.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"WebPush.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"vapidDetails\",attrs:{\"model\":_vm.vapidDetails,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Subject\"}},[_c('el-input',{attrs:{\"value\":_vm.vapidDetails.subject},on:{\"input\":function($event){return _vm.updateSetting($event, 'vapid_details', 'subject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A mailto link for the administrative contact. It’s best if this email is not a personal email address,\\n but rather a group email so that if a person leaves an organization, is unavailable for an extended period,\\n or otherwise can’t respond, someone else on the list can.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Public key\"}},[_c('el-input',{attrs:{\"value\":_vm.vapidDetails.public_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'vapid_details', 'public_key')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"VAPID public key\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Private key\"}},[_c('el-input',{attrs:{\"value\":_vm.vapidDetails.private_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'vapid_details', 'private_key')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"VAPID private key\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"settings-container\">\n <h1>{{ $t('settings.settings') }}</h1>\n <el-tabs :tab-position=\"tabPosition\">\n <el-tab-pane :label=\"$t('settings.activityPub')\">\n <activity-pub/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.auth')\">\n <authentication/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.autoLinker')\">\n <auto-linker/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.esshd')\">\n <esshd/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.captcha')\">\n <captcha/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.database')\">\n <database/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.endpoint')\">\n <endpoint/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.frontend')\">\n <frontend/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.gopher')\">\n <gopher/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.http')\">\n <http/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.instance')\">\n <instance/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.jobQueue')\">\n <job-queue/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.logger')\">\n <logger/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.mailer')\">\n <mailer/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.mediaProxy')\">\n <media-proxy/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.metadata')\">\n <metadata/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.mrf')\">\n <mrf/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.rateLimiters')\">\n <rate-limiters/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.upload')\">\n <upload/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.webPush')\">\n <web-push/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.other')\">\n <other/>\n </el-tab-pane>\n </el-tabs>\n </div>\n</template>\n\n<script>\nimport { ActivityPub, Authentication, AutoLinker, Captcha, Database, Endpoint, Esshd, Frontend, Gopher, Http, Instance, JobQueue, Logger, Mailer, MediaProxy, Metadata, Mrf, Other, RateLimiters, Upload, WebPush } from './components'\n\nexport default {\n components: { ActivityPub, Authentication, AutoLinker, Captcha, Database, Endpoint, Esshd, Frontend, Gopher, Http, Instance, JobQueue, Logger, Mailer, MediaProxy, Metadata, Mrf, Other, RateLimiters, Upload, WebPush },\n computed: {\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n tabPosition() {\n return this.isMobile ? 'top' : 'left'\n }\n },\n mounted: function() {\n this.$store.dispatch('FetchSettings')\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n .settings-container {\n .el-tabs {\n margin-top: 20px\n }\n h1 {\n margin: 22px 0 0 15px;\n }\n }\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=729534ce&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=729534ce&rel=stylesheet%2Fscss&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 \"729534ce\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Metadata.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Metadata.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinker.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinker.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Instance.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Instance.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Other.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Other.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MRF.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MRF.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Frontend.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Frontend.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JobQueue.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JobQueue.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityPub.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityPub.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gopher.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gopher.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\""],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-3d1c.3334d3f1.js b/priv/static/adminfe/static/js/chunk-3d1c.3334d3f1.js
deleted file mode 100644
index 9a9c3b049..000000000
--- a/priv/static/adminfe/static/js/chunk-3d1c.3334d3f1.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-3d1c"],{"4bFr":function(t,e,s){"use strict";s.r(e);var a={name:"UsersShow",data:function(){return{showPrivate:!1}},computed:{loading:function(){return this.$store.state.userProfile.loading},user:function(){return this.$store.state.userProfile.user},statuses:function(){return this.$store.state.userProfile.statuses}},mounted:function(){this.$store.dispatch("FetchData",{id:this.$route.params.id,godmode:!1})},methods:{optionPercent:function(t,e){var s=t.options.reduce(function(t,e){return t+e.votes_count},0);return 0===s?0:+(e.votes_count/s*100).toFixed(1)},createdAtLocaleString:function(t){var e=new Date(t);return"".concat(e.toLocaleDateString()," ").concat(e.toLocaleTimeString())},onTogglePrivate:function(){console.log(this.showPrivate),this.$store.dispatch("FetchData",{id:this.$route.params.id,godmode:this.showPrivate})}}},r=(s("QG2t"),s("KHd+")),l=Object(r.a)(a,function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.loading?t._e():s("main",[s("header",[s("el-avatar",{attrs:{src:t.user.avatar,size:"large"}}),t._v(" "),s("h1",[t._v(t._s(t.user.display_name))])],1),t._v(" "),s("el-row",[s("el-col",{attrs:{span:6}},[s("div",{staticClass:"el-table el-table--fit el-table--enable-row-hover el-table--enable-row-transition el-table--medium"},[s("table",{staticClass:"el-table__body"},[s("tbody",[s("tr",{staticClass:"el-table__row"},[s("td",{staticClass:"name-col"},[t._v("ID")]),t._v(" "),s("td",{staticClass:"value-col"},[t._v("\n "+t._s(t.user.id)+"\n ")])]),t._v(" "),s("tr",{staticClass:"el-table__row"},[s("td",[t._v(t._s(t.$t("userProfile.tags")))]),t._v(" "),s("td",[t._l(t.user.tags,function(e){return s("el-tag",{key:e},[t._v(t._s(e))])}),t._v(" "),0===t.user.tags.length?s("span",[t._v("None")]):t._e()],2)]),t._v(" "),s("tr",{staticClass:"el-table__row"},[s("td",[t._v(t._s(t.$t("userProfile.moderator")))]),t._v(" "),s("td",[t.user.roles.moderator?s("el-tag",{attrs:{type:"success"}},[s("i",{staticClass:"el-icon-check"})]):t._e(),t._v(" "),t.user.roles.moderator?t._e():s("el-tag",{attrs:{type:"danger"}},[s("i",{staticClass:"el-icon-error"})])],1)]),t._v(" "),s("tr",{staticClass:"el-table__row"},[s("td",[t._v(t._s(t.$t("userProfile.admin")))]),t._v(" "),s("td",[t.user.roles.admin?s("el-tag",{attrs:{type:"success"}},[s("i",{staticClass:"el-icon-check"})]):t._e(),t._v(" "),t.user.roles.admin?t._e():s("el-tag",{attrs:{type:"danger"}},[s("i",{staticClass:"el-icon-error"})])],1)]),t._v(" "),s("tr",{staticClass:"el-table__row"},[s("td",[t._v(t._s(t.$t("userProfile.local")))]),t._v(" "),s("td",[t.user.local?s("el-tag",{attrs:{type:"success"}},[s("i",{staticClass:"el-icon-check"})]):t._e(),t._v(" "),t.user.local?t._e():s("el-tag",{attrs:{type:"danger"}},[s("i",{staticClass:"el-icon-error"})])],1)]),t._v(" "),s("tr",{staticClass:"el-table__row"},[s("td",[t._v(t._s(t.$t("userProfile.deactivated")))]),t._v(" "),s("td",[t.user.deactivated?s("el-tag",{attrs:{type:"success"}},[s("i",{staticClass:"el-icon-check"})]):t._e(),t._v(" "),t.user.deactivated?t._e():s("el-tag",{attrs:{type:"danger"}},[s("i",{staticClass:"el-icon-error"})])],1)]),t._v(" "),s("tr",{staticClass:"el-table__row"},[s("td",[t._v(t._s(t.$t("userProfile.nickname")))]),t._v(" "),s("td",[t._v("\n "+t._s(t.user.nickname)+"\n ")])])])])])]),t._v(" "),s("el-row",{staticClass:"row-bg",attrs:{type:"flex",justify:"space-between"}},[s("el-col",{attrs:{span:18}},[s("h2",[t._v(t._s(t.$t("userProfile.recentStatuses")))])]),t._v(" "),s("el-col",{staticClass:"show-private",attrs:{span:6}},[s("el-checkbox",{on:{change:t.onTogglePrivate},model:{value:t.showPrivate,callback:function(e){t.showPrivate=e},expression:"showPrivate"}},[t._v("\n "+t._s(t.$t("userProfile.showPrivateStatuses"))+"\n ")])],1)],1),t._v(" "),s("el-col",{attrs:{span:18}},[s("el-timeline",{staticClass:"statuses"},t._l(t.statuses,function(e){return s("el-timeline-item",{key:e.id,attrs:{timestamp:t.createdAtLocaleString(e.created_at)}},[s("el-card",[e.spoiler_text?s("strong",[t._v(t._s(e.spoiler_text))]):t._e(),t._v(" "),e.content?s("p",{domProps:{innerHTML:t._s(e.content)}}):t._e(),t._v(" "),e.poll?s("div",{staticClass:"poll"},[s("ul",t._l(e.poll.options,function(a,r){return s("li",{key:r},[t._v("\n "+t._s(a.title)+"\n "),s("el-progress",{attrs:{percentage:t.optionPercent(e.poll,a)}})],1)}),0)]):t._e(),t._v(" "),t._l(e.media_attachments,function(t,e){return s("div",{key:e,staticClass:"image"},[s("img",{attrs:{src:t.preview_url}})])})],2)],1)}),1)],1)],1)],1)},[],!1,null,"71c7ded0",null);l.options.__file="show.vue";e.default=l.exports},QG2t:function(t,e,s){"use strict";var a=s("R7Mx");s.n(a).a},R7Mx:function(t,e,s){}}]);
-//# sourceMappingURL=chunk-3d1c.3334d3f1.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-3d1c.3334d3f1.js.map b/priv/static/adminfe/static/js/chunk-3d1c.3334d3f1.js.map
deleted file mode 100644
index 3dd0d77a9..000000000
--- a/priv/static/adminfe/static/js/chunk-3d1c.3334d3f1.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/views/users/show.vue?d2ff","webpack:///./src/views/users/show.vue?ac8b","webpack:///src/views/users/show.vue","webpack:///./src/views/users/show.vue","webpack:///./src/views/users/show.vue?4a6e"],"names":["users_showvue_type_script_lang_js_","name","data","showPrivate","computed","loading","this","$store","state","userProfile","user","statuses","mounted","dispatch","id","$route","params","godmode","methods","optionPercent","poll","pollOption","allVotes","options","reduce","acc","option","votes_count","toFixed","createdAtLocaleString","createdAt","date","Date","concat","toLocaleDateString","toLocaleTimeString","onTogglePrivate","console","log","component","Object","componentNormalizer","_vm","_h","$createElement","_c","_self","_e","attrs","src","avatar","size","_v","_s","display_name","span","staticClass","$t","_l","tag","key","tags","length","roles","type","moderator","admin","local","deactivated","nickname","justify","on","change","model","value","callback","$$v","expression","status","timestamp","created_at","spoiler_text","domProps","innerHTML","content","index","title","percentage","attachment","preview_url","__file","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_show_vue_vue_type_style_index_0_id_71c7ded0_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n"],"mappings":"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","file":"static/js/chunk-3d1c.3334d3f1.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading)?_c('main',[_c('header',[_c('el-avatar',{attrs:{\"src\":_vm.user.avatar,\"size\":\"large\"}}),_vm._v(\" \"),_c('h1',[_vm._v(_vm._s(_vm.user.display_name))])],1),_vm._v(\" \"),_c('el-row',[_c('el-col',{attrs:{\"span\":6}},[_c('div',{staticClass:\"el-table el-table--fit el-table--enable-row-hover el-table--enable-row-transition el-table--medium\"},[_c('table',{staticClass:\"el-table__body\"},[_c('tbody',[_c('tr',{staticClass:\"el-table__row\"},[_c('td',{staticClass:\"name-col\"},[_vm._v(\"ID\")]),_vm._v(\" \"),_c('td',{staticClass:\"value-col\"},[_vm._v(\"\\n \"+_vm._s(_vm.user.id)+\"\\n \")])]),_vm._v(\" \"),_c('tr',{staticClass:\"el-table__row\"},[_c('td',[_vm._v(_vm._s(_vm.$t('userProfile.tags')))]),_vm._v(\" \"),_c('td',[_vm._l((_vm.user.tags),function(tag){return _c('el-tag',{key:tag},[_vm._v(_vm._s(tag))])}),_vm._v(\" \"),(_vm.user.tags.length === 0)?_c('span',[_vm._v(\"None\")]):_vm._e()],2)]),_vm._v(\" \"),_c('tr',{staticClass:\"el-table__row\"},[_c('td',[_vm._v(_vm._s(_vm.$t('userProfile.moderator')))]),_vm._v(\" \"),_c('td',[(_vm.user.roles.moderator)?_c('el-tag',{attrs:{\"type\":\"success\"}},[_c('i',{staticClass:\"el-icon-check\"})]):_vm._e(),_vm._v(\" \"),(!_vm.user.roles.moderator)?_c('el-tag',{attrs:{\"type\":\"danger\"}},[_c('i',{staticClass:\"el-icon-error\"})]):_vm._e()],1)]),_vm._v(\" \"),_c('tr',{staticClass:\"el-table__row\"},[_c('td',[_vm._v(_vm._s(_vm.$t('userProfile.admin')))]),_vm._v(\" \"),_c('td',[(_vm.user.roles.admin)?_c('el-tag',{attrs:{\"type\":\"success\"}},[_c('i',{staticClass:\"el-icon-check\"})]):_vm._e(),_vm._v(\" \"),(!_vm.user.roles.admin)?_c('el-tag',{attrs:{\"type\":\"danger\"}},[_c('i',{staticClass:\"el-icon-error\"})]):_vm._e()],1)]),_vm._v(\" \"),_c('tr',{staticClass:\"el-table__row\"},[_c('td',[_vm._v(_vm._s(_vm.$t('userProfile.local')))]),_vm._v(\" \"),_c('td',[(_vm.user.local)?_c('el-tag',{attrs:{\"type\":\"success\"}},[_c('i',{staticClass:\"el-icon-check\"})]):_vm._e(),_vm._v(\" \"),(!_vm.user.local)?_c('el-tag',{attrs:{\"type\":\"danger\"}},[_c('i',{staticClass:\"el-icon-error\"})]):_vm._e()],1)]),_vm._v(\" \"),_c('tr',{staticClass:\"el-table__row\"},[_c('td',[_vm._v(_vm._s(_vm.$t('userProfile.deactivated')))]),_vm._v(\" \"),_c('td',[(_vm.user.deactivated)?_c('el-tag',{attrs:{\"type\":\"success\"}},[_c('i',{staticClass:\"el-icon-check\"})]):_vm._e(),_vm._v(\" \"),(!_vm.user.deactivated)?_c('el-tag',{attrs:{\"type\":\"danger\"}},[_c('i',{staticClass:\"el-icon-error\"})]):_vm._e()],1)]),_vm._v(\" \"),_c('tr',{staticClass:\"el-table__row\"},[_c('td',[_vm._v(_vm._s(_vm.$t('userProfile.nickname')))]),_vm._v(\" \"),_c('td',[_vm._v(\"\\n \"+_vm._s(_vm.user.nickname)+\"\\n \")])])])])])]),_vm._v(\" \"),_c('el-row',{staticClass:\"row-bg\",attrs:{\"type\":\"flex\",\"justify\":\"space-between\"}},[_c('el-col',{attrs:{\"span\":18}},[_c('h2',[_vm._v(_vm._s(_vm.$t('userProfile.recentStatuses')))])]),_vm._v(\" \"),_c('el-col',{staticClass:\"show-private\",attrs:{\"span\":6}},[_c('el-checkbox',{on:{\"change\":_vm.onTogglePrivate},model:{value:(_vm.showPrivate),callback:function ($$v) {_vm.showPrivate=$$v},expression:\"showPrivate\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('userProfile.showPrivateStatuses'))+\"\\n \")])],1)],1),_vm._v(\" \"),_c('el-col',{attrs:{\"span\":18}},[_c('el-timeline',{staticClass:\"statuses\"},_vm._l((_vm.statuses),function(status){return _c('el-timeline-item',{key:status.id,attrs:{\"timestamp\":_vm.createdAtLocaleString(status.created_at)}},[_c('el-card',[(status.spoiler_text)?_c('strong',[_vm._v(_vm._s(status.spoiler_text))]):_vm._e(),_vm._v(\" \"),(status.content)?_c('p',{domProps:{\"innerHTML\":_vm._s(status.content)}}):_vm._e(),_vm._v(\" \"),(status.poll)?_c('div',{staticClass:\"poll\"},[_c('ul',_vm._l((status.poll.options),function(option,index){return _c('li',{key:index},[_vm._v(\"\\n \"+_vm._s(option.title)+\"\\n \"),_c('el-progress',{attrs:{\"percentage\":_vm.optionPercent(status.poll, option)}})],1)}),0)]):_vm._e(),_vm._v(\" \"),_vm._l((status.media_attachments),function(attachment,index){return _c('div',{key:index,staticClass:\"image\"},[_c('img',{attrs:{\"src\":attachment.preview_url}})])})],2)],1)}),1)],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show.vue?vue&type=script&lang=js&\"","<template>\n <main v-if=\"!loading\">\n <header>\n <el-avatar :src=\"user.avatar\" size=\"large\" />\n <h1>{{ user.display_name }}</h1>\n </header>\n <el-row>\n <el-col :span=\"6\">\n <div class=\"el-table el-table--fit el-table--enable-row-hover el-table--enable-row-transition el-table--medium\">\n <table class=\"el-table__body\">\n <tbody>\n <tr class=\"el-table__row\">\n <td class=\"name-col\">ID</td>\n <td class=\"value-col\">\n {{ user.id }}\n </td>\n </tr>\n <tr class=\"el-table__row\">\n <td>{{ $t('userProfile.tags') }}</td>\n <td>\n <el-tag v-for=\"tag in user.tags\" :key=\"tag\">{{ tag }}</el-tag>\n <span v-if=\"user.tags.length === 0\">None</span>\n </td>\n </tr>\n <tr class=\"el-table__row\">\n <td>{{ $t('userProfile.moderator') }}</td>\n <td>\n <el-tag v-if=\"user.roles.moderator\" type=\"success\"><i class=\"el-icon-check\" /></el-tag>\n <el-tag v-if=\"!user.roles.moderator\" type=\"danger\"><i class=\"el-icon-error\" /></el-tag>\n </td>\n </tr>\n <tr class=\"el-table__row\">\n <td>{{ $t('userProfile.admin') }}</td>\n <td>\n <el-tag v-if=\"user.roles.admin\" type=\"success\"><i class=\"el-icon-check\" /></el-tag>\n <el-tag v-if=\"!user.roles.admin\" type=\"danger\"><i class=\"el-icon-error\" /></el-tag>\n </td>\n </tr>\n <tr class=\"el-table__row\">\n <td>{{ $t('userProfile.local') }}</td>\n <td>\n <el-tag v-if=\"user.local\" type=\"success\"><i class=\"el-icon-check\" /></el-tag>\n <el-tag v-if=\"!user.local\" type=\"danger\"><i class=\"el-icon-error\" /></el-tag>\n </td>\n </tr>\n <tr class=\"el-table__row\">\n <td>{{ $t('userProfile.deactivated') }}</td>\n <td>\n <el-tag v-if=\"user.deactivated\" type=\"success\"><i class=\"el-icon-check\" /></el-tag>\n <el-tag v-if=\"!user.deactivated\" type=\"danger\"><i class=\"el-icon-error\" /></el-tag>\n </td>\n </tr>\n <tr class=\"el-table__row\">\n <td>{{ $t('userProfile.nickname') }}</td>\n <td>\n {{ user.nickname }}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </el-col>\n <el-row type=\"flex\" class=\"row-bg\" justify=\"space-between\">\n <el-col :span=\"18\"><h2>{{ $t('userProfile.recentStatuses') }}</h2></el-col>\n <el-col :span=\"6\" class=\"show-private\">\n <el-checkbox v-model=\"showPrivate\" @change=\"onTogglePrivate\">\n {{ $t('userProfile.showPrivateStatuses') }}\n </el-checkbox>\n </el-col>\n </el-row>\n <el-col :span=\"18\">\n <el-timeline class=\"statuses\">\n <el-timeline-item v-for=\"status in statuses\" :timestamp=\"createdAtLocaleString(status.created_at)\" :key=\"status.id\">\n <el-card>\n <strong v-if=\"status.spoiler_text\">{{ status.spoiler_text }}</strong>\n <p v-if=\"status.content\" v-html=\"status.content\" />\n <div v-if=\"status.poll\" class=\"poll\">\n <ul>\n <li v-for=\"(option, index) in status.poll.options\" :key=\"index\">\n {{ option.title }}\n <el-progress :percentage=\"optionPercent(status.poll, option)\" />\n </li>\n </ul>\n </div>\n <div v-for=\"(attachment, index) in status.media_attachments\" :key=\"index\" class=\"image\">\n <img :src=\"attachment.preview_url\">\n </div>\n </el-card>\n </el-timeline-item>\n </el-timeline>\n </el-col>\n </el-row>\n </main>\n</template>\n\n<script>\nexport default {\n name: 'UsersShow',\n data() {\n return {\n showPrivate: false\n }\n },\n computed: {\n loading() {\n return this.$store.state.userProfile.loading\n },\n user() {\n return this.$store.state.userProfile.user\n },\n statuses() {\n return this.$store.state.userProfile.statuses\n }\n },\n mounted: function() {\n this.$store.dispatch('FetchData', { id: this.$route.params.id, godmode: false })\n },\n methods: {\n optionPercent(poll, pollOption) {\n const allVotes = poll.options.reduce((acc, option) => (acc + option.votes_count), 0)\n if (allVotes === 0) {\n return 0\n }\n\n return +(pollOption.votes_count / allVotes * 100).toFixed(1)\n },\n createdAtLocaleString(createdAt) {\n const date = new Date(createdAt)\n\n return `${date.toLocaleDateString()} ${date.toLocaleTimeString()}`\n },\n onTogglePrivate() {\n console.log(this.showPrivate)\n\n this.$store.dispatch('FetchData', { id: this.$route.params.id, godmode: this.showPrivate })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\nheader {\n align-items: center;\n display: flex;\n margin: 22px 0;\n padding-left: 15px;\n h1 {\n margin: 0 0 0 10px;\n }\n}\ntable {\n margin: 10px 0 0 15px;\n .name-col {\n width: 150px;\n }\n}\n.el-table--border::after, .el-table--group::after, .el-table::before {\n background-color: transparent;\n}\n.poll ul {\n list-style-type: none;\n padding: 0;\n width: 30%;\n}\n.image {\n width: 20%;\n img {\n width: 100%;\n }\n}\n.statuses {\n padding-right: 20px;\n}\n.show-private {\n text-align: right;\n line-height: 67px;\n padding-right: 20px;\n}\n</style>\n","import { render, staticRenderFns } from \"./show.vue?vue&type=template&id=71c7ded0&scoped=true&\"\nimport script from \"./show.vue?vue&type=script&lang=js&\"\nexport * from \"./show.vue?vue&type=script&lang=js&\"\nimport style0 from \"./show.vue?vue&type=style&index=0&id=71c7ded0&rel=stylesheet%2Fscss&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 \"71c7ded0\",\n null\n \n)\n\ncomponent.options.__file = \"show.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show.vue?vue&type=style&index=0&id=71c7ded0&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show.vue?vue&type=style&index=0&id=71c7ded0&rel=stylesheet%2Fscss&lang=scss&scoped=true&\""],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-4df4.9655f394.js b/priv/static/adminfe/static/js/chunk-4df4.9655f394.js
deleted file mode 100644
index afed4bab6..000000000
--- a/priv/static/adminfe/static/js/chunk-4df4.9655f394.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-4df4"],{"9rrl":function(t,e,s){"use strict";var r=s("nBu6");s.n(r).a},Hup8:function(t,e,s){"use strict";var r=s("tOKT");s.n(r).a},RnhZ:function(t,e,s){var r={"./af":"K/tc","./af.js":"K/tc","./ar":"jnO4","./ar-dz":"o1bE","./ar-dz.js":"o1bE","./ar-kw":"Qj4J","./ar-kw.js":"Qj4J","./ar-ly":"HP3h","./ar-ly.js":"HP3h","./ar-ma":"CoRJ","./ar-ma.js":"CoRJ","./ar-sa":"gjCT","./ar-sa.js":"gjCT","./ar-tn":"bYM6","./ar-tn.js":"bYM6","./ar.js":"jnO4","./az":"SFxW","./az.js":"SFxW","./be":"H8ED","./be.js":"H8ED","./bg":"hKrs","./bg.js":"hKrs","./bm":"p/rL","./bm.js":"p/rL","./bn":"kEOa","./bn.js":"kEOa","./bo":"0mo+","./bo.js":"0mo+","./br":"aIdf","./br.js":"aIdf","./bs":"JVSJ","./bs.js":"JVSJ","./ca":"1xZ4","./ca.js":"1xZ4","./cs":"PA2r","./cs.js":"PA2r","./cv":"A+xa","./cv.js":"A+xa","./cy":"l5ep","./cy.js":"l5ep","./da":"DxQv","./da.js":"DxQv","./de":"tGlX","./de-at":"s+uk","./de-at.js":"s+uk","./de-ch":"u3GI","./de-ch.js":"u3GI","./de.js":"tGlX","./dv":"WYrj","./dv.js":"WYrj","./el":"jUeY","./el.js":"jUeY","./en-SG":"zavE","./en-SG.js":"zavE","./en-au":"Dmvi","./en-au.js":"Dmvi","./en-ca":"OIYi","./en-ca.js":"OIYi","./en-gb":"Oaa7","./en-gb.js":"Oaa7","./en-ie":"4dOw","./en-ie.js":"4dOw","./en-il":"czMo","./en-il.js":"czMo","./en-nz":"b1Dy","./en-nz.js":"b1Dy","./eo":"Zduo","./eo.js":"Zduo","./es":"iYuL","./es-do":"CjzT","./es-do.js":"CjzT","./es-us":"Vclq","./es-us.js":"Vclq","./es.js":"iYuL","./et":"7BjC","./et.js":"7BjC","./eu":"D/JM","./eu.js":"D/JM","./fa":"jfSC","./fa.js":"jfSC","./fi":"gekB","./fi.js":"gekB","./fo":"ByF4","./fo.js":"ByF4","./fr":"nyYc","./fr-ca":"2fjn","./fr-ca.js":"2fjn","./fr-ch":"Dkky","./fr-ch.js":"Dkky","./fr.js":"nyYc","./fy":"cRix","./fy.js":"cRix","./ga":"USCx","./ga.js":"USCx","./gd":"9rRi","./gd.js":"9rRi","./gl":"iEDd","./gl.js":"iEDd","./gom-latn":"DKr+","./gom-latn.js":"DKr+","./gu":"4MV3","./gu.js":"4MV3","./he":"x6pH","./he.js":"x6pH","./hi":"3E1r","./hi.js":"3E1r","./hr":"S6ln","./hr.js":"S6ln","./hu":"WxRl","./hu.js":"WxRl","./hy-am":"1rYy","./hy-am.js":"1rYy","./id":"UDhR","./id.js":"UDhR","./is":"BVg3","./is.js":"BVg3","./it":"bpih","./it-ch":"bxKX","./it-ch.js":"bxKX","./it.js":"bpih","./ja":"B55N","./ja.js":"B55N","./jv":"tUCv","./jv.js":"tUCv","./ka":"IBtZ","./ka.js":"IBtZ","./kk":"bXm7","./kk.js":"bXm7","./km":"6B0Y","./km.js":"6B0Y","./kn":"PpIw","./kn.js":"PpIw","./ko":"Ivi+","./ko.js":"Ivi+","./ku":"JCF/","./ku.js":"JCF/","./ky":"lgnt","./ky.js":"lgnt","./lb":"RAwQ","./lb.js":"RAwQ","./lo":"sp3z","./lo.js":"sp3z","./lt":"JvlW","./lt.js":"JvlW","./lv":"uXwI","./lv.js":"uXwI","./me":"KTz0","./me.js":"KTz0","./mi":"aIsn","./mi.js":"aIsn","./mk":"aQkU","./mk.js":"aQkU","./ml":"AvvY","./ml.js":"AvvY","./mn":"lYtQ","./mn.js":"lYtQ","./mr":"Ob0Z","./mr.js":"Ob0Z","./ms":"6+QB","./ms-my":"ZAMP","./ms-my.js":"ZAMP","./ms.js":"6+QB","./mt":"G0Uy","./mt.js":"G0Uy","./my":"honF","./my.js":"honF","./nb":"bOMt","./nb.js":"bOMt","./ne":"OjkT","./ne.js":"OjkT","./nl":"+s0g","./nl-be":"2ykv","./nl-be.js":"2ykv","./nl.js":"+s0g","./nn":"uEye","./nn.js":"uEye","./pa-in":"8/+R","./pa-in.js":"8/+R","./pl":"jVdC","./pl.js":"jVdC","./pt":"8mBD","./pt-br":"0tRk","./pt-br.js":"0tRk","./pt.js":"8mBD","./ro":"lyxo","./ro.js":"lyxo","./ru":"lXzo","./ru.js":"lXzo","./sd":"Z4QM","./sd.js":"Z4QM","./se":"//9w","./se.js":"//9w","./si":"7aV9","./si.js":"7aV9","./sk":"e+ae","./sk.js":"e+ae","./sl":"gVVK","./sl.js":"gVVK","./sq":"yPMs","./sq.js":"yPMs","./sr":"zx6S","./sr-cyrl":"E+lV","./sr-cyrl.js":"E+lV","./sr.js":"zx6S","./ss":"Ur1D","./ss.js":"Ur1D","./sv":"X709","./sv.js":"X709","./sw":"dNwA","./sw.js":"dNwA","./ta":"PeUW","./ta.js":"PeUW","./te":"XLvN","./te.js":"XLvN","./tet":"V2x9","./tet.js":"V2x9","./tg":"Oxv6","./tg.js":"Oxv6","./th":"EOgW","./th.js":"EOgW","./tl-ph":"Dzi0","./tl-ph.js":"Dzi0","./tlh":"z3Vd","./tlh.js":"z3Vd","./tr":"DoHr","./tr.js":"DoHr","./tzl":"z1FC","./tzl.js":"z1FC","./tzm":"wQk9","./tzm-latn":"tT3J","./tzm-latn.js":"tT3J","./tzm.js":"wQk9","./ug-cn":"YRex","./ug-cn.js":"YRex","./uk":"raLr","./uk.js":"raLr","./ur":"UpQW","./ur.js":"UpQW","./uz":"Loxo","./uz-latn":"AQ68","./uz-latn.js":"AQ68","./uz.js":"Loxo","./vi":"KSF8","./vi.js":"KSF8","./x-pseudo":"/X5v","./x-pseudo.js":"/X5v","./yo":"fzPg","./yo.js":"fzPg","./zh-cn":"XDpg","./zh-cn.js":"XDpg","./zh-hk":"SatO","./zh-hk.js":"SatO","./zh-tw":"kOpN","./zh-tw.js":"kOpN"};function a(t){var e=n(t);return s(e)}function n(t){if(!s.o(r,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return r[t]}a.keys=function(){return Object.keys(r)},a.resolve=n,t.exports=a,a.id="RnhZ"},WKah:function(t,e,s){},YqVV:function(t,e,s){"use strict";var r=s("hmQy");s.n(r).a},cEOe:function(t,e,s){"use strict";s.r(e);var r=s("wd/R"),a=s.n(r),n={name:"Statuses",props:{report:{type:Object,required:!0}},methods:{capitalizeFirstLetter:function(t){return t.charAt(0).toUpperCase()+t.slice(1)},changeStatus:function(t,e,s,r){this.$store.dispatch("ChangeStatusScope",{statusId:t,isSensitive:e,visibility:s,reportId:r})},deleteStatus:function(t,e){var s=this;this.$confirm("Are you sure you want to delete this status?","Warning",{confirmButtonText:"OK",cancelButtonText:"Cancel",type:"warning"}).then(function(){s.$store.dispatch("DeleteStatus",{statusId:t,reportId:e}),s.$message({type:"success",message:"Delete completed"})}).catch(function(){s.$message({type:"info",message:"Delete canceled"})})},getStatusesTitle:function(t){return"Reported statuses: ".concat(t.length," item(s)")},parseTimestamp:function(t){return a()(t).format("YYYY-MM-DD HH:mm")}}},i=(s("j5HQ"),s("KHd+")),o=Object(i.a)(n,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("el-collapse-item",{attrs:{title:t.getStatusesTitle(t.report.statuses)}},t._l(t.report.statuses,function(e){return s("el-card",{key:e.id,staticClass:"status-card"},[s("div",{attrs:{slot:"header"},slot:"header"},[s("div",{staticClass:"status-header"},[s("div",{staticClass:"status-account-container"},[s("div",{staticClass:"status-account"},[s("img",{staticClass:"status-avatar-img",attrs:{src:e.account.avatar}}),t._v(" "),s("h3",{staticClass:"status-account-name"},[t._v(t._s(e.account.display_name))])]),t._v(" "),s("a",{staticClass:"account",attrs:{href:e.account.url,target:"_blank"}},[t._v("\n @"+t._s(e.account.acct)+"\n ")])]),t._v(" "),s("div",{staticClass:"status-actions"},[e.sensitive?s("el-tag",{attrs:{type:"warning",size:"large"}},[t._v(t._s(t.$t("reports.sensitive")))]):t._e(),t._v(" "),s("el-tag",{attrs:{size:"large"}},[t._v(t._s(t.capitalizeFirstLetter(e.visibility)))]),t._v(" "),s("el-dropdown",{attrs:{trigger:"click"}},[s("el-button",{staticClass:"status-actions-button",attrs:{plain:"",size:"small",icon:"el-icon-edit"}},[t._v("\n "+t._s(t.$t("reports.changeScope"))),s("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[e.sensitive?t._e():s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(e.id,!0,e.visibility,t.report.id)}}},[t._v("\n "+t._s(t.$t("reports.addSensitive"))+"\n ")]),t._v(" "),e.sensitive?s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(e.id,!1,e.visibility,t.report.id)}}},[t._v("\n "+t._s(t.$t("reports.removeSensitive"))+"\n ")]):t._e(),t._v(" "),"public"!==e.visibility?s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(e.id,e.sensitive,"public",t.report.id)}}},[t._v("\n "+t._s(t.$t("reports.public"))+"\n ")]):t._e(),t._v(" "),"private"!==e.visibility?s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(e.id,e.sensitive,"private",t.report.id)}}},[t._v("\n "+t._s(t.$t("reports.private"))+"\n ")]):t._e(),t._v(" "),"unlisted"!==e.visibility?s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(e.id,e.sensitive,"unlisted",t.report.id)}}},[t._v("\n "+t._s(t.$t("reports.unlisted"))+"\n ")]):t._e(),t._v(" "),s("el-dropdown-item",{nativeOn:{click:function(s){return t.deleteStatus(e.id,t.report.id)}}},[t._v("\n "+t._s(t.$t("reports.deleteStatus"))+"\n ")])],1)],1)],1)])]),t._v(" "),s("div",{staticClass:"status-body"},[s("span",{staticClass:"status-content",domProps:{innerHTML:t._s(e.content)}}),t._v(" "),s("a",{staticClass:"account",attrs:{href:e.url,target:"_blank"}},[t._v("\n "+t._s(t.parseTimestamp(e.created_at))+"\n ")])])])}),1)},[],!1,null,null,null);o.options.__file="Statuses.vue";var c={name:"TimelineItem",components:{Statuses:o.exports},props:{report:{type:Object,required:!0}},methods:{changeReportState:function(t,e){this.$store.dispatch("ChangeReportState",{reportState:t,reportId:e})},capitalizeFirstLetter:function(t){return t.charAt(0).toUpperCase()+t.slice(1)},getStateType:function(t){switch(t){case"closed":return"info";case"resolved":return"success";default:return"primary"}},parseTimestamp:function(t){return a()(t).format("L HH:mm")},showDeactivatedButton:function(t){return this.$store.state.user.id!==t},handleDeactivation:function(t){var e=t.nickname;this.$store.dispatch("ToggleUserActivation",e)},handleDeletion:function(t){this.$store.dispatch("DeleteUser",t)},toggleTag:function(t,e){t.tags.includes(e)?this.$store.dispatch("RemoveTag",{users:[t],tag:e}):this.$store.dispatch("AddTag",{users:[t],tag:e})}}},l=(s("YqVV"),Object(i.a)(c,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("el-timeline-item",{staticClass:"timeline-item-container",attrs:{timestamp:t.parseTimestamp(t.report.created_at),placement:"top"}},[s("el-card",[s("div",{staticClass:"header-container"},[s("div",[s("h3",{staticClass:"report-title"},[t._v("Report on "+t._s(t.report.account.display_name))]),t._v(" "),s("h5",{staticClass:"id"},[t._v("ID: "+t._s(t.report.id))])]),t._v(" "),s("div",[s("el-tag",{attrs:{type:t.getStateType(t.report.state),size:"large"}},[t._v(t._s(t.capitalizeFirstLetter(t.report.state)))]),t._v(" "),s("el-dropdown",{attrs:{trigger:"click"}},[s("el-button",{attrs:{plain:"",size:"small",icon:"el-icon-edit"}},[t._v(t._s(t.$t("reports.changeState"))),s("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},["resolved"!==t.report.state?s("el-dropdown-item",{nativeOn:{click:function(e){return t.changeReportState("resolved",t.report.id)}}},[t._v(t._s(t.$t("reports.resolve")))]):t._e(),t._v(" "),"open"!==t.report.state?s("el-dropdown-item",{nativeOn:{click:function(e){return t.changeReportState("open",t.report.id)}}},[t._v(t._s(t.$t("reports.reopen")))]):t._e(),t._v(" "),"closed"!==t.report.state?s("el-dropdown-item",{nativeOn:{click:function(e){return t.changeReportState("closed",t.report.id)}}},[t._v(t._s(t.$t("reports.close")))]):t._e()],1)],1),t._v(" "),s("el-dropdown",{attrs:{trigger:"click"}},[s("el-button",{attrs:{plain:"",size:"small",icon:"el-icon-files"}},[t._v(t._s(t.$t("reports.moderateUser"))),s("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[t.showDeactivatedButton(t.report.account)?s("el-dropdown-item",{nativeOn:{click:function(e){return t.handleDeactivation(t.report.account)}}},[t._v("\n "+t._s(t.report.account.deactivated?t.$t("users.activateAccount"):t.$t("users.deactivateAccount"))+"\n ")]):t._e(),t._v(" "),t.showDeactivatedButton(t.report.account.id)?s("el-dropdown-item",{nativeOn:{click:function(e){return t.handleDeletion(t.report.account.id)}}},[t._v("\n "+t._s(t.$t("users.deleteAccount"))+"\n ")]):t._e(),t._v(" "),s("el-dropdown-item",{class:{"active-tag":t.report.account.tags.includes("force_nsfw")},attrs:{divided:!0},nativeOn:{click:function(e){return t.toggleTag(t.report.account,"force_nsfw")}}},[t._v("\n "+t._s(t.$t("users.forceNsfw"))+"\n "),t.report.account.tags.includes("force_nsfw")?s("i",{staticClass:"el-icon-check"}):t._e()]),t._v(" "),s("el-dropdown-item",{class:{"active-tag":t.report.account.tags.includes("strip_media")},nativeOn:{click:function(e){return t.toggleTag(t.report.account,"strip_media")}}},[t._v("\n "+t._s(t.$t("users.stripMedia"))+"\n "),t.report.account.tags.includes("strip_media")?s("i",{staticClass:"el-icon-check"}):t._e()]),t._v(" "),s("el-dropdown-item",{class:{"active-tag":t.report.account.tags.includes("force_unlisted")},nativeOn:{click:function(e){return t.toggleTag(t.report.account,"force_unlisted")}}},[t._v("\n "+t._s(t.$t("users.forceUnlisted"))+"\n "),t.report.account.tags.includes("force_unlisted")?s("i",{staticClass:"el-icon-check"}):t._e()]),t._v(" "),s("el-dropdown-item",{class:{"active-tag":t.report.account.tags.includes("sandbox")},nativeOn:{click:function(e){return t.toggleTag(t.report.account,"sandbox")}}},[t._v("\n "+t._s(t.$t("users.sandbox"))+"\n "),t.report.account.tags.includes("sandbox")?s("i",{staticClass:"el-icon-check"}):t._e()]),t._v(" "),t.report.account.local?s("el-dropdown-item",{class:{"active-tag":t.report.account.tags.includes("disable_remote_subscription")},nativeOn:{click:function(e){return t.toggleTag(t.report.account,"disable_remote_subscription")}}},[t._v("\n "+t._s(t.$t("users.disableRemoteSubscription"))+"\n "),t.report.account.tags.includes("disable_remote_subscription")?s("i",{staticClass:"el-icon-check"}):t._e()]):t._e(),t._v(" "),t.report.account.local?s("el-dropdown-item",{class:{"active-tag":t.report.account.tags.includes("disable_any_subscription")},nativeOn:{click:function(e){return t.toggleTag(t.report.account,"disable_any_subscription")}}},[t._v("\n "+t._s(t.$t("users.disableAnySubscription"))+"\n "),t.report.account.tags.includes("disable_any_subscription")?s("i",{staticClass:"el-icon-check"}):t._e()]):t._e()],1)],1)],1)]),t._v(" "),s("div",[s("div",{staticClass:"line"}),t._v(" "),s("span",{staticClass:"report-row-key"},[t._v("Account:")]),t._v(" "),s("img",{staticClass:"avatar-img",attrs:{src:t.report.account.avatar,alt:"avatar"}}),t._v(" "),s("a",{staticClass:"account",attrs:{href:t.report.account.url,target:"_blank"}},[s("span",{staticClass:"report-row-value"},[t._v(t._s(t.report.account.acct))])])]),t._v(" "),t.report.content.length>0?s("div",[s("div",{staticClass:"line"}),t._v(" "),s("span",{staticClass:"report-row-key"},[t._v("Content:\n "),s("span",{staticClass:"report-row-value"},[t._v(t._s(t.report.content))])])]):t._e(),t._v(" "),s("div",[s("div",{staticClass:"line"}),t._v(" "),s("span",{staticClass:"report-row-key"},[t._v("Actor:")]),t._v(" "),s("img",{staticClass:"avatar-img",attrs:{src:t.report.actor.avatar,alt:"avatar"}}),t._v(" "),s("a",{staticClass:"account",attrs:{href:t.report.actor.url,target:"_blank"}},[s("span",{staticClass:"report-row-value"},[t._v(t._s(t.report.actor.acct))])])]),t._v(" "),t.report.statuses.length>0?s("div",{staticClass:"statuses"},[s("el-collapse",[s("statuses",{attrs:{report:t.report}})],1)],1):t._e()])],1)},[],!1,null,null,null));l.options.__file="TimelineItem.vue";var u=l.exports,d=s("mSNy"),p={data:function(){return{filter:"open",options:[{value:"open",label:d.a.t("reportsFilter.open")},{value:"closed",label:d.a.t("reportsFilter.closed")},{value:"resolved",label:d.a.t("reportsFilter.resolved")}]}},created:function(){this.$store.dispatch("SetFilter",this.$data.filter)},methods:{toggleFilters:function(){this.$store.dispatch("SetFilter",this.$data.filter),this.$store.dispatch("ClearFetchedReports"),this.$store.dispatch("FetchReports")}}},v=(s("9rrl"),Object(i.a)(p,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("el-select",{staticClass:"select-field",attrs:{placeholder:t.$t("reportsFilter.inputPlaceholder"),clearable:"","value-key":"value"},on:{change:t.toggleFilters},model:{value:t.filter,callback:function(e){t.filter=e},expression:"filter"}},t._l(t.options,function(e){return s("el-option",{key:e.value,attrs:{label:e.label,value:e.value}},[t._v(t._s(e.label))])}),1)},[],!1,null,"07695bc4",null));v.options.__file="ReportsFilter.vue";var _={components:{TimelineItem:u,ReportsFilter:v.exports},computed:{loading:function(){return this.$store.state.users.loading},reports:function(){return this.$store.state.reports.fetchedReports}},mounted:function(){this.$store.dispatch("FetchReports")},created:function(){window.addEventListener("scroll",this.handleScroll)},destroyed:function(){window.removeEventListener("scroll",this.handleScroll)},methods:{handleScroll:function(t){document.documentElement.scrollHeight-document.documentElement.scrollTop===document.documentElement.clientHeight&&this.$store.dispatch("FetchReports")}}},j=(s("Hup8"),Object(i.a)(_,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"reports-container"},[s("h1",[t._v(t._s(t.$t("reports.reports")))]),t._v(" "),s("div",{staticClass:"filter-container"},[s("reports-filter")],1),t._v(" "),s("div",{staticClass:"block"},[s("el-timeline",{staticClass:"timeline"},t._l(t.reports,function(e){return s("timeline-item",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],key:e.id,attrs:{report:e}})}),1),t._v(" "),0===t.reports.length?s("div",{staticClass:"no-reports-message"},[s("p",[t._v("There are no reports to display")])]):t._e()],1)])},[],!1,null,"e32c7dc6",null));j.options.__file="index.vue";e.default=j.exports},hmQy:function(t,e,s){},j5HQ:function(t,e,s){"use strict";var r=s("WKah");s.n(r).a},nBu6:function(t,e,s){},tOKT:function(t,e,s){}}]);
-//# sourceMappingURL=chunk-4df4.9655f394.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-4df4.9655f394.js.map b/priv/static/adminfe/static/js/chunk-4df4.9655f394.js.map
deleted file mode 100644
index a1e9bca7a..000000000
--- a/priv/static/adminfe/static/js/chunk-4df4.9655f394.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/views/reports/components/ReportsFilter.vue?c1a0","webpack:///./src/views/reports/index.vue?c335","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/views/reports/components/TimelineItem.vue?f7d5","webpack:///./src/views/reports/index.vue?86df","webpack:///./src/views/reports/components/Statuses.vue?6dc1","webpack:///src/views/reports/components/Statuses.vue","webpack:///./src/views/reports/components/Statuses.vue","webpack:///./src/views/reports/components/Statuses.vue?1846","webpack:///./src/views/reports/components/TimelineItem.vue?4cd1","webpack:///src/views/reports/components/TimelineItem.vue","webpack:///./src/views/reports/components/TimelineItem.vue","webpack:///./src/views/reports/components/TimelineItem.vue?9fa7","webpack:///./src/views/reports/components/ReportsFilter.vue?e3b7","webpack:///src/views/reports/components/ReportsFilter.vue","webpack:///./src/views/reports/components/ReportsFilter.vue","webpack:///./src/views/reports/components/ReportsFilter.vue?9fab","webpack:///./src/views/reports/index.vue?3bcc","webpack:///src/views/reports/index.vue","webpack:///./src/views/reports/index.vue","webpack:///./src/views/reports/components/Statuses.vue?f720"],"names":["_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ReportsFilter_vue_vue_type_style_index_0_id_07695bc4_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_e32c7dc6_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","map","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-SG","./en-SG.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-il","./en-il.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./ga","./ga.js","./gd","./gd.js","./gl","./gl.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it-ch","./it-ch.js","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ku","./ku.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mn","./mn.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./mt","./mt.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./tg","./tg.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./ug-cn","./ug-cn.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","webpackContext","req","id","webpackContextResolve","o","e","Error","code","keys","Object","resolve","module","exports","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_TimelineItem_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","components_Statusesvue_type_script_lang_js_","name","props","report","type","required","methods","capitalizeFirstLetter","str","charAt","toUpperCase","slice","changeStatus","statusId","isSensitive","visibility","reportId","this","$store","dispatch","deleteStatus","_this","$confirm","confirmButtonText","cancelButtonText","then","$message","message","catch","getStatusesTitle","statuses","concat","length","parseTimestamp","timestamp","moment_default","format","component","componentNormalizer","_vm","_h","$createElement","_c","_self","attrs","title","_l","status","key","staticClass","slot","src","account","avatar","_v","_s","display_name","href","url","target","acct","size","$t","_e","trigger","plain","icon","sensitive","nativeOn","click","$event","domProps","innerHTML","content","created_at","options","__file","components_TimelineItemvue_type_script_lang_js_","components","Statuses","changeReportState","reportState","getStateType","state","showDeactivatedButton","user","handleDeactivation","_ref","nickname","handleDeletion","toggleTag","tag","tags","includes","users","TimelineItem_component","placement","deactivated","class","active-tag","divided","alt","actor","TimelineItem","components_ReportsFiltervue_type_script_lang_js_","data","filter","value","label","lang","t","created","$data","toggleFilters","ReportsFilter_component","placeholder","clearable","value-key","on","change","model","callback","$$v","expression","item","views_reportsvue_type_script_lang_js_","ReportsFilter","computed","loading","reports","fetchedReports","mounted","window","addEventListener","handleScroll","destroyed","removeEventListener","document","documentElement","scrollHeight","scrollTop","clientHeight","reports_component","directives","rawName","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Statuses_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__"],"mappings":"wGAAA,IAAAA,EAAAC,EAAA,QAAAA,EAAAC,EAAAF,GAAygB,qCCAzgB,IAAAG,EAAAF,EAAA,QAAAA,EAAAC,EAAAC,GAA+e,wBCA/e,IAAAC,GACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,gBAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,YAAA,OACAC,eAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,O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","file":"static/js/chunk-4df4.9655f394.js","sourcesContent":["import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportsFilter.vue?vue&type=style&index=0&id=07695bc4&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportsFilter.vue?vue&type=style&index=0&id=07695bc4&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=e32c7dc6&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=e32c7dc6&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-SG\": \"zavE\",\n\t\"./en-SG.js\": \"zavE\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\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 = \"RnhZ\";","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimelineItem.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimelineItem.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"reports-container\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('reports.reports')))]),_vm._v(\" \"),_c('div',{staticClass:\"filter-container\"},[_c('reports-filter')],1),_vm._v(\" \"),_c('div',{staticClass:\"block\"},[_c('el-timeline',{staticClass:\"timeline\"},_vm._l((_vm.reports),function(report){return _c('timeline-item',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],key:report.id,attrs:{\"report\":report}})}),1),_vm._v(\" \"),(_vm.reports.length === 0)?_c('div',{staticClass:\"no-reports-message\"},[_c('p',[_vm._v(\"There are no reports to display\")])]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Statuses.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Statuses.vue?vue&type=script&lang=js&\"","<template>\n <el-collapse-item :title=\"getStatusesTitle(report.statuses)\">\n <el-card v-for=\"status in report.statuses\" :key=\"status.id\" class=\"status-card\">\n <div slot=\"header\">\n <div class=\"status-header\">\n <div class=\"status-account-container\">\n <div class=\"status-account\">\n <img :src=\"status.account.avatar\" class=\"status-avatar-img\">\n <h3 class=\"status-account-name\">{{ status.account.display_name }}</h3>\n </div>\n <a :href=\"status.account.url\" target=\"_blank\" class=\"account\">\n @{{ status.account.acct }}\n </a>\n </div>\n <div class=\"status-actions\">\n <el-tag v-if=\"status.sensitive\" type=\"warning\" size=\"large\">{{ $t('reports.sensitive') }}</el-tag>\n <el-tag size=\"large\">{{ capitalizeFirstLetter(status.visibility) }}</el-tag>\n <el-dropdown trigger=\"click\">\n <el-button plain size=\"small\" icon=\"el-icon-edit\" class=\"status-actions-button\">\n {{ $t('reports.changeScope') }}<i class=\"el-icon-arrow-down el-icon--right\"/>\n </el-button>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item\n v-if=\"!status.sensitive\"\n @click.native=\"changeStatus(status.id, true, status.visibility, report.id)\">\n {{ $t('reports.addSensitive') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.sensitive\"\n @click.native=\"changeStatus(status.id, false, status.visibility, report.id)\">\n {{ $t('reports.removeSensitive') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.visibility !== 'public'\"\n @click.native=\"changeStatus(status.id, status.sensitive, 'public', report.id)\">\n {{ $t('reports.public') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.visibility !== 'private'\"\n @click.native=\"changeStatus(status.id, status.sensitive, 'private', report.id)\">\n {{ $t('reports.private') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.visibility !== 'unlisted'\"\n @click.native=\"changeStatus(status.id, status.sensitive, 'unlisted', report.id)\">\n {{ $t('reports.unlisted') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"deleteStatus(status.id, report.id)\">\n {{ $t('reports.deleteStatus') }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n </div>\n </div>\n </div>\n <div class=\"status-body\">\n <span class=\"status-content\" v-html=\"status.content\"/>\n <a :href=\"status.url\" target=\"_blank\" class=\"account\">\n {{ parseTimestamp(status.created_at) }}\n </a>\n </div>\n </el-card>\n </el-collapse-item>\n</template>\n\n<script>\nimport moment from 'moment'\n\nexport default {\n name: 'Statuses',\n props: {\n report: {\n type: Object,\n required: true\n }\n },\n methods: {\n capitalizeFirstLetter(str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n },\n changeStatus(statusId, isSensitive, visibility, reportId) {\n this.$store.dispatch('ChangeStatusScope', { statusId, isSensitive, visibility, reportId })\n },\n deleteStatus(statusId, reportId) {\n this.$confirm('Are you sure you want to delete this status?', 'Warning', {\n confirmButtonText: 'OK',\n cancelButtonText: 'Cancel',\n type: 'warning'\n }).then(() => {\n this.$store.dispatch('DeleteStatus', { statusId, reportId })\n this.$message({\n type: 'success',\n message: 'Delete completed'\n })\n }).catch(() => {\n this.$message({\n type: 'info',\n message: 'Delete canceled'\n })\n })\n },\n getStatusesTitle(statuses) {\n return `Reported statuses: ${statuses.length} item(s)`\n },\n parseTimestamp(timestamp) {\n return moment(timestamp).format('YYYY-MM-DD HH:mm')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n .account {\n text-decoration: underline;\n }\n .status-account {\n display: flex;\n align-items: center;\n }\n .status-avatar-img {\n width: 15px;\n height: 15px;\n margin-right: 5px;\n }\n .status-account-name {\n margin: 0;\n height: 22px;\n }\n .status-body {\n display: flex;\n flex-direction: column;\n }\n .status-content {\n font-size: 15px;\n }\n .status-card {\n margin-bottom: 15px;\n }\n .status-header {\n display: flex;\n justify-content: space-between;\n }\n @media\n only screen and (max-width: 760px),\n (min-device-width: 768px) and (max-device-width: 1024px) {\n .el-message {\n min-width: 80%;\n }\n .el-message-box {\n width: 80%;\n }\n .status-card {\n .el-card__header {\n padding: 10px 17px\n }\n .el-tag {\n margin: 3px 4px 3px 0;\n }\n .status-account-container {\n margin-bottom: 5px;\n }\n .status-actions-button {\n margin: 3px 0 3px;\n }\n .status-actions {\n display: flex;\n flex-wrap: wrap;\n }\n .status-header {\n display: flex;\n flex-direction: column;\n }\n }\n }\n</style>\n","import { render, staticRenderFns } from \"./Statuses.vue?vue&type=template&id=2b85301a&\"\nimport script from \"./Statuses.vue?vue&type=script&lang=js&\"\nexport * from \"./Statuses.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Statuses.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Statuses.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-collapse-item',{attrs:{\"title\":_vm.getStatusesTitle(_vm.report.statuses)}},_vm._l((_vm.report.statuses),function(status){return _c('el-card',{key:status.id,staticClass:\"status-card\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('div',{staticClass:\"status-header\"},[_c('div',{staticClass:\"status-account-container\"},[_c('div',{staticClass:\"status-account\"},[_c('img',{staticClass:\"status-avatar-img\",attrs:{\"src\":status.account.avatar}}),_vm._v(\" \"),_c('h3',{staticClass:\"status-account-name\"},[_vm._v(_vm._s(status.account.display_name))])]),_vm._v(\" \"),_c('a',{staticClass:\"account\",attrs:{\"href\":status.account.url,\"target\":\"_blank\"}},[_vm._v(\"\\n @\"+_vm._s(status.account.acct)+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"status-actions\"},[(status.sensitive)?_c('el-tag',{attrs:{\"type\":\"warning\",\"size\":\"large\"}},[_vm._v(_vm._s(_vm.$t('reports.sensitive')))]):_vm._e(),_vm._v(\" \"),_c('el-tag',{attrs:{\"size\":\"large\"}},[_vm._v(_vm._s(_vm.capitalizeFirstLetter(status.visibility)))]),_vm._v(\" \"),_c('el-dropdown',{attrs:{\"trigger\":\"click\"}},[_c('el-button',{staticClass:\"status-actions-button\",attrs:{\"plain\":\"\",\"size\":\"small\",\"icon\":\"el-icon-edit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.changeScope'))),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(!status.sensitive)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(status.id, true, status.visibility, _vm.report.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.addSensitive'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(status.sensitive)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(status.id, false, status.visibility, _vm.report.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.removeSensitive'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(status.visibility !== 'public')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(status.id, status.sensitive, 'public', _vm.report.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.public'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(status.visibility !== 'private')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(status.id, status.sensitive, 'private', _vm.report.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.private'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(status.visibility !== 'unlisted')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(status.id, status.sensitive, 'unlisted', _vm.report.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.unlisted'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.deleteStatus(status.id, _vm.report.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.deleteStatus'))+\"\\n \")])],1)],1)],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"status-body\"},[_c('span',{staticClass:\"status-content\",domProps:{\"innerHTML\":_vm._s(status.content)}}),_vm._v(\" \"),_c('a',{staticClass:\"account\",attrs:{\"href\":status.url,\"target\":\"_blank\"}},[_vm._v(\"\\n \"+_vm._s(_vm.parseTimestamp(status.created_at))+\"\\n \")])])])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimelineItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimelineItem.vue?vue&type=script&lang=js&\"","<template>\n <el-timeline-item :timestamp=\"parseTimestamp(report.created_at)\" placement=\"top\" class=\"timeline-item-container\">\n <el-card>\n <div class=\"header-container\">\n <div>\n <h3 class=\"report-title\">Report on {{ report.account.display_name }}</h3>\n <h5 class=\"id\">ID: {{ report.id }}</h5>\n </div>\n <div>\n <el-tag :type=\"getStateType(report.state)\" size=\"large\">{{ capitalizeFirstLetter(report.state) }}</el-tag>\n <el-dropdown trigger=\"click\">\n <el-button plain size=\"small\" icon=\"el-icon-edit\">{{ $t('reports.changeState') }}<i class=\"el-icon-arrow-down el-icon--right\"/></el-button>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item v-if=\"report.state !== 'resolved'\" @click.native=\"changeReportState('resolved', report.id)\">{{ $t('reports.resolve') }}</el-dropdown-item>\n <el-dropdown-item v-if=\"report.state !== 'open'\" @click.native=\"changeReportState('open', report.id)\">{{ $t('reports.reopen') }}</el-dropdown-item>\n <el-dropdown-item v-if=\"report.state !== 'closed'\" @click.native=\"changeReportState('closed', report.id)\">{{ $t('reports.close') }}</el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n <el-dropdown trigger=\"click\">\n <el-button plain size=\"small\" icon=\"el-icon-files\">{{ $t('reports.moderateUser') }}<i class=\"el-icon-arrow-down el-icon--right\"/></el-button>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item\n v-if=\"showDeactivatedButton(report.account)\"\n @click.native=\"handleDeactivation(report.account)\">\n {{ report.account.deactivated ? $t('users.activateAccount') : $t('users.deactivateAccount') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"showDeactivatedButton(report.account.id)\"\n @click.native=\"handleDeletion(report.account.id)\">\n {{ $t('users.deleteAccount') }}\n </el-dropdown-item>\n <el-dropdown-item\n :divided=\"true\"\n :class=\"{ 'active-tag': report.account.tags.includes('force_nsfw') }\"\n @click.native=\"toggleTag(report.account, 'force_nsfw')\">\n {{ $t('users.forceNsfw') }}\n <i v-if=\"report.account.tags.includes('force_nsfw')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n :class=\"{ 'active-tag': report.account.tags.includes('strip_media') }\"\n @click.native=\"toggleTag(report.account, 'strip_media')\">\n {{ $t('users.stripMedia') }}\n <i v-if=\"report.account.tags.includes('strip_media')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n :class=\"{ 'active-tag': report.account.tags.includes('force_unlisted') }\"\n @click.native=\"toggleTag(report.account, 'force_unlisted')\">\n {{ $t('users.forceUnlisted') }}\n <i v-if=\"report.account.tags.includes('force_unlisted')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n :class=\"{ 'active-tag': report.account.tags.includes('sandbox') }\"\n @click.native=\"toggleTag(report.account, 'sandbox')\">\n {{ $t('users.sandbox') }}\n <i v-if=\"report.account.tags.includes('sandbox')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"report.account.local\"\n :class=\"{ 'active-tag': report.account.tags.includes('disable_remote_subscription') }\"\n @click.native=\"toggleTag(report.account, 'disable_remote_subscription')\">\n {{ $t('users.disableRemoteSubscription') }}\n <i v-if=\"report.account.tags.includes('disable_remote_subscription')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"report.account.local\"\n :class=\"{ 'active-tag': report.account.tags.includes('disable_any_subscription') }\"\n @click.native=\"toggleTag(report.account, 'disable_any_subscription')\">\n {{ $t('users.disableAnySubscription') }}\n <i v-if=\"report.account.tags.includes('disable_any_subscription')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n </div>\n </div>\n <div>\n <div class=\"line\"/>\n <span class=\"report-row-key\">Account:</span>\n <img\n :src=\"report.account.avatar\"\n alt=\"avatar\"\n class=\"avatar-img\">\n <a :href=\"report.account.url\" target=\"_blank\" class=\"account\">\n <span class=\"report-row-value\">{{ report.account.acct }}</span>\n </a>\n </div>\n <div v-if=\"report.content.length > 0\">\n <div class=\"line\"/>\n <span class=\"report-row-key\">Content:\n <span class=\"report-row-value\">{{ report.content }}</span>\n </span>\n </div>\n <div>\n <div class=\"line\"/>\n <span class=\"report-row-key\">Actor:</span>\n <img\n :src=\"report.actor.avatar\"\n alt=\"avatar\"\n class=\"avatar-img\">\n <a :href=\"report.actor.url\" target=\"_blank\" class=\"account\">\n <span class=\"report-row-value\">{{ report.actor.acct }}</span>\n </a>\n </div>\n <div v-if=\"report.statuses.length > 0\" class=\"statuses\">\n <el-collapse>\n <statuses :report=\"report\"/>\n </el-collapse>\n </div>\n </el-card>\n </el-timeline-item>\n</template>\n\n<script>\nimport moment from 'moment'\nimport Statuses from './Statuses'\n\nexport default {\n name: 'TimelineItem',\n components: { Statuses },\n props: {\n report: {\n type: Object,\n required: true\n }\n },\n methods: {\n changeReportState(reportState, reportId) {\n this.$store.dispatch('ChangeReportState', { reportState, reportId })\n },\n capitalizeFirstLetter(str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n },\n getStateType(state) {\n switch (state) {\n case 'closed':\n return 'info'\n case 'resolved':\n return 'success'\n default:\n return 'primary'\n }\n },\n parseTimestamp(timestamp) {\n return moment(timestamp).format('L HH:mm')\n },\n showDeactivatedButton(id) {\n return this.$store.state.user.id !== id\n },\n handleDeactivation({ nickname }) {\n this.$store.dispatch('ToggleUserActivation', nickname)\n },\n handleDeletion(user) {\n this.$store.dispatch('DeleteUser', user)\n },\n toggleTag(user, tag) {\n user.tags.includes(tag)\n ? this.$store.dispatch('RemoveTag', { users: [user], tag })\n : this.$store.dispatch('AddTag', { users: [user], tag })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n .account {\n text-decoration: underline;\n }\n .avatar-img {\n vertical-align: bottom;\n width: 15px;\n height: 15px;\n margin-left: 5px;\n }\n .el-card__body {\n padding: 17px;\n }\n .el-card__header {\n background-color: #FAFAFA;\n padding: 10px 20px;\n }\n .el-collapse {\n border-bottom: none;\n }\n .el-collapse-item__header {\n height: 46px;\n font-size: 14px;\n }\n .el-collapse-item__content {\n padding-bottom: 7px;\n }\n .el-icon-arrow-right {\n margin-right: 6px;\n }\n .el-icon-close {\n padding: 10px 5px 10px 10px;\n cursor: pointer;\n }\n h4 {\n margin: 0;\n height: 17px;\n }\n .header-container {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n height: 40px;\n }\n .id {\n color: gray;\n margin-top: 6px;\n }\n .line {\n width: 100%;\n height: 0;\n border: 0.5px solid #EBEEF5;\n margin: 15px 0 15px;\n }\n .new-note {\n p {\n font-size: 14px;\n font-weight: 500;\n height: 17px;\n margin: 13px 0 7px;\n }\n }\n .note {\n box-shadow: 0 2px 5px 0 rgba(0,0,0,.1);\n margin-bottom: 10px;\n }\n .no-notes {\n font-style: italic;\n color: gray;\n }\n .report-row-key {\n font-size: 14px;\n font-weight: 500;\n }\n .report-row-key {\n font-size: 14px;\n }\n .report-title {\n margin: 0;\n }\n .statuses {\n margin-top: 15px;\n }\n .submit-button {\n display: block;\n margin: 7px 0 17px auto;\n }\n .timestamp {\n margin: 0;\n font-style: italic;\n color: gray;\n }\n @media\n only screen and (max-width: 760px),\n (min-device-width: 768px) and (max-device-width: 1024px) {\n .timeline-item-container {\n .header-container {\n display: flex;\n flex-direction: column;\n height: 80px;\n }\n .id {\n margin: 6px 0 0 0;\n }\n }\n }\n</style>\n","import { render, staticRenderFns } from \"./TimelineItem.vue?vue&type=template&id=e59a02ba&\"\nimport script from \"./TimelineItem.vue?vue&type=script&lang=js&\"\nexport * from \"./TimelineItem.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TimelineItem.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"TimelineItem.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-timeline-item',{staticClass:\"timeline-item-container\",attrs:{\"timestamp\":_vm.parseTimestamp(_vm.report.created_at),\"placement\":\"top\"}},[_c('el-card',[_c('div',{staticClass:\"header-container\"},[_c('div',[_c('h3',{staticClass:\"report-title\"},[_vm._v(\"Report on \"+_vm._s(_vm.report.account.display_name))]),_vm._v(\" \"),_c('h5',{staticClass:\"id\"},[_vm._v(\"ID: \"+_vm._s(_vm.report.id))])]),_vm._v(\" \"),_c('div',[_c('el-tag',{attrs:{\"type\":_vm.getStateType(_vm.report.state),\"size\":\"large\"}},[_vm._v(_vm._s(_vm.capitalizeFirstLetter(_vm.report.state)))]),_vm._v(\" \"),_c('el-dropdown',{attrs:{\"trigger\":\"click\"}},[_c('el-button',{attrs:{\"plain\":\"\",\"size\":\"small\",\"icon\":\"el-icon-edit\"}},[_vm._v(_vm._s(_vm.$t('reports.changeState'))),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(_vm.report.state !== 'resolved')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeReportState('resolved', _vm.report.id)}}},[_vm._v(_vm._s(_vm.$t('reports.resolve')))]):_vm._e(),_vm._v(\" \"),(_vm.report.state !== 'open')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeReportState('open', _vm.report.id)}}},[_vm._v(_vm._s(_vm.$t('reports.reopen')))]):_vm._e(),_vm._v(\" \"),(_vm.report.state !== 'closed')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeReportState('closed', _vm.report.id)}}},[_vm._v(_vm._s(_vm.$t('reports.close')))]):_vm._e()],1)],1),_vm._v(\" \"),_c('el-dropdown',{attrs:{\"trigger\":\"click\"}},[_c('el-button',{attrs:{\"plain\":\"\",\"size\":\"small\",\"icon\":\"el-icon-files\"}},[_vm._v(_vm._s(_vm.$t('reports.moderateUser'))),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(_vm.showDeactivatedButton(_vm.report.account))?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.handleDeactivation(_vm.report.account)}}},[_vm._v(\"\\n \"+_vm._s(_vm.report.account.deactivated ? _vm.$t('users.activateAccount') : _vm.$t('users.deactivateAccount'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.showDeactivatedButton(_vm.report.account.id))?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.handleDeletion(_vm.report.account.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.deleteAccount'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': _vm.report.account.tags.includes('force_nsfw') },attrs:{\"divided\":true},nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.report.account, 'force_nsfw')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.forceNsfw'))+\"\\n \"),(_vm.report.account.tags.includes('force_nsfw'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': _vm.report.account.tags.includes('strip_media') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.report.account, 'strip_media')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.stripMedia'))+\"\\n \"),(_vm.report.account.tags.includes('strip_media'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': _vm.report.account.tags.includes('force_unlisted') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.report.account, 'force_unlisted')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.forceUnlisted'))+\"\\n \"),(_vm.report.account.tags.includes('force_unlisted'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': _vm.report.account.tags.includes('sandbox') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.report.account, 'sandbox')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.sandbox'))+\"\\n \"),(_vm.report.account.tags.includes('sandbox'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),(_vm.report.account.local)?_c('el-dropdown-item',{class:{ 'active-tag': _vm.report.account.tags.includes('disable_remote_subscription') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.report.account, 'disable_remote_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.disableRemoteSubscription'))+\"\\n \"),(_vm.report.account.tags.includes('disable_remote_subscription'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.report.account.local)?_c('el-dropdown-item',{class:{ 'active-tag': _vm.report.account.tags.includes('disable_any_subscription') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.report.account, 'disable_any_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.disableAnySubscription'))+\"\\n \"),(_vm.report.account.tags.includes('disable_any_subscription'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]):_vm._e()],1)],1)],1)]),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('span',{staticClass:\"report-row-key\"},[_vm._v(\"Account:\")]),_vm._v(\" \"),_c('img',{staticClass:\"avatar-img\",attrs:{\"src\":_vm.report.account.avatar,\"alt\":\"avatar\"}}),_vm._v(\" \"),_c('a',{staticClass:\"account\",attrs:{\"href\":_vm.report.account.url,\"target\":\"_blank\"}},[_c('span',{staticClass:\"report-row-value\"},[_vm._v(_vm._s(_vm.report.account.acct))])])]),_vm._v(\" \"),(_vm.report.content.length > 0)?_c('div',[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('span',{staticClass:\"report-row-key\"},[_vm._v(\"Content:\\n \"),_c('span',{staticClass:\"report-row-value\"},[_vm._v(_vm._s(_vm.report.content))])])]):_vm._e(),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('span',{staticClass:\"report-row-key\"},[_vm._v(\"Actor:\")]),_vm._v(\" \"),_c('img',{staticClass:\"avatar-img\",attrs:{\"src\":_vm.report.actor.avatar,\"alt\":\"avatar\"}}),_vm._v(\" \"),_c('a',{staticClass:\"account\",attrs:{\"href\":_vm.report.actor.url,\"target\":\"_blank\"}},[_c('span',{staticClass:\"report-row-value\"},[_vm._v(_vm._s(_vm.report.actor.acct))])])]),_vm._v(\" \"),(_vm.report.statuses.length > 0)?_c('div',{staticClass:\"statuses\"},[_c('el-collapse',[_c('statuses',{attrs:{\"report\":_vm.report}})],1)],1):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportsFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportsFilter.vue?vue&type=script&lang=js&\"","<template>\n <el-select\n v-model=\"filter\"\n :placeholder=\"$t('reportsFilter.inputPlaceholder')\"\n clearable\n class=\"select-field\"\n value-key=\"value\"\n @change=\"toggleFilters\">\n <el-option\n v-for=\"item in options\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\">{{ item.label }}</el-option>\n </el-select>\n</template>\n\n<script>\nimport i18n from '@/lang'\n\nexport default {\n data() {\n return {\n filter: 'open',\n options: [\n {\n value: 'open',\n label: i18n.t('reportsFilter.open')\n },\n {\n value: 'closed',\n label: i18n.t('reportsFilter.closed')\n },\n {\n value: 'resolved',\n label: i18n.t('reportsFilter.resolved')\n }\n ]\n }\n },\n created() {\n this.$store.dispatch('SetFilter', this.$data.filter)\n },\n methods: {\n toggleFilters() {\n this.$store.dispatch('SetFilter', this.$data.filter)\n this.$store.dispatch('ClearFetchedReports')\n this.$store.dispatch('FetchReports')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n.select-field {\n width: 350px;\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .select-field {\n width: 100%;\n margin-bottom: 5px;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./ReportsFilter.vue?vue&type=template&id=07695bc4&scoped=true&\"\nimport script from \"./ReportsFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./ReportsFilter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ReportsFilter.vue?vue&type=style&index=0&id=07695bc4&rel=stylesheet%2Fscss&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 \"07695bc4\",\n null\n \n)\n\ncomponent.options.__file = \"ReportsFilter.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',{staticClass:\"select-field\",attrs:{\"placeholder\":_vm.$t('reportsFilter.inputPlaceholder'),\"clearable\":\"\",\"value-key\":\"value\"},on:{\"change\":_vm.toggleFilters},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}},_vm._l((_vm.options),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}},[_vm._v(_vm._s(item.label))])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"reports-container\">\n <h1>{{ $t('reports.reports') }}</h1>\n <div class=\"filter-container\">\n <reports-filter/>\n </div>\n <div class=\"block\">\n <el-timeline class=\"timeline\">\n <timeline-item v-loading=\"loading\" v-for=\"report in reports\" :report=\"report\" :key=\"report.id\"/>\n </el-timeline>\n <div v-if=\"reports.length === 0\" class=\"no-reports-message\">\n <p>There are no reports to display</p>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport TimelineItem from './components/TimelineItem'\nimport ReportsFilter from './components/ReportsFilter'\n\nexport default {\n components: { TimelineItem, ReportsFilter },\n computed: {\n loading() {\n return this.$store.state.users.loading\n },\n reports() {\n return this.$store.state.reports.fetchedReports\n }\n },\n mounted() {\n this.$store.dispatch('FetchReports')\n },\n created() {\n window.addEventListener('scroll', this.handleScroll)\n },\n destroyed() {\n window.removeEventListener('scroll', this.handleScroll)\n },\n methods: {\n handleScroll(reports) {\n const bottomOfWindow = document.documentElement.scrollHeight - document.documentElement.scrollTop === document.documentElement.clientHeight\n if (bottomOfWindow) {\n this.$store.dispatch('FetchReports')\n }\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n.reports-container {\n .el-timeline {\n margin: 45px 45px 45px 19px;\n padding: 0px;\n }\n .filter-container {\n margin: 22px 15px 22px 15px;\n padding-bottom: 0\n }\n h1 {\n margin: 22px 0 0 15px;\n }\n .no-reports-message {\n color: gray;\n margin-left: 19px\n\n }\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .reports-container {\n h1 {\n margin: 7px 10px 15px 10px;\n }\n .filter-container {\n margin: 0 10px\n }\n .timeline {\n margin: 20px 20px 20px 18px\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=e32c7dc6&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=e32c7dc6&rel=stylesheet%2Fscss&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 \"e32c7dc6\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Statuses.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Statuses.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\""],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-538a.04530055.js b/priv/static/adminfe/static/js/chunk-538a.04530055.js
deleted file mode 100644
index 2455b9a9a..000000000
--- a/priv/static/adminfe/static/js/chunk-538a.04530055.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-538a"],{LFlD:function(t,e,n){"use strict";var o=n("pxV3");n.n(o).a},aSQl:function(t,e,n){"use strict";n.d(e,"a",function(){return p});var o=n("o0o1"),a=n.n(o),r=n("yXPU"),s=n.n(r),i=n("oAJy"),l=n.n(i),c=n("LvDl"),u=n.n(c),p=function(){var t=s()(a.a.mark(function t(e){var n,o;return a.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,l.a.getItem("vuex-lz");case 2:if(n=t.sent,void 0!==(o=u.a.get(n,"oauth.userToken"))){t.next=6;break}throw new Error("PleromaFE token not found");case 6:return t.next=8,e.dispatch("LoginByPleromaFE",{token:o});case 8:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}()},c11S:function(t,e,n){"use strict";var o=n("gTgX");n.n(o).a},gTgX:function(t,e,n){},ntYl:function(t,e,n){"use strict";n.r(e);var o=n("J4zp"),a=n.n(o),r=n("o0o1"),s=n.n(r),i=n("yXPU"),l=n.n(i),c=n("wAo7"),u=n("oAJy"),p=n.n(u),d=n("LvDl"),m=n.n(d),g=n("mSNy"),h=n("aSQl"),v={name:"Login",components:{"svg-icon":c.a},data:function(){return{loginForm:{username:"",password:""},passwordType:"password",loading:!1,loadingPleromaFE:!1,showDialog:!1,redirect:void 0,pleromaFEToken:!1,pleromaFEStateKey:"vuex-lz",pleromaFEState:{}}},watch:{$route:{handler:function(t){this.redirect=t.query&&t.query.redirect},immediate:!0}},mounted:function(){var t=l()(s.a.mark(function t(){var e;return s.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,p.a.getItem(this.pleromaFEStateKey);case 2:if(e=t.sent,this.pleromaFEState=e,void 0!==m.a.get(e,"oauth.userToken")){t.next=6;break}return t.abrupt("return");case 6:this.pleromaFEToken=!0;case 7:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}(),methods:{showPwd:function(){"password"===this.passwordType?this.passwordType="":this.passwordType="password"},handleLogin:function(){var t=this;this.loading=!0;var e=this.getLoginData();this.$store.dispatch("LoginByUsername",e).then(function(){t.loading=!1,t.$router.push({path:t.redirect||"/users/index"})}).catch(function(){t.loading=!1})},handlePleromaFELogin:function(){var t=l()(s.a.mark(function t(){return s.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.loadingPleromaFE=!0,t.prev=1,t.next=4,Object(h.a)(this.$store);case 4:t.next=10;break;case 6:t.prev=6,t.t0=t.catch(1),this.loadingPleromaFE=!1,this.$message.error(g.a.t("login.pleromaFELoginFailed"));case 10:this.loadingPleromaFE=!1,this.$message.success(g.a.t("login.pleromaFELoginSucceed")),this.$router.push({path:this.redirect||"/users/index"});case 13:case"end":return t.stop()}},t,this,[[1,6]])}));return function(){return t.apply(this,arguments)}}(),getLoginData:function(){var t=this.loginForm.username.split("@"),e=a()(t,2),n=e[0],o=e[1];return{username:n.trim(),authHost:o?o.trim():window.location.host,password:this.loginForm.password}}}},f=(n("c11S"),n("LFlD"),n("KHd+")),w=Object(f.a)(v,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"login-container"},[n("el-form",{ref:"loginForm",staticClass:"login-form",attrs:{model:t.loginForm,"auto-complete":"on","label-position":"left"}},[n("div",{staticClass:"title-container"},[n("h3",{staticClass:"title"},[t._v("\n "+t._s(t.$t("login.title"))+"\n ")])]),t._v(" "),n("el-form-item",{attrs:{prop:"username"}},[n("span",{staticClass:"svg-container"},[n("svg-icon",{attrs:{"icon-class":"user"}})],1),t._v(" "),n("el-input",{attrs:{placeholder:t.$t("login.username"),name:"username",type:"text","auto-complete":"on"},model:{value:t.loginForm.username,callback:function(e){t.$set(t.loginForm,"username",e)},expression:"loginForm.username"}})],1),t._v(" "),n("div",{staticClass:"omit-host-note"},[t._v(t._s(t.$t("login.omitHostname")))]),t._v(" "),n("el-form-item",{attrs:{prop:"password"}},[n("span",{staticClass:"svg-container"},[n("svg-icon",{attrs:{"icon-class":"password"}})],1),t._v(" "),n("el-input",{attrs:{type:t.passwordType,placeholder:t.$t("login.password"),name:"password","auto-complete":"on"},nativeOn:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.handleLogin(e)}},model:{value:t.loginForm.password,callback:function(e){t.$set(t.loginForm,"password",e)},expression:"loginForm.password"}}),t._v(" "),n("span",{staticClass:"show-pwd",on:{click:t.showPwd}},[n("svg-icon",{attrs:{"icon-class":"password"===t.passwordType?"eye":"eye-open"}})],1)],1),t._v(" "),n("el-button",{staticClass:"login-button",attrs:{loading:t.loading,type:"primary"},nativeOn:{click:function(e){return e.preventDefault(),t.handleLogin(e)}}},[t._v("\n "+t._s(t.$t("login.logIn"))+"\n ")]),t._v(" "),t.pleromaFEToken?n("el-button",{staticClass:"login-button",attrs:{loading:t.loadingPleromaFE,type:"primary"},nativeOn:{click:function(e){return e.preventDefault(),t.handlePleromaFELogin(e)}}},[t._v("\n "+t._s(t.$t("login.logInViaPleromaFE"))+"\n ")]):t._e()],1)],1)},[],!1,null,"d027d802",null);w.options.__file="index.vue";e.default=w.exports},pxV3:function(t,e,n){}}]);
-//# sourceMappingURL=chunk-538a.04530055.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-538a.04530055.js.map b/priv/static/adminfe/static/js/chunk-538a.04530055.js.map
deleted file mode 100644
index d3741c30a..000000000
--- a/priv/static/adminfe/static/js/chunk-538a.04530055.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/views/login/index.vue?8011","webpack:///./src/services/pleromaAuth.js","webpack:///./src/views/login/index.vue?0399","webpack:///./src/views/login/index.vue?b70d","webpack:///./src/views/login/index.vue?95e4","webpack:///src/views/login/index.vue","webpack:///./src/views/login/index.vue"],"names":["_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_d027d802_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","authenticateWithPleromaFE","_ref","_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default","_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default","a","mark","_callee","store","pleromaFEState","token","wrap","_context","prev","next","localforage","getItem","sent","undefined","_","get","Error","dispatch","stop","_x","apply","this","arguments","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","views_loginvue_type_script_lang_js_","name","components","svg-icon","SvgIcon","data","loginForm","username","password","passwordType","loading","loadingPleromaFE","showDialog","redirect","pleromaFEToken","pleromaFEStateKey","watch","$route","handler","route","query","immediate","mounted","_mounted","asyncToGenerator_default","regenerator_default","localforage_default","lodash_default","abrupt","methods","showPwd","handleLogin","_this","loginData","getLoginData","$store","then","$router","push","path","catch","handlePleromaFELogin","_handlePleromaFELogin","_callee2","_context2","Object","pleromaAuth","t0","$message","error","lang","t","success","_this$loginForm$usern","split","_this$loginForm$usern2","slicedToArray_default","authHost","trim","window","location","host","component","componentNormalizer","_vm","_h","$createElement","_c","_self","staticClass","ref","attrs","model","auto-complete","label-position","_v","_s","$t","prop","icon-class","placeholder","type","value","callback","$$v","$set","expression","nativeOn","keyup","$event","indexOf","_k","keyCode","key","on","click","preventDefault","_e","options","__file","__webpack_exports__"],"mappings":"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","file":"static/js/chunk-538a.04530055.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=1&id=d027d802&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=1&id=d027d802&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import localforage from 'localforage'\nimport _ from 'lodash'\n\nconst pleromaFEStateKey = 'vuex-lz'\n\nexport const authenticateWithPleromaFE = async(store) => {\n const pleromaFEState = await localforage.getItem(pleromaFEStateKey)\n const token = _.get(pleromaFEState, 'oauth.userToken')\n\n if (token === undefined) {\n throw new Error('PleromaFE token not found')\n }\n\n await store.dispatch('LoginByPleromaFE', { token })\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login-container\"},[_c('el-form',{ref:\"loginForm\",staticClass:\"login-form\",attrs:{\"model\":_vm.loginForm,\"auto-complete\":\"on\",\"label-position\":\"left\"}},[_c('div',{staticClass:\"title-container\"},[_c('h3',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.title'))+\"\\n \")])]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"prop\":\"username\"}},[_c('span',{staticClass:\"svg-container\"},[_c('svg-icon',{attrs:{\"icon-class\":\"user\"}})],1),_vm._v(\" \"),_c('el-input',{attrs:{\"placeholder\":_vm.$t('login.username'),\"name\":\"username\",\"type\":\"text\",\"auto-complete\":\"on\"},model:{value:(_vm.loginForm.username),callback:function ($$v) {_vm.$set(_vm.loginForm, \"username\", $$v)},expression:\"loginForm.username\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"omit-host-note\"},[_vm._v(_vm._s(_vm.$t('login.omitHostname')))]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"prop\":\"password\"}},[_c('span',{staticClass:\"svg-container\"},[_c('svg-icon',{attrs:{\"icon-class\":\"password\"}})],1),_vm._v(\" \"),_c('el-input',{attrs:{\"type\":_vm.passwordType,\"placeholder\":_vm.$t('login.password'),\"name\":\"password\",\"auto-complete\":\"on\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.handleLogin($event)}},model:{value:(_vm.loginForm.password),callback:function ($$v) {_vm.$set(_vm.loginForm, \"password\", $$v)},expression:\"loginForm.password\"}}),_vm._v(\" \"),_c('span',{staticClass:\"show-pwd\",on:{\"click\":_vm.showPwd}},[_c('svg-icon',{attrs:{\"icon-class\":_vm.passwordType === 'password' ? 'eye' : 'eye-open'}})],1)],1),_vm._v(\" \"),_c('el-button',{staticClass:\"login-button\",attrs:{\"loading\":_vm.loading,\"type\":\"primary\"},nativeOn:{\"click\":function($event){$event.preventDefault();return _vm.handleLogin($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.logIn'))+\"\\n \")]),_vm._v(\" \"),(_vm.pleromaFEToken)?_c('el-button',{staticClass:\"login-button\",attrs:{\"loading\":_vm.loadingPleromaFE,\"type\":\"primary\"},nativeOn:{\"click\":function($event){$event.preventDefault();return _vm.handlePleromaFELogin($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.logInViaPleromaFE'))+\"\\n \")]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"login-container\">\n <el-form ref=\"loginForm\" :model=\"loginForm\" class=\"login-form\" auto-complete=\"on\" label-position=\"left\">\n <div class=\"title-container\">\n <h3 class=\"title\">\n {{ $t('login.title') }}\n </h3>\n </div>\n\n <el-form-item prop=\"username\">\n <span class=\"svg-container\">\n <svg-icon icon-class=\"user\" />\n </span>\n <el-input\n v-model=\"loginForm.username\"\n :placeholder=\"$t('login.username')\"\n name=\"username\"\n type=\"text\"\n auto-complete=\"on\"\n />\n </el-form-item>\n <div class=\"omit-host-note\">{{ $t('login.omitHostname') }}</div>\n\n <el-form-item prop=\"password\">\n <span class=\"svg-container\">\n <svg-icon icon-class=\"password\" />\n </span>\n <el-input\n v-model=\"loginForm.password\"\n :type=\"passwordType\"\n :placeholder=\"$t('login.password')\"\n name=\"password\"\n auto-complete=\"on\"\n @keyup.enter.native=\"handleLogin\"\n />\n <span class=\"show-pwd\" @click=\"showPwd\">\n <svg-icon :icon-class=\"passwordType === 'password' ? 'eye' : 'eye-open'\" />\n </span>\n </el-form-item>\n\n <el-button :loading=\"loading\" class=\"login-button\" type=\"primary\" @click.native.prevent=\"handleLogin\">\n {{ $t('login.logIn') }}\n </el-button>\n <el-button v-if=\"pleromaFEToken\" :loading=\"loadingPleromaFE\" class=\"login-button\" type=\"primary\" @click.native.prevent=\"handlePleromaFELogin\">\n {{ $t('login.logInViaPleromaFE') }}\n </el-button>\n </el-form>\n </div>\n</template>\n\n<script>\nimport SvgIcon from '@/components/SvgIcon'\nimport localforage from 'localforage'\nimport _ from 'lodash'\nimport i18n from '@/lang'\nimport { authenticateWithPleromaFE } from '@/services/pleromaAuth'\n\nexport default {\n name: 'Login',\n components: { 'svg-icon': SvgIcon },\n data: function() {\n return {\n loginForm: {\n username: '',\n password: ''\n },\n passwordType: 'password',\n loading: false,\n loadingPleromaFE: false,\n showDialog: false,\n redirect: undefined,\n pleromaFEToken: false,\n pleromaFEStateKey: 'vuex-lz',\n pleromaFEState: {}\n }\n },\n watch: {\n $route: {\n handler: function(route) {\n this.redirect = route.query && route.query.redirect\n },\n immediate: true\n }\n },\n async mounted() {\n const pleromaFEState = await localforage.getItem(this.pleromaFEStateKey)\n this.pleromaFEState = pleromaFEState\n\n if (_.get(pleromaFEState, 'oauth.userToken') === undefined) {\n return\n }\n\n this.pleromaFEToken = true\n },\n methods: {\n showPwd() {\n if (this.passwordType === 'password') {\n this.passwordType = ''\n } else {\n this.passwordType = 'password'\n }\n },\n handleLogin() {\n this.loading = true\n const loginData = this.getLoginData()\n this.$store.dispatch('LoginByUsername', loginData).then(() => {\n this.loading = false\n this.$router.push({ path: this.redirect || '/users/index' })\n }).catch(() => {\n this.loading = false\n })\n },\n async handlePleromaFELogin() {\n this.loadingPleromaFE = true\n try {\n await authenticateWithPleromaFE(this.$store)\n } catch (error) {\n this.loadingPleromaFE = false\n this.$message.error(i18n.t('login.pleromaFELoginFailed'))\n }\n\n this.loadingPleromaFE = false\n\n this.$message.success(i18n.t('login.pleromaFELoginSucceed'))\n this.$router.push({ path: this.redirect || '/users/index' })\n },\n getLoginData() {\n const [username, authHost] = this.loginForm.username.split('@')\n\n return {\n username: username.trim(),\n authHost: authHost ? authHost.trim() : window.location.host,\n password: this.loginForm.password\n }\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\">\n $bg:#283443;\n $light_gray:#eee;\n $cursor: #fff;\n\n @supports (-webkit-mask: none) and (not (cater-color: $cursor)) {\n .login-container .el-input input{\n color: $cursor;\n &::first-line {\n color: $light_gray;\n }\n }\n }\n\n /* reset element-ui css */\n .login-container {\n .el-input {\n display: inline-block;\n height: 47px;\n width: 85%;\n input {\n background: transparent;\n border: 0px;\n -webkit-appearance: none;\n border-radius: 0px;\n padding: 12px 5px 12px 15px;\n color: $light_gray;\n height: 47px;\n caret-color: $cursor;\n &:-webkit-autofill {\n -webkit-box-shadow: 0 0 0px 1000px $bg inset !important;\n -webkit-text-fill-color: $cursor !important;\n }\n }\n }\n .el-form-item {\n border: 1px solid rgba(255, 255, 255, 0.1);\n background: rgba(0, 0, 0, 0.1);\n border-radius: 5px;\n color: #454545;\n }\n .login-button {\n width: 100%;\n margin: 0 0 10px 0;\n }\n .omit-host-note {\n color: #596f8c;\n font-size: 0.8em;\n font-style: italic;\n margin: -20px 0 15px 0;\n padding: 3px 0 0 15px;\n }\n }\n</style>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n$bg:#2d3a4b;\n$dark_gray:#889aa4;\n$light_gray:#eee;\n\n.login-container {\n min-height: 100%;\n width: 100%;\n background-color: $bg;\n overflow: hidden;\n .login-form {\n position: relative;\n width: 520px;\n max-width: 100%;\n padding: 160px 35px 0;\n margin: 0 auto;\n overflow: hidden;\n }\n .tips {\n font-size: 14px;\n color: #fff;\n margin-bottom: 10px;\n span {\n &:first-of-type {\n margin-right: 16px;\n }\n }\n }\n .svg-container {\n padding: 6px 5px 6px 15px;\n color: $dark_gray;\n vertical-align: middle;\n width: 30px;\n display: inline-block;\n }\n .title-container {\n position: relative;\n .title {\n font-size: 26px;\n color: $light_gray;\n margin: 0px auto 40px auto;\n text-align: center;\n font-weight: bold;\n }\n .set-language {\n color: #fff;\n position: absolute;\n top: 3px;\n font-size:18px;\n right: 0px;\n cursor: pointer;\n }\n }\n .show-pwd {\n position: absolute;\n right: 10px;\n top: 7px;\n font-size: 16px;\n color: $dark_gray;\n cursor: pointer;\n user-select: none;\n }\n .thirdparty-button {\n position: absolute;\n right: 0;\n bottom: 6px;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=d027d802&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\nimport style1 from \"./index.vue?vue&type=style&index=1&id=d027d802&rel=stylesheet%2Fscss&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 \"d027d802\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-7c6b.5240e052.js b/priv/static/adminfe/static/js/chunk-7c6b.5240e052.js
deleted file mode 100644
index 12eb54a32..000000000
--- a/priv/static/adminfe/static/js/chunk-7c6b.5240e052.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-7c6b"],{HMof:function(e,t,i){"use strict";i.r(t);var n=i("o0o1"),s=i.n(n),a=i("yXPU"),r=i.n(a),o={data:function(){return{rules:{email:[{validator:this.validateEmail,trigger:"blur"}]},newTokenForm:{maxUse:1,expiresAt:""},inviteUserForm:{email:"",name:""},createTokenDialogVisible:!1,inviteUserDialogVisible:!1}},computed:{getLabelWidth:function(){return this.isDesktop?"100px":"80px"},isDesktop:function(){return"desktop"===this.$store.state.app.device},loading:function(){return this.$store.state.invites.loading},newToken:function(){return this.$store.state.invites.newToken},tokens:function(){return this.$store.state.invites.inviteTokens}},mounted:function(){this.$store.dispatch("FetchInviteTokens")},methods:{closeDialogWindow:function(){this.inviteUserDialogVisible=!1,this.createTokenDialogVisible=!1,this.$store.dispatch("RemoveNewToken"),this.$data.inviteUserForm.email="",this.$data.inviteUserForm.name=""},createToken:function(){this.$store.dispatch("GenerateInviteToken",this.$data.newTokenForm)},inviteUserViaEmail:function(){var e=r()(s.a.mark(function e(){var t=this;return s.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:this.$refs.inviteUserForm.validate(function(){var e=r()(s.a.mark(function e(i){return s.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!i){e.next=15;break}return e.prev=1,e.next=4,t.$store.dispatch("InviteUserViaEmail",t.$data.inviteUserForm);case 4:e.next=9;break;case 6:return e.prev=6,e.t0=e.catch(1),e.abrupt("return");case 9:return e.prev=9,t.closeDialogWindow(),e.finish(9);case 12:t.$message({type:"success",message:t.$t("invites.emailSent")}),e.next=17;break;case 15:return t.$message({type:"error",message:t.$t("invites.submitFormError")}),e.abrupt("return",!1);case 17:case"end":return e.stop()}},e,null,[[1,6,9,12]])}));return function(t){return e.apply(this,arguments)}}());case 1:case"end":return e.stop()}},e,this)}));return function(){return e.apply(this,arguments)}}(),revokeInviteToken:function(e){this.$store.dispatch("RevokeToken",e)},validateEmail:function(e,t,i){return""===t?i(new Error(this.$t("invites.emptyEmailError"))):this.validEmail(t)?i():i(new Error(this.$t("invites.invalidEmailError")))},validEmail:function(e){return/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(e)}}},l=(i("ObxI"),i("KHd+")),c=Object(l.a)(o,function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticClass:"invites-container"},[i("h1",[e._v(e._s(e.$t("invites.inviteTokens")))]),e._v(" "),i("div",{staticClass:"actions-container"},[i("el-button",{staticClass:"create-invite-token",on:{click:function(t){e.createTokenDialogVisible=!0}}},[i("span",[i("i",{staticClass:"icon el-icon-plus"}),e._v("\n "+e._s(e.$t("invites.createInviteToken"))+"\n ")])]),e._v(" "),i("el-button",{staticClass:"invite-via-email",on:{click:function(t){e.inviteUserDialogVisible=!0}}},[i("span",[i("i",{staticClass:"icon el-icon-message"}),e._v("\n "+e._s(e.$t("invites.inviteUserViaEmail"))+"\n ")])])],1),e._v(" "),i("el-dialog",{attrs:{visible:e.createTokenDialogVisible,"show-close":!1,title:e.$t("invites.createInviteToken"),"custom-class":"create-new-token-dialog"},on:{"update:visible":function(t){e.createTokenDialogVisible=t}}},[i("el-form",{ref:"newTokenForm",attrs:{model:e.newTokenForm,"label-width":e.getLabelWidth,"status-icon":""}},[i("el-form-item",{attrs:{label:e.$t("invites.maxUse")}},[i("el-input-number",{attrs:{min:0,size:e.isDesktop?"medium":"small",name:"maxUse"},model:{value:e.newTokenForm.maxUse,callback:function(t){e.$set(e.newTokenForm,"maxUse",t)},expression:"newTokenForm.maxUse"}})],1),e._v(" "),i("el-form-item",{attrs:{label:e.$t("invites.expiresAt")}},[i("el-date-picker",{staticClass:"pick-date",attrs:{placeholder:e.$t("invites.pickDate"),type:"date",name:"date","value-format":"yyyy-MM-dd"},model:{value:e.newTokenForm.expiresAt,callback:function(t){e.$set(e.newTokenForm,"expiresAt",t)},expression:"newTokenForm.expiresAt"}})],1)],1),e._v(" "),i("span",{attrs:{slot:"footer"},slot:"footer"},[i("el-button",{on:{click:e.closeDialogWindow}},[e._v(e._s(e.$t("invites.cancel")))]),e._v(" "),i("el-button",{attrs:{type:"primary"},on:{click:e.createToken}},[e._v(e._s(e.$t("invites.create")))])],1),e._v(" "),"token"in e.newToken?i("el-card",[i("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[i("span",[e._v(e._s(e.$t("invites.tokenCreated")))])]),e._v(" "),i("p",[e._v(e._s(this.$t("invites.token"))+": "+e._s(e.newToken.token))]),e._v(" "),i("p",[e._v(e._s(this.$t("invites.maxUse"))+": "+e._s(e.newToken.maxUse))]),e._v(" "),i("p",[e._v(e._s(this.$t("invites.expiresAt"))+": "+e._s(e.newToken.expiresAt))])]):e._e()],1),e._v(" "),i("el-dialog",{attrs:{visible:e.inviteUserDialogVisible,"show-close":!1,title:e.$t("invites.sendRegistration"),"custom-class":"invite-via-email-dialog"},on:{"update:visible":function(t){e.inviteUserDialogVisible=t}}},[i("div",[i("p",{staticClass:"info"},[e._v(e._s(e.$t("invites.inviteViaEmailAlert")))]),e._v(" "),i("el-form",{ref:"inviteUserForm",attrs:{model:e.inviteUserForm,rules:e.rules,"label-width":e.getLabelWidth,"status-icon":""}},[i("el-form-item",{attrs:{label:e.$t("invites.email"),prop:"email"}},[i("el-input",{attrs:{name:"email",type:"email",autofocus:""},model:{value:e.inviteUserForm.email,callback:function(t){e.$set(e.inviteUserForm,"email",t)},expression:"inviteUserForm.email"}})],1),e._v(" "),i("el-form-item",{attrs:{label:e.$t("invites.name"),prop:"name"}},[i("el-input",{attrs:{name:"name"},model:{value:e.inviteUserForm.name,callback:function(t){e.$set(e.inviteUserForm,"name",t)},expression:"inviteUserForm.name"}})],1)],1)],1),e._v(" "),i("span",{attrs:{slot:"footer"},slot:"footer"},[i("el-button",{on:{click:e.closeDialogWindow}},[e._v(e._s(e.$t("invites.cancel")))]),e._v(" "),i("el-button",{attrs:{type:"primary"},on:{click:e.inviteUserViaEmail}},[e._v(e._s(e.$t("invites.create")))])],1)]),e._v(" "),i("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticClass:"invite-token-table",attrs:{data:e.tokens,"default-sort":{prop:"used",order:"ascending"}}},[e.isDesktop?i("el-table-column",{attrs:{label:e.$t("invites.id"),"min-width":"60",prop:"id",sortable:""}}):e._e(),e._v(" "),i("el-table-column",{attrs:{label:e.$t("invites.token"),"min-width":e.isDesktop?350:125,prop:"token"}}),e._v(" "),e.isDesktop?i("el-table-column",{attrs:{label:e.$t("invites.expiresAt"),align:"center","header-align":"center","min-width":"110",prop:"expires_at",sortable:""}}):e._e(),e._v(" "),i("el-table-column",{attrs:{label:e.$t("invites.maxUse"),align:"center","header-align":"center","min-width":"60",prop:"max_use",sortable:""}}),e._v(" "),e.isDesktop?i("el-table-column",{attrs:{label:e.$t("invites.uses"),align:"center","header-align":"center","min-width":"60",prop:"uses"}}):e._e(),e._v(" "),i("el-table-column",{attrs:{label:e.$t("invites.used"),"min-width":e.isDesktop?60:50,align:"center","header-align":"center",prop:"used",sortable:""},scopedSlots:e._u([{key:"default",fn:function(t){return[i("el-tag",{attrs:{type:t.row.used?"danger":"success","disable-transitions":""}},[e._v(e._s(t.row.used?e.$t("invites.used"):e.$t("invites.active")))])]}}])}),e._v(" "),i("el-table-column",{attrs:{label:e.$t("invites.actions"),"min-width":e.isDesktop?100:50,align:"center","header-align":"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("el-button",{attrs:{type:"text",size:"small"},nativeOn:{click:function(i){return e.revokeInviteToken(t.row.token)}}},[e._v("\n "+e._s(e.$t("invites.revoke"))+"\n ")])]}}])})],1)],1)},[],!1,null,null,null);c.options.__file="index.vue";t.default=c.exports},ObxI:function(e,t,i){"use strict";var n=i("Tykb");i.n(n).a},Tykb:function(e,t,i){}}]);
-//# sourceMappingURL=chunk-7c6b.5240e052.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-7c6b.5240e052.js.map b/priv/static/adminfe/static/js/chunk-7c6b.5240e052.js.map
deleted file mode 100644
index 1463b8ba4..000000000
--- a/priv/static/adminfe/static/js/chunk-7c6b.5240e052.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///./src/views/invites/index.vue?6d27","webpack:///./src/views/invites/index.vue?b523","webpack:///src/views/invites/index.vue","webpack:///./src/views/invites/index.vue","webpack:///./src/views/invites/index.vue?0fc1"],"names":["views_invitesvue_type_script_lang_js_","data","rules","email","validator","this","validateEmail","trigger","newTokenForm","maxUse","expiresAt","inviteUserForm","name","createTokenDialogVisible","inviteUserDialogVisible","computed","getLabelWidth","isDesktop","$store","state","app","device","loading","invites","newToken","tokens","inviteTokens","mounted","dispatch","methods","closeDialogWindow","$data","createToken","inviteUserViaEmail","_inviteUserViaEmail","asyncToGenerator_default","regenerator_default","a","mark","_callee2","_this","wrap","_context2","prev","next","$refs","validate","_ref","_callee","valid","_context","t0","abrupt","finish","$message","type","message","$t","stop","_x","apply","arguments","revokeInviteToken","token","rule","value","callback","Error","validEmail","test","component","Object","componentNormalizer","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","on","click","$event","attrs","visible","show-close","title","custom-class","update:visible","ref","model","label-width","status-icon","label","min","size","$$v","$set","expression","placeholder","value-format","slot","_e","prop","autofocus","directives","rawName","default-sort","order","min-width","sortable","align","header-align","scopedSlots","_u","key","fn","scope","row","used","disable-transitions","nativeOn","options","__file","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n"],"mappings":"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","file":"static/js/chunk-7c6b.5240e052.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"invites-container\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('invites.inviteTokens')))]),_vm._v(\" \"),_c('div',{staticClass:\"actions-container\"},[_c('el-button',{staticClass:\"create-invite-token\",on:{\"click\":function($event){_vm.createTokenDialogVisible = true}}},[_c('span',[_c('i',{staticClass:\"icon el-icon-plus\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t('invites.createInviteToken'))+\"\\n \")])]),_vm._v(\" \"),_c('el-button',{staticClass:\"invite-via-email\",on:{\"click\":function($event){_vm.inviteUserDialogVisible = true}}},[_c('span',[_c('i',{staticClass:\"icon el-icon-message\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t('invites.inviteUserViaEmail'))+\"\\n \")])])],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"visible\":_vm.createTokenDialogVisible,\"show-close\":false,\"title\":_vm.$t('invites.createInviteToken'),\"custom-class\":\"create-new-token-dialog\"},on:{\"update:visible\":function($event){_vm.createTokenDialogVisible=$event}}},[_c('el-form',{ref:\"newTokenForm\",attrs:{\"model\":_vm.newTokenForm,\"label-width\":_vm.getLabelWidth,\"status-icon\":\"\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.maxUse')}},[_c('el-input-number',{attrs:{\"min\":0,\"size\":_vm.isDesktop ? 'medium' : 'small',\"name\":\"maxUse\"},model:{value:(_vm.newTokenForm.maxUse),callback:function ($$v) {_vm.$set(_vm.newTokenForm, \"maxUse\", $$v)},expression:\"newTokenForm.maxUse\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.expiresAt')}},[_c('el-date-picker',{staticClass:\"pick-date\",attrs:{\"placeholder\":_vm.$t('invites.pickDate'),\"type\":\"date\",\"name\":\"date\",\"value-format\":\"yyyy-MM-dd\"},model:{value:(_vm.newTokenForm.expiresAt),callback:function ($$v) {_vm.$set(_vm.newTokenForm, \"expiresAt\", $$v)},expression:\"newTokenForm.expiresAt\"}})],1)],1),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.closeDialogWindow}},[_vm._v(_vm._s(_vm.$t('invites.cancel')))]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.createToken}},[_vm._v(_vm._s(_vm.$t('invites.create')))])],1),_vm._v(\" \"),('token' in _vm.newToken)?_c('el-card',[_c('div',{staticClass:\"clearfix\",attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(_vm._s(_vm.$t('invites.tokenCreated')))])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(this.$t('invites.token'))+\": \"+_vm._s(_vm.newToken.token))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(this.$t('invites.maxUse'))+\": \"+_vm._s(_vm.newToken.maxUse))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(this.$t('invites.expiresAt'))+\": \"+_vm._s(_vm.newToken.expiresAt))])]):_vm._e()],1),_vm._v(\" \"),_c('el-dialog',{attrs:{\"visible\":_vm.inviteUserDialogVisible,\"show-close\":false,\"title\":_vm.$t('invites.sendRegistration'),\"custom-class\":\"invite-via-email-dialog\"},on:{\"update:visible\":function($event){_vm.inviteUserDialogVisible=$event}}},[_c('div',[_c('p',{staticClass:\"info\"},[_vm._v(_vm._s(_vm.$t('invites.inviteViaEmailAlert')))]),_vm._v(\" \"),_c('el-form',{ref:\"inviteUserForm\",attrs:{\"model\":_vm.inviteUserForm,\"rules\":_vm.rules,\"label-width\":_vm.getLabelWidth,\"status-icon\":\"\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.email'),\"prop\":\"email\"}},[_c('el-input',{attrs:{\"name\":\"email\",\"type\":\"email\",\"autofocus\":\"\"},model:{value:(_vm.inviteUserForm.email),callback:function ($$v) {_vm.$set(_vm.inviteUserForm, \"email\", $$v)},expression:\"inviteUserForm.email\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('invites.name'),\"prop\":\"name\"}},[_c('el-input',{attrs:{\"name\":\"name\"},model:{value:(_vm.inviteUserForm.name),callback:function ($$v) {_vm.$set(_vm.inviteUserForm, \"name\", $$v)},expression:\"inviteUserForm.name\"}})],1)],1)],1),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.closeDialogWindow}},[_vm._v(_vm._s(_vm.$t('invites.cancel')))]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.inviteUserViaEmail}},[_vm._v(_vm._s(_vm.$t('invites.create')))])],1)]),_vm._v(\" \"),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],staticClass:\"invite-token-table\",attrs:{\"data\":_vm.tokens,\"default-sort\":{prop: 'used', order: 'ascending'}}},[(_vm.isDesktop)?_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.id'),\"min-width\":\"60\",\"prop\":\"id\",\"sortable\":\"\"}}):_vm._e(),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.token'),\"min-width\":_vm.isDesktop ? 350 : 125,\"prop\":\"token\"}}),_vm._v(\" \"),(_vm.isDesktop)?_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.expiresAt'),\"align\":\"center\",\"header-align\":\"center\",\"min-width\":\"110\",\"prop\":\"expires_at\",\"sortable\":\"\"}}):_vm._e(),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.maxUse'),\"align\":\"center\",\"header-align\":\"center\",\"min-width\":\"60\",\"prop\":\"max_use\",\"sortable\":\"\"}}),_vm._v(\" \"),(_vm.isDesktop)?_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.uses'),\"align\":\"center\",\"header-align\":\"center\",\"min-width\":\"60\",\"prop\":\"uses\"}}):_vm._e(),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.used'),\"min-width\":_vm.isDesktop ? 60 : 50,\"align\":\"center\",\"header-align\":\"center\",\"prop\":\"used\",\"sortable\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',{attrs:{\"type\":scope.row.used ? 'danger' : 'success',\"disable-transitions\":\"\"}},[_vm._v(_vm._s(scope.row.used ? _vm.$t('invites.used') : _vm.$t('invites.active')))])]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('invites.actions'),\"min-width\":_vm.isDesktop ? 100 : 50,\"align\":\"center\",\"header-align\":\"center\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"small\"},nativeOn:{\"click\":function($event){return _vm.revokeInviteToken(scope.row.token)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('invites.revoke'))+\"\\n \")])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"invites-container\">\n <h1>{{ $t('invites.inviteTokens') }}</h1>\n <div class=\"actions-container\">\n <el-button class=\"create-invite-token\" @click=\"createTokenDialogVisible = true\">\n <span>\n <i class=\"icon el-icon-plus\"/>\n {{ $t('invites.createInviteToken') }}\n </span>\n </el-button>\n <el-button class=\"invite-via-email\" @click=\"inviteUserDialogVisible = true\">\n <span>\n <i class=\"icon el-icon-message\"/>\n {{ $t('invites.inviteUserViaEmail') }}\n </span>\n </el-button>\n </div>\n <el-dialog\n :visible.sync=\"createTokenDialogVisible\"\n :show-close=\"false\"\n :title=\"$t('invites.createInviteToken')\"\n custom-class=\"create-new-token-dialog\">\n <el-form ref=\"newTokenForm\" :model=\"newTokenForm\" :label-width=\"getLabelWidth\" status-icon>\n <el-form-item :label=\"$t('invites.maxUse')\">\n <el-input-number\n v-model=\"newTokenForm.maxUse\"\n :min=\"0\"\n :size=\"isDesktop ? 'medium' : 'small'\"\n name=\"maxUse\"/>\n </el-form-item>\n <el-form-item :label=\"$t('invites.expiresAt')\">\n <el-date-picker\n v-model=\"newTokenForm.expiresAt\"\n :placeholder=\"$t('invites.pickDate')\"\n class=\"pick-date\"\n type=\"date\"\n name=\"date\"\n value-format=\"yyyy-MM-dd\"/>\n </el-form-item>\n </el-form>\n <span slot=\"footer\">\n <el-button @click=\"closeDialogWindow\">{{ $t('invites.cancel') }}</el-button>\n <el-button type=\"primary\" @click=\"createToken\">{{ $t('invites.create') }}</el-button>\n </span>\n <el-card v-if=\"'token' in newToken\">\n <div slot=\"header\" class=\"clearfix\">\n <span>{{ $t('invites.tokenCreated') }}</span>\n </div>\n <p>{{ this.$t('invites.token') }}: {{ newToken.token }}</p>\n <p>{{ this.$t('invites.maxUse') }}: {{ newToken.maxUse }}</p>\n <p>{{ this.$t('invites.expiresAt') }}: {{ newToken.expiresAt }}</p>\n </el-card>\n </el-dialog>\n <el-dialog\n :visible.sync=\"inviteUserDialogVisible\"\n :show-close=\"false\"\n :title=\"$t('invites.sendRegistration')\"\n custom-class=\"invite-via-email-dialog\">\n <div>\n <p class=\"info\">{{ $t('invites.inviteViaEmailAlert') }}</p>\n <el-form ref=\"inviteUserForm\" :model=\"inviteUserForm\" :rules=\"rules\" :label-width=\"getLabelWidth\" status-icon>\n <el-form-item :label=\"$t('invites.email')\" prop=\"email\">\n <el-input v-model=\"inviteUserForm.email\" name=\"email\" type=\"email\" autofocus/>\n </el-form-item>\n <el-form-item :label=\"$t('invites.name')\" prop=\"name\">\n <el-input v-model=\"inviteUserForm.name\" name=\"name\"/>\n </el-form-item>\n </el-form>\n </div>\n <span slot=\"footer\">\n <el-button @click=\"closeDialogWindow\">{{ $t('invites.cancel') }}</el-button>\n <el-button type=\"primary\" @click=\"inviteUserViaEmail\">{{ $t('invites.create') }}</el-button>\n </span>\n </el-dialog>\n <el-table\n v-loading=\"loading\"\n :data=\"tokens\"\n :default-sort = \"{prop: 'used', order: 'ascending'}\"\n class=\"invite-token-table\">\n <el-table-column\n v-if=\"isDesktop\"\n :label=\"$t('invites.id')\"\n min-width=\"60\"\n prop=\"id\"\n sortable/>\n <el-table-column\n :label=\"$t('invites.token')\"\n :min-width=\"isDesktop ? 350 : 125\"\n prop=\"token\"/>\n <el-table-column\n v-if=\"isDesktop\"\n :label=\"$t('invites.expiresAt')\"\n align=\"center\"\n header-align=\"center\"\n min-width=\"110\"\n prop=\"expires_at\"\n sortable/>\n <el-table-column\n :label=\"$t('invites.maxUse')\"\n align=\"center\"\n header-align=\"center\"\n min-width=\"60\"\n prop=\"max_use\"\n sortable/>\n <el-table-column\n v-if=\"isDesktop\"\n :label=\"$t('invites.uses')\"\n align=\"center\"\n header-align=\"center\"\n min-width=\"60\"\n prop=\"uses\"/>\n <el-table-column\n :label=\"$t('invites.used')\"\n :min-width=\"isDesktop ? 60 : 50\"\n align=\"center\"\n header-align=\"center\"\n prop=\"used\"\n sortable>\n <template slot-scope=\"scope\">\n <el-tag\n :type=\"scope.row.used ? 'danger' : 'success'\"\n disable-transitions>{{ scope.row.used ? $t('invites.used') : $t('invites.active') }}</el-tag>\n </template>\n </el-table-column>\n <el-table-column\n :label=\"$t('invites.actions')\"\n :min-width=\"isDesktop ? 100 : 50\"\n align=\"center\"\n header-align=\"center\">\n <template slot-scope=\"scope\">\n <el-button type=\"text\" size=\"small\" @click.native=\"revokeInviteToken(scope.row.token)\">\n {{ $t('invites.revoke') }}\n </el-button>\n </template>\n </el-table-column>\n </el-table>\n </div>\n</template>\n\n<script>\nexport default {\n data() {\n return {\n rules: {\n email: [\n { validator: this.validateEmail, trigger: 'blur' }\n ]\n },\n newTokenForm: {\n maxUse: 1,\n expiresAt: ''\n },\n inviteUserForm: {\n email: '',\n name: ''\n },\n createTokenDialogVisible: false,\n inviteUserDialogVisible: false\n }\n },\n computed: {\n getLabelWidth() {\n return this.isDesktop ? '100px' : '80px'\n },\n isDesktop() {\n return this.$store.state.app.device === 'desktop'\n },\n loading() {\n return this.$store.state.invites.loading\n },\n newToken() {\n return this.$store.state.invites.newToken\n },\n tokens() {\n return this.$store.state.invites.inviteTokens\n }\n },\n mounted() {\n this.$store.dispatch('FetchInviteTokens')\n },\n methods: {\n closeDialogWindow() {\n this.inviteUserDialogVisible = false\n this.createTokenDialogVisible = false\n this.$store.dispatch('RemoveNewToken')\n this.$data.inviteUserForm.email = ''\n this.$data.inviteUserForm.name = ''\n },\n createToken() {\n this.$store.dispatch('GenerateInviteToken', this.$data.newTokenForm)\n },\n async inviteUserViaEmail() {\n this.$refs['inviteUserForm'].validate(async(valid) => {\n if (valid) {\n try {\n await this.$store.dispatch('InviteUserViaEmail', this.$data.inviteUserForm)\n } catch (_e) {\n return\n } finally {\n this.closeDialogWindow()\n }\n this.$message({\n type: 'success',\n message: this.$t('invites.emailSent')\n })\n } else {\n this.$message({\n type: 'error',\n message: this.$t('invites.submitFormError')\n })\n return false\n }\n })\n },\n revokeInviteToken(token) {\n this.$store.dispatch('RevokeToken', token)\n },\n validateEmail(rule, value, callback) {\n if (value === '') {\n return callback(new Error(this.$t('invites.emptyEmailError')))\n } else if (!this.validEmail(value)) {\n return callback(new Error(this.$t('invites.invalidEmailError')))\n } else {\n return callback()\n }\n },\n validEmail(email) {\n const re = /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/\n return re.test(email)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.invites-container {\n .actions-container {\n display: flex;\n height: 36px;\n justify-content: space-between;\n align-items: center;\n margin: 20px 15px 15px 15px;\n }\n .create-invite-token {\n text-align: left;\n width: 350px;\n padding: 10px;\n }\n .create-new-token-dialog {\n width: 40%\n }\n .el-dialog__body {\n padding: 5px 20px 0 20px\n }\n h1 {\n margin: 22px 0 0 15px;\n }\n .icon {\n margin-right: 5px;\n }\n .invite-token-table {\n width: 100%;\n margin: 0 15px;\n }\n .invite-via-email {\n text-align: left;\n width: 350px;\n padding: 10px;\n }\n .invite-via-email-dialog {\n width: 50%\n }\n .info {\n color: #666666;\n font-size: 13px;\n line-height: 22px;\n margin: 0 0 10px 0;\n }\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .invites-container {\n .actions-container {\n display: flex;\n height: 82px;\n flex-direction: column;\n align-items: center;\n margin: 15px 10px 7px 10px;\n }\n .create-invite-token {\n width: 100%;\n }\n .create-new-token-dialog {\n width: 85%\n }\n .el-date-editor {\n width: 150px;\n }\n .el-dialog__body {\n padding: 5px 15px 0 15px\n }\n h1 {\n margin: 7px 10px 15px 10px;\n }\n .invite-token-table {\n width: 100%;\n margin: 0;\n }\n .invite-via-email {\n width: 100%;\n margin: 10px 0 0 0;\n }\n .invite-via-email-dialog {\n width: 85%\n }\n .info {\n margin: 0 0 10px 5px;\n }\n }\n .create-invite-token {\n width: 100%\n }\n .invite-via-email {\n width: 100%\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=f9cc6804&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\""],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-7de9.7b8cda50.js b/priv/static/adminfe/static/js/chunk-7de9.7b8cda50.js
new file mode 100644
index 000000000..6311e5aa9
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-7de9.7b8cda50.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-7de9"],{"07OA":function(t,e,s){"use strict";var a=s("51EY");s.n(a).a},"51EY":function(t,e,s){},"64TB":function(t,e,s){},"6ySG":function(t,e,s){"use strict";var a=s("y5Ur");s.n(a).a},"G/Mk":function(t,e,s){"use strict";var a=s("xdcp");s.n(a).a},JHBK:function(t,e,s){"use strict";var a=s("64TB");s.n(a).a},Kw8l:function(t,e,s){"use strict";var a=s("cRgN");s.n(a).a},RnhZ:function(t,e,s){var a={"./af":"K/tc","./af.js":"K/tc","./ar":"jnO4","./ar-dz":"o1bE","./ar-dz.js":"o1bE","./ar-kw":"Qj4J","./ar-kw.js":"Qj4J","./ar-ly":"HP3h","./ar-ly.js":"HP3h","./ar-ma":"CoRJ","./ar-ma.js":"CoRJ","./ar-sa":"gjCT","./ar-sa.js":"gjCT","./ar-tn":"bYM6","./ar-tn.js":"bYM6","./ar.js":"jnO4","./az":"SFxW","./az.js":"SFxW","./be":"H8ED","./be.js":"H8ED","./bg":"hKrs","./bg.js":"hKrs","./bm":"p/rL","./bm.js":"p/rL","./bn":"kEOa","./bn.js":"kEOa","./bo":"0mo+","./bo.js":"0mo+","./br":"aIdf","./br.js":"aIdf","./bs":"JVSJ","./bs.js":"JVSJ","./ca":"1xZ4","./ca.js":"1xZ4","./cs":"PA2r","./cs.js":"PA2r","./cv":"A+xa","./cv.js":"A+xa","./cy":"l5ep","./cy.js":"l5ep","./da":"DxQv","./da.js":"DxQv","./de":"tGlX","./de-at":"s+uk","./de-at.js":"s+uk","./de-ch":"u3GI","./de-ch.js":"u3GI","./de.js":"tGlX","./dv":"WYrj","./dv.js":"WYrj","./el":"jUeY","./el.js":"jUeY","./en-SG":"zavE","./en-SG.js":"zavE","./en-au":"Dmvi","./en-au.js":"Dmvi","./en-ca":"OIYi","./en-ca.js":"OIYi","./en-gb":"Oaa7","./en-gb.js":"Oaa7","./en-ie":"4dOw","./en-ie.js":"4dOw","./en-il":"czMo","./en-il.js":"czMo","./en-nz":"b1Dy","./en-nz.js":"b1Dy","./eo":"Zduo","./eo.js":"Zduo","./es":"iYuL","./es-do":"CjzT","./es-do.js":"CjzT","./es-us":"Vclq","./es-us.js":"Vclq","./es.js":"iYuL","./et":"7BjC","./et.js":"7BjC","./eu":"D/JM","./eu.js":"D/JM","./fa":"jfSC","./fa.js":"jfSC","./fi":"gekB","./fi.js":"gekB","./fo":"ByF4","./fo.js":"ByF4","./fr":"nyYc","./fr-ca":"2fjn","./fr-ca.js":"2fjn","./fr-ch":"Dkky","./fr-ch.js":"Dkky","./fr.js":"nyYc","./fy":"cRix","./fy.js":"cRix","./ga":"USCx","./ga.js":"USCx","./gd":"9rRi","./gd.js":"9rRi","./gl":"iEDd","./gl.js":"iEDd","./gom-latn":"DKr+","./gom-latn.js":"DKr+","./gu":"4MV3","./gu.js":"4MV3","./he":"x6pH","./he.js":"x6pH","./hi":"3E1r","./hi.js":"3E1r","./hr":"S6ln","./hr.js":"S6ln","./hu":"WxRl","./hu.js":"WxRl","./hy-am":"1rYy","./hy-am.js":"1rYy","./id":"UDhR","./id.js":"UDhR","./is":"BVg3","./is.js":"BVg3","./it":"bpih","./it-ch":"bxKX","./it-ch.js":"bxKX","./it.js":"bpih","./ja":"B55N","./ja.js":"B55N","./jv":"tUCv","./jv.js":"tUCv","./ka":"IBtZ","./ka.js":"IBtZ","./kk":"bXm7","./kk.js":"bXm7","./km":"6B0Y","./km.js":"6B0Y","./kn":"PpIw","./kn.js":"PpIw","./ko":"Ivi+","./ko.js":"Ivi+","./ku":"JCF/","./ku.js":"JCF/","./ky":"lgnt","./ky.js":"lgnt","./lb":"RAwQ","./lb.js":"RAwQ","./lo":"sp3z","./lo.js":"sp3z","./lt":"JvlW","./lt.js":"JvlW","./lv":"uXwI","./lv.js":"uXwI","./me":"KTz0","./me.js":"KTz0","./mi":"aIsn","./mi.js":"aIsn","./mk":"aQkU","./mk.js":"aQkU","./ml":"AvvY","./ml.js":"AvvY","./mn":"lYtQ","./mn.js":"lYtQ","./mr":"Ob0Z","./mr.js":"Ob0Z","./ms":"6+QB","./ms-my":"ZAMP","./ms-my.js":"ZAMP","./ms.js":"6+QB","./mt":"G0Uy","./mt.js":"G0Uy","./my":"honF","./my.js":"honF","./nb":"bOMt","./nb.js":"bOMt","./ne":"OjkT","./ne.js":"OjkT","./nl":"+s0g","./nl-be":"2ykv","./nl-be.js":"2ykv","./nl.js":"+s0g","./nn":"uEye","./nn.js":"uEye","./pa-in":"8/+R","./pa-in.js":"8/+R","./pl":"jVdC","./pl.js":"jVdC","./pt":"8mBD","./pt-br":"0tRk","./pt-br.js":"0tRk","./pt.js":"8mBD","./ro":"lyxo","./ro.js":"lyxo","./ru":"lXzo","./ru.js":"lXzo","./sd":"Z4QM","./sd.js":"Z4QM","./se":"//9w","./se.js":"//9w","./si":"7aV9","./si.js":"7aV9","./sk":"e+ae","./sk.js":"e+ae","./sl":"gVVK","./sl.js":"gVVK","./sq":"yPMs","./sq.js":"yPMs","./sr":"zx6S","./sr-cyrl":"E+lV","./sr-cyrl.js":"E+lV","./sr.js":"zx6S","./ss":"Ur1D","./ss.js":"Ur1D","./sv":"X709","./sv.js":"X709","./sw":"dNwA","./sw.js":"dNwA","./ta":"PeUW","./ta.js":"PeUW","./te":"XLvN","./te.js":"XLvN","./tet":"V2x9","./tet.js":"V2x9","./tg":"Oxv6","./tg.js":"Oxv6","./th":"EOgW","./th.js":"EOgW","./tl-ph":"Dzi0","./tl-ph.js":"Dzi0","./tlh":"z3Vd","./tlh.js":"z3Vd","./tr":"DoHr","./tr.js":"DoHr","./tzl":"z1FC","./tzl.js":"z1FC","./tzm":"wQk9","./tzm-latn":"tT3J","./tzm-latn.js":"tT3J","./tzm.js":"wQk9","./ug-cn":"YRex","./ug-cn.js":"YRex","./uk":"raLr","./uk.js":"raLr","./ur":"UpQW","./ur.js":"UpQW","./uz":"Loxo","./uz-latn":"AQ68","./uz-latn.js":"AQ68","./uz.js":"Loxo","./vi":"KSF8","./vi.js":"KSF8","./x-pseudo":"/X5v","./x-pseudo.js":"/X5v","./yo":"fzPg","./yo.js":"fzPg","./zh-cn":"XDpg","./zh-cn.js":"XDpg","./zh-hk":"SatO","./zh-hk.js":"SatO","./zh-tw":"kOpN","./zh-tw.js":"kOpN"};function r(t){var e=n(t);return s(e)}function n(t){if(!s.o(a,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return a[t]}r.keys=function(){return Object.keys(a)},r.resolve=n,t.exports=r,r.id="RnhZ"},c0ZM:function(t,e,s){},cEOe:function(t,e,s){"use strict";s.r(e);var a=s("wd/R"),r=s.n(a),n={name:"ModerateUserDropdown",props:{account:{type:Object,required:!0}},methods:{handleDeactivation:function(t){var e=t.nickname;this.$store.dispatch("ToggleUserActivation",e)},handleDeletion:function(t){this.$store.dispatch("DeleteUser",t)},showDeactivatedButton:function(t){return this.$store.state.user.id!==t},toggleTag:function(t,e){t.tags.includes(e)?this.$store.dispatch("RemoveTag",{users:[t],tag:e}):this.$store.dispatch("AddTag",{users:[t],tag:e})}}},o=s("KHd+"),i=Object(o.a)(n,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("el-dropdown",{attrs:{trigger:"click"}},[s("el-button",{attrs:{plain:"",size:"small",icon:"el-icon-files"}},[t._v(t._s(t.$t("reports.moderateUser"))+"\n "),s("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[t.showDeactivatedButton(t.account)?s("el-dropdown-item",{nativeOn:{click:function(e){return t.handleDeactivation(t.account)}}},[t._v("\n "+t._s(t.account.deactivated?t.$t("users.activateAccount"):t.$t("users.deactivateAccount"))+"\n ")]):t._e(),t._v(" "),t.showDeactivatedButton(t.account.id)?s("el-dropdown-item",{nativeOn:{click:function(e){return t.handleDeletion(t.account.id)}}},[t._v("\n "+t._s(t.$t("users.deleteAccount"))+"\n ")]):t._e(),t._v(" "),s("el-dropdown-item",{class:{"active-tag":t.account.tags.includes("force_nsfw")},attrs:{divided:!0},nativeOn:{click:function(e){return t.toggleTag(t.account,"force_nsfw")}}},[t._v("\n "+t._s(t.$t("users.forceNsfw"))+"\n "),t.account.tags.includes("force_nsfw")?s("i",{staticClass:"el-icon-check"}):t._e()]),t._v(" "),s("el-dropdown-item",{class:{"active-tag":t.account.tags.includes("strip_media")},nativeOn:{click:function(e){return t.toggleTag(t.account,"strip_media")}}},[t._v("\n "+t._s(t.$t("users.stripMedia"))+"\n "),t.account.tags.includes("strip_media")?s("i",{staticClass:"el-icon-check"}):t._e()]),t._v(" "),s("el-dropdown-item",{class:{"active-tag":t.account.tags.includes("force_unlisted")},nativeOn:{click:function(e){return t.toggleTag(t.account,"force_unlisted")}}},[t._v("\n "+t._s(t.$t("users.forceUnlisted"))+"\n "),t.account.tags.includes("force_unlisted")?s("i",{staticClass:"el-icon-check"}):t._e()]),t._v(" "),s("el-dropdown-item",{class:{"active-tag":t.account.tags.includes("sandbox")},nativeOn:{click:function(e){return t.toggleTag(t.account,"sandbox")}}},[t._v("\n "+t._s(t.$t("users.sandbox"))+"\n "),t.account.tags.includes("sandbox")?s("i",{staticClass:"el-icon-check"}):t._e()]),t._v(" "),t.account.local?s("el-dropdown-item",{class:{"active-tag":t.account.tags.includes("disable_remote_subscription")},nativeOn:{click:function(e){return t.toggleTag(t.account,"disable_remote_subscription")}}},[t._v("\n "+t._s(t.$t("users.disableRemoteSubscription"))+"\n "),t.account.tags.includes("disable_remote_subscription")?s("i",{staticClass:"el-icon-check"}):t._e()]):t._e(),t._v(" "),t.account.local?s("el-dropdown-item",{class:{"active-tag":t.account.tags.includes("disable_any_subscription")},nativeOn:{click:function(e){return t.toggleTag(t.account,"disable_any_subscription")}}},[t._v("\n "+t._s(t.$t("users.disableAnySubscription"))+"\n "),t.account.tags.includes("disable_any_subscription")?s("i",{staticClass:"el-icon-check"}):t._e()]):t._e()],1)],1)},[],!1,null,null,null);i.options.__file="ModerateUserDropdown.vue";var c=i.exports,l={name:"Statuses",props:{reports:{type:Array,required:!0}},methods:{capitalizeFirstLetter:function(t){return t.charAt(0).toUpperCase()+t.slice(1)},changeReportState:function(t,e){this.$store.dispatch("ChangeReportState",[{state:t,id:e}])},getStateType:function(t){switch(t){case"closed":return"info";case"resolved":return"success";default:return"primary"}},parseTimestamp:function(t){return r()(t).format("YYYY-MM-DD HH:mm")}}},u=(s("JHBK"),Object(o.a)(l,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",t._l(t.reports,function(e){return s("el-card",{key:e.id,staticClass:"report-card"},[s("div",{attrs:{slot:"header"},slot:"header"},[s("div",{staticClass:"report-header"},[s("div",{staticClass:"report-actor-container"},[s("div",{staticClass:"report-actor"},[s("img",{staticClass:"report-avatar-img",attrs:{src:e.actor.avatar}}),t._v(" "),s("h3",{staticClass:"report-actor-name"},[t._v(t._s(e.actor.display_name))])]),t._v(" "),s("a",{attrs:{href:e.actor.url,target:"_blank"}},[t._v("\n @"+t._s(e.actor.acct)+"\n ")])]),t._v(" "),s("div",[s("el-tag",{attrs:{type:t.getStateType(e.state),size:"large"}},[t._v(t._s(t.capitalizeFirstLetter(e.state)))]),t._v(" "),s("el-dropdown",{attrs:{trigger:"click"}},[s("el-button",{attrs:{plain:"",size:"small",icon:"el-icon-edit"}},[t._v(t._s(t.$t("reports.changeState"))),s("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},["resolved"!==e.state?s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeReportState("resolved",e.id)}}},[t._v(t._s(t.$t("reports.resolve")))]):t._e(),t._v(" "),"open"!==e.state?s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeReportState("open",e.id)}}},[t._v(t._s(t.$t("reports.reopen")))]):t._e(),t._v(" "),"closed"!==e.state?s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeReportState("closed",e.id)}}},[t._v(t._s(t.$t("reports.close")))]):t._e()],1)],1)],1)])]),t._v(" "),s("div",{staticClass:"report-body"},[s("span",{staticClass:"report-content",domProps:{innerHTML:t._s(e.content)}}),t._v("\n "+t._s(t.parseTimestamp(e.created_at))+"\n ")])])}),1)},[],!1,null,null,null));u.options.__file="ReportCard.vue";var d=u.exports,p=s("ot3S"),v={name:"Report",components:{ModerateUserDropdown:c,ReportCard:d,Status:p.a},props:{groupedReports:{type:Array,required:!0}},methods:{changeAllReports:function(t,e){var s=e.map(function(e){return{id:e.id,state:t}});this.$store.dispatch("ChangeReportState",s)},parseTimestamp:function(t){return r()(t).format("L HH:mm")}}},_=(s("6ySG"),Object(o.a)(v,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("el-timeline",{staticClass:"timeline"},t._l(t.groupedReports,function(e){return s("el-timeline-item",{key:e.id,staticClass:"timeline-item-container",attrs:{timestamp:t.parseTimestamp(e.date),placement:"top"}},[s("el-card",{staticClass:"grouped-report"},[s("div",{staticClass:"header-container"},[s("div",[s("h3",{staticClass:"report-title"},[t._v(t._s(t.$t("reports.reportsOn"))+" "+t._s(e.account.display_name))])]),t._v(" "),s("div",[s("el-dropdown",{attrs:{trigger:"click"}},[s("el-button",{attrs:{plain:"",size:"small",icon:"el-icon-edit"}},[t._v(t._s(t.$t("reports.changeAllReports"))),s("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeAllReports("resolved",e.reports)}}},[t._v(t._s(t.$t("reports.resolveAll")))]),t._v(" "),s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeAllReports("open",e.reports)}}},[t._v(t._s(t.$t("reports.reopenAll")))]),t._v(" "),s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeAllReports("closed",e.reports)}}},[t._v(t._s(t.$t("reports.closeAll")))])],1)],1),t._v(" "),s("moderate-user-dropdown",{attrs:{account:e.account}})],1)]),t._v(" "),s("div",[s("div",{staticClass:"line"}),t._v(" "),s("span",{staticClass:"report-row-key"},[t._v(t._s(t.$t("reports.account"))+":")]),t._v(" "),s("img",{staticClass:"avatar-img",attrs:{src:e.account.avatar,alt:"avatar"}}),t._v(" "),s("a",{attrs:{href:e.account.url,target:"_blank"}},[s("span",[t._v(t._s(e.account.nickname))])])]),t._v(" "),s("div",[s("div",{staticClass:"line"}),t._v(" "),s("span",{staticClass:"report-row-key"},[t._v(t._s(t.$t("reports.actors"))+":")]),t._v(" "),t._l(e.actors,function(a,r){return s("span",{key:a.id},[s("a",{attrs:{href:a.url,target:"_blank"}},[t._v("\n "+t._s(a.acct)),r<e.actors.length-1?s("span",[t._v(", ")]):t._e()])])})],2),t._v(" "),e.status?s("div",[s("div",{staticClass:"line"}),t._v(" "),s("span",{staticClass:"report-row-key"},[t._v(t._s(t.$t("reports.reportedStatus"))+":")]),t._v(" "),s("status",{staticClass:"reported-status",attrs:{status:e.status}})],1):t._e(),t._v(" "),e.reports?s("div",[s("el-collapse",[s("el-collapse-item",{attrs:{title:t.$t("reports.reports")}},[s("report-card",{attrs:{reports:e.reports}})],1)],1)],1):t._e()])],1)}),1)},[],!1,null,null,null));_.options.__file="GroupedReport.vue";var g=_.exports,h=s("ZhIB"),m=s.n(h),f={name:"NoteCard",props:{report:{type:Object,required:!0},note:{type:Object,required:!0}},methods:{parseTimestamp:function(t){return r()(t).format("YYYY-MM-DD HH:mm")},handleNoteDeletion:function(t,e){this.$store.dispatch("DeleteReportNote",{noteID:t,reportID:e})}}},j=(s("G/Mk"),Object(o.a)(f,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("el-card",{staticClass:"note-card"},[s("div",{attrs:{slot:"header"},slot:"header"},[s("div",{staticClass:"note-header"},[s("div",{staticClass:"note-actor-container"},[s("div",{staticClass:"note-actor"},[s("img",{staticClass:"note-avatar-img",attrs:{src:t.note.user.avatar}}),t._v(" "),s("h3",{staticClass:"note-actor-name"},[t._v(t._s(t.note.user.display_name))])]),t._v(" "),s("a",{attrs:{href:t.note.user.url,target:"_blank"}},[t._v("\n @"+t._s(t.note.user.acct)+"\n ")])]),t._v(" "),s("div",[s("el-popconfirm",{attrs:{title:"Are you sure to delete this?","confirm-button-text":"Yes","cancel-button-text":"No"},on:{onConfirm:function(e){return t.handleNoteDeletion(t.note.id,t.report.id)}}},[s("el-button",{attrs:{slot:"reference",size:"mini"},slot:"reference"},[t._v("\n "+t._s(t.$t("reports.deleteNote"))+"\n ")])],1)],1)])]),t._v(" "),s("div",{staticClass:"note-body"},[s("span",{staticClass:"note-content",domProps:{innerHTML:t._s(t.note.content)}}),t._v("\n "+t._s(t.parseTimestamp(t.note.created_at))+"\n ")])])},[],!1,null,null,null));j.options.__file="NoteCard.vue";var C=j.exports,b={name:"Report",components:{Status:p.a,ModerateUserDropdown:c,NoteCard:C},props:{reports:{type:Array,required:!0}},data:function(){return{notes:{}}},computed:{loading:function(){return this.$store.state.reports.loading},pageSize:function(){return this.$store.state.reports.pageSize},totalReportsCount:function(){return this.$store.state.reports.totalReportsCount},currentPage:function(){return this.$store.state.reports.currentPage}},methods:{changeReportState:function(t,e){this.$store.dispatch("ChangeReportState",[{state:t,id:e}])},capitalizeFirstLetter:function(t){return t.charAt(0).toUpperCase()+t.slice(1)},getStateType:function(t){switch(t){case"closed":return"info";case"resolved":return"success";default:return"primary"}},getStatusesTitle:function(t){return"Reported statuses: ".concat(t.length," item(s)")},getNotesTitle:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return"Notes: ".concat(t.length," item(s)")},handlePageChange:function(t){this.$store.dispatch("FetchReports",t)},parseTimestamp:function(t){return r()(t).format("L HH:mm")},handleNewNote:function(t){this.$store.dispatch("CreateReportNote",{content:this.notes[t],reportID:t}),this.notes[t]=""}}},k=(s("07OA"),Object(o.a)(b,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[s("el-timeline",{staticClass:"timeline"},t._l(t.reports,function(e){return s("el-timeline-item",{key:e.id,staticClass:"timeline-item-container",attrs:{timestamp:t.parseTimestamp(e.created_at),placement:"top"}},[s("el-card",[s("div",{staticClass:"header-container"},[s("div",[s("h3",{staticClass:"report-title"},[t._v(t._s(t.$t("reports.reportOn"))+" "+t._s(e.account.display_name))]),t._v(" "),s("h5",{staticClass:"id"},[t._v(t._s(t.$t("reports.id"))+": "+t._s(e.id))])]),t._v(" "),s("div",[s("el-tag",{attrs:{type:t.getStateType(e.state),size:"large"}},[t._v(t._s(t.capitalizeFirstLetter(e.state)))]),t._v(" "),s("el-dropdown",{attrs:{trigger:"click"}},[s("el-button",{attrs:{plain:"",size:"small",icon:"el-icon-edit"}},[t._v(t._s(t.$t("reports.changeState"))),s("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},["resolved"!==e.state?s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeReportState("resolved",e.id)}}},[t._v(t._s(t.$t("reports.resolve")))]):t._e(),t._v(" "),"open"!==e.state?s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeReportState("open",e.id)}}},[t._v(t._s(t.$t("reports.reopen")))]):t._e(),t._v(" "),"closed"!==e.state?s("el-dropdown-item",{nativeOn:{click:function(s){return t.changeReportState("closed",e.id)}}},[t._v(t._s(t.$t("reports.close")))]):t._e()],1)],1),t._v(" "),s("moderate-user-dropdown",{attrs:{account:e.account}})],1)]),t._v(" "),s("div",[s("div",{staticClass:"line"}),t._v(" "),s("span",{staticClass:"report-row-key"},[t._v(t._s(t.$t("reports.account"))+":")]),t._v(" "),s("img",{staticClass:"avatar-img",attrs:{src:e.account.avatar,alt:"avatar"}}),t._v(" "),s("a",{staticClass:"account",attrs:{href:e.account.url,target:"_blank"}},[s("span",[t._v(t._s(e.account.acct))])])]),t._v(" "),e.content.length>0?s("div",[s("div",{staticClass:"line"}),t._v(" "),s("span",{staticClass:"report-row-key"},[t._v(t._s(t.$t("reports.content"))+":\n "),s("span",[t._v(t._s(e.content))])])]):t._e(),t._v(" "),s("div",[s("div",{staticClass:"line"}),t._v(" "),s("span",{staticClass:"report-row-key"},[t._v(t._s(t.$t("reports.actor"))+":")]),t._v(" "),s("img",{staticClass:"avatar-img",attrs:{src:e.actor.avatar,alt:"avatar"}}),t._v(" "),s("a",{staticClass:"account",attrs:{href:e.actor.url,target:"_blank"}},[s("span",[t._v(t._s(e.actor.acct))])])]),t._v(" "),e.statuses.length>0?s("div",{staticClass:"statuses"},[s("el-collapse",[s("el-collapse-item",{attrs:{title:t.getStatusesTitle(e.statuses)}},t._l(e.statuses,function(e){return s("div",{key:e.id},[s("status",{attrs:{status:e,page:t.currentPage}})],1)}),0)],1)],1):t._e(),t._v(" "),s("div",{staticClass:"report-notes"},[s("el-collapse",[s("el-collapse-item",{attrs:{title:t.getNotesTitle(e.notes)}},t._l(e.notes,function(t,a){return s("note-card",{key:a,attrs:{note:t,report:e}})}),1)],1),t._v(" "),s("div",{staticClass:"report-note-form"},[s("el-input",{attrs:{placeholder:t.$t("reports.leaveNote"),type:"textarea",rows:"3"},model:{value:t.notes[e.id],callback:function(s){t.$set(t.notes,e.id,s)},expression:"notes[report.id]"}}),t._v(" "),s("div",{staticClass:"report-post-note"},[s("el-button",{on:{click:function(s){return t.handleNewNote(e.id)}}},[t._v(t._s(t.$t("reports.postNote")))])],1)],1)],1)])],1)}),1),t._v(" "),t.loading?t._e():s("div",{staticClass:"reports-pagination"},[s("el-pagination",{attrs:{total:t.totalReportsCount,"current-page":t.currentPage,"page-size":t.pageSize,background:"",layout:"prev, pager, next"},on:{"current-change":t.handlePageChange}})],1)],1)},[],!1,null,null,null));k.options.__file="Report.vue";var w=k.exports,y=s("mSNy"),$={data:function(){return{filter:"open",options:[{value:"open",label:y.a.t("reportsFilter.open")},{value:"closed",label:y.a.t("reportsFilter.closed")},{value:"resolved",label:y.a.t("reportsFilter.resolved")}]}},created:function(){this.$store.dispatch("SetFilter",this.$data.filter)},methods:{toggleFilters:function(){this.$store.dispatch("SetFilter",this.$data.filter),this.$store.dispatch("ClearFetchedReports"),this.$store.dispatch("FetchReports",1)}}},R=(s("j91q"),Object(o.a)($,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("el-select",{staticClass:"select-field",attrs:{placeholder:t.$t("reportsFilter.inputPlaceholder"),clearable:"","value-key":"value"},on:{change:t.toggleFilters},model:{value:t.filter,callback:function(e){t.filter=e},expression:"filter"}},t._l(t.options,function(e){return s("el-option",{key:e.value,attrs:{label:e.label,value:e.value}},[t._v(t._s(e.label))])}),1)},[],!1,null,"784405ab",null));R.options.__file="ReportsFilter.vue";var S={components:{GroupedReport:g,Report:w,ReportsFilter:R.exports},computed:{groupedReports:function(){return this.$store.state.reports.fetchedGroupedReports},groupReports:{get:function(){return this.$store.state.reports.groupReports},set:function(){this.toggleReportsGrouping()}},loading:function(){return this.$store.state.reports.loading},normalizedReportsCount:function(){return this.groupReports?m()(this.$store.state.reports.fetchedGroupedReports.length).format("0a"):m()(this.$store.state.reports.totalReportsCount).format("0a")},reports:function(){return this.$store.state.reports.fetchedReports}},mounted:function(){this.$store.dispatch("FetchReports",1),this.$store.dispatch("FetchGroupedReports")},methods:{toggleReportsGrouping:function(){this.$store.dispatch("ToggleReportsGrouping")}}},z=(s("fFyy"),Object(o.a)(S,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"reports-container"},[t.groupReports?s("h1",[t._v("\n "+t._s(t.$t("reports.groupedReports"))+"\n "),s("span",{staticClass:"report-count"},[t._v("("+t._s(t.normalizedReportsCount)+")")])]):s("h1",[t._v("\n "+t._s(t.$t("reports.reports"))+"\n "),s("span",{staticClass:"report-count"},[t._v("("+t._s(t.normalizedReportsCount)+")")])]),t._v(" "),s("div",{staticClass:"filter-container"},[t.groupReports?t._e():s("reports-filter"),t._v(" "),s("el-checkbox",{staticClass:"group-reports-checkbox",model:{value:t.groupReports,callback:function(e){t.groupReports=e},expression:"groupReports"}},[t._v("\n Group reports by statuses\n ")])],1),t._v(" "),s("div",{staticClass:"block"},[t.groupReports?s("grouped-report",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],attrs:{"grouped-reports":t.groupedReports}}):s("report",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],attrs:{reports:t.reports}}),t._v(" "),0===t.reports.length?s("div",{staticClass:"no-reports-message"},[s("p",[t._v("There are no reports to display")])]):t._e()],1)])},[],!1,null,"059af47c",null));z.options.__file="index.vue";e.default=z.exports},cRgN:function(t,e,s){},fFyy:function(t,e,s){"use strict";var a=s("c0ZM");s.n(a).a},j91q:function(t,e,s){"use strict";var a=s("jgpl");s.n(a).a},jgpl:function(t,e,s){},ot3S:function(t,e,s){"use strict";var a=s("wd/R"),r=s.n(a),n={name:"Status",props:{status:{type:Object,required:!0},page:{type:Number,required:!1,default:0},userId:{type:String,required:!1,default:""},godmode:{type:Boolean,required:!1,default:!1}},data:function(){return{showHiddenStatus:!1}},methods:{capitalizeFirstLetter:function(t){return t.charAt(0).toUpperCase()+t.slice(1)},changeStatus:function(t,e,s){this.$store.dispatch("ChangeStatusScope",{statusId:t,isSensitive:e,visibility:s,reportCurrentPage:this.page,userId:this.userId,godmode:this.godmode})},deleteStatus:function(t){var e=this;this.$confirm("Are you sure you want to delete this status?","Warning",{confirmButtonText:"OK",cancelButtonText:"Cancel",type:"warning"}).then(function(){e.$store.dispatch("DeleteStatus",{statusId:t,reportCurrentPage:e.page,userId:e.userId,godmode:e.godmode}),e.$message({type:"success",message:"Delete completed"})}).catch(function(){e.$message({type:"info",message:"Delete canceled"})})},optionPercent:function(t,e){var s=t.options.reduce(function(t,e){return t+e.votes_count},0);return 0===s?0:+(e.votes_count/s*100).toFixed(1)},parseTimestamp:function(t){return r()(t).format("YYYY-MM-DD HH:mm")},handleStatusSelection:function(t){this.$emit("status-selection",t)}}},o=(s("Kw8l"),s("KHd+")),i=Object(o.a)(n,function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[t.status.deleted?s("el-card",{staticClass:"status-card"},[s("div",{attrs:{slot:"header"},slot:"header"},[s("div",{staticClass:"status-header"},[s("div",{staticClass:"status-account-container"},[s("div",{staticClass:"status-account"},[s("h4",{staticClass:"status-deleted"},[t._v(t._s(t.$t("reports.statusDeleted")))])])])])]),t._v(" "),s("div",{staticClass:"status-body"},[t.status.content?s("span",{staticClass:"status-content",domProps:{innerHTML:t._s(t.status.content)}}):s("span",{staticClass:"status-without-content"},[t._v("no content")])]),t._v(" "),t.status.created_at?s("a",{staticClass:"account",attrs:{href:t.status.url,target:"_blank"}},[t._v("\n "+t._s(t.parseTimestamp(t.status.created_at))+"\n ")]):t._e()]):s("el-card",{staticClass:"status-card"},[s("div",{attrs:{slot:"header"},slot:"header"},[s("div",{staticClass:"status-header"},[s("div",{staticClass:"status-account-container"},[s("div",{staticClass:"status-account"},[s("el-checkbox",{on:{change:function(e){return t.handleStatusSelection(t.status.account)}}},[s("img",{staticClass:"status-avatar-img",attrs:{src:t.status.account.avatar}}),t._v(" "),s("h3",{staticClass:"status-account-name"},[t._v(t._s(t.status.account.display_name))])])],1),t._v(" "),s("a",{staticClass:"account",attrs:{href:t.status.account.url,target:"_blank"}},[t._v("\n @"+t._s(t.status.account.acct)+"\n ")])]),t._v(" "),s("div",{staticClass:"status-actions"},[t.status.sensitive?s("el-tag",{attrs:{type:"warning",size:"large"}},[t._v(t._s(t.$t("reports.sensitive")))]):t._e(),t._v(" "),s("el-tag",{attrs:{size:"large"}},[t._v(t._s(t.capitalizeFirstLetter(t.status.visibility)))]),t._v(" "),s("el-dropdown",{attrs:{trigger:"click"}},[s("el-button",{staticClass:"status-actions-button",attrs:{plain:"",size:"small",icon:"el-icon-edit"}},[t._v("\n "+t._s(t.$t("reports.changeScope"))),s("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[t.status.sensitive?t._e():s("el-dropdown-item",{nativeOn:{click:function(e){return t.changeStatus(t.status.id,!0,t.status.visibility)}}},[t._v("\n "+t._s(t.$t("reports.addSensitive"))+"\n ")]),t._v(" "),t.status.sensitive?s("el-dropdown-item",{nativeOn:{click:function(e){return t.changeStatus(t.status.id,!1,t.status.visibility)}}},[t._v("\n "+t._s(t.$t("reports.removeSensitive"))+"\n ")]):t._e(),t._v(" "),"public"!==t.status.visibility?s("el-dropdown-item",{nativeOn:{click:function(e){return t.changeStatus(t.status.id,t.status.sensitive,"public")}}},[t._v("\n "+t._s(t.$t("reports.public"))+"\n ")]):t._e(),t._v(" "),"private"!==t.status.visibility?s("el-dropdown-item",{nativeOn:{click:function(e){return t.changeStatus(t.status.id,t.status.sensitive,"private")}}},[t._v("\n "+t._s(t.$t("reports.private"))+"\n ")]):t._e(),t._v(" "),"unlisted"!==t.status.visibility?s("el-dropdown-item",{nativeOn:{click:function(e){return t.changeStatus(t.status.id,t.status.sensitive,"unlisted")}}},[t._v("\n "+t._s(t.$t("reports.unlisted"))+"\n ")]):t._e(),t._v(" "),s("el-dropdown-item",{nativeOn:{click:function(e){return t.deleteStatus(t.status.id)}}},[t._v("\n "+t._s(t.$t("reports.deleteStatus"))+"\n ")])],1)],1)],1)])]),t._v(" "),s("div",{staticClass:"status-body"},[t.status.spoiler_text?s("div",[s("strong",[t._v(t._s(t.status.spoiler_text))]),t._v(" "),t.showHiddenStatus?t._e():s("el-button",{staticClass:"show-more-button",attrs:{size:"mini"},on:{click:function(e){t.showHiddenStatus=!0}}},[t._v("Show more")]),t._v(" "),t.showHiddenStatus?s("el-button",{staticClass:"show-more-button",attrs:{size:"mini"},on:{click:function(e){t.showHiddenStatus=!1}}},[t._v("Show less")]):t._e(),t._v(" "),t.showHiddenStatus?s("div",[s("span",{staticClass:"status-content",domProps:{innerHTML:t._s(t.status.content)}}),t._v(" "),t.status.poll?s("div",{staticClass:"poll"},[s("ul",t._l(t.status.poll.options,function(e,a){return s("li",{key:a},[t._v("\n "+t._s(e.title)+"\n "),s("el-progress",{attrs:{percentage:t.optionPercent(t.status.poll,e)}})],1)}),0)]):t._e(),t._v(" "),t._l(t.status.media_attachments,function(t,e){return s("div",{key:e,staticClass:"image"},[s("img",{attrs:{src:t.preview_url}})])})],2):t._e()],1):t._e(),t._v(" "),t.status.spoiler_text?t._e():s("div",[s("span",{staticClass:"status-content",domProps:{innerHTML:t._s(t.status.content)}}),t._v(" "),t.status.poll?s("div",{staticClass:"poll"},[s("ul",t._l(t.status.poll.options,function(e,a){return s("li",{key:a},[t._v("\n "+t._s(e.title)+"\n "),s("el-progress",{attrs:{percentage:t.optionPercent(t.status.poll,e)}})],1)}),0)]):t._e(),t._v(" "),t._l(t.status.media_attachments,function(t,e){return s("div",{key:e,staticClass:"image"},[s("img",{attrs:{src:t.preview_url}})])})],2),t._v(" "),s("a",{staticClass:"account",attrs:{href:t.status.url,target:"_blank"}},[t._v("\n "+t._s(t.parseTimestamp(t.status.created_at))+"\n ")])])])],1)},[],!1,null,null,null);i.options.__file="index.vue";e.a=i.exports},xdcp:function(t,e,s){},y5Ur:function(t,e,s){}}]);
+//# sourceMappingURL=chunk-7de9.7b8cda50.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-7de9.7b8cda50.js.map b/priv/static/adminfe/static/js/chunk-7de9.7b8cda50.js.map
new file mode 100644
index 000000000..2172dcc92
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-7de9.7b8cda50.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/views/reports/components/Report.vue?ad5f","webpack:///./src/views/reports/components/GroupedReport.vue?b457","webpack:///./src/views/reports/components/NoteCard.vue?b93a","webpack:///./src/views/reports/components/ReportCard.vue?f821","webpack:///./src/components/Status/index.vue?aecc","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/views/reports/index.vue?6741","webpack:///./src/views/reports/components/ModerateUserDropdown.vue?6745","webpack:///src/views/reports/components/ModerateUserDropdown.vue","webpack:///./src/views/reports/components/ModerateUserDropdown.vue","webpack:///./src/views/reports/components/ModerateUserDropdown.vue?317e","webpack:///./src/views/reports/components/ReportCard.vue?1e68","webpack:///src/views/reports/components/ReportCard.vue","webpack:///./src/views/reports/components/ReportCard.vue","webpack:///./src/views/reports/components/ReportCard.vue?46e8","webpack:///./src/views/reports/components/GroupedReport.vue?7759","webpack:///src/views/reports/components/GroupedReport.vue","webpack:///./src/views/reports/components/GroupedReport.vue","webpack:///./src/views/reports/components/GroupedReport.vue?0eb4","webpack:///./src/views/reports/components/NoteCard.vue?6205","webpack:///src/views/reports/components/NoteCard.vue","webpack:///./src/views/reports/components/NoteCard.vue","webpack:///./src/views/reports/components/NoteCard.vue?0752","webpack:///./src/views/reports/components/Report.vue?a764","webpack:///src/views/reports/components/Report.vue","webpack:///./src/views/reports/components/Report.vue","webpack:///./src/views/reports/components/Report.vue?008b","webpack:///./src/views/reports/components/ReportsFilter.vue?e3b7","webpack:///src/views/reports/components/ReportsFilter.vue","webpack:///./src/views/reports/components/ReportsFilter.vue","webpack:///./src/views/reports/components/ReportsFilter.vue?89b4","webpack:///./src/views/reports/index.vue?3bcc","webpack:///src/views/reports/index.vue","webpack:///./src/views/reports/index.vue","webpack:///./src/views/reports/index.vue?d6c7","webpack:///./src/views/reports/components/ReportsFilter.vue?a1c4","webpack:///./src/components/Status/index.vue?2323","webpack:///./src/components/Status/index.vue?6071","webpack:///src/components/Status/index.vue","webpack:///./src/components/Status/index.vue"],"names":["_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Report_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_GroupedReport_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_NoteCard_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ReportCard_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","map","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-SG","./en-SG.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-il","./en-il.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./ga","./ga.js","./gd","./gd.js","./gl","./gl.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it-ch","./it-ch.js","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ku","./ku.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mn","./mn.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./mt","./mt.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./tg","./tg.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./ug-cn","./ug-cn.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","webpackContext","req","id","webpackContextResolve","o","e","Error","code","keys","Object","resolve","module","exports","components_ModerateUserDropdownvue_type_script_lang_js_","name","props","account","type","required","methods","handleDeactivation","_ref","nickname","this","$store","dispatch","handleDeletion","user","showDeactivatedButton","state","toggleTag","tag","tags","includes","users","component","componentNormalizer","_vm","_h","$createElement","_c","_self","attrs","trigger","plain","size","icon","_v","_s","$t","staticClass","slot","nativeOn","click","$event","deactivated","_e","class","active-tag","divided","options","__file","ModerateUserDropdown","components_ReportCardvue_type_script_lang_js_","reports","Array","capitalizeFirstLetter","str","charAt","toUpperCase","slice","changeReportState","getStateType","parseTimestamp","timestamp","moment_default","format","ReportCard_component","_l","report","key","src","actor","avatar","display_name","href","url","target","acct","domProps","innerHTML","content","created_at","ReportCard","components_GroupedReportvue_type_script_lang_js_","components","Status","groupedReports","changeAllReports","reportState","groupOfReports","reportsData","GroupedReport_component","groupedReport","date","placement","alt","index","actors","length","status","title","GroupedReport","components_NoteCardvue_type_script_lang_js_","note","handleNoteDeletion","noteID","reportID","NoteCard_component","confirm-button-text","cancel-button-text","on","onConfirm","NoteCard","components_Reportvue_type_script_lang_js_","data","notes","computed","loading","pageSize","totalReportsCount","currentPage","getStatusesTitle","statuses","concat","getNotesTitle","arguments","undefined","handlePageChange","page","handleNewNote","Report_component","placeholder","rows","model","value","callback","$$v","$set","expression","total","current-page","page-size","background","layout","current-change","Report","components_ReportsFiltervue_type_script_lang_js_","filter","label","lang","t","created","$data","toggleFilters","ReportsFilter_component","clearable","value-key","change","item","views_reportsvue_type_script_lang_js_","ReportsFilter","fetchedGroupedReports","groupReports","get","set","toggleReportsGrouping","normalizedReportsCount","numeral_default","fetchedReports","mounted","reports_component","directives","rawName","grouped-reports","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_059af47c_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ReportsFilter_vue_vue_type_style_index_0_id_784405ab_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","components_Statusvue_type_script_lang_js_","Number","default","userId","String","godmode","Boolean","showHiddenStatus","changeStatus","statusId","isSensitive","visibility","reportCurrentPage","deleteStatus","_this","$confirm","confirmButtonText","cancelButtonText","then","$message","message","catch","optionPercent","poll","pollOption","allVotes","reduce","acc","option","votes_count","toFixed","handleStatusSelection","$emit","deleted","sensitive","spoiler_text","percentage","attachment","preview_url"],"mappings":"wGAAA,IAAAA,EAAAC,EAAA,QAAAA,EAAAC,EAAAF,GAA0e,yFCA1e,IAAAG,EAAAF,EAAA,QAAAA,EAAAC,EAAAC,GAAif,uCCAjf,IAAAC,EAAAH,EAAA,QAAAA,EAAAC,EAAAE,GAA4e,qCCA5e,IAAAC,EAAAJ,EAAA,QAAAA,EAAAC,EAAAG,GAA8e,qCCA9e,IAAAC,EAAAL,EAAA,QAAAA,EAAAC,EAAAI,GAAud,wBCAvd,IAAAC,GACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,gBAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OA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","file":"static/js/chunk-7de9.7b8cda50.js","sourcesContent":["import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Report.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Report.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupedReport.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupedReport.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NoteCard.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NoteCard.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportCard.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportCard.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-SG\": \"zavE\",\n\t\"./en-SG.js\": \"zavE\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\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 = \"RnhZ\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"reports-container\"},[(_vm.groupReports)?_c('h1',[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.groupedReports'))+\"\\n \"),_c('span',{staticClass:\"report-count\"},[_vm._v(\"(\"+_vm._s(_vm.normalizedReportsCount)+\")\")])]):_c('h1',[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.reports'))+\"\\n \"),_c('span',{staticClass:\"report-count\"},[_vm._v(\"(\"+_vm._s(_vm.normalizedReportsCount)+\")\")])]),_vm._v(\" \"),_c('div',{staticClass:\"filter-container\"},[(!_vm.groupReports)?_c('reports-filter'):_vm._e(),_vm._v(\" \"),_c('el-checkbox',{staticClass:\"group-reports-checkbox\",model:{value:(_vm.groupReports),callback:function ($$v) {_vm.groupReports=$$v},expression:\"groupReports\"}},[_vm._v(\"\\n Group reports by statuses\\n \")])],1),_vm._v(\" \"),_c('div',{staticClass:\"block\"},[(_vm.groupReports)?_c('grouped-report',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"grouped-reports\":_vm.groupedReports}}):_c('report',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"reports\":_vm.reports}}),_vm._v(\" \"),(_vm.reports.length === 0)?_c('div',{staticClass:\"no-reports-message\"},[_c('p',[_vm._v(\"There are no reports to display\")])]):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModerateUserDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ModerateUserDropdown.vue?vue&type=script&lang=js&\"","<template>\n <el-dropdown trigger=\"click\">\n <el-button plain size=\"small\" icon=\"el-icon-files\">{{ $t('reports.moderateUser') }}\n <i class=\"el-icon-arrow-down el-icon--right\"/>\n </el-button>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item\n v-if=\"showDeactivatedButton(account)\"\n @click.native=\"handleDeactivation(account)\">\n {{ account.deactivated ? $t('users.activateAccount') : $t('users.deactivateAccount') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"showDeactivatedButton(account.id)\"\n @click.native=\"handleDeletion(account.id)\">\n {{ $t('users.deleteAccount') }}\n </el-dropdown-item>\n <el-dropdown-item\n :divided=\"true\"\n :class=\"{ 'active-tag': account.tags.includes('force_nsfw') }\"\n @click.native=\"toggleTag(account, 'force_nsfw')\">\n {{ $t('users.forceNsfw') }}\n <i v-if=\"account.tags.includes('force_nsfw')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n :class=\"{ 'active-tag': account.tags.includes('strip_media') }\"\n @click.native=\"toggleTag(account, 'strip_media')\">\n {{ $t('users.stripMedia') }}\n <i v-if=\"account.tags.includes('strip_media')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n :class=\"{ 'active-tag': account.tags.includes('force_unlisted') }\"\n @click.native=\"toggleTag(account, 'force_unlisted')\">\n {{ $t('users.forceUnlisted') }}\n <i v-if=\"account.tags.includes('force_unlisted')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n :class=\"{ 'active-tag': account.tags.includes('sandbox') }\"\n @click.native=\"toggleTag(account, 'sandbox')\">\n {{ $t('users.sandbox') }}\n <i v-if=\"account.tags.includes('sandbox')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"account.local\"\n :class=\"{ 'active-tag': account.tags.includes('disable_remote_subscription') }\"\n @click.native=\"toggleTag(account, 'disable_remote_subscription')\">\n {{ $t('users.disableRemoteSubscription') }}\n <i v-if=\"account.tags.includes('disable_remote_subscription')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"account.local\"\n :class=\"{ 'active-tag': account.tags.includes('disable_any_subscription') }\"\n @click.native=\"toggleTag(account, 'disable_any_subscription')\">\n {{ $t('users.disableAnySubscription') }}\n <i v-if=\"account.tags.includes('disable_any_subscription')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n</template>\n\n<script>\nexport default {\n name: 'ModerateUserDropdown',\n props: {\n account: {\n type: Object,\n required: true\n }\n },\n methods: {\n handleDeactivation({ nickname }) {\n this.$store.dispatch('ToggleUserActivation', nickname)\n },\n handleDeletion(user) {\n this.$store.dispatch('DeleteUser', user)\n },\n showDeactivatedButton(id) {\n return this.$store.state.user.id !== id\n },\n toggleTag(user, tag) {\n user.tags.includes(tag)\n ? this.$store.dispatch('RemoveTag', { users: [user], tag })\n : this.$store.dispatch('AddTag', { users: [user], tag })\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./ModerateUserDropdown.vue?vue&type=template&id=b5d522a6&\"\nimport script from \"./ModerateUserDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./ModerateUserDropdown.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\ncomponent.options.__file = \"ModerateUserDropdown.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dropdown',{attrs:{\"trigger\":\"click\"}},[_c('el-button',{attrs:{\"plain\":\"\",\"size\":\"small\",\"icon\":\"el-icon-files\"}},[_vm._v(_vm._s(_vm.$t('reports.moderateUser'))+\"\\n \"),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(_vm.showDeactivatedButton(_vm.account))?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.handleDeactivation(_vm.account)}}},[_vm._v(\"\\n \"+_vm._s(_vm.account.deactivated ? _vm.$t('users.activateAccount') : _vm.$t('users.deactivateAccount'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.showDeactivatedButton(_vm.account.id))?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.handleDeletion(_vm.account.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.deleteAccount'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': _vm.account.tags.includes('force_nsfw') },attrs:{\"divided\":true},nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.account, 'force_nsfw')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.forceNsfw'))+\"\\n \"),(_vm.account.tags.includes('force_nsfw'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': _vm.account.tags.includes('strip_media') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.account, 'strip_media')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.stripMedia'))+\"\\n \"),(_vm.account.tags.includes('strip_media'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': _vm.account.tags.includes('force_unlisted') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.account, 'force_unlisted')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.forceUnlisted'))+\"\\n \"),(_vm.account.tags.includes('force_unlisted'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': _vm.account.tags.includes('sandbox') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.account, 'sandbox')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.sandbox'))+\"\\n \"),(_vm.account.tags.includes('sandbox'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),(_vm.account.local)?_c('el-dropdown-item',{class:{ 'active-tag': _vm.account.tags.includes('disable_remote_subscription') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.account, 'disable_remote_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.disableRemoteSubscription'))+\"\\n \"),(_vm.account.tags.includes('disable_remote_subscription'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.account.local)?_c('el-dropdown-item',{class:{ 'active-tag': _vm.account.tags.includes('disable_any_subscription') },nativeOn:{\"click\":function($event){return _vm.toggleTag(_vm.account, 'disable_any_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.disableAnySubscription'))+\"\\n \"),(_vm.account.tags.includes('disable_any_subscription'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportCard.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-card v-for=\"report in reports\" :key=\"report.id\" class=\"report-card\">\n <div slot=\"header\">\n <div class=\"report-header\">\n <div class=\"report-actor-container\">\n <div class=\"report-actor\">\n <img :src=\"report.actor.avatar\" class=\"report-avatar-img\">\n <h3 class=\"report-actor-name\">{{ report.actor.display_name }}</h3>\n </div>\n <a :href=\"report.actor.url\" target=\"_blank\">\n @{{ report.actor.acct }}\n </a>\n </div>\n <div>\n <el-tag :type=\"getStateType(report.state)\" size=\"large\">{{ capitalizeFirstLetter(report.state) }}</el-tag>\n <el-dropdown trigger=\"click\">\n <el-button plain size=\"small\" icon=\"el-icon-edit\">{{ $t('reports.changeState') }}<i class=\"el-icon-arrow-down el-icon--right\"/></el-button>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item v-if=\"report.state !== 'resolved'\" @click.native=\"changeReportState('resolved', report.id)\">{{ $t('reports.resolve') }}</el-dropdown-item>\n <el-dropdown-item v-if=\"report.state !== 'open'\" @click.native=\"changeReportState('open', report.id)\">{{ $t('reports.reopen') }}</el-dropdown-item>\n <el-dropdown-item v-if=\"report.state !== 'closed'\" @click.native=\"changeReportState('closed', report.id)\">{{ $t('reports.close') }}</el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n </div>\n </div>\n </div>\n <div class=\"report-body\">\n <span class=\"report-content\" v-html=\"report.content\"/>\n {{ parseTimestamp(report.created_at) }}\n </div>\n </el-card>\n </div>\n</template>\n\n<script>\nimport moment from 'moment'\n\nexport default {\n name: 'Statuses',\n props: {\n reports: {\n type: Array,\n required: true\n }\n },\n methods: {\n capitalizeFirstLetter(str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n },\n changeReportState(state, id) {\n this.$store.dispatch('ChangeReportState', [{ state, id }])\n },\n getStateType(state) {\n switch (state) {\n case 'closed':\n return 'info'\n case 'resolved':\n return 'success'\n default:\n return 'primary'\n }\n },\n parseTimestamp(timestamp) {\n return moment(timestamp).format('YYYY-MM-DD HH:mm')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n a {\n text-decoration: underline;\n }\n .el-icon-arrow-right {\n margin-right: 6px;\n }\n .report-header {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n height: 40px;\n }\n .report-actor {\n display: flex;\n align-items: center;\n }\n .report-actor-name {\n margin: 0;\n height: 22px;\n }\n .report-avatar-img {\n width: 15px;\n height: 15px;\n margin-right: 5px;\n }\n .report-body {\n display: flex;\n flex-direction: column;\n }\n .report-card {\n margin-bottom: 15px;\n }\n .report-content {\n font-size: 15px;\n }\n .report-header {\n display: flex;\n justify-content: space-between;\n }\n @media\n only screen and (max-width: 760px),\n (min-device-width: 768px) and (max-device-width: 1024px) {\n .el-card__header {\n padding: 10px 17px;\n }\n .report-header {\n display: flex;\n flex-direction: column;\n height: 80px;\n }\n .report-actor-container {\n margin-bottom: 5px;\n }\n .report-header {\n display: flex;\n flex-direction: column;\n }\n }\n</style>\n","import { render, staticRenderFns } from \"./ReportCard.vue?vue&type=template&id=1dabff24&\"\nimport script from \"./ReportCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ReportCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ReportCard.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"ReportCard.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.reports),function(report){return _c('el-card',{key:report.id,staticClass:\"report-card\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('div',{staticClass:\"report-header\"},[_c('div',{staticClass:\"report-actor-container\"},[_c('div',{staticClass:\"report-actor\"},[_c('img',{staticClass:\"report-avatar-img\",attrs:{\"src\":report.actor.avatar}}),_vm._v(\" \"),_c('h3',{staticClass:\"report-actor-name\"},[_vm._v(_vm._s(report.actor.display_name))])]),_vm._v(\" \"),_c('a',{attrs:{\"href\":report.actor.url,\"target\":\"_blank\"}},[_vm._v(\"\\n @\"+_vm._s(report.actor.acct)+\"\\n \")])]),_vm._v(\" \"),_c('div',[_c('el-tag',{attrs:{\"type\":_vm.getStateType(report.state),\"size\":\"large\"}},[_vm._v(_vm._s(_vm.capitalizeFirstLetter(report.state)))]),_vm._v(\" \"),_c('el-dropdown',{attrs:{\"trigger\":\"click\"}},[_c('el-button',{attrs:{\"plain\":\"\",\"size\":\"small\",\"icon\":\"el-icon-edit\"}},[_vm._v(_vm._s(_vm.$t('reports.changeState'))),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(report.state !== 'resolved')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeReportState('resolved', report.id)}}},[_vm._v(_vm._s(_vm.$t('reports.resolve')))]):_vm._e(),_vm._v(\" \"),(report.state !== 'open')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeReportState('open', report.id)}}},[_vm._v(_vm._s(_vm.$t('reports.reopen')))]):_vm._e(),_vm._v(\" \"),(report.state !== 'closed')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeReportState('closed', report.id)}}},[_vm._v(_vm._s(_vm.$t('reports.close')))]):_vm._e()],1)],1)],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"report-body\"},[_c('span',{staticClass:\"report-content\",domProps:{\"innerHTML\":_vm._s(report.content)}}),_vm._v(\"\\n \"+_vm._s(_vm.parseTimestamp(report.created_at))+\"\\n \")])])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupedReport.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GroupedReport.vue?vue&type=script&lang=js&\"","<template>\n <el-timeline class=\"timeline\">\n <el-timeline-item\n v-for=\"groupedReport in groupedReports\"\n :key=\"groupedReport.id\"\n :timestamp=\"parseTimestamp(groupedReport.date)\"\n placement=\"top\"\n class=\"timeline-item-container\">\n <el-card class=\"grouped-report\">\n <div class=\"header-container\">\n <div>\n <h3 class=\"report-title\">{{ $t('reports.reportsOn') }} {{ groupedReport.account.display_name }}</h3>\n </div>\n <div>\n <el-dropdown trigger=\"click\">\n <el-button plain size=\"small\" icon=\"el-icon-edit\">{{ $t('reports.changeAllReports') }}<i class=\"el-icon-arrow-down el-icon--right\"/></el-button>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item @click.native=\"changeAllReports('resolved', groupedReport.reports)\">{{ $t('reports.resolveAll') }}</el-dropdown-item>\n <el-dropdown-item @click.native=\"changeAllReports('open', groupedReport.reports)\">{{ $t('reports.reopenAll') }}</el-dropdown-item>\n <el-dropdown-item @click.native=\"changeAllReports('closed', groupedReport.reports)\">{{ $t('reports.closeAll') }}</el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n <moderate-user-dropdown :account=\"groupedReport.account\"/>\n </div>\n </div>\n <div>\n <div class=\"line\"/>\n <span class=\"report-row-key\">{{ $t('reports.account') }}:</span>\n <img\n :src=\"groupedReport.account.avatar\"\n alt=\"avatar\"\n class=\"avatar-img\">\n <a :href=\"groupedReport.account.url\" target=\"_blank\">\n <span>{{ groupedReport.account.nickname }}</span>\n </a>\n </div>\n <div>\n <div class=\"line\"/>\n <span class=\"report-row-key\">{{ $t('reports.actors') }}:</span>\n <span v-for=\"(actor, index) in groupedReport.actors\" :key=\"actor.id\">\n <a :href=\"actor.url\" target=\"_blank\">\n {{ actor.acct }}<span v-if=\"index < groupedReport.actors.length - 1\">, </span>\n </a>\n </span>\n </div>\n <div v-if=\"groupedReport.status\">\n <div class=\"line\"/>\n <span class=\"report-row-key\">{{ $t('reports.reportedStatus') }}:</span>\n <status :status=\"groupedReport.status\" class=\"reported-status\"/>\n </div>\n <div v-if=\"groupedReport.reports\">\n <el-collapse>\n <el-collapse-item :title=\"$t('reports.reports')\">\n <report-card :reports=\"groupedReport.reports\"/>\n </el-collapse-item>\n </el-collapse>\n </div>\n </el-card>\n </el-timeline-item>\n </el-timeline>\n</template>\n\n<script>\nimport moment from 'moment'\nimport ModerateUserDropdown from './ModerateUserDropdown'\nimport ReportCard from './ReportCard'\nimport Status from '@/components/Status'\n\nexport default {\n name: 'Report',\n components: { ModerateUserDropdown, ReportCard, Status },\n props: {\n groupedReports: {\n type: Array,\n required: true\n }\n },\n methods: {\n changeAllReports(reportState, groupOfReports) {\n const reportsData = groupOfReports.map(report => {\n return { id: report.id, state: reportState }\n })\n this.$store.dispatch('ChangeReportState', reportsData)\n },\n parseTimestamp(timestamp) {\n return moment(timestamp).format('L HH:mm')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n a {\n text-decoration: underline;\n }\n .avatar-img {\n vertical-align: bottom;\n width: 15px;\n height: 15px;\n margin-left: 5px;\n }\n .el-card__body {\n padding: 17px;\n }\n .el-card__header {\n background-color: #FAFAFA;\n padding: 10px 20px;\n }\n .el-icon-arrow-right {\n margin-right: 6px;\n }\n .header-container {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n height: 40px;\n }\n .line {\n width: 100%;\n height: 0;\n border: 0.5px solid #EBEEF5;\n margin: 15px 0 15px;\n }\n .report-title {\n margin: 0;\n }\n .report-row-key {\n font-size: 14px;\n font-weight: 500;\n }\n .reported-status {\n margin-top: 15px;\n }\n @media\n only screen and (max-width: 760px),\n (min-device-width: 768px) and (max-device-width: 1024px) {\n .header-container {\n display: flex;\n flex-direction: column;\n height: 80px;\n }\n }\n</style>\n","import { render, staticRenderFns } from \"./GroupedReport.vue?vue&type=template&id=3fd6c3db&\"\nimport script from \"./GroupedReport.vue?vue&type=script&lang=js&\"\nexport * from \"./GroupedReport.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GroupedReport.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"GroupedReport.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-timeline',{staticClass:\"timeline\"},_vm._l((_vm.groupedReports),function(groupedReport){return _c('el-timeline-item',{key:groupedReport.id,staticClass:\"timeline-item-container\",attrs:{\"timestamp\":_vm.parseTimestamp(groupedReport.date),\"placement\":\"top\"}},[_c('el-card',{staticClass:\"grouped-report\"},[_c('div',{staticClass:\"header-container\"},[_c('div',[_c('h3',{staticClass:\"report-title\"},[_vm._v(_vm._s(_vm.$t('reports.reportsOn'))+\" \"+_vm._s(groupedReport.account.display_name))])]),_vm._v(\" \"),_c('div',[_c('el-dropdown',{attrs:{\"trigger\":\"click\"}},[_c('el-button',{attrs:{\"plain\":\"\",\"size\":\"small\",\"icon\":\"el-icon-edit\"}},[_vm._v(_vm._s(_vm.$t('reports.changeAllReports'))),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeAllReports('resolved', groupedReport.reports)}}},[_vm._v(_vm._s(_vm.$t('reports.resolveAll')))]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeAllReports('open', groupedReport.reports)}}},[_vm._v(_vm._s(_vm.$t('reports.reopenAll')))]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeAllReports('closed', groupedReport.reports)}}},[_vm._v(_vm._s(_vm.$t('reports.closeAll')))])],1)],1),_vm._v(\" \"),_c('moderate-user-dropdown',{attrs:{\"account\":groupedReport.account}})],1)]),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('span',{staticClass:\"report-row-key\"},[_vm._v(_vm._s(_vm.$t('reports.account'))+\":\")]),_vm._v(\" \"),_c('img',{staticClass:\"avatar-img\",attrs:{\"src\":groupedReport.account.avatar,\"alt\":\"avatar\"}}),_vm._v(\" \"),_c('a',{attrs:{\"href\":groupedReport.account.url,\"target\":\"_blank\"}},[_c('span',[_vm._v(_vm._s(groupedReport.account.nickname))])])]),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('span',{staticClass:\"report-row-key\"},[_vm._v(_vm._s(_vm.$t('reports.actors'))+\":\")]),_vm._v(\" \"),_vm._l((groupedReport.actors),function(actor,index){return _c('span',{key:actor.id},[_c('a',{attrs:{\"href\":actor.url,\"target\":\"_blank\"}},[_vm._v(\"\\n \"+_vm._s(actor.acct)),(index < groupedReport.actors.length - 1)?_c('span',[_vm._v(\", \")]):_vm._e()])])})],2),_vm._v(\" \"),(groupedReport.status)?_c('div',[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('span',{staticClass:\"report-row-key\"},[_vm._v(_vm._s(_vm.$t('reports.reportedStatus'))+\":\")]),_vm._v(\" \"),_c('status',{staticClass:\"reported-status\",attrs:{\"status\":groupedReport.status}})],1):_vm._e(),_vm._v(\" \"),(groupedReport.reports)?_c('div',[_c('el-collapse',[_c('el-collapse-item',{attrs:{\"title\":_vm.$t('reports.reports')}},[_c('report-card',{attrs:{\"reports\":groupedReport.reports}})],1)],1)],1):_vm._e()])],1)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NoteCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NoteCard.vue?vue&type=script&lang=js&\"","<template>\n <el-card class=\"note-card\">\n <div slot=\"header\">\n <div class=\"note-header\">\n <div class=\"note-actor-container\">\n <div class=\"note-actor\">\n <img :src=\"note.user.avatar\" class=\"note-avatar-img\">\n <h3 class=\"note-actor-name\">{{ note.user.display_name }}</h3>\n </div>\n <a :href=\"note.user.url\" target=\"_blank\">\n @{{ note.user.acct }}\n </a>\n </div>\n <div>\n <el-popconfirm\n title=\"Are you sure to delete this?\"\n confirm-button-text=\"Yes\"\n cancel-button-text=\"No\"\n @onConfirm=\"handleNoteDeletion(note.id, report.id)\">\n <el-button slot=\"reference\" size=\"mini\">\n {{ $t('reports.deleteNote') }}\n </el-button>\n </el-popconfirm>\n </div>\n </div>\n </div>\n <div class=\"note-body\">\n <span class=\"note-content\" v-html=\"note.content\"/>\n {{ parseTimestamp(note.created_at) }}\n </div>\n </el-card>\n</template>\n\n<script>\nimport moment from 'moment'\n\nexport default {\n name: 'NoteCard',\n props: {\n report: {\n type: Object,\n required: true\n },\n note: {\n type: Object,\n required: true\n }\n },\n methods: {\n parseTimestamp(timestamp) {\n return moment(timestamp).format('YYYY-MM-DD HH:mm')\n },\n handleNoteDeletion(noteID, reportID) {\n this.$store.dispatch('DeleteReportNote', { noteID, reportID })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n a {\n text-decoration: underline;\n }\n .el-icon-arrow-right {\n margin-right: 6px;\n }\n .note-header {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n height: 40px;\n }\n .note-actor {\n display: flex;\n align-items: center;\n }\n .note-actor-name {\n margin: 0;\n height: 22px;\n }\n .note-avatar-img {\n width: 15px;\n height: 15px;\n margin-right: 5px;\n }\n .note-body {\n display: flex;\n flex-direction: column;\n }\n .note-card {\n margin-bottom: 15px;\n }\n .note-content {\n font-size: 15px;\n }\n .note-header {\n display: flex;\n justify-content: space-between;\n }\n @media\n only screen and (max-width: 760px),\n (min-device-width: 768px) and (max-device-width: 1024px) {\n .el-card__header {\n padding: 10px 17px;\n }\n .note-header {\n display: flex;\n flex-direction: column;\n height: 80px;\n }\n .note-actor-container {\n margin-bottom: 5px;\n }\n .note-header {\n display: flex;\n flex-direction: column;\n }\n }\n</style>\n","import { render, staticRenderFns } from \"./NoteCard.vue?vue&type=template&id=b3b38fa0&\"\nimport script from \"./NoteCard.vue?vue&type=script&lang=js&\"\nexport * from \"./NoteCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NoteCard.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"NoteCard.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-card',{staticClass:\"note-card\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('div',{staticClass:\"note-header\"},[_c('div',{staticClass:\"note-actor-container\"},[_c('div',{staticClass:\"note-actor\"},[_c('img',{staticClass:\"note-avatar-img\",attrs:{\"src\":_vm.note.user.avatar}}),_vm._v(\" \"),_c('h3',{staticClass:\"note-actor-name\"},[_vm._v(_vm._s(_vm.note.user.display_name))])]),_vm._v(\" \"),_c('a',{attrs:{\"href\":_vm.note.user.url,\"target\":\"_blank\"}},[_vm._v(\"\\n @\"+_vm._s(_vm.note.user.acct)+\"\\n \")])]),_vm._v(\" \"),_c('div',[_c('el-popconfirm',{attrs:{\"title\":\"Are you sure to delete this?\",\"confirm-button-text\":\"Yes\",\"cancel-button-text\":\"No\"},on:{\"onConfirm\":function($event){return _vm.handleNoteDeletion(_vm.note.id, _vm.report.id)}}},[_c('el-button',{attrs:{\"slot\":\"reference\",\"size\":\"mini\"},slot:\"reference\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.deleteNote'))+\"\\n \")])],1)],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"note-body\"},[_c('span',{staticClass:\"note-content\",domProps:{\"innerHTML\":_vm._s(_vm.note.content)}}),_vm._v(\"\\n \"+_vm._s(_vm.parseTimestamp(_vm.note.created_at))+\"\\n \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Report.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Report.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-timeline class=\"timeline\">\n <el-timeline-item\n v-for=\"report in reports\"\n :timestamp=\"parseTimestamp(report.created_at)\"\n :key=\"report.id\"\n placement=\"top\"\n class=\"timeline-item-container\">\n <el-card>\n <div class=\"header-container\">\n <div>\n <h3 class=\"report-title\">{{ $t('reports.reportOn') }} {{ report.account.display_name }}</h3>\n <h5 class=\"id\">{{ $t('reports.id') }}: {{ report.id }}</h5>\n </div>\n <div>\n <el-tag :type=\"getStateType(report.state)\" size=\"large\">{{ capitalizeFirstLetter(report.state) }}</el-tag>\n <el-dropdown trigger=\"click\">\n <el-button plain size=\"small\" icon=\"el-icon-edit\">{{ $t('reports.changeState') }}<i class=\"el-icon-arrow-down el-icon--right\"/></el-button>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item v-if=\"report.state !== 'resolved'\" @click.native=\"changeReportState('resolved', report.id)\">{{ $t('reports.resolve') }}</el-dropdown-item>\n <el-dropdown-item v-if=\"report.state !== 'open'\" @click.native=\"changeReportState('open', report.id)\">{{ $t('reports.reopen') }}</el-dropdown-item>\n <el-dropdown-item v-if=\"report.state !== 'closed'\" @click.native=\"changeReportState('closed', report.id)\">{{ $t('reports.close') }}</el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n <moderate-user-dropdown :account=\"report.account\"/>\n </div>\n </div>\n <div>\n <div class=\"line\"/>\n <span class=\"report-row-key\">{{ $t('reports.account') }}:</span>\n <img\n :src=\"report.account.avatar\"\n alt=\"avatar\"\n class=\"avatar-img\">\n <a :href=\"report.account.url\" target=\"_blank\" class=\"account\">\n <span>{{ report.account.acct }}</span>\n </a>\n </div>\n <div v-if=\"report.content.length > 0\">\n <div class=\"line\"/>\n <span class=\"report-row-key\">{{ $t('reports.content') }}:\n <span>{{ report.content }}</span>\n </span>\n </div>\n <div>\n <div class=\"line\"/>\n <span class=\"report-row-key\">{{ $t('reports.actor') }}:</span>\n <img\n :src=\"report.actor.avatar\"\n alt=\"avatar\"\n class=\"avatar-img\">\n <a :href=\"report.actor.url\" target=\"_blank\" class=\"account\">\n <span>{{ report.actor.acct }}</span>\n </a>\n </div>\n <div v-if=\"report.statuses.length > 0\" class=\"statuses\">\n <el-collapse>\n <el-collapse-item :title=\"getStatusesTitle(report.statuses)\">\n <div v-for=\"status in report.statuses\" :key=\"status.id\">\n <status :status=\"status\" :page=\"currentPage\"/>\n </div>\n </el-collapse-item>\n </el-collapse>\n </div>\n <div class=\"report-notes\">\n <el-collapse>\n <el-collapse-item :title=\"getNotesTitle(report.notes)\">\n <note-card v-for=\"(note, index) in report.notes\" :key=\"index\" :note=\"note\" :report=\"report\"/>\n </el-collapse-item>\n </el-collapse>\n <div class=\"report-note-form\">\n <el-input\n v-model=\"notes[report.id]\"\n :placeholder=\"$t('reports.leaveNote')\"\n type=\"textarea\"\n rows=\"3\"/>\n <div class=\"report-post-note\">\n <el-button @click=\"handleNewNote(report.id)\">{{ $t('reports.postNote') }}</el-button>\n </div>\n </div>\n </div>\n </el-card>\n </el-timeline-item>\n </el-timeline>\n <div v-if=\"!loading\" class=\"reports-pagination\">\n <el-pagination\n :total=\"totalReportsCount\"\n :current-page=\"currentPage\"\n :page-size=\"pageSize\"\n background\n layout=\"prev, pager, next\"\n @current-change=\"handlePageChange\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport moment from 'moment'\nimport NoteCard from './NoteCard'\nimport Status from '@/components/Status'\nimport ModerateUserDropdown from './ModerateUserDropdown'\n\nexport default {\n name: 'Report',\n components: { Status, ModerateUserDropdown, NoteCard },\n props: {\n reports: {\n type: Array,\n required: true\n }\n },\n data() {\n return {\n notes: {}\n }\n },\n computed: {\n loading() {\n return this.$store.state.reports.loading\n },\n pageSize() {\n return this.$store.state.reports.pageSize\n },\n totalReportsCount() {\n return this.$store.state.reports.totalReportsCount\n },\n currentPage() {\n return this.$store.state.reports.currentPage\n }\n },\n methods: {\n changeReportState(state, id) {\n this.$store.dispatch('ChangeReportState', [{ state, id }])\n },\n capitalizeFirstLetter(str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n },\n getStateType(state) {\n switch (state) {\n case 'closed':\n return 'info'\n case 'resolved':\n return 'success'\n default:\n return 'primary'\n }\n },\n getStatusesTitle(statuses) {\n return `Reported statuses: ${statuses.length} item(s)`\n },\n getNotesTitle(notes = []) {\n return `Notes: ${notes.length} item(s)`\n },\n handlePageChange(page) {\n this.$store.dispatch('FetchReports', page)\n },\n parseTimestamp(timestamp) {\n return moment(timestamp).format('L HH:mm')\n },\n handleNewNote(reportID) {\n this.$store.dispatch('CreateReportNote', { content: this.notes[reportID], reportID })\n this.notes[reportID] = ''\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n .account {\n text-decoration: underline;\n }\n .avatar-img {\n vertical-align: bottom;\n width: 15px;\n height: 15px;\n margin-left: 5px;\n }\n .el-card__body {\n padding: 17px;\n }\n .el-card__header {\n background-color: #FAFAFA;\n padding: 10px 20px;\n }\n .el-collapse {\n border-bottom: none;\n }\n .el-collapse-item__header {\n height: 46px;\n font-size: 14px;\n }\n .el-collapse-item__content {\n padding-bottom: 7px;\n }\n .el-icon-arrow-right {\n margin-right: 6px;\n }\n .el-icon-close {\n padding: 10px 5px 10px 10px;\n cursor: pointer;\n }\n h4 {\n margin: 0;\n height: 17px;\n }\n .header-container {\n display: flex;\n justify-content: space-between;\n align-items: baseline;\n height: 40px;\n }\n .id {\n color: gray;\n margin-top: 6px;\n }\n .line {\n width: 100%;\n height: 0;\n border: 0.5px solid #EBEEF5;\n margin: 15px 0 15px;\n }\n .new-note {\n p {\n font-size: 14px;\n font-weight: 500;\n height: 17px;\n margin: 13px 0 7px;\n }\n }\n .note {\n box-shadow: 0 2px 5px 0 rgba(0,0,0,.1);\n margin-bottom: 10px;\n }\n .no-notes {\n font-style: italic;\n color: gray;\n }\n .report-row-key {\n font-size: 14px;\n font-weight: 500;\n }\n .report-row-key {\n font-size: 14px;\n }\n .report-title {\n margin: 0;\n }\n .report-note-form {\n margin: 15px 0 0 0;\n }\n .report-post-note {\n margin: 5px 0 0 0;\n text-align: right;\n }\n .reports-pagination {\n margin: 25px 0;\n text-align: center;\n }\n .statuses {\n margin-top: 15px;\n }\n .submit-button {\n display: block;\n margin: 7px 0 17px auto;\n }\n .timestamp {\n margin: 0;\n font-style: italic;\n color: gray;\n }\n @media\n only screen and (max-width: 760px),\n (min-device-width: 768px) and (max-device-width: 1024px) {\n .timeline-item-container {\n .header-container {\n display: flex;\n flex-direction: column;\n height: 80px;\n }\n .id {\n margin: 6px 0 0 0;\n }\n }\n }\n</style>\n","import { render, staticRenderFns } from \"./Report.vue?vue&type=template&id=d688cd6e&\"\nimport script from \"./Report.vue?vue&type=script&lang=js&\"\nexport * from \"./Report.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Report.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Report.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-timeline',{staticClass:\"timeline\"},_vm._l((_vm.reports),function(report){return _c('el-timeline-item',{key:report.id,staticClass:\"timeline-item-container\",attrs:{\"timestamp\":_vm.parseTimestamp(report.created_at),\"placement\":\"top\"}},[_c('el-card',[_c('div',{staticClass:\"header-container\"},[_c('div',[_c('h3',{staticClass:\"report-title\"},[_vm._v(_vm._s(_vm.$t('reports.reportOn'))+\" \"+_vm._s(report.account.display_name))]),_vm._v(\" \"),_c('h5',{staticClass:\"id\"},[_vm._v(_vm._s(_vm.$t('reports.id'))+\": \"+_vm._s(report.id))])]),_vm._v(\" \"),_c('div',[_c('el-tag',{attrs:{\"type\":_vm.getStateType(report.state),\"size\":\"large\"}},[_vm._v(_vm._s(_vm.capitalizeFirstLetter(report.state)))]),_vm._v(\" \"),_c('el-dropdown',{attrs:{\"trigger\":\"click\"}},[_c('el-button',{attrs:{\"plain\":\"\",\"size\":\"small\",\"icon\":\"el-icon-edit\"}},[_vm._v(_vm._s(_vm.$t('reports.changeState'))),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(report.state !== 'resolved')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeReportState('resolved', report.id)}}},[_vm._v(_vm._s(_vm.$t('reports.resolve')))]):_vm._e(),_vm._v(\" \"),(report.state !== 'open')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeReportState('open', report.id)}}},[_vm._v(_vm._s(_vm.$t('reports.reopen')))]):_vm._e(),_vm._v(\" \"),(report.state !== 'closed')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeReportState('closed', report.id)}}},[_vm._v(_vm._s(_vm.$t('reports.close')))]):_vm._e()],1)],1),_vm._v(\" \"),_c('moderate-user-dropdown',{attrs:{\"account\":report.account}})],1)]),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('span',{staticClass:\"report-row-key\"},[_vm._v(_vm._s(_vm.$t('reports.account'))+\":\")]),_vm._v(\" \"),_c('img',{staticClass:\"avatar-img\",attrs:{\"src\":report.account.avatar,\"alt\":\"avatar\"}}),_vm._v(\" \"),_c('a',{staticClass:\"account\",attrs:{\"href\":report.account.url,\"target\":\"_blank\"}},[_c('span',[_vm._v(_vm._s(report.account.acct))])])]),_vm._v(\" \"),(report.content.length > 0)?_c('div',[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('span',{staticClass:\"report-row-key\"},[_vm._v(_vm._s(_vm.$t('reports.content'))+\":\\n \"),_c('span',[_vm._v(_vm._s(report.content))])])]):_vm._e(),_vm._v(\" \"),_c('div',[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('span',{staticClass:\"report-row-key\"},[_vm._v(_vm._s(_vm.$t('reports.actor'))+\":\")]),_vm._v(\" \"),_c('img',{staticClass:\"avatar-img\",attrs:{\"src\":report.actor.avatar,\"alt\":\"avatar\"}}),_vm._v(\" \"),_c('a',{staticClass:\"account\",attrs:{\"href\":report.actor.url,\"target\":\"_blank\"}},[_c('span',[_vm._v(_vm._s(report.actor.acct))])])]),_vm._v(\" \"),(report.statuses.length > 0)?_c('div',{staticClass:\"statuses\"},[_c('el-collapse',[_c('el-collapse-item',{attrs:{\"title\":_vm.getStatusesTitle(report.statuses)}},_vm._l((report.statuses),function(status){return _c('div',{key:status.id},[_c('status',{attrs:{\"status\":status,\"page\":_vm.currentPage}})],1)}),0)],1)],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"report-notes\"},[_c('el-collapse',[_c('el-collapse-item',{attrs:{\"title\":_vm.getNotesTitle(report.notes)}},_vm._l((report.notes),function(note,index){return _c('note-card',{key:index,attrs:{\"note\":note,\"report\":report}})}),1)],1),_vm._v(\" \"),_c('div',{staticClass:\"report-note-form\"},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('reports.leaveNote'),\"type\":\"textarea\",\"rows\":\"3\"},model:{value:(_vm.notes[report.id]),callback:function ($$v) {_vm.$set(_vm.notes, report.id, $$v)},expression:\"notes[report.id]\"}}),_vm._v(\" \"),_c('div',{staticClass:\"report-post-note\"},[_c('el-button',{on:{\"click\":function($event){return _vm.handleNewNote(report.id)}}},[_vm._v(_vm._s(_vm.$t('reports.postNote')))])],1)],1)],1)])],1)}),1),_vm._v(\" \"),(!_vm.loading)?_c('div',{staticClass:\"reports-pagination\"},[_c('el-pagination',{attrs:{\"total\":_vm.totalReportsCount,\"current-page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"background\":\"\",\"layout\":\"prev, pager, next\"},on:{\"current-change\":_vm.handlePageChange}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportsFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportsFilter.vue?vue&type=script&lang=js&\"","<template>\n <el-select\n v-model=\"filter\"\n :placeholder=\"$t('reportsFilter.inputPlaceholder')\"\n clearable\n class=\"select-field\"\n value-key=\"value\"\n @change=\"toggleFilters\">\n <el-option\n v-for=\"item in options\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\">{{ item.label }}</el-option>\n </el-select>\n</template>\n\n<script>\nimport i18n from '@/lang'\n\nexport default {\n data() {\n return {\n filter: 'open',\n options: [\n {\n value: 'open',\n label: i18n.t('reportsFilter.open')\n },\n {\n value: 'closed',\n label: i18n.t('reportsFilter.closed')\n },\n {\n value: 'resolved',\n label: i18n.t('reportsFilter.resolved')\n }\n ]\n }\n },\n created() {\n this.$store.dispatch('SetFilter', this.$data.filter)\n },\n methods: {\n toggleFilters() {\n this.$store.dispatch('SetFilter', this.$data.filter)\n this.$store.dispatch('ClearFetchedReports')\n this.$store.dispatch('FetchReports', 1)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n.select-field {\n width: 350px;\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .select-field {\n width: 100%;\n margin-bottom: 5px;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./ReportsFilter.vue?vue&type=template&id=784405ab&scoped=true&\"\nimport script from \"./ReportsFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./ReportsFilter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ReportsFilter.vue?vue&type=style&index=0&id=784405ab&rel=stylesheet%2Fscss&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 \"784405ab\",\n null\n \n)\n\ncomponent.options.__file = \"ReportsFilter.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',{staticClass:\"select-field\",attrs:{\"placeholder\":_vm.$t('reportsFilter.inputPlaceholder'),\"clearable\":\"\",\"value-key\":\"value\"},on:{\"change\":_vm.toggleFilters},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}},_vm._l((_vm.options),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}},[_vm._v(_vm._s(item.label))])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"reports-container\">\n <h1 v-if=\"groupReports\">\n {{ $t('reports.groupedReports') }}\n <span class=\"report-count\">({{ normalizedReportsCount }})</span>\n </h1>\n <h1 v-else>\n {{ $t('reports.reports') }}\n <span class=\"report-count\">({{ normalizedReportsCount }})</span>\n </h1>\n <div class=\"filter-container\">\n <reports-filter v-if=\"!groupReports\"/>\n <el-checkbox v-model=\"groupReports\" class=\"group-reports-checkbox\">\n Group reports by statuses\n </el-checkbox>\n </div>\n <div class=\"block\">\n <grouped-report v-loading=\"loading\" v-if=\"groupReports\" :grouped-reports=\"groupedReports\"/>\n <report v-loading=\"loading\" v-else :reports=\"reports\"/>\n <div v-if=\"reports.length === 0\" class=\"no-reports-message\">\n <p>There are no reports to display</p>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport GroupedReport from './components/GroupedReport'\nimport numeral from 'numeral'\nimport Report from './components/Report'\nimport ReportsFilter from './components/ReportsFilter'\n\nexport default {\n components: { GroupedReport, Report, ReportsFilter },\n computed: {\n groupedReports() {\n return this.$store.state.reports.fetchedGroupedReports\n },\n groupReports: {\n get() {\n return this.$store.state.reports.groupReports\n },\n set() {\n this.toggleReportsGrouping()\n }\n },\n loading() {\n return this.$store.state.reports.loading\n },\n normalizedReportsCount() {\n return this.groupReports\n ? numeral(this.$store.state.reports.fetchedGroupedReports.length).format('0a')\n : numeral(this.$store.state.reports.totalReportsCount).format('0a')\n },\n reports() {\n return this.$store.state.reports.fetchedReports\n }\n },\n mounted() {\n this.$store.dispatch('FetchReports', 1)\n this.$store.dispatch('FetchGroupedReports')\n },\n methods: {\n toggleReportsGrouping() {\n this.$store.dispatch('ToggleReportsGrouping')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n.reports-container {\n .el-timeline {\n margin: 45px 45px 45px 19px;\n padding: 0px;\n }\n .filter-container {\n display: flex;\n flex-direction: column;\n margin: 22px 15px 22px 15px;\n padding-bottom: 0\n }\n .group-reports-checkbox {\n margin-top: 10px;\n }\n h1 {\n margin: 22px 0 0 15px;\n }\n .no-reports-message {\n color: gray;\n margin-left: 19px\n }\n .report-count {\n color: gray;\n font-size: 28px;\n }\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .reports-container {\n h1 {\n margin: 7px 10px 15px 10px;\n }\n .filter-container {\n margin: 0 10px\n }\n }\n #app > div > div.main-container > section > div > div.block > ul {\n margin: 45px 45px 5px 19px;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=059af47c&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=059af47c&rel=stylesheet%2Fscss&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 \"059af47c\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=059af47c&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=059af47c&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportsFilter.vue?vue&type=style&index=0&id=784405ab&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReportsFilter.vue?vue&type=style&index=0&id=784405ab&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.status.deleted)?_c('el-card',{staticClass:\"status-card\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('div',{staticClass:\"status-header\"},[_c('div',{staticClass:\"status-account-container\"},[_c('div',{staticClass:\"status-account\"},[_c('el-checkbox',{on:{\"change\":function($event){return _vm.handleStatusSelection(_vm.status.account)}}},[_c('img',{staticClass:\"status-avatar-img\",attrs:{\"src\":_vm.status.account.avatar}}),_vm._v(\" \"),_c('h3',{staticClass:\"status-account-name\"},[_vm._v(_vm._s(_vm.status.account.display_name))])])],1),_vm._v(\" \"),_c('a',{staticClass:\"account\",attrs:{\"href\":_vm.status.account.url,\"target\":\"_blank\"}},[_vm._v(\"\\n @\"+_vm._s(_vm.status.account.acct)+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"status-actions\"},[(_vm.status.sensitive)?_c('el-tag',{attrs:{\"type\":\"warning\",\"size\":\"large\"}},[_vm._v(_vm._s(_vm.$t('reports.sensitive')))]):_vm._e(),_vm._v(\" \"),_c('el-tag',{attrs:{\"size\":\"large\"}},[_vm._v(_vm._s(_vm.capitalizeFirstLetter(_vm.status.visibility)))]),_vm._v(\" \"),_c('el-dropdown',{attrs:{\"trigger\":\"click\"}},[_c('el-button',{staticClass:\"status-actions-button\",attrs:{\"plain\":\"\",\"size\":\"small\",\"icon\":\"el-icon-edit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.changeScope'))),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(!_vm.status.sensitive)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, true, _vm.status.visibility)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.addSensitive'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status.sensitive)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, false, _vm.status.visibility)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.removeSensitive'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status.visibility !== 'public')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, _vm.status.sensitive, 'public')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.public'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status.visibility !== 'private')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, _vm.status.sensitive, 'private')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.private'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status.visibility !== 'unlisted')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, _vm.status.sensitive, 'unlisted')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.unlisted'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.deleteStatus(_vm.status.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.deleteStatus'))+\"\\n \")])],1)],1)],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"status-body\"},[(_vm.status.spoiler_text)?_c('div',[_c('strong',[_vm._v(_vm._s(_vm.status.spoiler_text))]),_vm._v(\" \"),(!_vm.showHiddenStatus)?_c('el-button',{staticClass:\"show-more-button\",attrs:{\"size\":\"mini\"},on:{\"click\":function($event){_vm.showHiddenStatus = true}}},[_vm._v(\"Show more\")]):_vm._e(),_vm._v(\" \"),(_vm.showHiddenStatus)?_c('el-button',{staticClass:\"show-more-button\",attrs:{\"size\":\"mini\"},on:{\"click\":function($event){_vm.showHiddenStatus = false}}},[_vm._v(\"Show less\")]):_vm._e(),_vm._v(\" \"),(_vm.showHiddenStatus)?_c('div',[_c('span',{staticClass:\"status-content\",domProps:{\"innerHTML\":_vm._s(_vm.status.content)}}),_vm._v(\" \"),(_vm.status.poll)?_c('div',{staticClass:\"poll\"},[_c('ul',_vm._l((_vm.status.poll.options),function(option,index){return _c('li',{key:index},[_vm._v(\"\\n \"+_vm._s(option.title)+\"\\n \"),_c('el-progress',{attrs:{\"percentage\":_vm.optionPercent(_vm.status.poll, option)}})],1)}),0)]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.status.media_attachments),function(attachment,index){return _c('div',{key:index,staticClass:\"image\"},[_c('img',{attrs:{\"src\":attachment.preview_url}})])})],2):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.status.spoiler_text)?_c('div',[_c('span',{staticClass:\"status-content\",domProps:{\"innerHTML\":_vm._s(_vm.status.content)}}),_vm._v(\" \"),(_vm.status.poll)?_c('div',{staticClass:\"poll\"},[_c('ul',_vm._l((_vm.status.poll.options),function(option,index){return _c('li',{key:index},[_vm._v(\"\\n \"+_vm._s(option.title)+\"\\n \"),_c('el-progress',{attrs:{\"percentage\":_vm.optionPercent(_vm.status.poll, option)}})],1)}),0)]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.status.media_attachments),function(attachment,index){return _c('div',{key:index,staticClass:\"image\"},[_c('img',{attrs:{\"src\":attachment.preview_url}})])})],2):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"account\",attrs:{\"href\":_vm.status.url,\"target\":\"_blank\"}},[_vm._v(\"\\n \"+_vm._s(_vm.parseTimestamp(_vm.status.created_at))+\"\\n \")])])]):_c('el-card',{staticClass:\"status-card\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('div',{staticClass:\"status-header\"},[_c('div',{staticClass:\"status-account-container\"},[_c('div',{staticClass:\"status-account\"},[_c('h4',{staticClass:\"status-deleted\"},[_vm._v(_vm._s(_vm.$t('reports.statusDeleted')))])])])])]),_vm._v(\" \"),_c('div',{staticClass:\"status-body\"},[(_vm.status.content)?_c('span',{staticClass:\"status-content\",domProps:{\"innerHTML\":_vm._s(_vm.status.content)}}):_c('span',{staticClass:\"status-without-content\"},[_vm._v(\"no content\")])]),_vm._v(\" \"),(_vm.status.created_at)?_c('a',{staticClass:\"account\",attrs:{\"href\":_vm.status.url,\"target\":\"_blank\"}},[_vm._v(\"\\n \"+_vm._s(_vm.parseTimestamp(_vm.status.created_at))+\"\\n \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-card v-if=\"!status.deleted\" class=\"status-card\">\n <div slot=\"header\">\n <div class=\"status-header\">\n <div class=\"status-account-container\">\n <div class=\"status-account\">\n <el-checkbox @change=\"handleStatusSelection(status.account)\">\n <img :src=\"status.account.avatar\" class=\"status-avatar-img\">\n <h3 class=\"status-account-name\">{{ status.account.display_name }}</h3>\n </el-checkbox>\n </div>\n <a :href=\"status.account.url\" target=\"_blank\" class=\"account\">\n @{{ status.account.acct }}\n </a>\n </div>\n <div class=\"status-actions\">\n <el-tag v-if=\"status.sensitive\" type=\"warning\" size=\"large\">{{ $t('reports.sensitive') }}</el-tag>\n <el-tag size=\"large\">{{ capitalizeFirstLetter(status.visibility) }}</el-tag>\n <el-dropdown trigger=\"click\">\n <el-button plain size=\"small\" icon=\"el-icon-edit\" class=\"status-actions-button\">\n {{ $t('reports.changeScope') }}<i class=\"el-icon-arrow-down el-icon--right\"/>\n </el-button>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item\n v-if=\"!status.sensitive\"\n @click.native=\"changeStatus(status.id, true, status.visibility)\">\n {{ $t('reports.addSensitive') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.sensitive\"\n @click.native=\"changeStatus(status.id, false, status.visibility)\">\n {{ $t('reports.removeSensitive') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.visibility !== 'public'\"\n @click.native=\"changeStatus(status.id, status.sensitive, 'public')\">\n {{ $t('reports.public') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.visibility !== 'private'\"\n @click.native=\"changeStatus(status.id, status.sensitive, 'private')\">\n {{ $t('reports.private') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.visibility !== 'unlisted'\"\n @click.native=\"changeStatus(status.id, status.sensitive, 'unlisted')\">\n {{ $t('reports.unlisted') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"deleteStatus(status.id)\">\n {{ $t('reports.deleteStatus') }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n </div>\n </div>\n </div>\n <div class=\"status-body\">\n <div v-if=\"status.spoiler_text\">\n <strong>{{ status.spoiler_text }}</strong>\n <el-button v-if=\"!showHiddenStatus\" size=\"mini\" class=\"show-more-button\" @click=\"showHiddenStatus = true\">Show more</el-button>\n <el-button v-if=\"showHiddenStatus\" size=\"mini\" class=\"show-more-button\" @click=\"showHiddenStatus = false\">Show less</el-button>\n <div v-if=\"showHiddenStatus\">\n <span class=\"status-content\" v-html=\"status.content\"/>\n <div v-if=\"status.poll\" class=\"poll\">\n <ul>\n <li v-for=\"(option, index) in status.poll.options\" :key=\"index\">\n {{ option.title }}\n <el-progress :percentage=\"optionPercent(status.poll, option)\" />\n </li>\n </ul>\n </div>\n <div v-for=\"(attachment, index) in status.media_attachments\" :key=\"index\" class=\"image\">\n <img :src=\"attachment.preview_url\">\n </div>\n </div>\n </div>\n <div v-if=\"!status.spoiler_text\">\n <span class=\"status-content\" v-html=\"status.content\"/>\n <div v-if=\"status.poll\" class=\"poll\">\n <ul>\n <li v-for=\"(option, index) in status.poll.options\" :key=\"index\">\n {{ option.title }}\n <el-progress :percentage=\"optionPercent(status.poll, option)\" />\n </li>\n </ul>\n </div>\n <div v-for=\"(attachment, index) in status.media_attachments\" :key=\"index\" class=\"image\">\n <img :src=\"attachment.preview_url\">\n </div>\n </div>\n <a :href=\"status.url\" target=\"_blank\" class=\"account\">\n {{ parseTimestamp(status.created_at) }}\n </a>\n </div>\n </el-card>\n <el-card v-else class=\"status-card\">\n <div slot=\"header\">\n <div class=\"status-header\">\n <div class=\"status-account-container\">\n <div class=\"status-account\">\n <h4 class=\"status-deleted\">{{ $t('reports.statusDeleted') }}</h4>\n </div>\n </div>\n </div>\n </div>\n <div class=\"status-body\">\n <span v-if=\"status.content\" class=\"status-content\" v-html=\"status.content\"/>\n <span v-else class=\"status-without-content\">no content</span>\n </div>\n <a v-if=\"status.created_at\" :href=\"status.url\" target=\"_blank\" class=\"account\">\n {{ parseTimestamp(status.created_at) }}\n </a>\n </el-card>\n </div>\n</template>\n\n<script>\nimport moment from 'moment'\n\nexport default {\n name: 'Status',\n props: {\n status: {\n type: Object,\n required: true\n },\n page: {\n type: Number,\n required: false,\n default: 0\n },\n userId: {\n type: String,\n required: false,\n default: ''\n },\n godmode: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n data() {\n return {\n showHiddenStatus: false\n }\n },\n methods: {\n capitalizeFirstLetter(str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n },\n changeStatus(statusId, isSensitive, visibility) {\n this.$store.dispatch('ChangeStatusScope', { statusId, isSensitive, visibility, reportCurrentPage: this.page, userId: this.userId, godmode: this.godmode })\n },\n deleteStatus(statusId) {\n this.$confirm('Are you sure you want to delete this status?', 'Warning', {\n confirmButtonText: 'OK',\n cancelButtonText: 'Cancel',\n type: 'warning'\n }).then(() => {\n this.$store.dispatch('DeleteStatus', { statusId, reportCurrentPage: this.page, userId: this.userId, godmode: this.godmode })\n this.$message({\n type: 'success',\n message: 'Delete completed'\n })\n }).catch(() => {\n this.$message({\n type: 'info',\n message: 'Delete canceled'\n })\n })\n },\n optionPercent(poll, pollOption) {\n const allVotes = poll.options.reduce((acc, option) => (acc + option.votes_count), 0)\n if (allVotes === 0) {\n return 0\n }\n return +(pollOption.votes_count / allVotes * 100).toFixed(1)\n },\n parseTimestamp(timestamp) {\n return moment(timestamp).format('YYYY-MM-DD HH:mm')\n },\n handleStatusSelection(account) {\n this.$emit('status-selection', account)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.status-card {\n .account {\n text-decoration: underline;\n line-height: 26px;\n font-size: 13px;\n }\n .image {\n width: 20%;\n img {\n width: 100%;\n }\n }\n .show-more-button {\n margin-left: 5px;\n }\n .status-account {\n display: flex;\n align-items: center;\n }\n .status-avatar-img {\n display: inline-block;\n width: 15px;\n height: 15px;\n margin-right: 5px;\n }\n .status-account-name {\n display: inline-block;\n margin: 0;\n height: 22px;\n }\n .status-body {\n display: flex;\n flex-direction: column;\n }\n .status-content {\n font-size: 15px;\n line-height: 26px;\n }\n .status-card {\n margin-bottom: 15px;\n }\n .status-deleted {\n font-style: italic;\n margin-top: 3px;\n }\n .status-header {\n display: flex;\n justify-content: space-between;\n }\n .status-without-content {\n font-style: italic;\n }\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .el-message {\n min-width: 80%;\n }\n .el-message-box {\n width: 80%;\n }\n .status-card {\n .el-card__header {\n padding: 10px 17px;\n }\n .el-tag {\n margin: 3px 4px 3px 0;\n }\n .status-account-container {\n margin-bottom: 5px;\n }\n .status-actions-button {\n margin: 3px 0 3px;\n }\n .status-actions {\n display: flex;\n flex-wrap: wrap;\n }\n .status-header {\n display: flex;\n flex-direction: column;\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=38b82c99&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-7f8e.c1eb619d.js b/priv/static/adminfe/static/js/chunk-7f8e.2c3e63e9.js
index 56ce1d5ef..06988ef73 100644
--- a/priv/static/adminfe/static/js/chunk-7f8e.c1eb619d.js
+++ b/priv/static/adminfe/static/js/chunk-7f8e.2c3e63e9.js
@@ -1,2 +1,2 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-7f8e"],{"9/5/":function(t,e,s){(function(e){var s="Expected a function",n=NaN,a="[object Symbol]",r=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt,c="object"==typeof e&&e&&e.Object===Object&&e,j="object"==typeof self&&self&&self.Object===Object&&self,d=c||j||Function("return this")(),f=Object.prototype.toString,h=Math.max,p=Math.min,g=function(){return d.Date.now()};function m(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function v(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&f.call(t)==a}(t))return n;if(m(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=m(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(r,"");var s=i.test(t);return s||l.test(t)?u(t.slice(2),s?2:8):o.test(t)?n:+t}t.exports=function(t,e,n){var a,r,o,i,l,u,c=0,j=!1,d=!1,f=!0;if("function"!=typeof t)throw new TypeError(s);function b(e){var s=a,n=r;return a=r=void 0,c=e,i=t.apply(n,s)}function y(t){var s=t-u;return void 0===u||s>=e||s<0||d&&t-c>=o}function k(){var t=g();if(y(t))return x(t);l=setTimeout(k,function(t){var s=e-(t-u);return d?p(s,o-(t-c)):s}(t))}function x(t){return l=void 0,f&&a?b(t):(a=r=void 0,i)}function z(){var t=g(),s=y(t);if(a=arguments,r=this,u=t,s){if(void 0===l)return function(t){return c=t,l=setTimeout(k,e),j?b(t):i}(u);if(d)return l=setTimeout(k,e),b(u)}return void 0===l&&(l=setTimeout(k,e)),i}return e=v(e)||0,m(n)&&(j=!!n.leading,o=(d="maxWait"in n)?h(v(n.maxWait)||0,e):o,f="trailing"in n?!!n.trailing:f),z.cancel=function(){void 0!==l&&clearTimeout(l),c=0,a=u=r=l=void 0},z.flush=function(){return void 0===l?i:x(g())},z}}).call(this,s("yLpj"))},CmY0:function(t,e,s){"use strict";s.r(e);var n=s("wd/R"),a=s.n(n),r=s("LvDl"),o=s.n(r),i=s("9/5/"),l=s.n(i),u={data:function(){return{dateRange:"",search:"",user:"",currentPage:1}},computed:{loading:function(){return this.$store.state.moderationLog.logLoading&&this.$store.state.moderationLog.adminsLoading},log:function(){return this.$store.state.moderationLog.fetchedLog},total:function(){return this.$store.state.moderationLog.logItemsCount},users:function(){return[{label:"Admins",options:this.$store.state.moderationLog.admins.users},{label:"Moderators",options:this.$store.state.moderationLog.moderators.users}]}},created:function(){var t=this;this.handleDebounceSearchInput=l()(function(e){t.fetchLogWithFilters()},500)},mounted:function(){this.$store.dispatch("FetchModerationLog"),this.$store.dispatch("FetchAdmins")},methods:{normalizeTimestamp:function(t){return a()(1e3*t).format("YYYY-MM-DD HH:mm")},fetchLogWithFilters:function(){var t=o.a.omitBy({start_date:this.dateRange?this.dateRange[0].toISOString():null,end_date:this.dateRange?this.dateRange[1].toISOString():null,user_id:this.user,search:this.search,page:this.currentPage},function(t){return""===t||null===t});this.$store.dispatch("FetchModerationLog",t)}}},c=(s("n22Y"),s("KHd+")),j=Object(c.a)(u,function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.loading?t._e():s("div",{staticClass:"moderation-log-container"},[s("h1",[t._v(t._s(t.$t("moderationLog.moderationLog")))]),t._v(" "),s("el-row",{staticClass:"row-bg",attrs:{type:"flex",justify:"space-between"}},[s("el-col",{attrs:{span:9}},[s("el-select",{staticClass:"user-select",attrs:{clearable:"",placeholder:"Filter by admin/moderator"},on:{change:t.fetchLogWithFilters},model:{value:t.user,callback:function(e){t.user=e},expression:"user"}},t._l(t.users,function(e){return s("el-option-group",{key:e.label,attrs:{label:e.label}},t._l(e.options,function(t){return s("el-option",{key:t.id,attrs:{label:t.nickname,value:t.id}})}),1)}),1)],1),t._v(" "),s("el-col",{staticClass:"search-container",attrs:{span:6}},[s("el-input",{attrs:{placeholder:"Search logs",clearable:""},on:{input:t.handleDebounceSearchInput},model:{value:t.search,callback:function(e){t.search=e},expression:"search"}})],1)],1),t._v(" "),s("el-row",{staticClass:"row-bg",attrs:{type:"flex",justify:"space-between"}},[s("el-col",{staticClass:"date-container",attrs:{span:9}},[s("el-date-picker",{attrs:{"default-time":["00:00:00","23:59:59"],type:"daterange","start-placeholder":"Start date","end-placeholder":"End date","unlink-panels":""},on:{change:t.fetchLogWithFilters},model:{value:t.dateRange,callback:function(e){t.dateRange=e},expression:"dateRange"}})],1)],1),t._v(" "),s("el-timeline",t._l(t.log,function(e,n){return s("el-timeline-item",{key:n,attrs:{timestamp:t.normalizeTimestamp(e.time)}},[t._v("\n "+t._s(e.message)+"\n ")])}),1),t._v(" "),s("div",{staticClass:"pagination"},[s("el-pagination",{attrs:{"current-page":t.currentPage,"hide-on-single-page":!0,"page-size":50,total:t.total,layout:"prev, pager, next"},on:{"update:currentPage":function(e){t.currentPage=e},"update:current-page":function(e){t.currentPage=e},"current-change":t.fetchLogWithFilters}})],1)],1)},[],!1,null,"74b48266",null);j.options.__file="index.vue";e.default=j.exports},Oyhf:function(t,e,s){},RnhZ:function(t,e,s){var n={"./af":"K/tc","./af.js":"K/tc","./ar":"jnO4","./ar-dz":"o1bE","./ar-dz.js":"o1bE","./ar-kw":"Qj4J","./ar-kw.js":"Qj4J","./ar-ly":"HP3h","./ar-ly.js":"HP3h","./ar-ma":"CoRJ","./ar-ma.js":"CoRJ","./ar-sa":"gjCT","./ar-sa.js":"gjCT","./ar-tn":"bYM6","./ar-tn.js":"bYM6","./ar.js":"jnO4","./az":"SFxW","./az.js":"SFxW","./be":"H8ED","./be.js":"H8ED","./bg":"hKrs","./bg.js":"hKrs","./bm":"p/rL","./bm.js":"p/rL","./bn":"kEOa","./bn.js":"kEOa","./bo":"0mo+","./bo.js":"0mo+","./br":"aIdf","./br.js":"aIdf","./bs":"JVSJ","./bs.js":"JVSJ","./ca":"1xZ4","./ca.js":"1xZ4","./cs":"PA2r","./cs.js":"PA2r","./cv":"A+xa","./cv.js":"A+xa","./cy":"l5ep","./cy.js":"l5ep","./da":"DxQv","./da.js":"DxQv","./de":"tGlX","./de-at":"s+uk","./de-at.js":"s+uk","./de-ch":"u3GI","./de-ch.js":"u3GI","./de.js":"tGlX","./dv":"WYrj","./dv.js":"WYrj","./el":"jUeY","./el.js":"jUeY","./en-SG":"zavE","./en-SG.js":"zavE","./en-au":"Dmvi","./en-au.js":"Dmvi","./en-ca":"OIYi","./en-ca.js":"OIYi","./en-gb":"Oaa7","./en-gb.js":"Oaa7","./en-ie":"4dOw","./en-ie.js":"4dOw","./en-il":"czMo","./en-il.js":"czMo","./en-nz":"b1Dy","./en-nz.js":"b1Dy","./eo":"Zduo","./eo.js":"Zduo","./es":"iYuL","./es-do":"CjzT","./es-do.js":"CjzT","./es-us":"Vclq","./es-us.js":"Vclq","./es.js":"iYuL","./et":"7BjC","./et.js":"7BjC","./eu":"D/JM","./eu.js":"D/JM","./fa":"jfSC","./fa.js":"jfSC","./fi":"gekB","./fi.js":"gekB","./fo":"ByF4","./fo.js":"ByF4","./fr":"nyYc","./fr-ca":"2fjn","./fr-ca.js":"2fjn","./fr-ch":"Dkky","./fr-ch.js":"Dkky","./fr.js":"nyYc","./fy":"cRix","./fy.js":"cRix","./ga":"USCx","./ga.js":"USCx","./gd":"9rRi","./gd.js":"9rRi","./gl":"iEDd","./gl.js":"iEDd","./gom-latn":"DKr+","./gom-latn.js":"DKr+","./gu":"4MV3","./gu.js":"4MV3","./he":"x6pH","./he.js":"x6pH","./hi":"3E1r","./hi.js":"3E1r","./hr":"S6ln","./hr.js":"S6ln","./hu":"WxRl","./hu.js":"WxRl","./hy-am":"1rYy","./hy-am.js":"1rYy","./id":"UDhR","./id.js":"UDhR","./is":"BVg3","./is.js":"BVg3","./it":"bpih","./it-ch":"bxKX","./it-ch.js":"bxKX","./it.js":"bpih","./ja":"B55N","./ja.js":"B55N","./jv":"tUCv","./jv.js":"tUCv","./ka":"IBtZ","./ka.js":"IBtZ","./kk":"bXm7","./kk.js":"bXm7","./km":"6B0Y","./km.js":"6B0Y","./kn":"PpIw","./kn.js":"PpIw","./ko":"Ivi+","./ko.js":"Ivi+","./ku":"JCF/","./ku.js":"JCF/","./ky":"lgnt","./ky.js":"lgnt","./lb":"RAwQ","./lb.js":"RAwQ","./lo":"sp3z","./lo.js":"sp3z","./lt":"JvlW","./lt.js":"JvlW","./lv":"uXwI","./lv.js":"uXwI","./me":"KTz0","./me.js":"KTz0","./mi":"aIsn","./mi.js":"aIsn","./mk":"aQkU","./mk.js":"aQkU","./ml":"AvvY","./ml.js":"AvvY","./mn":"lYtQ","./mn.js":"lYtQ","./mr":"Ob0Z","./mr.js":"Ob0Z","./ms":"6+QB","./ms-my":"ZAMP","./ms-my.js":"ZAMP","./ms.js":"6+QB","./mt":"G0Uy","./mt.js":"G0Uy","./my":"honF","./my.js":"honF","./nb":"bOMt","./nb.js":"bOMt","./ne":"OjkT","./ne.js":"OjkT","./nl":"+s0g","./nl-be":"2ykv","./nl-be.js":"2ykv","./nl.js":"+s0g","./nn":"uEye","./nn.js":"uEye","./pa-in":"8/+R","./pa-in.js":"8/+R","./pl":"jVdC","./pl.js":"jVdC","./pt":"8mBD","./pt-br":"0tRk","./pt-br.js":"0tRk","./pt.js":"8mBD","./ro":"lyxo","./ro.js":"lyxo","./ru":"lXzo","./ru.js":"lXzo","./sd":"Z4QM","./sd.js":"Z4QM","./se":"//9w","./se.js":"//9w","./si":"7aV9","./si.js":"7aV9","./sk":"e+ae","./sk.js":"e+ae","./sl":"gVVK","./sl.js":"gVVK","./sq":"yPMs","./sq.js":"yPMs","./sr":"zx6S","./sr-cyrl":"E+lV","./sr-cyrl.js":"E+lV","./sr.js":"zx6S","./ss":"Ur1D","./ss.js":"Ur1D","./sv":"X709","./sv.js":"X709","./sw":"dNwA","./sw.js":"dNwA","./ta":"PeUW","./ta.js":"PeUW","./te":"XLvN","./te.js":"XLvN","./tet":"V2x9","./tet.js":"V2x9","./tg":"Oxv6","./tg.js":"Oxv6","./th":"EOgW","./th.js":"EOgW","./tl-ph":"Dzi0","./tl-ph.js":"Dzi0","./tlh":"z3Vd","./tlh.js":"z3Vd","./tr":"DoHr","./tr.js":"DoHr","./tzl":"z1FC","./tzl.js":"z1FC","./tzm":"wQk9","./tzm-latn":"tT3J","./tzm-latn.js":"tT3J","./tzm.js":"wQk9","./ug-cn":"YRex","./ug-cn.js":"YRex","./uk":"raLr","./uk.js":"raLr","./ur":"UpQW","./ur.js":"UpQW","./uz":"Loxo","./uz-latn":"AQ68","./uz-latn.js":"AQ68","./uz.js":"Loxo","./vi":"KSF8","./vi.js":"KSF8","./x-pseudo":"/X5v","./x-pseudo.js":"/X5v","./yo":"fzPg","./yo.js":"fzPg","./zh-cn":"XDpg","./zh-cn.js":"XDpg","./zh-hk":"SatO","./zh-hk.js":"SatO","./zh-tw":"kOpN","./zh-tw.js":"kOpN"};function a(t){var e=r(t);return s(e)}function r(t){if(!s.o(n,t)){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}return n[t]}a.keys=function(){return Object.keys(n)},a.resolve=r,t.exports=a,a.id="RnhZ"},n22Y:function(t,e,s){"use strict";var n=s("Oyhf");s.n(n).a}}]);
-//# sourceMappingURL=chunk-7f8e.c1eb619d.js.map \ No newline at end of file
+//# sourceMappingURL=chunk-7f8e.2c3e63e9.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-7f8e.c1eb619d.js.map b/priv/static/adminfe/static/js/chunk-7f8e.2c3e63e9.js.map
index 459e7f785..bf96082a8 100644
--- a/priv/static/adminfe/static/js/chunk-7f8e.c1eb619d.js.map
+++ b/priv/static/adminfe/static/js/chunk-7f8e.2c3e63e9.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///./node_modules/lodash.debounce/index.js","webpack:///./src/views/moderation_log/index.vue?8c11","webpack:///./src/views/moderation_log/index.vue?bce9","webpack:///src/views/moderation_log/index.vue","webpack:///./src/views/moderation_log/index.vue","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/views/moderation_log/index.vue?4415"],"names":["global","FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","Object","freeSelf","self","root","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","value","type","toNumber","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","test","slice","module","exports","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","remainingWait","debounced","isInvoking","arguments","this","leadingEdge","cancel","clearTimeout","flush","views_moderation_logvue_type_script_lang_js_","data","dateRange","search","user","currentPage","computed","loading","$store","state","moderationLog","logLoading","adminsLoading","log","fetchedLog","total","logItemsCount","users","label","admins","moderators","created","_this","handleDebounceSearchInput","lodash_debounce_default","query","fetchLogWithFilters","mounted","dispatch","methods","normalizeTimestamp","timestamp","moment_default","format","filters","lodash_default","a","omitBy","start_date","toISOString","end_date","user_id","page","val","component","componentNormalizer","_vm","_h","$createElement","_c","_self","_e","staticClass","_v","_s","$t","attrs","justify","span","clearable","placeholder","on","change","model","callback","$$v","expression","_l","group","key","item","id","nickname","input","default-time","start-placeholder","end-placeholder","unlink-panels","logEntry","index","message","current-page","hide-on-single-page","page-size","layout","update:currentPage","$event","update:current-page","current-change","__file","__webpack_exports__","map","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-SG","./en-SG.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-il","./en-il.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./ga","./ga.js","./gd","./gd.js","./gl","./gl.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it-ch","./it-ch.js","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ku","./ku.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mn","./mn.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./mt","./mt.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./tg","./tg.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./ug-cn","./ug-cn.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","resolve","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_74b48266_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","n"],"mappings":"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CAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,gBAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,YAAA,OACAC,eAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,QAAA,OACAC,WAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,QAAA,OACAC,WAAA,OACAC,OAAA,OACAC,UAAA,OACAC,QAAA,OACAC,WAAA,OACAC,QAAA,OACAC,aAAA,OACAC,gBAAA,OACAC,WAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,YAAA,OACAC,eAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,gBAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,QAIA,SAAAC,EAAAC,GACA,IAAApR,EAAAqR,EAAAD,GACA,OAAAE,EAAAtR,GAEA,SAAAqR,EAAAD,GACA,IAAAE,EAAAC,EAAAnQ,EAAAgQ,GAAA,CACA,IAAAI,EAAA,IAAAC,MAAA,uBAAAL,EAAA,KAEA,MADAI,EAAAE,KAAA,mBACAF,EAEA,OAAApQ,EAAAgQ,GAEAD,EAAAQ,KAAA,WACA,OAAAla,OAAAka,KAAAvQ,IAEA+P,EAAAS,QAAAP,EACAhY,EAAAC,QAAA6X,EACAA,EAAAnR,GAAA,0CCnRA,IAAA6R,EAAAP,EAAA,QAAAA,EAAAQ,EAAAD,GAA+e","file":"static/js/chunk-7f8e.c1eb619d.js","sourcesContent":["/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\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 as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\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/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\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 number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading)?_c('div',{staticClass:\"moderation-log-container\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('moderationLog.moderationLog')))]),_vm._v(\" \"),_c('el-row',{staticClass:\"row-bg\",attrs:{\"type\":\"flex\",\"justify\":\"space-between\"}},[_c('el-col',{attrs:{\"span\":9}},[_c('el-select',{staticClass:\"user-select\",attrs:{\"clearable\":\"\",\"placeholder\":\"Filter by admin/moderator\"},on:{\"change\":_vm.fetchLogWithFilters},model:{value:(_vm.user),callback:function ($$v) {_vm.user=$$v},expression:\"user\"}},_vm._l((_vm.users),function(group){return _c('el-option-group',{key:group.label,attrs:{\"label\":group.label}},_vm._l((group.options),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.nickname,\"value\":item.id}})}),1)}),1)],1),_vm._v(\" \"),_c('el-col',{staticClass:\"search-container\",attrs:{\"span\":6}},[_c('el-input',{attrs:{\"placeholder\":\"Search logs\",\"clearable\":\"\"},on:{\"input\":_vm.handleDebounceSearchInput},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1)],1),_vm._v(\" \"),_c('el-row',{staticClass:\"row-bg\",attrs:{\"type\":\"flex\",\"justify\":\"space-between\"}},[_c('el-col',{staticClass:\"date-container\",attrs:{\"span\":9}},[_c('el-date-picker',{attrs:{\"default-time\":['00:00:00', '23:59:59'],\"type\":\"daterange\",\"start-placeholder\":\"Start date\",\"end-placeholder\":\"End date\",\"unlink-panels\":\"\"},on:{\"change\":_vm.fetchLogWithFilters},model:{value:(_vm.dateRange),callback:function ($$v) {_vm.dateRange=$$v},expression:\"dateRange\"}})],1)],1),_vm._v(\" \"),_c('el-timeline',_vm._l((_vm.log),function(logEntry,index){return _c('el-timeline-item',{key:index,attrs:{\"timestamp\":_vm.normalizeTimestamp(logEntry.time)}},[_vm._v(\"\\n \"+_vm._s(logEntry.message)+\"\\n \")])}),1),_vm._v(\" \"),_c('div',{staticClass:\"pagination\"},[_c('el-pagination',{attrs:{\"current-page\":_vm.currentPage,\"hide-on-single-page\":true,\"page-size\":50,\"total\":_vm.total,\"layout\":\"prev, pager, next\"},on:{\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"current-change\":_vm.fetchLogWithFilters}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div v-if=\"!loading\" class=\"moderation-log-container\">\n <h1>{{ $t('moderationLog.moderationLog') }}</h1>\n <el-row type=\"flex\" class=\"row-bg\" justify=\"space-between\">\n <el-col :span=\"9\">\n <el-select\n v-model=\"user\"\n class=\"user-select\"\n clearable\n placeholder=\"Filter by admin/moderator\"\n @change=\"fetchLogWithFilters\">\n <el-option-group\n v-for=\"group in users\"\n :key=\"group.label\"\n :label=\"group.label\">\n <el-option\n v-for=\"item in group.options\"\n :key=\"item.id\"\n :label=\"item.nickname\"\n :value=\"item.id\" />\n </el-option-group>\n </el-select>\n </el-col>\n <el-col :span=\"6\" class=\"search-container\">\n <el-input\n v-model=\"search\"\n placeholder=\"Search logs\"\n clearable\n @input=\"handleDebounceSearchInput\" />\n </el-col>\n </el-row>\n <el-row type=\"flex\" class=\"row-bg\" justify=\"space-between\">\n <el-col :span=\"9\" class=\"date-container\">\n <el-date-picker\n :default-time=\"['00:00:00', '23:59:59']\"\n v-model=\"dateRange\"\n type=\"daterange\"\n start-placeholder=\"Start date\"\n end-placeholder=\"End date\"\n unlink-panels\n @change=\"fetchLogWithFilters\" />\n </el-col>\n </el-row>\n <el-timeline>\n <el-timeline-item\n v-for=\"(logEntry, index) in log\"\n :key=\"index\"\n :timestamp=\"normalizeTimestamp(logEntry.time)\">\n {{ logEntry.message }}\n </el-timeline-item>\n </el-timeline>\n <div class=\"pagination\">\n <el-pagination\n :current-page.sync=\"currentPage\"\n :hide-on-single-page=\"true\"\n :page-size=\"50\"\n :total=\"total\"\n layout=\"prev, pager, next\"\n @current-change=\"fetchLogWithFilters\" />\n </div>\n </div>\n</template>\n\n<script>\nimport moment from 'moment'\nimport _ from 'lodash'\nimport debounce from 'lodash.debounce'\n\nexport default {\n data() {\n return {\n dateRange: '',\n search: '',\n user: '',\n currentPage: 1\n }\n },\n computed: {\n loading() {\n return this.$store.state.moderationLog.logLoading &&\n this.$store.state.moderationLog.adminsLoading\n },\n log() {\n return this.$store.state.moderationLog.fetchedLog\n },\n total() {\n return this.$store.state.moderationLog.logItemsCount\n },\n users() {\n return [\n {\n label: 'Admins',\n options: this.$store.state.moderationLog.admins.users\n },\n {\n label: 'Moderators',\n options: this.$store.state.moderationLog.moderators.users\n }\n ]\n }\n },\n created() {\n this.handleDebounceSearchInput = debounce((query) => {\n this.fetchLogWithFilters()\n }, 500)\n },\n mounted() {\n this.$store.dispatch('FetchModerationLog')\n this.$store.dispatch('FetchAdmins')\n },\n methods: {\n normalizeTimestamp(timestamp) {\n return moment(timestamp * 1000).format('YYYY-MM-DD HH:mm')\n },\n fetchLogWithFilters() {\n const filters = _.omitBy({\n start_date: this.dateRange ? this.dateRange[0].toISOString() : null,\n end_date: this.dateRange ? this.dateRange[1].toISOString() : null,\n user_id: this.user,\n search: this.search,\n page: this.currentPage\n }, val => val === '' || val === null)\n\n this.$store.dispatch('FetchModerationLog', filters)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n.moderation-log-container {\n margin: 0 15px;\n}\nh1 {\n margin: 22px 0 20px 0;\n}\n.el-timeline {\n margin: 25px 45px 0 0;\n padding: 0px;\n}\n.user-select {\n margin: 0 0 20px;\n width: 350px;\n}\n.search-container {\n text-align: right;\n}\n.pagination {\n text-align: center;\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=74b48266&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=74b48266&rel=stylesheet%2Fscss&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 \"74b48266\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-SG\": \"zavE\",\n\t\"./en-SG.js\": \"zavE\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\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 = \"RnhZ\";","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=74b48266&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=74b48266&rel=stylesheet%2Fscss&lang=scss&scoped=true&\""],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///./node_modules/lodash.debounce/index.js","webpack:///./src/views/moderation_log/index.vue?8c11","webpack:///./src/views/moderation_log/index.vue?bce9","webpack:///src/views/moderation_log/index.vue","webpack:///./src/views/moderation_log/index.vue","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/views/moderation_log/index.vue?4415"],"names":["global","FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","Object","freeSelf","self","root","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","value","type","toNumber","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","test","slice","module","exports","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","remainingWait","debounced","isInvoking","arguments","this","leadingEdge","cancel","clearTimeout","flush","views_moderation_logvue_type_script_lang_js_","data","dateRange","search","user","currentPage","computed","loading","$store","state","moderationLog","logLoading","adminsLoading","log","fetchedLog","total","logItemsCount","users","label","admins","moderators","created","_this","handleDebounceSearchInput","lodash_debounce_default","query","fetchLogWithFilters","mounted","dispatch","methods","normalizeTimestamp","timestamp","moment_default","format","filters","lodash_default","a","omitBy","start_date","toISOString","end_date","user_id","page","val","component","componentNormalizer","_vm","_h","$createElement","_c","_self","_e","staticClass","_v","_s","$t","attrs","justify","span","clearable","placeholder","on","change","model","callback","$$v","expression","_l","group","key","item","id","nickname","input","default-time","start-placeholder","end-placeholder","unlink-panels","logEntry","index","message","current-page","hide-on-single-page","page-size","layout","update:currentPage","$event","update:current-page","current-change","__file","__webpack_exports__","map","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-SG","./en-SG.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-il","./en-il.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./ga","./ga.js","./gd","./gd.js","./gl","./gl.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it-ch","./it-ch.js","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ku","./ku.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mn","./mn.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./mt","./mt.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./tg","./tg.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./ug-cn","./ug-cn.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","webpackContext","req","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","resolve","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_74b48266_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","n"],"mappings":"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CAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,gBAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,YAAA,OACAC,eAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,QAAA,OACAC,WAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,QAAA,OACAC,WAAA,OACAC,OAAA,OACAC,UAAA,OACAC,QAAA,OACAC,WAAA,OACAC,QAAA,OACAC,aAAA,OACAC,gBAAA,OACAC,WAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,YAAA,OACAC,eAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,gBAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,QAIA,SAAAC,EAAAC,GACA,IAAApR,EAAAqR,EAAAD,GACA,OAAAE,EAAAtR,GAEA,SAAAqR,EAAAD,GACA,IAAAE,EAAAC,EAAAnQ,EAAAgQ,GAAA,CACA,IAAAI,EAAA,IAAAC,MAAA,uBAAAL,EAAA,KAEA,MADAI,EAAAE,KAAA,mBACAF,EAEA,OAAApQ,EAAAgQ,GAEAD,EAAAQ,KAAA,WACA,OAAAla,OAAAka,KAAAvQ,IAEA+P,EAAAS,QAAAP,EACAhY,EAAAC,QAAA6X,EACAA,EAAAnR,GAAA,0CCnRA,IAAA6R,EAAAP,EAAA,QAAAA,EAAAQ,EAAAD,GAA+e","file":"static/js/chunk-7f8e.2c3e63e9.js","sourcesContent":["/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\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 as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\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/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\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 number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading)?_c('div',{staticClass:\"moderation-log-container\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('moderationLog.moderationLog')))]),_vm._v(\" \"),_c('el-row',{staticClass:\"row-bg\",attrs:{\"type\":\"flex\",\"justify\":\"space-between\"}},[_c('el-col',{attrs:{\"span\":9}},[_c('el-select',{staticClass:\"user-select\",attrs:{\"clearable\":\"\",\"placeholder\":\"Filter by admin/moderator\"},on:{\"change\":_vm.fetchLogWithFilters},model:{value:(_vm.user),callback:function ($$v) {_vm.user=$$v},expression:\"user\"}},_vm._l((_vm.users),function(group){return _c('el-option-group',{key:group.label,attrs:{\"label\":group.label}},_vm._l((group.options),function(item){return _c('el-option',{key:item.id,attrs:{\"label\":item.nickname,\"value\":item.id}})}),1)}),1)],1),_vm._v(\" \"),_c('el-col',{staticClass:\"search-container\",attrs:{\"span\":6}},[_c('el-input',{attrs:{\"placeholder\":\"Search logs\",\"clearable\":\"\"},on:{\"input\":_vm.handleDebounceSearchInput},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1)],1),_vm._v(\" \"),_c('el-row',{staticClass:\"row-bg\",attrs:{\"type\":\"flex\",\"justify\":\"space-between\"}},[_c('el-col',{staticClass:\"date-container\",attrs:{\"span\":9}},[_c('el-date-picker',{attrs:{\"default-time\":['00:00:00', '23:59:59'],\"type\":\"daterange\",\"start-placeholder\":\"Start date\",\"end-placeholder\":\"End date\",\"unlink-panels\":\"\"},on:{\"change\":_vm.fetchLogWithFilters},model:{value:(_vm.dateRange),callback:function ($$v) {_vm.dateRange=$$v},expression:\"dateRange\"}})],1)],1),_vm._v(\" \"),_c('el-timeline',_vm._l((_vm.log),function(logEntry,index){return _c('el-timeline-item',{key:index,attrs:{\"timestamp\":_vm.normalizeTimestamp(logEntry.time)}},[_vm._v(\"\\n \"+_vm._s(logEntry.message)+\"\\n \")])}),1),_vm._v(\" \"),_c('div',{staticClass:\"pagination\"},[_c('el-pagination',{attrs:{\"current-page\":_vm.currentPage,\"hide-on-single-page\":true,\"page-size\":50,\"total\":_vm.total,\"layout\":\"prev, pager, next\"},on:{\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"current-change\":_vm.fetchLogWithFilters}})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div v-if=\"!loading\" class=\"moderation-log-container\">\n <h1>{{ $t('moderationLog.moderationLog') }}</h1>\n <el-row type=\"flex\" class=\"row-bg\" justify=\"space-between\">\n <el-col :span=\"9\">\n <el-select\n v-model=\"user\"\n class=\"user-select\"\n clearable\n placeholder=\"Filter by admin/moderator\"\n @change=\"fetchLogWithFilters\">\n <el-option-group\n v-for=\"group in users\"\n :key=\"group.label\"\n :label=\"group.label\">\n <el-option\n v-for=\"item in group.options\"\n :key=\"item.id\"\n :label=\"item.nickname\"\n :value=\"item.id\" />\n </el-option-group>\n </el-select>\n </el-col>\n <el-col :span=\"6\" class=\"search-container\">\n <el-input\n v-model=\"search\"\n placeholder=\"Search logs\"\n clearable\n @input=\"handleDebounceSearchInput\" />\n </el-col>\n </el-row>\n <el-row type=\"flex\" class=\"row-bg\" justify=\"space-between\">\n <el-col :span=\"9\" class=\"date-container\">\n <el-date-picker\n :default-time=\"['00:00:00', '23:59:59']\"\n v-model=\"dateRange\"\n type=\"daterange\"\n start-placeholder=\"Start date\"\n end-placeholder=\"End date\"\n unlink-panels\n @change=\"fetchLogWithFilters\" />\n </el-col>\n </el-row>\n <el-timeline>\n <el-timeline-item\n v-for=\"(logEntry, index) in log\"\n :key=\"index\"\n :timestamp=\"normalizeTimestamp(logEntry.time)\">\n {{ logEntry.message }}\n </el-timeline-item>\n </el-timeline>\n <div class=\"pagination\">\n <el-pagination\n :current-page.sync=\"currentPage\"\n :hide-on-single-page=\"true\"\n :page-size=\"50\"\n :total=\"total\"\n layout=\"prev, pager, next\"\n @current-change=\"fetchLogWithFilters\" />\n </div>\n </div>\n</template>\n\n<script>\nimport moment from 'moment'\nimport _ from 'lodash'\nimport debounce from 'lodash.debounce'\n\nexport default {\n data() {\n return {\n dateRange: '',\n search: '',\n user: '',\n currentPage: 1\n }\n },\n computed: {\n loading() {\n return this.$store.state.moderationLog.logLoading &&\n this.$store.state.moderationLog.adminsLoading\n },\n log() {\n return this.$store.state.moderationLog.fetchedLog\n },\n total() {\n return this.$store.state.moderationLog.logItemsCount\n },\n users() {\n return [\n {\n label: 'Admins',\n options: this.$store.state.moderationLog.admins.users\n },\n {\n label: 'Moderators',\n options: this.$store.state.moderationLog.moderators.users\n }\n ]\n }\n },\n created() {\n this.handleDebounceSearchInput = debounce((query) => {\n this.fetchLogWithFilters()\n }, 500)\n },\n mounted() {\n this.$store.dispatch('FetchModerationLog')\n this.$store.dispatch('FetchAdmins')\n },\n methods: {\n normalizeTimestamp(timestamp) {\n return moment(timestamp * 1000).format('YYYY-MM-DD HH:mm')\n },\n fetchLogWithFilters() {\n const filters = _.omitBy({\n start_date: this.dateRange ? this.dateRange[0].toISOString() : null,\n end_date: this.dateRange ? this.dateRange[1].toISOString() : null,\n user_id: this.user,\n search: this.search,\n page: this.currentPage\n }, val => val === '' || val === null)\n\n this.$store.dispatch('FetchModerationLog', filters)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n.moderation-log-container {\n margin: 0 15px;\n}\nh1 {\n margin: 22px 0 20px 0;\n}\n.el-timeline {\n margin: 25px 45px 0 0;\n padding: 0px;\n}\n.user-select {\n margin: 0 0 20px;\n width: 350px;\n}\n.search-container {\n text-align: right;\n}\n.pagination {\n text-align: center;\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=74b48266&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=74b48266&rel=stylesheet%2Fscss&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 \"74b48266\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-SG\": \"zavE\",\n\t\"./en-SG.js\": \"zavE\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\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 = \"RnhZ\";","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=74b48266&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=74b48266&rel=stylesheet%2Fscss&lang=scss&scoped=true&\""],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-9bb0.9c56835f.js b/priv/static/adminfe/static/js/chunk-9bb0.9c56835f.js
new file mode 100644
index 000000000..3e9a3e795
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-9bb0.9c56835f.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-9bb0"],{GFxI:function(t,e,n){},aSQl:function(t,e,n){"use strict";n.d(e,"a",function(){return p});var o=n("o0o1"),a=n.n(o),r=n("yXPU"),s=n.n(r),i=n("oAJy"),l=n.n(i),c=n("LvDl"),u=n.n(c),p=function(){var t=s()(a.a.mark(function t(e){var n,o;return a.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,l.a.getItem("vuex-lz");case 2:if(n=t.sent,void 0!==(o=u.a.get(n,"oauth.userToken"))){t.next=6;break}throw new Error("PleromaFE token not found");case 6:return t.next=8,e.dispatch("LoginByPleromaFE",{token:o});case 8:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}()},abDm:function(t,e,n){"use strict";var o=n("GFxI");n.n(o).a},c11S:function(t,e,n){"use strict";var o=n("gTgX");n.n(o).a},gTgX:function(t,e,n){},ntYl:function(t,e,n){"use strict";n.r(e);var o=n("J4zp"),a=n.n(o),r=n("o0o1"),s=n.n(r),i=n("yXPU"),l=n.n(i),c=n("zT9a"),u=n("oAJy"),p=n.n(u),d=n("LvDl"),m=n.n(d),g=n("mSNy"),h=n("aSQl"),v={name:"Login",components:{"svg-icon":c.a},data:function(){return{loginForm:{username:"",password:""},passwordType:"password",loading:!1,loadingPleromaFE:!1,showDialog:!1,redirect:void 0,pleromaFEToken:!1,pleromaFEStateKey:"vuex-lz",pleromaFEState:{}}},watch:{$route:{handler:function(t){this.redirect=t.query&&t.query.redirect},immediate:!0}},mounted:function(){var t=l()(s.a.mark(function t(){var e;return s.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,p.a.getItem(this.pleromaFEStateKey);case 2:if(e=t.sent,this.pleromaFEState=e,void 0!==m.a.get(e,"oauth.userToken")){t.next=6;break}return t.abrupt("return");case 6:this.pleromaFEToken=!0;case 7:case"end":return t.stop()}},t,this)}));return function(){return t.apply(this,arguments)}}(),methods:{showPwd:function(){"password"===this.passwordType?this.passwordType="":this.passwordType="password"},handleLogin:function(){var t=this;this.loading=!0;var e=this.getLoginData();this.$store.dispatch("LoginByUsername",e).then(function(){t.loading=!1,t.$router.push({path:t.redirect||"/users/index"})}).catch(function(){t.loading=!1})},handlePleromaFELogin:function(){var t=l()(s.a.mark(function t(){return s.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return this.loadingPleromaFE=!0,t.prev=1,t.next=4,Object(h.a)(this.$store);case 4:t.next=10;break;case 6:t.prev=6,t.t0=t.catch(1),this.loadingPleromaFE=!1,this.$message.error(g.a.t("login.pleromaFELoginFailed"));case 10:this.loadingPleromaFE=!1,this.$message.success(g.a.t("login.pleromaFELoginSucceed")),this.$router.push({path:this.redirect||"/users/index"});case 13:case"end":return t.stop()}},t,this,[[1,6]])}));return function(){return t.apply(this,arguments)}}(),getLoginData:function(){var t=this.loginForm.username.split("@"),e=a()(t,2),n=e[0],o=e[1];return{username:n.trim(),authHost:o?o.trim():window.location.host,password:this.loginForm.password}}}},f=(n("c11S"),n("abDm"),n("KHd+")),w=Object(f.a)(v,function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"login-container"},[n("el-form",{ref:"loginForm",staticClass:"login-form",attrs:{model:t.loginForm,"auto-complete":"on","label-position":"left"}},[n("div",{staticClass:"title-container"},[n("h3",{staticClass:"title"},[t._v("\n "+t._s(t.$t("login.title"))+"\n ")])]),t._v(" "),n("el-form-item",{attrs:{prop:"username"}},[n("span",{staticClass:"svg-container"},[n("svg-icon",{attrs:{"icon-class":"user"}})],1),t._v(" "),n("el-input",{attrs:{placeholder:t.$t("login.username"),name:"username",type:"text","auto-complete":"on"},model:{value:t.loginForm.username,callback:function(e){t.$set(t.loginForm,"username",e)},expression:"loginForm.username"}})],1),t._v(" "),n("div",{staticClass:"omit-host-note"},[t._v(t._s(t.$t("login.omitHostname")))]),t._v(" "),n("el-form-item",{attrs:{prop:"password"}},[n("span",{staticClass:"svg-container"},[n("svg-icon",{attrs:{"icon-class":"password"}})],1),t._v(" "),n("el-input",{attrs:{type:t.passwordType,placeholder:t.$t("login.password"),name:"password","auto-complete":"on"},nativeOn:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.handleLogin(e)}},model:{value:t.loginForm.password,callback:function(e){t.$set(t.loginForm,"password",e)},expression:"loginForm.password"}}),t._v(" "),n("span",{staticClass:"show-pwd",on:{click:t.showPwd}},[n("svg-icon",{attrs:{"icon-class":"password"===t.passwordType?"eye":"eye-open"}})],1)],1),t._v(" "),n("el-button",{staticClass:"login-button",attrs:{loading:t.loading,type:"primary"},nativeOn:{click:function(e){return e.preventDefault(),t.handleLogin(e)}}},[t._v("\n "+t._s(t.$t("login.logIn"))+"\n ")]),t._v(" "),t.pleromaFEToken?n("el-button",{staticClass:"login-button",attrs:{loading:t.loadingPleromaFE,type:"primary"},nativeOn:{click:function(e){return e.preventDefault(),t.handlePleromaFELogin(e)}}},[t._v("\n "+t._s(t.$t("login.logInViaPleromaFE"))+"\n ")]):t._e()],1)],1)},[],!1,null,"5bb13616",null);w.options.__file="index.vue";e.default=w.exports}}]);
+//# sourceMappingURL=chunk-9bb0.9c56835f.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-9bb0.9c56835f.js.map b/priv/static/adminfe/static/js/chunk-9bb0.9c56835f.js.map
new file mode 100644
index 000000000..929c7ed14
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-9bb0.9c56835f.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/services/pleromaAuth.js","webpack:///./src/views/login/index.vue?4fb3","webpack:///./src/views/login/index.vue?0399","webpack:///./src/views/login/index.vue?7240","webpack:///./src/views/login/index.vue?95e4","webpack:///src/views/login/index.vue","webpack:///./src/views/login/index.vue"],"names":["authenticateWithPleromaFE","_ref","_babel_runtime_helpers_asyncToGenerator__WEBPACK_IMPORTED_MODULE_1___default","_babel_runtime_regenerator__WEBPACK_IMPORTED_MODULE_0___default","a","mark","_callee","store","pleromaFEState","token","wrap","_context","prev","next","localforage","getItem","sent","undefined","_","get","Error","dispatch","stop","_x","apply","this","arguments","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_1_id_5bb13616_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","views_loginvue_type_script_lang_js_","name","components","svg-icon","SvgIcon","data","loginForm","username","password","passwordType","loading","loadingPleromaFE","showDialog","redirect","pleromaFEToken","pleromaFEStateKey","watch","$route","handler","route","query","immediate","mounted","_mounted","asyncToGenerator_default","regenerator_default","localforage_default","lodash_default","abrupt","methods","showPwd","handleLogin","_this","loginData","getLoginData","$store","then","$router","push","path","catch","handlePleromaFELogin","_handlePleromaFELogin","_callee2","_context2","Object","pleromaAuth","t0","$message","error","lang","t","success","_this$loginForm$usern","split","_this$loginForm$usern2","slicedToArray_default","authHost","trim","window","location","host","component","componentNormalizer","_vm","_h","$createElement","_c","_self","staticClass","ref","attrs","model","auto-complete","label-position","_v","_s","$t","prop","icon-class","placeholder","type","value","callback","$$v","$set","expression","nativeOn","keyup","$event","indexOf","_k","keyCode","key","on","click","preventDefault","_e","options","__file","__webpack_exports__"],"mappings":"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","file":"static/js/chunk-9bb0.9c56835f.js","sourcesContent":["import localforage from 'localforage'\nimport _ from 'lodash'\n\nconst pleromaFEStateKey = 'vuex-lz'\n\nexport const authenticateWithPleromaFE = async(store) => {\n const pleromaFEState = await localforage.getItem(pleromaFEStateKey)\n const token = _.get(pleromaFEState, 'oauth.userToken')\n\n if (token === undefined) {\n throw new Error('PleromaFE token not found')\n }\n\n await store.dispatch('LoginByPleromaFE', { token })\n}\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=1&id=5bb13616&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=1&id=5bb13616&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"login-container\"},[_c('el-form',{ref:\"loginForm\",staticClass:\"login-form\",attrs:{\"model\":_vm.loginForm,\"auto-complete\":\"on\",\"label-position\":\"left\"}},[_c('div',{staticClass:\"title-container\"},[_c('h3',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.title'))+\"\\n \")])]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"prop\":\"username\"}},[_c('span',{staticClass:\"svg-container\"},[_c('svg-icon',{attrs:{\"icon-class\":\"user\"}})],1),_vm._v(\" \"),_c('el-input',{attrs:{\"placeholder\":_vm.$t('login.username'),\"name\":\"username\",\"type\":\"text\",\"auto-complete\":\"on\"},model:{value:(_vm.loginForm.username),callback:function ($$v) {_vm.$set(_vm.loginForm, \"username\", $$v)},expression:\"loginForm.username\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"omit-host-note\"},[_vm._v(_vm._s(_vm.$t('login.omitHostname')))]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"prop\":\"password\"}},[_c('span',{staticClass:\"svg-container\"},[_c('svg-icon',{attrs:{\"icon-class\":\"password\"}})],1),_vm._v(\" \"),_c('el-input',{attrs:{\"type\":_vm.passwordType,\"placeholder\":_vm.$t('login.password'),\"name\":\"password\",\"auto-complete\":\"on\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.handleLogin($event)}},model:{value:(_vm.loginForm.password),callback:function ($$v) {_vm.$set(_vm.loginForm, \"password\", $$v)},expression:\"loginForm.password\"}}),_vm._v(\" \"),_c('span',{staticClass:\"show-pwd\",on:{\"click\":_vm.showPwd}},[_c('svg-icon',{attrs:{\"icon-class\":_vm.passwordType === 'password' ? 'eye' : 'eye-open'}})],1)],1),_vm._v(\" \"),_c('el-button',{staticClass:\"login-button\",attrs:{\"loading\":_vm.loading,\"type\":\"primary\"},nativeOn:{\"click\":function($event){$event.preventDefault();return _vm.handleLogin($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.logIn'))+\"\\n \")]),_vm._v(\" \"),(_vm.pleromaFEToken)?_c('el-button',{staticClass:\"login-button\",attrs:{\"loading\":_vm.loadingPleromaFE,\"type\":\"primary\"},nativeOn:{\"click\":function($event){$event.preventDefault();return _vm.handlePleromaFELogin($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('login.logInViaPleromaFE'))+\"\\n \")]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"login-container\">\n <el-form ref=\"loginForm\" :model=\"loginForm\" class=\"login-form\" auto-complete=\"on\" label-position=\"left\">\n <div class=\"title-container\">\n <h3 class=\"title\">\n {{ $t('login.title') }}\n </h3>\n </div>\n\n <el-form-item prop=\"username\">\n <span class=\"svg-container\">\n <svg-icon icon-class=\"user\" />\n </span>\n <el-input\n v-model=\"loginForm.username\"\n :placeholder=\"$t('login.username')\"\n name=\"username\"\n type=\"text\"\n auto-complete=\"on\"\n />\n </el-form-item>\n <div class=\"omit-host-note\">{{ $t('login.omitHostname') }}</div>\n\n <el-form-item prop=\"password\">\n <span class=\"svg-container\">\n <svg-icon icon-class=\"password\" />\n </span>\n <el-input\n v-model=\"loginForm.password\"\n :type=\"passwordType\"\n :placeholder=\"$t('login.password')\"\n name=\"password\"\n auto-complete=\"on\"\n @keyup.enter.native=\"handleLogin\"\n />\n <span class=\"show-pwd\" @click=\"showPwd\">\n <svg-icon :icon-class=\"passwordType === 'password' ? 'eye' : 'eye-open'\" />\n </span>\n </el-form-item>\n\n <el-button :loading=\"loading\" class=\"login-button\" type=\"primary\" @click.native.prevent=\"handleLogin\">\n {{ $t('login.logIn') }}\n </el-button>\n <!-- Note: PleromaFE login feature relies on admin scope presence in PleromaFE token (older versions of PleromaFE don't support it) -->\n <el-button v-if=\"pleromaFEToken\" :loading=\"loadingPleromaFE\" class=\"login-button\" type=\"primary\" @click.native.prevent=\"handlePleromaFELogin\">\n {{ $t('login.logInViaPleromaFE') }}\n </el-button>\n </el-form>\n </div>\n</template>\n\n<script>\nimport SvgIcon from '@/components/element-ui/SvgIcon'\nimport localforage from 'localforage'\nimport _ from 'lodash'\nimport i18n from '@/lang'\nimport { authenticateWithPleromaFE } from '@/services/pleromaAuth'\n\nexport default {\n name: 'Login',\n components: { 'svg-icon': SvgIcon },\n data: function() {\n return {\n loginForm: {\n username: '',\n password: ''\n },\n passwordType: 'password',\n loading: false,\n loadingPleromaFE: false,\n showDialog: false,\n redirect: undefined,\n pleromaFEToken: false,\n pleromaFEStateKey: 'vuex-lz',\n pleromaFEState: {}\n }\n },\n watch: {\n $route: {\n handler: function(route) {\n this.redirect = route.query && route.query.redirect\n },\n immediate: true\n }\n },\n async mounted() {\n const pleromaFEState = await localforage.getItem(this.pleromaFEStateKey)\n this.pleromaFEState = pleromaFEState\n\n if (_.get(pleromaFEState, 'oauth.userToken') === undefined) {\n return\n }\n\n this.pleromaFEToken = true\n },\n methods: {\n showPwd() {\n if (this.passwordType === 'password') {\n this.passwordType = ''\n } else {\n this.passwordType = 'password'\n }\n },\n handleLogin() {\n this.loading = true\n const loginData = this.getLoginData()\n this.$store.dispatch('LoginByUsername', loginData).then(() => {\n this.loading = false\n this.$router.push({ path: this.redirect || '/users/index' })\n }).catch(() => {\n this.loading = false\n })\n },\n async handlePleromaFELogin() {\n this.loadingPleromaFE = true\n try {\n await authenticateWithPleromaFE(this.$store)\n } catch (error) {\n this.loadingPleromaFE = false\n this.$message.error(i18n.t('login.pleromaFELoginFailed'))\n }\n\n this.loadingPleromaFE = false\n\n this.$message.success(i18n.t('login.pleromaFELoginSucceed'))\n this.$router.push({ path: this.redirect || '/users/index' })\n },\n getLoginData() {\n const [username, authHost] = this.loginForm.username.split('@')\n\n return {\n username: username.trim(),\n authHost: authHost ? authHost.trim() : window.location.host,\n password: this.loginForm.password\n }\n }\n }\n}\n</script>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\">\n $bg:#283443;\n $light_gray:#eee;\n $cursor: #fff;\n\n @supports (-webkit-mask: none) and (not (cater-color: $cursor)) {\n .login-container .el-input input{\n color: $cursor;\n &::first-line {\n color: $light_gray;\n }\n }\n }\n\n /* reset element-ui css */\n .login-container {\n .el-input {\n display: inline-block;\n height: 47px;\n width: 85%;\n input {\n background: transparent;\n border: 0px;\n -webkit-appearance: none;\n border-radius: 0px;\n padding: 12px 5px 12px 15px;\n color: $light_gray;\n height: 47px;\n caret-color: $cursor;\n &:-webkit-autofill {\n -webkit-box-shadow: 0 0 0px 1000px $bg inset !important;\n -webkit-text-fill-color: $cursor !important;\n }\n }\n }\n .el-form-item {\n border: 1px solid rgba(255, 255, 255, 0.1);\n background: rgba(0, 0, 0, 0.1);\n border-radius: 5px;\n color: #454545;\n }\n .login-button {\n width: 100%;\n margin: 0 0 10px 0;\n }\n .omit-host-note {\n color: #596f8c;\n font-size: 0.8em;\n font-style: italic;\n margin: -20px 0 15px 0;\n padding: 3px 0 0 15px;\n }\n }\n</style>\n\n<style rel=\"stylesheet/scss\" lang=\"scss\" scoped>\n$bg:#2d3a4b;\n$dark_gray:#889aa4;\n$light_gray:#eee;\n\n.login-container {\n min-height: 100%;\n width: 100%;\n background-color: $bg;\n overflow: hidden;\n .login-form {\n position: relative;\n width: 520px;\n max-width: 100%;\n padding: 160px 35px 0;\n margin: 0 auto;\n overflow: hidden;\n }\n .tips {\n font-size: 14px;\n color: #fff;\n margin-bottom: 10px;\n span {\n &:first-of-type {\n margin-right: 16px;\n }\n }\n }\n .svg-container {\n padding: 6px 5px 6px 15px;\n color: $dark_gray;\n vertical-align: middle;\n width: 30px;\n display: inline-block;\n }\n .title-container {\n position: relative;\n .title {\n font-size: 26px;\n color: $light_gray;\n margin: 0px auto 40px auto;\n text-align: center;\n font-weight: bold;\n }\n .set-language {\n color: #fff;\n position: absolute;\n top: 3px;\n font-size:18px;\n right: 0px;\n cursor: pointer;\n }\n }\n .show-pwd {\n position: absolute;\n right: 10px;\n top: 7px;\n font-size: 16px;\n color: $dark_gray;\n cursor: pointer;\n user-select: none;\n }\n .thirdparty-button {\n position: absolute;\n right: 0;\n bottom: 6px;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=5bb13616&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"\nimport style1 from \"./index.vue?vue&type=style&index=1&id=5bb13616&rel=stylesheet%2Fscss&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 \"5bb13616\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-a601.cc880efe.js b/priv/static/adminfe/static/js/chunk-a601.cc880efe.js
new file mode 100644
index 000000000..b30fe3033
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-a601.cc880efe.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-a601"],{"+c4Y":function(t,s,e){},"4bFr":function(t,s,e){"use strict";e.r(s);var a={name:"UsersShow",components:{Status:e("ot3S").a},data:function(){return{showPrivate:!1}},computed:{statuses:function(){return this.$store.state.userProfile.statuses},statusesLoading:function(){return this.$store.state.userProfile.statusesLoading},user:function(){return this.$store.state.userProfile.user},userProfileLoading:function(){return this.$store.state.userProfile.userProfileLoading}},mounted:function(){this.$store.dispatch("FetchUserProfile",{userId:this.$route.params.id,godmode:!1})},methods:{onTogglePrivate:function(){this.$store.dispatch("FetchUserProfile",{userId:this.$route.params.id,godmode:this.showPrivate})}}},r=(e("cV64"),e("KHd+")),n=Object(r.a)(a,function(){var t=this,s=t.$createElement,e=t._self._c||s;return t.userProfileLoading?t._e():e("main",[e("header",[e("el-avatar",{attrs:{src:t.user.avatar,size:"large"}}),t._v(" "),e("h1",[t._v(t._s(t.user.display_name))])],1),t._v(" "),e("el-row",[e("el-col",{attrs:{span:8}},[e("el-card",{staticClass:"user-profile-card"},[e("div",{staticClass:"el-table el-table--fit el-table--enable-row-hover el-table--enable-row-transition el-table--medium"},[e("table",{staticClass:"user-profile-table"},[e("tbody",[e("tr",{staticClass:"el-table__row"},[e("td",[t._v(t._s(t.$t("userProfile.nickname")))]),t._v(" "),e("td",[t._v("\n "+t._s(t.user.nickname)+"\n ")])]),t._v(" "),e("tr",{staticClass:"el-table__row"},[e("td",{staticClass:"name-col"},[t._v("ID")]),t._v(" "),e("td",{staticClass:"value-col"},[t._v("\n "+t._s(t.user.id)+"\n ")])]),t._v(" "),e("tr",{staticClass:"el-table__row"},[e("td",[t._v(t._s(t.$t("userProfile.tags")))]),t._v(" "),e("td",[t._l(t.user.tags,function(s){return e("el-tag",{key:s,staticClass:"user-profile-tag"},[t._v(t._s(s))])}),t._v(" "),0===t.user.tags.length?e("span",[t._v("—")]):t._e()],2)]),t._v(" "),e("tr",{staticClass:"el-table__row"},[e("td",[t._v(t._s(t.$t("userProfile.roles")))]),t._v(" "),e("td",[t.user.roles.admin?e("el-tag",{staticClass:"user-profile-tag"},[t._v("\n "+t._s(t.$t("users.admin"))+"\n ")]):t._e(),t._v(" "),t.user.roles.moderator?e("el-tag",{staticClass:"user-profile-tag"},[t._v("\n "+t._s(t.$t("users.moderator"))+"\n ")]):t._e(),t._v(" "),t.user.roles.moderator||t.user.roles.admin?t._e():e("span",[t._v("—")])],1)]),t._v(" "),e("tr",{staticClass:"el-table__row"},[e("td",[t._v(t._s(t.$t("userProfile.localUppercase")))]),t._v(" "),e("td",[t.user.local?e("el-tag",{attrs:{type:"info"}},[t._v(t._s(t.$t("userProfile.local")))]):t._e(),t._v(" "),t.user.local?t._e():e("el-tag",{attrs:{type:"info"}},[t._v(t._s(t.$t("userProfile.external")))])],1)]),t._v(" "),e("tr",{staticClass:"el-table__row"},[e("td",[t._v(t._s(t.$t("userProfile.activeUppercase")))]),t._v(" "),e("td",[t.user.deactivated?e("el-tag",{attrs:{type:"success"}},[t._v(t._s(t.$t("userProfile.active")))]):t._e(),t._v(" "),t.user.deactivated?t._e():e("el-tag",{attrs:{type:"danger"}},[t._v(t._s(t.$t("userProfile.deactivated")))])],1)])])])])])],1),t._v(" "),e("el-row",{staticClass:"row-bg",attrs:{type:"flex",justify:"space-between"}},[e("el-col",{attrs:{span:18}},[e("h2",{staticClass:"recent-statuses"},[t._v(t._s(t.$t("userProfile.recentStatuses")))])]),t._v(" "),e("el-col",{staticClass:"show-private",attrs:{span:6}},[e("el-checkbox",{on:{change:t.onTogglePrivate},model:{value:t.showPrivate,callback:function(s){t.showPrivate=s},expression:"showPrivate"}},[t._v("\n "+t._s(t.$t("userProfile.showPrivateStatuses"))+"\n ")])],1)],1),t._v(" "),e("el-col",{attrs:{span:16}},[t.statusesLoading?t._e():e("el-timeline",{staticClass:"statuses"},[t._l(t.statuses,function(s){return e("el-timeline-item",{key:s.id},[e("status",{attrs:{status:s,"user-id":t.user.id,godmode:t.showPrivate}})],1)}),t._v(" "),0===t.statuses.length?e("p",{staticClass:"no-statuses"},[t._v(t._s(t.$t("userProfile.noStatuses")))]):t._e()],2)],1)],1)],1)},[],!1,null,"1966c214",null);n.options.__file="show.vue";s.default=n.exports},Kw8l:function(t,s,e){"use strict";var a=e("cRgN");e.n(a).a},RnhZ:function(t,s,e){var a={"./af":"K/tc","./af.js":"K/tc","./ar":"jnO4","./ar-dz":"o1bE","./ar-dz.js":"o1bE","./ar-kw":"Qj4J","./ar-kw.js":"Qj4J","./ar-ly":"HP3h","./ar-ly.js":"HP3h","./ar-ma":"CoRJ","./ar-ma.js":"CoRJ","./ar-sa":"gjCT","./ar-sa.js":"gjCT","./ar-tn":"bYM6","./ar-tn.js":"bYM6","./ar.js":"jnO4","./az":"SFxW","./az.js":"SFxW","./be":"H8ED","./be.js":"H8ED","./bg":"hKrs","./bg.js":"hKrs","./bm":"p/rL","./bm.js":"p/rL","./bn":"kEOa","./bn.js":"kEOa","./bo":"0mo+","./bo.js":"0mo+","./br":"aIdf","./br.js":"aIdf","./bs":"JVSJ","./bs.js":"JVSJ","./ca":"1xZ4","./ca.js":"1xZ4","./cs":"PA2r","./cs.js":"PA2r","./cv":"A+xa","./cv.js":"A+xa","./cy":"l5ep","./cy.js":"l5ep","./da":"DxQv","./da.js":"DxQv","./de":"tGlX","./de-at":"s+uk","./de-at.js":"s+uk","./de-ch":"u3GI","./de-ch.js":"u3GI","./de.js":"tGlX","./dv":"WYrj","./dv.js":"WYrj","./el":"jUeY","./el.js":"jUeY","./en-SG":"zavE","./en-SG.js":"zavE","./en-au":"Dmvi","./en-au.js":"Dmvi","./en-ca":"OIYi","./en-ca.js":"OIYi","./en-gb":"Oaa7","./en-gb.js":"Oaa7","./en-ie":"4dOw","./en-ie.js":"4dOw","./en-il":"czMo","./en-il.js":"czMo","./en-nz":"b1Dy","./en-nz.js":"b1Dy","./eo":"Zduo","./eo.js":"Zduo","./es":"iYuL","./es-do":"CjzT","./es-do.js":"CjzT","./es-us":"Vclq","./es-us.js":"Vclq","./es.js":"iYuL","./et":"7BjC","./et.js":"7BjC","./eu":"D/JM","./eu.js":"D/JM","./fa":"jfSC","./fa.js":"jfSC","./fi":"gekB","./fi.js":"gekB","./fo":"ByF4","./fo.js":"ByF4","./fr":"nyYc","./fr-ca":"2fjn","./fr-ca.js":"2fjn","./fr-ch":"Dkky","./fr-ch.js":"Dkky","./fr.js":"nyYc","./fy":"cRix","./fy.js":"cRix","./ga":"USCx","./ga.js":"USCx","./gd":"9rRi","./gd.js":"9rRi","./gl":"iEDd","./gl.js":"iEDd","./gom-latn":"DKr+","./gom-latn.js":"DKr+","./gu":"4MV3","./gu.js":"4MV3","./he":"x6pH","./he.js":"x6pH","./hi":"3E1r","./hi.js":"3E1r","./hr":"S6ln","./hr.js":"S6ln","./hu":"WxRl","./hu.js":"WxRl","./hy-am":"1rYy","./hy-am.js":"1rYy","./id":"UDhR","./id.js":"UDhR","./is":"BVg3","./is.js":"BVg3","./it":"bpih","./it-ch":"bxKX","./it-ch.js":"bxKX","./it.js":"bpih","./ja":"B55N","./ja.js":"B55N","./jv":"tUCv","./jv.js":"tUCv","./ka":"IBtZ","./ka.js":"IBtZ","./kk":"bXm7","./kk.js":"bXm7","./km":"6B0Y","./km.js":"6B0Y","./kn":"PpIw","./kn.js":"PpIw","./ko":"Ivi+","./ko.js":"Ivi+","./ku":"JCF/","./ku.js":"JCF/","./ky":"lgnt","./ky.js":"lgnt","./lb":"RAwQ","./lb.js":"RAwQ","./lo":"sp3z","./lo.js":"sp3z","./lt":"JvlW","./lt.js":"JvlW","./lv":"uXwI","./lv.js":"uXwI","./me":"KTz0","./me.js":"KTz0","./mi":"aIsn","./mi.js":"aIsn","./mk":"aQkU","./mk.js":"aQkU","./ml":"AvvY","./ml.js":"AvvY","./mn":"lYtQ","./mn.js":"lYtQ","./mr":"Ob0Z","./mr.js":"Ob0Z","./ms":"6+QB","./ms-my":"ZAMP","./ms-my.js":"ZAMP","./ms.js":"6+QB","./mt":"G0Uy","./mt.js":"G0Uy","./my":"honF","./my.js":"honF","./nb":"bOMt","./nb.js":"bOMt","./ne":"OjkT","./ne.js":"OjkT","./nl":"+s0g","./nl-be":"2ykv","./nl-be.js":"2ykv","./nl.js":"+s0g","./nn":"uEye","./nn.js":"uEye","./pa-in":"8/+R","./pa-in.js":"8/+R","./pl":"jVdC","./pl.js":"jVdC","./pt":"8mBD","./pt-br":"0tRk","./pt-br.js":"0tRk","./pt.js":"8mBD","./ro":"lyxo","./ro.js":"lyxo","./ru":"lXzo","./ru.js":"lXzo","./sd":"Z4QM","./sd.js":"Z4QM","./se":"//9w","./se.js":"//9w","./si":"7aV9","./si.js":"7aV9","./sk":"e+ae","./sk.js":"e+ae","./sl":"gVVK","./sl.js":"gVVK","./sq":"yPMs","./sq.js":"yPMs","./sr":"zx6S","./sr-cyrl":"E+lV","./sr-cyrl.js":"E+lV","./sr.js":"zx6S","./ss":"Ur1D","./ss.js":"Ur1D","./sv":"X709","./sv.js":"X709","./sw":"dNwA","./sw.js":"dNwA","./ta":"PeUW","./ta.js":"PeUW","./te":"XLvN","./te.js":"XLvN","./tet":"V2x9","./tet.js":"V2x9","./tg":"Oxv6","./tg.js":"Oxv6","./th":"EOgW","./th.js":"EOgW","./tl-ph":"Dzi0","./tl-ph.js":"Dzi0","./tlh":"z3Vd","./tlh.js":"z3Vd","./tr":"DoHr","./tr.js":"DoHr","./tzl":"z1FC","./tzl.js":"z1FC","./tzm":"wQk9","./tzm-latn":"tT3J","./tzm-latn.js":"tT3J","./tzm.js":"wQk9","./ug-cn":"YRex","./ug-cn.js":"YRex","./uk":"raLr","./uk.js":"raLr","./ur":"UpQW","./ur.js":"UpQW","./uz":"Loxo","./uz-latn":"AQ68","./uz-latn.js":"AQ68","./uz.js":"Loxo","./vi":"KSF8","./vi.js":"KSF8","./x-pseudo":"/X5v","./x-pseudo.js":"/X5v","./yo":"fzPg","./yo.js":"fzPg","./zh-cn":"XDpg","./zh-cn.js":"XDpg","./zh-hk":"SatO","./zh-hk.js":"SatO","./zh-tw":"kOpN","./zh-tw.js":"kOpN"};function r(t){var s=n(t);return e(s)}function n(t){if(!e.o(a,t)){var s=new Error("Cannot find module '"+t+"'");throw s.code="MODULE_NOT_FOUND",s}return a[t]}r.keys=function(){return Object.keys(a)},r.resolve=n,t.exports=r,r.id="RnhZ"},cRgN:function(t,s,e){},cV64:function(t,s,e){"use strict";var a=e("+c4Y");e.n(a).a},ot3S:function(t,s,e){"use strict";var a=e("wd/R"),r=e.n(a),n={name:"Status",props:{status:{type:Object,required:!0},page:{type:Number,required:!1,default:0},userId:{type:String,required:!1,default:""},godmode:{type:Boolean,required:!1,default:!1}},data:function(){return{showHiddenStatus:!1}},methods:{capitalizeFirstLetter:function(t){return t.charAt(0).toUpperCase()+t.slice(1)},changeStatus:function(t,s,e){this.$store.dispatch("ChangeStatusScope",{statusId:t,isSensitive:s,visibility:e,reportCurrentPage:this.page,userId:this.userId,godmode:this.godmode})},deleteStatus:function(t){var s=this;this.$confirm("Are you sure you want to delete this status?","Warning",{confirmButtonText:"OK",cancelButtonText:"Cancel",type:"warning"}).then(function(){s.$store.dispatch("DeleteStatus",{statusId:t,reportCurrentPage:s.page,userId:s.userId,godmode:s.godmode}),s.$message({type:"success",message:"Delete completed"})}).catch(function(){s.$message({type:"info",message:"Delete canceled"})})},optionPercent:function(t,s){var e=t.options.reduce(function(t,s){return t+s.votes_count},0);return 0===e?0:+(s.votes_count/e*100).toFixed(1)},parseTimestamp:function(t){return r()(t).format("YYYY-MM-DD HH:mm")},handleStatusSelection:function(t){this.$emit("status-selection",t)}}},i=(e("Kw8l"),e("KHd+")),o=Object(i.a)(n,function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",[t.status.deleted?e("el-card",{staticClass:"status-card"},[e("div",{attrs:{slot:"header"},slot:"header"},[e("div",{staticClass:"status-header"},[e("div",{staticClass:"status-account-container"},[e("div",{staticClass:"status-account"},[e("h4",{staticClass:"status-deleted"},[t._v(t._s(t.$t("reports.statusDeleted")))])])])])]),t._v(" "),e("div",{staticClass:"status-body"},[t.status.content?e("span",{staticClass:"status-content",domProps:{innerHTML:t._s(t.status.content)}}):e("span",{staticClass:"status-without-content"},[t._v("no content")])]),t._v(" "),t.status.created_at?e("a",{staticClass:"account",attrs:{href:t.status.url,target:"_blank"}},[t._v("\n "+t._s(t.parseTimestamp(t.status.created_at))+"\n ")]):t._e()]):e("el-card",{staticClass:"status-card"},[e("div",{attrs:{slot:"header"},slot:"header"},[e("div",{staticClass:"status-header"},[e("div",{staticClass:"status-account-container"},[e("div",{staticClass:"status-account"},[e("el-checkbox",{on:{change:function(s){return t.handleStatusSelection(t.status.account)}}},[e("img",{staticClass:"status-avatar-img",attrs:{src:t.status.account.avatar}}),t._v(" "),e("h3",{staticClass:"status-account-name"},[t._v(t._s(t.status.account.display_name))])])],1),t._v(" "),e("a",{staticClass:"account",attrs:{href:t.status.account.url,target:"_blank"}},[t._v("\n @"+t._s(t.status.account.acct)+"\n ")])]),t._v(" "),e("div",{staticClass:"status-actions"},[t.status.sensitive?e("el-tag",{attrs:{type:"warning",size:"large"}},[t._v(t._s(t.$t("reports.sensitive")))]):t._e(),t._v(" "),e("el-tag",{attrs:{size:"large"}},[t._v(t._s(t.capitalizeFirstLetter(t.status.visibility)))]),t._v(" "),e("el-dropdown",{attrs:{trigger:"click"}},[e("el-button",{staticClass:"status-actions-button",attrs:{plain:"",size:"small",icon:"el-icon-edit"}},[t._v("\n "+t._s(t.$t("reports.changeScope"))),e("i",{staticClass:"el-icon-arrow-down el-icon--right"})]),t._v(" "),e("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[t.status.sensitive?t._e():e("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(t.status.id,!0,t.status.visibility)}}},[t._v("\n "+t._s(t.$t("reports.addSensitive"))+"\n ")]),t._v(" "),t.status.sensitive?e("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(t.status.id,!1,t.status.visibility)}}},[t._v("\n "+t._s(t.$t("reports.removeSensitive"))+"\n ")]):t._e(),t._v(" "),"public"!==t.status.visibility?e("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(t.status.id,t.status.sensitive,"public")}}},[t._v("\n "+t._s(t.$t("reports.public"))+"\n ")]):t._e(),t._v(" "),"private"!==t.status.visibility?e("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(t.status.id,t.status.sensitive,"private")}}},[t._v("\n "+t._s(t.$t("reports.private"))+"\n ")]):t._e(),t._v(" "),"unlisted"!==t.status.visibility?e("el-dropdown-item",{nativeOn:{click:function(s){return t.changeStatus(t.status.id,t.status.sensitive,"unlisted")}}},[t._v("\n "+t._s(t.$t("reports.unlisted"))+"\n ")]):t._e(),t._v(" "),e("el-dropdown-item",{nativeOn:{click:function(s){return t.deleteStatus(t.status.id)}}},[t._v("\n "+t._s(t.$t("reports.deleteStatus"))+"\n ")])],1)],1)],1)])]),t._v(" "),e("div",{staticClass:"status-body"},[t.status.spoiler_text?e("div",[e("strong",[t._v(t._s(t.status.spoiler_text))]),t._v(" "),t.showHiddenStatus?t._e():e("el-button",{staticClass:"show-more-button",attrs:{size:"mini"},on:{click:function(s){t.showHiddenStatus=!0}}},[t._v("Show more")]),t._v(" "),t.showHiddenStatus?e("el-button",{staticClass:"show-more-button",attrs:{size:"mini"},on:{click:function(s){t.showHiddenStatus=!1}}},[t._v("Show less")]):t._e(),t._v(" "),t.showHiddenStatus?e("div",[e("span",{staticClass:"status-content",domProps:{innerHTML:t._s(t.status.content)}}),t._v(" "),t.status.poll?e("div",{staticClass:"poll"},[e("ul",t._l(t.status.poll.options,function(s,a){return e("li",{key:a},[t._v("\n "+t._s(s.title)+"\n "),e("el-progress",{attrs:{percentage:t.optionPercent(t.status.poll,s)}})],1)}),0)]):t._e(),t._v(" "),t._l(t.status.media_attachments,function(t,s){return e("div",{key:s,staticClass:"image"},[e("img",{attrs:{src:t.preview_url}})])})],2):t._e()],1):t._e(),t._v(" "),t.status.spoiler_text?t._e():e("div",[e("span",{staticClass:"status-content",domProps:{innerHTML:t._s(t.status.content)}}),t._v(" "),t.status.poll?e("div",{staticClass:"poll"},[e("ul",t._l(t.status.poll.options,function(s,a){return e("li",{key:a},[t._v("\n "+t._s(s.title)+"\n "),e("el-progress",{attrs:{percentage:t.optionPercent(t.status.poll,s)}})],1)}),0)]):t._e(),t._v(" "),t._l(t.status.media_attachments,function(t,s){return e("div",{key:s,staticClass:"image"},[e("img",{attrs:{src:t.preview_url}})])})],2),t._v(" "),e("a",{staticClass:"account",attrs:{href:t.status.url,target:"_blank"}},[t._v("\n "+t._s(t.parseTimestamp(t.status.created_at))+"\n ")])])])],1)},[],!1,null,null,null);o.options.__file="index.vue";s.a=o.exports}}]);
+//# sourceMappingURL=chunk-a601.cc880efe.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-a601.cc880efe.js.map b/priv/static/adminfe/static/js/chunk-a601.cc880efe.js.map
new file mode 100644
index 000000000..5d2358da2
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-a601.cc880efe.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/views/users/show.vue?a2a9","webpack:///./src/views/users/show.vue?ac8b","webpack:///src/views/users/show.vue","webpack:///./src/views/users/show.vue","webpack:///./src/components/Status/index.vue?aecc","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/views/users/show.vue?1fb8","webpack:///./src/components/Status/index.vue?2323","webpack:///./src/components/Status/index.vue?6071","webpack:///src/components/Status/index.vue","webpack:///./src/components/Status/index.vue"],"names":["users_showvue_type_script_lang_js_","name","components","Status","data","showPrivate","computed","statuses","this","$store","state","userProfile","statusesLoading","user","userProfileLoading","mounted","dispatch","userId","$route","params","id","godmode","methods","onTogglePrivate","component","Object","componentNormalizer","_vm","_h","$createElement","_c","_self","_e","attrs","src","avatar","size","_v","_s","display_name","span","staticClass","$t","nickname","_l","tag","key","tags","length","roles","moderator","admin","type","local","deactivated","justify","on","change","model","value","callback","$$v","expression","status","user-id","options","__file","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","map","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-SG","./en-SG.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-il","./en-il.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./ga","./ga.js","./gd","./gd.js","./gl","./gl.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it-ch","./it-ch.js","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ku","./ku.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mn","./mn.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./mt","./mt.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./tg","./tg.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./ug-cn","./ug-cn.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","webpackContext","req","webpackContextResolve","o","e","Error","code","keys","resolve","module","exports","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_show_vue_vue_type_style_index_0_id_1966c214_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","components_Statusvue_type_script_lang_js_","props","required","page","Number","default","String","Boolean","showHiddenStatus","capitalizeFirstLetter","str","charAt","toUpperCase","slice","changeStatus","statusId","isSensitive","visibility","reportCurrentPage","deleteStatus","_this","$confirm","confirmButtonText","cancelButtonText","then","$message","message","catch","optionPercent","poll","pollOption","allVotes","reduce","acc","option","votes_count","toFixed","parseTimestamp","timestamp","moment_default","format","handleStatusSelection","account","$emit","deleted","slot","domProps","innerHTML","content","href","url","target","created_at","$event","acct","trigger","plain","icon","sensitive","nativeOn","click","spoiler_text","index","title","percentage","attachment","preview_url"],"mappings":"wIAAA,ICAyMA,GCwFzMC,KAAA,YACAC,YAAAC,iBAAA,GACAC,KAHA,WAIA,OACAC,aAAA,IAGAC,UACAC,SADA,WAEA,OAAAC,KAAAC,OAAAC,MAAAC,YAAAJ,UAEAK,gBAJA,WAKA,OAAAJ,KAAAC,OAAAC,MAAAC,YAAAC,iBAEAC,KAPA,WAQA,OAAAL,KAAAC,OAAAC,MAAAC,YAAAE,MAEAC,mBAVA,WAWA,OAAAN,KAAAC,OAAAC,MAAAC,YAAAG,qBAGAC,QAAA,WACAP,KAAAC,OAAAO,SAAA,oBAAAC,OAAAT,KAAAU,OAAAC,OAAAC,GAAAC,SAAA,KAEAC,SACAC,gBADA,WAEAf,KAAAC,OAAAO,SAAA,oBAAAC,OAAAT,KAAAU,OAAAC,OAAAC,GAAAC,QAAAb,KAAAH,yCC1GAmB,EAAgBC,OAAAC,EAAA,EAAAD,CACdzB,EHTF,WAA0B,IAAA2B,EAAAnB,KAAaoB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAAb,mBAAs7Ga,EAAAK,KAAt7GF,EAAA,QAAAA,EAAA,UAAAA,EAAA,aAAyEG,OAAOC,IAAAP,EAAAd,KAAAsB,OAAAC,KAAA,WAAsCT,EAAAU,GAAA,KAAAP,EAAA,MAAAH,EAAAU,GAAAV,EAAAW,GAAAX,EAAAd,KAAA0B,kBAAA,GAAAZ,EAAAU,GAAA,KAAAP,EAAA,UAAAA,EAAA,UAAyGG,OAAOO,KAAA,KAAUV,EAAA,WAAgBW,YAAA,sBAAgCX,EAAA,OAAYW,YAAA,uGAAiHX,EAAA,SAAcW,YAAA,uBAAiCX,EAAA,SAAAA,EAAA,MAAuBW,YAAA,kBAA4BX,EAAA,MAAAH,EAAAU,GAAAV,EAAAW,GAAAX,EAAAe,GAAA,4BAAAf,EAAAU,GAAA,KAAAP,EAAA,MAAAH,EAAAU,GAAA,uBAAAV,EAAAW,GAAAX,EAAAd,KAAA8B,UAAA,0BAAAhB,EAAAU,GAAA,KAAAP,EAAA,MAAwLW,YAAA,kBAA4BX,EAAA,MAAWW,YAAA,aAAuBd,EAAAU,GAAA,QAAAV,EAAAU,GAAA,KAAAP,EAAA,MAAsCW,YAAA,cAAwBd,EAAAU,GAAA,uBAAAV,EAAAW,GAAAX,EAAAd,KAAAO,IAAA,0BAAAO,EAAAU,GAAA,KAAAP,EAAA,MAAmGW,YAAA,kBAA4BX,EAAA,MAAAH,EAAAU,GAAAV,EAAAW,GAAAX,EAAAe,GAAA,wBAAAf,EAAAU,GAAA,KAAAP,EAAA,MAAAH,EAAAiB,GAAAjB,EAAAd,KAAA,cAAAgC,GAAkH,OAAAf,EAAA,UAAoBgB,IAAAD,EAAAJ,YAAA,qBAAuCd,EAAAU,GAAAV,EAAAW,GAAAO,QAAwBlB,EAAAU,GAAA,SAAAV,EAAAd,KAAAkC,KAAAC,OAAAlB,EAAA,QAAAH,EAAAU,GAAA,OAAAV,EAAAK,MAAA,KAAAL,EAAAU,GAAA,KAAAP,EAAA,MAAwGW,YAAA,kBAA4BX,EAAA,MAAAH,EAAAU,GAAAV,EAAAW,GAAAX,EAAAe,GAAA,yBAAAf,EAAAU,GAAA,KAAAP,EAAA,MAAAH,EAAAd,KAAAoC,MAAA,MAAAnB,EAAA,UAAkHW,YAAA,qBAA+Bd,EAAAU,GAAA,yBAAAV,EAAAW,GAAAX,EAAAe,GAAA,0CAAAf,EAAAK,KAAAL,EAAAU,GAAA,KAAAV,EAAAd,KAAAoC,MAAA,UAAAnB,EAAA,UAAuJW,YAAA,qBAA+Bd,EAAAU,GAAA,yBAAAV,EAAAW,GAAAX,EAAAe,GAAA,8CAAAf,EAAAK,KAAAL,EAAAU,GAAA,KAAAV,EAAAd,KAAAoC,MAAAC,WAAAvB,EAAAd,KAAAoC,MAAAE,MAAAxB,EAAAK,KAAAF,EAAA,QAAAH,EAAAU,GAAA,aAAAV,EAAAU,GAAA,KAAAP,EAAA,MAAqOW,YAAA,kBAA4BX,EAAA,MAAAH,EAAAU,GAAAV,EAAAW,GAAAX,EAAAe,GAAA,kCAAAf,EAAAU,GAAA,KAAAP,EAAA,MAAAH,EAAAd,KAAA,MAAAiB,EAAA,UAAqHG,OAAOmB,KAAA,UAAezB,EAAAU,GAAAV,EAAAW,GAAAX,EAAAe,GAAA,yBAAAf,EAAAK,KAAAL,EAAAU,GAAA,KAAAV,EAAAd,KAAAwC,MAA0H1B,EAAAK,KAA1HF,EAAA,UAAoGG,OAAOmB,KAAA,UAAezB,EAAAU,GAAAV,EAAAW,GAAAX,EAAAe,GAAA,kCAAAf,EAAAU,GAAA,KAAAP,EAAA,MAAuFW,YAAA,kBAA4BX,EAAA,MAAAH,EAAAU,GAAAV,EAAAW,GAAAX,EAAAe,GAAA,mCAAAf,EAAAU,GAAA,KAAAP,EAAA,MAAAH,EAAAd,KAAA,YAAAiB,EAAA,UAA4HG,OAAOmB,KAAA,aAAkBzB,EAAAU,GAAAV,EAAAW,GAAAX,EAAAe,GAAA,0BAAAf,EAAAK,KAAAL,EAAAU,GAAA,KAAAV,EAAAd,KAAAyC,YAAmI3B,EAAAK,KAAnIF,EAAA,UAA2GG,OAAOmB,KAAA,YAAiBzB,EAAAU,GAAAV,EAAAW,GAAAX,EAAAe,GAAA,iDAAAf,EAAAU,GAAA,KAAAP,EAAA,UAA0GW,YAAA,SAAAR,OAA4BmB,KAAA,OAAAG,QAAA,mBAAyCzB,EAAA,UAAeG,OAAOO,KAAA,MAAWV,EAAA,MAAWW,YAAA,oBAA8Bd,EAAAU,GAAAV,EAAAW,GAAAX,EAAAe,GAAA,oCAAAf,EAAAU,GAAA,KAAAP,EAAA,UAAoFW,YAAA,eAAAR,OAAkCO,KAAA,KAAUV,EAAA,eAAoB0B,IAAIC,OAAA9B,EAAAJ,iBAA6BmC,OAAQC,MAAAhC,EAAA,YAAAiC,SAAA,SAAAC,GAAiDlC,EAAAtB,YAAAwD,GAAoBC,WAAA,iBAA2BnC,EAAAU,GAAA,eAAAV,EAAAW,GAAAX,EAAAe,GAAA,4DAAAf,EAAAU,GAAA,KAAAP,EAAA,UAA2HG,OAAOO,KAAA,MAAWb,EAAAf,gBAAgUe,EAAAK,KAAhUF,EAAA,eAA2CW,YAAA,aAAuBd,EAAAiB,GAAAjB,EAAA,kBAAAoC,GAAyC,OAAAjC,EAAA,oBAA8BgB,IAAAiB,EAAA3C,KAAcU,EAAA,UAAeG,OAAO8B,SAAAC,UAAArC,EAAAd,KAAAO,GAAAC,QAAAM,EAAAtB,gBAAiE,KAAMsB,EAAAU,GAAA,SAAAV,EAAApB,SAAAyC,OAAAlB,EAAA,KAAkDW,YAAA,gBAA0Bd,EAAAU,GAAAV,EAAAW,GAAAX,EAAAe,GAAA,8BAAAf,EAAAK,MAAA,oBGY/gH,EACA,KACA,WACA,MAIAR,EAAAyC,QAAAC,OAAA,WACeC,EAAA,QAAA3C,6CCpBf,IAAA4C,EAAAC,EAAA,QAAAA,EAAAC,EAAAF,GAAud,wBCAvd,IAAAG,GACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,gBAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,UAAA,OACAC,aAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,aAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,YAAA,OACAC,eAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,OAAA,OACAC,UAAA,OACAC,QAAA,OACAC,WAAA,OACAC,OAAA,OACAC,UAAA,OA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","file":"static/js/chunk-a601.cc880efe.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.userProfileLoading)?_c('main',[_c('header',[_c('el-avatar',{attrs:{\"src\":_vm.user.avatar,\"size\":\"large\"}}),_vm._v(\" \"),_c('h1',[_vm._v(_vm._s(_vm.user.display_name))])],1),_vm._v(\" \"),_c('el-row',[_c('el-col',{attrs:{\"span\":8}},[_c('el-card',{staticClass:\"user-profile-card\"},[_c('div',{staticClass:\"el-table el-table--fit el-table--enable-row-hover el-table--enable-row-transition el-table--medium\"},[_c('table',{staticClass:\"user-profile-table\"},[_c('tbody',[_c('tr',{staticClass:\"el-table__row\"},[_c('td',[_vm._v(_vm._s(_vm.$t('userProfile.nickname')))]),_vm._v(\" \"),_c('td',[_vm._v(\"\\n \"+_vm._s(_vm.user.nickname)+\"\\n \")])]),_vm._v(\" \"),_c('tr',{staticClass:\"el-table__row\"},[_c('td',{staticClass:\"name-col\"},[_vm._v(\"ID\")]),_vm._v(\" \"),_c('td',{staticClass:\"value-col\"},[_vm._v(\"\\n \"+_vm._s(_vm.user.id)+\"\\n \")])]),_vm._v(\" \"),_c('tr',{staticClass:\"el-table__row\"},[_c('td',[_vm._v(_vm._s(_vm.$t('userProfile.tags')))]),_vm._v(\" \"),_c('td',[_vm._l((_vm.user.tags),function(tag){return _c('el-tag',{key:tag,staticClass:\"user-profile-tag\"},[_vm._v(_vm._s(tag))])}),_vm._v(\" \"),(_vm.user.tags.length === 0)?_c('span',[_vm._v(\"—\")]):_vm._e()],2)]),_vm._v(\" \"),_c('tr',{staticClass:\"el-table__row\"},[_c('td',[_vm._v(_vm._s(_vm.$t('userProfile.roles')))]),_vm._v(\" \"),_c('td',[(_vm.user.roles.admin)?_c('el-tag',{staticClass:\"user-profile-tag\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.admin'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.user.roles.moderator)?_c('el-tag',{staticClass:\"user-profile-tag\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.moderator'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.user.roles.moderator && !_vm.user.roles.admin)?_c('span',[_vm._v(\"—\")]):_vm._e()],1)]),_vm._v(\" \"),_c('tr',{staticClass:\"el-table__row\"},[_c('td',[_vm._v(_vm._s(_vm.$t('userProfile.localUppercase')))]),_vm._v(\" \"),_c('td',[(_vm.user.local)?_c('el-tag',{attrs:{\"type\":\"info\"}},[_vm._v(_vm._s(_vm.$t('userProfile.local')))]):_vm._e(),_vm._v(\" \"),(!_vm.user.local)?_c('el-tag',{attrs:{\"type\":\"info\"}},[_vm._v(_vm._s(_vm.$t('userProfile.external')))]):_vm._e()],1)]),_vm._v(\" \"),_c('tr',{staticClass:\"el-table__row\"},[_c('td',[_vm._v(_vm._s(_vm.$t('userProfile.activeUppercase')))]),_vm._v(\" \"),_c('td',[(_vm.user.deactivated)?_c('el-tag',{attrs:{\"type\":\"success\"}},[_vm._v(_vm._s(_vm.$t('userProfile.active')))]):_vm._e(),_vm._v(\" \"),(!_vm.user.deactivated)?_c('el-tag',{attrs:{\"type\":\"danger\"}},[_vm._v(_vm._s(_vm.$t('userProfile.deactivated')))]):_vm._e()],1)])])])])])],1),_vm._v(\" \"),_c('el-row',{staticClass:\"row-bg\",attrs:{\"type\":\"flex\",\"justify\":\"space-between\"}},[_c('el-col',{attrs:{\"span\":18}},[_c('h2',{staticClass:\"recent-statuses\"},[_vm._v(_vm._s(_vm.$t('userProfile.recentStatuses')))])]),_vm._v(\" \"),_c('el-col',{staticClass:\"show-private\",attrs:{\"span\":6}},[_c('el-checkbox',{on:{\"change\":_vm.onTogglePrivate},model:{value:(_vm.showPrivate),callback:function ($$v) {_vm.showPrivate=$$v},expression:\"showPrivate\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('userProfile.showPrivateStatuses'))+\"\\n \")])],1)],1),_vm._v(\" \"),_c('el-col',{attrs:{\"span\":16}},[(!_vm.statusesLoading)?_c('el-timeline',{staticClass:\"statuses\"},[_vm._l((_vm.statuses),function(status){return _c('el-timeline-item',{key:status.id},[_c('status',{attrs:{\"status\":status,\"user-id\":_vm.user.id,\"godmode\":_vm.showPrivate}})],1)}),_vm._v(\" \"),(_vm.statuses.length === 0)?_c('p',{staticClass:\"no-statuses\"},[_vm._v(_vm._s(_vm.$t('userProfile.noStatuses')))]):_vm._e()],2):_vm._e()],1)],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show.vue?vue&type=script&lang=js&\"","<template>\n <main v-if=\"!userProfileLoading\">\n <header>\n <el-avatar :src=\"user.avatar\" size=\"large\" />\n <h1>{{ user.display_name }}</h1>\n </header>\n <el-row>\n <el-col :span=\"8\">\n <el-card class=\"user-profile-card\">\n <div class=\"el-table el-table--fit el-table--enable-row-hover el-table--enable-row-transition el-table--medium\">\n <table class=\"user-profile-table\">\n <tbody>\n <tr class=\"el-table__row\">\n <td>{{ $t('userProfile.nickname') }}</td>\n <td>\n {{ user.nickname }}\n </td>\n </tr>\n <tr class=\"el-table__row\">\n <td class=\"name-col\">ID</td>\n <td class=\"value-col\">\n {{ user.id }}\n </td>\n </tr>\n <tr class=\"el-table__row\">\n <td>{{ $t('userProfile.tags') }}</td>\n <td>\n <el-tag v-for=\"tag in user.tags\" :key=\"tag\" class=\"user-profile-tag\">{{ tag }}</el-tag>\n <span v-if=\"user.tags.length === 0\">—</span>\n </td>\n </tr>\n <tr class=\"el-table__row\">\n <td>{{ $t('userProfile.roles') }}</td>\n <td>\n <el-tag v-if=\"user.roles.admin\" class=\"user-profile-tag\">\n {{ $t('users.admin') }}\n </el-tag>\n <el-tag v-if=\"user.roles.moderator\" class=\"user-profile-tag\">\n {{ $t('users.moderator') }}\n </el-tag>\n <span v-if=\"!user.roles.moderator && !user.roles.admin\">—</span>\n </td>\n </tr>\n <tr class=\"el-table__row\">\n <td>{{ $t('userProfile.localUppercase') }}</td>\n <td>\n <el-tag v-if=\"user.local\" type=\"info\">{{ $t('userProfile.local') }}</el-tag>\n <el-tag v-if=\"!user.local\" type=\"info\">{{ $t('userProfile.external') }}</el-tag>\n </td>\n </tr>\n <tr class=\"el-table__row\">\n <td>{{ $t('userProfile.activeUppercase') }}</td>\n <td>\n <el-tag v-if=\"user.deactivated\" type=\"success\">{{ $t('userProfile.active') }}</el-tag>\n <el-tag v-if=\"!user.deactivated\" type=\"danger\">{{ $t('userProfile.deactivated') }}</el-tag>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n </el-card>\n </el-col>\n <el-row type=\"flex\" class=\"row-bg\" justify=\"space-between\">\n <el-col :span=\"18\">\n <h2 class=\"recent-statuses\">{{ $t('userProfile.recentStatuses') }}</h2>\n </el-col>\n <el-col :span=\"6\" class=\"show-private\">\n <el-checkbox v-model=\"showPrivate\" @change=\"onTogglePrivate\">\n {{ $t('userProfile.showPrivateStatuses') }}\n </el-checkbox>\n </el-col>\n </el-row>\n <el-col :span=\"16\">\n <el-timeline v-if=\"!statusesLoading\" class=\"statuses\">\n <el-timeline-item v-for=\"status in statuses\" :key=\"status.id\">\n <status :status=\"status\" :user-id=\"user.id\" :godmode=\"showPrivate\"/>\n </el-timeline-item>\n <p v-if=\"statuses.length === 0\" class=\"no-statuses\">{{ $t('userProfile.noStatuses') }}</p>\n </el-timeline>\n </el-col>\n </el-row>\n </main>\n</template>\n\n<script>\nimport Status from '@/components/Status'\n\nexport default {\n name: 'UsersShow',\n components: { Status },\n data() {\n return {\n showPrivate: false\n }\n },\n computed: {\n statuses() {\n return this.$store.state.userProfile.statuses\n },\n statusesLoading() {\n return this.$store.state.userProfile.statusesLoading\n },\n user() {\n return this.$store.state.userProfile.user\n },\n userProfileLoading() {\n return this.$store.state.userProfile.userProfileLoading\n }\n },\n mounted: function() {\n this.$store.dispatch('FetchUserProfile', { userId: this.$route.params.id, godmode: false })\n },\n methods: {\n onTogglePrivate() {\n this.$store.dispatch('FetchUserProfile', { userId: this.$route.params.id, godmode: this.showPrivate })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\nheader {\n align-items: center;\n display: flex;\n margin: 22px 0;\n padding-left: 15px;\n h1 {\n margin: 0 0 0 10px;\n }\n}\ntable {\n margin: 10px 0 0 15px;\n .name-col {\n width: 150px;\n }\n}\n.el-table--border::after, .el-table--group::after, .el-table::before {\n background-color: transparent;\n}\n.poll ul {\n list-style-type: none;\n padding: 0;\n width: 30%;\n}\n.image {\n width: 20%;\n img {\n width: 100%;\n }\n}\n.no-statuses {\n margin-left: 28px;\n color: #606266;\n\n}\n.recent-statuses-header {\n margin-top: 10px;\n}\n.statuses {\n padding: 0 20px 0 0;\n}\n.show-private {\n text-align: right;\n line-height: 67px;\n padding-right: 20px;\n}\n.recent-statuses {\n margin-left: 28px;\n}\n.user-profile-card {\n margin-left: 15px;\n margin-right: 20px;\n}\n.user-profile-table {\n margin: 0;\n}\n.user-profile-tag {\n margin: 0 4px 4px 0;\n}\n</style>\n","import { render, staticRenderFns } from \"./show.vue?vue&type=template&id=1966c214&scoped=true&\"\nimport script from \"./show.vue?vue&type=script&lang=js&\"\nexport * from \"./show.vue?vue&type=script&lang=js&\"\nimport style0 from \"./show.vue?vue&type=style&index=0&id=1966c214&rel=stylesheet%2Fscss&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 \"1966c214\",\n null\n \n)\n\ncomponent.options.__file = \"show.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-SG\": \"zavE\",\n\t\"./en-SG.js\": \"zavE\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\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 = \"RnhZ\";","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show.vue?vue&type=style&index=0&id=1966c214&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./show.vue?vue&type=style&index=0&id=1966c214&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.status.deleted)?_c('el-card',{staticClass:\"status-card\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('div',{staticClass:\"status-header\"},[_c('div',{staticClass:\"status-account-container\"},[_c('div',{staticClass:\"status-account\"},[_c('el-checkbox',{on:{\"change\":function($event){return _vm.handleStatusSelection(_vm.status.account)}}},[_c('img',{staticClass:\"status-avatar-img\",attrs:{\"src\":_vm.status.account.avatar}}),_vm._v(\" \"),_c('h3',{staticClass:\"status-account-name\"},[_vm._v(_vm._s(_vm.status.account.display_name))])])],1),_vm._v(\" \"),_c('a',{staticClass:\"account\",attrs:{\"href\":_vm.status.account.url,\"target\":\"_blank\"}},[_vm._v(\"\\n @\"+_vm._s(_vm.status.account.acct)+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"status-actions\"},[(_vm.status.sensitive)?_c('el-tag',{attrs:{\"type\":\"warning\",\"size\":\"large\"}},[_vm._v(_vm._s(_vm.$t('reports.sensitive')))]):_vm._e(),_vm._v(\" \"),_c('el-tag',{attrs:{\"size\":\"large\"}},[_vm._v(_vm._s(_vm.capitalizeFirstLetter(_vm.status.visibility)))]),_vm._v(\" \"),_c('el-dropdown',{attrs:{\"trigger\":\"click\"}},[_c('el-button',{staticClass:\"status-actions-button\",attrs:{\"plain\":\"\",\"size\":\"small\",\"icon\":\"el-icon-edit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.changeScope'))),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(!_vm.status.sensitive)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, true, _vm.status.visibility)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.addSensitive'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status.sensitive)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, false, _vm.status.visibility)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.removeSensitive'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status.visibility !== 'public')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, _vm.status.sensitive, 'public')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.public'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status.visibility !== 'private')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, _vm.status.sensitive, 'private')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.private'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.status.visibility !== 'unlisted')?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.changeStatus(_vm.status.id, _vm.status.sensitive, 'unlisted')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.unlisted'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.deleteStatus(_vm.status.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('reports.deleteStatus'))+\"\\n \")])],1)],1)],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"status-body\"},[(_vm.status.spoiler_text)?_c('div',[_c('strong',[_vm._v(_vm._s(_vm.status.spoiler_text))]),_vm._v(\" \"),(!_vm.showHiddenStatus)?_c('el-button',{staticClass:\"show-more-button\",attrs:{\"size\":\"mini\"},on:{\"click\":function($event){_vm.showHiddenStatus = true}}},[_vm._v(\"Show more\")]):_vm._e(),_vm._v(\" \"),(_vm.showHiddenStatus)?_c('el-button',{staticClass:\"show-more-button\",attrs:{\"size\":\"mini\"},on:{\"click\":function($event){_vm.showHiddenStatus = false}}},[_vm._v(\"Show less\")]):_vm._e(),_vm._v(\" \"),(_vm.showHiddenStatus)?_c('div',[_c('span',{staticClass:\"status-content\",domProps:{\"innerHTML\":_vm._s(_vm.status.content)}}),_vm._v(\" \"),(_vm.status.poll)?_c('div',{staticClass:\"poll\"},[_c('ul',_vm._l((_vm.status.poll.options),function(option,index){return _c('li',{key:index},[_vm._v(\"\\n \"+_vm._s(option.title)+\"\\n \"),_c('el-progress',{attrs:{\"percentage\":_vm.optionPercent(_vm.status.poll, option)}})],1)}),0)]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.status.media_attachments),function(attachment,index){return _c('div',{key:index,staticClass:\"image\"},[_c('img',{attrs:{\"src\":attachment.preview_url}})])})],2):_vm._e()],1):_vm._e(),_vm._v(\" \"),(!_vm.status.spoiler_text)?_c('div',[_c('span',{staticClass:\"status-content\",domProps:{\"innerHTML\":_vm._s(_vm.status.content)}}),_vm._v(\" \"),(_vm.status.poll)?_c('div',{staticClass:\"poll\"},[_c('ul',_vm._l((_vm.status.poll.options),function(option,index){return _c('li',{key:index},[_vm._v(\"\\n \"+_vm._s(option.title)+\"\\n \"),_c('el-progress',{attrs:{\"percentage\":_vm.optionPercent(_vm.status.poll, option)}})],1)}),0)]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.status.media_attachments),function(attachment,index){return _c('div',{key:index,staticClass:\"image\"},[_c('img',{attrs:{\"src\":attachment.preview_url}})])})],2):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"account\",attrs:{\"href\":_vm.status.url,\"target\":\"_blank\"}},[_vm._v(\"\\n \"+_vm._s(_vm.parseTimestamp(_vm.status.created_at))+\"\\n \")])])]):_c('el-card',{staticClass:\"status-card\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('div',{staticClass:\"status-header\"},[_c('div',{staticClass:\"status-account-container\"},[_c('div',{staticClass:\"status-account\"},[_c('h4',{staticClass:\"status-deleted\"},[_vm._v(_vm._s(_vm.$t('reports.statusDeleted')))])])])])]),_vm._v(\" \"),_c('div',{staticClass:\"status-body\"},[(_vm.status.content)?_c('span',{staticClass:\"status-content\",domProps:{\"innerHTML\":_vm._s(_vm.status.content)}}):_c('span',{staticClass:\"status-without-content\"},[_vm._v(\"no content\")])]),_vm._v(\" \"),(_vm.status.created_at)?_c('a',{staticClass:\"account\",attrs:{\"href\":_vm.status.url,\"target\":\"_blank\"}},[_vm._v(\"\\n \"+_vm._s(_vm.parseTimestamp(_vm.status.created_at))+\"\\n \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-card v-if=\"!status.deleted\" class=\"status-card\">\n <div slot=\"header\">\n <div class=\"status-header\">\n <div class=\"status-account-container\">\n <div class=\"status-account\">\n <el-checkbox @change=\"handleStatusSelection(status.account)\">\n <img :src=\"status.account.avatar\" class=\"status-avatar-img\">\n <h3 class=\"status-account-name\">{{ status.account.display_name }}</h3>\n </el-checkbox>\n </div>\n <a :href=\"status.account.url\" target=\"_blank\" class=\"account\">\n @{{ status.account.acct }}\n </a>\n </div>\n <div class=\"status-actions\">\n <el-tag v-if=\"status.sensitive\" type=\"warning\" size=\"large\">{{ $t('reports.sensitive') }}</el-tag>\n <el-tag size=\"large\">{{ capitalizeFirstLetter(status.visibility) }}</el-tag>\n <el-dropdown trigger=\"click\">\n <el-button plain size=\"small\" icon=\"el-icon-edit\" class=\"status-actions-button\">\n {{ $t('reports.changeScope') }}<i class=\"el-icon-arrow-down el-icon--right\"/>\n </el-button>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item\n v-if=\"!status.sensitive\"\n @click.native=\"changeStatus(status.id, true, status.visibility)\">\n {{ $t('reports.addSensitive') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.sensitive\"\n @click.native=\"changeStatus(status.id, false, status.visibility)\">\n {{ $t('reports.removeSensitive') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.visibility !== 'public'\"\n @click.native=\"changeStatus(status.id, status.sensitive, 'public')\">\n {{ $t('reports.public') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.visibility !== 'private'\"\n @click.native=\"changeStatus(status.id, status.sensitive, 'private')\">\n {{ $t('reports.private') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"status.visibility !== 'unlisted'\"\n @click.native=\"changeStatus(status.id, status.sensitive, 'unlisted')\">\n {{ $t('reports.unlisted') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"deleteStatus(status.id)\">\n {{ $t('reports.deleteStatus') }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n </div>\n </div>\n </div>\n <div class=\"status-body\">\n <div v-if=\"status.spoiler_text\">\n <strong>{{ status.spoiler_text }}</strong>\n <el-button v-if=\"!showHiddenStatus\" size=\"mini\" class=\"show-more-button\" @click=\"showHiddenStatus = true\">Show more</el-button>\n <el-button v-if=\"showHiddenStatus\" size=\"mini\" class=\"show-more-button\" @click=\"showHiddenStatus = false\">Show less</el-button>\n <div v-if=\"showHiddenStatus\">\n <span class=\"status-content\" v-html=\"status.content\"/>\n <div v-if=\"status.poll\" class=\"poll\">\n <ul>\n <li v-for=\"(option, index) in status.poll.options\" :key=\"index\">\n {{ option.title }}\n <el-progress :percentage=\"optionPercent(status.poll, option)\" />\n </li>\n </ul>\n </div>\n <div v-for=\"(attachment, index) in status.media_attachments\" :key=\"index\" class=\"image\">\n <img :src=\"attachment.preview_url\">\n </div>\n </div>\n </div>\n <div v-if=\"!status.spoiler_text\">\n <span class=\"status-content\" v-html=\"status.content\"/>\n <div v-if=\"status.poll\" class=\"poll\">\n <ul>\n <li v-for=\"(option, index) in status.poll.options\" :key=\"index\">\n {{ option.title }}\n <el-progress :percentage=\"optionPercent(status.poll, option)\" />\n </li>\n </ul>\n </div>\n <div v-for=\"(attachment, index) in status.media_attachments\" :key=\"index\" class=\"image\">\n <img :src=\"attachment.preview_url\">\n </div>\n </div>\n <a :href=\"status.url\" target=\"_blank\" class=\"account\">\n {{ parseTimestamp(status.created_at) }}\n </a>\n </div>\n </el-card>\n <el-card v-else class=\"status-card\">\n <div slot=\"header\">\n <div class=\"status-header\">\n <div class=\"status-account-container\">\n <div class=\"status-account\">\n <h4 class=\"status-deleted\">{{ $t('reports.statusDeleted') }}</h4>\n </div>\n </div>\n </div>\n </div>\n <div class=\"status-body\">\n <span v-if=\"status.content\" class=\"status-content\" v-html=\"status.content\"/>\n <span v-else class=\"status-without-content\">no content</span>\n </div>\n <a v-if=\"status.created_at\" :href=\"status.url\" target=\"_blank\" class=\"account\">\n {{ parseTimestamp(status.created_at) }}\n </a>\n </el-card>\n </div>\n</template>\n\n<script>\nimport moment from 'moment'\n\nexport default {\n name: 'Status',\n props: {\n status: {\n type: Object,\n required: true\n },\n page: {\n type: Number,\n required: false,\n default: 0\n },\n userId: {\n type: String,\n required: false,\n default: ''\n },\n godmode: {\n type: Boolean,\n required: false,\n default: false\n }\n },\n data() {\n return {\n showHiddenStatus: false\n }\n },\n methods: {\n capitalizeFirstLetter(str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n },\n changeStatus(statusId, isSensitive, visibility) {\n this.$store.dispatch('ChangeStatusScope', { statusId, isSensitive, visibility, reportCurrentPage: this.page, userId: this.userId, godmode: this.godmode })\n },\n deleteStatus(statusId) {\n this.$confirm('Are you sure you want to delete this status?', 'Warning', {\n confirmButtonText: 'OK',\n cancelButtonText: 'Cancel',\n type: 'warning'\n }).then(() => {\n this.$store.dispatch('DeleteStatus', { statusId, reportCurrentPage: this.page, userId: this.userId, godmode: this.godmode })\n this.$message({\n type: 'success',\n message: 'Delete completed'\n })\n }).catch(() => {\n this.$message({\n type: 'info',\n message: 'Delete canceled'\n })\n })\n },\n optionPercent(poll, pollOption) {\n const allVotes = poll.options.reduce((acc, option) => (acc + option.votes_count), 0)\n if (allVotes === 0) {\n return 0\n }\n return +(pollOption.votes_count / allVotes * 100).toFixed(1)\n },\n parseTimestamp(timestamp) {\n return moment(timestamp).format('YYYY-MM-DD HH:mm')\n },\n handleStatusSelection(account) {\n this.$emit('status-selection', account)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.status-card {\n .account {\n text-decoration: underline;\n line-height: 26px;\n font-size: 13px;\n }\n .image {\n width: 20%;\n img {\n width: 100%;\n }\n }\n .show-more-button {\n margin-left: 5px;\n }\n .status-account {\n display: flex;\n align-items: center;\n }\n .status-avatar-img {\n display: inline-block;\n width: 15px;\n height: 15px;\n margin-right: 5px;\n }\n .status-account-name {\n display: inline-block;\n margin: 0;\n height: 22px;\n }\n .status-body {\n display: flex;\n flex-direction: column;\n }\n .status-content {\n font-size: 15px;\n line-height: 26px;\n }\n .status-card {\n margin-bottom: 15px;\n }\n .status-deleted {\n font-style: italic;\n margin-top: 3px;\n }\n .status-header {\n display: flex;\n justify-content: space-between;\n }\n .status-without-content {\n font-style: italic;\n }\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .el-message {\n min-width: 80%;\n }\n .el-message-box {\n width: 80%;\n }\n .status-card {\n .el-card__header {\n padding: 10px 17px;\n }\n .el-tag {\n margin: 3px 4px 3px 0;\n }\n .status-account-container {\n margin-bottom: 5px;\n }\n .status-actions-button {\n margin: 3px 0 3px;\n }\n .status-actions {\n display: flex;\n flex-wrap: wrap;\n }\n .status-header {\n display: flex;\n flex-direction: column;\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=38b82c99&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-d01a.970cf312.js b/priv/static/adminfe/static/js/chunk-d01a.970cf312.js
new file mode 100644
index 000000000..7bbd51e24
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-d01a.970cf312.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-d01a"],{"/Z02":function(e,t,s){},"6eCR":function(e,t,s){"use strict";var r=s("Jdpf");s.n(r).a},"9/5/":function(e,t,s){(function(t){var s="Expected a function",r=NaN,n="[object Symbol]",i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt,l="object"==typeof t&&t&&t.Object===Object&&t,d="object"==typeof self&&self&&self.Object===Object&&self,p=l||d||Function("return this")(),v=Object.prototype.toString,f=Math.max,m=Math.min,h=function(){return p.Date.now()};function _(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function g(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&v.call(e)==n}(e))return r;if(_(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=_(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var s=a.test(e);return s||c.test(e)?u(e.slice(2),s?2:8):o.test(e)?r:+e}e.exports=function(e,t,r){var n,i,o,a,c,u,l=0,d=!1,p=!1,v=!0;if("function"!=typeof e)throw new TypeError(s);function w(t){var s=n,r=i;return n=i=void 0,l=t,a=e.apply(r,s)}function $(e){var s=e-u;return void 0===u||s>=t||s<0||p&&e-l>=o}function b(){var e=h();if($(e))return k(e);c=setTimeout(b,function(e){var s=t-(e-u);return p?m(s,o-(e-l)):s}(e))}function k(e){return c=void 0,v&&n?w(e):(n=i=void 0,a)}function U(){var e=h(),s=$(e);if(n=arguments,i=this,u=e,s){if(void 0===c)return function(e){return l=e,c=setTimeout(b,t),d?w(e):a}(u);if(p)return c=setTimeout(b,t),w(u)}return void 0===c&&(c=setTimeout(b,t)),a}return t=g(t)||0,_(r)&&(d=!!r.leading,o=(p="maxWait"in r)?f(g(r.maxWait)||0,t):o,v="trailing"in r?!!r.trailing:v),U.cancel=function(){void 0!==c&&clearTimeout(c),l=0,n=u=i=c=void 0},U.flush=function(){return void 0===c?a:k(h())},U}}).call(this,s("yLpj"))},DPTh:function(e,t,s){"use strict";var r=s("vg5t");s.n(r).a},DVld:function(e,t,s){"use strict";var r=s("/Z02");s.n(r).a},Jdpf:function(e,t,s){},NQWY:function(e,t,s){"use strict";var r=s("P+4G");s.n(r).a},"P+4G":function(e,t,s){},RGjw:function(e,t,s){"use strict";s.r(t);var r=s("o0o1"),n=s.n(r),i=s("yXPU"),o=s.n(i),a=s("9/5/"),c=s.n(a),u=s("ZhIB"),l=s.n(u),d=s("lSNA"),p=s.n(d),v=s("MVZn"),f=s.n(v),m={data:function(){return{value:[]}},computed:{isDesktop:function(){return"desktop"===this.$store.state.app.device}},methods:{removeOppositeFilters:function(){var e=Object.keys(this.$store.state.users.filters).length,t=this.$data.value.slice(),s=t.indexOf("local"),r=t.indexOf("external"),n=t.indexOf("active"),i=t.indexOf("deactivated");if(t.length===e)return[];if(s>-1&&r>-1){var o=s>r?r:s;t.splice(o,1)}else if(n>-1&&i>-1){var a=n>i?i:n;t.splice(a,1)}return t},toggleFilters:function(){this.$data.value=this.removeOppositeFilters();var e=this.$data.value.reduce(function(e,t){return f()({},e,p()({},t,!0))},{});this.$store.dispatch("ToggleUsersFilter",e)}}},h=(s("DVld"),s("KHd+")),_=Object(h.a)(m,function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("el-select",{staticClass:"select-field",attrs:{clearable:e.isDesktop,placeholder:e.$t("usersFilter.inputPlaceholder"),multiple:""},on:{change:e.toggleFilters},model:{value:e.value,callback:function(t){e.value=t},expression:"value"}},[s("el-option-group",{attrs:{label:e.$t("usersFilter.byUserType")}},[s("el-option",{attrs:{value:"local"}},[e._v(e._s(e.$t("usersFilter.local")))]),e._v(" "),s("el-option",{attrs:{value:"external"}},[e._v(e._s(e.$t("usersFilter.external")))])],1),e._v(" "),s("el-option-group",{attrs:{label:e.$t("usersFilter.byStatus")}},[s("el-option",{attrs:{value:"active"}},[e._v(e._s(e.$t("usersFilter.active")))]),e._v(" "),s("el-option",{attrs:{value:"deactivated"}},[e._v(e._s(e.$t("usersFilter.deactivated")))])],1)],1)},[],!1,null,"71bc6b38",null);_.options.__file="UsersFilter.vue";var g=_.exports,w=s("i7Kn"),$={name:"NewAccountDialog",props:{dialogFormVisible:{type:Boolean,default:function(){return!1}}},data:function(){return{newUserForm:{nickname:"",email:"",password:""},rules:{nickname:[{validator:this.validateUsername,trigger:"blur"}],email:[{validator:this.validateEmail,trigger:"blur"}],password:[{validator:this.validatePassword,trigger:"blur"}]}}},computed:{isDesktop:function(){return"desktop"===this.$store.state.app.device},isVisible:{get:function(){return this.$props.dialogFormVisible},set:function(){this.closeDialogWindow()}},getLabelWidth:function(){return this.isDesktop?"120px":"85px"}},methods:{closeDialogWindow:function(){this.$emit("closeWindow")},resetForm:function(){var e=this;this.$nextTick(function(){e.$refs.newUserForm.resetFields()})},submitForm:function(e){var t=this;this.$refs[e].validate(function(e){if(!e)return t.$message({type:"error",message:t.$t("users.submitFormError")}),!1;t.$emit("createNewAccount",t.$data.newUserForm)})},validateEmail:function(e,t,s){return""===t?s(new Error(this.$t("users.emptyEmailError"))):this.validEmail(t)?s():s(new Error(this.$t("users.invalidEmailError")))},validatePassword:function(e,t,s){return""===t?s(new Error(this.$t("users.emptyPasswordError"))):s()},validateUsername:function(e,t,s){return""===t?s(new Error(this.$t("users.emptyNicknameError"))):this.validNickname(t)?s():s(new Error(this.$t("users.invalidNicknameError")))},validEmail:function(e){return/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(e)},validNickname:function(e){return/^[a-zA-Z\d]+$/.test(e)}}},b=(s("DPTh"),Object(h.a)($,function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("el-dialog",{attrs:{visible:e.isVisible,"show-close":!1,title:e.$t("users.createAccount"),"custom-class":"create-user-dialog"},on:{"update:visible":function(t){e.isVisible=t},open:e.resetForm}},[s("el-form",{ref:"newUserForm",attrs:{model:e.newUserForm,rules:e.rules,"label-width":e.getLabelWidth,"status-icon":""}},[s("el-form-item",{staticClass:"create-account-form-item",attrs:{label:e.$t("users.username"),prop:"nickname"}},[s("el-input",{attrs:{name:"nickname",autofocus:""},model:{value:e.newUserForm.nickname,callback:function(t){e.$set(e.newUserForm,"nickname",t)},expression:"newUserForm.nickname"}})],1),e._v(" "),s("el-form-item",{staticClass:"create-account-form-item",attrs:{label:e.$t("users.email"),prop:"email"}},[s("el-input",{attrs:{name:"email",type:"email"},model:{value:e.newUserForm.email,callback:function(t){e.$set(e.newUserForm,"email",t)},expression:"newUserForm.email"}})],1),e._v(" "),s("el-form-item",{staticClass:"create-account-form-item-without-margin",attrs:{label:e.$t("users.password"),prop:"password"}},[s("el-input",{attrs:{type:"password",name:"password",autocomplete:"off"},model:{value:e.newUserForm.password,callback:function(t){e.$set(e.newUserForm,"password",t)},expression:"newUserForm.password"}})],1)],1),e._v(" "),s("span",{attrs:{slot:"footer"},slot:"footer"},[s("el-button",{on:{click:e.closeDialogWindow}},[e._v(e._s(e.$t("users.cancel")))]),e._v(" "),s("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.submitForm("newUserForm")}}},[e._v(e._s(e.$t("users.create")))])],1)],1)},[],!1,null,null,null));b.options.__file="NewAccountDialog.vue";var k=b.exports,U={name:"Users",components:{UsersFilter:g,MultipleUsersMenu:w.a,NewAccountDialog:k},data:function(){return{search:"",selectedUsers:[],createAccountDialogOpen:!1,resetPasswordDialogOpen:!1}},computed:{loading:function(){return this.$store.state.users.loading},normalizedUsersCount:function(){return l()(this.$store.state.users.totalUsersCount).format("0a")},users:function(){return this.$store.state.users.fetchedUsers},usersCount:function(){return this.$store.state.users.totalUsersCount},pageSize:function(){return this.$store.state.users.pageSize},passwordResetLink:function(){return this.$store.state.users.passwordResetToken.link},passwordResetToken:function(){return this.$store.state.users.passwordResetToken.token},currentPage:function(){return this.$store.state.users.currentPage},isDesktop:function(){return"desktop"===this.$store.state.app.device},isMobile:function(){return"mobile"===this.$store.state.app.device},width:function(){return!!this.isMobile&&55}},created:function(){var e=this;this.handleDebounceSearchInput=c()(function(t){e.$store.dispatch("SearchUsers",{query:t,page:1})},500)},mounted:function(){this.$store.dispatch("FetchUsers",{page:1})},methods:{activationIcon:function(e){return e?"el-icon-error":"el-icon-success"},clearSelection:function(){this.$refs.usersTable.clearSelection()},createNewAccount:function(){var e=o()(n.a.mark(function e(t){return n.a.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.$store.dispatch("CreateNewAccount",t);case 2:this.createAccountDialogOpen=!1;case 3:case"end":return e.stop()}},e,this)}));return function(t){return e.apply(this,arguments)}}(),getFirstLetter:function(e){return e.charAt(0).toUpperCase()},getPasswordResetToken:function(e){this.resetPasswordDialogOpen=!0,this.$store.dispatch("GetPasswordResetToken",e)},requirePasswordReset:function(e){this.$store.state.user.nodeInfo.metadata.mailerEnabled?this.$store.dispatch("RequirePasswordReset",{nickname:e}):this.$alert(this.$t("users.mailerMustBeEnabled"),"Error",{type:"error"})},toggleActivation:function(e){e.deactivated?this.$store.dispatch("ActivateUsers",[e]):this.$store.dispatch("DeactivateUsers",[e])},handleDeletion:function(e){this.$store.dispatch("DeleteUsers",[e])},handlePageChange:function(e){var t=this.$store.state.users.searchQuery;""===t?this.$store.dispatch("FetchUsers",{page:e}):this.$store.dispatch("SearchUsers",{query:t,page:e})},handleSelectionChange:function(e){this.$data.selectedUsers=e},closeResetPasswordDialog:function(){this.resetPasswordDialogOpen=!1,this.$store.dispatch("RemovePasswordToken")},showAdminAction:function(e){var t=e.local,s=e.id;return t&&this.showDeactivatedButton(s)},showDeactivatedButton:function(e){return this.$store.state.user.id!==e},toggleTag:function(e,t){e.tags.includes(t)?this.$store.dispatch("RemoveTag",{users:[e],tag:t}):this.$store.dispatch("AddTag",{users:[e],tag:t})},toggleUserRight:function(e,t){e.roles[t]?this.$store.dispatch("DeleteRight",{users:[e],right:t}):this.$store.dispatch("AddRight",{users:[e],right:t})},handleEmailConfirmation:function(e){this.$store.dispatch("ConfirmUsersEmail",[e])},handleConfirmationResend:function(e){this.$store.dispatch("ResendConfirmationEmail",[e])}}},C=(s("6eCR"),Object(h.a)(U,function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"users-container"},[s("h1",[e._v("\n "+e._s(e.$t("users.users"))+"\n "),s("span",{staticClass:"user-count"},[e._v("("+e._s(e.normalizedUsersCount)+")")])]),e._v(" "),s("div",{staticClass:"filter-container"},[s("users-filter"),e._v(" "),s("el-input",{staticClass:"search",attrs:{placeholder:e.$t("users.search")},on:{input:e.handleDebounceSearchInput},model:{value:e.search,callback:function(t){e.search=t},expression:"search"}})],1),e._v(" "),s("div",{staticClass:"actions-container"},[s("el-button",{staticClass:"actions-button create-account",on:{click:function(t){e.createAccountDialogOpen=!0}}},[s("span",[s("i",{staticClass:"el-icon-plus"}),e._v("\n "+e._s(e.$t("users.createAccount"))+"\n ")])]),e._v(" "),s("multiple-users-menu",{attrs:{"selected-users":e.selectedUsers},on:{"apply-action":e.clearSelection}})],1),e._v(" "),s("new-account-dialog",{attrs:{"dialog-form-visible":e.createAccountDialogOpen},on:{createNewAccount:e.createNewAccount,closeWindow:function(t){e.createAccountDialogOpen=!1}}}),e._v(" "),s("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"usersTable",staticStyle:{width:"100%"},attrs:{data:e.users,"row-key":"id"},on:{"selection-change":e.handleSelectionChange}},[e.isDesktop?s("el-table-column",{attrs:{type:"selection","reserve-selection":"",width:"44",align:"center"}}):e._e(),e._v(" "),s("el-table-column",{attrs:{"min-width":e.width,label:e.$t("users.id"),prop:"id"}}),e._v(" "),s("el-table-column",{attrs:{label:e.$t("users.name"),prop:"nickname"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("router-link",{attrs:{to:{name:"UsersShow",params:{id:t.row.id}}}},[e._v(e._s(t.row.nickname))]),e._v(" "),e.isDesktop?s("el-tag",{attrs:{type:"info",size:"mini"}},[s("span",[e._v(e._s(t.row.local?e.$t("users.local"):e.$t("users.external")))])]):e._e()]}}])}),e._v(" "),s("el-table-column",{attrs:{"min-width":e.width,label:e.$t("users.status")},scopedSlots:e._u([{key:"default",fn:function(t){return[s("el-tag",{attrs:{type:t.row.deactivated?"danger":"success"}},[e.isDesktop?s("span",[e._v(e._s(t.row.deactivated?e.$t("users.deactivated"):e.$t("users.active")))]):s("i",{class:e.activationIcon(t.row.deactivated)})]),e._v(" "),t.row.roles.admin?s("el-tag",[s("span",[e._v(e._s(e.isDesktop?e.$t("users.admin"):e.getFirstLetter(e.$t("users.admin"))))])]):e._e(),e._v(" "),t.row.roles.moderator?s("el-tag",[s("span",[e._v(e._s(e.isDesktop?e.$t("users.moderator"):e.getFirstLetter(e.$t("users.moderator"))))])]):e._e(),e._v(" "),s("el-tooltip",{attrs:{content:e.$t("users.unconfirmedEmail"),effect:"dark"}},[t.row.confirmation_pending?s("el-tag",{attrs:{type:"info"}},[e._v("\n "+e._s(e.isDesktop?e.$t("users.unconfirmed"):e.getFirstLetter(e.$t("users.unconfirmed")))+"\n ")]):e._e()],1)]}}])}),e._v(" "),s("el-table-column",{attrs:{label:e.$t("users.actions"),fixed:"right"},scopedSlots:e._u([{key:"default",fn:function(t){return[s("el-dropdown",{attrs:{"hide-on-click":!1,size:"small",trigger:"click"}},[s("span",{staticClass:"el-dropdown-link"},[e._v("\n "+e._s(e.$t("users.moderation"))+"\n "),e.isDesktop?s("i",{staticClass:"el-icon-arrow-down el-icon--right"}):e._e()]),e._v(" "),s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[e.showAdminAction(t.row)?s("el-dropdown-item",{nativeOn:{click:function(s){return e.toggleUserRight(t.row,"admin")}}},[e._v("\n "+e._s(t.row.roles.admin?e.$t("users.revokeAdmin"):e.$t("users.grantAdmin"))+"\n ")]):e._e(),e._v(" "),e.showAdminAction(t.row)?s("el-dropdown-item",{nativeOn:{click:function(s){return e.toggleUserRight(t.row,"moderator")}}},[e._v("\n "+e._s(t.row.roles.moderator?e.$t("users.revokeModerator"):e.$t("users.grantModerator"))+"\n ")]):e._e(),e._v(" "),e.showDeactivatedButton(t.row.id)?s("el-dropdown-item",{attrs:{divided:e.showAdminAction(t.row)},nativeOn:{click:function(s){return e.toggleActivation(t.row)}}},[e._v("\n "+e._s(t.row.deactivated?e.$t("users.activateAccount"):e.$t("users.deactivateAccount"))+"\n ")]):e._e(),e._v(" "),e.showDeactivatedButton(t.row.id)?s("el-dropdown-item",{nativeOn:{click:function(s){return e.handleDeletion(t.row)}}},[e._v("\n "+e._s(e.$t("users.deleteAccount"))+"\n ")]):e._e(),e._v(" "),t.row.local&&t.row.confirmation_pending?s("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(s){return e.handleEmailConfirmation(t.row)}}},[e._v("\n "+e._s(e.$t("users.confirmAccount"))+"\n ")]):e._e(),e._v(" "),t.row.local&&t.row.confirmation_pending?s("el-dropdown-item",{nativeOn:{click:function(s){return e.handleConfirmationResend(t.row)}}},[e._v("\n "+e._s(e.$t("users.resendConfirmation"))+"\n ")]):e._e(),e._v(" "),s("el-dropdown-item",{class:{"active-tag":t.row.tags.includes("force_nsfw")},attrs:{divided:e.showAdminAction(t.row)},nativeOn:{click:function(s){return e.toggleTag(t.row,"force_nsfw")}}},[e._v("\n "+e._s(e.$t("users.forceNsfw"))+"\n "),t.row.tags.includes("force_nsfw")?s("i",{staticClass:"el-icon-check"}):e._e()]),e._v(" "),s("el-dropdown-item",{class:{"active-tag":t.row.tags.includes("strip_media")},nativeOn:{click:function(s){return e.toggleTag(t.row,"strip_media")}}},[e._v("\n "+e._s(e.$t("users.stripMedia"))+"\n "),t.row.tags.includes("strip_media")?s("i",{staticClass:"el-icon-check"}):e._e()]),e._v(" "),s("el-dropdown-item",{class:{"active-tag":t.row.tags.includes("force_unlisted")},nativeOn:{click:function(s){return e.toggleTag(t.row,"force_unlisted")}}},[e._v("\n "+e._s(e.$t("users.forceUnlisted"))+"\n "),t.row.tags.includes("force_unlisted")?s("i",{staticClass:"el-icon-check"}):e._e()]),e._v(" "),s("el-dropdown-item",{class:{"active-tag":t.row.tags.includes("sandbox")},nativeOn:{click:function(s){return e.toggleTag(t.row,"sandbox")}}},[e._v("\n "+e._s(e.$t("users.sandbox"))+"\n "),t.row.tags.includes("sandbox")?s("i",{staticClass:"el-icon-check"}):e._e()]),e._v(" "),t.row.local?s("el-dropdown-item",{class:{"active-tag":t.row.tags.includes("disable_remote_subscription")},nativeOn:{click:function(s){return e.toggleTag(t.row,"disable_remote_subscription")}}},[e._v("\n "+e._s(e.$t("users.disableRemoteSubscription"))+"\n "),t.row.tags.includes("disable_remote_subscription")?s("i",{staticClass:"el-icon-check"}):e._e()]):e._e(),e._v(" "),t.row.local?s("el-dropdown-item",{class:{"active-tag":t.row.tags.includes("disable_any_subscription")},nativeOn:{click:function(s){return e.toggleTag(t.row,"disable_any_subscription")}}},[e._v("\n "+e._s(e.$t("users.disableAnySubscription"))+"\n "),t.row.tags.includes("disable_any_subscription")?s("i",{staticClass:"el-icon-check"}):e._e()]):e._e(),e._v(" "),t.row.local?s("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(s){return e.getPasswordResetToken(t.row.nickname)}}},[e._v("\n "+e._s(e.$t("users.getPasswordResetToken"))+"\n ")]):e._e(),e._v(" "),t.row.local?s("el-dropdown-item",{nativeOn:{click:function(s){return e.requirePasswordReset(t.row.nickname)}}},[e._v("\n "+e._s(e.$t("users.requirePasswordReset"))+"\n ")]):e._e()],1)],1)]}}])})],1),e._v(" "),s("el-dialog",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],attrs:{visible:e.resetPasswordDialogOpen,title:e.$t("users.passwordResetTokenCreated"),"custom-class":"password-reset-token-dialog"},on:{"update:visible":function(t){e.resetPasswordDialogOpen=t},close:e.closeResetPasswordDialog}},[s("div",[s("p",{staticClass:"password-reset-token"},[e._v("Password reset token was generated: "+e._s(e.passwordResetToken))]),e._v(" "),s("p",[e._v("You can also use this link to reset password:\n "),s("a",{staticClass:"reset-password-link",attrs:{href:e.passwordResetLink,target:"_blank"}},[e._v(e._s(e.passwordResetLink))])])])]),e._v(" "),e.loading?e._e():s("div",{staticClass:"pagination"},[s("el-pagination",{attrs:{total:e.usersCount,"current-page":e.currentPage,"page-size":e.pageSize,background:"",layout:"prev, pager, next"},on:{"current-change":e.handlePageChange}})],1)],1)},[],!1,null,null,null));C.options.__file="index.vue";t.default=C.exports},i7Kn:function(e,t,s){"use strict";var r=s("o0o1"),n=s.n(r),i=s("yXPU"),o=s.n(i),a={props:{selectedUsers:{type:Array,default:function(){return[]}}},computed:{showDropdownForMultipleUsers:function(){return this.$props.selectedUsers.length>0},isDesktop:function(){return"desktop"===this.$store.state.app.device}},methods:{mappers:function(){var e=this,t=function(){var t=o()(n.a.mark(function t(s,r){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,r(s);case 2:e.$emit("apply-action");case 3:case"end":return t.stop()}},t)}));return function(e,s){return t.apply(this,arguments)}}();return{grantRight:function(s){return function(){var r=function(){var t=o()(n.a.mark(function t(r){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("AddRight",{users:r,right:s});case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}(),i=e.selectedUsers.filter(function(t){return t.local&&!t.roles[s]&&e.$store.state.user.id!==t.id});t(i,r)}},revokeRight:function(s){return function(){var r=function(){var t=o()(n.a.mark(function t(r){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("DeleteRight",{users:r,right:s});case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}(),i=e.selectedUsers.filter(function(t){return t.local&&t.roles[s]&&e.$store.state.user.id!==t.id});t(i,r)}},activate:function(){var s=e.selectedUsers.filter(function(t){return t.deactivated&&e.$store.state.user.id!==t.id});t(s,function(){var t=o()(n.a.mark(function t(s){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("ActivateUsers",s);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}())},deactivate:function(){var s=e.selectedUsers.filter(function(t){return!t.deactivated&&e.$store.state.user.id!==t.id});t(s,function(){var t=o()(n.a.mark(function t(s){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("DeactivateUsers",s);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}())},remove:function(){var s=e.selectedUsers.filter(function(t){return e.$store.state.user.id!==t.id});t(s,function(){var t=o()(n.a.mark(function t(s){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("DeleteUsers",s);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}())},addTag:function(s){return function(){var r=e.selectedUsers.filter(function(e){return"disable_remote_subscription"===s||"disable_any_subscription"===s?e.local&&!e.tags.includes(s):!e.tags.includes(s)});t(r,function(){var t=o()(n.a.mark(function t(r){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("AddTag",{users:r,tag:s});case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}())}},removeTag:function(s){return o()(n.a.mark(function r(){var i;return n.a.wrap(function(r){for(;;)switch(r.prev=r.next){case 0:i=e.selectedUsers.filter(function(e){return"disable_remote_subscription"===s||"disable_any_subscription"===s?e.local&&e.tags.includes(s):e.tags.includes(s)}),t(i,function(){var t=o()(n.a.mark(function t(r){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("RemoveTag",{users:r,tag:s});case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}());case 3:case"end":return r.stop()}},r)}))},requirePasswordReset:function(){e.selectedUsers.filter(function(e){return e.local}).map(function(t){return e.$store.dispatch("RequirePasswordReset",t)}),e.$emit("apply-action")},confirmAccounts:function(){var s=e.selectedUsers.filter(function(e){return e.local&&e.confirmation_pending});t(s,function(){var t=o()(n.a.mark(function t(s){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("ConfirmUsersEmail",s);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}())},resendConfirmation:function(){var s=e.selectedUsers.filter(function(e){return e.local&&e.confirmation_pending});t(s,function(){var t=o()(n.a.mark(function t(s){return n.a.wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("ResendConfirmationEmail",s);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}},t)}));return function(e){return t.apply(this,arguments)}}())}}},grantRightToMultipleUsers:function(e){var t=this.mappers().grantRight;this.confirmMessage(this.$t("users.grantRightConfirmation",{right:e}),t(e))},revokeRightFromMultipleUsers:function(e){var t=this.mappers().revokeRight;this.confirmMessage(this.$t("users.revokeRightConfirmation",{right:e}),t(e))},activateMultipleUsers:function(){var e=this.mappers().activate;this.confirmMessage(this.$t("users.activateMultipleUsersConfirmation"),e)},deactivateMultipleUsers:function(){var e=this.mappers().deactivate;this.confirmMessage(this.$t("users.deactivateMultipleUsersConfirmation"),e)},deleteMultipleUsers:function(){var e=this.mappers().remove;this.confirmMessage(this.$t("users.deleteMultipleUsersConfirmation"),e)},requirePasswordReset:function(){if(this.$store.state.user.nodeInfo.metadata.mailerEnabled){var e=this.mappers().requirePasswordReset;this.confirmMessage(this.$t("users.requirePasswordResetConfirmation"),e)}else this.$alert(this.$t("users.mailerMustBeEnabled"),"Error",{type:"error"})},addTagForMultipleUsers:function(e){var t=this.mappers().addTag;this.confirmMessage(this.$t("users.addTagForMultipleUsersConfirmation"),t(e))},removeTagFromMultipleUsers:function(e){var t=this.mappers().removeTag;this.confirmMessage(this.$t("users.removeTagFromMultipleUsersConfirmation"),t(e))},confirmAccountsForMultipleUsers:function(){var e=this.mappers().confirmAccounts;this.confirmMessage(this.$t("users.confirmAccountsConfirmation"),e)},resendConfirmationForMultipleUsers:function(){var e=this.mappers().resendConfirmation;this.confirmMessage(this.$t("users.resendEmailConfirmation"),e)},confirmMessage:function(e,t){var s=this;this.$confirm(e,{confirmButtonText:this.$t("users.ok"),cancelButtonText:this.$t("users.cancel"),type:"warning"}).then(function(){t()}).catch(function(){s.$message({type:"info",message:s.$t("users.canceled")})})}}},c=(s("NQWY"),s("KHd+")),u=Object(c.a)(a,function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("el-dropdown",{attrs:{size:"small",trigger:"click",placement:"bottom-start"}},[e.isDesktop?s("el-button",{staticClass:"actions-button"},[s("span",{staticClass:"actions-button-container"},[s("span",[s("i",{staticClass:"el-icon-edit"}),e._v("\n "+e._s(e.$t("users.moderateUsers"))+"\n ")]),e._v(" "),s("i",{staticClass:"el-icon-arrow-down el-icon--right"})])]):e._e(),e._v(" "),e.showDropdownForMultipleUsers?s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[s("el-dropdown-item",{nativeOn:{click:function(t){return e.grantRightToMultipleUsers("admin")}}},[e._v("\n "+e._s(e.$t("users.grantAdmin"))+"\n ")]),e._v(" "),s("el-dropdown-item",{nativeOn:{click:function(t){return e.revokeRightFromMultipleUsers("admin")}}},[e._v("\n "+e._s(e.$t("users.revokeAdmin"))+"\n ")]),e._v(" "),s("el-dropdown-item",{nativeOn:{click:function(t){return e.grantRightToMultipleUsers("moderator")}}},[e._v("\n "+e._s(e.$t("users.grantModerator"))+"\n ")]),e._v(" "),s("el-dropdown-item",{nativeOn:{click:function(t){return e.revokeRightFromMultipleUsers("moderator")}}},[e._v("\n "+e._s(e.$t("users.revokeModerator"))+"\n ")]),e._v(" "),s("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(t){return e.confirmAccountsForMultipleUsers(t)}}},[e._v("\n "+e._s(e.$t("users.confirmAccounts"))+"\n ")]),e._v(" "),s("el-dropdown-item",{nativeOn:{click:function(t){return e.resendConfirmationForMultipleUsers(t)}}},[e._v("\n "+e._s(e.$t("users.resendConfirmation"))+"\n ")]),e._v(" "),s("el-dropdown-item",{attrs:{divided:""},nativeOn:{click:function(t){return e.activateMultipleUsers(t)}}},[e._v("\n "+e._s(e.$t("users.activateAccounts"))+"\n ")]),e._v(" "),s("el-dropdown-item",{nativeOn:{click:function(t){return e.deactivateMultipleUsers(t)}}},[e._v("\n "+e._s(e.$t("users.deactivateAccounts"))+"\n ")]),e._v(" "),s("el-dropdown-item",{nativeOn:{click:function(t){return e.deleteMultipleUsers(t)}}},[e._v("\n "+e._s(e.$t("users.deleteAccounts"))+"\n ")]),e._v(" "),s("el-dropdown-item",{nativeOn:{click:function(t){return e.requirePasswordReset(t)}}},[e._v("\n "+e._s(e.$t("users.requirePasswordReset"))+"\n ")]),e._v(" "),s("el-dropdown-item",{staticClass:"no-hover",attrs:{divided:""}},[s("div",{staticClass:"tag-container"},[s("span",{staticClass:"tag-text"},[e._v(e._s(e.$t("users.forceNsfw")))]),e._v(" "),s("el-button-group",{staticClass:"tag-button-group"},[s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.addTagForMultipleUsers("force_nsfw")}}},[e._v("\n "+e._s(e.$t("users.apply"))+"\n ")]),e._v(" "),s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.removeTagFromMultipleUsers("force_nsfw")}}},[e._v("\n "+e._s(e.$t("users.remove"))+"\n ")])],1)],1)]),e._v(" "),s("el-dropdown-item",{staticClass:"no-hover"},[s("div",{staticClass:"tag-container"},[s("span",{staticClass:"tag-text"},[e._v(e._s(e.$t("users.stripMedia")))]),e._v(" "),s("el-button-group",{staticClass:"tag-button-group"},[s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.addTagForMultipleUsers("strip_media")}}},[e._v("\n "+e._s(e.$t("users.apply"))+"\n ")]),e._v(" "),s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.removeTagFromMultipleUsers("strip_media")}}},[e._v("\n "+e._s(e.$t("users.remove"))+"\n ")])],1)],1)]),e._v(" "),s("el-dropdown-item",{staticClass:"no-hover"},[s("div",{staticClass:"tag-container"},[s("span",{staticClass:"tag-text"},[e._v(e._s(e.$t("users.forceUnlisted")))]),e._v(" "),s("el-button-group",{staticClass:"tag-button-group"},[s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.addTagForMultipleUsers("force_unlisted")}}},[e._v("\n "+e._s(e.$t("users.apply"))+"\n ")]),e._v(" "),s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.removeTagFromMultipleUsers("force_unlisted")}}},[e._v("\n "+e._s(e.$t("users.remove"))+"\n ")])],1)],1)]),e._v(" "),s("el-dropdown-item",{staticClass:"no-hover"},[s("div",{staticClass:"tag-container"},[s("span",{staticClass:"tag-text"},[e._v(e._s(e.$t("users.sandbox")))]),e._v(" "),s("el-button-group",{staticClass:"tag-button-group"},[s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.addTagForMultipleUsers("sandbox")}}},[e._v("\n "+e._s(e.$t("users.apply"))+"\n ")]),e._v(" "),s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.removeTagFromMultipleUsers("sandbox")}}},[e._v("\n "+e._s(e.$t("users.remove"))+"\n ")])],1)],1)]),e._v(" "),s("el-dropdown-item",{staticClass:"no-hover"},[s("div",{staticClass:"tag-container"},[s("span",{staticClass:"tag-text"},[e._v(e._s(e.$t("users.disableRemoteSubscriptionForMultiple")))]),e._v(" "),s("el-button-group",{staticClass:"tag-button-group"},[s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.addTagForMultipleUsers("disable_remote_subscription")}}},[e._v("\n "+e._s(e.$t("users.apply"))+"\n ")]),e._v(" "),s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.removeTagFromMultipleUsers("disable_remote_subscription")}}},[e._v("\n "+e._s(e.$t("users.remove"))+"\n ")])],1)],1)]),e._v(" "),s("el-dropdown-item",{staticClass:"no-hover"},[s("div",{staticClass:"tag-container"},[s("span",{staticClass:"tag-text"},[e._v(e._s(e.$t("users.disableAnySubscriptionForMultiple")))]),e._v(" "),s("el-button-group",{staticClass:"tag-button-group"},[s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.addTagForMultipleUsers("disable_any_subscription")}}},[e._v("\n "+e._s(e.$t("users.apply"))+"\n ")]),e._v(" "),s("el-button",{attrs:{size:"mini"},nativeOn:{click:function(t){return e.removeTagFromMultipleUsers("disable_any_subscription")}}},[e._v("\n "+e._s(e.$t("users.remove"))+"\n ")])],1)],1)])],1):s("el-dropdown-menu",{attrs:{slot:"dropdown"},slot:"dropdown"},[s("el-dropdown-item",[e._v("\n "+e._s(e.$t("users.selectUsers"))+"\n ")])],1)],1)},[],!1,null,"56aa3725",null);u.options.__file="MultipleUsersMenu.vue";t.a=u.exports},vg5t:function(e,t,s){}}]);
+//# sourceMappingURL=chunk-d01a.970cf312.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-d01a.970cf312.js.map b/priv/static/adminfe/static/js/chunk-d01a.970cf312.js.map
new file mode 100644
index 000000000..da3fbc95a
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-d01a.970cf312.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/views/users/index.vue?1afe","webpack:///./node_modules/lodash.debounce/index.js","webpack:///./src/views/users/components/NewAccountDialog.vue?d353","webpack:///./src/views/users/components/UsersFilter.vue?f835","webpack:///./src/views/users/components/MultipleUsersMenu.vue?daef","webpack:///./src/views/users/index.vue?3b52","webpack:///./src/views/users/components/UsersFilter.vue?6a82","webpack:///src/views/users/components/UsersFilter.vue","webpack:///./src/views/users/components/UsersFilter.vue","webpack:///./src/views/users/components/UsersFilter.vue?3f06","webpack:///./src/views/users/components/NewAccountDialog.vue?9018","webpack:///src/views/users/components/NewAccountDialog.vue","webpack:///./src/views/users/components/NewAccountDialog.vue","webpack:///./src/views/users/components/NewAccountDialog.vue?0cce","webpack:///./src/views/users/index.vue?0a29","webpack:///src/views/users/index.vue","webpack:///./src/views/users/index.vue","webpack:///./src/views/users/components/MultipleUsersMenu.vue?6cdb","webpack:///./src/views/users/components/MultipleUsersMenu.vue?56ef","webpack:///src/views/users/components/MultipleUsersMenu.vue","webpack:///./src/views/users/components/MultipleUsersMenu.vue"],"names":["_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","global","FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","Object","freeSelf","self","root","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","value","type","toNumber","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","test","slice","module","exports","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","remainingWait","debounced","isInvoking","arguments","this","leadingEdge","cancel","clearTimeout","flush","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_NewAccountDialog_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_UsersFilter_vue_vue_type_style_index_0_id_71bc6b38_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MultipleUsersMenu_vue_vue_type_style_index_0_id_56aa3725_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","components_UsersFiltervue_type_script_lang_js_","data","computed","isDesktop","$store","state","app","device","methods","removeOppositeFilters","filtersQuantity","keys","users","filters","length","currentFilters","$data","indexOfLocal","indexOf","indexOfExternal","indexOfActive","indexOfDeactivated","filterToRemove","splice","_filterToRemove","toggleFilters","reduce","acc","filter","objectSpread_default","defineProperty_default","dispatch","component","componentNormalizer","_vm","_h","$createElement","_c","_self","staticClass","attrs","clearable","placeholder","$t","multiple","on","change","model","callback","$$v","expression","label","_v","_s","__file","UsersFilter","components_NewAccountDialogvue_type_script_lang_js_","name","props","dialogFormVisible","Boolean","default","newUserForm","nickname","email","password","rules","validator","validateUsername","trigger","validateEmail","validatePassword","isVisible","get","$props","set","closeDialogWindow","getLabelWidth","$emit","resetForm","_this","$nextTick","$refs","resetFields","submitForm","formName","_this2","validate","valid","$message","message","rule","Error","validEmail","validNickname","NewAccountDialog_component","visible","show-close","title","custom-class","update:visible","$event","open","ref","label-width","status-icon","prop","autofocus","$set","autocomplete","slot","click","NewAccountDialog","views_usersvue_type_script_lang_js_","components","MultipleUsersMenu","search","selectedUsers","createAccountDialogOpen","resetPasswordDialogOpen","loading","normalizedUsersCount","numeral_default","totalUsersCount","format","fetchedUsers","usersCount","pageSize","passwordResetLink","passwordResetToken","link","token","currentPage","isMobile","width","created","handleDebounceSearchInput","lodash_debounce_default","query","page","mounted","activationIcon","status","clearSelection","usersTable","createNewAccount","_createNewAccount","asyncToGenerator_default","regenerator_default","a","mark","_callee","accountData","wrap","_context","prev","next","stop","_x","getFirstLetter","str","charAt","toUpperCase","getPasswordResetToken","requirePasswordReset","user","nodeInfo","metadata","mailerEnabled","$alert","toggleActivation","deactivated","handleDeletion","handlePageChange","searchQuery","handleSelectionChange","closeResetPasswordDialog","showAdminAction","_ref","local","id","showDeactivatedButton","toggleTag","tag","tags","includes","toggleUserRight","right","roles","handleEmailConfirmation","handleConfirmationResend","users_component","input","selected-users","apply-action","dialog-form-visible","closeWindow","directives","rawName","staticStyle","row-key","selection-change","reserve-selection","align","_e","min-width","scopedSlots","_u","key","fn","scope","to","params","row","size","class","content","effect","fixed","hide-on-click","nativeOn","admin","moderator","divided","confirmation_pending","active-tag","close","href","target","total","current-page","page-size","background","layout","current-change","__webpack_exports__","components_MultipleUsersMenuvue_type_script_lang_js_","Array","showDropdownForMultipleUsers","mappers","applyAction","dispatchAction","_x2","grantRight","addRightFn","_ref2","_callee2","_context2","abrupt","sent","_x3","filtered","revokeRight","deleteRightFn","_ref3","_callee3","_context3","_x4","activate","_ref4","_callee4","_context4","_x5","deactivate","_ref5","_callee5","_context5","_x6","remove","_ref6","_callee6","_context6","_x7","addTag","_ref7","_callee7","_context7","_x8","removeTag","_callee9","_context9","_ref9","_callee8","_context8","_x9","map","confirmAccounts","_ref10","_callee10","_context10","_x10","resendConfirmation","_ref11","_callee11","_context11","_x11","grantRightToMultipleUsers","confirmMessage","revokeRightFromMultipleUsers","activateMultipleUsers","deactivateMultipleUsers","deleteMultipleUsers","addTagForMultipleUsers","removeTagFromMultipleUsers","confirmAccountsForMultipleUsers","resendConfirmationForMultipleUsers","$confirm","confirmButtonText","cancelButtonText","then","catch","placement"],"mappings":"iIAAA,IAAAA,EAAAC,EAAA,QAAAA,EAAAC,EAAAF,GAAud,2BCAvd,SAAAG,GAUA,IAAAC,EAAA,sBAGAC,EAAA,IAGAC,EAAA,kBAGAC,EAAA,aAGAC,EAAA,qBAGAC,EAAA,aAGAC,EAAA,cAGAC,EAAAC,SAGAC,EAAA,iBAAAV,QAAAW,iBAAAX,EAGAY,EAAA,iBAAAC,iBAAAF,iBAAAE,KAGAC,EAAAJ,GAAAE,GAAAG,SAAA,cAAAA,GAUAC,EAPAL,OAAAM,UAOAC,SAGAC,EAAAC,KAAAC,IACAC,EAAAF,KAAAG,IAkBAC,EAAA,WACA,OAAAV,EAAAW,KAAAD,OA4MA,SAAAE,EAAAC,GACA,IAAAC,SAAAD,EACA,QAAAA,IAAA,UAAAC,GAAA,YAAAA,GA4EA,SAAAC,EAAAF,GACA,oBAAAA,EACA,OAAAA,EAEA,GAhCA,SAAAA,GACA,uBAAAA,GAtBA,SAAAA,GACA,QAAAA,GAAA,iBAAAA,EAsBAG,CAAAH,IAAAX,EAAAe,KAAAJ,IAAAxB,EA8BA6B,CAAAL,GACA,OAAAzB,EAEA,GAAAwB,EAAAC,GAAA,CACA,IAAAM,EAAA,mBAAAN,EAAAO,QAAAP,EAAAO,UAAAP,EACAA,EAAAD,EAAAO,KAAA,GAAAA,EAEA,oBAAAN,EACA,WAAAA,OAEAA,IAAAQ,QAAA/B,EAAA,IACA,IAAAgC,EAAA9B,EAAA+B,KAAAV,GACA,OAAAS,GAAA7B,EAAA8B,KAAAV,GACAnB,EAAAmB,EAAAW,MAAA,GAAAF,EAAA,KACA/B,EAAAgC,KAAAV,GAAAzB,GAAAyB,EAGAY,EAAAC,QAtPA,SAAAC,EAAAC,EAAAC,GACA,IAAAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAAA,EACAC,GAAA,EACAC,GAAA,EACAC,GAAA,EAEA,sBAAAZ,EACA,UAAAa,UAAArD,GAUA,SAAAsD,EAAAC,GACA,IAAAC,EAAAb,EACAc,EAAAb,EAKA,OAHAD,EAAAC,OAAAc,EACAT,EAAAM,EACAT,EAAAN,EAAAmB,MAAAF,EAAAD,GAqBA,SAAAI,EAAAL,GACA,IAAAM,EAAAN,EAAAP,EAMA,YAAAU,IAAAV,GAAAa,GAAApB,GACAoB,EAAA,GAAAV,GANAI,EAAAN,GAMAJ,EAGA,SAAAiB,IACA,IAAAP,EAAAhC,IACA,GAAAqC,EAAAL,GACA,OAAAQ,EAAAR,GAGAR,EAAAiB,WAAAF,EAzBA,SAAAP,GACA,IAEAT,EAAAL,GAFAc,EAAAP,GAIA,OAAAG,EAAA9B,EAAAyB,EAAAD,GAHAU,EAAAN,IAGAH,EAoBAmB,CAAAV,IAGA,SAAAQ,EAAAR,GAKA,OAJAR,OAAAW,EAIAN,GAAAT,EACAW,EAAAC,IAEAZ,EAAAC,OAAAc,EACAZ,GAeA,SAAAoB,IACA,IAAAX,EAAAhC,IACA4C,EAAAP,EAAAL,GAMA,GAJAZ,EAAAyB,UACAxB,EAAAyB,KACArB,EAAAO,EAEAY,EAAA,CACA,QAAAT,IAAAX,EACA,OAvEA,SAAAQ,GAMA,OAJAN,EAAAM,EAEAR,EAAAiB,WAAAF,EAAArB,GAEAS,EAAAI,EAAAC,GAAAT,EAiEAwB,CAAAtB,GAEA,GAAAG,EAGA,OADAJ,EAAAiB,WAAAF,EAAArB,GACAa,EAAAN,GAMA,YAHAU,IAAAX,IACAA,EAAAiB,WAAAF,EAAArB,IAEAK,EAIA,OAxGAL,EAAAb,EAAAa,IAAA,EACAhB,EAAAiB,KACAQ,IAAAR,EAAAQ,QAEAL,GADAM,EAAA,YAAAT,GACAxB,EAAAU,EAAAc,EAAAG,UAAA,EAAAJ,GAAAI,EACAO,EAAA,aAAAV,MAAAU,YAiGAc,EAAAK,OAnCA,gBACAb,IAAAX,GACAyB,aAAAzB,GAEAE,EAAA,EACAN,EAAAK,EAAAJ,EAAAG,OAAAW,GA+BAQ,EAAAO,MA5BA,WACA,YAAAf,IAAAX,EAAAD,EAAAiB,EAAAxC,MA4BA2C,6DCzPA,IAAAQ,EAAA7E,EAAA,QAAAA,EAAAC,EAAA4E,GAAof,qCCApf,IAAAC,EAAA9E,EAAA,QAAAA,EAAAC,EAAA6E,GAAugB,4DCAvgB,IAAAC,EAAA/E,EAAA,QAAAA,EAAAC,EAAA8E,GAA6gB,qECA7gB,kICAsNC,GCqBtNC,KADA,WAEA,OACApD,WAGAqD,UACAC,UADA,WAEA,kBAAAX,KAAAY,OAAAC,MAAAC,IAAAC,SAGAC,SACAC,sBADA,WAEA,IAAAC,EAAA7E,OAAA8E,KAAAnB,KAAAY,OAAAC,MAAAO,MAAAC,SAAAC,OACAC,EAAAvB,KAAAwB,MAAAnE,MAAAW,QACAyD,EAAAF,EAAAG,QAAA,SACAC,EAAAJ,EAAAG,QAAA,YACAE,EAAAL,EAAAG,QAAA,UACAG,EAAAN,EAAAG,QAAA,eACA,GAAAH,EAAAD,SAAAJ,EACA,SACA,GAAAO,GAAA,GAAAE,GAAA,GACA,IAAAG,EAAAL,EAAAE,IAAAF,EACAF,EAAAQ,OAAAD,EAAA,QACA,GAAAF,GAAA,GAAAC,GAAA,GACA,IAAAG,EAAAJ,EAAAC,IAAAD,EACAL,EAAAQ,OAAAC,EAAA,GAEA,OAAAT,GAEAU,cAnBA,WAoBAjC,KAAAwB,MAAAnE,MAAA2C,KAAAiB,wBACA,IAAAM,EAAAvB,KAAAwB,MAAAnE,MAAA6E,OAAA,SAAAC,EAAAC,GAAA,OAAAC,OAAAF,EAAAG,OAAAF,GAAA,SACApC,KAAAY,OAAA2B,SAAA,oBAAAhB,8BC7CAiB,EAAgBnG,OAAAoG,EAAA,EAAApG,CACdmE,ECTQ,WAAgB,IAAAkC,EAAA1C,KAAa2C,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,aAAuBE,YAAA,eAAAC,OAAkCC,UAAAP,EAAA/B,UAAAuC,YAAAR,EAAAS,GAAA,gCAAAC,SAAA,IAA6FC,IAAKC,OAAAZ,EAAAT,eAA2BsB,OAAQlG,MAAAqF,EAAA,MAAAc,SAAA,SAAAC,GAA2Cf,EAAArF,MAAAoG,GAAcC,WAAA,WAAqBb,EAAA,mBAAwBG,OAAOW,MAAAjB,EAAAS,GAAA,6BAA0CN,EAAA,aAAkBG,OAAO3F,MAAA,WAAiBqF,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,yBAAAT,EAAAkB,GAAA,KAAAf,EAAA,aAA4EG,OAAO3F,MAAA,cAAoBqF,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,gCAAAT,EAAAkB,GAAA,KAAAf,EAAA,mBAAyFG,OAAOW,MAAAjB,EAAAS,GAAA,2BAAwCN,EAAA,aAAkBG,OAAO3F,MAAA,YAAkBqF,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,0BAAAT,EAAAkB,GAAA,KAAAf,EAAA,aAA6EG,OAAO3F,MAAA,iBAAuBqF,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,4CDY71B,EACA,KACA,WACA,MAIAX,EAAAnE,QAAAyF,OAAA,kBACe,IAAAC,EAAAvB,sBEpB4MwB,GC2B3NC,KAAA,mBACAC,OACAC,mBACA7G,KAAA8G,QACAC,QAAA,WACA,YAIA5D,KAVA,WAWA,OACA6D,aACAC,SAAA,GACAC,MAAA,GACAC,SAAA,IAEAC,OACAH,WACAI,UAAA3E,KAAA4E,iBAAAC,QAAA,SAEAL,QACAG,UAAA3E,KAAA8E,cAAAD,QAAA,SAEAJ,WACAE,UAAA3E,KAAA+E,iBAAAF,QAAA,YAKAnE,UACAC,UADA,WAEA,kBAAAX,KAAAY,OAAAC,MAAAC,IAAAC,QAEAiE,WACAC,IADA,WAEA,OAAAjF,KAAAkF,OAAAf,mBAEAgB,IAJA,WAKAnF,KAAAoF,sBAGAC,cAZA,WAaA,OAAArF,KAAAW,UAAA,iBAGAK,SACAoE,kBADA,WAEApF,KAAAsF,MAAA,gBAEAC,UAJA,WAIA,IAAAC,EAAAxF,KACAA,KAAAyF,UAAA,WACAD,EAAAE,MAAA,YAAAC,iBAGAC,WATA,SASAC,GAAA,IAAAC,EAAA9F,KACAA,KAAA0F,MAAAG,GAAAE,SAAA,SAAAC,GACA,IAAAA,EAOA,OAJAF,EAAAG,UACA3I,KAAA,QACA4I,QAAAJ,EAAA3C,GAAA,4BAEA,EANA2C,EAAAR,MAAA,mBAAAQ,EAAAtE,MAAA8C,gBAUAQ,cAtBA,SAsBAqB,EAAA9I,EAAAmG,GACA,WAAAnG,EACAmG,EAAA,IAAA4C,MAAApG,KAAAmD,GAAA,2BACAnD,KAAAqG,WAAAhJ,GAGAmG,IAFAA,EAAA,IAAA4C,MAAApG,KAAAmD,GAAA,8BAKA4B,iBA/BA,SA+BAoB,EAAA9I,EAAAmG,GACA,WAAAnG,EACAmG,EAAA,IAAA4C,MAAApG,KAAAmD,GAAA,8BAEAK,KAGAoB,iBAtCA,SAsCAuB,EAAA9I,EAAAmG,GACA,WAAAnG,EACAmG,EAAA,IAAA4C,MAAApG,KAAAmD,GAAA,8BACAnD,KAAAsG,cAAAjJ,GAGAmG,IAFAA,EAAA,IAAA4C,MAAApG,KAAAmD,GAAA,iCAKAkD,WA/CA,SA+CA7B,GAEA,MADA,wIACAzG,KAAAyG,IAEA8B,cAnDA,SAmDA/B,GAEA,MADA,gBACAxG,KAAAwG,MCrHIgC,aAAYlK,OAAAoG,EAAA,EAAApG,CACd2H,ECTQ,WAAgB,IAAAtB,EAAA1C,KAAa2C,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,aAAuBG,OAAOwD,QAAA9D,EAAAsC,UAAAyB,cAAA,EAAAC,MAAAhE,EAAAS,GAAA,uBAAAwD,eAAA,sBAAqHtD,IAAKuD,iBAAA,SAAAC,GAAkCnE,EAAAsC,UAAA6B,GAAqBC,KAAApE,EAAA6C,aAAuB1C,EAAA,WAAgBkE,IAAA,cAAA/D,OAAyBO,MAAAb,EAAA4B,YAAAI,MAAAhC,EAAAgC,MAAAsC,cAAAtE,EAAA2C,cAAA4B,cAAA,MAA4FpE,EAAA,gBAAqBE,YAAA,2BAAAC,OAA8CW,MAAAjB,EAAAS,GAAA,kBAAA+D,KAAA,cAAoDrE,EAAA,YAAiBG,OAAOiB,KAAA,WAAAkD,UAAA,IAAiC5D,OAAQlG,MAAAqF,EAAA4B,YAAA,SAAAd,SAAA,SAAAC,GAA0Df,EAAA0E,KAAA1E,EAAA4B,YAAA,WAAAb,IAA2CC,WAAA,2BAAoC,GAAAhB,EAAAkB,GAAA,KAAAf,EAAA,gBAAqCE,YAAA,2BAAAC,OAA8CW,MAAAjB,EAAAS,GAAA,eAAA+D,KAAA,WAA8CrE,EAAA,YAAiBG,OAAOiB,KAAA,QAAA3G,KAAA,SAA8BiG,OAAQlG,MAAAqF,EAAA4B,YAAA,MAAAd,SAAA,SAAAC,GAAuDf,EAAA0E,KAAA1E,EAAA4B,YAAA,QAAAb,IAAwCC,WAAA,wBAAiC,GAAAhB,EAAAkB,GAAA,KAAAf,EAAA,gBAAqCE,YAAA,0CAAAC,OAA6DW,MAAAjB,EAAAS,GAAA,kBAAA+D,KAAA,cAAoDrE,EAAA,YAAiBG,OAAO1F,KAAA,WAAA2G,KAAA,WAAAoD,aAAA,OAAyD9D,OAAQlG,MAAAqF,EAAA4B,YAAA,SAAAd,SAAA,SAAAC,GAA0Df,EAAA0E,KAAA1E,EAAA4B,YAAA,WAAAb,IAA2CC,WAAA,2BAAoC,OAAAhB,EAAAkB,GAAA,KAAAf,EAAA,QAAiCG,OAAOsE,KAAA,UAAgBA,KAAA,WAAezE,EAAA,aAAkBQ,IAAIkE,MAAA7E,EAAA0C,qBAA+B1C,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,oBAAAT,EAAAkB,GAAA,KAAAf,EAAA,aAAuEG,OAAO1F,KAAA,WAAiB+F,IAAKkE,MAAA,SAAAV,GAAyB,OAAAnE,EAAAkD,WAAA,mBAAuClD,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,iCDY5tD,EACA,KACA,KACA,OAIAoD,EAASlI,QAAAyF,OAAA,uBACM,IAAA0D,EAAAjB,UEpB2LkB,GCmM1MxD,KAAA,QACAyD,YACA3D,cACA4D,oBAAA,EACAH,oBAEA/G,KAPA,WAQA,OACAmH,OAAA,GACAC,iBACAC,yBAAA,EACAC,yBAAA,IAGArH,UACAsH,QADA,WAEA,OAAAhI,KAAAY,OAAAC,MAAAO,MAAA4G,SAEAC,qBAJA,WAKA,OAAAC,IAAAlI,KAAAY,OAAAC,MAAAO,MAAA+G,iBAAAC,OAAA,OAEAhH,MAPA,WAQA,OAAApB,KAAAY,OAAAC,MAAAO,MAAAiH,cAEAC,WAVA,WAWA,OAAAtI,KAAAY,OAAAC,MAAAO,MAAA+G,iBAEAI,SAbA,WAcA,OAAAvI,KAAAY,OAAAC,MAAAO,MAAAmH,UAEAC,kBAhBA,WAiBA,OAAAxI,KAAAY,OAAAC,MAAAO,MAAAqH,mBAAAC,MAEAD,mBAnBA,WAoBA,OAAAzI,KAAAY,OAAAC,MAAAO,MAAAqH,mBAAAE,OAEAC,YAtBA,WAuBA,OAAA5I,KAAAY,OAAAC,MAAAO,MAAAwH,aAEAjI,UAzBA,WA0BA,kBAAAX,KAAAY,OAAAC,MAAAC,IAAAC,QAEA8H,SA5BA,WA6BA,iBAAA7I,KAAAY,OAAAC,MAAAC,IAAAC,QAEA+H,MA/BA,WAgCA,QAAA9I,KAAA6I,UAAA,KAGAE,QAlDA,WAkDA,IAAAvD,EAAAxF,KACAA,KAAAgJ,0BAAAC,IAAA,SAAAC,GACA1D,EAAA5E,OAAA2B,SAAA,eAAA2G,QAAAC,KAAA,KACA,MAEAC,QAAA,WACApJ,KAAAY,OAAA2B,SAAA,cAAA4G,KAAA,KAEAnI,SACAqI,eADA,SACAC,GACA,OAAAA,EAAA,mCAEAC,eAJA,WAKAvJ,KAAA0F,MAAA8D,WAAAD,kBAEAE,iBAPA,eAAAC,EAAAC,IAAAC,EAAAC,EAAAC,KAAA,SAAAC,EAOAC,GAPA,OAAAJ,EAAAC,EAAAI,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EAQApK,KAAAY,OAAA2B,SAAA,mBAAAyH,GARA,OASAhK,KAAA8H,yBAAA,EATA,wBAAAoC,EAAAG,SAAAN,EAAA/J,SAAA,gBAAAsK,GAAA,OAAAZ,EAAApK,MAAAU,KAAAD,YAAA,GAWAwK,eAXA,SAWAC,GACA,OAAAA,EAAAC,OAAA,GAAAC,eAEAC,sBAdA,SAcApG,GACAvE,KAAA+H,yBAAA,EACA/H,KAAAY,OAAA2B,SAAA,wBAAAgC,IAEAqG,qBAlBA,SAkBArG,GACAvE,KAAAY,OAAAC,MAAAgK,KAAAC,SAAAC,SAAAC,cAQAhL,KAAAY,OAAA2B,SAAA,wBAAAgC,aALAvE,KAAAiL,OAAAjL,KAAAmD,GAAA,sCAAA7F,KAAA,WAOA4N,iBA7BA,SA6BAL,GACAA,EAAAM,YACAnL,KAAAY,OAAA2B,SAAA,iBAAAsI,IACA7K,KAAAY,OAAA2B,SAAA,mBAAAsI,KAEAO,eAlCA,SAkCAP,GACA7K,KAAAY,OAAA2B,SAAA,eAAAsI,KAEAQ,iBArCA,SAqCAlC,GACA,IAAAmC,EAAAtL,KAAAY,OAAAC,MAAAO,MAAAkK,YACA,KAAAA,EACAtL,KAAAY,OAAA2B,SAAA,cAAA4G,SAEAnJ,KAAAY,OAAA2B,SAAA,eAAA2G,MAAAoC,EAAAnC,UAGAoC,sBA7CA,SA6CAlO,GACA2C,KAAAwB,MAAAqG,cAAAxK,GAEAmO,yBAhDA,WAiDAxL,KAAA+H,yBAAA,EACA/H,KAAAY,OAAA2B,SAAA,wBAEAkJ,gBApDA,SAAAC,GAoDA,IAAAC,EAAAD,EAAAC,MAAAC,EAAAF,EAAAE,GACA,OAAAD,GAAA3L,KAAA6L,sBAAAD,IAEAC,sBAvDA,SAuDAD,GACA,OAAA5L,KAAAY,OAAAC,MAAAgK,KAAAe,QAEAE,UA1DA,SA0DAjB,EAAAkB,GACAlB,EAAAmB,KAAAC,SAAAF,GACA/L,KAAAY,OAAA2B,SAAA,aAAAnB,OAAAyJ,GAAAkB,QACA/L,KAAAY,OAAA2B,SAAA,UAAAnB,OAAAyJ,GAAAkB,SAEAG,gBA/DA,SA+DArB,EAAAsB,GACAtB,EAAAuB,MAAAD,GACAnM,KAAAY,OAAA2B,SAAA,eAAAnB,OAAAyJ,GAAAsB,UACAnM,KAAAY,OAAA2B,SAAA,YAAAnB,OAAAyJ,GAAAsB,WAEAE,wBApEA,SAoEAxB,GACA7K,KAAAY,OAAA2B,SAAA,qBAAAsI,KAEAyB,yBAvEA,SAuEAzB,GACA7K,KAAAY,OAAA2B,SAAA,2BAAAsI,OC5TI0B,aAAYlQ,OAAAoG,EAAA,EAAApG,CACdoL,EXTF,WAA0B,IAAA/E,EAAA1C,KAAa2C,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBE,YAAA,oBAA8BF,EAAA,MAAAH,EAAAkB,GAAA,SAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,0BAAAN,EAAA,QAA8EE,YAAA,eAAyBL,EAAAkB,GAAA,IAAAlB,EAAAmB,GAAAnB,EAAAuF,sBAAA,SAAAvF,EAAAkB,GAAA,KAAAf,EAAA,OAA6EE,YAAA,qBAA+BF,EAAA,gBAAAH,EAAAkB,GAAA,KAAAf,EAAA,YAAgDE,YAAA,SAAAC,OAA4BE,YAAAR,EAAAS,GAAA,iBAAqCE,IAAKmJ,MAAA9J,EAAAsG,2BAAsCzF,OAAQlG,MAAAqF,EAAA,OAAAc,SAAA,SAAAC,GAA4Cf,EAAAkF,OAAAnE,GAAeC,WAAA,aAAsB,GAAAhB,EAAAkB,GAAA,KAAAf,EAAA,OAA4BE,YAAA,sBAAgCF,EAAA,aAAkBE,YAAA,gCAAAM,IAAgDkE,MAAA,SAAAV,GAAyBnE,EAAAoF,yBAAA,MAAqCjF,EAAA,QAAAA,EAAA,KAAqBE,YAAA,iBAA2BL,EAAAkB,GAAA,aAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,wCAAAT,EAAAkB,GAAA,KAAAf,EAAA,uBAAkHG,OAAOyJ,iBAAA/J,EAAAmF,eAAmCxE,IAAKqJ,eAAAhK,EAAA6G,mBAAmC,GAAA7G,EAAAkB,GAAA,KAAAf,EAAA,sBAA2CG,OAAO2J,sBAAAjK,EAAAoF,yBAAkDzE,IAAKoG,iBAAA/G,EAAA+G,iBAAAmD,YAAA,SAAA/F,GAAuEnE,EAAAoF,yBAAA,MAAsCpF,EAAAkB,GAAA,KAAAf,EAAA,YAA6BgK,aAAa5I,KAAA,UAAA6I,QAAA,YAAAzP,MAAAqF,EAAA,QAAAgB,WAAA,YAA4EqD,IAAA,aAAAgG,aAAgCjE,MAAA,QAAe9F,OAAQvC,KAAAiC,EAAAtB,MAAA4L,UAAA,MAAgC3J,IAAK4J,mBAAAvK,EAAA6I,yBAA8C7I,EAAA,UAAAG,EAAA,mBAAwCG,OAAO1F,KAAA,YAAA4P,oBAAA,GAAApE,MAAA,KAAAqE,MAAA,YAAyEzK,EAAA0K,KAAA1K,EAAAkB,GAAA,KAAAf,EAAA,mBAA6CG,OAAOqK,YAAA3K,EAAAoG,MAAAnF,MAAAjB,EAAAS,GAAA,YAAA+D,KAAA,QAA8DxE,EAAAkB,GAAA,KAAAf,EAAA,mBAAoCG,OAAOW,MAAAjB,EAAAS,GAAA,cAAA+D,KAAA,YAA+CoG,YAAA5K,EAAA6K,KAAsBC,IAAA,UAAAC,GAAA,SAAAC,GAAiC,OAAA7K,EAAA,eAA0BG,OAAO2K,IAAM1J,KAAA,YAAA2J,QAA6BhC,GAAA8B,EAAAG,IAAAjC,QAAsBlJ,EAAAkB,GAAAlB,EAAAmB,GAAA6J,EAAAG,IAAAtJ,aAAA7B,EAAAkB,GAAA,KAAAlB,EAAA,UAAAG,EAAA,UAAgFG,OAAO1F,KAAA,OAAAwQ,KAAA,UAA6BjL,EAAA,QAAAH,EAAAkB,GAAAlB,EAAAmB,GAAA6J,EAAAG,IAAAlC,MAAAjJ,EAAAS,GAAA,eAAAT,EAAAS,GAAA,wBAAAT,EAAA0K,YAAkH1K,EAAAkB,GAAA,KAAAf,EAAA,mBAAoCG,OAAOqK,YAAA3K,EAAAoG,MAAAnF,MAAAjB,EAAAS,GAAA,iBAAqDmK,YAAA5K,EAAA6K,KAAsBC,IAAA,UAAAC,GAAA,SAAAC,GAAiC,OAAA7K,EAAA,UAAqBG,OAAO1F,KAAAoQ,EAAAG,IAAA1C,YAAA,sBAAqDzI,EAAA,UAAAG,EAAA,QAAAH,EAAAkB,GAAAlB,EAAAmB,GAAA6J,EAAAG,IAAA1C,YAAAzI,EAAAS,GAAA,qBAAAT,EAAAS,GAAA,oBAAAN,EAAA,KAAoIkL,MAAArL,EAAA2G,eAAAqE,EAAAG,IAAA1C,iBAAgDzI,EAAAkB,GAAA,KAAA8J,EAAAG,IAAAzB,MAAA,MAAAvJ,EAAA,UAAAA,EAAA,QAAAH,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAA/B,UAAA+B,EAAAS,GAAA,eAAAT,EAAA6H,eAAA7H,EAAAS,GAAA,sBAAAT,EAAA0K,KAAA1K,EAAAkB,GAAA,KAAA8J,EAAAG,IAAAzB,MAAA,UAAAvJ,EAAA,UAAAA,EAAA,QAAAH,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAA/B,UAAA+B,EAAAS,GAAA,mBAAAT,EAAA6H,eAAA7H,EAAAS,GAAA,0BAAAT,EAAA0K,KAAA1K,EAAAkB,GAAA,KAAAf,EAAA,cAAmYG,OAAOgL,QAAAtL,EAAAS,GAAA,0BAAA8K,OAAA,UAA4DP,EAAAG,IAAA,qBAAAhL,EAAA,UAAgDG,OAAO1F,KAAA,UAAeoF,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAA/B,UAAA+B,EAAAS,GAAA,qBAAAT,EAAA6H,eAAA7H,EAAAS,GAAA,yCAAAT,EAAA0K,MAAA,UAAoK1K,EAAAkB,GAAA,KAAAf,EAAA,mBAAoCG,OAAOW,MAAAjB,EAAAS,GAAA,iBAAA+K,MAAA,SAAgDZ,YAAA5K,EAAA6K,KAAsBC,IAAA,UAAAC,GAAA,SAAAC,GAAiC,OAAA7K,EAAA,eAA0BG,OAAOmL,iBAAA,EAAAL,KAAA,QAAAjJ,QAAA,WAAwDhC,EAAA,QAAaE,YAAA,qBAA+BL,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,uCAAAT,EAAA,UAAAG,EAAA,KAAuGE,YAAA,sCAAgDL,EAAA0K,OAAA1K,EAAAkB,GAAA,KAAAf,EAAA,oBAAgDG,OAAOsE,KAAA,YAAkBA,KAAA,aAAiB5E,EAAA+I,gBAAAiC,EAAAG,KAAAhL,EAAA,oBAA0DuL,UAAU7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAwJ,gBAAAwB,EAAAG,IAAA,aAAiDnL,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAA6J,EAAAG,IAAAzB,MAAAiC,MAAA3L,EAAAS,GAAA,qBAAAT,EAAAS,GAAA,yCAAAT,EAAA0K,KAAA1K,EAAAkB,GAAA,KAAAlB,EAAA+I,gBAAAiC,EAAAG,KAAAhL,EAAA,oBAAsNuL,UAAU7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAwJ,gBAAAwB,EAAAG,IAAA,iBAAqDnL,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAA6J,EAAAG,IAAAzB,MAAAkC,UAAA5L,EAAAS,GAAA,yBAAAT,EAAAS,GAAA,6CAAAT,EAAA0K,KAAA1K,EAAAkB,GAAA,KAAAlB,EAAAmJ,sBAAA6B,EAAAG,IAAAjC,IAAA/I,EAAA,oBAA2OG,OAAOuL,QAAA7L,EAAA+I,gBAAAiC,EAAAG,MAAyCO,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAwI,iBAAAwC,EAAAG,SAAyCnL,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAA6J,EAAAG,IAAA1C,YAAAzI,EAAAS,GAAA,yBAAAT,EAAAS,GAAA,gDAAAT,EAAA0K,KAAA1K,EAAAkB,GAAA,KAAAlB,EAAAmJ,sBAAA6B,EAAAG,IAAAjC,IAAA/I,EAAA,oBAA0OuL,UAAU7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA0I,eAAAsC,EAAAG,SAAuCnL,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,4CAAAT,EAAA0K,KAAA1K,EAAAkB,GAAA,KAAA8J,EAAAG,IAAAlC,OAAA+B,EAAAG,IAAAW,qBAAA3L,EAAA,oBAAsLG,OAAOuL,QAAA,IAAaH,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA2J,wBAAAqB,EAAAG,SAAgDnL,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,6CAAAT,EAAA0K,KAAA1K,EAAAkB,GAAA,KAAA8J,EAAAG,IAAAlC,OAAA+B,EAAAG,IAAAW,qBAAA3L,EAAA,oBAAuLuL,UAAU7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA4J,yBAAAoB,EAAAG,SAAiDnL,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,iDAAAT,EAAA0K,KAAA1K,EAAAkB,GAAA,KAAAf,EAAA,oBAAuIkL,OAAOU,aAAAf,EAAAG,IAAA7B,KAAAC,SAAA,eAAsDjJ,OAAQuL,QAAA7L,EAAA+I,gBAAAiC,EAAAG,MAAyCO,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAoJ,UAAA4B,EAAAG,IAAA,kBAAgDnL,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,wCAAAuK,EAAAG,IAAA7B,KAAAC,SAAA,cAAApJ,EAAA,KAAkIE,YAAA,kBAA4BL,EAAA0K,OAAA1K,EAAAkB,GAAA,KAAAf,EAAA,oBAAgDkL,OAAOU,aAAAf,EAAAG,IAAA7B,KAAAC,SAAA,gBAAuDmC,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAoJ,UAAA4B,EAAAG,IAAA,mBAAiDnL,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,yCAAAuK,EAAAG,IAAA7B,KAAAC,SAAA,eAAApJ,EAAA,KAAoIE,YAAA,kBAA4BL,EAAA0K,OAAA1K,EAAAkB,GAAA,KAAAf,EAAA,oBAAgDkL,OAAOU,aAAAf,EAAAG,IAAA7B,KAAAC,SAAA,mBAA0DmC,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAoJ,UAAA4B,EAAAG,IAAA,sBAAoDnL,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,4CAAAuK,EAAAG,IAAA7B,KAAAC,SAAA,kBAAApJ,EAAA,KAA0IE,YAAA,kBAA4BL,EAAA0K,OAAA1K,EAAAkB,GAAA,KAAAf,EAAA,oBAAgDkL,OAAOU,aAAAf,EAAAG,IAAA7B,KAAAC,SAAA,YAAmDmC,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAoJ,UAAA4B,EAAAG,IAAA,eAA6CnL,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,sCAAAuK,EAAAG,IAAA7B,KAAAC,SAAA,WAAApJ,EAAA,KAA6HE,YAAA,kBAA4BL,EAAA0K,OAAA1K,EAAAkB,GAAA,KAAA8J,EAAAG,IAAA,MAAAhL,EAAA,oBAAkEkL,OAAOU,aAAAf,EAAAG,IAAA7B,KAAAC,SAAA,gCAAuEmC,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAoJ,UAAA4B,EAAAG,IAAA,mCAAiEnL,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,wDAAAuK,EAAAG,IAAA7B,KAAAC,SAAA,+BAAApJ,EAAA,KAAmKE,YAAA,kBAA4BL,EAAA0K,OAAA1K,EAAA0K,KAAA1K,EAAAkB,GAAA,KAAA8J,EAAAG,IAAA,MAAAhL,EAAA,oBAA2EkL,OAAOU,aAAAf,EAAAG,IAAA7B,KAAAC,SAAA,6BAAoEmC,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAoJ,UAAA4B,EAAAG,IAAA,gCAA8DnL,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,qDAAAuK,EAAAG,IAAA7B,KAAAC,SAAA,4BAAApJ,EAAA,KAA6JE,YAAA,kBAA4BL,EAAA0K,OAAA1K,EAAA0K,KAAA1K,EAAAkB,GAAA,KAAA8J,EAAAG,IAAA,MAAAhL,EAAA,oBAA2EG,OAAOuL,QAAA,IAAaH,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAiI,sBAAA+C,EAAAG,IAAAtJ,cAAuD7B,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,oDAAAT,EAAA0K,KAAA1K,EAAAkB,GAAA,KAAA8J,EAAAG,IAAA,MAAAhL,EAAA,oBAA4JuL,UAAU7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAkI,qBAAA8C,EAAAG,IAAAtJ,cAAsD7B,EAAAkB,GAAA,mBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,mDAAAT,EAAA0K,MAAA,eAAmH,GAAA1K,EAAAkB,GAAA,KAAAf,EAAA,aAAkCgK,aAAa5I,KAAA,UAAA6I,QAAA,YAAAzP,MAAAqF,EAAA,QAAAgB,WAAA,YAA4EV,OAASwD,QAAA9D,EAAAqF,wBAAArB,MAAAhE,EAAAS,GAAA,mCAAAwD,eAAA,+BAAqItD,IAAKuD,iBAAA,SAAAC,GAAkCnE,EAAAqF,wBAAAlB,GAAmC6H,MAAAhM,EAAA8I,4BAAuC3I,EAAA,OAAAA,EAAA,KAAoBE,YAAA,yBAAmCL,EAAAkB,GAAA,uCAAAlB,EAAAmB,GAAAnB,EAAA+F,uBAAA/F,EAAAkB,GAAA,KAAAf,EAAA,KAAAH,EAAAkB,GAAA,2DAAAf,EAAA,KAAgLE,YAAA,sBAAAC,OAAyC2L,KAAAjM,EAAA8F,kBAAAoG,OAAA,YAAgDlM,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAA8F,4BAAA9F,EAAAkB,GAAA,KAAAlB,EAAAsF,QAAmTtF,EAAA0K,KAAnTvK,EAAA,OAAqFE,YAAA,eAAyBF,EAAA,iBAAsBG,OAAO6L,MAAAnM,EAAA4F,WAAAwG,eAAApM,EAAAkG,YAAAmG,YAAArM,EAAA6F,SAAAyG,WAAA,GAAAC,OAAA,qBAA4H5L,IAAK6L,iBAAAxM,EAAA2I,qBAAuC,YWYvuS,EACA,KACA,KACA,OAIAkB,EAASlO,QAAAyF,OAAA,YACMqL,EAAA,QAAA5C,6CCpBf,8CCA4N6C,GC+I5NlL,OACA2D,eACAvK,KAAA+R,MACAhL,QAAA,WACA,YAIA3D,UACA4O,6BADA,WAEA,OAAAtP,KAAAkF,OAAA2C,cAAAvG,OAAA,GAEAX,UAJA,WAKA,kBAAAX,KAAAY,OAAAC,MAAAC,IAAAC,SAGAC,SACAuO,QADA,WACA,IAAA/J,EAAAxF,KACAwP,EAAA,eAAA9D,EAAA/B,IAAAC,EAAAC,EAAAC,KAAA,SAAAC,EAAA3I,EAAAqO,GAAA,OAAA7F,EAAAC,EAAAI,KAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,cAAAF,EAAAE,KAAA,EACAqF,EAAArO,GADA,OAEAoE,EAAAF,MAAA,gBAFA,wBAAA4E,EAAAG,SAAAN,MAAA,gBAAAO,EAAAoF,GAAA,OAAAhE,EAAApM,MAAAU,KAAAD,YAAA,GAIA,OACA4P,WAAA,SAAAxD,GAAA,kBACA,IACAyD,EAAA,eAAAC,EAAAlG,IAAAC,EAAAC,EAAAC,KAAA,SAAAgG,EAAA1O,GAAA,OAAAwI,EAAAC,EAAAI,KAAA,SAAA8F,GAAA,cAAAA,EAAA5F,KAAA4F,EAAA3F,MAAA,cAAA2F,EAAA3F,KAAA,EAAA5E,EAAA5E,OAAA2B,SAAA,YAAAnB,QAAA+K,UAAA,cAAA4D,EAAAC,OAAA,SAAAD,EAAAE,MAAA,wBAAAF,EAAA1F,SAAAyF,MAAA,gBAAAI,GAAA,OAAAL,EAAAvQ,MAAAU,KAAAD,YAAA,GACAoQ,EAAA3K,EAAAqC,cAAAzF,OAFA,SAAAyI,GAAA,OAAAA,EAAAc,QAAAd,EAAAuB,MAAAD,IAAA3G,EAAA5E,OAAAC,MAAAgK,KAAAe,KAAAf,EAAAe,KAIA4D,EAAAW,EAAAP,KAEAQ,YAAA,SAAAjE,GAAA,kBACA,IACAkE,EAAA,eAAAC,EAAA3G,IAAAC,EAAAC,EAAAC,KAAA,SAAAyG,EAAAnP,GAAA,OAAAwI,EAAAC,EAAAI,KAAA,SAAAuG,GAAA,cAAAA,EAAArG,KAAAqG,EAAApG,MAAA,cAAAoG,EAAApG,KAAA,EAAA5E,EAAA5E,OAAA2B,SAAA,eAAAnB,QAAA+K,UAAA,cAAAqE,EAAAR,OAAA,SAAAQ,EAAAP,MAAA,wBAAAO,EAAAnG,SAAAkG,MAAA,gBAAAE,GAAA,OAAAH,EAAAhR,MAAAU,KAAAD,YAAA,GACAoQ,EAAA3K,EAAAqC,cAAAzF,OAFA,SAAAyI,GAAA,OAAAA,EAAAc,OAAAd,EAAAuB,MAAAD,IAAA3G,EAAA5E,OAAAC,MAAAgK,KAAAe,KAAAf,EAAAe,KAIA4D,EAAAW,EAAAE,KAEAK,SAAA,WACA,IAAAP,EAAA3K,EAAAqC,cAAAzF,OAAA,SAAAyI,GAAA,OAAAA,EAAAM,aAAA3F,EAAA5E,OAAAC,MAAAgK,KAAAe,KAAAf,EAAAe,KAGA4D,EAAAW,EAFA,eAAAQ,EAAAhH,IAAAC,EAAAC,EAAAC,KAAA,SAAA8G,EAAAxP,GAAA,OAAAwI,EAAAC,EAAAI,KAAA,SAAA4G,GAAA,cAAAA,EAAA1G,KAAA0G,EAAAzG,MAAA,cAAAyG,EAAAzG,KAAA,EAAA5E,EAAA5E,OAAA2B,SAAA,gBAAAnB,GAAA,cAAAyP,EAAAb,OAAA,SAAAa,EAAAZ,MAAA,wBAAAY,EAAAxG,SAAAuG,MAAA,gBAAAE,GAAA,OAAAH,EAAArR,MAAAU,KAAAD,YAAA,KAIAgR,WAAA,WACA,IAAAZ,EAAA3K,EAAAqC,cAAAzF,OAAA,SAAAyI,GAAA,OAAAA,EAAAM,aAAA3F,EAAA5E,OAAAC,MAAAgK,KAAAe,KAAAf,EAAAe,KAGA4D,EAAAW,EAFA,eAAAa,EAAArH,IAAAC,EAAAC,EAAAC,KAAA,SAAAmH,EAAA7P,GAAA,OAAAwI,EAAAC,EAAAI,KAAA,SAAAiH,GAAA,cAAAA,EAAA/G,KAAA+G,EAAA9G,MAAA,cAAA8G,EAAA9G,KAAA,EAAA5E,EAAA5E,OAAA2B,SAAA,kBAAAnB,GAAA,cAAA8P,EAAAlB,OAAA,SAAAkB,EAAAjB,MAAA,wBAAAiB,EAAA7G,SAAA4G,MAAA,gBAAAE,GAAA,OAAAH,EAAA1R,MAAAU,KAAAD,YAAA,KAIAqR,OAAA,WACA,IAAAjB,EAAA3K,EAAAqC,cAAAzF,OAAA,SAAAyI,GAAA,OAAArF,EAAA5E,OAAAC,MAAAgK,KAAAe,KAAAf,EAAAe,KAGA4D,EAAAW,EAFA,eAAAkB,EAAA1H,IAAAC,EAAAC,EAAAC,KAAA,SAAAwH,EAAAlQ,GAAA,OAAAwI,EAAAC,EAAAI,KAAA,SAAAsH,GAAA,cAAAA,EAAApH,KAAAoH,EAAAnH,MAAA,cAAAmH,EAAAnH,KAAA,EAAA5E,EAAA5E,OAAA2B,SAAA,cAAAnB,GAAA,cAAAmQ,EAAAvB,OAAA,SAAAuB,EAAAtB,MAAA,wBAAAsB,EAAAlH,SAAAiH,MAAA,gBAAAE,GAAA,OAAAH,EAAA/R,MAAAU,KAAAD,YAAA,KAIA0R,OAAA,SAAA1F,GAAA,kBACA,IAAAoE,EAAA3K,EAAAqC,cAAAzF,OAAA,SAAAyI,GAAA,MACA,gCAAAkB,GAAA,6BAAAA,EACAlB,EAAAc,QAAAd,EAAAmB,KAAAC,SAAAF,IACAlB,EAAAmB,KAAAC,SAAAF,KAGAyD,EAAAW,EAFA,eAAAuB,EAAA/H,IAAAC,EAAAC,EAAAC,KAAA,SAAA6H,EAAAvQ,GAAA,OAAAwI,EAAAC,EAAAI,KAAA,SAAA2H,GAAA,cAAAA,EAAAzH,KAAAyH,EAAAxH,MAAA,cAAAwH,EAAAxH,KAAA,EAAA5E,EAAA5E,OAAA2B,SAAA,UAAAnB,QAAA2K,QAAA,cAAA6F,EAAA5B,OAAA,SAAA4B,EAAA3B,MAAA,wBAAA2B,EAAAvH,SAAAsH,MAAA,gBAAAE,GAAA,OAAAH,EAAApS,MAAAU,KAAAD,YAAA,MAIA+R,UAAA,SAAA/F,GAAA,OAAApC,GAAA,CAAAC,EAAAC,EAAAC,KAAA,SAAAiI,IAAA,IAAA5B,EAAA,OAAAvG,EAAAC,EAAAI,KAAA,SAAA+H,GAAA,cAAAA,EAAA7H,KAAA6H,EAAA5H,MAAA,OACA+F,EAAA3K,EAAAqC,cAAAzF,OAAA,SAAAyI,GAAA,MACA,gCAAAkB,GAAA,6BAAAA,EACAlB,EAAAc,OAAAd,EAAAmB,KAAAC,SAAAF,GACAlB,EAAAmB,KAAAC,SAAAF,KAGAyD,EAAAW,EAPA,eAAA8B,EAAAtI,IAAAC,EAAAC,EAAAC,KAKA,SAAAoI,EAAA9Q,GAAA,OAAAwI,EAAAC,EAAAI,KAAA,SAAAkI,GAAA,cAAAA,EAAAhI,KAAAgI,EAAA/H,MAAA,cAAA+H,EAAA/H,KAAA,EAAA5E,EAAA5E,OAAA2B,SAAA,aAAAnB,QAAA2K,QAAA,cAAAoG,EAAAnC,OAAA,SAAAmC,EAAAlC,MAAA,wBAAAkC,EAAA9H,SAAA6H,MALA,gBAAAE,GAAA,OAAAH,EAAA3S,MAAAU,KAAAD,YAAA,4BAAAiS,EAAA3H,SAAA0H,OASAnH,qBAAA,WACApF,EAAAqC,cAAAzF,OAAA,SAAAyI,GAAA,OAAAA,EAAAc,QACA0G,IAAA,SAAAxH,GAAA,OAAArF,EAAA5E,OAAA2B,SAAA,uBAAAsI,KACArF,EAAAF,MAAA,iBAEAgN,gBAAA,WACA,IAAAnC,EAAA3K,EAAAqC,cAAAzF,OAAA,SAAAyI,GAAA,OAAAA,EAAAc,OAAAd,EAAA2D,uBAGAgB,EAAAW,EAFA,eAAAoC,EAAA5I,IAAAC,EAAAC,EAAAC,KAAA,SAAA0I,EAAApR,GAAA,OAAAwI,EAAAC,EAAAI,KAAA,SAAAwI,GAAA,cAAAA,EAAAtI,KAAAsI,EAAArI,MAAA,cAAAqI,EAAArI,KAAA,EAAA5E,EAAA5E,OAAA2B,SAAA,oBAAAnB,GAAA,cAAAqR,EAAAzC,OAAA,SAAAyC,EAAAxC,MAAA,wBAAAwC,EAAApI,SAAAmI,MAAA,gBAAAE,GAAA,OAAAH,EAAAjT,MAAAU,KAAAD,YAAA,KAIA4S,mBAAA,WACA,IAAAxC,EAAA3K,EAAAqC,cAAAzF,OAAA,SAAAyI,GAAA,OAAAA,EAAAc,OAAAd,EAAA2D,uBAGAgB,EAAAW,EAFA,eAAAyC,EAAAjJ,IAAAC,EAAAC,EAAAC,KAAA,SAAA+I,EAAAzR,GAAA,OAAAwI,EAAAC,EAAAI,KAAA,SAAA6I,GAAA,cAAAA,EAAA3I,KAAA2I,EAAA1I,MAAA,cAAA0I,EAAA1I,KAAA,EAAA5E,EAAA5E,OAAA2B,SAAA,0BAAAnB,GAAA,cAAA0R,EAAA9C,OAAA,SAAA8C,EAAA7C,MAAA,wBAAA6C,EAAAzI,SAAAwI,MAAA,gBAAAE,GAAA,OAAAH,EAAAtT,MAAAU,KAAAD,YAAA,OAMAiT,0BA5EA,SA4EA7G,GAAA,IACAwD,EAAA3P,KAAAuP,UAAAI,WACA3P,KAAAiT,eACAjT,KAAAmD,GAAA,gCAAAgJ,UACAwD,EAAAxD,KAGA+G,6BAnFA,SAmFA/G,GAAA,IACAiE,EAAApQ,KAAAuP,UAAAa,YACApQ,KAAAiT,eACAjT,KAAAmD,GAAA,iCAAAgJ,UACAiE,EAAAjE,KAGAgH,sBA1FA,WA0FA,IACAzC,EAAA1Q,KAAAuP,UAAAmB,SACA1Q,KAAAiT,eACAjT,KAAAmD,GAAA,2CACAuN,IAGA0C,wBAjGA,WAiGA,IACArC,EAAA/Q,KAAAuP,UAAAwB,WACA/Q,KAAAiT,eACAjT,KAAAmD,GAAA,6CACA4N,IAGAsC,oBAxGA,WAwGA,IACAjC,EAAApR,KAAAuP,UAAA6B,OACApR,KAAAiT,eACAjT,KAAAmD,GAAA,yCACAiO,IAGAxG,qBA/GA,WAkHA,GAFA5K,KAAAY,OAAAC,MAAAgK,KAAAC,SAAAC,SAAAC,cAEA,CAHA,IASAJ,EAAA5K,KAAAuP,UAAA3E,qBACA5K,KAAAiT,eACAjT,KAAAmD,GAAA,0CACAyH,QARA5K,KAAAiL,OAAAjL,KAAAmD,GAAA,sCAAA7F,KAAA,WAWAgW,uBA9HA,SA8HAvH,GAAA,IACA0F,EAAAzR,KAAAuP,UAAAkC,OACAzR,KAAAiT,eACAjT,KAAAmD,GAAA,4CACAsO,EAAA1F,KAGAwH,2BArIA,SAqIAxH,GAAA,IACA+F,EAAA9R,KAAAuP,UAAAuC,UACA9R,KAAAiT,eACAjT,KAAAmD,GAAA,gDACA2O,EAAA/F,KAGAyH,gCA5IA,WA4IA,IACAlB,EAAAtS,KAAAuP,UAAA+C,gBACAtS,KAAAiT,eACAjT,KAAAmD,GAAA,qCACAmP,IAGAmB,mCAnJA,WAmJA,IACAd,EAAA3S,KAAAuP,UAAAoD,mBACA3S,KAAAiT,eACAjT,KAAAmD,GAAA,iCACAwP,IAGAM,eA1JA,SA0JA/M,EAAAsJ,GAAA,IAAA1J,EAAA9F,KACAA,KAAA0T,SAAAxN,GACAyN,kBAAA3T,KAAAmD,GAAA,YACAyQ,iBAAA5T,KAAAmD,GAAA,gBACA7F,KAAA,YACAuW,KAAA,WACArE,MACAsE,MAAA,WACAhO,EAAAG,UACA3I,KAAA,OACA4I,QAAAJ,EAAA3C,GAAA,iDC3TAX,EAAgBnG,OAAAoG,EAAA,EAAApG,CACd+S,EHTF,WAA0B,IAAA1M,EAAA1C,KAAa2C,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,eAAyBG,OAAO8K,KAAA,QAAAjJ,QAAA,QAAAkP,UAAA,kBAA6DrR,EAAA,UAAAG,EAAA,aAAkCE,YAAA,mBAA6BF,EAAA,QAAaE,YAAA,6BAAuCF,EAAA,QAAAA,EAAA,KAAqBE,YAAA,iBAA2BL,EAAAkB,GAAA,aAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,sCAAAT,EAAAkB,GAAA,KAAAf,EAAA,KAA8FE,YAAA,0CAAgDL,EAAA0K,KAAA1K,EAAAkB,GAAA,KAAAlB,EAAA,6BAAAG,EAAA,oBAAqFG,OAAOsE,KAAA,YAAkBA,KAAA,aAAiBzE,EAAA,oBAAyBuL,UAAU7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAsQ,0BAAA,aAAgDtQ,EAAAkB,GAAA,WAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,iCAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAAsGuL,UAAU7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAwQ,6BAAA,aAAmDxQ,EAAAkB,GAAA,WAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,kCAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAAuGuL,UAAU7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAsQ,0BAAA,iBAAoDtQ,EAAAkB,GAAA,WAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,qCAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAA0GuL,UAAU7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAwQ,6BAAA,iBAAuDxQ,EAAAkB,GAAA,WAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,sCAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAA2GG,OAAOuL,QAAA,IAAaH,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA8Q,gCAAA3M,OAAqDnE,EAAAkB,GAAA,WAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,sCAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAA2GuL,UAAU7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA+Q,mCAAA5M,OAAwDnE,EAAAkB,GAAA,WAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,yCAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAA8GG,OAAOuL,QAAA,IAAaH,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAyQ,sBAAAtM,OAA2CnE,EAAAkB,GAAA,WAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,uCAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAA4GuL,UAAU7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA0Q,wBAAAvM,OAA6CnE,EAAAkB,GAAA,WAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,yCAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAA8GuL,UAAU7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA2Q,oBAAAxM,OAAyCnE,EAAAkB,GAAA,WAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,qCAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAA0GuL,UAAU7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAAkI,qBAAA/D,OAA0CnE,EAAAkB,GAAA,WAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,2CAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAAgHE,YAAA,WAAAC,OAA8BuL,QAAA,MAAc1L,EAAA,OAAYE,YAAA,kBAA4BF,EAAA,QAAaE,YAAA,aAAuBL,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,uBAAAT,EAAAkB,GAAA,KAAAf,EAAA,mBAAgFE,YAAA,qBAA+BF,EAAA,aAAkBG,OAAO8K,KAAA,QAAcM,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA4Q,uBAAA,kBAAkD5Q,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,kCAAAT,EAAAkB,GAAA,KAAAf,EAAA,aAAsGG,OAAO8K,KAAA,QAAcM,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA6Q,2BAAA,kBAAsD7Q,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,6CAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAAwHE,YAAA,aAAuBF,EAAA,OAAYE,YAAA,kBAA4BF,EAAA,QAAaE,YAAA,aAAuBL,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,wBAAAT,EAAAkB,GAAA,KAAAf,EAAA,mBAAiFE,YAAA,qBAA+BF,EAAA,aAAkBG,OAAO8K,KAAA,QAAcM,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA4Q,uBAAA,mBAAmD5Q,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,kCAAAT,EAAAkB,GAAA,KAAAf,EAAA,aAAsGG,OAAO8K,KAAA,QAAcM,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA6Q,2BAAA,mBAAuD7Q,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,6CAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAAwHE,YAAA,aAAuBF,EAAA,OAAYE,YAAA,kBAA4BF,EAAA,QAAaE,YAAA,aAAuBL,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,2BAAAT,EAAAkB,GAAA,KAAAf,EAAA,mBAAoFE,YAAA,qBAA+BF,EAAA,aAAkBG,OAAO8K,KAAA,QAAcM,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA4Q,uBAAA,sBAAsD5Q,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,kCAAAT,EAAAkB,GAAA,KAAAf,EAAA,aAAsGG,OAAO8K,KAAA,QAAcM,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA6Q,2BAAA,sBAA0D7Q,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,6CAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAAwHE,YAAA,aAAuBF,EAAA,OAAYE,YAAA,kBAA4BF,EAAA,QAAaE,YAAA,aAAuBL,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,qBAAAT,EAAAkB,GAAA,KAAAf,EAAA,mBAA8EE,YAAA,qBAA+BF,EAAA,aAAkBG,OAAO8K,KAAA,QAAcM,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA4Q,uBAAA,eAA+C5Q,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,kCAAAT,EAAAkB,GAAA,KAAAf,EAAA,aAAsGG,OAAO8K,KAAA,QAAcM,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA6Q,2BAAA,eAAmD7Q,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,6CAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAAwHE,YAAA,aAAuBF,EAAA,OAAYE,YAAA,kBAA4BF,EAAA,QAAaE,YAAA,aAAuBL,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,kDAAAT,EAAAkB,GAAA,KAAAf,EAAA,mBAA2GE,YAAA,qBAA+BF,EAAA,aAAkBG,OAAO8K,KAAA,QAAcM,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA4Q,uBAAA,mCAAmE5Q,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,kCAAAT,EAAAkB,GAAA,KAAAf,EAAA,aAAsGG,OAAO8K,KAAA,QAAcM,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA6Q,2BAAA,mCAAuE7Q,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,6CAAAT,EAAAkB,GAAA,KAAAf,EAAA,oBAAwHE,YAAA,aAAuBF,EAAA,OAAYE,YAAA,kBAA4BF,EAAA,QAAaE,YAAA,aAAuBL,EAAAkB,GAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,+CAAAT,EAAAkB,GAAA,KAAAf,EAAA,mBAAwGE,YAAA,qBAA+BF,EAAA,aAAkBG,OAAO8K,KAAA,QAAcM,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA4Q,uBAAA,gCAAgE5Q,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,kCAAAT,EAAAkB,GAAA,KAAAf,EAAA,aAAsGG,OAAO8K,KAAA,QAAcM,UAAW7G,MAAA,SAAAV,GAAyB,OAAAnE,EAAA6Q,2BAAA,gCAAoE7Q,EAAAkB,GAAA,iBAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,iDAAAN,EAAA,oBAAgHG,OAAOsE,KAAA,YAAkBA,KAAA,aAAiBzE,EAAA,oBAAAH,EAAAkB,GAAA,WAAAlB,EAAAmB,GAAAnB,EAAAS,GAAA,+CGYnnN,EACA,KACA,WACA,MAIAX,EAAAnE,QAAAyF,OAAA,wBACeqL,EAAA,EAAA3M","file":"static/js/chunk-d01a.970cf312.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\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 as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\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/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\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 number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewAccountDialog.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewAccountDialog.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersFilter.vue?vue&type=style&index=0&id=71bc6b38&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersFilter.vue?vue&type=style&index=0&id=71bc6b38&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleUsersMenu.vue?vue&type=style&index=0&id=56aa3725&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleUsersMenu.vue?vue&type=style&index=0&id=56aa3725&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"users-container\"},[_c('h1',[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.users'))+\"\\n \"),_c('span',{staticClass:\"user-count\"},[_vm._v(\"(\"+_vm._s(_vm.normalizedUsersCount)+\")\")])]),_vm._v(\" \"),_c('div',{staticClass:\"filter-container\"},[_c('users-filter'),_vm._v(\" \"),_c('el-input',{staticClass:\"search\",attrs:{\"placeholder\":_vm.$t('users.search')},on:{\"input\":_vm.handleDebounceSearchInput},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"actions-container\"},[_c('el-button',{staticClass:\"actions-button create-account\",on:{\"click\":function($event){_vm.createAccountDialogOpen = true}}},[_c('span',[_c('i',{staticClass:\"el-icon-plus\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t('users.createAccount'))+\"\\n \")])]),_vm._v(\" \"),_c('multiple-users-menu',{attrs:{\"selected-users\":_vm.selectedUsers},on:{\"apply-action\":_vm.clearSelection}})],1),_vm._v(\" \"),_c('new-account-dialog',{attrs:{\"dialog-form-visible\":_vm.createAccountDialogOpen},on:{\"createNewAccount\":_vm.createNewAccount,\"closeWindow\":function($event){_vm.createAccountDialogOpen = false}}}),_vm._v(\" \"),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"usersTable\",staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.users,\"row-key\":\"id\"},on:{\"selection-change\":_vm.handleSelectionChange}},[(_vm.isDesktop)?_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":\"\",\"width\":\"44\",\"align\":\"center\"}}):_vm._e(),_vm._v(\" \"),_c('el-table-column',{attrs:{\"min-width\":_vm.width,\"label\":_vm.$t('users.id'),\"prop\":\"id\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('users.name'),\"prop\":\"nickname\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('router-link',{attrs:{\"to\":{ name: 'UsersShow', params: { id: scope.row.id }}}},[_vm._v(_vm._s(scope.row.nickname))]),_vm._v(\" \"),(_vm.isDesktop)?_c('el-tag',{attrs:{\"type\":\"info\",\"size\":\"mini\"}},[_c('span',[_vm._v(_vm._s(scope.row.local ? _vm.$t('users.local') : _vm.$t('users.external')))])]):_vm._e()]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"min-width\":_vm.width,\"label\":_vm.$t('users.status')},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-tag',{attrs:{\"type\":scope.row.deactivated ? 'danger' : 'success'}},[(_vm.isDesktop)?_c('span',[_vm._v(_vm._s(scope.row.deactivated ? _vm.$t('users.deactivated') : _vm.$t('users.active')))]):_c('i',{class:_vm.activationIcon(scope.row.deactivated)})]),_vm._v(\" \"),(scope.row.roles.admin)?_c('el-tag',[_c('span',[_vm._v(_vm._s(_vm.isDesktop ? _vm.$t('users.admin') : _vm.getFirstLetter(_vm.$t('users.admin'))))])]):_vm._e(),_vm._v(\" \"),(scope.row.roles.moderator)?_c('el-tag',[_c('span',[_vm._v(_vm._s(_vm.isDesktop ? _vm.$t('users.moderator') : _vm.getFirstLetter(_vm.$t('users.moderator'))))])]):_vm._e(),_vm._v(\" \"),_c('el-tooltip',{attrs:{\"content\":_vm.$t('users.unconfirmedEmail'),\"effect\":\"dark\"}},[(scope.row.confirmation_pending)?_c('el-tag',{attrs:{\"type\":\"info\"}},[_vm._v(\"\\n \"+_vm._s(_vm.isDesktop ? _vm.$t('users.unconfirmed') : _vm.getFirstLetter(_vm.$t('users.unconfirmed')))+\"\\n \")]):_vm._e()],1)]}}])}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"label\":_vm.$t('users.actions'),\"fixed\":\"right\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-dropdown',{attrs:{\"hide-on-click\":false,\"size\":\"small\",\"trigger\":\"click\"}},[_c('span',{staticClass:\"el-dropdown-link\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.moderation'))+\"\\n \"),(_vm.isDesktop)?_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[(_vm.showAdminAction(scope.row))?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.toggleUserRight(scope.row, 'admin')}}},[_vm._v(\"\\n \"+_vm._s(scope.row.roles.admin ? _vm.$t('users.revokeAdmin') : _vm.$t('users.grantAdmin'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.showAdminAction(scope.row))?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.toggleUserRight(scope.row, 'moderator')}}},[_vm._v(\"\\n \"+_vm._s(scope.row.roles.moderator ? _vm.$t('users.revokeModerator') : _vm.$t('users.grantModerator'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.showDeactivatedButton(scope.row.id))?_c('el-dropdown-item',{attrs:{\"divided\":_vm.showAdminAction(scope.row)},nativeOn:{\"click\":function($event){return _vm.toggleActivation(scope.row)}}},[_vm._v(\"\\n \"+_vm._s(scope.row.deactivated ? _vm.$t('users.activateAccount') : _vm.$t('users.deactivateAccount'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.showDeactivatedButton(scope.row.id))?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.handleDeletion(scope.row)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.deleteAccount'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(scope.row.local && scope.row.confirmation_pending)?_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.handleEmailConfirmation(scope.row)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.confirmAccount'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(scope.row.local && scope.row.confirmation_pending)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.handleConfirmationResend(scope.row)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.resendConfirmation'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': scope.row.tags.includes('force_nsfw') },attrs:{\"divided\":_vm.showAdminAction(scope.row)},nativeOn:{\"click\":function($event){return _vm.toggleTag(scope.row, 'force_nsfw')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.forceNsfw'))+\"\\n \"),(scope.row.tags.includes('force_nsfw'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': scope.row.tags.includes('strip_media') },nativeOn:{\"click\":function($event){return _vm.toggleTag(scope.row, 'strip_media')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.stripMedia'))+\"\\n \"),(scope.row.tags.includes('strip_media'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': scope.row.tags.includes('force_unlisted') },nativeOn:{\"click\":function($event){return _vm.toggleTag(scope.row, 'force_unlisted')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.forceUnlisted'))+\"\\n \"),(scope.row.tags.includes('force_unlisted'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),_c('el-dropdown-item',{class:{ 'active-tag': scope.row.tags.includes('sandbox') },nativeOn:{\"click\":function($event){return _vm.toggleTag(scope.row, 'sandbox')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.sandbox'))+\"\\n \"),(scope.row.tags.includes('sandbox'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]),_vm._v(\" \"),(scope.row.local)?_c('el-dropdown-item',{class:{ 'active-tag': scope.row.tags.includes('disable_remote_subscription') },nativeOn:{\"click\":function($event){return _vm.toggleTag(scope.row, 'disable_remote_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.disableRemoteSubscription'))+\"\\n \"),(scope.row.tags.includes('disable_remote_subscription'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]):_vm._e(),_vm._v(\" \"),(scope.row.local)?_c('el-dropdown-item',{class:{ 'active-tag': scope.row.tags.includes('disable_any_subscription') },nativeOn:{\"click\":function($event){return _vm.toggleTag(scope.row, 'disable_any_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.disableAnySubscription'))+\"\\n \"),(scope.row.tags.includes('disable_any_subscription'))?_c('i',{staticClass:\"el-icon-check\"}):_vm._e()]):_vm._e(),_vm._v(\" \"),(scope.row.local)?_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.getPasswordResetToken(scope.row.nickname)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.getPasswordResetToken'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(scope.row.local)?_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.requirePasswordReset(scope.row.nickname)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.requirePasswordReset'))+\"\\n \")]):_vm._e()],1)],1)]}}])})],1),_vm._v(\" \"),_c('el-dialog',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],attrs:{\"visible\":_vm.resetPasswordDialogOpen,\"title\":_vm.$t('users.passwordResetTokenCreated'),\"custom-class\":\"password-reset-token-dialog\"},on:{\"update:visible\":function($event){_vm.resetPasswordDialogOpen=$event},\"close\":_vm.closeResetPasswordDialog}},[_c('div',[_c('p',{staticClass:\"password-reset-token\"},[_vm._v(\"Password reset token was generated: \"+_vm._s(_vm.passwordResetToken))]),_vm._v(\" \"),_c('p',[_vm._v(\"You can also use this link to reset password:\\n \"),_c('a',{staticClass:\"reset-password-link\",attrs:{\"href\":_vm.passwordResetLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.passwordResetLink))])])])]),_vm._v(\" \"),(!_vm.loading)?_c('div',{staticClass:\"pagination\"},[_c('el-pagination',{attrs:{\"total\":_vm.usersCount,\"current-page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"background\":\"\",\"layout\":\"prev, pager, next\"},on:{\"current-change\":_vm.handlePageChange}})],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersFilter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersFilter.vue?vue&type=script&lang=js&\"","<template>\n <el-select\n v-model=\"value\"\n :clearable=\"isDesktop\"\n :placeholder=\"$t('usersFilter.inputPlaceholder')\"\n multiple\n class=\"select-field\"\n @change=\"toggleFilters\">\n <el-option-group :label=\"$t('usersFilter.byUserType')\">\n <el-option value=\"local\">{{ $t('usersFilter.local') }}</el-option>\n <el-option value=\"external\">{{ $t('usersFilter.external') }}</el-option>\n </el-option-group>\n <el-option-group :label=\"$t('usersFilter.byStatus')\">\n <el-option value=\"active\">{{ $t('usersFilter.active') }}</el-option>\n <el-option value=\"deactivated\">{{ $t('usersFilter.deactivated') }}</el-option>\n </el-option-group>\n </el-select>\n</template>\n\n<script>\nexport default {\n data() {\n return {\n value: []\n }\n },\n computed: {\n isDesktop() {\n return this.$store.state.app.device === 'desktop'\n }\n },\n methods: {\n removeOppositeFilters() {\n const filtersQuantity = Object.keys(this.$store.state.users.filters).length\n const currentFilters = this.$data.value.slice()\n const indexOfLocal = currentFilters.indexOf('local')\n const indexOfExternal = currentFilters.indexOf('external')\n const indexOfActive = currentFilters.indexOf('active')\n const indexOfDeactivated = currentFilters.indexOf('deactivated')\n if (currentFilters.length === filtersQuantity) {\n return []\n } else if (indexOfLocal > -1 && indexOfExternal > -1) {\n const filterToRemove = indexOfLocal > indexOfExternal ? indexOfExternal : indexOfLocal\n currentFilters.splice(filterToRemove, 1)\n } else if (indexOfActive > -1 && indexOfDeactivated > -1) {\n const filterToRemove = indexOfActive > indexOfDeactivated ? indexOfDeactivated : indexOfActive\n currentFilters.splice(filterToRemove, 1)\n }\n return currentFilters\n },\n toggleFilters() {\n this.$data.value = this.removeOppositeFilters()\n const currentFilters = this.$data.value.reduce((acc, filter) => ({ ...acc, [filter]: true }), {})\n this.$store.dispatch('ToggleUsersFilter', currentFilters)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n.select-field {\n width: 350px;\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .select-field {\n width: 100%;\n margin-bottom: 5px;\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./UsersFilter.vue?vue&type=template&id=71bc6b38&scoped=true&\"\nimport script from \"./UsersFilter.vue?vue&type=script&lang=js&\"\nexport * from \"./UsersFilter.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UsersFilter.vue?vue&type=style&index=0&id=71bc6b38&rel=stylesheet%2Fscss&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 \"71bc6b38\",\n null\n \n)\n\ncomponent.options.__file = \"UsersFilter.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',{staticClass:\"select-field\",attrs:{\"clearable\":_vm.isDesktop,\"placeholder\":_vm.$t('usersFilter.inputPlaceholder'),\"multiple\":\"\"},on:{\"change\":_vm.toggleFilters},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},[_c('el-option-group',{attrs:{\"label\":_vm.$t('usersFilter.byUserType')}},[_c('el-option',{attrs:{\"value\":\"local\"}},[_vm._v(_vm._s(_vm.$t('usersFilter.local')))]),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"external\"}},[_vm._v(_vm._s(_vm.$t('usersFilter.external')))])],1),_vm._v(\" \"),_c('el-option-group',{attrs:{\"label\":_vm.$t('usersFilter.byStatus')}},[_c('el-option',{attrs:{\"value\":\"active\"}},[_vm._v(_vm._s(_vm.$t('usersFilter.active')))]),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"deactivated\"}},[_vm._v(_vm._s(_vm.$t('usersFilter.deactivated')))])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewAccountDialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewAccountDialog.vue?vue&type=script&lang=js&\"","<template>\n <el-dialog\n :visible.sync=\"isVisible\"\n :show-close=\"false\"\n :title=\"$t('users.createAccount')\"\n custom-class=\"create-user-dialog\"\n @open=\"resetForm\">\n <el-form ref=\"newUserForm\" :model=\"newUserForm\" :rules=\"rules\" :label-width=\"getLabelWidth\" status-icon>\n <el-form-item :label=\"$t('users.username')\" prop=\"nickname\" class=\"create-account-form-item\">\n <el-input v-model=\"newUserForm.nickname\" name=\"nickname\" autofocus/>\n </el-form-item>\n <el-form-item :label=\"$t('users.email')\" prop=\"email\" class=\"create-account-form-item\">\n <el-input v-model=\"newUserForm.email\" name=\"email\" type=\"email\"/>\n </el-form-item>\n <el-form-item :label=\"$t('users.password')\" prop=\"password\" class=\"create-account-form-item-without-margin\">\n <el-input v-model=\"newUserForm.password\" type=\"password\" name=\"password\" autocomplete=\"off\"/>\n </el-form-item>\n </el-form>\n <span slot=\"footer\">\n <el-button @click=\"closeDialogWindow\">{{ $t('users.cancel') }}</el-button>\n <el-button type=\"primary\" @click=\"submitForm('newUserForm')\">{{ $t('users.create') }}</el-button>\n </span>\n </el-dialog>\n</template>\n\n<script>\nexport default {\n name: 'NewAccountDialog',\n props: {\n dialogFormVisible: {\n type: Boolean,\n default: function() {\n return false\n }\n }\n },\n data() {\n return {\n newUserForm: {\n nickname: '',\n email: '',\n password: ''\n },\n rules: {\n nickname: [\n { validator: this.validateUsername, trigger: 'blur' }\n ],\n email: [\n { validator: this.validateEmail, trigger: 'blur' }\n ],\n password: [\n { validator: this.validatePassword, trigger: 'blur' }\n ]\n }\n }\n },\n computed: {\n isDesktop() {\n return this.$store.state.app.device === 'desktop'\n },\n isVisible: {\n get() {\n return this.$props.dialogFormVisible\n },\n set() {\n this.closeDialogWindow()\n }\n },\n getLabelWidth() {\n return this.isDesktop ? '120px' : '85px'\n }\n },\n methods: {\n closeDialogWindow() {\n this.$emit('closeWindow')\n },\n resetForm() {\n this.$nextTick(() => {\n this.$refs['newUserForm'].resetFields()\n })\n },\n submitForm(formName) {\n this.$refs[formName].validate((valid) => {\n if (valid) {\n this.$emit('createNewAccount', this.$data.newUserForm)\n } else {\n this.$message({\n type: 'error',\n message: this.$t('users.submitFormError')\n })\n return false\n }\n })\n },\n validateEmail(rule, value, callback) {\n if (value === '') {\n return callback(new Error(this.$t('users.emptyEmailError')))\n } else if (!this.validEmail(value)) {\n return callback(new Error(this.$t('users.invalidEmailError')))\n } else {\n return callback()\n }\n },\n validatePassword(rule, value, callback) {\n if (value === '') {\n return callback(new Error(this.$t('users.emptyPasswordError')))\n } else {\n return callback()\n }\n },\n validateUsername(rule, value, callback) {\n if (value === '') {\n return callback(new Error(this.$t('users.emptyNicknameError')))\n } else if (!this.validNickname(value)) {\n return callback(new Error(this.$t('users.invalidNicknameError')))\n } else {\n return callback()\n }\n },\n validEmail(email) {\n var re = /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/\n return re.test(email)\n },\n validNickname(nickname) {\n var re = /^[a-zA-Z\\d]+$/\n return re.test(nickname)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.el-dialog__body {\n padding: 20px 20px 20px 20px\n}\n.create-account-form-item {\n margin-bottom: 20px;\n}\n.create-account-form-item-without-margin {\n margin-bottom: 0px;\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .create-user-dialog {\n width: 85%\n }\n .create-account-form-item {\n margin-bottom: 20px;\n }\n .el-dialog__body {\n padding: 20px 20px 20px 20px\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./NewAccountDialog.vue?vue&type=template&id=18b328aa&\"\nimport script from \"./NewAccountDialog.vue?vue&type=script&lang=js&\"\nexport * from \"./NewAccountDialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NewAccountDialog.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"NewAccountDialog.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{attrs:{\"visible\":_vm.isVisible,\"show-close\":false,\"title\":_vm.$t('users.createAccount'),\"custom-class\":\"create-user-dialog\"},on:{\"update:visible\":function($event){_vm.isVisible=$event},\"open\":_vm.resetForm}},[_c('el-form',{ref:\"newUserForm\",attrs:{\"model\":_vm.newUserForm,\"rules\":_vm.rules,\"label-width\":_vm.getLabelWidth,\"status-icon\":\"\"}},[_c('el-form-item',{staticClass:\"create-account-form-item\",attrs:{\"label\":_vm.$t('users.username'),\"prop\":\"nickname\"}},[_c('el-input',{attrs:{\"name\":\"nickname\",\"autofocus\":\"\"},model:{value:(_vm.newUserForm.nickname),callback:function ($$v) {_vm.$set(_vm.newUserForm, \"nickname\", $$v)},expression:\"newUserForm.nickname\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"create-account-form-item\",attrs:{\"label\":_vm.$t('users.email'),\"prop\":\"email\"}},[_c('el-input',{attrs:{\"name\":\"email\",\"type\":\"email\"},model:{value:(_vm.newUserForm.email),callback:function ($$v) {_vm.$set(_vm.newUserForm, \"email\", $$v)},expression:\"newUserForm.email\"}})],1),_vm._v(\" \"),_c('el-form-item',{staticClass:\"create-account-form-item-without-margin\",attrs:{\"label\":_vm.$t('users.password'),\"prop\":\"password\"}},[_c('el-input',{attrs:{\"type\":\"password\",\"name\":\"password\",\"autocomplete\":\"off\"},model:{value:(_vm.newUserForm.password),callback:function ($$v) {_vm.$set(_vm.newUserForm, \"password\", $$v)},expression:\"newUserForm.password\"}})],1)],1),_vm._v(\" \"),_c('span',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{on:{\"click\":_vm.closeDialogWindow}},[_vm._v(_vm._s(_vm.$t('users.cancel')))]),_vm._v(\" \"),_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":function($event){return _vm.submitForm('newUserForm')}}},[_vm._v(_vm._s(_vm.$t('users.create')))])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"users-container\">\n <h1>\n {{ $t('users.users') }}\n <span class=\"user-count\">({{ normalizedUsersCount }})</span>\n </h1>\n <div class=\"filter-container\">\n <users-filter/>\n <el-input :placeholder=\"$t('users.search')\" v-model=\"search\" class=\"search\" @input=\"handleDebounceSearchInput\"/>\n </div>\n <div class=\"actions-container\">\n <el-button class=\"actions-button create-account\" @click=\"createAccountDialogOpen = true\">\n <span>\n <i class=\"el-icon-plus\"/>\n {{ $t('users.createAccount') }}\n </span>\n </el-button>\n <multiple-users-menu\n :selected-users=\"selectedUsers\"\n @apply-action=\"clearSelection\"/>\n </div>\n <new-account-dialog\n :dialog-form-visible=\"createAccountDialogOpen\"\n @createNewAccount=\"createNewAccount\"\n @closeWindow=\"createAccountDialogOpen = false\"/>\n <el-table\n v-loading=\"loading\"\n ref=\"usersTable\"\n :data=\"users\"\n row-key=\"id\"\n style=\"width: 100%\"\n @selection-change=\"handleSelectionChange\">\n <el-table-column\n v-if=\"isDesktop\"\n type=\"selection\"\n reserve-selection\n width=\"44\"\n align=\"center\"/>\n <el-table-column :min-width=\"width\" :label=\"$t('users.id')\" prop=\"id\" />\n <el-table-column :label=\"$t('users.name')\" prop=\"nickname\">\n <template slot-scope=\"scope\">\n <router-link :to=\"{ name: 'UsersShow', params: { id: scope.row.id }}\">{{ scope.row.nickname }}</router-link>\n <el-tag v-if=\"isDesktop\" type=\"info\" size=\"mini\">\n <span>{{ scope.row.local ? $t('users.local') : $t('users.external') }}</span>\n </el-tag>\n </template>\n </el-table-column>\n <el-table-column :min-width=\"width\" :label=\"$t('users.status')\">\n <template slot-scope=\"scope\">\n <el-tag :type=\"scope.row.deactivated ? 'danger' : 'success'\">\n <span v-if=\"isDesktop\">{{ scope.row.deactivated ? $t('users.deactivated') : $t('users.active') }}</span>\n <i v-else :class=\"activationIcon(scope.row.deactivated)\"/>\n </el-tag>\n <el-tag v-if=\"scope.row.roles.admin\">\n <span>{{ isDesktop ? $t('users.admin') : getFirstLetter($t('users.admin')) }}</span>\n </el-tag>\n <el-tag v-if=\"scope.row.roles.moderator\">\n <span>{{ isDesktop ? $t('users.moderator') : getFirstLetter($t('users.moderator')) }}</span>\n </el-tag>\n <el-tooltip :content=\"$t('users.unconfirmedEmail')\" effect=\"dark\">\n <el-tag v-if=\"scope.row.confirmation_pending\" type=\"info\">\n {{ isDesktop ? $t('users.unconfirmed') : getFirstLetter($t('users.unconfirmed')) }}\n </el-tag>\n </el-tooltip>\n </template>\n </el-table-column>\n <el-table-column :label=\"$t('users.actions')\" fixed=\"right\">\n <template slot-scope=\"scope\">\n <el-dropdown :hide-on-click=\"false\" size=\"small\" trigger=\"click\">\n <span class=\"el-dropdown-link\">\n {{ $t('users.moderation') }}\n <i v-if=\"isDesktop\" class=\"el-icon-arrow-down el-icon--right\"/>\n </span>\n <el-dropdown-menu slot=\"dropdown\">\n <el-dropdown-item\n v-if=\"showAdminAction(scope.row)\"\n @click.native=\"toggleUserRight(scope.row, 'admin')\">\n {{ scope.row.roles.admin ? $t('users.revokeAdmin') : $t('users.grantAdmin') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"showAdminAction(scope.row)\"\n @click.native=\"toggleUserRight(scope.row, 'moderator')\">\n {{ scope.row.roles.moderator ? $t('users.revokeModerator') : $t('users.grantModerator') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"showDeactivatedButton(scope.row.id)\"\n :divided=\"showAdminAction(scope.row)\"\n @click.native=\"toggleActivation(scope.row)\">\n {{ scope.row.deactivated ? $t('users.activateAccount') : $t('users.deactivateAccount') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"showDeactivatedButton(scope.row.id)\"\n @click.native=\"handleDeletion(scope.row)\">\n {{ $t('users.deleteAccount') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"scope.row.local && scope.row.confirmation_pending\"\n divided\n @click.native=\"handleEmailConfirmation(scope.row)\">\n {{ $t('users.confirmAccount') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"scope.row.local && scope.row.confirmation_pending\"\n @click.native=\"handleConfirmationResend(scope.row)\">\n {{ $t('users.resendConfirmation') }}\n </el-dropdown-item>\n <el-dropdown-item\n :divided=\"showAdminAction(scope.row)\"\n :class=\"{ 'active-tag': scope.row.tags.includes('force_nsfw') }\"\n @click.native=\"toggleTag(scope.row, 'force_nsfw')\">\n {{ $t('users.forceNsfw') }}\n <i v-if=\"scope.row.tags.includes('force_nsfw')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n :class=\"{ 'active-tag': scope.row.tags.includes('strip_media') }\"\n @click.native=\"toggleTag(scope.row, 'strip_media')\">\n {{ $t('users.stripMedia') }}\n <i v-if=\"scope.row.tags.includes('strip_media')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n :class=\"{ 'active-tag': scope.row.tags.includes('force_unlisted') }\"\n @click.native=\"toggleTag(scope.row, 'force_unlisted')\">\n {{ $t('users.forceUnlisted') }}\n <i v-if=\"scope.row.tags.includes('force_unlisted')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n :class=\"{ 'active-tag': scope.row.tags.includes('sandbox') }\"\n @click.native=\"toggleTag(scope.row, 'sandbox')\">\n {{ $t('users.sandbox') }}\n <i v-if=\"scope.row.tags.includes('sandbox')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"scope.row.local\"\n :class=\"{ 'active-tag': scope.row.tags.includes('disable_remote_subscription') }\"\n @click.native=\"toggleTag(scope.row, 'disable_remote_subscription')\">\n {{ $t('users.disableRemoteSubscription') }}\n <i v-if=\"scope.row.tags.includes('disable_remote_subscription')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"scope.row.local\"\n :class=\"{ 'active-tag': scope.row.tags.includes('disable_any_subscription') }\"\n @click.native=\"toggleTag(scope.row, 'disable_any_subscription')\">\n {{ $t('users.disableAnySubscription') }}\n <i v-if=\"scope.row.tags.includes('disable_any_subscription')\" class=\"el-icon-check\"/>\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"scope.row.local\"\n divided\n @click.native=\"getPasswordResetToken(scope.row.nickname)\">\n {{ $t('users.getPasswordResetToken') }}\n </el-dropdown-item>\n <el-dropdown-item\n v-if=\"scope.row.local\"\n @click.native=\"requirePasswordReset(scope.row.nickname)\">\n {{ $t('users.requirePasswordReset') }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n </template>\n </el-table-column>\n </el-table>\n <el-dialog\n v-loading=\"loading\"\n :visible.sync=\"resetPasswordDialogOpen\"\n :title=\"$t('users.passwordResetTokenCreated')\"\n custom-class=\"password-reset-token-dialog\"\n @close=\"closeResetPasswordDialog\">\n <div>\n <p class=\"password-reset-token\">Password reset token was generated: {{ passwordResetToken }}</p>\n <p>You can also use this link to reset password:\n <a :href=\"passwordResetLink\" target=\"_blank\" class=\"reset-password-link\">{{ passwordResetLink }}</a>\n </p>\n </div>\n </el-dialog>\n <div v-if=\"!loading\" class=\"pagination\">\n <el-pagination\n :total=\"usersCount\"\n :current-page=\"currentPage\"\n :page-size=\"pageSize\"\n background\n layout=\"prev, pager, next\"\n @current-change=\"handlePageChange\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport debounce from 'lodash.debounce'\nimport numeral from 'numeral'\nimport UsersFilter from './components/UsersFilter'\nimport MultipleUsersMenu from './components/MultipleUsersMenu'\nimport NewAccountDialog from './components/NewAccountDialog'\n\nexport default {\n name: 'Users',\n components: {\n UsersFilter,\n MultipleUsersMenu,\n NewAccountDialog\n },\n data() {\n return {\n search: '',\n selectedUsers: [],\n createAccountDialogOpen: false,\n resetPasswordDialogOpen: false\n }\n },\n computed: {\n loading() {\n return this.$store.state.users.loading\n },\n normalizedUsersCount() {\n return numeral(this.$store.state.users.totalUsersCount).format('0a')\n },\n users() {\n return this.$store.state.users.fetchedUsers\n },\n usersCount() {\n return this.$store.state.users.totalUsersCount\n },\n pageSize() {\n return this.$store.state.users.pageSize\n },\n passwordResetLink() {\n return this.$store.state.users.passwordResetToken.link\n },\n passwordResetToken() {\n return this.$store.state.users.passwordResetToken.token\n },\n currentPage() {\n return this.$store.state.users.currentPage\n },\n isDesktop() {\n return this.$store.state.app.device === 'desktop'\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n width() {\n return this.isMobile ? 55 : false\n }\n },\n created() {\n this.handleDebounceSearchInput = debounce((query) => {\n this.$store.dispatch('SearchUsers', { query, page: 1 })\n }, 500)\n },\n mounted: function() {\n this.$store.dispatch('FetchUsers', { page: 1 })\n },\n methods: {\n activationIcon(status) {\n return status ? 'el-icon-error' : 'el-icon-success'\n },\n clearSelection() {\n this.$refs.usersTable.clearSelection()\n },\n async createNewAccount(accountData) {\n await this.$store.dispatch('CreateNewAccount', accountData)\n this.createAccountDialogOpen = false\n },\n getFirstLetter(str) {\n return str.charAt(0).toUpperCase()\n },\n getPasswordResetToken(nickname) {\n this.resetPasswordDialogOpen = true\n this.$store.dispatch('GetPasswordResetToken', nickname)\n },\n requirePasswordReset(nickname) {\n const mailerEnabled = this.$store.state.user.nodeInfo.metadata.mailerEnabled\n\n if (!mailerEnabled) {\n this.$alert(this.$t('users.mailerMustBeEnabled'), 'Error', { type: 'error' })\n\n return\n }\n\n this.$store.dispatch('RequirePasswordReset', { nickname })\n },\n toggleActivation(user) {\n user.deactivated\n ? this.$store.dispatch('ActivateUsers', [user])\n : this.$store.dispatch('DeactivateUsers', [user])\n },\n handleDeletion(user) {\n this.$store.dispatch('DeleteUsers', [user])\n },\n handlePageChange(page) {\n const searchQuery = this.$store.state.users.searchQuery\n if (searchQuery === '') {\n this.$store.dispatch('FetchUsers', { page })\n } else {\n this.$store.dispatch('SearchUsers', { query: searchQuery, page })\n }\n },\n handleSelectionChange(value) {\n this.$data.selectedUsers = value\n },\n closeResetPasswordDialog() {\n this.resetPasswordDialogOpen = false\n this.$store.dispatch('RemovePasswordToken')\n },\n showAdminAction({ local, id }) {\n return local && this.showDeactivatedButton(id)\n },\n showDeactivatedButton(id) {\n return this.$store.state.user.id !== id\n },\n toggleTag(user, tag) {\n user.tags.includes(tag)\n ? this.$store.dispatch('RemoveTag', { users: [user], tag })\n : this.$store.dispatch('AddTag', { users: [user], tag })\n },\n toggleUserRight(user, right) {\n user.roles[right]\n ? this.$store.dispatch('DeleteRight', { users: [user], right })\n : this.$store.dispatch('AddRight', { users: [user], right })\n },\n handleEmailConfirmation(user) {\n this.$store.dispatch('ConfirmUsersEmail', [user])\n },\n handleConfirmationResend(user) {\n this.$store.dispatch('ResendConfirmationEmail', [user])\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.actions-button {\n text-align: left;\n width: 350px;\n padding: 10px;\n}\n.actions-container {\n display: flex;\n height: 36px;\n justify-content: space-between;\n align-items: center;\n margin: 0 15px 10px 15px;\n}\n.active-tag {\n color: #409EFF;\n font-weight: 700;\n .el-icon-check {\n color: #409EFF;\n float: right;\n margin: 7px 0 0 15px;\n }\n}\n.el-dropdown-link:hover {\n cursor: pointer;\n color: #409EFF;\n }\n.el-icon-plus {\n margin-right: 5px;\n}\n.password-reset-token {\n margin: 0 0 14px 0;\n}\n.password-reset-token-dialog {\n width: 50%\n}\n.reset-password-link {\n text-decoration: underline;\n}\n.users-container {\n h1 {\n margin: 22px 0 0 15px;\n }\n\n .pagination {\n margin: 25px 0;\n text-align: center;\n }\n\n .search {\n width: 350px;\n float: right;\n }\n .filter-container {\n display: flex;\n height: 36px;\n justify-content: space-between;\n align-items: center;\n margin: 22px 15px 15px 15px\n }\n .user-count {\n color: gray;\n font-size: 28px;\n }\n}\n@media\nonly screen and (max-width: 760px),\n(min-device-width: 768px) and (max-device-width: 1024px) {\n .password-reset-token-dialog {\n width: 85%\n }\n .users-container {\n h1 {\n margin: 7px 10px 15px 10px;\n }\n .actions-container {\n display: flex;\n flex-direction: column;\n margin: 0 10px 7px 10px\n }\n .create-account {\n width: 100%;\n }\n .el-icon-arrow-down {\n font-size: 12px;\n }\n .search {\n width: 100%;\n }\n .filter-container {\n display: flex;\n height: 82px;\n flex-direction: column;\n margin: 0 10px\n }\n .el-tag {\n width: 30px;\n display: inline-block;\n margin-bottom: 4px;\n font-weight: bold;\n &.el-tag--success {\n padding-left: 8px;\n }\n &.el-tag--danger {\n padding-left: 8px;\n }\n }\n }\n}\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=9c1887fa&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dropdown',{attrs:{\"size\":\"small\",\"trigger\":\"click\",\"placement\":\"bottom-start\"}},[(_vm.isDesktop)?_c('el-button',{staticClass:\"actions-button\"},[_c('span',{staticClass:\"actions-button-container\"},[_c('span',[_c('i',{staticClass:\"el-icon-edit\"}),_vm._v(\"\\n \"+_vm._s(_vm.$t('users.moderateUsers'))+\"\\n \")]),_vm._v(\" \"),_c('i',{staticClass:\"el-icon-arrow-down el-icon--right\"})])]):_vm._e(),_vm._v(\" \"),(_vm.showDropdownForMultipleUsers)?_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.grantRightToMultipleUsers('admin')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.grantAdmin'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.revokeRightFromMultipleUsers('admin')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.revokeAdmin'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.grantRightToMultipleUsers('moderator')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.grantModerator'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.revokeRightFromMultipleUsers('moderator')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.revokeModerator'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.confirmAccountsForMultipleUsers($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.confirmAccounts'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.resendConfirmationForMultipleUsers($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.resendConfirmation'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{attrs:{\"divided\":\"\"},nativeOn:{\"click\":function($event){return _vm.activateMultipleUsers($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.activateAccounts'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.deactivateMultipleUsers($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.deactivateAccounts'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.deleteMultipleUsers($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.deleteAccounts'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{nativeOn:{\"click\":function($event){return _vm.requirePasswordReset($event)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.requirePasswordReset'))+\"\\n \")]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\",attrs:{\"divided\":\"\"}},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.forceNsfw')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('force_nsfw')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('force_nsfw')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.stripMedia')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('strip_media')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('strip_media')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.forceUnlisted')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('force_unlisted')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('force_unlisted')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.sandbox')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('sandbox')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('sandbox')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.disableRemoteSubscriptionForMultiple')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('disable_remote_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('disable_remote_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)]),_vm._v(\" \"),_c('el-dropdown-item',{staticClass:\"no-hover\"},[_c('div',{staticClass:\"tag-container\"},[_c('span',{staticClass:\"tag-text\"},[_vm._v(_vm._s(_vm.$t('users.disableAnySubscriptionForMultiple')))]),_vm._v(\" \"),_c('el-button-group',{staticClass:\"tag-button-group\"},[_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.addTagForMultipleUsers('disable_any_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.apply'))+\"\\n \")]),_vm._v(\" \"),_c('el-button',{attrs:{\"size\":\"mini\"},nativeOn:{\"click\":function($event){return _vm.removeTagFromMultipleUsers('disable_any_subscription')}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.remove'))+\"\\n \")])],1)],1)])],1):_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.selectUsers'))+\"\\n \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleUsersMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MultipleUsersMenu.vue?vue&type=script&lang=js&\"","<template>\n <el-dropdown size=\"small\" trigger=\"click\" placement=\"bottom-start\">\n <el-button v-if=\"isDesktop\" class=\"actions-button\">\n <span class=\"actions-button-container\">\n <span>\n <i class=\"el-icon-edit\" />\n {{ $t('users.moderateUsers') }}\n </span>\n <i class=\"el-icon-arrow-down el-icon--right\"/>\n </span>\n </el-button>\n <el-dropdown-menu v-if=\"showDropdownForMultipleUsers\" slot=\"dropdown\">\n <el-dropdown-item\n @click.native=\"grantRightToMultipleUsers('admin')\">\n {{ $t('users.grantAdmin') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"revokeRightFromMultipleUsers('admin')\">\n {{ $t('users.revokeAdmin') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"grantRightToMultipleUsers('moderator')\">\n {{ $t('users.grantModerator') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"revokeRightFromMultipleUsers('moderator')\">\n {{ $t('users.revokeModerator') }}\n </el-dropdown-item>\n <el-dropdown-item\n divided\n @click.native=\"confirmAccountsForMultipleUsers\">\n {{ $t('users.confirmAccounts') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"resendConfirmationForMultipleUsers\">\n {{ $t('users.resendConfirmation') }}\n </el-dropdown-item>\n <el-dropdown-item\n divided\n @click.native=\"activateMultipleUsers\">\n {{ $t('users.activateAccounts') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"deactivateMultipleUsers\">\n {{ $t('users.deactivateAccounts') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"deleteMultipleUsers\">\n {{ $t('users.deleteAccounts') }}\n </el-dropdown-item>\n <el-dropdown-item\n @click.native=\"requirePasswordReset\">\n {{ $t('users.requirePasswordReset') }}\n </el-dropdown-item>\n <el-dropdown-item divided class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.forceNsfw') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('force_nsfw')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('force_nsfw')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.stripMedia') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('strip_media')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('strip_media')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.forceUnlisted') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('force_unlisted')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('force_unlisted')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.sandbox') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('sandbox')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('sandbox')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.disableRemoteSubscriptionForMultiple') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('disable_remote_subscription')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('disable_remote_subscription')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n <el-dropdown-item class=\"no-hover\">\n <div class=\"tag-container\">\n <span class=\"tag-text\">{{ $t('users.disableAnySubscriptionForMultiple') }}</span>\n <el-button-group class=\"tag-button-group\">\n <el-button size=\"mini\" @click.native=\"addTagForMultipleUsers('disable_any_subscription')\">\n {{ $t('users.apply') }}\n </el-button>\n <el-button size=\"mini\" @click.native=\"removeTagFromMultipleUsers('disable_any_subscription')\">\n {{ $t('users.remove') }}\n </el-button>\n </el-button-group>\n </div>\n </el-dropdown-item>\n </el-dropdown-menu>\n <el-dropdown-menu v-else slot=\"dropdown\">\n <el-dropdown-item>\n {{ $t('users.selectUsers') }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </el-dropdown>\n</template>\n\n<script>\nexport default {\n props: {\n selectedUsers: {\n type: Array,\n default: function() {\n return []\n }\n }\n },\n computed: {\n showDropdownForMultipleUsers() {\n return this.$props.selectedUsers.length > 0\n },\n isDesktop() {\n return this.$store.state.app.device === 'desktop'\n }\n },\n methods: {\n mappers() {\n const applyAction = async(users, dispatchAction) => {\n await dispatchAction(users)\n this.$emit('apply-action')\n }\n return {\n grantRight: (right) => () => {\n const filterUsersFn = user => user.local && !user.roles[right] && this.$store.state.user.id !== user.id\n const addRightFn = async(users) => await this.$store.dispatch('AddRight', { users, right })\n const filtered = this.selectedUsers.filter(filterUsersFn)\n\n applyAction(filtered, addRightFn)\n },\n revokeRight: (right) => () => {\n const filterUsersFn = user => user.local && user.roles[right] && this.$store.state.user.id !== user.id\n const deleteRightFn = async(users) => await this.$store.dispatch('DeleteRight', { users, right })\n const filtered = this.selectedUsers.filter(filterUsersFn)\n\n applyAction(filtered, deleteRightFn)\n },\n activate: () => {\n const filtered = this.selectedUsers.filter(user => user.deactivated && this.$store.state.user.id !== user.id)\n const activateUsersFn = async(users) => await this.$store.dispatch('ActivateUsers', users)\n\n applyAction(filtered, activateUsersFn)\n },\n deactivate: () => {\n const filtered = this.selectedUsers.filter(user => !user.deactivated && this.$store.state.user.id !== user.id)\n const deactivateUsersFn = async(users) => await this.$store.dispatch('DeactivateUsers', users)\n\n applyAction(filtered, deactivateUsersFn)\n },\n remove: () => {\n const filtered = this.selectedUsers.filter(user => this.$store.state.user.id !== user.id)\n const deleteAccountFn = async(users) => await this.$store.dispatch('DeleteUsers', users)\n\n applyAction(filtered, deleteAccountFn)\n },\n addTag: (tag) => () => {\n const filtered = this.selectedUsers.filter(user =>\n tag === 'disable_remote_subscription' || tag === 'disable_any_subscription'\n ? user.local && !user.tags.includes(tag)\n : !user.tags.includes(tag))\n const addTagFn = async(users) => await this.$store.dispatch('AddTag', { users, tag })\n\n applyAction(filtered, addTagFn)\n },\n removeTag: (tag) => async() => {\n const filtered = this.selectedUsers.filter(user =>\n tag === 'disable_remote_subscription' || tag === 'disable_any_subscription'\n ? user.local && user.tags.includes(tag)\n : user.tags.includes(tag))\n const removeTagFn = async(users) => await this.$store.dispatch('RemoveTag', { users, tag })\n\n applyAction(filtered, removeTagFn)\n },\n requirePasswordReset: () => {\n const filtered = this.selectedUsers.filter(user => user.local)\n filtered.map(user => this.$store.dispatch('RequirePasswordReset', user))\n this.$emit('apply-action')\n },\n confirmAccounts: () => {\n const filtered = this.selectedUsers.filter(user => user.local && user.confirmation_pending)\n const confirmAccountFn = async(users) => await this.$store.dispatch('ConfirmUsersEmail', users)\n\n applyAction(filtered, confirmAccountFn)\n },\n resendConfirmation: () => {\n const filtered = this.selectedUsers.filter(user => user.local && user.confirmation_pending)\n const resendConfirmationFn = async(users) => await this.$store.dispatch('ResendConfirmationEmail', users)\n\n applyAction(filtered, resendConfirmationFn)\n }\n }\n },\n grantRightToMultipleUsers(right) {\n const { grantRight } = this.mappers()\n this.confirmMessage(\n this.$t('users.grantRightConfirmation', { right }),\n grantRight(right)\n )\n },\n revokeRightFromMultipleUsers(right) {\n const { revokeRight } = this.mappers()\n this.confirmMessage(\n this.$t('users.revokeRightConfirmation', { right }),\n revokeRight(right)\n )\n },\n activateMultipleUsers() {\n const { activate } = this.mappers()\n this.confirmMessage(\n this.$t('users.activateMultipleUsersConfirmation'),\n activate\n )\n },\n deactivateMultipleUsers() {\n const { deactivate } = this.mappers()\n this.confirmMessage(\n this.$t('users.deactivateMultipleUsersConfirmation'),\n deactivate\n )\n },\n deleteMultipleUsers() {\n const { remove } = this.mappers()\n this.confirmMessage(\n this.$t('users.deleteMultipleUsersConfirmation'),\n remove\n )\n },\n requirePasswordReset() {\n const mailerEnabled = this.$store.state.user.nodeInfo.metadata.mailerEnabled\n\n if (!mailerEnabled) {\n this.$alert(this.$t('users.mailerMustBeEnabled'), 'Error', { type: 'error' })\n\n return\n }\n\n const { requirePasswordReset } = this.mappers()\n this.confirmMessage(\n this.$t('users.requirePasswordResetConfirmation'),\n requirePasswordReset\n )\n },\n addTagForMultipleUsers(tag) {\n const { addTag } = this.mappers()\n this.confirmMessage(\n this.$t('users.addTagForMultipleUsersConfirmation'),\n addTag(tag)\n )\n },\n removeTagFromMultipleUsers(tag) {\n const { removeTag } = this.mappers()\n this.confirmMessage(\n this.$t('users.removeTagFromMultipleUsersConfirmation'),\n removeTag(tag)\n )\n },\n confirmAccountsForMultipleUsers() {\n const { confirmAccounts } = this.mappers()\n this.confirmMessage(\n this.$t('users.confirmAccountsConfirmation'),\n confirmAccounts\n )\n },\n resendConfirmationForMultipleUsers() {\n const { resendConfirmation } = this.mappers()\n this.confirmMessage(\n this.$t('users.resendEmailConfirmation'),\n resendConfirmation\n )\n },\n confirmMessage(message, applyAction) {\n this.$confirm(message, {\n confirmButtonText: this.$t('users.ok'),\n cancelButtonText: this.$t('users.cancel'),\n type: 'warning'\n }).then(() => {\n applyAction()\n }).catch(() => {\n this.$message({\n type: 'info',\n message: this.$t('users.canceled')\n })\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n .actions-button {\n text-align: left;\n width: 350px;\n padding: 10px;\n }\n .actions-button-container {\n display: flex;\n justify-content: space-between;\n }\n .el-dropdown {\n float: right;\n }\n .el-icon-edit {\n margin-right: 5px;\n }\n .tag-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n .tag-text {\n padding-right: 20px;\n }\n .no-hover:hover {\n color: #606266;\n background-color: white;\n cursor: auto;\n }\n</style>\n","import { render, staticRenderFns } from \"./MultipleUsersMenu.vue?vue&type=template&id=56aa3725&scoped=true&\"\nimport script from \"./MultipleUsersMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./MultipleUsersMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MultipleUsersMenu.vue?vue&type=style&index=0&id=56aa3725&rel=stylesheet%2Fscss&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 \"56aa3725\",\n null\n \n)\n\ncomponent.options.__file = \"MultipleUsersMenu.vue\"\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-f3c9.b3de53e2.js b/priv/static/adminfe/static/js/chunk-f3c9.b3de53e2.js
new file mode 100644
index 000000000..1c301e14a
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-f3c9.b3de53e2.js
@@ -0,0 +1,2 @@
+(window.webpackJsonp=window.webpackJsonp||[]).push([["chunk-f3c9"],{"+qaP":function(e,t,a){"use strict";var s=a("60OA");a.n(s).a},"2q6O":function(e,t,a){"use strict";var s=a("Scsy");a.n(s).a},"3nbG":function(e,t,a){"use strict";var s=a("4jdC");a.n(s).a},"4NUT":function(e,t,a){},"4b9x":function(e,t,a){"use strict";var s=a("wgcy");a.n(s).a},"4jdC":function(e,t,a){},"60OA":function(e,t,a){},"9p49":function(e,t,a){},DPt0:function(e,t,a){"use strict";var s=a("x6RV");a.n(s).a},FCne:function(e,t,a){"use strict";var s=a("OCuP");a.n(s).a},"J7+w":function(e,t,a){"use strict";var s=a("fyIw");a.n(s).a},KFE3:function(e,t,a){"use strict";var s=a("mSK5");a.n(s).a},NyLv:function(e,t,a){"use strict";var s=a("Rh6R");a.n(s).a},OCuP:function(e,t,a){},PYLh:function(e,t,a){},Px65:function(e,t,a){},PygS:function(e,t,a){"use strict";var s=a("TtMh");a.n(s).a},QZC8:function(e,t,a){},RTtG:function(e,t,a){"use strict";var s=a("Zgs2");a.n(s).a},Rh6R:function(e,t,a){},Scsy:function(e,t,a){},SrHl:function(e,t,a){"use strict";var s=a("YhIs");a.n(s).a},TOIk:function(e,t,a){},TRR9:function(e,t,a){},TtMh:function(e,t,a){},TudB:function(e,t,a){},"UbP/":function(e,t,a){},UdS4:function(e,t,a){"use strict";var s=a("WwJU");a.n(s).a},"WvM+":function(e,t,a){"use strict";var s=a("TRR9");a.n(s).a},WwJU:function(e,t,a){},YcIK:function(e,t,a){"use strict";a.r(t);var s=a("lSNA"),i=a.n(s),l=a("MVZn"),n=a.n(l),r=a("L2JU"),o={name:"ActivityPub",computed:n()({},Object(r.b)(["activityPub","user"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},u=(a("qEST"),a("KHd+")),c=Object(u.a)(o,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"activityPub",attrs:{model:e.activityPub,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Unfollow blocked"}},[a("el-switch",{attrs:{value:e.activityPub.unfollow_blocked},on:{change:function(t){return e.updateSetting(t,"activitypub","unfollow_blocked")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether blocks result in people getting unfollowed")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Outgoing blocks"}},[a("el-switch",{attrs:{value:e.activityPub.outgoing_blocks},on:{change:function(t){return e.updateSetting(t,"activitypub","outgoing_blocks")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether to federate blocks to other instances")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Follow handshake timeout"}},[a("el-input-number",{staticClass:"top-margin",attrs:{value:e.activityPub.follow_handshake_timeout,step:100,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"activitypub","follow_handshake_timeout")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Sign object fetches"}},[a("el-switch",{attrs:{value:e.activityPub.sign_object_fetches},on:{change:function(t){return e.updateSetting(t,"activitypub","sign_object_fetches")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Sign object fetches with HTTP signatures")])],1)],1),e._v(" "),a("el-form",{ref:"user",attrs:{model:e.user,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Deny follow blocked"}},[a("el-switch",{attrs:{value:e.user.deny_follow_blocked},on:{change:function(t){return e.updateSetting(t,"user","deny_follow_blocked")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether to disallow following an account that has blocked the user in question")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null);c.options.__file="ActivityPub.vue";var p=c.exports,m={name:"Authentication",computed:n()({},Object(r.b)(["pleromaAuthenticator","ldap","auth","ueberauth","oauth2","facebook","google","twitter","microsoft"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},d=(a("4b9x"),Object(u.a)(m,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"pleromaAuthenticator",attrs:{model:e.pleromaAuthenticator,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Authentication type"}},[a("el-select",{attrs:{value:e.pleromaAuthenticator.value,clearable:""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Auth.Authenticator","value")}}},[a("el-option",{attrs:{label:"None",value:""}}),e._v(" "),a("el-option",{attrs:{label:"Pleroma.Web.Auth.PleromaAuthenticator // Default database authenticator",value:"Pleroma.Web.Auth.PleromaAuthenticator"}}),e._v(" "),a("el-option",{attrs:{label:"Pleroma.Web.Auth.LDAPAuthenticator // LDAP authenticator",value:"Pleroma.Web.Auth.LDAPAuthenticator"}})],1)],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"auth",attrs:{model:e.auth,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Authentication settings:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Auth template"}},[a("el-input",{attrs:{value:e.auth.auth_template},on:{input:function(t){return e.updateSetting(t,"auth","auth_template")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Authentication form template. By default it's\n "),a("span",{staticClass:"code"},[e._v("show.html")]),e._v(" which corresponds to\n "),a("span",{staticClass:"code"},[e._v("lib/pleroma/web/templates/o_auth/o_auth/show.html.eex.")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"OAuth consumer template"}},[a("el-input",{attrs:{value:e.auth.oauth_consumer_template},on:{input:function(t){return e.updateSetting(t,"auth","oauth_consumer_template")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("OAuth consumer mode authentication form template. By default it's\n "),a("span",{staticClass:"code"},[e._v("consumer.html")]),e._v(" which corresponds to\n "),a("span",{staticClass:"code"},[e._v("lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex.")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"OAuth consumer strategies"}},[a("el-select",{attrs:{value:e.auth.oauth_consumer_strategies||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"auth","oauth_consumer_strategies")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The list of enabled OAuth consumer strategies; by default it's set by\n "),a("span",{staticClass:"code"},[e._v("OAUTH_CONSUMER_STRATEGIES")]),e._v("\n environment variable. You can enter values in the following format: "),a("span",{staticClass:"code"},[e._v("'a:foo b:baz'")])])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"ldap",attrs:{model:e.ldap,"label-width":e.labelWidth}},[a("el-form-item",{staticClass:"options-paragraph-container"},[a("p",{staticClass:"options-paragraph"},[e._v("Use LDAP for user authentication. When a user logs in to the Pleroma\n instance, the name and password will be verified by trying to authenticate\n (bind) to an LDAP server. If a user exists in the LDAP directory but there\n is no account with the same name yet on the Pleroma instance then a new\n Pleroma account will be created with the same name as the LDAP user name.")])]),e._v(" "),a("el-form-item",{attrs:{label:"LDAP Authenticator:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.ldap.enabled},on:{change:function(t){return e.updateSetting(t,"ldap","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enables LDAP authentication")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Host"}},[a("el-input",{attrs:{value:e.ldap.host},on:{input:function(t){return e.updateSetting(t,"ldap","host")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("LDAP server hostname")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.ldap.port},on:{input:function(t){return e.updateSetting(t,"ldap","port")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("LDAP port, e.g. 389 or 636")])],1),e._v(" "),a("el-form-item",{attrs:{label:"SSL"}},[a("el-switch",{attrs:{value:e.ldap.ssl},on:{change:function(t){return e.updateSetting(t,"ldap","ssl")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("True to use SSL, usually implies the port 636")])],1),e._v(" "),a("el-form-item",{attrs:{label:"TLS"}},[a("el-switch",{attrs:{value:e.ldap.tls},on:{change:function(t){return e.updateSetting(t,"ldap","tls")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("True to start TLS, usually implies the port 389")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Base"}},[a("el-input",{attrs:{value:e.ldap.base},on:{input:function(t){return e.updateSetting(t,"ldap","base")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("LDAP base, e.g. "),a("span",{staticClass:"code"},[e._v("'dc=example,dc=com'")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"UID"}},[a("el-input",{attrs:{value:e.ldap.uid},on:{input:function(t){return e.updateSetting(t,"ldap","uid")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("LDAP attribute name to authenticate the user, e.g. when\n "),a("span",{staticClass:"code"},[e._v("'cn'")]),e._v(", the filter will be "),a("span",{staticClass:"code"},[e._v("'cn=username,base'")])])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"ueberauth",attrs:{model:e.ueberauth,"label-width":e.labelWidth}},[a("el-form-item",{staticClass:"options-paragraph-container",attrs:{label:"OAuth consumer mode"}},[a("p",{staticClass:"options-paragraph"},[e._v("\n OAuth consumer mode allows sign in / sign up via external OAuth providers\n (e.g. Twitter, Facebook, Google, Microsoft, etc.). Implementation is based on Ueberauth; see the list of\n "),a("a",{attrs:{href:"https://github.com/ueberauth/ueberauth/wiki/List-of-Strategies",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n available strategies.\n ")])]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("\n Note: each strategy is shipped as a separate dependency; in order to get the strategies, run\n "),a("span",{staticClass:"code"},[e._v('OAUTH_CONSUMER_STRATEGIES="..." mix deps.get')]),e._v(",\n e.g. "),a("span",{staticClass:"code"},[e._v('OAUTH_CONSUMER_STRATEGIES="twitter facebook google microsoft" mix deps.get')]),e._v(".\n The server should also be started with "),a("span",{staticClass:"code"},[e._v('OAUTH_CONSUMER_STRATEGIES="..." mix phx.server')]),e._v("\n in case you enable any strategies.\n ")]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("\n Note: each strategy requires separate setup (on external provider side and Pleroma side).\n Below are the guidelines on setting up most popular strategies.\n ")]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("\n Note: make sure that "),a("span",{staticClass:"code"},[e._v("'SameSite=Lax'")]),e._v(" is set in\n "),a("span",{staticClass:"code"},[e._v("extra_cookie_attrs")]),e._v(" when you have this feature enabled.\n OAuth consumer mode will not work with "),a("span",{staticClass:"code"},[e._v("'SameSite=Strict'")])]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("For Twitter,\n "),a("a",{attrs:{href:"https://developer.twitter.com/en/apps",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n register an app,\n ")]),e._v("\n configure callback URL to "),a("span",{staticClass:"code"},[e._v("https://<your_host>/oauth/twitter/callback")])]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("For Facebook,\n "),a("a",{attrs:{href:"https://developers.facebook.com/apps",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n register an app,\n ")]),e._v("\n configure callback URL to "),a("span",{staticClass:"code"},[e._v("https://<your_host>/oauth/facebook/callback")]),e._v(",\n enable Facebook Login service at\n "),a("span",{staticClass:"code"},[e._v("https://developers.facebook.com/apps/<app_id>/fb-login/settings/")])]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("For Google,\n "),a("a",{attrs:{href:"https://console.developers.google.com/",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n register an app,\n ")]),e._v("\n configure callback URL to "),a("span",{staticClass:"code"},[e._v("https://<your_host>/oauth/google/callback")])]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("For Microsoft,\n "),a("a",{attrs:{href:"https://portal.azure.com",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n register an app,\n ")]),e._v("\n configure callback URL to "),a("span",{staticClass:"code"},[e._v("https://<your_host>/oauth/microsoft/callback")])]),e._v(" "),a("p",{staticClass:"options-paragraph"},[e._v("\n Once the app is configured on external OAuth provider side, add app's credentials and strategy-specific settings\n per strategy's documentation (e.g.\n "),a("a",{attrs:{href:"https://github.com/ueberauth/ueberauth_twitter",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n ueberauth_twitter\n ")]),e._v(").\n ")])]),e._v(" "),a("el-form-item",{attrs:{label:"Ueberauth:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Base path"}},[a("el-input",{attrs:{value:e.ueberauth.base_path},on:{input:function(t){return e.updateSetting(t,"ueberauth","base_path")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"facebook",attrs:{model:e.facebook,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Facebook:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Client ID"}},[a("el-input",{attrs:{value:e.facebook.client_id},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Facebook.OAuth","client_id")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Client secret"}},[a("el-input",{attrs:{value:e.facebook.client_secret},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Facebook.OAuth","client_secret")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Redirect URI"}},[a("el-input",{attrs:{value:e.facebook.redirect_uri},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Facebook.OAuth","redirect_uri")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"twitter",attrs:{model:e.twitter,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Twitter:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Consumer key"}},[a("el-input",{attrs:{value:e.twitter.consumer_key},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Twitter.OAuth","consumer_key")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Consumer secret"}},[a("el-input",{attrs:{value:e.twitter.consumer_secret},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Twitter.OAuth","consumer_secret")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"google",attrs:{model:e.google,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Google:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Client ID"}},[a("el-input",{attrs:{value:e.google.client_id},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Google.OAuth","client_id")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Client secret"}},[a("el-input",{attrs:{value:e.google.client_secret},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Google.OAuth","client_secret")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Redirect URI"}},[a("el-input",{attrs:{value:e.google.redirect_uri},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Google.OAuth","redirect_uri")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"microsoft",attrs:{model:e.microsoft,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Microsoft:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Client ID"}},[a("el-input",{attrs:{value:e.microsoft.client_id},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Microsoft.OAuth","client_id")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Client secret"}},[a("el-input",{attrs:{value:e.microsoft.client_secret},on:{input:function(t){return e.updateSetting(t,"Ueberauth.Strategy.Microsoft.OAuth","client_secret")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"oauth2",attrs:{model:e.oauth2,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"OAuth 2.0 Provider:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Token expires in (s)"}},[a("el-input-number",{attrs:{value:e.oauth2.token_expires_in,step:10,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"oauth2","token_expires_in")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The lifetime in seconds of the access token")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Issue new refresh token"}},[a("el-switch",{attrs:{value:e.oauth2.issue_new_refresh_token},on:{change:function(t){return e.updateSetting(t,"oauth2","issue_new_refresh_token")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Keeps old refresh token or generate new refresh token when to obtain an access token")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Clean expired token"}},[a("el-switch",{attrs:{value:e.oauth2.clean_expired_tokens},on:{change:function(t){return e.updateSetting(t,"oauth2","clean_expired_tokens")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enable a background job to clean expired oauth tokens. Defaults to false.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Clean expired token interval"}},[a("el-input-number",{attrs:{value:e.oauth2.clean_expired_tokens_interval/36e5,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(36e5*t,"oauth2","clean_expired_tokens_interval")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Interval to run the job to clean expired tokens. Defaults to 24 hours.")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));d.options.__file="Authentication.vue";var v=d.exports,f={name:"AutoLinker",computed:n()({},Object(r.b)(["autoLinker"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"},loading:function(){return this.$store.state.settings.loading},booleanClass:function(){return this.getBooleanValue("class")},booleanRel:function(){return this.getBooleanValue("rel")},booleanTruncate:function(){return this.getBooleanValue("truncate")}}),methods:{getBooleanValue:function(e){var t=this.autoLinker.opts[e];return"string"==typeof t||"number"==typeof t},getNumValue:function(e){return this.autoLinker.opts[e]||0},getStringValue:function(e){return this.autoLinker.opts[e]||""},processTwoTypeValue:function(e,t,a,s){if(!0===e){var i="truncate"===s?0:"";this.processNestedData(i,t,a,s)}else this.processNestedData(e,t,a,s)},processNestedData:function(e,t,a,s){var l=n()({},this.$store.state.settings.settings[t][a],i()({},s,e));this.updateSetting(l,t,a)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},_=(a("cyzs"),Object(u.a)(f,function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.loading?e._e():a("el-form",{ref:"autoLinker",attrs:{model:e.autoLinker,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Class"}},[a("el-switch",{attrs:{value:e.booleanClass},on:{change:function(t){return e.processTwoTypeValue(t,"auto_linker","opts","class")}}}),e._v(" "),e.booleanClass?e._e():a("p",{staticClass:"expl"},[e._v("Specify the class to be added to the generated link. False to clear.")])],1),e._v(" "),e.booleanClass?a("el-form-item",[a("el-input",{attrs:{value:e.getStringValue("class")},on:{input:function(t){return e.processTwoTypeValue(t,"auto_linker","opts","class")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Specify the class to be added to the generated link. False to clear.")])],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"Rel"}},[a("el-switch",{attrs:{value:e.booleanRel},on:{change:function(t){return e.processTwoTypeValue(t,"auto_linker","opts","rel")}}}),e._v(" "),e.booleanRel?e._e():a("p",{staticClass:"expl"},[e._v("Override the rel attribute. False to clear")])],1),e._v(" "),e.booleanRel?a("el-form-item",[a("el-input",{attrs:{value:e.getStringValue("rel")},on:{input:function(t){return e.processTwoTypeValue(t,"auto_linker","opts","rel")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Override the rel attribute. False to clear")])],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"New window"}},[a("el-switch",{attrs:{value:e.autoLinker.opts.new_window},on:{change:function(t){return e.processNestedData(t,"auto_linker","opts","new_window")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Set to false to remove "),a("span",{staticClass:"code"},[e._v("target='_blank'")]),e._v(" attribute")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Scheme"}},[a("el-switch",{attrs:{value:e.autoLinker.opts.scheme},on:{change:function(t){return e.processNestedData(t,"auto_linker","opts","scheme")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Set to true to link urls with schema "),a("span",{staticClass:"code"},[e._v("http://google.com")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Truncate"}},[a("el-switch",{attrs:{value:e.booleanTruncate},on:{change:function(t){return e.processTwoTypeValue(t,"auto_linker","opts","truncate")}}}),e._v(" "),e.booleanTruncate?e._e():a("p",{staticClass:"expl"},[e._v("Set to a number to truncate urls longer then the number.\n Truncated urls will end in "),a("span",{staticClass:"code"},[e._v("..")])])],1),e._v(" "),e.booleanTruncate?a("el-form-item",[a("el-input-number",{attrs:{value:e.getStringValue("truncate"),step:1,min:0,size:"large"},on:{change:function(t){return e.processTwoTypeValue(t,"auto_linker","opts","truncate")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Specify the class to be added to the generated link. False to clear.")])],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"Strip prefix"}},[a("el-switch",{attrs:{value:e.autoLinker.opts.strip_prefix},on:{change:function(t){return e.processNestedData(t,"auto_linker","opts","strip_prefix")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Strip the scheme prefix")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Extra"}},[a("el-switch",{attrs:{value:e.autoLinker.opts.extra},on:{change:function(t){return e.processNestedData(t,"auto_linker","opts","extra")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Link urls with rarely used schemes (magnet, ipfs, irc, etc.)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Validate TLD"}},[a("el-switch",{attrs:{value:e.autoLinker.opts.validate_tld},on:{change:function(t){return e.processNestedData(t,"auto_linker","opts","validate_tld")}}})],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)},[],!1,null,null,null));_.options.__file="AutoLinker.vue";var h=_.exports,b={name:"Captcha",computed:n()({},Object(r.b)(["captcha","kocaptcha"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},g=(a("2q6O"),Object(u.a)(b,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"captcha",attrs:{model:e.captcha,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.captcha.enabled},on:{change:function(t){return e.updateSetting(t,"Pleroma.Captcha","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether the captcha should be shown on registration")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Valid for (s)"}},[a("el-input-number",{attrs:{value:e.captcha.seconds_valid,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Captcha","seconds_valid")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The time in seconds for which the captcha is valid")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Method"}},[a("el-select",{attrs:{value:e.captcha.method,clearable:""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Captcha","method")}}},[a("el-option",{attrs:{label:"Pleroma.Captcha.Kocaptcha",value:"Pleroma.Captcha.Kocaptcha"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("The method/service to use for captcha")])],1)],1),e._v(" "),a("el-form",{ref:"kocaptcha",attrs:{model:e.kocaptcha,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Kocaptcha Endpoint"}},[a("el-input",{attrs:{value:e.kocaptcha.endpoint},on:{input:function(t){return e.updateSetting(t,"Pleroma.Captcha.Kocaptcha","endpoint")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Kocaptcha is a captcha service with a single API endpoint, the source code is\n "),a("a",{attrs:{href:"https://github.com/koto-bank/kocaptcha",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("here")]),e._v(".\n The default endpoint "),a("span",{staticClass:"code"},[e._v("'https://captcha.kotobank.ch'")]),e._v(" is hosted by the developer.\n ")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));g.options.__file="Captcha.vue";var y=g.exports,w={name:"Instance",computed:n()({},Object(r.b)(["database","ectoRepos","pleromaRepo"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},C=(a("RTtG"),Object(u.a)(w,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"database",attrs:{model:e.database,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Database settings:"}}),e._v(" "),a("el-form-item",{attrs:{label:"RUM enabled"}},[a("el-switch",{attrs:{value:e.database.rum_enabled},on:{change:function(t){return e.updateSetting(t,"database","rum_enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("RUM indexes are an alternative indexing scheme that is not included in PostgreSQL by default.\n While they may eventually be mainlined, for now they have to be installed as a PostgreSQL extension from\n "),a("a",{attrs:{href:"https://github.com/postgrespro/rum",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n https://github.com/postgrespro/rum.\n ")])]),e._v(" "),a("p",{staticClass:"expl"},[e._v("Their advantage over the standard GIN indexes is that they allow efficient ordering of search results by timestamp,\n which makes search queries a lot faster on larger servers, by one or two orders of magnitude.\n They take up around 3 times as much space as GIN indexes.")]),e._v(" "),a("p",{staticClass:"expl"},[e._v("To enable them, both the "),a("span",{staticClass:"code"},[e._v("rum_enabled")]),e._v(" flag has to be set and the following special\n migration has to be run: "),a("span",{staticClass:"code"},[e._v("mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/")])])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"ectoRepos",attrs:{model:e.ectoRepos,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Ecto repos"}},[a("el-select",{attrs:{value:e.ectoRepos.value||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"ecto_repos","value")}}},[a("el-option",{attrs:{label:"Pleroma.Repo",value:"Pleroma.Repo"}})],1)],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"pleromaRepo",attrs:{model:e.pleromaRepo,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Pleroma Repo configuration:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Name"}},[a("el-input",{attrs:{value:e.pleromaRepo.name},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","name")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The name of the Repo supervisor process")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Priv"}},[a("el-input",{attrs:{value:e.pleromaRepo.priv},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","priv")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The directory where to keep repository data, like migrations, schema and more. Defaults to "),a("span",{staticClass:"code"},[e._v("\n priv/YOUR_REPO")]),e._v(". It must always point to a subdirectory inside the priv directory")])],1),e._v(" "),a("el-form-item",{attrs:{label:"URL"}},[a("el-input",{attrs:{value:e.pleromaRepo.url},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","url")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("An URL that specifies storage information")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Log level"}},[a("el-select",{attrs:{value:e.pleromaRepo.log,clearable:""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","log")}}},[a("el-option",{attrs:{value:!1,label:"False - disables logging for that repository."}}),e._v(" "),a("el-option",{attrs:{value:":debug",label:":debug - for debug-related messages"}}),e._v(" "),a("el-option",{attrs:{value:":info",label:":info - for information of any kind"}}),e._v(" "),a("el-option",{attrs:{value:":warn",label:":warn - for warnings"}}),e._v(" "),a("el-option",{attrs:{value:":error",label:":error - for errors"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("The log level used when logging the query with Elixir's Logger")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Pool size"}},[a("el-input-number",{attrs:{value:e.pleromaRepo.pool_size,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","pool_size")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The size of the pool used by the connection module. Defaults to "),a("span",{staticClass:"code"},[e._v("10")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Telemetry prefix"}},[a("el-select",{attrs:{value:e.pleromaRepo.telemetry_prefix||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","telemetry_prefix")}}},[a("el-option",{attrs:{label:":my_app",value:":my_app"}}),e._v(" "),a("el-option",{attrs:{label:":repo",value:":repo"}}),e._v(" "),a("el-option",{attrs:{label:":query",value:":query"}})],1)],1),e._v(" "),a("el-form-item",{attrs:{label:"Types"}},[a("el-input",{attrs:{value:e.pleromaRepo.types},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","types")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Telemetry event"}},[a("el-select",{attrs:{value:e.pleromaRepo.telemetry_event||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","telemetry_event")}}},[a("el-option",{attrs:{label:"Pleroma.Repo.Instrumenter",value:"Pleroma.Repo.Instrumenter"}})],1)],1),e._v(" "),a("el-form-item",{attrs:{label:"Connection options:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Hostname"}},[a("el-input",{attrs:{value:e.pleromaRepo.hostname},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","hostname")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Server hostname")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Socket dir"}},[a("el-input",{attrs:{value:e.pleromaRepo.socket_dir},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","socket_dir")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Connect to Postgres via UNIX sockets in the given directory. The socket name is derived based on the port.\n This is the preferred method for configuring sockets and it takes precedence over the hostname.\n If you are connecting to a socket outside of the Postgres convention, use "),a("span",{staticClass:"code"},[e._v(":socket")]),e._v(" instead.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Socket"}},[a("el-input",{attrs:{value:e.pleromaRepo.socket},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","socket")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Connect to Postgres via UNIX sockets in the given path. This option takes precedence over the\n "),a("span",{staticClass:"code"},[e._v(":hostname")]),e._v(" and "),a("span",{staticClass:"code"},[e._v(":socket_dir")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Username"}},[a("el-input",{attrs:{value:e.pleromaRepo.username},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","username")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Password"}},[a("el-input",{attrs:{value:e.pleromaRepo.password},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","password")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.pleromaRepo.port},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","port")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Server port (default: 5432)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Database"}},[a("el-input",{attrs:{value:e.pleromaRepo.database},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","database")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The database to connect to")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Maintenance database"}},[a("el-input",{attrs:{value:e.pleromaRepo.maintenance_database},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","maintenance_database")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v('Specifies the name of the database to connect to when creating or dropping the database. Defaults to "postgres"')])],1),e._v(" "),a("el-form-item",{attrs:{label:"Pool"}},[a("el-input",{attrs:{value:e.pleromaRepo.pool},on:{input:function(t){return e.updateSetting(t,"Pleroma.Repo","pool")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The connection pool module, defaults to "),a("span",{staticClass:"code"},[e._v("DBConnection.ConnectionPool")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"SSL"}},[a("el-switch",{attrs:{value:e.pleromaRepo.ssl},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","ssl")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Set to true if ssl should be used")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Connect timeout"}},[a("el-input-number",{attrs:{value:e.pleromaRepo.connect_timeout,step:1e3,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","connect_timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The timeout for establishing new connections. Defaults to 5000")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Prepare"}},[a("el-select",{attrs:{value:e.pleromaRepo.prepare,clearable:""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Repo","prepare")}}},[a("el-option",{attrs:{label:"named",value:":named"}}),e._v(" "),a("el-option",{attrs:{label:"unnamed",value:":unnamed"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("How to prepare queries, either "),a("span",{staticClass:"code"},[e._v(":named")]),e._v(" to use named queries or\n "),a("span",{staticClass:"code"},[e._v(":unnamed")]),e._v(" to force unnamed queries (default: :named)")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));C.options.__file="Database.vue";var S=C.exports,x={federationPublisherModulesOptions:[{label:"Pleroma.Web.ActivityPub.Publisher",value:"Pleroma.Web.ActivityPub.Publisher"},{label:"Pleroma.Web.Websub",value:"Pleroma.Web.Websub"},{label:"Pleroma.Web.Salmon",value:"Pleroma.Web.Salmon"}],rewritePolicyOptions:[{label:"NoOpPolicy",value:"Pleroma.Web.ActivityPub.MRF.NoOpPolicy",expl:"NoOpPolicy: Doesn’t modify activities (default)"},{label:"DropPolicy",value:"Pleroma.Web.ActivityPub.MRF.DropPolicy",expl:"DropPolicy: Drops all activities. It generally doesn’t makes sense to use in production"},{label:"SimplePolicy",value:"Pleroma.Web.ActivityPub.MRF.SimplePolicy",expl:"SimplePolicy: Restrict the visibility of activities from certains instances (See :mrf_simple section)"},{label:"TagPolicy",value:"Pleroma.Web.ActivityPub.MRF.TagPolicy",expl:"Applies policies to individual users based on tags, which can be set using pleroma-fe/admin-fe/any other app that supports Pleroma Admin API. For example it allows marking posts from individual users nsfw (sensitive)"},{label:"SubchainPolicy",value:"Pleroma.Web.ActivityPub.MRF.SubchainPolicy",expl:"Selectively runs other MRF policies when messages match (see :mrf_subchain section)"},{label:"RejectNonPublic",value:"Pleroma.Web.ActivityPub.MRF.RejectNonPublic",expl:"RejectNonPublic: Drops posts with non-public visibility settings (See :mrf_rejectnonpublic section)"},{label:"EnsureRePrepended",value:"Pleroma.Web.ActivityPub.MRF.EnsureRePrepended",expl:"EnsureRePrepended: Rewrites posts to ensure that replies to posts with subjects do not have an identical subject and instead begin with re:"},{label:"AntiLinkSpamPolicy",value:"Pleroma.Web.ActivityPub.MRF.AntiLinkSpamPolicy",expl:"Rejects posts from likely spambots by rejecting posts from new users that contain links"},{label:"MediaProxyWarmingPolicy",value:"Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy",expl:"Crawls attachments using their MediaProxy URLs so that the MediaProxy cache is primed"},{label:"MentionPolicy",value:"Pleroma.Web.ActivityPub.MRF.MentionPolicy",expl:"Drops posts mentioning configurable users. (see :mrf_mention section)"},{label:"VocabularyPolicy",value:"Pleroma.Web.ActivityPub.MRF.VocabularyPolicy",expl:"Restricts activities to a configured set of vocabulary"}],quarantinedInstancesOptions:[],autofollowedNicknamesOptions:[],uriSchemesOptions:[{label:"https",value:"https"},{label:"http",value:"http"},{label:"dat",value:"dat"},{label:"dweb",value:"dweb"},{label:"gopher",value:"gopher"},{label:"ipfs",value:"ipfs"},{label:"ipns",value:"ipns"},{label:"irc",value:"irc"},{label:"ircs",value:"ircs"},{label:"magnet",value:"magnet"},{label:"mailto",value:"mailto"},{label:"mumble",value:"mumble"},{label:"ssb",value:"ssb"},{label:"xmpp",value:"xmpp"}],themeOptions:[{label:"pleroma-dark",value:"pleroma-dark"},{label:"pleroma-light",value:"pleroma-light"},{label:"classic-dark",value:"classic-dark"},{label:"bird",value:"bird"},{label:"ir-black",value:"ir-black"},{label:"monokai",value:"monokai"},{label:"mammal",value:"mammal"},{label:"redmond-xx",value:"redmond-xx"},{label:"redmond-xx-se",value:"redmond-xx-se"},{label:"redmond-xxi",value:"redmond-xxi"},{label:"breezy-dark",value:"breezy-dark"},{label:"breezy-light",value:"breezy-light"}],instrumentersOptions:[{label:"Pleroma.Web.Endpoint.Instrumenter",value:"Pleroma.Web.Endpoint.Instrumenter"}],extraCookieAttrsOptions:[{label:"SameSite=Lax",value:"SameSite=Lax"}],hackneyPoolsOptions:[{label:"Federation",value:":federation",max_connections:50,timeout:15e4},{label:"Media",value:":media",max_connections:50,timeout:15e4},{label:"Upload",value:":upload",max_connections:25,timeout:3e5}],whitelistedContentTypesOptions:[{label:"image/gif",value:"image/gif"},{label:"image/jpeg",value:"image/jpeg"},{label:"image/jpg",value:"image/jpg"},{label:"image/png",value:"image/png"},{label:"image/svg+xml",value:"image/svg+xml"},{label:"audio/mpeg",value:"audio/mpeg"},{label:"audio/mp3",value:"audio/mp3"},{label:"video/webm",value:"video/webm"},{label:"video/mp4",value:"video/mp4"},{label:"video/quicktime",value:"video/quicktime"}],mogrifyActionsOptions:[{label:"strip",value:"strip"},{label:"auto-orient",value:"auto-orient"}],adapterOptions:[{label:"Swoosh.Adapters.Sendmail",value:"Swoosh.Adapters.Sendmail"},{label:"Swoosh.Adapters.SMTP",value:"Swoosh.Adapters.SMTP"},{label:"Swoosh.Adapters.Sendgrid",value:"Swoosh.Adapters.Sendgrid"},{label:"Swoosh.Adapters.Mandrill",value:"Swoosh.Adapters.Mandrill"},{label:"Swoosh.Adapters.Mailgun",value:"Swoosh.Adapters.Mailgun"},{label:"Swoosh.Adapters.Mailjet",value:"Swoosh.Adapters.Mailjet"},{label:"Swoosh.Adapters.Postmark",value:"Swoosh.Adapters.Postmark"},{label:"Swoosh.Adapters.SparkPost",value:"Swoosh.Adapters.SparkPost"},{label:"Swoosh.Adapters.AmazonSES",value:"Swoosh.Adapters.AmazonSES"},{label:"Swoosh.Adapters.Dyn",value:"Swoosh.Adapters.Dyn"},{label:"Swoosh.Adapters.SocketLabs",value:"Swoosh.Adapters.SocketLabs"},{label:"Swoosh.Adapters.Gmail",value:"Swoosh.Adapters.Gmail"},{label:"Swoosh.Adapters.Local",value:"Swoosh.Adapters.Local"}],loggerBackendsOptions:[{label:"Console // log to stdout",value:JSON.stringify(":console")},{label:"Ex_syslogger // log to syslog",value:JSON.stringify({tuple:["ExSyslogger",":ex_syslogger"]})},{label:"Quack.Logger // log to Slack",value:JSON.stringify("Quack.Logger")}],restrictedNicknamesOptions:[{value:".well-known"},{value:"~"},{value:"about"},{value:"activities"},{value:"api"},{value:"auth"},{value:"check_password"},{value:"dev"},{value:"friend-requests"},{value:"inbox"},{value:"internal"},{value:"main"},{value:"media"},{value:"nodeinfo"},{value:"notice"},{value:"oauth"},{value:"objects"},{value:"ostatus_subscribe"},{value:"pleroma"},{value:"proxy"},{value:"push"},{value:"registration"},{value:"relay"},{value:"settings"},{value:"status"},{value:"tag"},{value:"user-search"},{value:"user_exists"},{value:"users"},{value:"web"}]},k=a("fJ7X"),P=a.n(k),A=(a("nBvS"),a("Lrpg"),{name:"Endpoint",components:{editor:P.a},computed:n()({},Object(r.b)(["endpoint"]),{editorContentHttp:{get:function(){return this.endpoint.http.dispatch?this.endpoint.http.dispatch[0]:""},set:function(e){this.processNestedData([e],"Pleroma.Web.Endpoint","http","dispatch")}},editorContentHttps:{get:function(){return this.endpoint.https.dispatch?this.endpoint.https.dispatch[0]:""},set:function(e){this.processNestedData([e],"Pleroma.Web.Endpoint","https","dispatch")}},configureHttp:function(){return!1==!this.endpoint.http},configureHttps:function(){return!1==!this.endpoint.https},endpointHttp:function(){return this.endpoint.http||{}},endpointHttps:function(){return this.endpoint.https||{}},extraCookieAttrsOptions:function(){return x.extraCookieAttrsOptions},instrumentersOptions:function(){return x.instrumentersOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"},loading:function(){return this.$store.state.settings.loading}}),methods:{processNestedData:function(e,t,a,s){var l=n()({},this.$store.state.settings.settings[t][a],i()({},s,e));this.updateSetting(l,t,a)},showServerConfig:function(e,t){e?this.updateSetting({},"Pleroma.Web.Endpoint",t):this.updateSetting(e,"Pleroma.Web.Endpoint",t)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}}),U=(a("NyLv"),Object(u.a)(A,function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.loading?e._e():a("el-form",{ref:"endpoint",attrs:{model:e.endpoint,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Instrumenters"}},[a("el-select",{attrs:{value:e.endpoint.instrumenters||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","instrumenters")}}},e._l(e.instrumentersOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Compile-time configuration:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Code reloader"}},[a("el-switch",{attrs:{value:e.endpoint.code_reloader},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","code_reloader")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enables code reloading functionality")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Debug errors"}},[a("el-switch",{attrs:{value:e.endpoint.debug_errors},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","debug_errors")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enables using "),a("span",{staticClass:"code"},[e._v("Plug.Debugger")]),e._v(" functionality for debugging failures in the application.\n Recommended to be set to true only in development as it allows listing of the application source code during debugging. Defaults to false.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Render errors:"}}),e._v(" "),a("el-form-item",{attrs:{label:"View"}},[a("el-input",{attrs:{value:e.endpoint.render_errors.view},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","render_errors","view")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Accepts"}},[a("el-select",{attrs:{value:e.endpoint.render_errors.accepts||[],multiple:"",filterable:"","allow-create":""},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","render_errors","accepts")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Layout"}},[a("el-switch",{attrs:{value:e.endpoint.render_errors.layout},on:{change:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","render_errors","layout")}}})],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Runtime configuration:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Cache static manifest"}},[a("el-input",{attrs:{value:e.endpoint.cache_static_manifest},on:{input:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","cache_static_manifest")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A path to a json manifest file that contains static files and their digested version.\n This is typically set to "),a("span",{staticClass:"code"},[e._v("'priv/static/cache_manifest.json'")]),e._v("\n which is the file automatically generated by "),a("span",{staticClass:"code"},[e._v("mix phx.digest")])])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"HTTP:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Configure HTTP server"}},[a("el-switch",{attrs:{value:e.configureHttp},on:{change:function(t){return e.showServerConfig(t,"http")}}})],1),e._v(" "),e.configureHttp?a("div",[a("el-form-item",{attrs:{label:"Dispatch"}},[a("editor",{attrs:{height:"150",width:"100%",lang:"elixir",theme:"chrome"},model:{value:e.editorContentHttp,callback:function(t){e.editorContentHttp=t},expression:"editorContentHttp"}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("You can type in Elixir code here")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.endpointHttp.port},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","http","port")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The port to run the server. Defaults to 4000 (http) and 4040 (https).")])],1),e._v(" "),a("el-form-item",{attrs:{label:"IP"}},[a("el-input",{attrs:{value:e.endpointHttp.ip,placeholder:"xxx.xxx.xxx.xx"},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","http","ip")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The ip to bind the server to")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Reference name"}},[a("el-input",{attrs:{value:e.endpointHttp.ref},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","http","ref")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The reference name to be used. Defaults to "),a("span",{staticClass:"code"},[e._v("plug.HTTP")]),e._v(" (http) and\n "),a("span",{staticClass:"code"},[e._v("plug.HTTPS")]),e._v(" (https). This is the value that needs to be given on shutdown.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Compress"}},[a("el-switch",{attrs:{value:e.endpointHttp.compress},on:{change:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","http","compress")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Cowboy will attempt to compress the response body. Defaults to false.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Timeout in s"}},[a("el-input-number",{attrs:{value:e.endpointHttp.timeout/1e3,step:1,min:0,size:"large"},on:{input:function(t){return e.processNestedData(1e3*t,"Pleroma.Web.Endpoint","http","timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.")])],1),e._v(" "),a("div",{staticClass:"line"})],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"HTTPS:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Configure HTTPS server"}},[a("el-switch",{attrs:{value:e.configureHttps},on:{change:function(t){return e.showServerConfig(t,"https")}}})],1),e._v(" "),e.configureHttps?a("div",[a("el-form-item",{attrs:{label:"Dispatch"}},[a("editor",{attrs:{height:"150",width:"100%",lang:"elixir",theme:"chrome"},model:{value:e.editorContentHttps,callback:function(t){e.editorContentHttps=t},expression:"editorContentHttps"}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("You can type in Elixir code here")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.endpointHttps.port},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","https","port")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The port to run the server. Defaults to 4000 (http) and 4040 (https).")])],1),e._v(" "),a("el-form-item",{attrs:{label:"IP"}},[a("el-input",{attrs:{value:e.endpointHttps.ip,placeholder:"xxx.xxx.xxx.xx"},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","https","ip")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The ip to bind the server to")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Reference name"}},[a("el-input",{attrs:{value:e.endpointHttps.ref},on:{input:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","https","ref")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The reference name to be used. Defaults to "),a("span",{staticClass:"code"},[e._v("plug.HTTP")]),e._v(" (http) and\n "),a("span",{staticClass:"code"},[e._v("plug.HTTPS")]),e._v(" (https). This is the value that needs to be given on shutdown.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Compress"}},[a("el-switch",{attrs:{value:e.endpointHttps.compress},on:{change:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","https","compress")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Cowboy will attempt to compress the response body. Defaults to false.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Timeout in s"}},[a("el-input-number",{attrs:{value:e.endpointHttps.timeout/1e3,step:1,min:0,size:"large"},on:{input:function(t){return e.processNestedData(1e3*t,"Pleroma.Web.Endpoint","https","timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.")])],1),e._v(" "),a("div",{staticClass:"line"})],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"Secret key base"}},[a("el-input",{attrs:{value:e.endpoint.secret_key_base},on:{input:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","secret_key_base")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A secret key used as a base to generate secrets for encrypting and signing data. For example, cookies and tokens are signed by default, but they may also be encrypted if desired. Defaults to nil as it must be set per application")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Server"}},[a("el-switch",{attrs:{value:e.endpoint.server},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","server")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When true, starts the web server when the endpoint supervision tree starts. Defaults to false. The "),a("span",{staticClass:"code"},[e._v("mix phx.server")]),e._v(" task automatically sets this to true.")])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"URL:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Host"}},[a("el-input",{attrs:{value:e.endpoint.url.host},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","url","host")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The host without the scheme and a post (e.g "),a("span",{staticClass:"code"},[e._v("example.com")]),e._v(", not "),a("span",{staticClass:"code"},[e._v("https://example.com:2020")]),e._v(")")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Scheme"}},[a("el-input",{attrs:{value:e.endpoint.url.scheme},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","url","scheme")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("e.g http, https")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.endpoint.url.port},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","url","port")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Path"}},[a("el-input",{attrs:{value:e.endpoint.url.path},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","url","path")}}})],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Protocol"}},[a("el-input",{attrs:{value:e.endpoint.protocol},on:{input:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","protocol")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Signing salt"}},[a("el-input",{attrs:{value:e.endpoint.signing_salt},on:{input:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","signing_salt")}}})],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"PubSub:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Name"}},[a("el-input",{attrs:{value:e.endpoint.pubsub.name},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","pubsub","name")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Adapter"}},[a("el-input",{attrs:{value:e.endpoint.pubsub.adapter},on:{input:function(t){return e.processNestedData(t,"Pleroma.Web.Endpoint","pubsub","adapter")}}})],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Secure cookie flag"}},[a("el-switch",{attrs:{value:e.endpoint.secure_cookie_flag},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","secure_cookie_flag")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Extra cookie attrs"}},[a("el-select",{attrs:{value:e.endpoint.extra_cookie_attrs||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Endpoint","extra_cookie_attrs")}}},e._l(e.extraCookieAttrsOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{staticClass:"options-paragraph-container"},[a("p",{staticClass:"options-paragraph"},[e._v("Only common options are listed here. You can add more (all configuration options can be viewed\n "),a("a",{attrs:{href:"https://hexdocs.pm/phoenix/Phoenix.Endpoint.html#module-dynamic-configuration",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("here")]),e._v(")\n ")])]),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)},[],!1,null,null,null));U.options.__file="Endpoint.vue";var L=U.exports,R={name:"Instance",computed:n()({},Object(r.b)(["enabled","handler","passwordAuthenticator","port","privDir"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{toggleEsshd:function(e){this.$store.dispatch("ToggleEsshd",e)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},M=(a("FCne"),Object(u.a)(R,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{attrs:{"label-width":e.labelWidth}},[a("el-form-item",[a("p",{staticClass:"expl"},[e._v("Before enabling this you must:\n "),a("ol",{staticClass:"esshd-list"},[a("li",[e._v("Add "),a("span",{staticClass:"code"},[e._v(":esshd")]),e._v(" to "),a("span",{staticClass:"code"},[e._v("mix.exs")]),e._v(" as one of the\n "),a("span",{staticClass:"code"},[e._v("extra_applications")])]),e._v(" "),a("li",[e._v("Generate host keys in your\n "),a("span",{staticClass:"code"},[e._v("priv")]),e._v(" dir with\n "),a("span",{staticClass:"code"},[e._v('ssh-keygen -m PEM -N "" -b 2048 -t rsa -f ssh_host_rsa_key')])])])])])],1),e._v(" "),a("el-form",{ref:"enabled",attrs:{model:e.enabled,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.enabled.value},on:{change:function(t){return e.updateSetting(t,"enabled","value")}}})],1)],1),e._v(" "),a("el-form",{ref:"privDir",attrs:{model:e.privDir,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Priv dir"}},[a("el-input",{attrs:{value:e.privDir.value},on:{input:function(t){return e.updateSetting(t,"priv_dir","value")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("You can input relative path here")])],1)],1),e._v(" "),a("el-form",{ref:"handler",attrs:{model:e.handler,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Handler"}},[a("el-input",{attrs:{value:e.handler.value},on:{input:function(t){return e.updateSetting(t,"handler","value")}}})],1)],1),e._v(" "),a("el-form",{ref:"port",attrs:{model:e.port,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.port.value},on:{input:function(t){return e.updateSetting(t,"port","value")}}})],1)],1),e._v(" "),a("el-form",{ref:"passwordAuthenticator",attrs:{model:e.passwordAuthenticator,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Password authenticator"}},[a("el-input",{attrs:{value:e.passwordAuthenticator.value},on:{input:function(t){return e.updateSetting(t,"password_authenticator","value")}}})],1),e._v(" "),a("el-form-item",[a("p",{staticClass:"expl"},[e._v("Feel free to adjust the priv_dir and port number.\n Then you will have to create the key for the keys (in the example "),a("span",{staticClass:"code"},[e._v("priv/ssh_keys")]),e._v(") and create the host keys with\n "),a("span",{staticClass:"code"},[e._v('ssh-keygen -m PEM -N "" -b 2048 -t rsa -f ssh_host_rsa_key')]),e._v(".\n After restarting, you should be able to connect to your Pleroma instance with "),a("span",{staticClass:"code"},[e._v("ssh username@server -p $PORT")])])]),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));M.options.__file="Esshd.vue";var T=M.exports,E={name:"Frontend",computed:n()({},Object(r.b)(["assets","frontend","emoji","chat","markup"]),{groups:function(){var e=this;return Object.keys(this.emoji.groups).map(function(t){return[t,e.emoji.groups[t]]})},mascots:function(){var e=this;return Object.keys(this.assets.mascots).map(function(t){return[t,e.assets.mascots[t].url,e.assets.mascots[t].mime_type]})},themeOptions:function(){return x.themeOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{addRowToGroups:function(){var e=this.groups.reduce(function(e,t,a){return n()({},e,i()({},t[0],t[1]))},{});this.updateSetting(n()({},e,{"":[]}),"emoji","groups")},addRowToMascots:function(){var e=this.mascots.reduce(function(e,t,a){return n()({},e,i()({},t[0],{url:t[1],mime_type:t[2]}))},{});this.updateSetting(n()({},e,{"":{url:"",mime_type:""}}),"assets","mascots")},deleteGroupsRow:function(e){var t=this.groups.filter(function(t,a){return e!==a}).reduce(function(e,t,a){return n()({},e,i()({},t[0],t[1]))},{});this.updateSetting(t,"emoji","groups")},deleteMascotsRow:function(e){var t=this.mascots.filter(function(t,a){return e!==a}).reduce(function(e,t,a){return n()({},e,i()({},t[0],{url:t[1],mime_type:t[2]}))},{});this.updateSetting(t,"assets","mascots")},parseGroups:function(e,t,a){var s=this.groups.reduce(function(s,l,r){return a===r?"key"===t?n()({},s,i()({},e,l[1])):n()({},s,i()({},l[0],e)):n()({},s,i()({},l[0],l[1]))},{});this.updateSetting(s,"emoji","groups")},parseMascots:function(e,t,a){var s=this.mascots.reduce(function(s,l,r){return a===r?"name"===t?n()({},s,i()({},e,{url:l[1],mime_type:l[2]})):"url"===t?n()({},s,i()({},l[0],{url:e,mime_type:l[2]})):n()({},s,i()({},l[0],{url:l[1],mime_type:e})):n()({},s,i()({},l[0],{url:l[1],mime_type:l[2]}))},{});this.updateSetting(s,"assets","mascots")},processNestedData:function(e,t,a,s){var l=n()({},this.$store.state.settings.settings[t][a],i()({},s,e));this.updateSetting(l,t,a)},sendBackgroundMasto:function(e){var t=e.file;this.$store.dispatch("UploadMedia",{file:t,tab:"frontend_configurations",inputName:"masto_fe",childName:"background"})},sendBackgroundPleroma:function(e){var t=e.file;this.$store.dispatch("UploadMedia",{file:t,tab:"frontend_configurations",inputName:"pleroma_fe",childName:"background"})},sendLogoMasto:function(e){var t=e.file;this.$store.dispatch("UploadMedia",{file:t,tab:"frontend_configurations",inputName:"masto_fe",childName:"logo"})},sendLogoPleroma:function(e){var t=e.file;this.$store.dispatch("UploadMedia",{file:t,tab:"frontend_configurations",inputName:"pleroma_fe",childName:"logo"})},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},N=(a("hVXW"),Object(u.a)(E,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"frontend",attrs:{model:e.frontend,"label-width":e.labelWidth}},[a("el-form-item",[a("p",{staticClass:"expl"},[e._v("This form can be used to configure a keyword list that keeps the configuration data for any kind of frontend.\n By default, settings for "),a("span",{staticClass:"code"},[e._v("pleroma_fe")]),e._v(" and "),a("span",{staticClass:"code"},[e._v("masto_fe")]),e._v(" are configured.\n If you want to add your own configuration your settings need to be complete as they will override the defaults.")])]),e._v(" "),a("el-form-item",{attrs:{label:"Pleroma FE:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Theme"}},[a("el-select",{attrs:{value:e.frontend.pleroma_fe.theme,clearable:""},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","theme")}}},e._l(e.themeOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Which theme to use")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Background"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.background},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","background")}}}),e._v(" "),a("div",{staticClass:"upload-container"},[a("p",{staticClass:"text"},[e._v("or")]),e._v(" "),a("el-upload",{attrs:{"http-request":e.sendBackgroundPleroma,multiple:!1,"show-file-list":!1,action:"/api/v1/media"}},[a("el-button",{attrs:{size:"small",type:"primary"}},[e._v("Click to upload")])],1)],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("URL of the background, unless viewing a user profile with a background that is set")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Logo"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.logo},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","logo")}}}),e._v(" "),a("div",{staticClass:"upload-container"},[a("p",{staticClass:"text"},[e._v("or")]),e._v(" "),a("el-upload",{attrs:{"http-request":e.sendLogoPleroma,multiple:!1,"show-file-list":!1,action:"/api/v1/media"}},[a("el-button",{attrs:{size:"small",type:"primary"}},[e._v("Click to upload")])],1)],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("URL of the logo")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Logo mask"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.logoMask},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","logoMask")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether to use only the logo's shape as a mask (true) or as a regular image (false)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Logo margin (em)"}},[a("el-input-number",{attrs:{value:e.frontend.pleroma_fe.logoMargin,step:.1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","logoMargin")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("What margin to use around the logo")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Redirect URL"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.redirectRootNoLogin},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","redirectRootNoLogin")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Relative URL which indicates where to redirect when a user is logged in")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Redirect for anonymous user"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.redirectRootLogin},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","redirectRootLogin")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Relative URL which indicates where to redirect when a user isn’t logged in")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Show instance panel"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.showInstanceSpecificPanel},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","showInstanceSpecificPanel")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whenether to show the instance’s specific panel")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Scope options enabled"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.scopeOptionsEnabled},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","scopeOptionsEnabled")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Formatting options enabled"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.formattingOptionsEnabled},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","formattingOptionsEnabled")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Collapse msg with subject"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.collapseMessageWithSubject},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","collapseMessageWithSubject")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When a message has a subject (aka Content Warning), collapse it by default")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Scope copy"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.scopeCopy},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","scopeCopy")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Copy the scope "),a("span",{staticClass:"code"},[e._v("(private/unlisted/public)")]),e._v(" in replies to posts by default")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Subject line behavior"}},[a("el-select",{attrs:{value:e.frontend.pleroma_fe.subjectLineBehavior,clearable:""},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","subjectLineBehavior")}}},[a("el-option",{attrs:{label:"Email",value:"email"}},[e._v("Email / Copy and preprend re:, as in email")]),e._v(" "),a("el-option",{attrs:{label:"Masto",value:"masto"}},[e._v("Masto / Copy verbatim, as in Mastodon")]),e._v(" "),a("el-option",{attrs:{label:"Noop",value:"noop"}},[e._v("Noop / Don't copy the subject")])],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Allows changing the default behaviour of subject lines in replies")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Post content type"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.postContentType},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","postContentType")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Always show subject input"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.alwaysShowSubjectInput},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","alwaysShowSubjectInput")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When set to false, auto-hide the subject field when it's empty")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Hide post statistics"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.hidePostStats},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","hidePostStats")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Hide notices statistics(repeats, favorites, …)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Hide user statistics"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.hideUserStats},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","hideUserStats")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Hide profile statistics(posts, posts per day, followers, followings, …)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Login method"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.loginMethod},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","loginMethod")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Web push notifications"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.webPushNotifications},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","webPushNotifications")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"No attachment links"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.noAttachmentLinks},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","noAttachmentLinks")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"NSFW Censor image"}},[a("el-input",{attrs:{value:e.frontend.pleroma_fe.nsfwCensorImage},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","nsfwCensorImage")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Show features panel"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.showFeaturesPanel},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","showFeaturesPanel")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Minimal scopes mode"}},[a("el-switch",{attrs:{value:e.frontend.pleroma_fe.minimalScopesMode},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","pleroma_fe","minimalScopesMode")}}})],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Masto FE:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Theme"}},[a("el-select",{attrs:{value:e.frontend.masto_fe.theme,clearable:""},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","theme")}}},e._l(e.themeOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Which theme to use")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Background"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.background},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","background")}}}),e._v(" "),a("div",{staticClass:"upload-container"},[a("p",{staticClass:"text"},[e._v("or")]),e._v(" "),a("el-upload",{attrs:{"http-request":e.sendBackgroundMasto,multiple:!1,"show-file-list":!1,action:"/api/v1/media"}},[a("el-button",{attrs:{size:"small",type:"primary"}},[e._v("Click to upload")])],1)],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("URL of the background, unless viewing a user profile with a background that is set")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Logo"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.logo},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","logo")}}}),e._v(" "),a("div",{staticClass:"upload-container"},[a("p",{staticClass:"text"},[e._v("or")]),e._v(" "),a("el-upload",{attrs:{"http-request":e.sendLogoMasto,multiple:!1,"show-file-list":!1,action:"/api/v1/media"}},[a("el-button",{attrs:{size:"small",type:"primary"}},[e._v("Click to upload")])],1)],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("URL of the logo")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Logo mask"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.logoMask},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","logoMask")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether to use only the logo's shape as a mask (true) or as a regular image (false)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Logo margin (em)"}},[a("el-input-number",{attrs:{value:e.frontend.masto_fe.logoMargin,step:.1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","logoMargin")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("What margin to use around the logo")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Redirect URL"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.redirectRootNoLogin},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","redirectRootNoLogin")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Relative URL which indicates where to redirect when a user is logged in")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Redirect for anonymous user"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.redirectRootLogin},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","redirectRootLogin")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Relative URL which indicates where to redirect when a user isn’t logged in")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Show instance panel"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.showInstanceSpecificPanel},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","showInstanceSpecificPanel")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whenether to show the instance’s specific panel")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Scope options enabled"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.scopeOptionsEnabled},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","scopeOptionsEnabled")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Formatting options enabled"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.formattingOptionsEnabled},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","formattingOptionsEnabled")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Collapse msg with subjects"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.collapseMessageWithSubject},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","collapseMessageWithSubject")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When a message has a subject (aka Content Warning), collapse it by default")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Scope copy"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.scopeCopy},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","scopeCopy")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Copy the scope "),a("span",{staticClass:"code"},[e._v("(private/unlisted/public)")]),e._v(" in replies to posts by default")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Subject line behavior"}},[a("el-select",{attrs:{value:e.frontend.masto_fe.subjectLineBehavior,clearable:""},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","subjectLineBehavior")}}},[a("el-option",{attrs:{label:"Email",value:"email"}},[e._v("Email / Copy and preprend re:, as in email")]),e._v(" "),a("el-option",{attrs:{label:"Masto",value:"masto"}},[e._v("Masto / Copy verbatim, as in Mastodon")]),e._v(" "),a("el-option",{attrs:{label:"Noop",value:"noop"}},[e._v("Noop / Don't copy the subject")])],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Allows changing the default behaviour of subject lines in replies")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Post content type"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.postContentType},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","postContentType")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Always show subject input"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.alwaysShowSubjectInput},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","alwaysShowSubjectInput")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When set to false, auto-hide the subject field when it's empty")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Hide post statistics"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.hidePostStats},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","hidePostStats")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Hide notices statistics(repeats, favorites, …)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Hide user statistics"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.hideUserStats},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","hideUserStats")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Hide profile statistics(posts, posts per day, followers, followings, …)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Login method"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.loginMethod},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","loginMethod")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Web push notifications"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.webPushNotifications},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","webPushNotifications")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"No attachment links"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.noAttachmentLinks},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","noAttachmentLinks")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"NSFW Censor image"}},[a("el-input",{attrs:{value:e.frontend.masto_fe.nsfwCensorImage},on:{input:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","nsfwCensorImage")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Show features panel"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.showFeaturesPanel},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","showFeaturesPanel")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Minimal scopes mode"}},[a("el-switch",{attrs:{value:e.frontend.masto_fe.minimalScopesMode},on:{change:function(t){return e.processNestedData(t,"frontend_configurations","masto_fe","minimalScopesMode")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"assets",attrs:{model:e.assets,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Assets:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Default mascot"}},[a("el-select",{attrs:{value:e.assets.default_mascot,clearable:""},on:{change:function(t){return e.updateSetting(t,"assets","default_mascot")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("An element from mascots - This will be used as the default mascot on MastoFE\n (default: "),a("span",{staticClass:"code"},[e._v(":pleroma_fox_tan")]),e._v(")")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Mascots"}},[e._l(e.mascots,function(t,s){var i=t[0],l=t[1],n=t[2];return a("div",{key:s,staticClass:"mascot-container"},[a("div",{staticClass:"mascot-name-container"},[a("el-input",{staticClass:"mascot-name-input",attrs:{value:i,placeholder:"Name"},on:{input:function(t){return e.parseMascots(t,"name",s)}}}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.deleteMascotsRow(s,"emoji","groups")}}})],1),e._v(" "),a("el-input",{staticClass:"mascot-input",attrs:{value:l,placeholder:"URL"},on:{input:function(t){return e.parseMascots(t,"url",s)}}}),e._v(" "),a("el-input",{staticClass:"mascot-input",attrs:{value:n,placeholder:"Mime type"},on:{input:function(t){return e.parseMascots(t,"mimeType",s)}}})],1)}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:e.addRowToMascots}})],2)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"emoji",attrs:{model:e.emoji,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Emoji:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Location of emoji files"}},[a("el-select",{attrs:{value:e.emoji.shortcode_globs||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"emoji","shortcode_globs")}}},[a("el-option",{attrs:{label:"/emoji/custom/**/*.png",value:"/emoji/custom/**/*.png"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Location of custom emoji files. "),a("span",{staticClass:"code"},[e._v("*")]),e._v(" can be used as a wildcard.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Pack extensions"}},[a("el-select",{attrs:{value:e.emoji.pack_extensions||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"emoji","pack_extensions")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of file extensions for emojis, when no "),a("span",{staticClass:"code"},[e._v("emoji.txt")]),e._v(" for a pack is present. ")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Group"}},[e._l(e.groups,function(t,s){var i=t[0],l=t[1];return a("div",{key:s,staticClass:"setting-input"},[a("el-input",{staticClass:"name-input",attrs:{value:i,placeholder:"key"},on:{input:function(t){return e.parseGroups(t,"key",s)}}}),e._v(" :\n "),a("el-select",{staticClass:"value-input",attrs:{value:l,multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.parseGroups(t,"value",s)}}}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.deleteGroupsRow(s)}}})],1)}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:e.addRowToGroups}})],2),e._v(" "),a("el-form-item",{attrs:{label:"Location of JSON-manifest"}},[a("el-input",{attrs:{value:e.emoji.default_manifest},on:{input:function(t){return e.updateSetting(t,"emoji","default_manifest")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Location of the JSON-manifest. This manifest contains information about the emoji-packs you can download. Currently only one manifest can be added (no arrays).")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"chat",attrs:{model:e.chat,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Chat enabled"}},[a("el-switch",{attrs:{value:e.chat.enabled},on:{input:function(t){return e.updateSetting(t,"chat","enabled")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"markup",attrs:{model:e.markup,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Markup settings:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Allow inline images"}},[a("el-switch",{attrs:{value:e.markup.allow_inline_images},on:{input:function(t){return e.updateSetting(t,"markup","allow_inline_images")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Allow headings"}},[a("el-switch",{attrs:{value:e.markup.allow_headings},on:{input:function(t){return e.updateSetting(t,"markup","allow_headings")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Allow tables"}},[a("el-switch",{attrs:{value:e.markup.allow_tables},on:{input:function(t){return e.updateSetting(t,"markup","allow_tables")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Allow fonts"}},[a("el-switch",{attrs:{value:e.markup.allow_fonts},on:{input:function(t){return e.updateSetting(t,"markup","allow_fonts")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Scrub policy"}},[a("el-select",{attrs:{value:e.markup.scrub_policy||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"markup","scrub_policy")}}},[a("el-option",{attrs:{label:"Pleroma.HTML.Transform.MediaProxy",value:"Pleroma.HTML.Transform.MediaProxy"}}),e._v(" "),a("el-option",{attrs:{label:"Pleroma.HTML.Scrubber.Default",value:"Pleroma.HTML.Scrubber.Default"}})],1)],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));N.options.__file="Frontend.vue";var j=N.exports,D={name:"Gopher",computed:n()({},Object(r.b)(["gopher"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},$=(a("w5cJ"),Object(u.a)(D,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-form",{ref:"gopher",attrs:{model:e.gopher,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.gopher.enabled},on:{change:function(t){return e.updateSetting(t,"gopher","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enables the gopher interface")])],1),e._v(" "),a("el-form-item",{attrs:{label:"IP address"}},[a("el-input",{attrs:{value:e.gopher.ip,placeholder:"xxx.xxx.xxx.xx"},on:{input:function(t){return e.updateSetting(t,"gopher","ip")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enables the gopher interface")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.gopher.port},on:{input:function(t){return e.updateSetting(t,"gopher","port")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Port to bind to")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Dst port"}},[a("el-input",{attrs:{value:e.gopher.dstport},on:{input:function(t){return e.updateSetting(t,"gopher","dstport")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Port advertised in urls (optional, defaults to port)")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)},[],!1,null,null,null));$.options.__file="Gopher.vue";var W=$.exports,O={name:"HTTP",computed:n()({},Object(r.b)(["corsPlugCredentials","corsPlugExpose","corsPlugHeaders","corsPlugMaxAge","corsPlugMethods","hackneyPools","http","httpSecurity","metricsExporter"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{processNestedData:function(e,t,a,s){var l=n()({},this.$store.state.settings.settings[t][a],i()({},s,e));this.updateSetting(l,t,a)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},I=(a("KFE3"),Object(u.a)(O,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"http",attrs:{model:e.http,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"HTTP settings:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Proxy url"}},[a("el-input",{attrs:{value:e.http.proxy_url},on:{input:function(t){return e.updateSetting(t,"http","proxy_url")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Send user agent"}},[a("el-switch",{attrs:{value:e.http.send_user_agent},on:{change:function(t){return e.updateSetting(t,"http","send_user_agent")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Adapter:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Versions"}},[a("el-select",{attrs:{value:e.http.adapter.versions||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.processNestedData(t,"http","adapter","versions")}}},[a("el-option",{attrs:{value:":tlsv1"}}),e._v(" "),a("el-option",{attrs:{value:":'tlsv1.1'"}}),e._v(" "),a("el-option",{attrs:{value:":'tlsv1.2'"}})],1)],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"corsPlugMaxAge",attrs:{model:e.corsPlugMaxAge,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Cors plug config:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Max age (days)"}},[a("el-input-number",{attrs:{value:e.corsPlugMaxAge.value/86400,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(86400*t,"max_age","value")}}})],1)],1),e._v(" "),a("el-form",{ref:"corsPlugMethods",attrs:{model:e.corsPlugMethods,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Methods"}},[a("el-select",{attrs:{value:e.corsPlugMethods.value||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"methods","value")}}},[a("el-option",{attrs:{value:"POST"}}),e._v(" "),a("el-option",{attrs:{value:"PUT"}}),e._v(" "),a("el-option",{attrs:{value:"DELETE"}}),e._v(" "),a("el-option",{attrs:{value:"GET"}}),e._v(" "),a("el-option",{attrs:{value:"PATCH"}}),e._v(" "),a("el-option",{attrs:{value:"OPTIONS"}})],1)],1)],1),e._v(" "),a("el-form",{ref:"corsPlugExpose",attrs:{model:e.corsPlugExpose,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Expose"}},[a("el-select",{attrs:{value:e.corsPlugExpose.value||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"expose","value")}}},[a("el-option",{attrs:{value:"Link"}}),e._v(" "),a("el-option",{attrs:{value:"X-RateLimit-Reset"}}),e._v(" "),a("el-option",{attrs:{value:"X-RateLimit-Limit"}}),e._v(" "),a("el-option",{attrs:{value:"X-RateLimit-Remaining"}}),e._v(" "),a("el-option",{attrs:{value:"X-Request-Id"}}),e._v(" "),a("el-option",{attrs:{value:"Idempotency-Key"}})],1)],1)],1),e._v(" "),a("el-form",{ref:"corsPlugCredentials",attrs:{model:e.corsPlugCredentials,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Credentials"}},[a("el-switch",{attrs:{value:e.corsPlugCredentials.value},on:{change:function(t){return e.updateSetting(t,"credentials","value")}}})],1)],1),e._v(" "),a("el-form",{ref:"corsPlugHeaders",attrs:{model:e.corsPlugHeaders,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Headers"}},[a("el-select",{attrs:{value:e.corsPlugHeaders.value||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"headers","value")}}},[a("el-option",{attrs:{value:"Authorization"}}),e._v(" "),a("el-option",{attrs:{value:"Content-Type"}}),e._v(" "),a("el-option",{attrs:{value:"Idempotency-Key"}})],1)],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"httpSecurity",attrs:{model:e.httpSecurity,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"HTTP security:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Security policy"}},[a("el-switch",{attrs:{value:e.httpSecurity.enabled},on:{change:function(t){return e.updateSetting(t,"http_security","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether the managed content security policy is enabled")])],1),e._v(" "),a("el-form-item",{attrs:{label:"STS"}},[a("el-switch",{attrs:{value:e.httpSecurity.sts},on:{change:function(t){return e.updateSetting(t,"http_security","sts")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether to additionally send a "),a("span",{staticClass:"code"},[e._v("Strict-Transport-Security header")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"STS max age (days)"}},[a("el-input-number",{attrs:{value:e.httpSecurity.sts_max_age/86400,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(86400*t,"http_security","sts_max_age")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum age for the "),a("span",{staticClass:"code"},[e._v("Strict-Transport-Security")]),e._v(" header if sent")])],1),e._v(" "),a("el-form-item",{attrs:{label:"CT max age (days)"}},[a("el-input-number",{attrs:{value:e.httpSecurity.ct_max_age/86400,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(86400*t,"http_security","ct_max_age")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum age for the "),a("span",{staticClass:"code"},[e._v("Expect-CT")]),e._v(" header if sent")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Referrer policy"}},[a("el-select",{attrs:{value:e.httpSecurity.referrer_policy,clearable:""},on:{change:function(t){return e.updateSetting(t,"http_security","referrer_policy")}}},[a("el-option",{attrs:{label:"same-origin",value:"same-origin"}}),e._v(" "),a("el-option",{attrs:{label:"no-referrer",value:"no-referrer"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("The referrer policy to use")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Report URI"}},[a("el-input",{attrs:{value:e.httpSecurity.report_uri},on:{input:function(t){return e.updateSetting(t,"http_security","report_uri")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Adds the specified url to "),a("span",{staticClass:"code"},[e._v("report-uri")]),e._v(" and "),a("span",{staticClass:"code"},[e._v("report-to")]),e._v(" group in CSP header")])],1)],1),e._v(" "),a("el-form",{ref:"hackneyPools",attrs:{model:e.hackneyPools,"label-width":e.labelWidth}},[a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Hackney pools:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Federation:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Max connections"}},[a("el-input-number",{attrs:{value:e.hackneyPools.federation.max_connections,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"hackney_pools","federation","max_connections")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("You may want this pool "),a("span",{staticClass:"code"},[e._v("max_connections")]),e._v(" to be at least equal to the number of federator jobs + retry queue jobs.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Timeout (s)"}},[a("el-input-number",{attrs:{value:e.hackneyPools.federation.timeout/1e3,step:10,min:0,size:"large"},on:{change:function(t){return e.processNestedData(1e3*t,"hackney_pools","federation","timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("For the federation jobs")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Media:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Max connections"}},[a("el-input-number",{attrs:{value:e.hackneyPools.media.max_connections,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"hackney_pools","media","max_connections")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Timeout (s)"}},[a("el-input-number",{attrs:{value:e.hackneyPools.media.timeout/1e3,step:10,min:0,size:"large"},on:{change:function(t){return e.processNestedData(1e3*t,"hackney_pools","media","timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("For rich media, media proxy")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Upload:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Max connections"}},[a("el-input-number",{attrs:{value:e.hackneyPools.upload.max_connections,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"hackney_pools","upload","max_connections")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Timeout (s)"}},[a("el-input-number",{attrs:{value:e.hackneyPools.upload.timeout/1e3,step:10,min:0,size:"large"},on:{change:function(t){return e.processNestedData(1e3*t,"hackney_pools","upload","timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("For uploaded media (if using a remote uploader and "),a("span",{staticClass:"code"},[e._v("proxy_remote: true")]),e._v(")")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));I.options.__file="Http.vue";var F=I.exports,z={name:"Instance",computed:n()({},Object(r.b)(["adminToken","fetchInitialPosts","instance","pleromaUser","scheduledActivity","suggestions","uriSchemes"]),{autofollowedNicknamesOptions:function(){return x.autofollowedNicknamesOptions},federationPublisherModulesOptions:function(){return x.federationPublisherModulesOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"},quarantinedInstancesOptions:function(){return x.quarantinedInstancesOptions},restrictedNicknamesOptions:function(){return x.restrictedNicknamesOptions},rewritePolicy:function(){return"string"==typeof this.instance.rewrite_policy?[this.instance.rewrite_policy]:this.instance.rewrite_policy},rewritePolicyExplanations:function(){return this.rewritePolicy?this.rewritePolicy.filter(function(e){return x.rewritePolicyOptions.find(function(t){return t.value===e})}):[]},rewritePolicyOptions:function(){return x.rewritePolicyOptions},uriSchemesOptions:function(){return x.uriSchemesOptions}}),methods:{getRewritePolicyExpl:function(e){return x.rewritePolicyOptions.find(function(t){return t.value===e}).expl},processNestedData:function(e,t,a,s){var l=n()({},this.$store.state.settings.settings[t][a],i()({},s,e));this.updateSetting(l,t,a)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},H=(a("e0P1"),Object(u.a)(z,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"instance",attrs:{model:e.instance,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Name"}},[a("el-input",{attrs:{value:e.instance.name},on:{input:function(t){return e.updateSetting(t,"instance","name")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The instance’s name")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Email"}},[a("el-input",{attrs:{value:e.instance.email},on:{input:function(t){return e.updateSetting(t,"instance","email")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Email used to reach an Administrator/Moderator of the instance")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Notify email"}},[a("el-input",{attrs:{value:e.instance.notify_email},on:{input:function(t){return e.updateSetting(t,"instance","notify_email")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Email used for notifications")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Description"}},[a("el-input",{attrs:{value:e.instance.description},on:{input:function(t){return e.updateSetting(t,"instance","description")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The instance’s description, can be seen in nodeinfo and "),a("span",{staticClass:"code"},[e._v("/api/v1/instance")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Limit"}},[a("el-input-number",{attrs:{value:e.instance.limit,step:1e3,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Posts character limit (CW/Subject included in the counter)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Remote limit"}},[a("el-input-number",{attrs:{value:e.instance.remote_limit,step:1e3,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","remote_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Hard character limit beyond which remote posts will be dropped")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Upload limit (MB)"}},[a("el-input-number",{attrs:{value:e.instance.upload_limit/1048576,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(1048576*t,"instance","upload_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("File size limit of uploads (except for avatar, background, banner)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Avatar upload limit (MB)"}},[a("el-input-number",{attrs:{value:e.instance.avatar_upload_limit/1048576,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(1048576*t,"instance","avatar_upload_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("File size limit of user’s profile avatars")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Background upload limit (MB)"}},[a("el-input-number",{attrs:{value:e.instance.background_upload_limit/1048576,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(1048576*t,"instance","background_upload_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("File size limit of user’s profile backgrounds")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Banner upload limit (MB)"}},[a("el-input-number",{attrs:{value:e.instance.banner_upload_limit/1048576,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(1048576*t,"instance","banner_upload_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("File size limit of user’s profile banners")])],1),e._v(" "),a("el-form-item",{attrs:{label:"User bio length"}},[a("el-input-number",{attrs:{value:e.instance.user_bio_length,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","user_bio_length")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A user bio maximum length (default: 5000)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"User name length"}},[a("el-input-number",{attrs:{value:e.instance.user_name_length,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","user_name_length")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A user name maximum length (default: 100)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Poll limits:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Max options"}},[a("el-input-number",{attrs:{value:e.instance.poll_limits.max_options,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"instance","poll_limits","max_options")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Maximum number of options")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max characters per option"}},[a("el-input-number",{attrs:{value:e.instance.poll_limits.max_option_chars,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"instance","poll_limits","max_option_chars")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Maximum number of characters per option")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Minimum expiration (days)"}},[a("el-input-number",{attrs:{value:e.instance.poll_limits.min_expiration,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"instance","poll_limits","min_expiration")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Minimum expiration time")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max expiration (days)"}},[a("el-input-number",{attrs:{value:e.instance.poll_limits.max_expiration/86400,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(86400*t,"instance","poll_limits","max_expiration")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Maximum expiration time")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Registrations open"}},[a("el-switch",{attrs:{value:e.instance.registrations_open},on:{change:function(t){return e.updateSetting(t,"instance","registrations_open")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enable registrations for anyone, invitations can be enabled when false")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Invites enabled"}},[a("el-switch",{attrs:{value:e.instance.invites_enabled},on:{change:function(t){return e.updateSetting(t,"instance","invites_enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enable user invitations for admins (depends on "),a("span",{staticClass:"code"},[e._v("registrations_open: false)")]),e._v(".")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Account activation required"}},[a("el-switch",{attrs:{value:e.instance.account_activation_required},on:{change:function(t){return e.updateSetting(t,"instance","account_activation_required")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Require users to confirm their emails before signing in")])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Federating"}},[a("el-switch",{attrs:{value:e.instance.federating},on:{change:function(t){return e.updateSetting(t,"instance","federating")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enable federation with other instances")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Fed. replies max depth"}},[a("el-input-number",{attrs:{value:e.instance.federation_incoming_replies_max_depth,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","federation_incoming_replies_max_depth")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Max. depth of reply-to activities fetching on incoming federation, to prevent out-of-memory situations while fetching very long threads. Lower this value if you experience out-of-memory crashes.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Fed. reachability timeout"}},[a("el-input-number",{attrs:{value:e.instance.federation_reachability_timeout_days,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","federation_reachability_timeout_days")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Timeout (in days) of each external federation target being unreachable prior to pausing federating to it")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Federation publisher modules"}},[a("el-select",{attrs:{value:e.instance.federation_publisher_modules||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"instance","federation_publisher_modules")}}},e._l(e.federationPublisherModulesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),a("el-form-item",{attrs:{label:"Allow relay"}},[a("el-switch",{attrs:{value:e.instance.allow_relay},on:{change:function(t){return e.updateSetting(t,"instance","allow_relay")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enable Pleroma’s Relay, which makes it possible to follow a whole instance")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Rewrite policy"}},[a("el-select",{attrs:{value:e.rewritePolicy||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"instance","rewrite_policy")}}},e._l(e.rewritePolicyOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),e._l(e.rewritePolicyExplanations,function(t){return a("p",{key:t,staticClass:"expl"},[e._v(e._s(e.getRewritePolicyExpl(t)))])})],2),e._v(" "),a("el-form-item",{attrs:{label:"Public"}},[a("el-switch",{attrs:{value:e.instance.public},on:{change:function(t){return e.updateSetting(t,"instance","public")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Makes the client API in authentificated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Quarantined instances"}},[a("el-select",{attrs:{value:e.instance.quarantined_instances||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"instance","quarantined_instances")}}},e._l(e.quarantinedInstancesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of ActivityPub instances where private (DMs, followers-only) activities will not be send")])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Managed config"}},[a("el-switch",{attrs:{value:e.instance.managed_config},on:{change:function(t){return e.updateSetting(t,"instance","managed_config")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whenether the config for pleroma-fe is configured in this config or in "),a("span",{staticClass:"code"},[e._v("static/config.json")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Static directory"}},[a("el-input",{attrs:{value:e.instance.static_dir},on:{input:function(t){return e.updateSetting(t,"instance","static_dir")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Allowed post formats"}},[a("el-select",{attrs:{value:e.instance.allowed_post_formats||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"instance","allowed_post_formats")}}},[a("el-option",{attrs:{label:"text/plain",value:"text/plain"}}),e._v(" "),a("el-option",{attrs:{label:"text/html",value:"text/html"}}),e._v(" "),a("el-option",{attrs:{label:"text/markdown",value:"text/markdown"}}),e._v(" "),a("el-option",{attrs:{label:"text/bbcode",value:"text/bbcode"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("MIME-type list of formats allowed to be posted (transformed into HTML)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"MRF transparency"}},[a("el-switch",{attrs:{value:e.instance.mrf_transparency},on:{change:function(t){return e.updateSetting(t,"instance","mrf_transparency")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Make the content of your Message Rewrite Facility settings public (via nodeinfo)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"MRF transparency exclusions"}},[a("el-select",{attrs:{value:e.instance.mrf_transparency_exclusions||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"instance","mrf_transparency_exclusions")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Scope copy"}},[a("el-switch",{attrs:{value:e.instance.scope_copy},on:{change:function(t){return e.updateSetting(t,"instance","scope_copy")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Copy the scope "),a("span",{staticClass:"code"},[e._v("(private/unlisted/public)")]),e._v(" in replies to posts by default")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Subject line behavior"}},[a("el-select",{attrs:{value:e.instance.subject_line_behavior,clearable:""},on:{change:function(t){return e.updateSetting(t,"instance","subject_line_behavior")}}},[a("el-option",{attrs:{label:"Email",value:"email"}},[e._v("Email / Copy and preprend re:, as in email")]),e._v(" "),a("el-option",{attrs:{label:"Masto",value:"masto"}},[e._v("Masto / Copy verbatim, as in Mastodon")]),e._v(" "),a("el-option",{attrs:{label:"Noop",value:"noop"}},[e._v("Noop / Don't copy the subject")])],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Allows changing the default behaviour of subject lines in replies")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Always show subject input"}},[a("el-switch",{attrs:{value:e.instance.always_show_subject_input},on:{change:function(t){return e.updateSetting(t,"instance","always_show_subject_input")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When set to false, auto-hide the subject field when it's empty")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Extended nickname format"}},[a("el-switch",{attrs:{value:e.instance.extended_nickname_format},on:{change:function(t){return e.updateSetting(t,"instance","extended_nickname_format")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Set to "),a("span",{staticClass:"code"},[e._v("true")]),e._v(" to use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max pinned statuses"}},[a("el-input-number",{attrs:{value:e.instance.max_pinned_statuses,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","max_pinned_statuses")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum number of pinned statuses. '0' will disable the feature")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Autofollowed nicknames"}},[a("el-select",{attrs:{value:e.instance.autofollowed_nicknames||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"instance","autofollowed_nicknames")}}},e._l(e.autofollowedNicknamesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Set to nicknames of (local) users that every new user should automatically follow")])],1),e._v(" "),a("el-form-item",{attrs:{label:"No attachment links"}},[a("el-switch",{attrs:{value:e.instance.no_attachment_links},on:{change:function(t){return e.updateSetting(t,"instance","no_attachment_links")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Set to true to disable automatically adding attachment link text to statuses")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Welcome message"}},[a("el-input",{attrs:{value:e.instance.welcome_message},on:{input:function(t){return e.updateSetting(t,"instance","welcome_message")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A message that will be send to a newly registered users as a direct message")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Welcome user nickname"}},[a("el-input",{attrs:{value:e.instance.welcome_user_nickname},on:{input:function(t){return e.updateSetting(t,"instance","welcome_user_nickname")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The nickname of the local user that sends the welcome message")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max report comment size"}},[a("el-input-number",{attrs:{value:e.instance.max_report_comment_size,step:100,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","max_report_comment_size")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum size of the report comment")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Safe DM mentions"}},[a("el-switch",{attrs:{value:e.instance.safe_dm_mentions},on:{change:function(t){return e.updateSetting(t,"instance","safe_dm_mentions")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If set to true, only mentions at the beginning of a post will be used to address people in direct messages. This is to prevent accidental mentioning of people when talking about them")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Healthcheck"}},[a("el-switch",{attrs:{value:e.instance.healthcheck},on:{change:function(t){return e.updateSetting(t,"instance","healthcheck")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If set to true, system data will be shown on "),a("span",{staticClass:"code"},[e._v("/api/pleroma/healthcheck")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Remote post retention days"}},[a("el-input-number",{attrs:{value:e.instance.remote_post_retention_days,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","remote_post_retention_days")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The default amount of days to retain remote posts when pruning the database.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Skip thread containment"}},[a("el-switch",{attrs:{value:e.instance.skip_thread_containment},on:{change:function(t){return e.updateSetting(t,"instance","skip_thread_containment")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Skip filter out broken threads.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Limit to local content"}},[a("el-select",{attrs:{value:e.instance.limit_to_local_content,clearable:""},on:{change:function(t){return e.updateSetting(t,"instance","limit_to_local_content")}}},[a("el-option",{attrs:{label:"Unauthenticated",value:":unauthenticated"}}),e._v(" "),a("el-option",{attrs:{label:"All",value:":all"}}),e._v(" "),a("el-option",{attrs:{label:"False",value:"false"}})],1)],1),e._v(" "),a("el-form-item",{attrs:{label:"Dynamic configuration"}},[a("el-switch",{attrs:{value:e.instance.dynamic_configuration},on:{change:function(t){return e.updateSetting(t,"instance","dynamic_configuration")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Allow transferring configuration to DB with the subsequent customization from Admin API")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max account fields"}},[a("el-input-number",{attrs:{value:e.instance.max_account_fields,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","max_account_fields")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum number of custom fields in the user profile (Default: 4)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max remote account fields"}},[a("el-input-number",{attrs:{value:e.instance.max_remote_account_fields,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","max_remote_account_fields")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum number of custom fields in the remote user profile (Default: 10)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Account field name length"}},[a("el-input-number",{attrs:{value:e.instance.account_field_name_length,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","account_field_name_length")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("An account field name maximum length (Default: 255)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Account field value length"}},[a("el-input-number",{attrs:{value:e.instance.account_field_value_length,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"instance","account_field_value_length")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("An account field value maximum length (Default: 255)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"External user synchronization"}},[a("el-switch",{attrs:{value:e.instance.external_user_synchronization},on:{change:function(t){return e.updateSetting(t,"instance","external_user_synchronization")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enabling following/followers counters synchronization for external users.")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"uriSchemes",attrs:{model:e.uriSchemes,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"URI schemes"}},[a("el-select",{attrs:{value:e.uriSchemes.valid_schemes||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"uri_schemes","valid_schemes")}}},e._l(e.uriSchemesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of the scheme part that is considered valid to be an URL")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"adminToken",attrs:{model:e.adminToken,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Admin token"}},[a("el-input",{attrs:{value:e.adminToken.value},on:{input:function(t){return e.updateSetting(t,"admin_token","value")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Allows to set a token that can be used to authenticate with the admin api without using an actual user by giving it as the "),a("span",{staticClass:"code"},[e._v("admin_token")]),e._v(" parameter.")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"scheduledActivity",attrs:{model:e.scheduledActivity,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Scheduled activity:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Daily user limit"}},[a("el-input-number",{attrs:{value:e.scheduledActivity.daily_user_limit,step:5,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.ScheduledActivity","daily_user_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The number of scheduled activities a user is allowed to create in a single day (Default: 25)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Total user limit"}},[a("el-input-number",{attrs:{value:e.scheduledActivity.total_user_limit,step:10,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.ScheduledActivity","total_user_limit")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The number of scheduled activities a user is allowed to create in total (Default: 300)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.scheduledActivity.enabled},on:{change:function(t){return e.updateSetting(t,"Pleroma.ScheduledActivity","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Whether scheduled activities are sent to the job queue to be executed")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"fetchInitialPosts",attrs:{model:e.fetchInitialPosts,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Fetch initial posts"}},[a("el-switch",{attrs:{value:e.fetchInitialPosts.enabled},on:{change:function(t){return e.updateSetting(t,"fetch_initial_posts","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If enabled, when a new user is federated with, fetch some of their latest posts")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Pages"}},[a("el-input-number",{attrs:{value:e.fetchInitialPosts.pages,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"fetch_initial_posts","pages")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The amount of pages to fetch")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"suggestions",attrs:{model:e.suggestions,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Suggestions:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.suggestions.enabled},on:{change:function(t){return e.updateSetting(t,"suggestions","enabled")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Third party engine"}},[a("el-input",{attrs:{value:e.suggestions.third_party_engine},on:{input:function(t){return e.updateSetting(t,"suggestions","third_party_engine")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Timeout"}},[a("el-input-number",{attrs:{value:e.suggestions.timeout,step:1e3,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"suggestions","timeout")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Limit"}},[a("el-input-number",{attrs:{value:e.suggestions.limit,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"suggestions","limit")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Web"}},[a("el-input",{attrs:{value:e.suggestions.web},on:{input:function(t){return e.updateSetting(t,"suggestions","web")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"pleromaUser",attrs:{model:e.pleromaUser,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Restricted nicknames"}},[a("el-select",{attrs:{value:e.pleromaUser.restricted_nicknames||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.User","restricted_nicknames")}}},e._l(e.restrictedNicknamesOptions,function(e){return a("el-option",{key:e.value,attrs:{value:e.value}})}),1)],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));H.options.__file="Instance.vue";var q=H.exports,B={name:"JobQueue",computed:n()({},Object(r.b)(["queues","retryQueue"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},V=(a("lNpP"),Object(u.a)(B,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"queues",attrs:{model:e.queues,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Job queues:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Outgoing federation"}},[a("el-input-number",{attrs:{value:e.queues.federator_outgoing,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","federator_outgoing")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Incoming federation"}},[a("el-input-number",{attrs:{value:e.queues.federator_incoming,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","federator_incoming")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Email sender"}},[a("el-input-number",{attrs:{value:e.queues.mailer,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","mailer")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Transmogrifier"}},[a("el-input-number",{attrs:{value:e.queues.transmogrifier,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","transmogrifier")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Web push notifications"}},[a("el-input-number",{attrs:{value:e.queues.web_push,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","web_push")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Scheduled activities"}},[a("el-input-number",{attrs:{value:e.queues.scheduled_activities,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","scheduled_activities")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Background"}},[a("el-input-number",{attrs:{value:e.queues.background,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"queues","background")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"retryQueue",attrs:{model:e.retryQueue,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Retry queue:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.retryQueue.enabled},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Federator.RetryQueue","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If set to true, failed federation jobs will be retried")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max jobs"}},[a("el-input-number",{attrs:{value:e.retryQueue.max_jobs,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Federator.RetryQueue","max_jobs")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum amount of parallel federation jobs running at the same time.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Initial timeout (s)"}},[a("el-input-number",{attrs:{value:e.retryQueue.initial_timeout,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Federator.RetryQueue","initial_timeout")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The initial timeout in seconds")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max retries"}},[a("el-input-number",{attrs:{value:e.retryQueue.max_retries,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Federator.RetryQueue","max_retries")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The maximum number of times a federation job is retried")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));V.options.__file="JobQueue.vue";var G=V.exports,K={name:"Logger",computed:n()({},Object(r.b)(["consoleLogger","exsyslogger","level","loggerBackends","meta","webhookUrl"]),{loggerBackendsValue:function(){return this.loggerBackends.value?this.loggerBackends.value.map(function(e){return JSON.stringify(e)}):[]},loggerBackendsOptions:function(){return x.loggerBackendsOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{processNestedData:function(e,t,a,s){var l=n()({},this.$store.state.settings.settings[t][a],i()({},s,e));this.updateSetting(l,t,a)},updateloggerBackends:function(e,t,a){var s=e.map(function(e){return JSON.parse(e)});this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,s)})},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},Q=(a("mADP"),Object(u.a)(K,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"loggerBackends",attrs:{model:e.loggerBackends,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Backends"}},[a("el-select",{attrs:{value:e.loggerBackendsValue,multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateloggerBackends(t,"backends","value")}}},e._l(e.loggerBackendsOptions,function(e,t){return a("el-option",{key:t,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[a("span",{staticClass:"code"},[e._v(":console")]),e._v(" is used to send logs to stdout, "),a("span",{staticClass:"code"},[e._v("{ExSyslogger, :ex_syslogger}")]),e._v(" to log to syslog, and "),a("span",{staticClass:"code"},[e._v("Quack.Logger")]),e._v(" to log to Slack")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"consoleLogger",attrs:{model:e.consoleLogger,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Console logger:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Level"}},[a("el-select",{attrs:{value:e.consoleLogger.level,clearable:""},on:{change:function(t){return e.updateSetting(t,"console","level")}}},[a("el-option",{attrs:{value:":debug",label:":debug - for debug-related messages"}}),e._v(" "),a("el-option",{attrs:{value:":info",label:":info - for information of any kind"}}),e._v(" "),a("el-option",{attrs:{value:":warn",label:":warn - for warnings"}}),e._v(" "),a("el-option",{attrs:{value:":error",label:":error - for errors"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("The level to be logged by this backend. Note that messages are filtered by the general\n "),a("span",{staticClass:"code"},[e._v(":level")]),e._v(" configuration for the "),a("span",{staticClass:"code"},[e._v(":logger")]),e._v(" application first.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Format"}},[a("el-input",{attrs:{value:e.consoleLogger.format},on:{input:function(t){return e.updateSetting(t,"console","format")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The format message used to print logs. ")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Metadata"}},[a("el-select",{attrs:{value:e.consoleLogger.metadata||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"console","metadata")}}},[a("el-option",{attrs:{value:":all"}}),e._v(" "),a("el-option",{attrs:{value:":request_id"}}),e._v(" "),a("el-option",{attrs:{value:":line"}}),e._v(" "),a("el-option",{attrs:{value:":user_id"}}),e._v(" "),a("el-option",{attrs:{value:":application"}}),e._v(" "),a("el-option",{attrs:{value:":function"}}),e._v(" "),a("el-option",{attrs:{value:":file"}}),e._v(" "),a("el-option",{attrs:{value:":pid"}}),e._v(" "),a("el-option",{attrs:{value:":crash_reason"}}),e._v(" "),a("el-option",{attrs:{value:":initial_call"}}),e._v(" "),a("el-option",{attrs:{value:":registered_name"}}),e._v(" "),a("el-option",{attrs:{value:":none"}})],1)],1),e._v(" "),a("el-form-item",{attrs:{label:"Device"}},[a("el-input",{attrs:{value:e.consoleLogger.device},on:{input:function(t){return e.updateSetting(t,"console","device")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The device to log error messages to. Defaults to "),a("span",{staticClass:"code"},[e._v(":user")]),e._v("\n but can be changed to something else such as "),a("span",{staticClass:"code"},[e._v(":standard_error")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max buffer"}},[a("el-input-number",{attrs:{value:e.consoleLogger.max_buffer,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"console","max_buffer")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Maximum events to buffer while waiting for a confirmation from the IO device (default: 32). Once the buffer is full, the backend will block until a confirmation is received.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Colors:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.consoleLogger.colors.enabled},on:{change:function(t){return e.processNestedData(t,"console","colors","enabled")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Debug message"}},[a("el-input",{attrs:{value:e.consoleLogger.colors.debug},on:{input:function(t){return e.processNestedData(t,"console","colors","debug")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Defaults to: "),a("span",{staticClass:"code"},[e._v(":cyan")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Info message"}},[a("el-input",{attrs:{value:e.consoleLogger.colors.info},on:{input:function(t){return e.processNestedData(t,"console","colors","info")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Defaults to: "),a("span",{staticClass:"code"},[e._v(":normal")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Warn message"}},[a("el-input",{attrs:{value:e.consoleLogger.colors.warn},on:{input:function(t){return e.processNestedData(t,"console","colors","warn")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Defaults to: "),a("span",{staticClass:"code"},[e._v(":yellow")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Error message"}},[a("el-input",{attrs:{value:e.consoleLogger.colors.error},on:{input:function(t){return e.processNestedData(t,"console","colors","error")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Defaults to: "),a("span",{staticClass:"code"},[e._v(":red")])])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"exsyslogger",attrs:{model:e.exsyslogger,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"ExSyslogger:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Level"}},[a("el-select",{attrs:{value:e.exsyslogger.level,clearable:""},on:{change:function(t){return e.updateSetting(t,"ex_syslogger","level")}}},[a("el-option",{attrs:{value:":debug",label:":debug - for debug-related messages"}}),e._v(" "),a("el-option",{attrs:{value:":info",label:":info - for information of any kind"}}),e._v(" "),a("el-option",{attrs:{value:":warn",label:":warn - for warnings"}}),e._v(" "),a("el-option",{attrs:{value:":error",label:":error - for errors"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Logging level. It defaults to "),a("span",{staticClass:"code"},[e._v(":info.")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Format"}},[a("el-input",{attrs:{value:e.exsyslogger.format},on:{input:function(t){return e.updateSetting(t,"ex_syslogger","format")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The format message used to print logs.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Formatter"}},[a("el-input",{attrs:{value:e.exsyslogger.formatter},on:{input:function(t){return e.updateSetting(t,"ex_syslogger","formatter")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Formatter that will be used to format the log. It default to "),a("span",{staticClass:"code"},[e._v("Logger.Formatter")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Metadata"}},[a("el-select",{attrs:{value:e.exsyslogger.metadata||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"ex_syslogger","metadata")}}},[a("el-option",{attrs:{value:":all"}}),e._v(" "),a("el-option",{attrs:{value:":request_id"}}),e._v(" "),a("el-option",{attrs:{value:":line"}}),e._v(" "),a("el-option",{attrs:{value:":user_id"}}),e._v(" "),a("el-option",{attrs:{value:":application"}}),e._v(" "),a("el-option",{attrs:{value:":function"}}),e._v(" "),a("el-option",{attrs:{value:":file"}}),e._v(" "),a("el-option",{attrs:{value:":pid"}}),e._v(" "),a("el-option",{attrs:{value:":crash_reason"}}),e._v(" "),a("el-option",{attrs:{value:":initial_call"}}),e._v(" "),a("el-option",{attrs:{value:":registered_name"}}),e._v(" "),a("el-option",{attrs:{value:":none"}})],1)],1),e._v(" "),a("el-form-item",{attrs:{label:"Ident"}},[a("el-input",{attrs:{value:e.exsyslogger.ident},on:{input:function(t){return e.updateSetting(t,"ex_syslogger","ident")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A string that’s prepended to every message, and is typically set to the app name. It defaults to "),a("span",{staticClass:"code"},[e._v("Elixir")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Facility"}},[a("el-input",{attrs:{value:e.exsyslogger.facility},on:{input:function(t){return e.updateSetting(t,"ex_syslogger","facility")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Syslog facility to be used. It defaults to "),a("span",{staticClass:"code"},[e._v(":local0")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Options"}},[a("el-select",{attrs:{value:e.exsyslogger.option||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"ex_syslogger","option")}}},[a("el-option",{attrs:{value:":pid"}}),e._v(" "),a("el-option",{attrs:{value:":cons"}}),e._v(" "),a("el-option",{attrs:{value:":odelay"}}),e._v(" "),a("el-option",{attrs:{value:":ndelay"}}),e._v(" "),a("el-option",{attrs:{value:":perror"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Syslog option to be used. It defaults to "),a("span",{staticClass:"code"},[e._v(":ndelay.")])])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"webhookUrl",attrs:{model:e.webhookUrl,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Quack logger:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Webhook URL"}},[a("el-input",{attrs:{value:e.webhookUrl.value},on:{input:function(t){return e.updateSetting(t,"webhook_url","value")}}})],1)],1),e._v(" "),a("el-form",{ref:"level",attrs:{model:e.level,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Level"}},[a("el-select",{attrs:{value:e.level.value,clearable:""},on:{change:function(t){return e.updateSetting(t,"level","value")}}},[a("el-option",{attrs:{value:":debug",label:":debug - for debug-related messages"}}),e._v(" "),a("el-option",{attrs:{value:":info",label:":info - for information of any kind"}}),e._v(" "),a("el-option",{attrs:{value:":warn",label:":warn - for warnings"}}),e._v(" "),a("el-option",{attrs:{value:":error",label:":error - for errors"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("Logging level. It defaults to "),a("span",{staticClass:"code"},[e._v(":info.")])])],1)],1),e._v(" "),a("el-form",{ref:"meta",attrs:{model:e.meta,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Metadata"}},[a("el-select",{attrs:{value:e.meta.value||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"meta","value")}}},[a("el-option",{attrs:{value:":all"}}),e._v(" "),a("el-option",{attrs:{value:":module"}}),e._v(" "),a("el-option",{attrs:{value:":function"}}),e._v(" "),a("el-option",{attrs:{value:":file"}}),e._v(" "),a("el-option",{attrs:{value:":application"}}),e._v(" "),a("el-option",{attrs:{value:":line"}}),e._v(" "),a("el-option",{attrs:{value:":pid"}}),e._v(" "),a("el-option",{attrs:{value:":crash_reason"}}),e._v(" "),a("el-option",{attrs:{value:":initial_call"}}),e._v(" "),a("el-option",{attrs:{value:":registered_name"}}),e._v(" "),a("el-option",{attrs:{value:":none"}})],1)],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));Q.options.__file="Logger.vue";var J=Q.exports,Y={name:"Mailer",components:{editor:P.a},computed:n()({},Object(r.b)(["emailNotifications","mailer","userEmail"]),{editorContent:{get:function(){return this.mailer.dkim?this.mailer.dkim[0]:""},set:function(e){this.updateSetting([e],"Pleroma.Emails.Mailer","dkim")}},adapterOptions:function(){return x.adapterOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{processNestedData:function(e,t,a,s){var l=n()({},this.$store.state.settings.settings[t][a],i()({},s,e));this.updateSetting(l,t,a)},sendEmailLogo:function(e){var t=e.file;this.$store.dispatch("UploadMedia",{file:t,tab:"Pleroma.Emails.UserEmail",inputName:"logo"})},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},X=(a("PygS"),Object(u.a)(Y,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"mailer",attrs:{model:e.mailer,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.mailer.enabled},on:{change:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Allows to enable or disable sending emails. Defaults to false.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Adapter"}},[a("el-select",{attrs:{value:e.mailer.adapter,clearable:""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","adapter")}}},e._l(e.adapterOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),"Swoosh.Adapters.Sendmail"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"CMD Path"}},[a("el-input",{attrs:{value:e.mailer.cmd_path},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","cmd_path")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("E. g. "),a("span",{staticClass:"code"},[e._v('/usr/bin/sendmail"')])])],1),e._v(" "),a("el-form-item",{attrs:{label:"CMD Args"}},[a("el-input",{attrs:{value:e.mailer.cmd_args},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","cmd_args")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("E. g. "),a("span",{staticClass:"code"},[e._v("-N delay,failure,success")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Qmail"}},[a("el-switch",{attrs:{value:e.mailer.qmail},on:{change:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","qmail")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.SMTP"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"Relay"}},[a("el-input",{attrs:{value:e.mailer.relay},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","relay")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("E. g. "),a("span",{staticClass:"code"},[e._v("smtp.avengers.com")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Username"}},[a("el-input",{attrs:{value:e.mailer.username},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","username")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Password"}},[a("el-input",{attrs:{value:e.mailer.password},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","password")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"SSL"}},[a("el-switch",{attrs:{value:e.mailer.ssl},on:{change:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","ssl")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"TLS"}},[a("el-input",{attrs:{value:e.mailer.tls},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","tls")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("E.g. "),a("span",{staticClass:"code"},[e._v(":always")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Auth"}},[a("el-input",{attrs:{value:e.mailer.auth},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","auth")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("E.g. "),a("span",{staticClass:"code"},[e._v(":always")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Port"}},[a("el-input",{attrs:{value:e.mailer.port},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","port")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"DKIM"}},[a("editor",{attrs:{height:"150",width:"100%",lang:"elixir",theme:"chrome"},model:{value:e.editorContent,callback:function(t){e.editorContent=t},expression:"editorContent"}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Retries"}},[a("el-input-number",{attrs:{value:e.mailer.retries,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","retries")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"No mx lookups"}},[a("el-switch",{attrs:{value:e.mailer.no_mx_lookups},on:{change:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","no_mx_lookups")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Sendgrid"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Mandrill"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Mailgun"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Domain"}},[a("el-input",{attrs:{value:e.mailer.domain},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","domain")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Mailjet"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Secret"}},[a("el-input",{attrs:{value:e.mailer.secret},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","secret")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Postmark"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.SparkPost"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Endpoint"}},[a("el-input",{attrs:{value:e.mailer.endpoint},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","endpoint")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.AmazonSES"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"Region"}},[a("el-input",{attrs:{value:e.mailer.region},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","region")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Access key"}},[a("el-input",{attrs:{value:e.mailer.access_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","access_key")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Secret"}},[a("el-input",{attrs:{value:e.mailer.secret},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","secret")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Dyn"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.SocketLabs"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"Server ID"}},[a("el-input",{attrs:{value:e.mailer.server_id},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","server_id")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"API key"}},[a("el-input",{attrs:{value:e.mailer.api_key},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","api_key")}}})],1)],1):e._e(),e._v(" "),"Swoosh.Adapters.Gmail"===e.mailer.adapter?a("div",[a("el-form-item",{attrs:{label:"Access token"}},[a("el-input",{attrs:{value:e.mailer.access_token},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.Mailer","access_token")}}})],1)],1):e._e()],1),e._v(" "),a("el-form",{ref:"emailNotifications",attrs:{model:e.emailNotifications,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Email notifications"}}),e._v(" "),a("el-form-item",{attrs:{label:"Digest:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Active"}},[a("el-switch",{attrs:{value:e.emailNotifications.digest.active},on:{change:function(t){return e.processNestedData(t,"email_notifications","digest","active")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Globally enable or disable digest emails.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Schedule"}},[a("el-input",{attrs:{value:e.emailNotifications.digest.schedule},on:{input:function(t){return e.processNestedData(t,"email_notifications","digest","schedule")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When to send digest email, in "),a("a",{attrs:{href:"https://en.wikipedia.org/wiki/Cron",rel:"nofollow noreferrer noopener",target:"_blank"}},[e._v("\n crontab format\n ")]),e._v('.\n "0 0 * * 0" is the default, meaning "once a week at midnight on Sunday morning"')])],1),e._v(" "),a("el-form-item",{attrs:{label:"Interval"}},[a("el-input-number",{attrs:{value:e.emailNotifications.digest.interval,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"email_notifications","digest","interval")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Minimum interval between digest emails to one user.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Inactivity threshold"}},[a("el-input-number",{attrs:{value:e.emailNotifications.digest.inactivity_threshold,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"email_notifications","digest","inactivity_threshold")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Minimum user inactivity threshold.")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"userEmail",attrs:{model:e.userEmail,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Digest template styles:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Logo"}},[a("el-input",{attrs:{value:e.userEmail.logo},on:{input:function(t){return e.updateSetting(t,"Pleroma.Emails.UserEmail","logo")}}}),e._v(" "),a("div",{staticClass:"upload-container"},[a("p",{staticClass:"text"},[e._v("or")]),e._v(" "),a("el-upload",{attrs:{"http-request":e.sendEmailLogo,multiple:!1,"show-file-list":!1,action:"/api/v1/media"}},[a("el-button",{attrs:{size:"small",type:"primary"}},[e._v("Click to upload")])],1)],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("A path to a custom logo.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Styling:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Link color"}},[a("el-input",{attrs:{value:e.userEmail.styling.link_color},on:{input:function(t){return e.processNestedData(t,"Pleroma.Emails.UserEmail","styling","link_color")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Background color"}},[a("el-input",{attrs:{value:e.userEmail.styling.background_color},on:{input:function(t){return e.processNestedData(t,"Pleroma.Emails.UserEmail","styling","background_color")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Content background color"}},[a("el-input",{attrs:{value:e.userEmail.styling.content_background_color},on:{input:function(t){return e.processNestedData(t,"Pleroma.Emails.UserEmail","styling","content_background_color")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Header color"}},[a("el-input",{attrs:{value:e.userEmail.styling.header_color},on:{input:function(t){return e.processNestedData(t,"Pleroma.Emails.UserEmail","styling","header_color")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Text color"}},[a("el-input",{attrs:{value:e.userEmail.styling.text_color},on:{input:function(t){return e.processNestedData(t,"Pleroma.Emails.UserEmail","styling","text_color")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Text muted color"}},[a("el-input",{attrs:{value:e.userEmail.styling.text_muted_color},on:{input:function(t){return e.processNestedData(t,"Pleroma.Emails.UserEmail","styling","text_muted_color")}}})],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));X.options.__file="Mailer.vue";var Z=X.exports,ee={name:"MediaProxy",computed:n()({},Object(r.b)(["mediaProxy"]),{inlineContentTypes:function(){return Array.isArray(this.mediaProxy.proxy_opts.inline_content_types)?"whitelistedTypeArray":this.mediaProxy.proxy_opts.inline_content_types},http:function(){return this.mediaProxy.proxy_opts.http||{}},reqHeadersOptions:function(){return this.mediaProxySettings.reqHeadersOptions},hackneyPoolsOptions:function(){return x.hackneyPoolsOptions},whitelistedContentTypes:function(){return Array.isArray(this.mediaProxy.proxy_opts.inline_content_types)?this.mediaProxy.proxy_opts.inline_content_types:[]},whitelistedContentTypesOptions:function(){return x.whitelistedContentTypesOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{getPoolExpl:function(e){var t=this.hackneyPoolsOptions.find(function(t){return t.value===e});return t?"Max connections: "+t.max_connections+", timeout: "+t.timeout:""},processHttpSettings:function(e,t,a,s,l){var r=n()({},this.mediaProxy[a][s],i()({},l,e));this.processNestedData(r,t,a,s)},processNestedData:function(e,t,a,s){var l=n()({},this.$store.state.settings.settings[t][a],i()({},s,e));this.updateSetting(l,t,a)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},te=(a("UdS4"),Object(u.a)(ee,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-form",{ref:"mediaProxy",attrs:{model:e.mediaProxy,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.mediaProxy.enabled},on:{change:function(t){return e.updateSetting(t,"media_proxy","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Enables proxying of remote media to the instance’s proxy")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Base URL"}},[a("el-input",{attrs:{value:e.mediaProxy.base_url},on:{input:function(t){return e.updateSetting(t,"media_proxy","base_url")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts.")])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Proxy options:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Redirect on failure"}},[a("el-switch",{attrs:{value:e.mediaProxy.proxy_opts.redirect_on_failure},on:{change:function(t){return e.processNestedData(t,"media_proxy","proxy_opts","redirect_on_failure")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Redirects the client to the real remote URL if there's any HTTP errors. Any error during body processing will not be redirected as the response is chunked")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max body length (MB)"}},[a("el-input-number",{attrs:{value:e.mediaProxy.proxy_opts.max_body_length/1048576,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(1048576*t,"media_proxy","proxy_opts","max_body_length")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Limits the content length to be approximately the specified length")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max read duration (s)"}},[a("el-input-number",{attrs:{value:e.mediaProxy.proxy_opts.max_read_duration,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"media_proxy","proxy_opts","max_read_duration")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The total time the connection is allowed to read from the remote upstream")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Inline content types"}},[a("el-select",{attrs:{value:e.inlineContentTypes,clearable:""},on:{change:function(t){return e.processNestedData(t,"media_proxy","proxy_opts","inline_content_types")}}},[a("el-option",{attrs:{value:!0,label:"True"}}),e._v(" "),a("el-option",{attrs:{value:!1,label:"False"}}),e._v(" "),a("el-option",{attrs:{value:"whitelistedTypeArray",label:"List of whitelisted content types"}}),e._v(" "),a("el-option",{attrs:{value:"keepUserAgent",label:"Forward client's user-agent to the upstream"}})],1),e._v(" "),!0===e.inlineContentTypes?a("p",{staticClass:"expl"},[e._v("Will not alter "),a("span",{staticClass:"code"},[e._v("content-disposition")]),e._v(" (up to the upstream)")]):e._e(),e._v(" "),e.inlineContentTypes?e._e():a("p",{staticClass:"expl"},[e._v("Will add "),a("span",{staticClass:"code"},[e._v("content-disposition: attachment")]),e._v(" to any request")]),e._v(" "),"keepUserAgent"===e.inlineContentTypes?a("p",{staticClass:"expl"},[e._v("\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\n doing content transformation (encoding, …) depending on the request.\n ")]):e._e()],1),e._v(" "),"whitelistedTypeArray"===e.inlineContentTypes?a("el-form-item",{attrs:{label:"Whitelisted content types"}},[a("el-select",{attrs:{value:e.whitelistedContentTypes,multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.processNestedData(t,"media_proxy","proxy_opts","inline_content_types")}}},e._l(e.whitelistedContentTypesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"Request headers"}},[a("el-select",{attrs:{value:e.mediaProxy.proxy_opts.req_headers||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.processNestedData(t,"media_proxy","proxy_opts","req_headers")}}}),e._v(" "),a("p",{staticClass:"expl"},[a("span",{staticClass:"code"},[e._v("resp_headers")]),e._v(" additional headers")])],1),e._v(" "),a("el-form-item",{attrs:{label:"HTTP:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Follow redirect"}},[a("el-switch",{attrs:{value:e.http.follow_redirect},on:{change:function(t){return e.processHttpSettings(t,"media_proxy","proxy_opts","http","follow_redirect")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Pool"}},[a("el-select",{attrs:{value:e.http.pool,clearable:""},on:{change:function(t){return e.processHttpSettings(t,"media_proxy","proxy_opts","http","pool")}}},e._l(e.hackneyPoolsOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v(e._s(e.getPoolExpl(e.http.pool)))])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Whitelist"}},[a("el-select",{attrs:{value:e.mediaProxy.whitelist||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"media_proxy","whitelist")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of domains to bypass the mediaproxy")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)},[],!1,null,null,null));te.options.__file="MediaProxy.vue";var ae=te.exports,se={name:"Metadata",computed:n()({},Object(r.b)(["metadata","richMedia"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},ie=(a("apN7"),Object(u.a)(se,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"metadata",attrs:{model:e.metadata,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Providers"}},[a("el-select",{attrs:{value:e.metadata.providers||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Metadata","providers")}}},[a("el-option",{attrs:{value:"Pleroma.Web.Metadata.Providers.OpenGraph"}}),e._v(" "),a("el-option",{attrs:{value:"Pleroma.Web.Metadata.Providers.TwitterCard"}}),e._v(" "),a("el-option",{attrs:{value:"Pleroma.Web.Metadata.Providers.RelMe"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of metadata providers to enable.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Unfurl NSFW"}},[a("el-switch",{attrs:{value:e.metadata.unfurl_nsfw},on:{change:function(t){return e.updateSetting(t,"Pleroma.Web.Metadata","unfurl_nsfw")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If set to true nsfw attachments will be shown in previews.")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"richMedia",attrs:{model:e.richMedia,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Rich media:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Enabled"}},[a("el-switch",{attrs:{value:e.richMedia.enabled},on:{change:function(t){return e.updateSetting(t,"rich_media","enabled")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If enabled the instance will parse metadata from attached links to generate link previews.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Ignore hosts"}},[a("el-select",{attrs:{value:e.richMedia.ignore_hosts||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"rich_media","ignore_hosts")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of hosts which will be ignored by the metadata parser.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Ignore TLD"}},[a("el-select",{attrs:{value:e.richMedia.ignore_tld||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"rich_media","ignore_tld")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List TLDs (top-level domains) which will ignore for parse metadata.\n Default is "),a("span",{staticClass:"code"},[e._v('["local", "localdomain", "lan"]')])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Parsers"}},[a("el-select",{attrs:{value:e.richMedia.parsers||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"rich_media","parsers")}}},[a("el-option",{attrs:{value:"Pleroma.Web.RichMedia.Parsers.TwitterCard"}}),e._v(" "),a("el-option",{attrs:{value:"Pleroma.Web.RichMedia.Parsers.OGP"}}),e._v(" "),a("el-option",{attrs:{value:"Pleroma.Web.RichMedia.Parsers.OEmbed"}})],1),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of Rich Media parsers")])],1),e._v(" "),a("el-form-item",{attrs:{label:"TTL Setters"}},[a("el-select",{attrs:{value:e.richMedia.ttl_setters||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"rich_media","ttl_setters")}}},[a("el-option",{attrs:{value:"Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl"}})],1)],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));ie.options.__file="Metadata.vue";var le=ie.exports,ne={name:"MRF",data:function(){return{removableDoubleOptions:["replace","mrfUserAllowlist"],removableSingleOptions:["keywordReject","federatedTimelineRemoval"]}},computed:n()({},Object(r.b)(["mrfHellthread","mrfKeyword","mrfMention","mrfNormalizeMarkup","mrfSimple","mrfSubchain","mrfRejectnonpublic","mrfUserAllowlist","mrfVocabulary"]),{matchActor:function(){var e=this;return Object.keys(this.mrfSubchain.match_actor).map(function(t){return[t,e.mrfSubchain.match_actor[t]]})},policiesOptions:function(){return x.rewritePolicyOptions},replacePatterns:function(){var e=this;return Object.keys(this.mrfKeyword.replace).map(function(t){return[t,e.mrfKeyword.replace[t]]})},userAllowlist:function(){var e=this;return Object.keys(this.mrfUserAllowlist).map(function(t){return[t,e.mrfUserAllowlist[t]]})},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{addMrfSubchainRow:function(){var e=this.matchActor.reduce(function(e,t,a){return n()({},e,i()({},t[0],t[1]))},{});this.updateSetting(n()({},e,{"":[]}),"mrf_subchain","match_actor")},addMrfUserAllowlistRow:function(){var e=this.userAllowlist.reduce(function(e,t,a){return n()({},e,i()({},t[0],t[1]))},{});this.$store.dispatch("RewriteConfig",{data:n()({},e,{"":[]}),tab:"mrf_user_allowlist"})},addReplaceRow:function(){var e=this.replacePatterns.reduce(function(e,t,a){return n()({},e,i()({},t[0],t[1]))},{});this.updateSetting(n()({},e,{"":""}),"mrf_keyword","replace")},deleteMrfSubchainRow:function(e){var t=this.matchActor.filter(function(t,a){return e!==a}).reduce(function(e,t,a){return n()({},e,i()({},t[0],t[1]))},{});this.updateSetting(t,"mrf_subchain","match_actor")},deleteMrfUserAllowlistRow:function(e){var t=this.userAllowlist.filter(function(t,a){return e!==a}).reduce(function(e,t,a){return n()({},e,i()({},t[0],t[1]))},{});this.$store.dispatch("RewriteConfig",{data:t,tab:"mrf_user_allowlist"})},deleteReplaceRow:function(e){var t=this.replacePatterns.filter(function(t,a){return e!==a}).reduce(function(e,t,a){return n()({},e,i()({},t[0],t[1]))},{});this.updateSetting(t,"mrf_keyword","replace")},parseMrfSubchain:function(e,t,a){var s=this.matchActor.reduce(function(s,l,r){return a===r?"regExp"===t?n()({},s,i()({},e,l[1])):n()({},s,i()({},l[0],e)):n()({},s,i()({},l[0],l[1]))},{});this.updateSetting(s,"mrf_subchain","match_actor")},parseMrfUserAllowlist:function(e,t,a){var s=this.userAllowlist.reduce(function(s,l,r){return a===r?"domain"===t?n()({},s,i()({},e,l[1])):n()({},s,i()({},l[0],e)):n()({},s,i()({},l[0],l[1]))},{});this.$store.dispatch("RewriteConfig",{data:s,tab:"mrf_user_allowlist"})},parseReplace:function(e,t,a){var s=this.replacePatterns.reduce(function(s,l,r){return a===r?"key"===t?n()({},s,i()({},e,l[1])):n()({},s,i()({},l[0],e)):n()({},s,i()({},l[0],l[1]))},{});this.updateSetting(s,"mrf_keyword","replace")},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},re=(a("h9z7"),Object(u.a)(ne,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"mrfSimple",attrs:{model:e.mrfSimple,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF Simple:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Media removal"}},[a("el-select",{attrs:{value:e.mrfSimple.media_removal||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","media_removal")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to remove medias from")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Media NSFW"}},[a("el-select",{attrs:{value:e.mrfSimple.media_nsfw||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","media_nsfw")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to put medias as NSFW (sensitive)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Federated timeline removal"}},[a("el-select",{attrs:{value:e.mrfSimple.federated_timeline_removal||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","federated_timeline_removal")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to remove from Federated (aka The Whole Known Network) Timeline")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Reject"}},[a("el-select",{attrs:{value:e.mrfSimple.reject||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","reject")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to reject any activities from")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Accept"}},[a("el-select",{attrs:{value:e.mrfSimple.accept||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","accept")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to accept any activities from")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Report removal"}},[a("el-select",{attrs:{value:e.mrfSimple.report_removal||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","report_removal")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to reject reports from")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Avatar removal"}},[a("el-select",{attrs:{value:e.mrfSimple.avatar_removal||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","avatar_removal")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to strip avatars from")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Banner removal"}},[a("el-select",{attrs:{value:e.mrfSimple.banner_removal||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_simple","banner_removal")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("List of instances to strip banners from")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfRejectnonpublic",attrs:{model:e.mrfRejectnonpublic,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF Reject non public:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Allow followers-only posts"}},[a("el-switch",{attrs:{value:e.mrfRejectnonpublic.allow_followersonly},on:{change:function(t){return e.updateSetting(t,"mrf_rejectnonpublic","allow_followersonly")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Allow direct messages"}},[a("el-switch",{attrs:{value:e.mrfRejectnonpublic.allow_direct},on:{change:function(t){return e.updateSetting(t,"mrf_rejectnonpublic","allow_direct")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfHellthread",attrs:{model:e.mrfHellthread,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF Hellthread:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Delist threshold"}},[a("el-input-number",{attrs:{value:e.mrfHellthread.delist_threshold,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"mrf_hellthread","delist_threshold")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Number of mentioned users after which the message gets delisted\n (the message can still be seen, but it will not show up in public timelines and mentioned users won't get notifications about it).\n Set to 0 to disable.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Reject threshold"}},[a("el-input-number",{attrs:{value:e.mrfHellthread.reject_threshold,step:1,min:0,size:"large"},on:{change:function(t){return e.updateSetting(t,"mrf_hellthread","reject_threshold")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Number of mentioned users after which the messaged gets rejected. Set to 0 to disable.")])],1)],1),e._v(" "),a("el-form",{ref:"mrfKeyword",attrs:{model:e.mrfKeyword,"label-width":e.labelWidth}},[a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"MRF Keyword:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Reject"}},[a("el-select",{attrs:{value:e.mrfKeyword.reject||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_keyword","reject")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of patterns which result in message being rejected")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Federated timeline removal"}},[a("el-select",{attrs:{value:e.mrfKeyword.federated_timeline_removal,multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_keyword","federated_timeline_removal")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of patterns which result in message being removed from federated timelines (a.k.a unlisted)")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Replace"}},[e._l(e.replacePatterns,function(t,s){var i=t[0],l=t[1];return a("div",{key:s,staticClass:"setting-input"},[a("el-input",{staticClass:"name-input",attrs:{value:i,placeholder:"pattern"},on:{input:function(t){return e.parseReplace(t,"key",s)}}}),e._v(" :\n "),a("el-input",{staticClass:"value-input",attrs:{value:l,placeholder:"replacement"},on:{input:function(t){return e.parseReplace(t,"value",s)}}}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.deleteReplaceRow(s)}}})],1)}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:e.addReplaceRow}})],2)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfSubchain",attrs:{model:e.mrfSubchain,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF Subchain:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Match actor:"}},[e._l(e.matchActor,function(t,s){var i=t[0],l=t[1];return a("div",{key:s,staticClass:"setting-input"},[a("el-input",{staticClass:"name-input",attrs:{value:i,placeholder:"Regular expression"},on:{input:function(t){return e.parseMrfSubchain(t,"regExp",s)}}}),e._v(" :\n "),a("el-select",{staticClass:"value-input",attrs:{value:l,placeholder:"Policy modules",multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.parseMrfSubchain(t,"policies",s)}}},e._l(e.policiesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.deleteMrfSubchainRow(s)}}})],1)}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:e.addMrfSubchainRow}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Matches a series of regular expressions against the actor field.")])],2)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfMention",attrs:{model:e.mrfMention,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF Mention:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Actors"}},[a("el-select",{attrs:{value:e.mrfMention.actors||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_mention","actors")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of actors, for which to drop any posts mentioning.")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfUserAllowlist",attrs:{model:e.mrfUserAllowlist,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF User allowlist"}},[e._l(e.userAllowlist,function(t,s){var i=t[0],l=t[1];return a("div",{key:s,staticClass:"setting-input"},[a("el-input",{staticClass:"name-input",attrs:{value:i,placeholder:"domain"},on:{input:function(t){return e.parseMrfUserAllowlist(t,"domain",s)}}}),e._v(" :\n "),a("el-select",{staticClass:"value-input",attrs:{value:l,placeholder:"list of users",multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.parseMrfUserAllowlist(t,"users",s)}}}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.deleteMrfUserAllowlistRow(s)}}})],1)}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:e.addMrfUserAllowlistRow}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The keys in this section are the domain names that the policy should apply to. Each key should be assigned a list of users that should be allowed through by their ActivityPub ID.")])],2)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfNormalizeMarkup",attrs:{model:e.mrfNormalizeMarkup,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF normalize markup:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Scrub policy"}},[a("el-input",{attrs:{value:e.mrfNormalizeMarkup.scrub_policy},on:{input:function(t){return e.updateSetting(t,"mrf_normalize_markup","scrub_policy")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mrfVocabulary",attrs:{model:e.mrfVocabulary,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"MRF Vocabulary:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Accept"}},[a("el-select",{attrs:{value:e.mrfVocabulary.accept||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_vocabulary","accept")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of ActivityStreams terms to accept. If empty, all supported messages are accepted.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Reject"}},[a("el-select",{attrs:{value:e.mrfVocabulary.reject||[],multiple:"","allow-create":"",filterable:""},on:{change:function(t){return e.updateSetting(t,"mrf_vocabulary","reject")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A list of ActivityStreams terms to reject. If empty, no messages are rejected.")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));re.options.__file="MRF.vue";var oe=re.exports,ue={name:"Other",computed:n()({},Object(r.b)(["formatEncoders","mimeTypesConfig","teslaAdapter"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"},mimeTypes:function(){var e=this;return Object.keys(this.mimeTypesConfig.value).map(function(t){return[t,e.mimeTypesConfig.value[t]]})}}),methods:{addRowToMimeTypes:function(){var e=this.mimeTypes.reduce(function(e,t,a){return n()({},e,i()({},t[0],t[1]))},{});this.updateSetting(n()({},e,{"":[]}),"types","value")},deleteMimeTypes:function(e){var t=this.mimeTypes.filter(function(t,a){return e!==a}).reduce(function(e,t,a){return n()({},e,i()({},t[0],t[1]))},{});this.updateSetting(t,"types","value")},onSubmit:function(){this.$store.dispatch("SubmitChanges")},parseMimeTypes:function(e,t,a){var s=this.mimeTypes.reduce(function(s,l,r){return a===r?"type"===t?n()({},s,i()({},e,l[1])):n()({},s,i()({},l[0],e)):n()({},s,i()({},l[0],l[1]))},{});this.updateSetting(s,"types","value")},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})}}},ce=(a("gFOO"),Object(u.a)(ue,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"formatEncoders",attrs:{model:e.formatEncoders,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Phoenix Format encoders:"}}),e._v(" "),a("el-form-item",{attrs:{label:"JSON"}},[a("el-input",{attrs:{value:e.formatEncoders.json},on:{input:function(t){return e.updateSetting(t,"format_encoders","json")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"teslaAdapter",attrs:{model:e.teslaAdapter,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Tesla adapter"}},[a("el-input",{attrs:{value:e.teslaAdapter.value},on:{input:function(t){return e.updateSetting(t,"adapter","value")}}})],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"mimeTypesConfig",attrs:{model:e.mimeTypesConfig,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Mime types"}},[e._l(e.mimeTypes,function(t,s){var i=t[0],l=t[1];return a("div",{key:s,staticClass:"setting-input"},[a("el-input",{staticClass:"name-input",attrs:{value:i,placeholder:"type"},on:{input:function(t){return e.parseMimeTypes(t,"type",s)}}}),e._v(" :\n "),a("el-select",{staticClass:"value-input",attrs:{value:l,multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.parseMimeTypes(t,"value",s)}}}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.deleteMimeTypes(s)}}})],1)}),e._v(" "),a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:e.addRowToMimeTypes}})],2),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));ce.options.__file="Other.vue";var pe=ce.exports,me={name:"RateLimiters",computed:n()({},Object(r.b)(["rateLimiters"]),{accountConfirmationResendAllUsers:function(){return this.rateLimiters.account_confirmation_resend?this.rateLimiters.account_confirmation_resend.tuple:[null,null]},accountConfirmationResendAuthUsers:function(){return!!Array.isArray(this.rateLimiters.account_confirmation_resend)&&this.rateLimiters.account_confirmation_resend[1].tuple},accountConfirmationResendUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.account_confirmation_resend)&&this.rateLimiters.account_confirmation_resend[0].tuple},activityPubRoutesAllUsers:function(){return this.rateLimiters.ap_routes?this.rateLimiters.ap_routes.tuple:[null,null]},activityPubRoutesAuthUsers:function(){return!!Array.isArray(this.rateLimiters.ap_routes)&&this.rateLimiters.ap_routes[1].tuple},activityPubRoutesUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.ap_routes)&&this.rateLimiters.ap_routes[0].tuple},appAccountCreationAllUsers:function(){return this.rateLimiters.app_account_creation?this.rateLimiters.app_account_creation.tuple:[null,null]},appAccountCreationAuthUsers:function(){return!!Array.isArray(this.rateLimiters.app_account_creation)&&this.rateLimiters.app_account_creation[1].tuple},appAccountCreationUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.app_account_creation)&&this.rateLimiters.app_account_creation[0].tuple},passwordResetAllUsers:function(){return this.rateLimiters.password_reset?this.rateLimiters.password_reset.tuple:[null,null]},passwordResetAuthUsers:function(){return!!Array.isArray(this.rateLimiters.password_reset)&&this.rateLimiters.password_reset[1].tuple},passwordResetUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.password_reset)&&this.rateLimiters.password_reset[0].tuple},relationsActionsAllUsers:function(){return this.rateLimiters.relations_actions?this.rateLimiters.relations_actions.tuple:[null,null]},relationsActionsAuthUsers:function(){return!!Array.isArray(this.rateLimiters.relations_actions)&&this.rateLimiters.relations_actions[1].tuple},relationsActionsUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.relations_actions)&&this.rateLimiters.relations_actions[0].tuple},relationIdActionAllUsers:function(){return this.rateLimiters.relation_id_action?this.rateLimiters.relation_id_action.tuple:[null,null]},relationIdActionAuthUsers:function(){return!!Array.isArray(this.rateLimiters.relation_id_action)&&this.rateLimiters.relation_id_action[1].tuple},relationIdActionUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.relation_id_action)&&this.rateLimiters.relation_id_action[0].tuple},searchLimitAllUsers:function(){return this.rateLimiters.search?this.rateLimiters.search.tuple:[null,null]},searchLimitAuthUsers:function(){return!!Array.isArray(this.rateLimiters.search)&&this.rateLimiters.search[1].tuple},searchLimitUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.search)&&this.rateLimiters.search[0].tuple},statusesActionsAllUsers:function(){return this.rateLimiters.statuses_actions?this.rateLimiters.statuses_actions.tuple:[null,null]},statusesActionsAuthUsers:function(){return!!Array.isArray(this.rateLimiters.statuses_actions)&&this.rateLimiters.statuses_actions[1].tuple},statusesActionsUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.statuses_actions)&&this.rateLimiters.statuses_actions[0].tuple},statusIdActionAllUsers:function(){return this.rateLimiters.status_id_action?this.rateLimiters.status_id_action.tuple:[null,null]},statusIdActionAuthUsers:function(){return!!Array.isArray(this.rateLimiters.status_id_action)&&this.rateLimiters.status_id_action[1].tuple},statusIdActionUnauthUsers:function(){return!!Array.isArray(this.rateLimiters.status_id_action)&&this.rateLimiters.status_id_action[0].tuple},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{parseRateLimiter:function(e,t,a,s,i){if("oneLimit"===s){var l="scale"===a?{tuple:[e,i[1]]}:{tuple:[i[0],e]};this.updateSetting(l,"rate_limit",t)}else if("authUserslimit"===s){var n="scale"===a?[{tuple:[i[0][0],i[0][1]]},{tuple:[e,i[1][1]]}]:[{tuple:[i[0][0],i[0][1]]},{tuple:[i[1][0],e]}];this.updateSetting(n,"rate_limit",t)}else if("unauthUsersLimit"===s){var r="scale"===a?[{tuple:[e,i[0][1]]},{tuple:[i[1][0],i[1][1]]}]:[{tuple:[i[0][0],e]},{tuple:[i[1][0],i[1][1]]}];this.updateSetting(r,"rate_limit",t)}},toggleLimits:function(e,t){this.updateSetting(e,"rate_limit",t)},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},de=(a("WvM+"),Object(u.a)(me,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-form",{ref:"rateLimiters",attrs:{model:e.rateLimiters,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Search:"}},[e.searchLimitAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.searchLimitAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"search","scale","oneLimit",e.searchLimitAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.searchLimitAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"search","limit","oneLimit",e.searchLimitAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"search")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.searchLimitAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.searchLimitAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"search","scale","authUserslimit",[e.searchLimitUnauthUsers,e.searchLimitAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.searchLimitAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"search","limit","authUserslimit",[e.searchLimitUnauthUsers,e.searchLimitAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.searchLimitUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"search","scale","unauthUsersLimit",[e.searchLimitUnauthUsers,e.searchLimitAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.searchLimitUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"search","limit","unauthUsersLimit",[e.searchLimitUnauthUsers,e.searchLimitAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"search")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"App account creation:"}},[e.appAccountCreationAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.appAccountCreationAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"app_account_creation","scale","oneLimit",e.appAccountCreationAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.appAccountCreationAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"app_account_creation","limit","oneLimit",e.appAccountCreationAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"app_account_creation")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.appAccountCreationAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.appAccountCreationAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"app_account_creation","scale","authUserslimit",[e.appAccountCreationUnauthUsers,e.appAccountCreationAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.appAccountCreationAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"app_account_creation","limit","authUserslimit",[e.appAccountCreationUnauthUsers,e.appAccountCreationAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.appAccountCreationUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"app_account_creation","scale","unauthUsersLimit",[e.appAccountCreationUnauthUsers,e.appAccountCreationAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.appAccountCreationUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"app_account_creation","limit","unauthUsersLimit",[e.appAccountCreationUnauthUsers,e.appAccountCreationAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"app_account_creation")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Relations actions:"}},[e.relationsActionsAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.relationsActionsAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"relations_actions","scale","oneLimit",e.relationsActionsAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.relationsActionsAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"relations_actions","limit","oneLimit",e.relationsActionsAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"relations_actions")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.relationsActionsAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.relationsActionsAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"relations_actions","scale","authUserslimit",[e.relationsActionsUnauthUsers,e.relationsActionsAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.relationsActionsAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"relations_actions","limit","authUserslimit",[e.relationsActionsUnauthUsers,e.relationsActionsAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.relationsActionsUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"relations_actions","scale","unauthUsersLimit",[e.relationsActionsUnauthUsers,e.relationsActionsAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.relationsActionsUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"relations_actions","limit","unauthUsersLimit",[e.relationsActionsUnauthUsers,e.relationsActionsAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"relations_actions")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Relation ID Action:"}},[e.relationIdActionAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.relationIdActionAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"relation_id_action","scale","oneLimit",e.relationIdActionAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.relationIdActionAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"relation_id_action","limit","oneLimit",e.relationIdActionAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"relation_id_action")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.relationIdActionAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.relationIdActionAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"relation_id_action","scale","authUserslimit",[e.relationIdActionUnauthUsers,e.relationIdActionAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.relationIdActionAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"relation_id_action","limit","authUserslimit",[e.relationIdActionUnauthUsers,e.relationIdActionAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.relationIdActionUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"relation_id_action","scale","unauthUsersLimit",[e.relationIdActionUnauthUsers,e.relationIdActionAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.relationIdActionUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"relation_id_action","limit","unauthUsersLimit",[e.relationIdActionUnauthUsers,e.relationIdActionAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"relation_id_action")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Statuses actions:"}},[e.statusesActionsAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.statusesActionsAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"statuses_actions","scale","oneLimit",e.statusesActionsAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.statusesActionsAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"statuses_actions","limit","oneLimit",e.statusesActionsAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"statuses_actions")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.statusesActionsAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.statusesActionsAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"statuses_actions","scale","authUserslimit",[e.statusesActionsUnauthUsers,e.statusesActionsAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.statusesActionsAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"statuses_actions","limit","authUserslimit",[e.statusesActionsUnauthUsers,e.statusesActionsAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.statusesActionsUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"statuses_actions","scale","unauthUsersLimit",[e.statusesActionsUnauthUsers,e.statusesActionsAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.statusesActionsUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"statuses_actions","limit","unauthUsersLimit",[e.statusesActionsUnauthUsers,e.statusesActionsAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"statuses_actions")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Status ID Action:"}},[e.statusIdActionAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.statusIdActionAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"status_id_action","scale","oneLimit",e.statusIdActionAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.statusIdActionAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"status_id_action","limit","oneLimit",e.statusIdActionAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"status_id_action")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.statusIdActionAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.statusIdActionAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"status_id_action","scale","authUserslimit",[e.statusIdActionUnauthUsers,e.statusIdActionAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.statusIdActionAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"status_id_action","limit","authUserslimit",[e.statusIdActionUnauthUsers,e.statusIdActionAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.statusIdActionUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"status_id_action","scale","unauthUsersLimit",[e.statusIdActionUnauthUsers,e.statusIdActionAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.statusIdActionUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"status_id_action","limit","unauthUsersLimit",[e.statusIdActionUnauthUsers,e.statusIdActionAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"status_id_action")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Password reset:"}},[e.passwordResetAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.passwordResetAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"password_reset","scale","oneLimit",e.passwordResetAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.passwordResetAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"password_reset","limit","oneLimit",e.passwordResetAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"password_reset")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.passwordResetAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.passwordResetAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"password_reset","scale","authUserslimit",[e.passwordResetUnauthUsers,e.passwordResetAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.passwordResetAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"password_reset","limit","authUserslimit",[e.passwordResetUnauthUsers,e.passwordResetAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.passwordResetUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"password_reset","scale","unauthUsersLimit",[e.passwordResetUnauthUsers,e.passwordResetAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.passwordResetUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"password_reset","limit","unauthUsersLimit",[e.passwordResetUnauthUsers,e.passwordResetAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"password_reset")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Account confirmation resend:"}},[e.accountConfirmationResendAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.accountConfirmationResendAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"account_confirmation_resend","scale","oneLimit",e.accountConfirmationResendAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.accountConfirmationResendAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"account_confirmation_resend","limit","oneLimit",e.accountConfirmationResendAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"account_confirmation_resend")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.accountConfirmationResendAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.accountConfirmationResendAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"account_confirmation_resend","scale","authUserslimit",[e.accountConfirmationResendUnauthUsers,e.accountConfirmationResendAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.accountConfirmationResendAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"account_confirmation_resend","limit","authUserslimit",[e.accountConfirmationResendUnauthUsers,e.accountConfirmationResendAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.accountConfirmationResendUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"account_confirmation_resend","scale","unauthUsersLimit",[e.accountConfirmationResendUnauthUsers,e.accountConfirmationResendAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.accountConfirmationResendUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"account_confirmation_resend","limit","unauthUsersLimit",[e.accountConfirmationResendUnauthUsers,e.accountConfirmationResendAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"account_confirmation_resend")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",{attrs:{label:"Activity pub routes:"}},[e.activityPubRoutesAuthUsers?e._e():a("div",[a("el-input",{staticClass:"scale-input",attrs:{value:e.activityPubRoutesAllUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"ap_routes","scale","oneLimit",e.activityPubRoutesAllUsers)}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.activityPubRoutesAllUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"ap_routes","limit","oneLimit",e.activityPubRoutesAllUsers)}}}),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-plus",circle:""},on:{click:function(t){return e.toggleLimits([{tuple:[null,null]},{tuple:[null,null]}],"ap_routes")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set different limits for unauthenticated and authenticated users")])],1)],1),e._v(" "),e.activityPubRoutesAuthUsers?a("div",[a("el-form-item",{attrs:{label:"Authenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.activityPubRoutesAuthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"ap_routes","scale","authUserslimit",[e.activityPubRoutesUnauthUsers,e.activityPubRoutesAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.activityPubRoutesAuthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"ap_routes","limit","authUserslimit",[e.activityPubRoutesUnauthUsers,e.activityPubRoutesAuthUsers])}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Unauthenticated users:"}},[a("el-input",{staticClass:"scale-input",attrs:{value:e.activityPubRoutesUnauthUsers[0],placeholder:"scale"},on:{input:function(t){return e.parseRateLimiter(t,"ap_routes","scale","unauthUsersLimit",[e.activityPubRoutesUnauthUsers,e.activityPubRoutesAuthUsers])}}}),e._v(" :\n "),a("el-input",{staticClass:"limit-input",attrs:{value:e.activityPubRoutesUnauthUsers[1],placeholder:"limit"},on:{input:function(t){return e.parseRateLimiter(t,"ap_routes","limit","unauthUsersLimit",[e.activityPubRoutesUnauthUsers,e.activityPubRoutesAuthUsers])}}})],1),e._v(" "),a("div",{staticClass:"limit-button-container"},[a("el-button",{attrs:{icon:"el-icon-minus",circle:""},on:{click:function(t){return e.toggleLimits({tuple:[null,null]},"ap_routes")}}}),e._v(" "),a("p",{staticClass:"expl limit-expl"},[e._v("Set limit for all users")])],1)],1):e._e()]),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)},[],!1,null,null,null));de.options.__file="RateLimiters.vue";var ve=de.exports,fe={name:"Relays",data:function(){return{newRelay:""}},computed:{relays:function(){return this.$store.state.relays.fetchedRelays},relaysTable:function(){return this.relays.map(function(e){return{instance:e}})},loading:function(){return this.$store.state.relays.loading}},mounted:function(){this.$store.dispatch("FetchRelays")},methods:{followRelay:function(){this.$store.dispatch("AddRelay",this.newRelay)},deleteRelay:function(e){this.$store.dispatch("DeleteRelay",e)}}},_e=(a("J7+w"),Object(u.a)(fe,function(){var e=this,t=e.$createElement,a=e._self._c||t;return e.loading?e._e():a("div",[a("el-row",{attrs:{gutter:5}},[a("el-col",{attrs:{span:8}},[a("el-input",{attrs:{placeholder:e.$t("settings.followRelay")},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.followRelay(t)}},model:{value:e.newRelay,callback:function(t){e.newRelay=t},expression:"newRelay"}})],1),e._v(" "),a("el-col",{attrs:{span:8}},[a("el-button",{attrs:{type:"primary"},nativeOn:{click:function(t){return e.followRelay(t)}}},[e._v(e._s(e.$t("settings.follow")))])],1)],1),e._v(" "),a("el-table",{attrs:{data:e.relaysTable}},[a("el-table-column",{attrs:{label:e.$t("settings.instanceUrl"),prop:"instance"}}),e._v(" "),a("el-table-column",{attrs:{fixed:"right",width:"120"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{type:"text",size:"small"},nativeOn:{click:function(a){return e.deleteRelay(t.row.instance)}}},[e._v("\n "+e._s(e.$t("table.delete"))+"\n ")])]}}],null,!1,2132974932)})],1)],1)},[],!1,null,null,null));_e.options.__file="Relays.vue";var he=_e.exports,be={name:"Upload",computed:n()({},Object(r.b)(["uploadAnonymizeFilename","upload","uploadFilterMogrify","uploadersLocal","uploadMDII","uploadS3"]),{inlineContentTypes:function(){return Array.isArray(this.upload.proxy_opts.inline_content_types)?"whitelistedTypeArray":this.upload.proxy_opts.inline_content_types},http:function(){return this.upload.proxy_opts.http||{}},hackneyPoolsOptions:function(){return x.hackneyPoolsOptions},whitelistedContentTypes:function(){return Array.isArray(this.upload.proxy_opts.inline_content_types)?this.upload.proxy_opts.inline_content_types:[]},whitelistedContentTypesOptions:function(){return x.whitelistedContentTypesOptions},mogrifyActionsOptions:function(){return x.mogrifyActionsOptions},isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{getPoolExpl:function(e){var t=this.hackneyPoolsOptions.find(function(t){return t.value===e});return t?"Max connections: "+t.max_connections+", timeout: "+t.timeout:""},processHttpSettings:function(e,t,a,s,l){var r=n()({},this.upload[a][s],i()({},l,e));this.processNestedData(r,t,a,s)},processNestedData:function(e,t,a,s){var l=n()({},this.$store.state.settings.settings[t][a],i()({},s,e));this.updateSetting(l,t,a)},updateInlineContentTypes:function(){"whitelistedTypeArray"===this.$data.inlineContentTypes?this.processNestedData(this.$data.whitelistedContentTypes,"Pleroma.Upload","proxy_opts","inline_content_types"):this.processNestedData(this.$data.inlineContentTypes,"Pleroma.Upload","proxy_opts","inline_content_types")},updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},ge=(a("DPt0"),Object(u.a)(be,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-form",{ref:"upload",attrs:{model:e.upload,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Uploader"}},[a("el-input",{attrs:{value:e.upload.uploader},on:{input:function(t){return e.updateSetting(t,"Pleroma.Upload","uploader")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Filters"}},[a("el-select",{attrs:{value:e.upload.filters||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Upload","filters")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Link name"}},[a("el-switch",{attrs:{value:e.upload.link_name},on:{change:function(t){return e.updateSetting(t,"Pleroma.Upload","link_name")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("When enabled Pleroma will add a name parameter to the url of the upload, for example\n "),a("span",{staticClass:"code"},[e._v("https://instance.tld/media/corndog.png?name=corndog.png")])])],1),e._v(" "),a("el-form-item",{attrs:{label:"Base URL"}},[a("el-input",{attrs:{value:e.upload.base_url},on:{input:function(t){return e.updateSetting(t,"Pleroma.Upload","base_url")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Proxy remote"}},[a("el-switch",{attrs:{value:e.upload.proxy_remote},on:{change:function(t){return e.updateSetting(t,"Pleroma.Upload","proxy_remote")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("If you're using a remote uploader, Pleroma will proxy media requests instead of redirecting to it")])],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:"Proxy options:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Redirect on failure"}},[a("el-switch",{attrs:{value:e.upload.proxy_opts.redirect_on_failure},on:{change:function(t){return e.processNestedData(t,"Pleroma.Upload","proxy_opts","redirect_on_failure")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Redirects the client to the real remote URL if there's any HTTP errors.\n Any error during body processing will not be redirected as the response is chunked")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max body length (MB)"}},[a("el-input-number",{attrs:{value:e.upload.proxy_opts.max_body_length/1048576,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(1048576*t,"Pleroma.Upload","proxy_opts","max_body_length")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Limits the content length to be approximately the specified length")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Max read duration (s)"}},[a("el-input-number",{attrs:{value:e.upload.proxy_opts.max_read_duration,step:1,min:0,size:"large"},on:{change:function(t){return e.processNestedData(t,"Pleroma.Upload","proxy_opts","max_read_duration")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("The total time the connection is allowed to read from the remote upstream")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Inline content types"}},[a("el-select",{attrs:{value:e.inlineContentTypes,clearable:""},on:{change:function(t){return e.processNestedData(t,"Pleroma.Upload","proxy_opts","inline_content_types")}}},[a("el-option",{attrs:{value:!0,label:"True"}}),e._v(" "),a("el-option",{attrs:{value:!1,label:"False"}}),e._v(" "),a("el-option",{attrs:{value:"whitelistedTypeArray",label:"List of whitelisted content types"}}),e._v(" "),a("el-option",{attrs:{value:"keepUserAgent",label:"Forward client's user-agent to the upstream"}})],1),e._v(" "),!0===e.inlineContentTypes?a("p",{staticClass:"expl"},[e._v("Will not alter "),a("span",{staticClass:"code"},[e._v("content-disposition")]),e._v(" (up to the upstream)")]):e._e(),e._v(" "),e.inlineContentTypes?e._e():a("p",{staticClass:"expl"},[e._v("Will add "),a("span",{staticClass:"code"},[e._v("content-disposition: attachment")]),e._v(" to any request")]),e._v(" "),"keepUserAgent"===e.inlineContentTypes?a("p",{staticClass:"expl"},[e._v("\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\n doing content transformation (encoding, …) depending on the request.\n ")]):e._e()],1),e._v(" "),"whitelistedTypeArray"===e.inlineContentTypes?a("el-form-item",{attrs:{label:"Whitelisted content types"}},[a("el-select",{attrs:{value:e.whitelistedContentTypes,multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.processNestedData(t,"Pleroma.Upload","proxy_opts","inline_content_types")}}},e._l(e.whitelistedContentTypesOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1):e._e(),e._v(" "),a("el-form-item",{attrs:{label:"Request headers"}},[a("el-select",{attrs:{value:e.upload.proxy_opts.req_headers||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.processNestedData(t,"Pleroma.Upload","proxy_opts","req_headers")}}}),e._v(" "),a("p",{staticClass:"expl"},[a("span",{staticClass:"code"},[e._v("resp_headers")]),e._v(" additional headers")])],1),e._v(" "),a("el-form-item",{attrs:{label:"HTTP:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Follow redirect"}},[a("el-switch",{attrs:{value:e.http.follow_redirect},on:{change:function(t){return e.processHttpSettings(t,"Pleroma.Upload","proxy_opts","http","follow_redirect")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Pool"}},[a("el-select",{attrs:{value:e.http.pool,clearable:""},on:{change:function(t){return e.processHttpSettings(t,"Pleroma.Upload","proxy_opts","http","pool")}}},e._l(e.hackneyPoolsOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1),e._v(" "),a("p",{staticClass:"expl"},[e._v(e._s(e.getPoolExpl(e.http.pool)))])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"uploadersLocal",attrs:{model:e.uploadersLocal,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Uploaders.Local:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Directory for user-uploads"}},[a("el-input",{attrs:{value:e.uploadersLocal.uploads},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.Local","uploads")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Which directory to store the user-uploads in, relative to pleroma’s working directory")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"uploadFilterMogrify",attrs:{model:e.uploadFilterMogrify,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Actions for Mogrify"}},[a("el-select",{attrs:{value:e.uploadFilterMogrify.args||[],multiple:"",filterable:"","allow-create":""},on:{change:function(t){return e.updateSetting(t,"Pleroma.Upload.Filter.Mogrify","args")}}},e._l(e.mogrifyActionsOptions,function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}),1)],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"uploadAnonymizeFilename",attrs:{model:e.uploadAnonymizeFilename,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Anonymize filename"}},[a("el-input",{attrs:{value:e.uploadAnonymizeFilename.text},on:{input:function(t){return e.updateSetting(t,"Pleroma.Upload.Filter.AnonymizeFilename","text")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("Text to replace filenames in links. If empty, "),a("span",{staticClass:"code"},[e._v("{random}.extension")]),e._v(" will be used")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"uploadS3",attrs:{model:e.uploadS3,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"S3 Config:"}}),e._v(" "),a("el-form-item",{attrs:{label:"Bucket"}},[a("el-input",{attrs:{value:e.uploadS3.bucket},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.S3","bucket")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("S3 bucket name")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Bucket namespace"}},[a("el-input",{attrs:{value:e.uploadS3.bucket_namespace},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.S3","bucket_namespace")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("S3 bucket namespace")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Public endpoint"}},[a("el-input",{attrs:{value:e.uploadS3.public_endpoint},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.S3","public_endpoint")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("S3 endpoint that the user finally accesses")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Truncated namespace"}},[a("el-input",{attrs:{value:e.uploadS3.truncated_namespace},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.S3","truncated_namespace")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v('If you use S3 compatible service such as Digital Ocean Spaces or CDN, set folder name or "" etc.\n For example, when using CDN to S3 virtual host format, set "".\n At this time, write CNAME to CDN in '),a("span",{staticClass:"code"},[e._v("public_endpoint")]),e._v(".\n ")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{ref:"uploadMDII",attrs:{model:e.uploadMDII,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Uploaders.MDII Config:"}}),e._v(" "),a("el-form-item",{attrs:{label:"CGI"}},[a("el-input",{attrs:{value:e.uploadMDII.cgi},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.MDII","cgi")}}})],1),e._v(" "),a("el-form-item",{attrs:{label:"Files"}},[a("el-input",{attrs:{value:e.uploadMDII.files},on:{input:function(t){return e.updateSetting(t,"Pleroma.Uploaders.MDII","files")}}})],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)],1)},[],!1,null,null,null));ge.options.__file="Upload.vue";var ye=ge.exports,we={name:"WebPush",computed:n()({},Object(r.b)(["vapidDetails"]),{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"}}),methods:{updateSetting:function(e,t,a){this.$store.dispatch("UpdateSettings",{tab:t,data:i()({},a,e)})},onSubmit:function(){this.$store.dispatch("SubmitChanges")}}},Ce=(a("+qaP"),Object(u.a)(we,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-form",{ref:"vapidDetails",attrs:{model:e.vapidDetails,"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:"Subject"}},[a("el-input",{attrs:{value:e.vapidDetails.subject},on:{input:function(t){return e.updateSetting(t,"vapid_details","subject")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("A mailto link for the administrative contact. It’s best if this email is not a personal email address,\n but rather a group email so that if a person leaves an organization, is unavailable for an extended period,\n or otherwise can’t respond, someone else on the list can.")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Public key"}},[a("el-input",{attrs:{value:e.vapidDetails.public_key},on:{input:function(t){return e.updateSetting(t,"vapid_details","public_key")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("VAPID public key")])],1),e._v(" "),a("el-form-item",{attrs:{label:"Private key"}},[a("el-input",{attrs:{value:e.vapidDetails.private_key},on:{input:function(t){return e.updateSetting(t,"vapid_details","private_key")}}}),e._v(" "),a("p",{staticClass:"expl"},[e._v("VAPID private key")])],1),e._v(" "),a("el-form-item",[a("el-button",{attrs:{type:"primary"},on:{click:e.onSubmit}},[e._v("Submit")])],1)],1)},[],!1,null,null,null));Ce.options.__file="WebPush.vue";var Se=Ce.exports,xe=a("mm8V"),ke={props:{host:{type:String,required:!0},packName:{type:String,required:!0},name:{type:String,required:!0},file:{type:String,required:!0},isLocal:{type:Boolean,required:!0}},data:function(){return{newName:null,newFile:null,copyToLocalPackName:null,copyPopoverVisible:!1,copyToShortcode:"",copyToFilename:""}},computed:{emojiName:{get:function(){return null!==this.newName?this.newName:this.name},set:function(e){this.newName=e}},emojiFile:{get:function(){return null!==this.newFile?this.newFile:this.file},set:function(e){this.newFile=e}},localPacks:function(){return this.$store.state.emojiPacks.localPacks}},methods:{update:function(){var e=this;this.$store.dispatch("UpdateAndSavePackFile",{action:"update",packName:this.packName,oldName:this.name,newName:this.emojiName,newFilename:this.emojiFile}).then(function(){e.newName=null,e.newFile=null,e.$store.dispatch("ReloadEmoji")})},remove:function(){var e=this;this.$confirm("This will delete the emoji, are you sure?","Warning",{confirmButtonText:"Yes, delete the emoji",cancelButtonText:"No, leave it be",type:"warning"}).then(function(){e.$store.dispatch("UpdateAndSavePackFile",{action:"remove",packName:e.packName,name:e.name}).then(function(){e.newName=null,e.newFile=null,e.$store.dispatch("ReloadEmoji")})})},copyToLocal:function(){var e=this;this.$store.dispatch("UpdateAndSavePackFile",{action:"add",packName:this.copyToLocalPackName,shortcode:""!==this.copyToShortcode.trim()?this.copyToShortcode.trim():this.name,fileName:""!==this.copyToFilename.trim()?this.copyToFilename.trim():this.file,file:this.addressOfEmojiInPack(this.host,this.packName,this.file)}).then(function(){e.copyToLocalPackName=null,e.copyToLocalVisible=!1,e.copyToShortcode="",e.copyToFilename="",e.$store.dispatch("ReloadEmoji")})},addressOfEmojiInPack:xe.a}},Pe=(a("3nbG"),Object(u.a)(ke,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[e.isLocal?a("div",{staticClass:"emoji-container"},[a("img",{staticClass:"emoji-preview-img",attrs:{src:e.addressOfEmojiInPack(e.host,e.packName,e.file)}}),e._v(" "),a("el-input",{staticClass:"emoji-info",attrs:{placeholder:e.$t("settings.shortcode")},model:{value:e.emojiName,callback:function(t){e.emojiName=t},expression:"emojiName"}}),e._v(" "),a("el-input",{staticClass:"emoji-info",attrs:{placeholder:e.$t("settings.file")},model:{value:e.emojiFile,callback:function(t){e.emojiFile=t},expression:"emojiFile"}}),e._v(" "),a("div",{staticClass:"emoji-buttons"},[a("el-button",{staticClass:"emoji-button",attrs:{type:"primary"},on:{click:e.update}},[e._v(e._s(e.$t("settings.update")))]),e._v(" "),a("el-button",{staticClass:"emoji-button",on:{click:e.remove}},[e._v(e._s(e.$t("settings.remove")))])],1)],1):e._e(),e._v(" "),e.isLocal?e._e():a("div",{staticClass:"emoji-container"},[a("img",{staticClass:"emoji-preview-img",attrs:{src:e.addressOfEmojiInPack(e.host,e.packName,e.file)}}),e._v(" "),a("el-input",{staticClass:"emoji-info",attrs:{value:e.emojiName,placeholder:e.$t("settings.shortcode")}}),e._v(" "),a("el-input",{staticClass:"emoji-info",attrs:{value:e.emojiFile,placeholder:e.$t("settings.file")}}),e._v(" "),a("el-popover",{attrs:{placement:"left-start","popper-class":"copy-popover"},model:{value:e.copyPopoverVisible,callback:function(t){e.copyPopoverVisible=t},expression:"copyPopoverVisible"}},[a("p",[e._v(e._s(e.$t("settings.selectLocalPack")))]),e._v(" "),a("el-select",{attrs:{placeholder:e.$t("settings.localPack")},model:{value:e.copyToLocalPackName,callback:function(t){e.copyToLocalPackName=t},expression:"copyToLocalPackName"}},e._l(e.localPacks,function(e,t){return a("el-option",{key:t,attrs:{label:t,value:t}})}),1),e._v(" "),a("p",[e._v(e._s(e.$t("settings.specifyShortcode")))]),e._v(" "),a("el-input",{attrs:{placeholder:e.$t("settings.leaveEmptyShortcode")},model:{value:e.copyToShortcode,callback:function(t){e.copyToShortcode=t},expression:"copyToShortcode"}}),e._v(" "),a("p",[e._v(e._s(e.$t("settings.specifyFilename")))]),e._v(" "),a("el-input",{attrs:{placeholder:e.$t("settings.leaveEmptyFilename")},model:{value:e.copyToFilename,callback:function(t){e.copyToFilename=t},expression:"copyToFilename"}}),e._v(" "),a("el-button",{staticClass:"copy-to-local-button",attrs:{disabled:!e.copyToLocalPackName,type:"primary"},on:{click:e.copyToLocal}},[e._v(e._s(e.$t("settings.copy")))]),e._v(" "),a("el-button",{staticClass:"emoji-button",attrs:{slot:"reference",type:"primary"},slot:"reference"},[e._v(e._s(e.$t("settings.copyToLocalPack")))])],1)],1)])},[],!1,null,null,null));Pe.options.__file="SingleEmojiEditor.vue";var Ae=Pe.exports,Ue={props:{packName:{type:String,required:!0}},data:function(){return{shortcode:"",imageUploadURL:"",customFileName:""}},computed:{shortcodePresent:function(){return""===this.shortcode.trim()}},methods:{uploadEmoji:function(e){var t=this,a=e.file;this.$store.dispatch("UpdateAndSavePackFile",{action:"add",packName:this.packName,shortcode:this.shortcode,file:a||this.imageUploadURL,fileName:this.customFileName}).then(function(){t.shortcode="",t.imageUploadURL="",t.customFileName="",t.$store.dispatch("ReloadEmoji")})}}},Le=(a("Yha0"),Object(u.a)(Ue,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-form",{attrs:{"label-width":"130px","label-position":"left",size:"small"}},[a("el-form-item",{attrs:{label:e.$t("settings.shortcode")}},[a("el-input",{attrs:{placeholder:e.$t("settings.required")},model:{value:e.shortcode,callback:function(t){e.shortcode=t},expression:"shortcode"}})],1),e._v(" "),a("el-form-item",{attrs:{label:e.$t("settings.customFilename")}},[a("el-input",{attrs:{placeholder:e.$t("settings.optional")},model:{value:e.customFileName,callback:function(t){e.customFileName=t},expression:"customFileName"}})],1),e._v(" "),a("el-form-item",{attrs:{label:e.$t("settings.uploadFile")}},[a("div",{staticClass:"upload-file-url"},[a("el-input",{attrs:{placeholder:e.$t("settings.url")},model:{value:e.imageUploadURL,callback:function(t){e.imageUploadURL=t},expression:"imageUploadURL"}}),e._v(" "),a("el-button",{staticClass:"upload-button",attrs:{disabled:e.shortcodePresent,type:"primary"},on:{click:e.uploadEmoji}},[e._v(e._s(e.$t("settings.upload")))])],1),e._v(" "),a("div",{staticClass:"upload-container"},[a("p",{staticClass:"text"},[e._v("or")]),e._v(" "),a("el-upload",{attrs:{"http-request":e.uploadEmoji,multiple:!1,"show-file-list":!1,action:"add"}},[a("el-button",{attrs:{disabled:e.shortcodePresent,type:"primary"}},[e._v(e._s(e.$t("settings.clickToUpload")))])],1)],1)])],1)},[],!1,null,null,null));Le.options.__file="NewEmojiUploader.vue";var Re={components:{SingleEmojiEditor:Ae,NewEmojiUploader:Le.exports},props:{name:{type:String,required:!0},pack:{type:Object,required:!0},host:{type:String,required:!0},isLocal:{type:Boolean,required:!0}},data:function(){return{showPackContent:[],downloadSharedAs:""}},computed:{share:{get:function(){return this.pack.pack["share-files"]},set:function(e){this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"share-files",value:e})}},homepage:{get:function(){return this.pack.pack.homepage},set:function(e){this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"homepage",value:e})}},description:{get:function(){return this.pack.pack.description},set:function(e){this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"description",value:e})}},license:{get:function(){return this.pack.pack.license},set:function(e){this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"license",value:e})}},fallbackSrc:{get:function(){return this.pack.pack["fallback-src"]},set:function(e){""!==e.trim()?this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"fallback-src",value:e}):(this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"fallback-src",value:null}),this.$store.dispatch("UpdateLocalPackVal",{name:this.name,key:"fallback-src-sha256",value:null}))}}},methods:{downloadFromInstance:function(){var e=this;this.$store.dispatch("DownloadFrom",{instanceAddress:this.host,packName:this.name,as:this.downloadSharedAs}).then(function(){return e.$store.dispatch("ReloadEmoji")}).then(function(){return e.$store.dispatch("SetLocalEmojiPacks")})},deletePack:function(){var e=this;this.$confirm("This will delete the pack, are you sure?","Warning",{confirmButtonText:"Yes, delete the pack",cancelButtonText:"No, leave it be",type:"warning"}).then(function(){e.$store.dispatch("DeletePack",{name:e.name}).then(function(){return e.$store.dispatch("ReloadEmoji")}).then(function(){return e.$store.dispatch("SetLocalEmojiPacks")})}).catch(function(){})},savePackMetadata:function(){this.$store.dispatch("SavePackMetadata",{packName:this.name})}}},Me=(a("wFa7"),Object(u.a)(Re,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-collapse-item",{staticClass:"has-background",attrs:{title:e.name,name:e.name}},[e.isLocal?a("el-form",{staticClass:"emoji-pack-metadata",attrs:{"label-width":"120px","label-position":"left",size:"small"}},[a("el-form-item",{attrs:{label:e.$t("settings.sharePack")}},[a("el-switch",{model:{value:e.share,callback:function(t){e.share=t},expression:"share"}})],1),e._v(" "),a("el-form-item",{attrs:{label:e.$t("settings.homepage")}},[a("el-input",{model:{value:e.homepage,callback:function(t){e.homepage=t},expression:"homepage"}})],1),e._v(" "),a("el-form-item",{attrs:{label:e.$t("settings.description")}},[a("el-input",{attrs:{type:"textarea"},model:{value:e.description,callback:function(t){e.description=t},expression:"description"}})],1),e._v(" "),a("el-form-item",{attrs:{label:e.$t("settings.license")}},[a("el-input",{model:{value:e.license,callback:function(t){e.license=t},expression:"license"}})],1),e._v(" "),a("el-form-item",{attrs:{label:e.$t("settings.fallbackSrc")}},[a("el-input",{model:{value:e.fallbackSrc,callback:function(t){e.fallbackSrc=t},expression:"fallbackSrc"}})],1),e._v(" "),e.fallbackSrc&&""!==e.fallbackSrc.trim()?a("el-form-item",{attrs:{label:e.$t("settings.fallbackSrcSha")}},[e._v("\n "+e._s(e.pack.pack["fallback-src-sha256"])+"\n ")]):e._e(),e._v(" "),a("el-form-item",{staticClass:"save-pack-button"},[a("el-button",{attrs:{type:"primary"},on:{click:e.savePackMetadata}},[e._v(e._s(e.$t("settings.savePackMetadata")))]),e._v(" "),a("el-button",{on:{click:e.deletePack}},[e._v(e._s(e.$t("settings.deletePack")))])],1),e._v(" "),a("el-form-item",[e.pack.pack["can-download"]?a("el-link",{attrs:{href:"//"+e.host+"/api/pleroma/emoji/packs/"+e.name+"/download_shared",underline:!1,type:"primary",target:"_blank"}},[a("el-button",{staticClass:"download-archive"},[e._v(e._s(e.$t("settings.downloadPackArchive")))])],1):e._e()],1)],1):e._e(),e._v(" "),e.isLocal?e._e():a("el-form",{staticClass:"emoji-pack-metadata",attrs:{"label-width":"120px","label-position":"left",size:"small"}},[a("el-form-item",{attrs:{label:e.$t("settings.sharePack")}},[a("el-switch",{attrs:{disabled:""},model:{value:e.share,callback:function(t){e.share=t},expression:"share"}})],1),e._v(" "),e.homepage?a("el-form-item",{attrs:{label:e.$t("settings.homepage")}},[a("span",[e._v(e._s(e.homepage))])]):e._e(),e._v(" "),e.description?a("el-form-item",{attrs:{label:e.$t("settings.description")}},[a("span",[e._v(e._s(e.description))])]):e._e(),e._v(" "),e.license?a("el-form-item",{attrs:{label:e.$t("settings.license")}},[a("span",[e._v(e._s(e.license))])]):e._e(),e._v(" "),e.fallbackSrc?a("el-form-item",{attrs:{label:e.$t("settings.fallbackSrc")}},[a("span",[e._v(e._s(e.fallbackSrc))])]):e._e(),e._v(" "),e.fallbackSrc&&""!==e.fallbackSrc.trim()?a("el-form-item",{attrs:{label:e.$t("settings.fallbackSrcSha")}},[e._v("\n "+e._s(e.pack.pack["fallback-src-sha256"])+"\n ")]):e._e(),e._v(" "),a("el-form-item",[e.pack.pack["can-download"]?a("el-link",{attrs:{href:"//"+e.host+"/api/pleroma/emoji/packs/"+e.name+"/download_shared",underline:!1,type:"primary",target:"_blank"}},[a("el-button",{staticClass:"download-archive"},[e._v(e._s(e.$t("settings.downloadPackArchive")))])],1):e._e()],1)],1),e._v(" "),a("el-collapse",{staticClass:"contents-collapse",model:{value:e.showPackContent,callback:function(t){e.showPackContent=t},expression:"showPackContent"}},[e.isLocal?a("el-collapse-item",{staticClass:"no-background",attrs:{title:e.$t("settings.addNewEmoji"),name:"addEmoji"}},[a("new-emoji-uploader",{attrs:{"pack-name":e.name}})],1):e._e(),e._v(" "),Object.keys(e.pack.files).length>0?a("el-collapse-item",{staticClass:"no-background",attrs:{title:e.$t("settings.manageEmoji"),name:"manageEmoji"}},e._l(e.pack.files,function(t,s){return a("single-emoji-editor",{key:s,attrs:{host:e.host,"pack-name":e.name,name:s,file:t,"is-local":e.isLocal}})}),1):e._e(),e._v(" "),e.isLocal?e._e():a("el-collapse-item",{staticClass:"no-background",attrs:{title:e.$t("settings.downloadPack"),name:"downloadPack"}},[a("p",[e._v("\n "+e._s(e.$t("settings.thisWillDownload"))+' "'+e._s(e.name)+'" '+e._s(e.$t("settings.downloadToCurrentInstance"))+'\n "'+e._s(""===e.downloadSharedAs.trim()?e.name:e.downloadSharedAs)+'" ('+e._s(e.$t("settings.canBeChanged"))+").\n "+e._s(e.$t("settings.willBeUsable"))+".\n ")]),e._v(" "),a("div",{staticClass:"download-shared-pack"},[a("el-input",{attrs:{placeholder:e.$t("settings.downloadAsOptional")},model:{value:e.downloadSharedAs,callback:function(t){e.downloadSharedAs=t},expression:"downloadSharedAs"}}),e._v(" "),a("el-button",{staticClass:"download-shared-pack-button",attrs:{type:"primary"},on:{click:e.downloadFromInstance}},[e._v("\n "+e._s(e.$t("settings.downloadSharedPack"))+"\n ")])],1)])],1)],1)},[],!1,null,null,null));Me.options.__file="EmojiPack.vue";var Te={components:{EmojiPack:Me.exports},data:function(){return{remoteInstanceAddress:"",newPackName:"",activeLocalPack:[],activeRemotePack:[]}},computed:{isMobile:function(){return"mobile"===this.$store.state.app.device},labelWidth:function(){return this.isMobile?"100px":"210px"},localPacks:function(){return this.$store.state.emojiPacks.localPacks},remotePacks:function(){return this.$store.state.emojiPacks.remotePacks}},mounted:function(){this.refreshLocalPacks()},methods:{createLocalPack:function(){var e=this;this.$store.dispatch("CreatePack",{name:this.newPackName}).then(function(){e.newPackName="",e.$store.dispatch("SetLocalEmojiPacks"),e.$store.dispatch("ReloadEmoji")})},refreshLocalPacks:function(){this.$store.dispatch("SetLocalEmojiPacks")},refreshRemotePacks:function(){this.$store.dispatch("SetRemoteEmojiPacks",{remoteInstance:this.remoteInstanceAddress})},reloadEmoji:function(){this.$store.dispatch("ReloadEmoji")},importFromFS:function(){var e=this;this.$store.dispatch("ImportFromFS").then(function(){e.$store.dispatch("SetLocalEmojiPacks"),e.$store.dispatch("ReloadEmoji")})}}},Ee=(a("smuD"),Object(u.a)(Te,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("div",{staticClass:"button-container"},[a("el-button",{attrs:{type:"primary"},on:{click:e.reloadEmoji}},[e._v(e._s(e.$t("settings.reloadEmoji")))]),e._v(" "),a("el-tooltip",{attrs:{content:e.$t("settings.importEmojiTooltip"),effects:"dark",placement:"bottom"}},[a("el-button",{attrs:{type:"primary"},on:{click:e.importFromFS}},[e._v("\n "+e._s(e.$t("settings.importPacks"))+"\n ")])],1)],1),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form",{attrs:{"label-width":e.labelWidth}},[a("el-form-item",{attrs:{label:e.$t("settings.localPacks")}},[a("el-button",{attrs:{type:"primary"},on:{click:e.refreshLocalPacks}},[e._v(e._s(e.$t("settings.refreshLocalPacks")))])],1),e._v(" "),a("el-form-item",{attrs:{label:e.$t("settings.createLocalPack")}},[a("div",{staticClass:"create-pack"},[a("el-input",{attrs:{placeholder:e.$t("users.name")},model:{value:e.newPackName,callback:function(t){e.newPackName=t},expression:"newPackName"}}),e._v(" "),a("el-button",{staticClass:"create-pack-button",attrs:{disabled:""===e.newPackName.trim()},on:{click:e.createLocalPack}},[e._v("\n "+e._s(e.$t("users.create"))+"\n ")])],1)]),e._v(" "),Object.keys(e.localPacks).length>0?a("el-form-item",{attrs:{label:e.$t("settings.packs")}},e._l(e.localPacks,function(t,s){return a("el-collapse",{key:s,model:{value:e.activeLocalPack,callback:function(t){e.activeLocalPack=t},expression:"activeLocalPack"}},[a("emoji-pack",{attrs:{name:s,pack:t,host:e.$store.getters.authHost,"is-local":!0}})],1)}),1):e._e(),e._v(" "),a("div",{staticClass:"line"}),e._v(" "),a("el-form-item",{attrs:{label:e.$t("settings.remotePacks")}},[a("div",{staticClass:"create-pack"},[a("el-input",{attrs:{placeholder:e.$t("settings.remoteInstanceAddress")},model:{value:e.remoteInstanceAddress,callback:function(t){e.remoteInstanceAddress=t},expression:"remoteInstanceAddress"}}),e._v(" "),a("el-button",{staticClass:"create-pack-button",attrs:{disabled:""===e.remoteInstanceAddress.trim()},on:{click:e.refreshRemotePacks}},[e._v("\n "+e._s(e.$t("settings.refreshRemote"))+"\n ")])],1)]),e._v(" "),Object.keys(e.remotePacks).length>0?a("el-form-item",{attrs:{label:e.$t("settings.packs")}},e._l(e.remotePacks,function(t,s){return a("el-collapse",{key:s,model:{value:e.activeRemotePack,callback:function(t){e.activeRemotePack=t},expression:"activeRemotePack"}},[a("emoji-pack",{attrs:{name:s,pack:t,host:e.$store.getters.authHost,"is-local":!1}})],1)}),1):e._e()],1)],1)},[],!1,null,null,null));Ee.options.__file="index.vue";var Ne={components:{ActivityPub:p,Authentication:v,AutoLinker:h,Captcha:y,Database:S,Endpoint:L,EmojiPacks:Ee.exports,Esshd:T,Frontend:j,Gopher:W,Http:F,Instance:q,JobQueue:G,Logger:J,Mailer:Z,MediaProxy:ae,Metadata:le,Mrf:oe,Other:pe,RateLimiters:ve,Relays:he,Upload:ye,WebPush:Se},computed:{isMobile:function(){return"mobile"===this.$store.state.app.device},tabPosition:function(){return this.isMobile?"top":"left"}},mounted:function(){this.$store.dispatch("FetchSettings")}},je=(a("SrHl"),Object(u.a)(Ne,function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"settings-container"},[a("h1",[e._v(e._s(e.$t("settings.settings")))]),e._v(" "),a("el-tabs",{attrs:{"tab-position":e.tabPosition}},[a("el-tab-pane",{attrs:{label:e.$t("settings.activityPub")}},[a("activity-pub")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.auth")}},[a("authentication")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.autoLinker")}},[a("auto-linker")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.esshd")}},[a("esshd")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.captcha")}},[a("captcha")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.database")}},[a("database")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.endpoint")}},[a("endpoint")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.emojiPacks")}},[a("emoji-packs")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.frontend")}},[a("frontend")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.gopher")}},[a("gopher")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.http")}},[a("http")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.instance")}},[a("instance")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.jobQueue")}},[a("job-queue")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.logger")}},[a("logger")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.mailer")}},[a("mailer")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.mediaProxy")}},[a("media-proxy")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.metadata")}},[a("metadata")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.mrf")}},[a("mrf")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.rateLimiters")}},[a("rate-limiters")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.relays")}},[a("relays")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.upload")}},[a("upload")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.webPush")}},[a("web-push")],1),e._v(" "),a("el-tab-pane",{attrs:{label:e.$t("settings.other")}},[a("other")],1)],1)],1)},[],!1,null,"c56a6d00",null));je.options.__file="index.vue";t.default=je.exports},YhIs:function(e,t,a){},Yha0:function(e,t,a){"use strict";var s=a("sfrf");a.n(s).a},Zgs2:function(e,t,a){},apN7:function(e,t,a){"use strict";var s=a("9p49");a.n(s).a},cyzs:function(e,t,a){"use strict";var s=a("Px65");a.n(s).a},e0P1:function(e,t,a){"use strict";var s=a("TudB");a.n(s).a},fyIw:function(e,t,a){},gFOO:function(e,t,a){"use strict";var s=a("jqM2");a.n(s).a},h9z7:function(e,t,a){"use strict";var s=a("TOIk");a.n(s).a},hVXW:function(e,t,a){"use strict";var s=a("uswN");a.n(s).a},jqM2:function(e,t,a){},lNpP:function(e,t,a){"use strict";var s=a("UbP/");a.n(s).a},mADP:function(e,t,a){"use strict";var s=a("qLeA");a.n(s).a},mSK5:function(e,t,a){},qEST:function(e,t,a){"use strict";var s=a("4NUT");a.n(s).a},qLeA:function(e,t,a){},sW7V:function(e,t,a){},sfrf:function(e,t,a){},smuD:function(e,t,a){"use strict";var s=a("QZC8");a.n(s).a},uswN:function(e,t,a){},w5cJ:function(e,t,a){"use strict";var s=a("PYLh");a.n(s).a},wFa7:function(e,t,a){"use strict";var s=a("sW7V");a.n(s).a},wgcy:function(e,t,a){},x6RV:function(e,t,a){}}]);
+//# sourceMappingURL=chunk-f3c9.b3de53e2.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/chunk-f3c9.b3de53e2.js.map b/priv/static/adminfe/static/js/chunk-f3c9.b3de53e2.js.map
new file mode 100644
index 000000000..3b53caf53
--- /dev/null
+++ b/priv/static/adminfe/static/js/chunk-f3c9.b3de53e2.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///./src/views/settings/components/WebPush.vue?38e3","webpack:///./src/views/settings/components/Captcha.vue?029c","webpack:///./src/views/emojiPacks/components/SingleEmojiEditor.vue?aad1","webpack:///./src/views/settings/components/Authentication.vue?4503","webpack:///./src/views/settings/components/Upload.vue?33cd","webpack:///./src/views/settings/components/Esshd.vue?eedf","webpack:///./src/views/settings/components/Relays.vue?3141","webpack:///./src/views/settings/components/Http.vue?56b1","webpack:///./src/views/settings/components/Endpoint.vue?df2b","webpack:///./src/views/settings/components/Mailer.vue?cb92","webpack:///./src/views/settings/components/Database.vue?9c10","webpack:///./src/views/settings/index.vue?44f3","webpack:///./src/views/settings/components/MediaProxy.vue?e0fb","webpack:///./src/views/settings/components/RateLimiters.vue?0aac","webpack:///./src/views/settings/index.vue?d84b","webpack:///./src/views/settings/components/ActivityPub.vue?9ad8","webpack:///src/views/settings/components/ActivityPub.vue","webpack:///./src/views/settings/components/ActivityPub.vue","webpack:///./src/views/settings/components/ActivityPub.vue?6770","webpack:///./src/views/settings/components/Authentication.vue?1922","webpack:///src/views/settings/components/Authentication.vue","webpack:///./src/views/settings/components/Authentication.vue","webpack:///./src/views/settings/components/Authentication.vue?ae82","webpack:///./src/views/settings/components/AutoLinker.vue?fed2","webpack:///src/views/settings/components/AutoLinker.vue","webpack:///./src/views/settings/components/AutoLinker.vue","webpack:///./src/views/settings/components/AutoLinker.vue?9bd5","webpack:///./src/views/settings/components/Captcha.vue?b5df","webpack:///src/views/settings/components/Captcha.vue","webpack:///./src/views/settings/components/Captcha.vue","webpack:///./src/views/settings/components/Captcha.vue?ce75","webpack:///./src/views/settings/components/Database.vue?092c","webpack:///src/views/settings/components/Database.vue","webpack:///./src/views/settings/components/Database.vue","webpack:///./src/views/settings/components/Database.vue?a557","webpack:///./src/views/settings/components/options.js","webpack:///./src/views/settings/components/Endpoint.vue?c17d","webpack:///src/views/settings/components/Endpoint.vue","webpack:///./src/views/settings/components/Endpoint.vue","webpack:///./src/views/settings/components/Endpoint.vue?3958","webpack:///./src/views/settings/components/Esshd.vue?b0ed","webpack:///src/views/settings/components/Esshd.vue","webpack:///./src/views/settings/components/Esshd.vue","webpack:///./src/views/settings/components/Esshd.vue?d4b7","webpack:///./src/views/settings/components/Frontend.vue?1622","webpack:///src/views/settings/components/Frontend.vue","webpack:///./src/views/settings/components/Frontend.vue","webpack:///./src/views/settings/components/Frontend.vue?c961","webpack:///./src/views/settings/components/Gopher.vue?cb09","webpack:///src/views/settings/components/Gopher.vue","webpack:///./src/views/settings/components/Gopher.vue","webpack:///./src/views/settings/components/Gopher.vue?a7e3","webpack:///./src/views/settings/components/Http.vue?0ecb","webpack:///src/views/settings/components/Http.vue","webpack:///./src/views/settings/components/Http.vue","webpack:///./src/views/settings/components/Http.vue?da44","webpack:///./src/views/settings/components/Instance.vue?ea1e","webpack:///src/views/settings/components/Instance.vue","webpack:///./src/views/settings/components/Instance.vue","webpack:///./src/views/settings/components/Instance.vue?e685","webpack:///./src/views/settings/components/JobQueue.vue?e650","webpack:///src/views/settings/components/JobQueue.vue","webpack:///./src/views/settings/components/JobQueue.vue","webpack:///./src/views/settings/components/JobQueue.vue?55cd","webpack:///./src/views/settings/components/Logger.vue?aa5f","webpack:///src/views/settings/components/Logger.vue","webpack:///./src/views/settings/components/Logger.vue","webpack:///./src/views/settings/components/Logger.vue?3b12","webpack:///./src/views/settings/components/Mailer.vue?48d6","webpack:///src/views/settings/components/Mailer.vue","webpack:///./src/views/settings/components/Mailer.vue","webpack:///./src/views/settings/components/Mailer.vue?128e","webpack:///./src/views/settings/components/MediaProxy.vue?9571","webpack:///src/views/settings/components/MediaProxy.vue","webpack:///./src/views/settings/components/MediaProxy.vue","webpack:///./src/views/settings/components/MediaProxy.vue?f04b","webpack:///./src/views/settings/components/Metadata.vue?7f4f","webpack:///src/views/settings/components/Metadata.vue","webpack:///./src/views/settings/components/Metadata.vue","webpack:///./src/views/settings/components/Metadata.vue?dfb8","webpack:///./src/views/settings/components/MRF.vue?274b","webpack:///src/views/settings/components/MRF.vue","webpack:///./src/views/settings/components/MRF.vue","webpack:///./src/views/settings/components/MRF.vue?c0e7","webpack:///./src/views/settings/components/Other.vue?7bf4","webpack:///src/views/settings/components/Other.vue","webpack:///./src/views/settings/components/Other.vue","webpack:///./src/views/settings/components/Other.vue?9739","webpack:///./src/views/settings/components/RateLimiters.vue?15d2","webpack:///src/views/settings/components/RateLimiters.vue","webpack:///./src/views/settings/components/RateLimiters.vue","webpack:///./src/views/settings/components/RateLimiters.vue?7936","webpack:///./src/views/settings/components/Relays.vue?72ba","webpack:///src/views/settings/components/Relays.vue","webpack:///./src/views/settings/components/Relays.vue","webpack:///./src/views/settings/components/Relays.vue?0361","webpack:///./src/views/settings/components/Upload.vue?304d","webpack:///src/views/settings/components/Upload.vue","webpack:///./src/views/settings/components/Upload.vue","webpack:///./src/views/settings/components/Upload.vue?801e","webpack:///./src/views/settings/components/WebPush.vue?5451","webpack:///src/views/settings/components/WebPush.vue","webpack:///./src/views/settings/components/WebPush.vue","webpack:///./src/views/settings/components/WebPush.vue?9472","webpack:///./src/views/emojiPacks/components/SingleEmojiEditor.vue?5a7e","webpack:///src/views/emojiPacks/components/SingleEmojiEditor.vue","webpack:///./src/views/emojiPacks/components/SingleEmojiEditor.vue","webpack:///./src/views/emojiPacks/components/SingleEmojiEditor.vue?423a","webpack:///./src/views/emojiPacks/components/NewEmojiUploader.vue?1c09","webpack:///src/views/emojiPacks/components/NewEmojiUploader.vue","webpack:///./src/views/emojiPacks/components/NewEmojiUploader.vue","webpack:///./src/views/emojiPacks/components/NewEmojiUploader.vue?8997","webpack:///./src/views/emojiPacks/components/EmojiPack.vue?e1ee","webpack:///src/views/emojiPacks/components/EmojiPack.vue","webpack:///./src/views/emojiPacks/components/EmojiPack.vue","webpack:///./src/views/emojiPacks/components/EmojiPack.vue?8f60","webpack:///./src/views/emojiPacks/index.vue?a332","webpack:///src/views/emojiPacks/index.vue","webpack:///./src/views/emojiPacks/index.vue","webpack:///./src/views/emojiPacks/index.vue?fbab","webpack:///./src/views/settings/index.vue?3c3a","webpack:///src/views/settings/index.vue","webpack:///./src/views/settings/index.vue","webpack:///./src/views/emojiPacks/components/NewEmojiUploader.vue?d3ac","webpack:///./src/views/settings/components/Metadata.vue?0952","webpack:///./src/views/settings/components/AutoLinker.vue?42b3","webpack:///./src/views/settings/components/Instance.vue?2668","webpack:///./src/views/settings/components/Other.vue?8e53","webpack:///./src/views/settings/components/MRF.vue?8c92","webpack:///./src/views/settings/components/Frontend.vue?f18f","webpack:///./src/views/settings/components/JobQueue.vue?d797","webpack:///./src/views/settings/components/Logger.vue?a62e","webpack:///./src/views/settings/components/ActivityPub.vue?48d9","webpack:///./src/views/emojiPacks/index.vue?7b86","webpack:///./src/views/settings/components/Gopher.vue?5fd9","webpack:///./src/views/emojiPacks/components/EmojiPack.vue?6944"],"names":["_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_WebPush_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","n","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Captcha_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_7_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_7_2_node_modules_vue_loader_lib_index_js_vue_loader_options_SingleEmojiEditor_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Authentication_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Upload_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Esshd_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Relays_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Http_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Endpoint_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Mailer_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Database_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_id_c56a6d00_rel_stylesheet_2Fscss_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MediaProxy_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_RateLimiters_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","components_ActivityPubvue_type_script_lang_js_","name","computed","objectSpread_default","Object","vuex_esm","isMobile","this","$store","state","app","device","labelWidth","methods","updateSetting","value","tab","input","dispatch","data","defineProperty_default","onSubmit","component","componentNormalizer","_vm","_h","$createElement","_c","_self","ref","attrs","model","activityPub","label-width","label","unfollow_blocked","on","change","$event","_v","staticClass","outgoing_blocks","follow_handshake_timeout","step","min","size","sign_object_fetches","user","deny_follow_blocked","type","click","options","__file","ActivityPub","components_Authenticationvue_type_script_lang_js_","Authentication_component","pleromaAuthenticator","clearable","auth","auth_template","oauth_consumer_template","oauth_consumer_strategies","multiple","filterable","allow-create","ldap","enabled","host","port","ssl","tls","base","uid","ueberauth","href","rel","target","base_path","facebook","client_id","client_secret","redirect_uri","twitter","consumer_key","consumer_secret","google","microsoft","oauth2","token_expires_in","issue_new_refresh_token","clean_expired_tokens","clean_expired_tokens_interval","Authentication","components_AutoLinkervue_type_script_lang_js_","loading","settings","booleanClass","getBooleanValue","booleanRel","booleanTruncate","autoLinker","opts","getNumValue","getStringValue","processTwoTypeValue","inputName","childName","processNestedData","updatedValue","AutoLinker_component","_e","new_window","scheme","strip_prefix","extra","validate_tld","AutoLinker","components_Captchavue_type_script_lang_js_","Captcha_component","captcha","seconds_valid","method","kocaptcha","endpoint","Captcha","components_Databasevue_type_script_lang_js_","Database_component","database","rum_enabled","ectoRepos","pleromaRepo","priv","url","log","pool_size","telemetry_prefix","types","telemetry_event","hostname","socket_dir","socket","username","password","maintenance_database","pool","connect_timeout","prepare","Database","federationPublisherModulesOptions","rewritePolicyOptions","expl","quarantinedInstancesOptions","autofollowedNicknamesOptions","uriSchemesOptions","themeOptions","instrumentersOptions","extraCookieAttrsOptions","hackneyPoolsOptions","max_connections","timeout","whitelistedContentTypesOptions","mogrifyActionsOptions","adapterOptions","loggerBackendsOptions","JSON","stringify","tuple","restrictedNicknamesOptions","components_Endpointvue_type_script_lang_js_","components","editor","vue2_ace_editor_default","a","editorContentHttp","get","http","set","editorContentHttps","https","configureHttp","configureHttps","endpointHttp","endpointHttps","showServerConfig","protocol","Endpoint_component","instrumenters","_l","item","key","code_reloader","debug_errors","render_errors","view","accepts","layout","cache_static_manifest","height","width","lang","theme","callback","$$v","expression","ip","placeholder","compress","secret_key_base","server","path","signing_salt","pubsub","adapter","secure_cookie_flag","extra_cookie_attrs","Endpoint","components_Esshdvue_type_script_lang_js_","toggleEsshd","Esshd_component","privDir","handler","passwordAuthenticator","Esshd","components_Frontendvue_type_script_lang_js_","groups","_this","keys","emoji","map","mascots","_this2","assets","mascotName","mime_type","addRowToGroups","reduce","acc","el","i","","addRowToMascots","deleteGroupsRow","index","filter","deleteMascotsRow","parseGroups","inputType","parseMascots","sendBackgroundMasto","_ref","file","sendBackgroundPleroma","_ref2","sendLogoMasto","_ref3","sendLogoPleroma","_ref4","Frontend_component","frontend","pleroma_fe","background","http-request","show-file-list","action","logo","logoMask","logoMargin","redirectRootNoLogin","redirectRootLogin","showInstanceSpecificPanel","scopeOptionsEnabled","formattingOptionsEnabled","collapseMessageWithSubject","scopeCopy","subjectLineBehavior","postContentType","alwaysShowSubjectInput","hidePostStats","hideUserStats","loginMethod","webPushNotifications","noAttachmentLinks","nsfwCensorImage","showFeaturesPanel","minimalScopesMode","masto_fe","default_mascot","mimeType","icon","circle","shortcode_globs","pack_extensions","default_manifest","chat","markup","allow_inline_images","allow_headings","allow_tables","allow_fonts","scrub_policy","Frontend","components_Gophervue_type_script_lang_js_","Gopher_component","gopher","dstport","Gopher","components_Httpvue_type_script_lang_js_","Http_component","proxy_url","send_user_agent","versions","corsPlugMaxAge","corsPlugMethods","corsPlugExpose","corsPlugCredentials","corsPlugHeaders","httpSecurity","sts","sts_max_age","ct_max_age","referrer_policy","report_uri","hackneyPools","federation","media","upload","Http","components_Instancevue_type_script_lang_js_","rewritePolicy","instance","rewrite_policy","rewritePolicyExplanations","policy","find","getRewritePolicyExpl","Instance_component","email","notify_email","description","limit","remote_limit","upload_limit","avatar_upload_limit","background_upload_limit","banner_upload_limit","user_bio_length","user_name_length","poll_limits","max_options","max_option_chars","min_expiration","max_expiration","registrations_open","invites_enabled","account_activation_required","federating","federation_incoming_replies_max_depth","federation_reachability_timeout_days","federation_publisher_modules","allow_relay","_s","public","quarantined_instances","managed_config","static_dir","allowed_post_formats","mrf_transparency","mrf_transparency_exclusions","scope_copy","subject_line_behavior","always_show_subject_input","extended_nickname_format","max_pinned_statuses","autofollowed_nicknames","no_attachment_links","welcome_message","welcome_user_nickname","max_report_comment_size","safe_dm_mentions","healthcheck","remote_post_retention_days","skip_thread_containment","limit_to_local_content","dynamic_configuration","max_account_fields","max_remote_account_fields","account_field_name_length","account_field_value_length","external_user_synchronization","uriSchemes","valid_schemes","adminToken","scheduledActivity","daily_user_limit","total_user_limit","fetchInitialPosts","pages","suggestions","third_party_engine","web","pleromaUser","restricted_nicknames","Instance","components_JobQueuevue_type_script_lang_js_","JobQueue_component","queues","federator_outgoing","federator_incoming","mailer","transmogrifier","web_push","scheduled_activities","retryQueue","max_jobs","initial_timeout","max_retries","JobQueue","components_Loggervue_type_script_lang_js_","loggerBackendsValue","loggerBackends","section","updateloggerBackends","parseValue","parse","Logger_component","consoleLogger","level","format","metadata","max_buffer","colors","debug","info","warn","error","exsyslogger","formatter","ident","facility","option","webhookUrl","meta","Logger","components_Mailervue_type_script_lang_js_","editorContent","dkim","sendEmailLogo","Mailer_component","cmd_path","cmd_args","qmail","relay","retries","no_mx_lookups","api_key","domain","secret","region","access_key","server_id","access_token","emailNotifications","digest","active","schedule","interval","inactivity_threshold","userEmail","styling","link_color","background_color","content_background_color","header_color","text_color","text_muted_color","Mailer","components_MediaProxyvue_type_script_lang_js_","inlineContentTypes","Array","isArray","mediaProxy","proxy_opts","inline_content_types","reqHeadersOptions","mediaProxySettings","whitelistedContentTypes","getPoolExpl","processHttpSettings","httpSection","MediaProxy_component","base_url","redirect_on_failure","max_body_length","max_read_duration","req_headers","follow_redirect","whitelist","MediaProxy","components_Metadatavue_type_script_lang_js_","Metadata_component","providers","unfurl_nsfw","richMedia","ignore_hosts","ignore_tld","parsers","ttl_setters","Metadata","components_MRFvue_type_script_lang_js_","removableDoubleOptions","removableSingleOptions","matchActor","mrfSubchain","match_actor","policiesOptions","replacePatterns","mrfKeyword","replace","userAllowlist","_this3","mrfUserAllowlist","addMrfSubchainRow","addMrfUserAllowlistRow","addReplaceRow","deleteMrfSubchainRow","deleteMrfUserAllowlistRow","deleteReplaceRow","parseMrfSubchain","parseMrfUserAllowlist","parseReplace","MRF_component","mrfSimple","media_removal","media_nsfw","federated_timeline_removal","reject","accept","report_removal","avatar_removal","banner_removal","mrfRejectnonpublic","allow_followersonly","allow_direct","mrfHellthread","delist_threshold","reject_threshold","regExp","policies","mrfMention","actors","users","mrfNormalizeMarkup","mrfVocabulary","MRF","components_Othervue_type_script_lang_js_","mimeTypes","mimeTypesConfig","addRowToMimeTypes","deleteMimeTypes","parseMimeTypes","Other_component","formatEncoders","json","teslaAdapter","Other","components_RateLimitersvue_type_script_lang_js_","accountConfirmationResendAllUsers","rateLimiters","account_confirmation_resend","accountConfirmationResendAuthUsers","accountConfirmationResendUnauthUsers","activityPubRoutesAllUsers","ap_routes","activityPubRoutesAuthUsers","activityPubRoutesUnauthUsers","appAccountCreationAllUsers","app_account_creation","appAccountCreationAuthUsers","appAccountCreationUnauthUsers","passwordResetAllUsers","password_reset","passwordResetAuthUsers","passwordResetUnauthUsers","relationsActionsAllUsers","relations_actions","relationsActionsAuthUsers","relationsActionsUnauthUsers","relationIdActionAllUsers","relation_id_action","relationIdActionAuthUsers","relationIdActionUnauthUsers","searchLimitAllUsers","search","searchLimitAuthUsers","searchLimitUnauthUsers","statusesActionsAllUsers","statuses_actions","statusesActionsAuthUsers","statusesActionsUnauthUsers","statusIdActionAllUsers","status_id_action","statusIdActionAuthUsers","statusIdActionUnauthUsers","parseRateLimiter","typeOfInput","typeOfLimit","currentValue","valueToSend","_valueToSend","_valueToSend2","toggleLimits","RateLimiters_component","RateLimiters","components_Relaysvue_type_script_lang_js_","newRelay","relays","fetchedRelays","relaysTable","mounted","followRelay","deleteRelay","Relays_component","gutter","span","$t","nativeOn","keyup","indexOf","_k","keyCode","prop","fixed","scopedSlots","_u","fn","scope","row","Relays","components_Uploadvue_type_script_lang_js_","updateInlineContentTypes","$data","Upload_component","uploader","filters","link_name","proxy_remote","uploadersLocal","uploads","uploadFilterMogrify","args","uploadAnonymizeFilename","text","uploadS3","bucket","bucket_namespace","public_endpoint","truncated_namespace","uploadMDII","cgi","files","Upload","components_WebPushvue_type_script_lang_js_","WebPush_component","vapidDetails","subject","public_key","private_key","WebPush","components_SingleEmojiEditorvue_type_script_lang_js_","props","String","required","packName","isLocal","Boolean","newName","newFile","copyToLocalPackName","copyPopoverVisible","copyToShortcode","copyToFilename","emojiName","val","emojiFile","localPacks","emojiPacks","update","oldName","newFilename","then","remove","$confirm","confirmButtonText","cancelButtonText","copyToLocal","shortcode","trim","fileName","addressOfEmojiInPack","copyToLocalVisible","SingleEmojiEditor_component","src","placement","popper-class","_pack","disabled","slot","SingleEmojiEditor","components_NewEmojiUploadervue_type_script_lang_js_","imageUploadURL","customFileName","shortcodePresent","uploadEmoji","NewEmojiUploader_component","label-position","components_EmojiPackvue_type_script_lang_js_","NewEmojiUploader","pack","showPackContent","downloadSharedAs","share","homepage","license","fallbackSrc","downloadFromInstance","instanceAddress","as","deletePack","catch","savePackMetadata","EmojiPack_component","title","underline","pack-name","length","ename","is-local","views_emojiPacksvue_type_script_lang_js_","EmojiPack","remoteInstanceAddress","newPackName","activeLocalPack","activeRemotePack","remotePacks","refreshLocalPacks","createLocalPack","refreshRemotePacks","remoteInstance","reloadEmoji","importFromFS","emojiPacks_component","content","effects","getters","authHost","views_settingsvue_type_script_lang_js_","EmojiPacks","Mrf","tabPosition","settings_component","tab-position","__webpack_exports__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_7_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_7_2_node_modules_vue_loader_lib_index_js_vue_loader_options_NewEmojiUploader_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Metadata_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_AutoLinker_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Instance_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Other_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_MRF_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Frontend_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_JobQueue_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Logger_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_ActivityPub_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_index_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_Gopher_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__","_node_modules_mini_css_extract_plugin_dist_loader_js_node_modules_css_loader_index_js_ref_11_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_lib_index_js_ref_11_2_node_modules_sass_loader_lib_loader_js_ref_11_3_node_modules_vue_loader_lib_index_js_vue_loader_options_EmojiPack_vue_vue_type_style_index_0_rel_stylesheet_2Fscss_lang_scss___WEBPACK_IMPORTED_MODULE_0__"],"mappings":"wGAAA,IAAAA,EAAAC,EAAA,QAAAA,EAAAC,EAAAF,GAA2e,uCCA3e,IAAAG,EAAAF,EAAA,QAAAA,EAAAC,EAAAC,GAA2e,uCCA3e,IAAAC,EAAAH,EAAA,QAAAA,EAAAC,EAAAE,GAA8Z,gECA9Z,IAAAC,EAAAJ,EAAA,QAAAA,EAAAC,EAAAG,GAAkf,gHCAlf,IAAAC,EAAAL,EAAA,QAAAA,EAAAC,EAAAI,GAA0e,qCCA1e,IAAAC,EAAAN,EAAA,QAAAA,EAAAC,EAAAK,GAAye,uCCAze,IAAAC,EAAAP,EAAA,QAAAA,EAAAC,EAAAM,GAA0e,qCCA1e,IAAAC,EAAAR,EAAA,QAAAA,EAAAC,EAAAO,GAAwe,qCCAxe,IAAAC,EAAAT,EAAA,QAAAA,EAAAC,EAAAQ,GAA4e,0GCA5e,IAAAC,EAAAV,EAAA,QAAAA,EAAAC,EAAAS,GAA0e,4DCA1e,IAAAC,EAAAX,EAAA,QAAAA,EAAAC,EAAAU,GAA4e,mFCA5e,IAAAC,EAAAZ,EAAA,QAAAA,EAAAC,EAAAW,GAA+e,0JCA/e,IAAAC,EAAAb,EAAA,QAAAA,EAAAC,EAAAY,GAA8e,uCCA9e,IAAAC,EAAAd,EAAA,QAAAA,EAAAC,EAAAa,GAAgf,mECAhf,0DCAsNC,GCyCtNC,KAAA,cACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,cACA,UAEAE,SALA,WAMA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WARA,WASA,OAAAL,KAAAD,SAAA,mBAGAO,SACAC,cADA,SACAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAJA,WAKAd,KAAAC,OAAAU,SAAA,4CCnDAI,EAAgBlB,OAAAmB,EAAA,EAAAnB,CACdJ,ECTQ,WAAgB,IAAAwB,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,cAAAC,OAAyBC,MAAAP,EAAAQ,YAAAC,cAAAT,EAAAZ,cAAsDe,EAAA,gBAAqBG,OAAOI,MAAA,sBAA4BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAQ,YAAAG,kBAAyCC,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,sCAAsEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,4DAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoGG,OAAOI,MAAA,qBAA2BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAQ,YAAAS,iBAAwCL,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,qCAAqEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,uDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA+FG,OAAOI,MAAA,8BAAoCP,EAAA,mBAAwBa,YAAA,aAAAV,OAAgCf,MAAAS,EAAAQ,YAAAU,yBAAAC,KAAA,IAAAC,IAAA,EAAAC,KAAA,SAAmFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+CAA8E,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAQ,YAAAc,qBAA4CV,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,yCAAyEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,sDAAAf,EAAAe,GAAA,KAAAZ,EAAA,WAAyFE,IAAA,OAAAC,OAAkBC,MAAAP,EAAAuB,KAAAd,cAAAT,EAAAZ,cAA+Ce,EAAA,gBAAqBG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAuB,KAAAC,qBAAqCZ,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,kCAAkEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAgJG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDYtiE,EACA,KACA,KACA,MAIAjB,EAAA6B,QAAAC,OAAA,kBACe,IAAAC,EAAA/B,UEpB0MgC,GC4OzNrD,KAAA,iBACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,uBACA,OACA,OACA,YACA,SACA,WACA,SACA,UACA,eAEAE,SAZA,WAaA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WAfA,WAgBA,OAAAL,KAAAD,SAAA,mBAGAO,SACAC,cADA,SACAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAJA,WAKAd,KAAAC,OAAAU,SAAA,oBC7PIqC,aAAYnD,OAAAmB,EAAA,EAAAnB,CACdkD,ECTQ,WAAgB,IAAA9B,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,uBAAAC,OAAkCC,MAAAP,EAAAgC,qBAAAvB,cAAAT,EAAAZ,cAA+De,EAAA,gBAAqBG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAgC,qBAAAzC,MAAA0C,UAAA,IAAsDrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,8CAA8EX,EAAA,aAAkBG,OAAOI,MAAA,OAAAnB,MAAA,MAA2BS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOI,MAAA,0EAAAnB,MAAA,2CAAmIS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOI,MAAA,2DAAAnB,MAAA,yCAAiH,WAAAS,EAAAe,GAAA,KAAAZ,EAAA,OAAoCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,OAAAC,OAAkBC,MAAAP,EAAAkC,KAAAzB,cAAAT,EAAAZ,cAA+Ce,EAAA,gBAAqBG,OAAOI,MAAA,8BAAoCV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,mBAAyBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAkC,KAAAC,eAA+BvB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,4BAA4Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,2DAAAZ,EAAA,QAA+Ea,YAAA,SAAmBhB,EAAAe,GAAA,eAAAf,EAAAe,GAAA,mCAAAZ,EAAA,QAA6Ea,YAAA,SAAmBhB,EAAAe,GAAA,kEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA0GG,OAAOI,MAAA,6BAAmCP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAkC,KAAAE,yBAAyCxB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,sCAAsEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,+EAAAZ,EAAA,QAAmGa,YAAA,SAAmBhB,EAAAe,GAAA,mBAAAf,EAAAe,GAAA,mCAAAZ,EAAA,QAAiFa,YAAA,SAAmBhB,EAAAe,GAAA,sEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8GG,OAAOI,MAAA,+BAAqCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAkC,KAAAG,8BAAAC,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAiG5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,wCAAwEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mFAAwDZ,EAAA,QAA+Ca,YAAA,SAAmBhB,EAAAe,GAAA,+BAAAf,EAAAe,GAAA,kFAAAZ,EAAA,QAA4Ia,YAAA,SAAmBhB,EAAAe,GAAA,6BAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAA4Da,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,OAAAC,OAAkBC,MAAAP,EAAAyC,KAAAhC,cAAAT,EAAAZ,cAA+Ce,EAAA,gBAAqBa,YAAA,gCAA0Cb,EAAA,KAAUa,YAAA,sBAAgChB,EAAAe,GAAA,kZAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA0bG,OAAOI,MAAA,yBAA+BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAyC,KAAAC,SAAyB9B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,sBAAsDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,qCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA6EG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAyC,KAAAE,MAAsB/B,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,mBAAmDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,8BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAsEG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAyC,KAAAG,MAAsBhC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,mBAAmDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4EG,OAAOI,MAAA,SAAeP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAyC,KAAAI,KAAqBjC,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,kBAAkDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,uDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA+FG,OAAOI,MAAA,SAAeP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAyC,KAAAK,KAAqBlC,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,kBAAkDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAiGG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAyC,KAAAM,MAAsBnC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,mBAAmDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oBAAAZ,EAAA,QAAwCa,YAAA,SAAmBhB,EAAAe,GAAA,+BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAuEG,OAAOI,MAAA,SAAeP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAyC,KAAAO,KAAqBpC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,kBAAkDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,qEAAAZ,EAAA,QAAyFa,YAAA,SAAmBhB,EAAAe,GAAA,UAAAf,EAAAe,GAAA,yBAAAZ,EAAA,QAA8Da,YAAA,SAAmBhB,EAAAe,GAAA,kCAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAiEa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,YAAAC,OAAuBC,MAAAP,EAAAiD,UAAAxC,cAAAT,EAAAZ,cAAoDe,EAAA,gBAAqBa,YAAA,8BAAAV,OAAiDI,MAAA,yBAA+BP,EAAA,KAAUa,YAAA,sBAAgChB,EAAAe,GAAA,mNAA+LZ,EAAA,KAAqCG,OAAO4C,KAAA,iEAAAC,IAAA,+BAAAC,OAAA,YAAgIpD,EAAAe,GAAA,mDAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAAgFa,YAAA,sBAAgChB,EAAAe,GAAA,oHAA4EZ,EAAA,QAA4Da,YAAA,SAAmBhB,EAAAe,GAAA,kDAAAf,EAAAe,GAAA,oBAAAZ,EAAA,QAAmGa,YAAA,SAAmBhB,EAAAe,GAAA,gFAAAf,EAAAe,GAAA,sDAAAZ,EAAA,QAAmKa,YAAA,SAAmBhB,EAAAe,GAAA,oDAAAf,EAAAe,GAAA,0DAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAAoJa,YAAA,sBAAgChB,EAAAe,GAAA,0LAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAAuNa,YAAA,sBAAgChB,EAAAe,GAAA,mCAAAZ,EAAA,QAAuDa,YAAA,SAAmBhB,EAAAe,GAAA,oBAAAf,EAAAe,GAAA,wBAAAZ,EAAA,QAAuEa,YAAA,SAAmBhB,EAAAe,GAAA,wBAAAf,EAAAe,GAAA,yFAAAZ,EAAA,QAA4Ia,YAAA,SAAmBhB,EAAAe,GAAA,yBAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAAsDa,YAAA,sBAAgChB,EAAAe,GAAA,0BAAAZ,EAAA,KAA2CG,OAAO4C,KAAA,wCAAAC,IAAA,+BAAAC,OAAA,YAAuGpD,EAAAe,GAAA,4CAAAf,EAAAe,GAAA,wCAAAZ,EAAA,QAA+Ga,YAAA,SAAmBhB,EAAAe,GAAA,kDAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAA+Ea,YAAA,sBAAgChB,EAAAe,GAAA,2BAAAZ,EAAA,KAA4CG,OAAO4C,KAAA,uCAAAC,IAAA,+BAAAC,OAAA,YAAsGpD,EAAAe,GAAA,4CAAAf,EAAAe,GAAA,wCAAAZ,EAAA,QAA+Ga,YAAA,SAAmBhB,EAAAe,GAAA,iDAAAf,EAAAe,GAAA,yDAAAZ,EAAA,QAAqIa,YAAA,SAAmBhB,EAAAe,GAAA,wEAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAAqGa,YAAA,sBAAgChB,EAAAe,GAAA,yBAAAZ,EAAA,KAA0CG,OAAO4C,KAAA,yCAAAC,IAAA,+BAAAC,OAAA,YAAwGpD,EAAAe,GAAA,4CAAAf,EAAAe,GAAA,wCAAAZ,EAAA,QAA+Ga,YAAA,SAAmBhB,EAAAe,GAAA,iDAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAA8Ea,YAAA,sBAAgChB,EAAAe,GAAA,4BAAAZ,EAAA,KAA6CG,OAAO4C,KAAA,2BAAAC,IAAA,+BAAAC,OAAA,YAA0FpD,EAAAe,GAAA,4CAAAf,EAAAe,GAAA,wCAAAZ,EAAA,QAA+Ga,YAAA,SAAmBhB,EAAAe,GAAA,oDAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAAiFa,YAAA,sBAAgChB,EAAAe,GAAA,oLAAAZ,EAAA,KAAqMG,OAAO4C,KAAA,iDAAAC,IAAA,+BAAAC,OAAA,YAAgHpD,EAAAe,GAAA,6CAAAf,EAAAe,GAAA,kBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8GG,OAAOI,MAAA,gBAAsBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,eAAqBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiD,UAAAI,WAAgCzC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,8BAA6D,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,WAAAC,OAAsBC,MAAAP,EAAAsD,SAAA7C,cAAAT,EAAAZ,cAAmDe,EAAA,gBAAqBG,OAAOI,MAAA,eAAqBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,eAAqBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAsD,SAAAC,WAA+B3C,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,sDAAqF,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,mBAAyBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAsD,SAAAE,eAAmC5C,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,0DAAyF,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAsD,SAAAG,cAAkC7C,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,yDAAwF,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,UAAAC,OAAqBC,MAAAP,EAAA0D,QAAAjD,cAAAT,EAAAZ,cAAkDe,EAAA,gBAAqBG,OAAOI,MAAA,cAAoBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0D,QAAAC,cAAiC/C,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wDAAuF,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,qBAA2BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0D,QAAAE,iBAAoChD,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,2DAA0F,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,SAAAC,OAAoBC,MAAAP,EAAA6D,OAAApD,cAAAT,EAAAZ,cAAiDe,EAAA,gBAAqBG,OAAOI,MAAA,aAAmBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,eAAqBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA6D,OAAAN,WAA6B3C,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,oDAAmF,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,mBAAyBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA6D,OAAAL,eAAiC5C,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wDAAuF,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA6D,OAAAJ,cAAgC7C,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,uDAAsF,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,YAAAC,OAAuBC,MAAAP,EAAA8D,UAAArD,cAAAT,EAAAZ,cAAoDe,EAAA,gBAAqBG,OAAOI,MAAA,gBAAsBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,eAAqBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA8D,UAAAP,WAAgC3C,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,uDAAsF,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,mBAAyBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA8D,UAAAN,eAAoC5C,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,2DAA0F,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,SAAAC,OAAoBC,MAAAP,EAAA+D,OAAAtD,cAAAT,EAAAZ,cAAiDe,EAAA,gBAAqBG,OAAOI,MAAA,yBAA+BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,0BAAgCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA+D,OAAAC,iBAAA7C,KAAA,GAAAC,IAAA,EAAAC,KAAA,SAAqET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,iCAAiEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,qDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA6FG,OAAOI,MAAA,6BAAmCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA+D,OAAAE,yBAA2CrD,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,wCAAwEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,8FAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAsIG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA+D,OAAAG,sBAAwCtD,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,qCAAqEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2HG,OAAOI,MAAA,kCAAwCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA+D,OAAAI,8BAAA,KAAAhD,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA2FT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAA,KAAAwB,EAAA,8CAAwFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAwIG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDY32d,EACA,KACA,KACA,OAIAgB,EAASJ,QAAAC,OAAA,qBACM,IAAAwC,EAAArC,UEpBsMsC,GCwDrN5F,KAAA,aACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,gBAEAE,SAJA,WAKA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WAPA,WAQA,OAAAL,KAAAD,SAAA,iBAEAwF,QAVA,WAWA,OAAAvF,KAAAC,OAAAC,MAAAsF,SAAAD,SAEAE,aAbA,WAcA,OAAAzF,KAAA0F,gBAAA,UAEAC,WAhBA,WAiBA,OAAA3F,KAAA0F,gBAAA,QAEAE,gBAnBA,WAoBA,OAAA5F,KAAA0F,gBAAA,eAGApF,SACAoF,gBADA,SACAhG,GACA,IAAAc,EAAAR,KAAA6F,WAAAC,KAAApG,GACA,uBAAAc,GAAA,iBAAAA,GAEAuF,YALA,SAKArG,GAEA,OADAM,KAAA6F,WAAAC,KAAApG,IACA,GAEAsG,eATA,SASAtG,GAEA,OADAM,KAAA6F,WAAAC,KAAApG,IACA,IAEAuG,oBAbA,SAaAzF,EAAAC,EAAAyF,EAAAC,GACA,QAAA3F,EAAA,CACA,IAAAI,EAAA,aAAAuF,EAAA,KACAnG,KAAAoG,kBAAAxF,EAAAH,EAAAyF,EAAAC,QAEAnG,KAAAoG,kBAAA5F,EAAAC,EAAAyF,EAAAC,IAGAC,kBArBA,SAqBA5F,EAAAC,EAAAyF,EAAAC,GACA,IAAAE,EAAAzG,OAAAI,KAAAC,OAAAC,MAAAsF,kBAAA/E,GAAAyF,GAAArF,OAAAsF,EAAA3F,IACAR,KAAAO,cAAA8F,EAAA5F,EAAAyF,IAEA3F,cAzBA,SAyBAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SA5BA,WA6BAd,KAAAC,OAAAU,SAAA,oBCrGI2F,aAAYzG,OAAAmB,EAAA,EAAAnB,CACdyF,ECTQ,WAAgB,IAAArE,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAAsE,QAA8+HtE,EAAAsF,KAA9+HnF,EAAA,WAAoCE,IAAA,aAAAC,OAAwBC,MAAAP,EAAA4E,WAAAnE,cAAAT,EAAAZ,cAAqDe,EAAA,gBAAqBG,OAAOI,MAAA,WAAiBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAwE,cAAyB5D,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAgF,oBAAAlE,EAAA,kCAAyEd,EAAAe,GAAA,KAAAf,EAAAwE,aAA6DxE,EAAAsF,KAA7DnF,EAAA,KAA0Ca,YAAA,SAAmBhB,EAAAe,GAAA,8EAAAf,EAAAe,GAAA,KAAAf,EAAA,aAAAG,EAAA,gBAAAA,EAAA,YAAiKG,OAAOf,MAAAS,EAAA+E,eAAA,UAAoCnE,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAgF,oBAAAlE,EAAA,kCAAyEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,8EAAAf,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAA+HG,OAAOI,MAAA,SAAeP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0E,YAAuB9D,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAgF,oBAAAlE,EAAA,gCAAuEd,EAAAe,GAAA,KAAAf,EAAA0E,WAA2D1E,EAAAsF,KAA3DnF,EAAA,KAAwCa,YAAA,SAAmBhB,EAAAe,GAAA,oDAAAf,EAAAe,GAAA,KAAAf,EAAA,WAAAG,EAAA,gBAAAA,EAAA,YAAqIG,OAAOf,MAAAS,EAAA+E,eAAA,QAAkCnE,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAgF,oBAAAlE,EAAA,gCAAuEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oDAAAf,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAqGG,OAAOI,MAAA,gBAAsBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA4E,WAAAC,KAAAU,YAAuC3E,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,uCAA4Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,2BAAAZ,EAAA,QAA+Ca,YAAA,SAAmBhB,EAAAe,GAAA,qBAAAf,EAAAe,GAAA,oBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwFG,OAAOI,MAAA,YAAkBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA4E,WAAAC,KAAAW,QAAmC5E,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,mCAAwEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yCAAAZ,EAAA,QAA6Da,YAAA,SAAmBhB,EAAAe,GAAA,6BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAqEG,OAAOI,MAAA,cAAoBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2E,iBAA4B/D,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAgF,oBAAAlE,EAAA,qCAA4Ed,EAAAe,GAAA,KAAAf,EAAA2E,gBAAoM3E,EAAAsF,KAApMnF,EAAA,KAA6Ca,YAAA,SAAmBhB,EAAAe,GAAA,6FAAAZ,EAAA,QAAiHa,YAAA,SAAmBhB,EAAAe,GAAA,cAAAf,EAAAe,GAAA,KAAAf,EAAA,gBAAAG,EAAA,gBAAAA,EAAA,mBAA2GG,OAAOf,MAAAS,EAAA+E,eAAA,YAAA5D,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAuET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAgF,oBAAAlE,EAAA,qCAA4Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,8EAAAf,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAA+HG,OAAOI,MAAA,kBAAwBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA4E,WAAAC,KAAAY,cAAyC7E,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,yCAA8Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyEG,OAAOI,MAAA,WAAiBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA4E,WAAAC,KAAAa,OAAkC9E,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,kCAAuEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,sEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8GG,OAAOI,MAAA,kBAAwBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA4E,WAAAC,KAAAc,cAAyC/E,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,0CAA8E,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAqDG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,yBDYvkI,EACA,KACA,KACA,OAIAsE,EAAS1D,QAAAC,OAAA,iBACM,IAAAgE,EAAAP,UEpBmMQ,GCqClNpH,KAAA,UACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,UACA,eAEAE,SALA,WAMA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WARA,WASA,OAAAL,KAAAD,SAAA,mBAGAO,SACAC,cADA,SACAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAJA,WAKAd,KAAAC,OAAAU,SAAA,oBC/CIoG,aAAYlH,OAAAmB,EAAA,EAAAnB,CACdiH,ECTQ,WAAgB,IAAA7F,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,UAAAC,OAAqBC,MAAAP,EAAA+F,QAAAtF,cAAAT,EAAAZ,cAAkDe,EAAA,gBAAqBG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA+F,QAAArD,SAA4B9B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,iCAAiEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,6DAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAqGG,OAAOI,MAAA,mBAAyBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA+F,QAAAC,cAAA7E,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAkET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,uCAAuEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,4DAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoGG,OAAOI,MAAA,YAAkBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA+F,QAAAE,OAAAhE,UAAA,IAA0CrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,gCAAgEX,EAAA,aAAkBG,OAAOI,MAAA,4BAAAnB,MAAA,gCAAyE,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAA0Ba,YAAA,SAAmBhB,EAAAe,GAAA,mDAAAf,EAAAe,GAAA,KAAAZ,EAAA,WAAsFE,IAAA,YAAAC,OAAuBC,MAAAP,EAAAkG,UAAAzF,cAAAT,EAAAZ,cAAoDe,EAAA,gBAAqBG,OAAOI,MAAA,wBAA8BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAkG,UAAAC,UAA+BvF,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,4CAA4Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,2FAAAZ,EAAA,KAA4GG,OAAO4C,KAAA,yCAAAC,IAAA,+BAAAC,OAAA,YAAwGpD,EAAAe,GAAA,UAAAf,EAAAe,GAAA,oCAAAZ,EAAA,QAAyEa,YAAA,SAAmBhB,EAAAe,GAAA,mCAAAf,EAAAe,GAAA,8CAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAgJG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDY9mE,EACA,KACA,KACA,OAIA+E,EAASnE,QAAAC,OAAA,cACM,IAAAwE,EAAAN,UEpBoMO,GC4InN5H,KAAA,WACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,WACA,YACA,iBAEAE,SANA,WAOA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WATA,WAUA,OAAAL,KAAAD,SAAA,mBAGAO,SACAC,cADA,SACAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAJA,WAKAd,KAAAC,OAAAU,SAAA,oBCvJI4G,aAAY1H,OAAAmB,EAAA,EAAAnB,CACdyH,ECTQ,WAAgB,IAAArG,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,WAAAC,OAAsBC,MAAAP,EAAAuG,SAAA9F,cAAAT,EAAAZ,cAAmDe,EAAA,gBAAqBG,OAAOI,MAAA,wBAA8BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,iBAAuBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAuG,SAAAC,aAAiC5F,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,8BAA8Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,2NAAAZ,EAAA,KAA4OG,OAAO4C,KAAA,qCAAAC,IAAA,+BAAAC,OAAA,YAAoGpD,EAAAe,GAAA,iEAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAA8Fa,YAAA,SAAmBhB,EAAAe,GAAA,+RAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAA4Ta,YAAA,SAAmBhB,EAAAe,GAAA,6BAAAZ,EAAA,QAAiDa,YAAA,SAAmBhB,EAAAe,GAAA,iBAAAf,EAAAe,GAAA,kFAAAZ,EAAA,QAA8Ha,YAAA,SAAmBhB,EAAAe,GAAA,8FAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAA6Ha,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,YAAAC,OAAuBC,MAAAP,EAAAyG,UAAAhG,cAAAT,EAAAZ,cAAoDe,EAAA,gBAAqBG,OAAOI,MAAA,gBAAsBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAyG,UAAAlH,UAAA+C,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAkF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,0BAA0DX,EAAA,aAAkBG,OAAOI,MAAA,eAAAnB,MAAA,mBAA+C,WAAAS,EAAAe,GAAA,KAAAZ,EAAA,OAAoCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,cAAAC,OAAyBC,MAAAP,EAAA0G,YAAAjG,cAAAT,EAAAZ,cAAsDe,EAAA,gBAAqBG,OAAOI,MAAA,iCAAuCV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0G,YAAAjI,MAA6BmC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,2BAA2Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyFG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0G,YAAAC,MAA6B/F,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,2BAA2Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,+FAAAZ,EAAA,QAAmHa,YAAA,SAAmBhB,EAAAe,GAAA,8BAAAf,EAAAe,GAAA,4EAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyJG,OAAOI,MAAA,SAAeP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0G,YAAAE,KAA4BhG,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,0BAA0Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2FG,OAAOI,MAAA,eAAqBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0G,YAAAG,IAAA5E,UAAA,IAA2CrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,0BAA0DX,EAAA,aAAkBG,OAAOf,OAAA,EAAAmB,MAAA,mDAAuEV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,SAAAmB,MAAA,yCAAgEV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,QAAAmB,MAAA,yCAA+DV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,QAAAmB,MAAA,0BAAgDV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,SAAAmB,MAAA,0BAAgD,GAAAV,EAAAe,GAAA,KAAAZ,EAAA,KAA0Ba,YAAA,SAAmBhB,EAAAe,GAAA,wEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgHG,OAAOI,MAAA,eAAqBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA0G,YAAAI,UAAA3F,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAkET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,gCAAgEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oEAAAZ,EAAA,QAAwFa,YAAA,SAAmBhB,EAAAe,GAAA,cAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAsDG,OAAOI,MAAA,sBAA4BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0G,YAAAK,qBAAAzE,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAA+F5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,uCAAuEX,EAAA,aAAkBG,OAAOI,MAAA,UAAAnB,MAAA,aAAqCS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOI,MAAA,QAAAnB,MAAA,WAAiCS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOI,MAAA,SAAAnB,MAAA,aAAmC,OAAAS,EAAAe,GAAA,KAAAZ,EAAA,gBAAyCG,OAAOI,MAAA,WAAiBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0G,YAAAM,OAA8BpG,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,6BAA4D,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,qBAA2BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0G,YAAAO,oBAAA3E,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAA8F5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,sCAAsEX,EAAA,aAAkBG,OAAOI,MAAA,4BAAAnB,MAAA,gCAAyE,OAAAS,EAAAe,GAAA,KAAAZ,EAAA,gBAAyCG,OAAOI,MAAA,yBAA+BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0G,YAAAQ,UAAiCtG,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAiEG,OAAOI,MAAA,gBAAsBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0G,YAAAS,YAAmCvG,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,iCAAiEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,uSAAAZ,EAAA,QAA2Ta,YAAA,SAAmBhB,EAAAe,GAAA,aAAAf,EAAAe,GAAA,mBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA+EG,OAAOI,MAAA,YAAkBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0G,YAAAU,QAA+BxG,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,6BAA6Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yGAAAZ,EAAA,QAA6Ha,YAAA,SAAmBhB,EAAAe,GAAA,eAAAf,EAAAe,GAAA,SAAAZ,EAAA,QAAmDa,YAAA,SAAmBhB,EAAAe,GAAA,uBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA+DG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0G,YAAAW,UAAiCzG,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,gCAA+D,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0G,YAAAY,UAAiC1G,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,gCAA+D,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0G,YAAA9D,MAA6BhC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,2BAA2Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,qCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA6EG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0G,YAAAH,UAAiC3F,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4EG,OAAOI,MAAA,0BAAgCP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0G,YAAAa,sBAA6C3G,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,2CAA2Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yHAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAmKG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0G,YAAAc,MAA6B5G,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,2BAA2Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,4CAAAZ,EAAA,QAAgEa,YAAA,SAAmBhB,EAAAe,GAAA,uCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA+EG,OAAOI,MAAA,SAAeP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0G,YAAA7D,KAA4BjC,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,0BAA0Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,2CAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAmFG,OAAOI,MAAA,qBAA2BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA0G,YAAAe,gBAAAtG,KAAA,IAAAC,IAAA,EAAAC,KAAA,SAA2ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,sCAAsEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgHG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0G,YAAAgB,QAAAzF,UAAA,IAA+CrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,8BAA8DX,EAAA,aAAkBG,OAAOI,MAAA,QAAAnB,MAAA,YAAkCS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOI,MAAA,UAAAnB,MAAA,eAAsC,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAA0Ba,YAAA,SAAmBhB,EAAAe,GAAA,mCAAAZ,EAAA,QAAuDa,YAAA,SAAmBhB,EAAAe,GAAA,YAAAf,EAAAe,GAAA,oCAAAZ,EAAA,QAA2Ea,YAAA,SAAmBhB,EAAAe,GAAA,cAAAf,EAAAe,GAAA,qDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAkIG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDYrrU,EACA,KACA,KACA,OAIAuF,EAAS3E,QAAAC,OAAA,eACM,IAAA+F,EAAArB,UEpBF3E,GACXiG,oCACIlH,MAAO,oCAAqCnB,MAAO,sCACnDmB,MAAO,qBAAsBnB,MAAO,uBACpCmB,MAAO,qBAAsBnB,MAAO,uBACxCsI,uBACInH,MAAO,aAAcnB,MAAO,yCAA0CuI,KAAM,oDAC5EpH,MAAO,aAAcnB,MAAO,yCAA0CuI,KAAM,4FAC5EpH,MAAO,eAAgBnB,MAAO,2CAA4CuI,KAAM,0GAChFpH,MAAO,YAAanB,MAAO,wCAAyCuI,KAAM,6NAC1EpH,MAAO,iBAAkBnB,MAAO,6CAA8CuI,KAAM,wFACpFpH,MAAO,kBAAmBnB,MAAO,8CAA+CuI,KAAM,wGACtFpH,MAAO,oBAAqBnB,MAAO,gDAAiDuI,KAAM,gJAC1FpH,MAAO,qBAAsBnB,MAAO,iDAAkDuI,KAAM,4FAC5FpH,MAAO,0BAA2BnB,MAAO,sDAAuDuI,KAAM,0FACtGpH,MAAO,gBAAiBnB,MAAO,4CAA6CuI,KAAM,0EAClFpH,MAAO,mBAAoBnB,MAAO,+CAAgDuI,KAAM,2DAE5FC,+BACAC,gCACAC,oBACIvH,MAAO,QAASnB,MAAO,UACvBmB,MAAO,OAAQnB,MAAO,SACtBmB,MAAO,MAAOnB,MAAO,QACrBmB,MAAO,OAAQnB,MAAO,SACtBmB,MAAO,SAAUnB,MAAO,WACxBmB,MAAO,OAAQnB,MAAO,SACtBmB,MAAO,OAAQnB,MAAO,SACtBmB,MAAO,MAAOnB,MAAO,QACrBmB,MAAO,OAAQnB,MAAO,SACtBmB,MAAO,SAAUnB,MAAO,WACxBmB,MAAO,SAAUnB,MAAO,WACxBmB,MAAO,SAAUnB,MAAO,WACxBmB,MAAO,MAAOnB,MAAO,QACrBmB,MAAO,OAAQnB,MAAO,SAC1B2I,eACIxH,MAAO,eAAgBnB,MAAO,iBAC9BmB,MAAO,gBAAiBnB,MAAO,kBAC/BmB,MAAO,eAAgBnB,MAAO,iBAC9BmB,MAAO,OAAQnB,MAAO,SACtBmB,MAAO,WAAYnB,MAAO,aAC1BmB,MAAO,UAAWnB,MAAO,YACzBmB,MAAO,SAAUnB,MAAO,WACxBmB,MAAO,aAAcnB,MAAO,eAC5BmB,MAAO,gBAAiBnB,MAAO,kBAC/BmB,MAAO,cAAenB,MAAO,gBAC7BmB,MAAO,cAAenB,MAAO,gBAC7BmB,MAAO,eAAgBnB,MAAO,iBAClC4I,uBAAyBzH,MAAO,oCAAqCnB,MAAO,sCAC5E6I,0BAA4B1H,MAAO,eAAgBnB,MAAO,iBAC1D8I,sBAAwB3H,MAAO,aAAcnB,MAAO,cAAe+I,gBAAiB,GAAIC,QAAS,OAC7F7H,MAAO,QAASnB,MAAO,SAAU+I,gBAAiB,GAAIC,QAAS,OAC/D7H,MAAO,SAAUnB,MAAO,UAAW+I,gBAAiB,GAAIC,QAAS,MACrEC,iCAAmC9H,MAAO,YAAanB,MAAO,cAC1DmB,MAAO,aAAcnB,MAAO,eAC5BmB,MAAO,YAAanB,MAAO,cAC3BmB,MAAO,YAAanB,MAAO,cAC3BmB,MAAO,gBAAiBnB,MAAO,kBAC/BmB,MAAO,aAAcnB,MAAO,eAC5BmB,MAAO,YAAanB,MAAO,cAC3BmB,MAAO,aAAcnB,MAAO,eAC5BmB,MAAO,YAAanB,MAAO,cAC3BmB,MAAO,kBAAmBnB,MAAO,oBACrCkJ,wBAA0B/H,MAAO,QAASnB,MAAO,UAAamB,MAAO,cAAenB,MAAO,gBAC3FmJ,iBACIhI,MAAO,2BAA4BnB,MAAO,6BAC1CmB,MAAO,uBAAwBnB,MAAO,yBACtCmB,MAAO,2BAA4BnB,MAAO,6BAC1CmB,MAAO,2BAA4BnB,MAAO,6BAC1CmB,MAAO,0BAA2BnB,MAAO,4BACzCmB,MAAO,0BAA2BnB,MAAO,4BACzCmB,MAAO,2BAA4BnB,MAAO,6BAC1CmB,MAAO,4BAA6BnB,MAAO,8BAC3CmB,MAAO,4BAA6BnB,MAAO,8BAC3CmB,MAAO,sBAAuBnB,MAAO,wBACrCmB,MAAO,6BAA8BnB,MAAO,+BAC5CmB,MAAO,wBAAyBnB,MAAO,0BACvCmB,MAAO,wBAAyBnB,MAAO,0BAE3CoJ,wBACIjI,MAAO,2BAA4BnB,MAAOqJ,KAAKC,UAAU,cACzDnI,MAAO,gCAAiCnB,MAAOqJ,KAAKC,WAAYC,OAAU,cAAe,qBACzFpI,MAAO,+BAAgCnB,MAAOqJ,KAAKC,UAAU,kBAEjEE,6BACIxJ,MAAO,gBACPA,MAAO,MACPA,MAAO,UACPA,MAAO,eACPA,MAAO,QACPA,MAAO,SACPA,MAAO,mBACPA,MAAO,QACPA,MAAO,oBACPA,MAAO,UACPA,MAAO,aACPA,MAAO,SACPA,MAAO,UACPA,MAAO,aACPA,MAAO,WACPA,MAAO,UACPA,MAAO,YACPA,MAAO,sBACPA,MAAO,YACPA,MAAO,UACPA,MAAO,SACPA,MAAO,iBACPA,MAAO,UACPA,MAAO,aACPA,MAAO,WACPA,MAAO,QACPA,MAAO,gBACPA,MAAO,gBACPA,MAAO,UACPA,MAAO,8BClHsMyJ,wBCoLnNvK,KAAA,WACAwK,YACAC,OAAAC,EAAAC,GAEA1K,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,cAEAyK,mBACAC,IAAA,WACA,OAAAvK,KAAAoH,SAAAoD,KAAA7J,SAAAX,KAAAoH,SAAAoD,KAAA7J,SAAA,OAEA8J,IAAA,SAAAjK,GACAR,KAAAoG,mBAAA5F,GAAA,4CAGAkK,oBACAH,IAAA,WACA,OAAAvK,KAAAoH,SAAAuD,MAAAhK,SAAAX,KAAAoH,SAAAuD,MAAAhK,SAAA,OAEA8J,IAAA,SAAAjK,GACAR,KAAAoG,mBAAA5F,GAAA,6CAGAoK,cApBA,WAqBA,WAAA5K,KAAAoH,SAAAoD,MAEAK,eAvBA,WAwBA,WAAA7K,KAAAoH,SAAAuD,OAEAG,aA1BA,WA2BA,OAAA9K,KAAAoH,SAAAoD,UAEAO,cA7BA,WA8BA,OAAA/K,KAAAoH,SAAAuD,WAEAtB,wBAhCA,WAiCA,OAAAzG,EAAAyG,yBAEAD,qBAnCA,WAoCA,OAAAxG,EAAAwG,sBAEArJ,SAtCA,WAuCA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WAzCA,WA0CA,OAAAL,KAAAD,SAAA,iBAEAwF,QA5CA,WA6CA,OAAAvF,KAAAC,OAAAC,MAAAsF,SAAAD,WAGAjF,SACA8F,kBADA,SACA5F,EAAAC,EAAAyF,EAAAC,GACA,IAAAE,EAAAzG,OAAAI,KAAAC,OAAAC,MAAAsF,kBAAA/E,GAAAyF,GAAArF,OAAAsF,EAAA3F,IACAR,KAAAO,cAAA8F,EAAA5F,EAAAyF,IAEA8E,iBALA,SAKAxK,EAAAyK,GACAzK,EACAR,KAAAO,iBAAA,uBAAA0K,GAEAjL,KAAAO,cAAAC,EAAA,uBAAAyK,IAGA1K,cAZA,SAYAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAfA,WAgBAd,KAAAC,OAAAU,SAAA,qBChPIuK,aAAYrL,OAAAmB,EAAA,EAAAnB,CACdoK,ECTQ,WAAgB,IAAAhJ,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAAsE,QAA6/ZtE,EAAAsF,KAA7/ZnF,EAAA,WAAoCE,IAAA,WAAAC,OAAsBC,MAAAP,EAAAmG,SAAA1F,cAAAT,EAAAZ,cAAmDe,EAAA,gBAAqBG,OAAOI,MAAA,mBAAyBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAmG,SAAA+D,kBAAA5H,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAyF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,2CAA4Ed,EAAAmK,GAAAnK,EAAA,8BAAAoK,GAAkD,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,OAAAS,EAAAe,GAAA,KAAAZ,EAAA,OAA+Ba,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,iCAAuCV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,mBAAyBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAmG,SAAAmE,eAAmC1J,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,4CAA4Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,8CAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAsFG,OAAOI,MAAA,kBAAwBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAmG,SAAAoE,cAAkC3J,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,2CAA2Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,kBAAAZ,EAAA,QAAsCa,YAAA,SAAmBhB,EAAAe,GAAA,mBAAAf,EAAAe,GAAA,mNAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAqRG,OAAOI,MAAA,oBAA0BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAmG,SAAAqE,cAAAC,MAAwC7J,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,oDAAwF,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAmG,SAAAqE,cAAAE,YAAApI,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAiG5B,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,uDAA2F,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,YAAkBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAmG,SAAAqE,cAAAG,QAA0C/J,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,sDAA0F,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,4BAAkCV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,2BAAiCP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAmG,SAAAyE,uBAA2ChK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,oDAAoFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wHAAAZ,EAAA,QAA4Ia,YAAA,SAAmBhB,EAAAe,GAAA,uCAAAf,EAAAe,GAAA,yDAAAZ,EAAA,QAA2Ha,YAAA,SAAmBhB,EAAAe,GAAA,0BAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAyDa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,WAAiBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,2BAAiCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2J,eAA0B/I,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAA+J,iBAAAjJ,EAAA,aAA8C,GAAAd,EAAAe,GAAA,KAAAf,EAAA,cAAAG,EAAA,OAAAA,EAAA,gBAAmEG,OAAOI,MAAA,cAAoBP,EAAA,UAAeG,OAAOuK,OAAA,MAAAC,MAAA,OAAAC,KAAA,SAAAC,MAAA,UAA+DzK,OAAQhB,MAAAS,EAAA,kBAAAiL,SAAA,SAAAC,GAAuDlL,EAAAqJ,kBAAA6B,GAA0BC,WAAA,uBAAiCnL,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,0CAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAkFG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA6J,aAAAjH,MAA8BhC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,0CAA+Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,+EAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAuHG,OAAOI,MAAA,QAAcP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA6J,aAAAuB,GAAAC,YAAA,kBAA2DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,wCAA6Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,sCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8EG,OAAOI,MAAA,oBAA0BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA6J,aAAAxJ,KAA6BO,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,yCAA8Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,+CAAAZ,EAAA,QAAmEa,YAAA,SAAmBhB,EAAAe,GAAA,eAAAf,EAAAe,GAAA,uBAAAZ,EAAA,QAAiEa,YAAA,SAAmBhB,EAAAe,GAAA,gBAAAf,EAAAe,GAAA,yEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwIG,OAAOI,MAAA,cAAoBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA6J,aAAAyB,UAAkC1K,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,8CAAmFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,+EAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAuHG,OAAOI,MAAA,kBAAwBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA6J,aAAAtB,QAAA,IAAApH,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAwET,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAA,IAAArE,EAAA,6CAAyFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,0FAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAyHa,YAAA,UAAmB,GAAAhB,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAA8CG,OAAOI,MAAA,YAAkBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,4BAAkCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA4J,gBAA2BhJ,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAA+J,iBAAAjJ,EAAA,cAA+C,GAAAd,EAAAe,GAAA,KAAAf,EAAA,eAAAG,EAAA,OAAAA,EAAA,gBAAoEG,OAAOI,MAAA,cAAoBP,EAAA,UAAeG,OAAOuK,OAAA,MAAAC,MAAA,OAAAC,KAAA,SAAAC,MAAA,UAA+DzK,OAAQhB,MAAAS,EAAA,mBAAAiL,SAAA,SAAAC,GAAwDlL,EAAAyJ,mBAAAyB,GAA2BC,WAAA,wBAAkCnL,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,0CAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAkFG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA8J,cAAAlH,MAA+BhC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,2CAAgFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,+EAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAuHG,OAAOI,MAAA,QAAcP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA8J,cAAAsB,GAAAC,YAAA,kBAA4DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,yCAA8Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,sCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8EG,OAAOI,MAAA,oBAA0BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA8J,cAAAzJ,KAA8BO,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,0CAA2Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,+CAAAZ,EAAA,QAAmEa,YAAA,SAAmBhB,EAAAe,GAAA,eAAAf,EAAAe,GAAA,uBAAAZ,EAAA,QAAiEa,YAAA,SAAmBhB,EAAAe,GAAA,gBAAAf,EAAAe,GAAA,yEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwIG,OAAOI,MAAA,cAAoBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA8J,cAAAwB,UAAmC1K,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,+CAAoFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,+EAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAuHG,OAAOI,MAAA,kBAAwBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA8J,cAAAvB,QAAA,IAAApH,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAyET,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAA,IAAArE,EAAA,8CAA0Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,0FAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAyHa,YAAA,UAAmB,GAAAhB,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAA8CG,OAAOI,MAAA,qBAA2BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAmG,SAAAoF,iBAAqC3K,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,8CAA8Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,8OAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAsRG,OAAOI,MAAA,YAAkBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAmG,SAAAqF,QAA4B5K,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,qCAAqEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,uGAAAZ,EAAA,QAA2Ha,YAAA,SAAmBhB,EAAAe,GAAA,oBAAAf,EAAAe,GAAA,gDAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAA0Ga,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,UAAgBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAmG,SAAAS,IAAAjE,MAA8B/B,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,yCAA8Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gDAAAZ,EAAA,QAAoEa,YAAA,SAAmBhB,EAAAe,GAAA,iBAAAf,EAAAe,GAAA,UAAAZ,EAAA,QAAsDa,YAAA,SAAmBhB,EAAAe,GAAA,8BAAAf,EAAAe,GAAA,WAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwFG,OAAOI,MAAA,YAAkBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAmG,SAAAS,IAAApB,QAAgC5E,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,2CAAgFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAiEG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAmG,SAAAS,IAAAhE,MAA8BhC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,0CAA8E,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAmG,SAAAS,IAAA6E,MAA8B7K,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,0CAA8E,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAmG,SAAA6D,UAA8BpJ,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wCAAuE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAmG,SAAAuF,cAAkC9K,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,4CAA2E,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,aAAmBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAmG,SAAAwF,OAAAlN,MAAiCmC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,6CAAiF,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,aAAmBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAmG,SAAAwF,OAAAC,SAAoChL,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,gDAAoF,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,wBAA8BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAmG,SAAA0F,oBAAwCjL,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,kDAAiF,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,wBAA8BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAmG,SAAA2F,uBAAAxJ,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAA8F5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,gDAAiFd,EAAAmK,GAAAnK,EAAA,iCAAAoK,GAAqD,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,OAAAS,EAAAe,GAAA,KAAAZ,EAAA,OAA+Ba,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCa,YAAA,gCAA0Cb,EAAA,KAAUa,YAAA,sBAAgChB,EAAAe,GAAA,0GAAAZ,EAAA,KAA2HG,OAAO4C,KAAA,gFAAAC,IAAA,+BAAAC,OAAA,YAA+IpD,EAAAe,GAAA,UAAAf,EAAAe,GAAA,eAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAwFG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,yBDYtla,EACA,KACA,KACA,OAIAkJ,EAAStI,QAAAC,OAAA,eACM,IAAAmK,EAAA9B,UEpBiM+B,GC4DhNvN,KAAA,WACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,UACA,UACA,wBACA,OACA,aAEAE,SARA,WASA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WAXA,WAYA,OAAAL,KAAAD,SAAA,mBAGAO,SACA4M,YADA,SACA1M,GACAR,KAAAC,OAAAU,SAAA,cAAAH,IAEAD,cAJA,SAIAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAPA,WAQAd,KAAAC,OAAAU,SAAA,oBC5EIwM,aAAYtN,OAAAmB,EAAA,EAAAnB,CACdoN,ECTQ,WAAgB,IAAAhM,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BG,OAAOG,cAAAT,EAAAZ,cAA8Be,EAAA,gBAAAA,EAAA,KAA6Ba,YAAA,SAAmBhB,EAAAe,GAAA,4CAAAZ,EAAA,MAA8Da,YAAA,eAAyBb,EAAA,MAAAH,EAAAe,GAAA,QAAAZ,EAAA,QAAqCa,YAAA,SAAmBhB,EAAAe,GAAA,YAAAf,EAAAe,GAAA,QAAAZ,EAAA,QAA+Ca,YAAA,SAAmBhB,EAAAe,GAAA,aAAAf,EAAAe,GAAA,gCAAAZ,EAAA,QAAwEa,YAAA,SAAmBhB,EAAAe,GAAA,0BAAAf,EAAAe,GAAA,KAAAZ,EAAA,MAAAH,EAAAe,GAAA,4CAAAZ,EAAA,QAAsHa,YAAA,SAAmBhB,EAAAe,GAAA,UAAAf,EAAAe,GAAA,2BAAAZ,EAAA,QAAgEa,YAAA,SAAmBhB,EAAAe,GAAA,4EAAAf,EAAAe,GAAA,KAAAZ,EAAA,WAAiHE,IAAA,UAAAC,OAAqBC,MAAAP,EAAA0C,QAAAjC,cAAAT,EAAAZ,cAAkDe,EAAA,gBAAqBG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0C,QAAAnD,OAA0BqB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,wBAAuD,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,WAAoCE,IAAA,UAAAC,OAAqBC,MAAAP,EAAAmM,QAAA1L,cAAAT,EAAAZ,cAAkDe,EAAA,gBAAqBG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAmM,QAAA5M,OAA0BqB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wBAAwDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,8CAAAf,EAAAe,GAAA,KAAAZ,EAAA,WAAiFE,IAAA,UAAAC,OAAqBC,MAAAP,EAAAoM,QAAA3L,cAAAT,EAAAZ,cAAkDe,EAAA,gBAAqBG,OAAOI,MAAA,aAAmBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAoM,QAAA7M,OAA0BqB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wBAAuD,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,WAAoCE,IAAA,OAAAC,OAAkBC,MAAAP,EAAA4C,KAAAnC,cAAAT,EAAAZ,cAA+Ce,EAAA,gBAAqBG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA4C,KAAArD,OAAuBqB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,qBAAoD,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,WAAoCE,IAAA,wBAAAC,OAAmCC,MAAAP,EAAAqM,sBAAA5L,cAAAT,EAAAZ,cAAgEe,EAAA,gBAAqBG,OAAOI,MAAA,4BAAkCP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAqM,sBAAA9M,OAAwCqB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,uCAAsE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,KAA6Ca,YAAA,SAAmBhB,EAAAe,GAAA,+HAAAZ,EAAA,QAAmJa,YAAA,SAAmBhB,EAAAe,GAAA,mBAAAf,EAAAe,GAAA,6CAAAZ,EAAA,QAA2Fa,YAAA,SAAmBhB,EAAAe,GAAA,gEAAAf,EAAAe,GAAA,6FAAAZ,EAAA,QAA0La,YAAA,SAAmBhB,EAAAe,GAAA,sCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAA8FG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDY5gG,EACA,KACA,KACA,OAIAmL,EAASvK,QAAAC,OAAA,YACM,IAAA0K,EAAAJ,UEpBoMK,GCmUnN9N,KAAA,WACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,SACA,WACA,QACA,OACA,YAEA4N,OARA,WAQA,IAAAC,EAAA1N,KACA,OAAAH,OAAA8N,KAAA3N,KAAA4N,MAAAH,QAAAI,IAAA,SAAAvC,GAAA,OAAAA,EAAAoC,EAAAE,MAAAH,OAAAnC,OAEAwC,QAXA,WAWA,IAAAC,EAAA/N,KACA,OAAAH,OAAA8N,KAAA3N,KAAAgO,OAAAF,SACAD,IAAA,SAAAI,GAAA,OACAA,EAAAF,EAAAC,OAAAF,QAAAG,GAAApG,IAAAkG,EAAAC,OAAAF,QAAAG,GAAAC,cAEA/E,aAhBA,WAiBA,OAAAvG,EAAAuG,cAEApJ,SAnBA,WAoBA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WAtBA,WAuBA,OAAAL,KAAAD,SAAA,mBAGAO,SACA6N,eADA,WAEA,IAAA9H,EAAArG,KAAAyN,OAAAW,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAe3O,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAO,cAAAX,OAAAyG,GAAAmI,QAAA,mBAEAC,gBAPA,WAQA,IAAApI,EAAArG,KAAA8N,QAAAM,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAe3O,OAAfyO,EAAAxN,OAAAyN,EAAA,IAAAzG,IAAAyG,EAAA,GAAAJ,UAAAI,EAAA,WAEAtO,KAAAO,cAAAX,OAAAyG,GAAAmI,IAAA3G,IAAA,GAAAqG,UAAA,2BAEAQ,gBAbA,SAaAC,GACA,IACAtI,EADArG,KAAAyN,OAAAmB,OAAA,SAAAN,EAAAC,GAAA,OAAAI,IAAAJ,IACAH,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAe3O,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAO,cAAA8F,EAAA,mBAEAwI,iBApBA,SAoBAF,GACA,IACAtI,EADArG,KAAA8N,QAAAc,OAAA,SAAAN,EAAAC,GAAA,OAAAI,IAAAJ,IACAH,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAe3O,OAAfyO,EAAAxN,OAAAyN,EAAA,IAAAzG,IAAAyG,EAAA,GAAAJ,UAAAI,EAAA,WAEAtO,KAAAO,cAAA8F,EAAA,qBAEAyI,YA3BA,SA2BAtO,EAAAuO,EAAAJ,GACA,IAAAtI,EAAArG,KAAAyN,OAAAW,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAAI,IAAAJ,EACA,QAAAQ,EAAAnP,OAAAyO,EAAAxN,OAAAL,EAAA8N,EAAA,KAAA1O,OAAAyO,EAAAxN,OAAAyN,EAAA,GAAA9N,IAEeZ,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAO,cAAA8F,EAAA,mBAEA2I,aApCA,SAoCAxO,EAAAuO,EAAAJ,GACA,IAAAtI,EAAArG,KAAA8N,QAAAM,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAAI,IAAAJ,EACA,SAAAQ,EACmBnP,OAAnByO,EAAAxN,OAAAL,GAAAqH,IAAAyG,EAAA,GAAAJ,UAAAI,EAAA,MACA,QAAAS,EACmBnP,OAAnByO,EAAAxN,OAAAyN,EAAA,IAAAzG,IAAArH,EAAA0N,UAAAI,EAAA,MAEmB1O,OAAnByO,EAAAxN,OAAAyN,EAAA,IAAAzG,IAAAyG,EAAA,GAAAJ,UAAA1N,KAGeZ,OAAfyO,EAAAxN,OAAAyN,EAAA,IAAAzG,IAAAyG,EAAA,GAAAJ,UAAAI,EAAA,WAEAtO,KAAAO,cAAA8F,EAAA,qBAEAD,kBAnDA,SAmDA5F,EAAAC,EAAAyF,EAAAC,GACA,IAAAE,EAAAzG,OAAAI,KAAAC,OAAAC,MAAAsF,kBAAA/E,GAAAyF,GAAArF,OAAAsF,EAAA3F,IACAR,KAAAO,cAAA8F,EAAA5F,EAAAyF,IAEA+I,oBAvDA,SAAAC,GAuDA,IAAAC,EAAAD,EAAAC,KACAnP,KAAAC,OAAAU,SAAA,eAAAwO,OAAA1O,IAAA,0BAAAyF,UAAA,WAAAC,UAAA,gBAEAiJ,sBA1DA,SAAAC,GA0DA,IAAAF,EAAAE,EAAAF,KACAnP,KAAAC,OAAAU,SAAA,eAAAwO,OAAA1O,IAAA,0BAAAyF,UAAA,aAAAC,UAAA,gBAEAmJ,cA7DA,SAAAC,GA6DA,IAAAJ,EAAAI,EAAAJ,KACAnP,KAAAC,OAAAU,SAAA,eAAAwO,OAAA1O,IAAA,0BAAAyF,UAAA,WAAAC,UAAA,UAEAqJ,gBAhEA,SAAAC,GAgEA,IAAAN,EAAAM,EAAAN,KACAnP,KAAAC,OAAAU,SAAA,eAAAwO,OAAA1O,IAAA,0BAAAyF,UAAA,aAAAC,UAAA,UAEA5F,cAnEA,SAmEAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAtEA,WAuEAd,KAAAC,OAAAU,SAAA,oBC7ZI+O,aAAY7P,OAAAmB,EAAA,EAAAnB,CACd2N,ECTQ,WAAgB,IAAAvM,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,WAAAC,OAAsBC,MAAAP,EAAA0O,SAAAjO,cAAAT,EAAAZ,cAAmDe,EAAA,gBAAAA,EAAA,KAA6Ba,YAAA,SAAmBhB,EAAAe,GAAA,kJAAAZ,EAAA,QAAsKa,YAAA,SAAmBhB,EAAAe,GAAA,gBAAAf,EAAAe,GAAA,SAAAZ,EAAA,QAAoDa,YAAA,SAAmBhB,EAAAe,GAAA,cAAAf,EAAAe,GAAA,+IAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4MG,OAAOI,MAAA,iBAAuBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,WAAiBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAA3D,MAAA/I,UAAA,IAAqDrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,mDAAyFd,EAAAmK,GAAAnK,EAAA,sBAAAoK,GAA0C,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAAyBa,YAAA,SAAmBhB,EAAAe,GAAA,4BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoEG,OAAOI,MAAA,gBAAsBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAC,YAA2ChO,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,yDAA8Fd,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,qBAA+Bb,EAAA,KAAUa,YAAA,SAAmBhB,EAAAe,GAAA,QAAAf,EAAAe,GAAA,KAAAZ,EAAA,aAA6CG,OAAOuO,eAAA7O,EAAAmO,sBAAA7L,UAAA,EAAAwM,kBAAA,EAAAC,OAAA,mBAA2G5O,EAAA,aAAkBG,OAAOe,KAAA,QAAAI,KAAA,aAAiCzB,EAAAe,GAAA,6BAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAA0Da,YAAA,SAAmBhB,EAAAe,GAAA,4FAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoIG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAK,MAAqCpO,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,mDAAwFd,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,qBAA+Bb,EAAA,KAAUa,YAAA,SAAmBhB,EAAAe,GAAA,QAAAf,EAAAe,GAAA,KAAAZ,EAAA,aAA6CG,OAAOuO,eAAA7O,EAAAuO,gBAAAjM,UAAA,EAAAwM,kBAAA,EAAAC,OAAA,mBAAqG5O,EAAA,aAAkBG,OAAOe,KAAA,QAAAI,KAAA,aAAiCzB,EAAAe,GAAA,6BAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAA0Da,YAAA,SAAmBhB,EAAAe,GAAA,yBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAiEG,OAAOI,MAAA,eAAqBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAM,UAAyCrO,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,uDAA4Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,6FAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAqIG,OAAOI,MAAA,sBAA4BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAO,WAAA/N,KAAA,GAAAC,IAAA,EAAAC,KAAA,SAA6ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,yDAA8Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,4CAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoFG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAQ,qBAAoDvO,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,kEAAuGd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyHG,OAAOI,MAAA,iCAAuCP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAS,mBAAkDxO,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,gEAAqGd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4HG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAU,2BAA0DzO,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,wEAA6Gd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAiGG,OAAOI,MAAA,2BAAiCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAW,qBAAoD1O,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,mEAAuG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,gCAAsCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAY,0BAAyD3O,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,wEAA4G,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,+BAAqCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAa,4BAA2D5O,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,yEAA8Gd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4HG,OAAOI,MAAA,gBAAsBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAc,WAA0C7O,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,wDAA6Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mBAAAZ,EAAA,QAAuCa,YAAA,SAAmBhB,EAAAe,GAAA,+BAAAf,EAAAe,GAAA,yCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAuHG,OAAOI,MAAA,2BAAiCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAe,oBAAAzN,UAAA,IAAmErB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,kEAAuGX,EAAA,aAAkBG,OAAOI,MAAA,QAAAnB,MAAA,WAAiCS,EAAAe,GAAA,gDAAAf,EAAAe,GAAA,KAAAZ,EAAA,aAAqFG,OAAOI,MAAA,QAAAnB,MAAA,WAAiCS,EAAAe,GAAA,2CAAAf,EAAAe,GAAA,KAAAZ,EAAA,aAAgFG,OAAOI,MAAA,OAAAnB,MAAA,UAA+BS,EAAAe,GAAA,uCAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAAoEa,YAAA,SAAmBhB,EAAAe,GAAA,2EAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAmHG,OAAOI,MAAA,uBAA6BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAgB,iBAAgD/O,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,+DAAmG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,+BAAqCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAiB,wBAAuDhP,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,qEAA0Gd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgHG,OAAOI,MAAA,0BAAgCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAkB,eAA8CjP,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,4DAAiGd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgGG,OAAOI,MAAA,0BAAgCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAmB,eAA8ClP,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,4DAAiGd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyHG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAoB,aAA4CnP,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,2DAA+F,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,4BAAkCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAqB,sBAAqDpP,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,oEAAwG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAsB,mBAAkDrP,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,iEAAqG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,uBAA6BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAuB,iBAAgDtP,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,+DAAmG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAwB,mBAAkDvP,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,iEAAqG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAAC,WAAAyB,mBAAkDxP,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,iEAAqG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,eAAqBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,WAAiBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAArF,MAAA/I,UAAA,IAAmDrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,iDAAuFd,EAAAmK,GAAAnK,EAAA,sBAAAoK,GAA0C,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAAyBa,YAAA,SAAmBhB,EAAAe,GAAA,4BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoEG,OAAOI,MAAA,gBAAsBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAzB,YAAyChO,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,uDAA4Fd,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,qBAA+Bb,EAAA,KAAUa,YAAA,SAAmBhB,EAAAe,GAAA,QAAAf,EAAAe,GAAA,KAAAZ,EAAA,aAA6CG,OAAOuO,eAAA7O,EAAAgO,oBAAA1L,UAAA,EAAAwM,kBAAA,EAAAC,OAAA,mBAAyG5O,EAAA,aAAkBG,OAAOe,KAAA,QAAAI,KAAA,aAAiCzB,EAAAe,GAAA,6BAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAA0Da,YAAA,SAAmBhB,EAAAe,GAAA,4FAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoIG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAArB,MAAmCpO,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,iDAAsFd,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,qBAA+Bb,EAAA,KAAUa,YAAA,SAAmBhB,EAAAe,GAAA,QAAAf,EAAAe,GAAA,KAAAZ,EAAA,aAA6CG,OAAOuO,eAAA7O,EAAAqO,cAAA/L,UAAA,EAAAwM,kBAAA,EAAAC,OAAA,mBAAmG5O,EAAA,aAAkBG,OAAOe,KAAA,QAAAI,KAAA,aAAiCzB,EAAAe,GAAA,6BAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAA0Da,YAAA,SAAmBhB,EAAAe,GAAA,yBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAiEG,OAAOI,MAAA,eAAqBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAApB,UAAuCrO,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,qDAA0Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,6FAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAqIG,OAAOI,MAAA,sBAA4BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAnB,WAAA/N,KAAA,GAAAC,IAAA,EAAAC,KAAA,SAA2ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,uDAA4Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,4CAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoFG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAlB,qBAAkDvO,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,gEAAqGd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyHG,OAAOI,MAAA,iCAAuCP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAjB,mBAAgDxO,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,8DAAmGd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4HG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAhB,2BAAwDzO,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,sEAA2Gd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAiGG,OAAOI,MAAA,2BAAiCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAf,qBAAkD1O,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,iEAAqG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,gCAAsCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAd,0BAAuD3O,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,sEAA0G,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,gCAAsCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAb,4BAAyD5O,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,uEAA4Gd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4HG,OAAOI,MAAA,gBAAsBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAZ,WAAwC7O,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,sDAA2Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mBAAAZ,EAAA,QAAuCa,YAAA,SAAmBhB,EAAAe,GAAA,+BAAAf,EAAAe,GAAA,yCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAuHG,OAAOI,MAAA,2BAAiCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAX,oBAAAzN,UAAA,IAAiErB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,gEAAqGX,EAAA,aAAkBG,OAAOI,MAAA,QAAAnB,MAAA,WAAiCS,EAAAe,GAAA,gDAAAf,EAAAe,GAAA,KAAAZ,EAAA,aAAqFG,OAAOI,MAAA,QAAAnB,MAAA,WAAiCS,EAAAe,GAAA,2CAAAf,EAAAe,GAAA,KAAAZ,EAAA,aAAgFG,OAAOI,MAAA,OAAAnB,MAAA,UAA+BS,EAAAe,GAAA,uCAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAAoEa,YAAA,SAAmBhB,EAAAe,GAAA,2EAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAmHG,OAAOI,MAAA,uBAA6BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAV,iBAA8C/O,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,6DAAiG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,+BAAqCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAT,wBAAqDhP,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,mEAAwGd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgHG,OAAOI,MAAA,0BAAgCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAR,eAA4CjP,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,0DAA+Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgGG,OAAOI,MAAA,0BAAgCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAP,eAA4ClP,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,0DAA+Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyHG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAN,aAA0CnP,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,yDAA6F,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,4BAAkCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAL,sBAAmDpP,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,kEAAsG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAJ,mBAAgDrP,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,+DAAmG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,uBAA6BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAH,iBAA8CtP,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,6DAAiG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAF,mBAAgDvP,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,+DAAmG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0O,SAAA2B,SAAAD,mBAAgDxP,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,+DAAmG,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,SAAAC,OAAoBC,MAAAP,EAAA+M,OAAAtM,cAAAT,EAAAZ,cAAiDe,EAAA,gBAAqBG,OAAOI,MAAA,aAAmBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,oBAA0BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA+M,OAAAuD,eAAArO,UAAA,IAAiDrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,kGAAAZ,EAAA,QAAsHa,YAAA,SAAmBhB,EAAAe,GAAA,sBAAAf,EAAAe,GAAA,WAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgFG,OAAOI,MAAA,aAAmBV,EAAAmK,GAAAnK,EAAA,iBAAAK,EAAAqN,GACr4mB,IAAAjP,EAAA4B,EAAA,GACAuG,EAAAvG,EAAA,GACAkQ,EAAAlQ,EAAA,GACA,OAAAF,EAAA,OAAiBkK,IAAAqD,EAAA1M,YAAA,qBAAyCb,EAAA,OAAYa,YAAA,0BAAoCb,EAAA,YAAiBa,YAAA,oBAAAV,OAAuCf,MAAAd,EAAA4M,YAAA,QAAkCzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAA+N,aAAAjN,EAAA,OAAA4M,OAAiD1N,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA4N,iBAAAF,EAAA,uBAAwD,GAAA1N,EAAAe,GAAA,KAAAZ,EAAA,YAAiCa,YAAA,eAAAV,OAAkCf,MAAAqH,EAAAyE,YAAA,OAAgCzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAA+N,aAAAjN,EAAA,MAAA4M,OAAgD1N,EAAAe,GAAA,KAAAZ,EAAA,YAA6Ba,YAAA,eAAAV,OAAkCf,MAAAgR,EAAAlF,YAAA,aAA2CzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAA+N,aAAAjN,EAAA,WAAA4M,QAAqD,KAAM1N,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA1B,EAAAwN,oBAA6B,OAAAxN,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,QAAAC,OAAmBC,MAAAP,EAAA2M,MAAAlM,cAAAT,EAAAZ,cAAgDe,EAAA,gBAAqBG,OAAOI,MAAA,YAAkBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,6BAAmCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2M,MAAA+D,oBAAApO,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAwF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+DX,EAAA,aAAkBG,OAAOI,MAAA,yBAAAnB,MAAA,6BAAmE,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAA0Ba,YAAA,SAAmBhB,EAAAe,GAAA,oCAAAZ,EAAA,QAAwDa,YAAA,SAAmBhB,EAAAe,GAAA,OAAAf,EAAAe,GAAA,qCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2FG,OAAOI,MAAA,qBAA2BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2M,MAAAgE,oBAAArO,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAwF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,kDAAAZ,EAAA,QAAsEa,YAAA,SAAmBhB,EAAAe,GAAA,eAAAf,EAAAe,GAAA,kCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgGG,OAAOI,MAAA,WAAiBV,EAAAmK,GAAAnK,EAAA,gBAAAK,EAAAqN,GACloE,IAAArD,EAAAhK,EAAA,GACAd,EAAAc,EAAA,GACA,OAAAF,EAAA,OAAiBkK,IAAAqD,EAAA1M,YAAA,kBAAsCb,EAAA,YAAiBa,YAAA,aAAAV,OAAgCf,MAAA8K,EAAAgB,YAAA,OAAgCzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAA6N,YAAA/M,EAAA,MAAA4M,OAA+C1N,EAAAe,GAAA,gBAAAZ,EAAA,aAAyCa,YAAA,cAAAV,OAAiCf,QAAA+C,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAA8D5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAA6N,YAAA/M,EAAA,QAAA4M,OAAiD1N,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAAyN,gBAAAC,QAAoC,KAAM1N,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA1B,EAAAkN,mBAA4B,GAAAlN,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,+BAAqCP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA2M,MAAAiE,kBAAmChQ,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,gCAAgEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,6KAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ma,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,OAAAC,OAAkBC,MAAAP,EAAA6Q,KAAApQ,cAAAT,EAAAZ,cAA+Ce,EAAA,gBAAqBG,OAAOI,MAAA,kBAAwBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA6Q,KAAAnO,SAAyB9B,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,uBAAsD,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,SAAAC,OAAoBC,MAAAP,EAAA8Q,OAAArQ,cAAAT,EAAAZ,cAAiDe,EAAA,gBAAqBG,OAAOI,MAAA,sBAA4BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA8Q,OAAAC,qBAAuCnQ,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,qCAAoE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,oBAA0BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA8Q,OAAAE,gBAAkCpQ,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,gCAA+D,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,kBAAwBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA8Q,OAAAG,cAAgCrQ,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,8BAA6D,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,iBAAuBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA8Q,OAAAI,aAA+BtQ,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,6BAA4D,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,kBAAwBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA8Q,OAAAK,iBAAA7O,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAsF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,6BAA6DX,EAAA,aAAkBG,OAAOI,MAAA,oCAAAnB,MAAA,uCAAyFS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOI,MAAA,gCAAAnB,MAAA,oCAAiF,OAAAS,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAyDG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDKjlG,EACA,KACA,KACA,OAIA0N,EAAS9M,QAAAC,OAAA,eACM,IAAAwP,EAAA3C,UEpBkM4C,GC4BjN5S,KAAA,SACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,YAEAE,SAJA,WAKA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WAPA,WAQA,OAAAL,KAAAD,SAAA,mBAGAO,SACAC,cADA,SACAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAJA,WAKAd,KAAAC,OAAAU,SAAA,oBCrCI4R,aAAY1S,OAAAmB,EAAA,EAAAnB,CACdyS,ECTQ,WAAgB,IAAArR,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBE,IAAA,SAAAC,OAAoBC,MAAAP,EAAAuR,OAAA9Q,cAAAT,EAAAZ,cAAiDe,EAAA,gBAAqBG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAuR,OAAA7O,SAA2B9B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,wBAAwDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,sCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8EG,OAAOI,MAAA,gBAAsBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAuR,OAAAnG,GAAAC,YAAA,kBAAqDzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,mBAAmDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,sCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8EG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAuR,OAAA3O,MAAwBhC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,qBAAqDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAiEG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAuR,OAAAC,SAA2B5Q,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wBAAwDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,8DAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAsHG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,yBDYh5C,EACA,KACA,KACA,OAIAuQ,EAAS3P,QAAAC,OAAA,aACM,IAAA6P,EAAAH,UEpBgMI,GCsI/MjT,KAAA,OACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,sBACA,iBACA,kBACA,iBACA,kBACA,eACA,OACA,eACA,qBAEAE,SAZA,WAaA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WAfA,WAgBA,OAAAL,KAAAD,SAAA,mBAGAO,SACA8F,kBADA,SACA5F,EAAAC,EAAAyF,EAAAC,GACA,IAAAE,EAAAzG,OAAAI,KAAAC,OAAAC,MAAAsF,kBAAA/E,GAAAyF,GAAArF,OAAAsF,EAAA3F,IACAR,KAAAO,cAAA8F,EAAA5F,EAAAyF,IAEA3F,cALA,SAKAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SARA,WASAd,KAAAC,OAAAU,SAAA,oBC3JIiS,aAAY/S,OAAAmB,EAAA,EAAAnB,CACd8S,ECTQ,WAAgB,IAAA1R,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,OAAAC,OAAkBC,MAAAP,EAAAuJ,KAAA9I,cAAAT,EAAAZ,cAA+Ce,EAAA,gBAAqBG,OAAOI,MAAA,oBAA0BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,eAAqBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAuJ,KAAAqI,WAA2BhR,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,yBAAwD,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,qBAA2BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAuJ,KAAAsI,iBAAiCjR,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+BAA8D,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,cAAoBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,cAAoBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAuJ,KAAAqC,QAAAkG,aAAAxP,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAwF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,iCAAsEX,EAAA,aAAkBG,OAAOf,MAAA,YAAkBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,gBAAsBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,iBAAsB,WAAAS,EAAAe,GAAA,KAAAZ,EAAA,OAAoCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,iBAAAC,OAA4BC,MAAAP,EAAA+R,eAAAtR,cAAAT,EAAAZ,cAAyDe,EAAA,gBAAqBG,OAAOI,MAAA,uBAA6BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,oBAA0BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA+R,eAAAxS,MAAA,MAAA4B,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAyET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAA,MAAAwB,EAAA,wBAA+D,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,WAAoCE,IAAA,kBAAAC,OAA6BC,MAAAP,EAAAgS,gBAAAvR,cAAAT,EAAAZ,cAA0De,EAAA,gBAAqBG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAgS,gBAAAzS,UAAA+C,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAwF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,uBAAuDX,EAAA,aAAkBG,OAAOf,MAAA,UAAgBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,SAAeS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,YAAkBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,SAAeS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,WAAiBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,cAAmB,WAAAS,EAAAe,GAAA,KAAAZ,EAAA,WAAwCE,IAAA,iBAAAC,OAA4BC,MAAAP,EAAAiS,eAAAxR,cAAAT,EAAAZ,cAAyDe,EAAA,gBAAqBG,OAAOI,MAAA,YAAkBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiS,eAAA1S,UAAA+C,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAuF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,sBAAsDX,EAAA,aAAkBG,OAAOf,MAAA,UAAgBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,uBAA6BS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,uBAA6BS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,2BAAiCS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,kBAAwBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,sBAA2B,WAAAS,EAAAe,GAAA,KAAAZ,EAAA,WAAwCE,IAAA,sBAAAC,OAAiCC,MAAAP,EAAAkS,oBAAAzR,cAAAT,EAAAZ,cAA8De,EAAA,gBAAqBG,OAAOI,MAAA,iBAAuBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAkS,oBAAA3S,OAAsCqB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,4BAA2D,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,WAAoCE,IAAA,kBAAAC,OAA6BC,MAAAP,EAAAmS,gBAAA1R,cAAAT,EAAAZ,cAA0De,EAAA,gBAAqBG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAmS,gBAAA5S,UAAA+C,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAwF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,uBAAuDX,EAAA,aAAkBG,OAAOf,MAAA,mBAAyBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,kBAAwBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,sBAA2B,WAAAS,EAAAe,GAAA,KAAAZ,EAAA,OAAoCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,eAAAC,OAA0BC,MAAAP,EAAAoS,aAAA3R,cAAAT,EAAAZ,cAAuDe,EAAA,gBAAqBG,OAAOI,MAAA,oBAA0BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,qBAA2BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAoS,aAAA1P,SAAiC9B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwGG,OAAOI,MAAA,SAAeP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAoS,aAAAC,KAA6BzR,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,2BAA2Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mCAAAZ,EAAA,QAAuDa,YAAA,SAAmBhB,EAAAe,GAAA,4CAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoFG,OAAOI,MAAA,wBAA8BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAoS,aAAAE,YAAA,MAAAnR,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA6ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAA,MAAAwB,EAAA,mCAA2Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,4BAAAZ,EAAA,QAAgDa,YAAA,SAAmBhB,EAAAe,GAAA,+BAAAf,EAAAe,GAAA,yBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAuGG,OAAOI,MAAA,uBAA6BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAoS,aAAAG,WAAA,MAAApR,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA4ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAA,MAAAwB,EAAA,kCAA0Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,4BAAAZ,EAAA,QAAgDa,YAAA,SAAmBhB,EAAAe,GAAA,eAAAf,EAAAe,GAAA,yBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAuFG,OAAOI,MAAA,qBAA2BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAoS,aAAAI,gBAAAvQ,UAAA,IAAwDrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,uCAAuEX,EAAA,aAAkBG,OAAOI,MAAA,cAAAnB,MAAA,iBAA6CS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOI,MAAA,cAAAnB,MAAA,kBAA6C,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAA0Ba,YAAA,SAAmBhB,EAAAe,GAAA,oCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4EG,OAAOI,MAAA,gBAAsBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAoS,aAAAK,YAAoC7R,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,kCAAkEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,8BAAAZ,EAAA,QAAkDa,YAAA,SAAmBhB,EAAAe,GAAA,gBAAAf,EAAAe,GAAA,SAAAZ,EAAA,QAAoDa,YAAA,SAAmBhB,EAAAe,GAAA,eAAAf,EAAAe,GAAA,kCAAAf,EAAAe,GAAA,KAAAZ,EAAA,WAA2FE,IAAA,eAAAC,OAA0BC,MAAAP,EAAA0S,aAAAjS,cAAAT,EAAAZ,cAAuDe,EAAA,OAAYa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,oBAA0BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,iBAAuBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,qBAA2BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA0S,aAAAC,WAAArK,gBAAAnH,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAoFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,oDAAyFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,2BAAAZ,EAAA,QAA+Ca,YAAA,SAAmBhB,EAAAe,GAAA,qBAAAf,EAAAe,GAAA,mFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAuJG,OAAOI,MAAA,iBAAuBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA0S,aAAAC,WAAApK,QAAA,IAAApH,KAAA,GAAAC,IAAA,EAAAC,KAAA,SAAoFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAA,IAAArE,EAAA,4CAAwFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyEG,OAAOI,MAAA,YAAkBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,qBAA2BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA0S,aAAAE,MAAAtK,gBAAAnH,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA+ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,gDAAoF,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,iBAAuBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA0S,aAAAE,MAAArK,QAAA,IAAApH,KAAA,GAAAC,IAAA,EAAAC,KAAA,SAA+ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAA,IAAArE,EAAA,uCAAmFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,qCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA6EG,OAAOI,MAAA,aAAmBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,qBAA2BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA0S,aAAAG,OAAAvK,gBAAAnH,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAgFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,iDAAqF,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,iBAAuBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA0S,aAAAG,OAAAtK,QAAA,IAAApH,KAAA,GAAAC,IAAA,EAAAC,KAAA,SAAgFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAA,IAAArE,EAAA,wCAAoFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,uDAAAZ,EAAA,QAA2Ea,YAAA,SAAmBhB,EAAAe,GAAA,wBAAAf,EAAAe,GAAA,WAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAkGG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDY10S,EACA,KACA,KACA,OAIA4Q,EAAShQ,QAAAC,OAAA,WACM,IAAAkR,EAAAnB,UEpBoMoB,GCuVnNtU,KAAA,WACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,aACA,oBACA,WACA,cACA,oBACA,cACA,gBAEAoJ,6BAVA,WAWA,OAAArG,EAAAqG,8BAEAJ,kCAbA,WAcA,OAAAjG,EAAAiG,mCAEA9I,SAhBA,WAiBA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WAnBA,WAoBA,OAAAL,KAAAD,SAAA,iBAEAiJ,4BAtBA,WAuBA,OAAApG,EAAAoG,6BAEAgB,2BAzBA,WA0BA,OAAApH,EAAAoH,4BAEAiK,cA5BA,WA6BA,uBAAAjU,KAAAkU,SAAAC,gBAAAnU,KAAAkU,SAAAC,gBAAAnU,KAAAkU,SAAAC,gBAEAC,0BA/BA,WAgCA,OAAApU,KAAAiU,cAAAjU,KAAAiU,cAAArF,OAAA,SAAAyF,GAAA,OAAAzR,EAAAkG,qBAAAwL,KAAA,SAAAhG,GAAA,OAAAA,EAAA9N,QAAA6T,UAEAvL,qBAlCA,WAmCA,OAAAlG,EAAAkG,sBAEAI,kBArCA,WAsCA,OAAAtG,EAAAsG,qBAGA5I,SACAiU,qBADA,SACA/T,GAEA,OADAoC,EAAAkG,qBAAAwL,KAAA,SAAAhG,GAAA,OAAAA,EAAA9N,YACAuI,MAEA3C,kBALA,SAKA5F,EAAAC,EAAAyF,EAAAC,GACA,IAAAE,EAAAzG,OAAAI,KAAAC,OAAAC,MAAAsF,kBAAA/E,GAAAyF,GAAArF,OAAAsF,EAAA3F,IACAR,KAAAO,cAAA8F,EAAA5F,EAAAyF,IAEA3F,cATA,SASAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAZA,WAaAd,KAAAC,OAAAU,SAAA,oBCtYI6T,aAAY3U,OAAAmB,EAAA,EAAAnB,CACdmU,ECTQ,WAAgB,IAAA/S,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,WAAAC,OAAsBC,MAAAP,EAAAiT,SAAAxS,cAAAT,EAAAZ,cAAmDe,EAAA,gBAAqBG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiT,SAAAxU,MAA0BmC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,uBAAuDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,6BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAqEG,OAAOI,MAAA,WAAiBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiT,SAAAO,OAA2B5S,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wBAAwDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgHG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiT,SAAAQ,cAAkC7S,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,sCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8EG,OAAOI,MAAA,iBAAuBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiT,SAAAS,aAAiC9S,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,8BAA8Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,4DAAAZ,EAAA,QAAgFa,YAAA,SAAmBhB,EAAAe,GAAA,4BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoEG,OAAOI,MAAA,WAAiBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAU,MAAAxS,KAAA,IAAAC,IAAA,EAAAC,KAAA,SAA8DT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,wBAAwDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4GG,OAAOI,MAAA,kBAAwBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAW,aAAAzS,KAAA,IAAAC,IAAA,EAAAC,KAAA,SAAqET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgHG,OAAOI,MAAA,uBAA6BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAY,aAAA,QAAA1S,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA4ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAA,QAAAwB,EAAA,+BAAyEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,4EAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoHG,OAAOI,MAAA,8BAAoCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAa,oBAAA,QAAA3S,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAmFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAA,QAAAwB,EAAA,sCAAgFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2FG,OAAOI,MAAA,kCAAwCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAc,wBAAA,QAAA5S,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAuFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAA,QAAAwB,EAAA,0CAAoFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,uDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA+FG,OAAOI,MAAA,8BAAoCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAe,oBAAA,QAAA7S,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAmFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAA,QAAAwB,EAAA,sCAAgFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2FG,OAAOI,MAAA,qBAA2BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAgB,gBAAA9S,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAqET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,kCAAkEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2FG,OAAOI,MAAA,sBAA4BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAiB,iBAAA/S,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAsET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,mCAAmEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2FG,OAAOI,MAAA,kBAAwBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,iBAAuBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAkB,YAAAC,YAAAjT,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA6ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,4CAAiFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2EG,OAAOI,MAAA,+BAAqCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAkB,YAAAE,iBAAAlT,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAkFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,iDAAsFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyFG,OAAOI,MAAA,+BAAqCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAkB,YAAAG,eAAAnT,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAgFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,+CAAoFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyEG,OAAOI,MAAA,2BAAiCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAkB,YAAAI,eAAA,MAAApT,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAwFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAA,MAAArE,EAAA,+CAA4Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyEG,OAAOI,MAAA,wBAA8BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAuB,oBAAwC5T,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,qCAAqEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwHG,OAAOI,MAAA,qBAA2BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAwB,iBAAqC7T,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,kCAAkEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mDAAAZ,EAAA,QAAuEa,YAAA,SAAmBhB,EAAAe,GAAA,gCAAAf,EAAAe,GAAA,WAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA0FG,OAAOI,MAAA,iCAAuCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAyB,6BAAiD9T,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,8CAA8Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iEAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAgGa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,gBAAsBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAA0B,YAAgC/T,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,6BAA6Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwFG,OAAOI,MAAA,4BAAkCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAA2B,sCAAAzT,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA2FT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,wDAAwFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,4MAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoPG,OAAOI,MAAA,+BAAqCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAA4B,qCAAA1T,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA0FT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,uDAAuFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,kHAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA0JG,OAAOI,MAAA,kCAAwCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAA6B,iCAAAxS,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAwG5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,8CAA+Ed,EAAAmK,GAAAnK,EAAA,2CAAAoK,GAA+D,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,OAAAS,EAAAe,GAAA,KAAAZ,EAAA,gBAAwCG,OAAOI,MAAA,iBAAuBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAA8B,aAAiCnU,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,8BAA8Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4HG,OAAOI,MAAA,oBAA0BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAgT,kBAAA1Q,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAgF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,gCAAiEd,EAAAmK,GAAAnK,EAAA,8BAAAoK,GAAkD,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,GAAAS,EAAAe,GAAA,KAAAf,EAAAmK,GAAAnK,EAAA,mCAAAoK,GAAuE,OAAAjK,EAAA,KAAekK,IAAAD,EAAApJ,YAAA,SAA4BhB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAsT,qBAAAlJ,UAAmD,GAAApK,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,YAAkBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAgC,QAA4BrU,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,yBAAyDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yJAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAiMG,OAAOI,MAAA,2BAAiCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAiC,0BAAA5S,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAiG5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,uCAAwEd,EAAAmK,GAAAnK,EAAA,qCAAAoK,GAAyD,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAAyBa,YAAA,SAAmBhB,EAAAe,GAAA,uGAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAsIa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,oBAA0BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAkC,gBAAoCvU,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,iCAAiEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,2EAAAZ,EAAA,QAA+Fa,YAAA,SAAmBhB,EAAAe,GAAA,8BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAsEG,OAAOI,MAAA,sBAA4BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiT,SAAAmC,YAAgCxU,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,8BAA6D,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,0BAAgCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAoC,yBAAA/S,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAgG5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,uCAAuEX,EAAA,aAAkBG,OAAOI,MAAA,aAAAnB,MAAA,gBAA2CS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOI,MAAA,YAAAnB,MAAA,eAAyCS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOI,MAAA,gBAAAnB,MAAA,mBAAiDS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOI,MAAA,cAAAnB,MAAA,kBAA6C,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAA0Ba,YAAA,SAAmBhB,EAAAe,GAAA,gFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwHG,OAAOI,MAAA,sBAA4BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAqC,kBAAsC1U,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,mCAAmEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,0FAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAkIG,OAAOI,MAAA,iCAAuCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAsC,gCAAAjT,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAuG5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+CAA8E,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,gBAAsBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAuC,YAAgC5U,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,6BAA6Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mBAAAZ,EAAA,QAAuCa,YAAA,SAAmBhB,EAAAe,GAAA,+BAAAf,EAAAe,GAAA,yCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAuHG,OAAOI,MAAA,2BAAiCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAwC,sBAAAxT,UAAA,IAA0DrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,wCAAwEX,EAAA,aAAkBG,OAAOI,MAAA,QAAAnB,MAAA,WAAiCS,EAAAe,GAAA,gDAAAf,EAAAe,GAAA,KAAAZ,EAAA,aAAqFG,OAAOI,MAAA,QAAAnB,MAAA,WAAiCS,EAAAe,GAAA,2CAAAf,EAAAe,GAAA,KAAAZ,EAAA,aAAgFG,OAAOI,MAAA,OAAAnB,MAAA,UAA+BS,EAAAe,GAAA,uCAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAAoEa,YAAA,SAAmBhB,EAAAe,GAAA,2EAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAmHG,OAAOI,MAAA,+BAAqCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAyC,2BAA+C9U,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,4CAA4Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgHG,OAAOI,MAAA,8BAAoCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAA0C,0BAA8C/U,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,2CAA2Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,WAAAZ,EAAA,QAA+Ba,YAAA,SAAmBhB,EAAAe,GAAA,UAAAf,EAAAe,GAAA,kJAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2MG,OAAOI,MAAA,yBAA+BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAA2C,oBAAAzU,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAyET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,sCAAsEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,6EAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAqHG,OAAOI,MAAA,4BAAkCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAA4C,2BAAAvT,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAkG5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,wCAAyEd,EAAAmK,GAAAnK,EAAA,sCAAAoK,GAA0D,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAAyBa,YAAA,SAAmBhB,EAAAe,GAAA,2FAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAmIG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAA6C,qBAAyClV,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,sCAAsEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,sFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8HG,OAAOI,MAAA,qBAA2BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiT,SAAA8C,iBAAqCnV,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,kCAAkEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,qFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA6HG,OAAOI,MAAA,2BAAiCP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiT,SAAA+C,uBAA2CpV,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wCAAwEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,uEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA+GG,OAAOI,MAAA,6BAAmCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAgD,wBAAA9U,KAAA,IAAAC,IAAA,EAAAC,KAAA,SAA+ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,0CAA0Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwFG,OAAOI,MAAA,sBAA4BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAiD,kBAAsCtV,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,mCAAmEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gMAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwOG,OAAOI,MAAA,iBAAuBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAkD,aAAiCvV,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,8BAA8Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iDAAAZ,EAAA,QAAqEa,YAAA,SAAmBhB,EAAAe,GAAA,oCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4EG,OAAOI,MAAA,gCAAsCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAmD,2BAAAjV,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAgFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,6CAA6Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,sFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8HG,OAAOI,MAAA,6BAAmCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAoD,yBAA6CzV,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,0CAA0Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAiFG,OAAOI,MAAA,4BAAkCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAqD,uBAAArU,UAAA,IAA2DrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,yCAAyEX,EAAA,aAAkBG,OAAOI,MAAA,kBAAAnB,MAAA,sBAAsDS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOI,MAAA,MAAAnB,MAAA,UAA8BS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOI,MAAA,QAAAnB,MAAA,YAAiC,OAAAS,EAAAe,GAAA,KAAAZ,EAAA,gBAAyCG,OAAOI,MAAA,2BAAiCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAAsD,uBAA2C3V,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,wCAAwEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iGAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyIG,OAAOI,MAAA,wBAA8BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAuD,mBAAArV,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAwET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,qCAAqEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,8EAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAsHG,OAAOI,MAAA,+BAAqCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAwD,0BAAAtV,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA+ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,4CAA4Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,sFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8HG,OAAOI,MAAA,+BAAqCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAAyD,0BAAAvV,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA+ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,4CAA4Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,6DAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAqGG,OAAOI,MAAA,gCAAsCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiT,SAAA0D,2BAAAxV,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAgFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,6CAA6Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,8DAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAsGG,OAAOI,MAAA,mCAAyCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiT,SAAA2D,+BAAmDhW,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,gDAAgFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,uFAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAsHa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,aAAAC,OAAwBC,MAAAP,EAAA6W,WAAApW,cAAAT,EAAAZ,cAAqDe,EAAA,gBAAqBG,OAAOI,MAAA,iBAAuBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA6W,WAAAC,kBAAAxU,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAA2F5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,kCAAmEd,EAAAmK,GAAAnK,EAAA,2BAAAoK,GAA+C,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAAyBa,YAAA,SAAmBhB,EAAAe,GAAA,2EAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAA0Ga,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,aAAAC,OAAwBC,MAAAP,EAAA+W,WAAAtW,cAAAT,EAAAZ,cAAqDe,EAAA,gBAAqBG,OAAOI,MAAA,iBAAuBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA+W,WAAAxX,OAA6BqB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,2BAA2Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,+HAAAZ,EAAA,QAAmJa,YAAA,SAAmBhB,EAAAe,GAAA,iBAAAf,EAAAe,GAAA,yBAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAgFa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,oBAAAC,OAA+BC,MAAAP,EAAAgX,kBAAAvW,cAAAT,EAAAZ,cAA4De,EAAA,gBAAqBG,OAAOI,MAAA,yBAA+BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,sBAA4BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAgX,kBAAAC,iBAAA9V,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA+ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,oDAAoFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,sGAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8IG,OAAOI,MAAA,sBAA4BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAgX,kBAAAE,iBAAA/V,KAAA,GAAAC,IAAA,EAAAC,KAAA,SAAgFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,oDAAoFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gGAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwIG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAgX,kBAAAtU,SAAsC9B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,2CAA2Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mFAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAkHa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,oBAAAC,OAA+BC,MAAAP,EAAAmX,kBAAA1W,cAAAT,EAAAZ,cAA4De,EAAA,gBAAqBG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAmX,kBAAAzU,SAAsC9B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,qCAAqEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAiIG,OAAOI,MAAA,WAAiBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAmX,kBAAAC,MAAAjW,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAoET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,mCAAmEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,0CAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAyEa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,cAAAC,OAAyBC,MAAAP,EAAAqX,YAAA5W,cAAAT,EAAAZ,cAAsDe,EAAA,gBAAqBG,OAAOI,MAAA,kBAAwBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAqX,YAAA3U,SAAgC9B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,8BAA6D,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,wBAA8BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAqX,YAAAC,oBAA2C1W,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,yCAAwE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,aAAmBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAqX,YAAA9O,QAAApH,KAAA,IAAAC,IAAA,EAAAC,KAAA,SAAmET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,8BAA6D,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,WAAiBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAqX,YAAA1D,MAAAxS,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA8DT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,4BAA2D,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,SAAeP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAqX,YAAAE,KAA4B3W,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,0BAAyD,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,cAAAC,OAAyBC,MAAAP,EAAAwX,YAAA/W,cAAAT,EAAAZ,cAAsDe,EAAA,gBAAqBG,OAAOI,MAAA,0BAAgCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAwX,YAAAC,yBAAAnV,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAmG5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,0CAA2Ed,EAAAmK,GAAAnK,EAAA,oCAAAoK,GAAwD,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBf,MAAA6K,EAAA7K,WAAsB,OAAAS,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAwDG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDYxr2B,EACA,KACA,KACA,OAIAwS,EAAS5R,QAAAC,OAAA,eACM,IAAA8V,EAAAnE,UEpBoMoE,GCwDnNlZ,KAAA,WACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,SACA,gBAEAE,SALA,WAMA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WARA,WASA,OAAAL,KAAAD,SAAA,mBAGAO,SACAC,cADA,SACAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAJA,WAKAd,KAAAC,OAAAU,SAAA,oBClEIkY,aAAYhZ,OAAAmB,EAAA,EAAAnB,CACd+Y,ECTQ,WAAgB,IAAA3X,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,SAAAC,OAAoBC,MAAAP,EAAA6X,OAAApX,cAAAT,EAAAZ,cAAiDe,EAAA,gBAAqBG,OAAOI,MAAA,iBAAuBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,yBAA+BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA6X,OAAAC,mBAAA3W,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAsET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,oCAAmE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,yBAA+BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA6X,OAAAE,mBAAA5W,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAsET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,oCAAmE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,kBAAwBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA6X,OAAAG,OAAA7W,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA0DT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,wBAAuD,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,oBAA0BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA6X,OAAAI,eAAA9W,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAkET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,gCAA+D,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,4BAAkCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA6X,OAAAK,SAAA/W,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA4DT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,0BAAyD,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,0BAAgCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA6X,OAAAM,qBAAAhX,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAwET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,sCAAqE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,gBAAsBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA6X,OAAAjJ,WAAAzN,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA8DT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,4BAA2D,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,aAAAC,OAAwBC,MAAAP,EAAAoY,WAAA3X,cAAAT,EAAAZ,cAAqDe,EAAA,gBAAqBG,OAAOI,MAAA,kBAAwBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAoY,WAAA1V,SAA+B9B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,kDAAkFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwGG,OAAOI,MAAA,cAAoBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAoY,WAAAC,SAAAlX,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAgET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,mDAAmFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,kFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA0HG,OAAOI,MAAA,yBAA+BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAoY,WAAAE,gBAAAnX,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAuET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,0DAA0Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgFG,OAAOI,MAAA,iBAAuBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAoY,WAAAG,YAAApX,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAmET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,sDAAsFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAyHG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDYrzH,EACA,KACA,KACA,OAIA6W,EAASjW,QAAAC,OAAA,eACM,IAAA4W,EAAAZ,UEpBkMa,GCkLjNha,KAAA,SACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,gBACA,cACA,QACA,iBACA,OACA,gBAEA8Z,oBATA,WAUA,OAAA3Z,KAAA4Z,eAAApZ,MAAAR,KAAA4Z,eAAApZ,MAAAqN,IAAA,SAAAS,GAAA,OAAAzE,KAAAC,UAAAwE,SAEA1E,sBAZA,WAaA,OAAAhH,EAAAgH,uBAEA7J,SAfA,WAgBA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WAlBA,WAmBA,OAAAL,KAAAD,SAAA,mBAGAO,SACA8F,kBADA,SACA5F,EAAAC,EAAAoZ,EAAAnZ,GACA,IAAA2F,EAAAzG,OAAAI,KAAAC,OAAAC,MAAAsF,kBAAA/E,GAAAoZ,GAAAhZ,OAAAH,EAAAF,IACAR,KAAAO,cAAA8F,EAAA5F,EAAAoZ,IAEAC,qBALA,SAKAtZ,EAAAC,EAAAC,GACA,IAAAqZ,EAAAvZ,EAAAqN,IAAA,SAAAS,GAAA,OAAAzE,KAAAmQ,MAAA1L,KACAtO,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAqZ,MAEAxZ,cATA,SASAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAZA,WAaAd,KAAAC,OAAAU,SAAA,oBC9MIsZ,aAAYpa,OAAAmB,EAAA,EAAAnB,CACd6Z,ECTQ,WAAgB,IAAAzY,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,iBAAAC,OAA4BC,MAAAP,EAAA2Y,eAAAlY,cAAAT,EAAAZ,cAAyDe,EAAA,gBAAqBG,OAAOI,MAAA,cAAoBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA0Y,oBAAApW,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAgF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAA6Y,qBAAA/X,EAAA,uBAA+Dd,EAAAmK,GAAAnK,EAAA,+BAAAoK,EAAAsD,GAAyD,OAAAvN,EAAA,aAAuBkK,IAAAqD,EAAApN,OAAiBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAAyBa,YAAA,SAAmBb,EAAA,QAAaa,YAAA,SAAmBhB,EAAAe,GAAA,cAAAf,EAAAe,GAAA,qCAAAZ,EAAA,QAA8Ea,YAAA,SAAmBhB,EAAAe,GAAA,kCAAsCf,EAAAe,GAAA,2BAAAZ,EAAA,QAAkDa,YAAA,SAAmBhB,EAAAe,GAAA,kBAAAf,EAAAe,GAAA,8BAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAsFa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,gBAAAC,OAA2BC,MAAAP,EAAAiZ,cAAAxY,cAAAT,EAAAZ,cAAwDe,EAAA,gBAAqBG,OAAOI,MAAA,qBAA2BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,WAAiBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiZ,cAAAC,MAAAjX,UAAA,IAA+CrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,uBAAuDX,EAAA,aAAkBG,OAAOf,MAAA,SAAAmB,MAAA,yCAAgEV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,QAAAmB,MAAA,yCAA+DV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,QAAAmB,MAAA,0BAAgDV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,SAAAmB,MAAA,0BAAgD,GAAAV,EAAAe,GAAA,KAAAZ,EAAA,KAA0Ba,YAAA,SAAmBhB,EAAAe,GAAA,kGAAAZ,EAAA,QAAsHa,YAAA,SAAmBhB,EAAAe,GAAA,YAAAf,EAAAe,GAAA,2BAAAZ,EAAA,QAAkEa,YAAA,SAAmBhB,EAAAe,GAAA,aAAAf,EAAAe,GAAA,6BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyFG,OAAOI,MAAA,YAAkBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiZ,cAAAE,QAAiCvY,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wBAAwDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyFG,OAAOI,MAAA,cAAoBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiZ,cAAAG,aAAA9W,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAyF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,0BAA0DX,EAAA,aAAkBG,OAAOf,MAAA,UAAgBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,iBAAuBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,WAAiBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,cAAoBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,kBAAwBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,eAAqBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,WAAiBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,UAAgBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,mBAAyBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,mBAAyBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,sBAA4BS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,YAAiB,OAAAS,EAAAe,GAAA,KAAAZ,EAAA,gBAAyCG,OAAOI,MAAA,YAAkBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiZ,cAAA9Z,QAAiCyB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wBAAwDd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,qDAAAZ,EAAA,QAAyEa,YAAA,SAAmBhB,EAAAe,GAAA,WAAAf,EAAAe,GAAA,2DAAAZ,EAAA,QAAiGa,YAAA,SAAmBhB,EAAAe,GAAA,2BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAmEG,OAAOI,MAAA,gBAAsBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAiZ,cAAAI,WAAAlY,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAqET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,4BAA4Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,uLAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA+NG,OAAOI,MAAA,aAAmBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAiZ,cAAAK,OAAA5W,SAAyC9B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,mCAAuE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,mBAAyBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiZ,cAAAK,OAAAC,OAAuC3Y,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,gCAAqEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iBAAAZ,EAAA,QAAqCa,YAAA,SAAmBhB,EAAAe,GAAA,iBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyDG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiZ,cAAAK,OAAAE,MAAsC5Y,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,+BAAoEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iBAAAZ,EAAA,QAAqCa,YAAA,SAAmBhB,EAAAe,GAAA,mBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2DG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiZ,cAAAK,OAAAG,MAAsC7Y,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,+BAAoEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iBAAAZ,EAAA,QAAqCa,YAAA,SAAmBhB,EAAAe,GAAA,mBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2DG,OAAOI,MAAA,mBAAyBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAiZ,cAAAK,OAAAI,OAAuC9Y,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,gCAAqEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iBAAAZ,EAAA,QAAqCa,YAAA,SAAmBhB,EAAAe,GAAA,oBAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAmDa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,cAAAC,OAAyBC,MAAAP,EAAA2Z,YAAAlZ,cAAAT,EAAAZ,cAAsDe,EAAA,gBAAqBG,OAAOI,MAAA,kBAAwBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,WAAiBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2Z,YAAAT,MAAAjX,UAAA,IAA6CrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,4BAA4DX,EAAA,aAAkBG,OAAOf,MAAA,SAAAmB,MAAA,yCAAgEV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,QAAAmB,MAAA,yCAA+DV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,QAAAmB,MAAA,0BAAgDV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,SAAAmB,MAAA,0BAAgD,GAAAV,EAAAe,GAAA,KAAAZ,EAAA,KAA0Ba,YAAA,SAAmBhB,EAAAe,GAAA,kCAAAZ,EAAA,QAAsDa,YAAA,SAAmBhB,EAAAe,GAAA,kBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA0DG,OAAOI,MAAA,YAAkBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA2Z,YAAAR,QAA+BvY,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,6BAA6Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwFG,OAAOI,MAAA,eAAqBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA2Z,YAAAC,WAAkChZ,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,gCAAgEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iEAAAZ,EAAA,QAAqFa,YAAA,SAAmBhB,EAAAe,GAAA,4BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoEG,OAAOI,MAAA,cAAoBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2Z,YAAAP,aAAA9W,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAuF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+DX,EAAA,aAAkBG,OAAOf,MAAA,UAAgBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,iBAAuBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,WAAiBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,cAAoBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,kBAAwBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,eAAqBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,WAAiBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,UAAgBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,mBAAyBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,mBAAyBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,sBAA4BS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,YAAiB,OAAAS,EAAAe,GAAA,KAAAZ,EAAA,gBAAyCG,OAAOI,MAAA,WAAiBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA2Z,YAAAE,OAA8BjZ,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,4BAA4Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,qGAAAZ,EAAA,QAAyHa,YAAA,SAAmBhB,EAAAe,GAAA,kBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA0DG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA2Z,YAAAG,UAAiClZ,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,+CAAAZ,EAAA,QAAmEa,YAAA,SAAmBhB,EAAAe,GAAA,mBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2DG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2Z,YAAAI,WAAAzX,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAqF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,6BAA6DX,EAAA,aAAkBG,OAAOf,MAAA,UAAgBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,WAAiBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,aAAmBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,aAAmBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,cAAmB,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAA0Ba,YAAA,SAAmBhB,EAAAe,GAAA,6CAAAZ,EAAA,QAAiEa,YAAA,SAAmBhB,EAAAe,GAAA,wBAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAuDa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,aAAAC,OAAwBC,MAAAP,EAAAga,WAAAvZ,cAAAT,EAAAZ,cAAqDe,EAAA,gBAAqBG,OAAOI,MAAA,mBAAyBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,iBAAuBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAga,WAAAza,OAA6BqB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,4BAA2D,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,WAAoCE,IAAA,QAAAC,OAAmBC,MAAAP,EAAAkZ,MAAAzY,cAAAT,EAAAZ,cAAgDe,EAAA,gBAAqBG,OAAOI,MAAA,WAAiBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAkZ,MAAA3Z,MAAA0C,UAAA,IAAuCrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,qBAAqDX,EAAA,aAAkBG,OAAOf,MAAA,SAAAmB,MAAA,yCAAgEV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,QAAAmB,MAAA,yCAA+DV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,QAAAmB,MAAA,0BAAgDV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,SAAAmB,MAAA,0BAAgD,GAAAV,EAAAe,GAAA,KAAAZ,EAAA,KAA0Ba,YAAA,SAAmBhB,EAAAe,GAAA,kCAAAZ,EAAA,QAAsDa,YAAA,SAAmBhB,EAAAe,GAAA,sBAAAf,EAAAe,GAAA,KAAAZ,EAAA,WAAyDE,IAAA,OAAAC,OAAkBC,MAAAP,EAAAia,KAAAxZ,cAAAT,EAAAZ,cAA+Ce,EAAA,gBAAqBG,OAAOI,MAAA,cAAoBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAia,KAAA1a,UAAA+C,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAA6E5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,oBAAoDX,EAAA,aAAkBG,OAAOf,MAAA,UAAgBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,aAAmBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,eAAqBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,WAAiBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,kBAAwBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,WAAiBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,UAAgBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,mBAAyBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,mBAAyBS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,sBAA4BS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,YAAiB,OAAAS,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAyDG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDYj8X,EACA,KACA,KACA,OAIAiY,EAASrX,QAAAC,OAAA,aACM,IAAAsY,EAAAlB,UEpBkMmB,GCmNjN1b,KAAA,SACAwK,YACAC,OAAAC,EAAAC,GAEA1K,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,qBACA,SACA,eAEAwb,eACA9Q,IAAA,WACA,OAAAvK,KAAAiZ,OAAAqC,KAAAtb,KAAAiZ,OAAAqC,KAAA,OAEA7Q,IAAA,SAAAjK,GACAR,KAAAO,eAAAC,GAAA,kCAGAmJ,eAdA,WAeA,OAAA/G,EAAA+G,gBAEA5J,SAjBA,WAkBA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WApBA,WAqBA,OAAAL,KAAAD,SAAA,mBAGAO,SACA8F,kBADA,SACA5F,EAAAC,EAAAyF,EAAAC,GACA,IAAAE,EAAAzG,OAAAI,KAAAC,OAAAC,MAAAsF,kBAAA/E,GAAAyF,GAAArF,OAAAsF,EAAA3F,IACAR,KAAAO,cAAA8F,EAAA5F,EAAAyF,IAEAqV,cALA,SAAArM,GAKA,IAAAC,EAAAD,EAAAC,KACAnP,KAAAC,OAAAU,SAAA,eAAAwO,OAAA1O,IAAA,2BAAAyF,UAAA,UAEA3F,cARA,SAQAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAXA,WAYAd,KAAAC,OAAAU,SAAA,oBCnPI6a,aAAY3b,OAAAmB,EAAA,EAAAnB,CACdub,ECTQ,WAAgB,IAAAna,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,SAAAC,OAAoBC,MAAAP,EAAAgY,OAAAvX,cAAAT,EAAAZ,cAAiDe,EAAA,gBAAqBG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAgY,OAAAtV,SAA2B9B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,uCAAuEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgHG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAgY,OAAApM,QAAA3J,UAAA,IAA0CrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,sCAAuEd,EAAAmK,GAAAnK,EAAA,wBAAAoK,GAA4C,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,OAAAS,EAAAe,GAAA,KAAAZ,EAAA,OAA+Ba,YAAA,SAAmBhB,EAAAe,GAAA,kCAAAf,EAAAgY,OAAApM,QAAAzL,EAAA,OAAAA,EAAA,gBAA+FG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAAwC,UAA4B5Z,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wCAAwEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,UAAAZ,EAAA,QAA8Ba,YAAA,SAAmBhB,EAAAe,GAAA,8BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAuEG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAAyC,UAA4B7Z,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wCAAwEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,UAAAZ,EAAA,QAA8Ba,YAAA,SAAmBhB,EAAAe,GAAA,oCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4EG,OAAOI,MAAA,WAAiBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAgY,OAAA0C,OAAyB9Z,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,sCAAqE,OAAAd,EAAAsF,KAAAtF,EAAAe,GAAA,8BAAAf,EAAAgY,OAAApM,QAAAzL,EAAA,OAAAA,EAAA,gBAA4GG,OAAOI,MAAA,WAAiBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA2C,OAAyB/Z,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,qCAAqEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,UAAAZ,EAAA,QAA8Ba,YAAA,SAAmBhB,EAAAe,GAAA,6BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAqEG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA3Q,UAA4BzG,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,yCAAwE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA1Q,UAA4B1G,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,yCAAwE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,SAAeP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAgY,OAAAnV,KAAuBjC,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,oCAAmE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,SAAeP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAAlV,KAAuBlC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,mCAAmEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,SAAAZ,EAAA,QAA6Ba,YAAA,SAAmBhB,EAAAe,GAAA,mBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2DG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA9V,MAAwBtB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,oCAAoEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,SAAAZ,EAAA,QAA6Ba,YAAA,SAAmBhB,EAAAe,GAAA,mBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2DG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAApV,MAAwBhC,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,qCAAoE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,UAAgBP,EAAA,UAAeG,OAAOuK,OAAA,MAAAC,MAAA,OAAAC,KAAA,SAAAC,MAAA,UAA+DzK,OAAQhB,MAAAS,EAAA,cAAAiL,SAAA,SAAAC,GAAmDlL,EAAAoa,cAAAlP,GAAsBC,WAAA,oBAA6B,GAAAnL,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,aAAmBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAgY,OAAA4C,QAAAzZ,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA2DT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,wCAAuE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,mBAAyBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAgY,OAAA6C,eAAiCja,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,8CAA6E,OAAAd,EAAAsF,KAAAtF,EAAAe,GAAA,kCAAAf,EAAAgY,OAAApM,QAAAzL,EAAA,OAAAA,EAAA,gBAAgHG,OAAOI,MAAA,aAAmBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA8C,SAA2Bla,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wCAAuE,OAAAd,EAAAsF,KAAAtF,EAAAe,GAAA,kCAAAf,EAAAgY,OAAApM,QAAAzL,EAAA,OAAAA,EAAA,gBAAgHG,OAAOI,MAAA,aAAmBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA8C,SAA2Bla,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wCAAuE,OAAAd,EAAAsF,KAAAtF,EAAAe,GAAA,iCAAAf,EAAAgY,OAAApM,QAAAzL,EAAA,OAAAA,EAAA,gBAA+GG,OAAOI,MAAA,aAAmBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA8C,SAA2Bla,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wCAAuE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,YAAkBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA+C,QAA0Bna,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,uCAAsE,OAAAd,EAAAsF,KAAAtF,EAAAe,GAAA,iCAAAf,EAAAgY,OAAApM,QAAAzL,EAAA,OAAAA,EAAA,gBAA+GG,OAAOI,MAAA,aAAmBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA8C,SAA2Bla,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wCAAuE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,YAAkBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAAgD,QAA0Bpa,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,uCAAsE,OAAAd,EAAAsF,KAAAtF,EAAAe,GAAA,kCAAAf,EAAAgY,OAAApM,QAAAzL,EAAA,OAAAA,EAAA,gBAAgHG,OAAOI,MAAA,aAAmBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA8C,SAA2Bla,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wCAAuE,OAAAd,EAAAsF,KAAAtF,EAAAe,GAAA,mCAAAf,EAAAgY,OAAApM,QAAAzL,EAAA,OAAAA,EAAA,gBAAiHG,OAAOI,MAAA,aAAmBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA8C,SAA2Bla,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wCAAuE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA7R,UAA4BvF,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,yCAAwE,OAAAd,EAAAsF,KAAAtF,EAAAe,GAAA,mCAAAf,EAAAgY,OAAApM,QAAAzL,EAAA,OAAAA,EAAA,gBAAiHG,OAAOI,MAAA,YAAkBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAAiD,QAA0Bra,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,uCAAsE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,gBAAsBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAAkD,YAA8Bta,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,2CAA0E,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,YAAkBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAAgD,QAA0Bpa,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,uCAAsE,OAAAd,EAAAsF,KAAAtF,EAAAe,GAAA,6BAAAf,EAAAgY,OAAApM,QAAAzL,EAAA,OAAAA,EAAA,gBAA2GG,OAAOI,MAAA,aAAmBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA8C,SAA2Bla,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wCAAuE,OAAAd,EAAAsF,KAAAtF,EAAAe,GAAA,oCAAAf,EAAAgY,OAAApM,QAAAzL,EAAA,OAAAA,EAAA,gBAAkHG,OAAOI,MAAA,eAAqBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAAmD,WAA6Bva,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,0CAAyE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,aAAmBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAA8C,SAA2Bla,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wCAAuE,OAAAd,EAAAsF,KAAAtF,EAAAe,GAAA,+BAAAf,EAAAgY,OAAApM,QAAAzL,EAAA,OAAAA,EAAA,gBAA6GG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAgY,OAAAoD,cAAgCxa,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,6CAA4E,OAAAd,EAAAsF,MAAA,GAAAtF,EAAAe,GAAA,KAAAZ,EAAA,WAAiDE,IAAA,qBAAAC,OAAgCC,MAAAP,EAAAqb,mBAAA5a,cAAAT,EAAAZ,cAA6De,EAAA,gBAAqBG,OAAOI,MAAA,yBAA+BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,aAAmBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,YAAkBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAqb,mBAAAC,OAAAC,QAA6C3a,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,6CAAkFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2FG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAqb,mBAAAC,OAAAE,UAA+C5a,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,+CAAoFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,kCAAAZ,EAAA,KAAmDG,OAAO4C,KAAA,qCAAAC,IAAA,+BAAAC,OAAA,YAAoGpD,EAAAe,GAAA,sCAAAf,EAAAe,GAAA,kGAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2LG,OAAOI,MAAA,cAAoBP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAqb,mBAAAC,OAAAG,SAAAta,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA+ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,+CAAoFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,6DAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAqGG,OAAOI,MAAA,0BAAgCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAqb,mBAAAC,OAAAI,qBAAAva,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA2FT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,2DAAgGd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gDAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAA+Ea,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,YAAAC,OAAuBC,MAAAP,EAAA2b,UAAAlb,cAAAT,EAAAZ,cAAoDe,EAAA,gBAAqBG,OAAOI,MAAA,6BAAmCV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA2b,UAAA3M,MAA2BpO,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,uCAAuEd,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,qBAA+Bb,EAAA,KAAUa,YAAA,SAAmBhB,EAAAe,GAAA,QAAAf,EAAAe,GAAA,KAAAZ,EAAA,aAA6CG,OAAOuO,eAAA7O,EAAAsa,cAAAhY,UAAA,EAAAwM,kBAAA,EAAAC,OAAA,mBAAmG5O,EAAA,aAAkBG,OAAOe,KAAA,QAAAI,KAAA,aAAiCzB,EAAAe,GAAA,6BAAAf,EAAAe,GAAA,KAAAZ,EAAA,KAA0Da,YAAA,SAAmBhB,EAAAe,GAAA,kCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA0EG,OAAOI,MAAA,cAAoBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,gBAAsBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA2b,UAAAC,QAAAC,YAAyCjb,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,wDAA4F,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,sBAA4BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA2b,UAAAC,QAAAE,kBAA+Clb,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,8DAAkG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,8BAAoCP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA2b,UAAAC,QAAAG,0BAAuDnb,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,sEAA0G,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA2b,UAAAC,QAAAI,cAA2Cpb,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,0DAA8F,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,gBAAsBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA2b,UAAAC,QAAAK,YAAyCrb,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,wDAA4F,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,sBAA4BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA2b,UAAAC,QAAAM,kBAA+Ctb,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmF,kBAAArE,EAAA,8DAAkG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAqDG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDYz/Z,EACA,KACA,KACA,OAIAwZ,EAAS5Y,QAAAC,OAAA,aACM,IAAAua,EAAA5B,UEpBsM6B,ICiFrN3d,KAAA,aACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,gBAEAyd,mBAJA,WAKA,OAAAC,MAAAC,QAAAxd,KAAAyd,WAAAC,WAAAC,sBAAA,uBAAA3d,KAAAyd,WAAAC,WAAAC,sBAEAnT,KAPA,WAQA,OAAAxK,KAAAyd,WAAAC,WAAAlT,UAEAoT,kBAVA,WAWA,OAAA5d,KAAA6d,mBAAAD,mBAEAtU,oBAbA,WAcA,OAAA1G,EAAA0G,qBAEAwU,wBAhBA,WAiBA,OAAAP,MAAAC,QAAAxd,KAAAyd,WAAAC,WAAAC,sBAAA3d,KAAAyd,WAAAC,WAAAC,yBAEAlU,+BAnBA,WAoBA,OAAA7G,EAAA6G,gCAEA1J,SAtBA,WAuBA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WAzBA,WA0BA,OAAAL,KAAAD,SAAA,mBAGAO,SACAyd,YADA,SACAvd,GACA,IAAAiI,EAAAzI,KAAAsJ,oBAAAgL,KAAA,SAAAhG,GAAA,OAAAA,EAAA9N,YACA,OAAAiI,EAAA,oBAAAA,EAAAc,gBAAA,cAAAd,EAAAe,QAAA,IAEAwU,oBALA,SAKAxd,EAAAC,EAAAoZ,EAAAoE,EAAAvd,GACA,IAAA2F,EAAAzG,OAAAI,KAAAyd,WAAA5D,GAAAoE,GAAApd,OAAAH,EAAAF,IACAR,KAAAoG,kBAAAC,EAAA5F,EAAAoZ,EAAAoE,IAEA7X,kBATA,SASA5F,EAAAC,EAAAoZ,EAAAnZ,GACA,IAAA2F,EAAAzG,OAAAI,KAAAC,OAAAC,MAAAsF,kBAAA/E,GAAAoZ,GAAAhZ,OAAAH,EAAAF,IACAR,KAAAO,cAAA8F,EAAA5F,EAAAoZ,IAEAtZ,cAbA,SAaAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAhBA,WAiBAd,KAAAC,OAAAU,SAAA,oBCxHIud,cAAYre,OAAAmB,EAAA,EAAAnB,CACdwd,GCTQ,WAAgB,IAAApc,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBE,IAAA,aAAAC,OAAwBC,MAAAP,EAAAwc,WAAA/b,cAAAT,EAAAZ,cAAqDe,EAAA,gBAAqBG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAwc,WAAA9Z,SAA+B9B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,6BAA6Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,kEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA0GG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAwc,WAAAU,UAAgCtc,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,8BAA8Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iIAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAgKa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,oBAA0BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAwc,WAAAC,WAAAU,qBAAsDvc,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,sDAA2Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oKAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4MG,OAAOI,MAAA,0BAAgCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAwc,WAAAC,WAAAW,gBAAA,QAAAjc,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA4FT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAA,QAAArE,EAAA,kDAAiGd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,4EAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoHG,OAAOI,MAAA,2BAAiCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAwc,WAAAC,WAAAY,kBAAAlc,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAoFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,oDAAyFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2HG,OAAOI,MAAA,0BAAgCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAqc,mBAAApa,UAAA,IAA8CrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,uDAA4FX,EAAA,aAAkBG,OAAOf,OAAA,EAAAmB,MAAA,UAA6BV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,OAAA,EAAAmB,MAAA,WAA+BV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,uBAAAmB,MAAA,uCAA4EV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,gBAAAmB,MAAA,kDAA+E,GAAAV,EAAAe,GAAA,UAAAf,EAAAqc,mBAAAlc,EAAA,KAA4Da,YAAA,SAAmBhB,EAAAe,GAAA,mBAAAZ,EAAA,QAAuCa,YAAA,SAAmBhB,EAAAe,GAAA,yBAAAf,EAAAe,GAAA,2BAAAf,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAf,EAAAqc,mBAAkMrc,EAAAsF,KAAlMnF,EAAA,KAA2Ha,YAAA,SAAmBhB,EAAAe,GAAA,aAAAZ,EAAA,QAAiCa,YAAA,SAAmBhB,EAAAe,GAAA,qCAAAf,EAAAe,GAAA,qBAAAf,EAAAe,GAAA,uBAAAf,EAAAqc,mBAAAlc,EAAA,KAAoJa,YAAA,SAAmBhB,EAAAe,GAAA,2LAAAf,EAAAsF,MAAA,GAAAtF,EAAAe,GAAA,8BAAAf,EAAAqc,mBAAAlc,EAAA,gBAAoSG,OAAOI,MAAA,+BAAqCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA6c,wBAAAva,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAoF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,sDAA4Fd,EAAAmK,GAAAnK,EAAA,wCAAAoK,GAA4D,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,OAAAS,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAiDG,OAAOI,MAAA,qBAA2BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAwc,WAAAC,WAAAa,gBAAAhb,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAoG5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,8CAAmFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBb,EAAA,QAAaa,YAAA,SAAmBhB,EAAAe,GAAA,kBAAAf,EAAAe,GAAA,6BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8FG,OAAOI,MAAA,WAAiBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,qBAA2BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAuJ,KAAAgU,iBAAiC3c,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAA+c,oBAAAjc,EAAA,0DAAiG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,UAAgBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAuJ,KAAA/B,KAAAvF,UAAA,IAAqCrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAA+c,oBAAAjc,EAAA,6CAAsFd,EAAAmK,GAAAnK,EAAA,6BAAAoK,GAAiD,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAAyBa,YAAA,SAAmBhB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAA8c,YAAA9c,EAAAuJ,KAAA/B,WAAA,GAAAxH,EAAAe,GAAA,KAAAZ,EAAA,OAA6Ea,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,eAAqBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAwc,WAAAgB,cAAAlb,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAuF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,kDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAA0GG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,yBDY9yL,EACA,KACA,KACA,OAIAkc,GAAStb,QAAAC,OAAA,iBACM,IAAA6b,GAAAR,WEpBoMS,ICwDnNjf,KAAA,WACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,WACA,eAEAE,SALA,WAMA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WARA,WASA,OAAAL,KAAAD,SAAA,mBAGAO,SACAC,cADA,SACAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAJA,WAKAd,KAAAC,OAAAU,SAAA,oBClEIie,cAAY/e,OAAAmB,EAAA,EAAAnB,CACd8e,GCTQ,WAAgB,IAAA1d,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,WAAAC,OAAsBC,MAAAP,EAAAoZ,SAAA3Y,cAAAT,EAAAZ,cAAmDe,EAAA,gBAAqBG,OAAOI,MAAA,eAAqBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAoZ,SAAAwE,cAAAtb,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAqF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,wCAAwEX,EAAA,aAAkBG,OAAOf,MAAA,8CAAoDS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,gDAAsDS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,2CAAgD,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAA0Ba,YAAA,SAAmBhB,EAAAe,GAAA,iDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyFG,OAAOI,MAAA,iBAAuBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAoZ,SAAAyE,aAAiCjd,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,0CAA0Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wEAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAuGa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,YAAAC,OAAuBC,MAAAP,EAAA8d,UAAArd,cAAAT,EAAAZ,cAAoDe,EAAA,gBAAqBG,OAAOI,MAAA,iBAAuBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA8d,UAAApb,SAA8B9B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,4BAA4Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oGAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4IG,OAAOI,MAAA,kBAAwBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA8d,UAAAC,iBAAAzb,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAyF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,iCAAiEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,qEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA6GG,OAAOI,MAAA,gBAAsBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA8d,UAAAE,eAAA1b,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAuF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,0FAAAZ,EAAA,QAA8Ga,YAAA,SAAmBhB,EAAAe,GAAA,2CAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyFG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA8d,UAAAG,YAAA3b,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAoF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,4BAA4DX,EAAA,aAAkBG,OAAOf,MAAA,+CAAqDS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,uCAA6CS,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,2CAAgD,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAA0Ba,YAAA,SAAmBhB,EAAAe,GAAA,oCAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4EG,OAAOI,MAAA,iBAAuBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA8d,UAAAI,gBAAA5b,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAwF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,gCAAgEX,EAAA,aAAkBG,OAAOf,MAAA,oDAAyD,OAAAS,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAyDG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDY3jH,EACA,KACA,KACA,OAIA4c,GAAShc,QAAAC,OAAA,eACM,IAAAuc,GAAAR,WEpB+LS,ICsJ9M3f,KAAA,MACAkB,KAAA,WACA,OACA0e,wBAAA,8BACAC,wBAAA,8CAGA5f,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,gBACA,aACA,aACA,qBACA,YACA,cACA,qBACA,mBACA,mBAEA2f,WAZA,WAYA,IAAA9R,EAAA1N,KACA,OAAAH,OAAA8N,KAAA3N,KAAAyf,YAAAC,aAAA7R,IAAA,SAAAvC,GAAA,OAAAA,EAAAoC,EAAA+R,YAAAC,YAAApU,OAEAqU,gBAfA,WAgBA,OAAA/c,EAAAkG,sBAEA8W,gBAlBA,WAkBA,IAAA7R,EAAA/N,KACA,OAAAH,OAAA8N,KAAA3N,KAAA6f,WAAAC,SAAAjS,IAAA,SAAAvC,GAAA,OAAAA,EAAAyC,EAAA8R,WAAAC,QAAAxU,OAEAyU,cArBA,WAqBA,IAAAC,EAAAhgB,KACA,OAAAH,OAAA8N,KAAA3N,KAAAigB,kBAAApS,IAAA,SAAAvC,GAAA,OAAAA,EAAA0U,EAAAC,iBAAA3U,OAEAvL,SAxBA,WAyBA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WA3BA,WA4BA,OAAAL,KAAAD,SAAA,mBAGAO,SACA4f,kBADA,WAEA,IAAA7Z,EAAArG,KAAAwf,WAAApR,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAe3O,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAO,cAAAX,OAAAyG,GAAAmI,QAAA,+BAEA2R,uBAPA,WAQA,IAAA9Z,EAAArG,KAAA+f,cAAA3R,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAe3O,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAC,OAAAU,SAAA,iBAAAC,KAAAhB,OAAAyG,GAAAmI,QAAA/N,IAAA,wBAEA2f,cAbA,WAcA,IAAA/Z,EAAArG,KAAA4f,gBAAAxR,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAe3O,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAO,cAAAX,OAAAyG,GAAAmI,GAAA,+BAEA6R,qBAnBA,SAmBA1R,GACA,IACAtI,EADArG,KAAAwf,WAAA5Q,OAAA,SAAAN,EAAAC,GAAA,OAAAI,IAAAJ,IACAH,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAe3O,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAO,cAAA8F,EAAA,+BAEAia,0BA1BA,SA0BA3R,GACA,IACAtI,EADArG,KAAA+f,cAAAnR,OAAA,SAAAN,EAAAC,GAAA,OAAAI,IAAAJ,IACAH,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAe3O,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAC,OAAAU,SAAA,iBAAAC,KAAAyF,EAAA5F,IAAA,wBAEA8f,iBAjCA,SAiCA5R,GACA,IACAtI,EADArG,KAAA4f,gBAAAhR,OAAA,SAAAN,EAAAC,GAAA,OAAAI,IAAAJ,IACAH,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAe3O,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAO,cAAA8F,EAAA,0BAEAma,iBAxCA,SAwCAhgB,EAAAuO,EAAAJ,GACA,IAAAtI,EAAArG,KAAAwf,WAAApR,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAAI,IAAAJ,EACA,WAAAQ,EAAAnP,OAAAyO,EAAAxN,OAAAL,EAAA8N,EAAA,KAAA1O,OAAAyO,EAAAxN,OAAAyN,EAAA,GAAA9N,IAEeZ,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAO,cAAA8F,EAAA,+BAEAoa,sBAjDA,SAiDAjgB,EAAAuO,EAAAJ,GACA,IAAAtI,EAAArG,KAAA+f,cAAA3R,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAAI,IAAAJ,EACA,WAAAQ,EAAAnP,OAAAyO,EAAAxN,OAAAL,EAAA8N,EAAA,KAAA1O,OAAAyO,EAAAxN,OAAAyN,EAAA,GAAA9N,IAEeZ,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAC,OAAAU,SAAA,iBAAAC,KAAAyF,EAAA5F,IAAA,wBAEAigB,aA1DA,SA0DAlgB,EAAAuO,EAAAJ,GACA,IAAAtI,EAAArG,KAAA4f,gBAAAxR,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAAI,IAAAJ,EACA,QAAAQ,EAAAnP,OAAAyO,EAAAxN,OAAAL,EAAA8N,EAAA,KAAA1O,OAAAyO,EAAAxN,OAAAyN,EAAA,GAAA9N,IAEeZ,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAO,cAAA8F,EAAA,0BAEA9F,cAnEA,SAmEAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAtEA,WAuEAd,KAAAC,OAAAU,SAAA,oBC3PIggB,cAAY9gB,OAAAmB,EAAA,EAAAnB,CACdwf,GCTQ,WAAgB,IAAApe,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,YAAAC,OAAuBC,MAAAP,EAAA2f,UAAAlf,cAAAT,EAAAZ,cAAoDe,EAAA,gBAAqBG,OAAOI,MAAA,iBAAuBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,mBAAyBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2f,UAAAC,kBAAAtd,SAAA,GAAAE,eAAA,GAAAD,WAAA,IAA0F3B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,kCAAkEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyFG,OAAOI,MAAA,gBAAsBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2f,UAAAE,eAAAvd,SAAA,GAAAE,eAAA,GAAAD,WAAA,IAAuF3B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,6DAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAqGG,OAAOI,MAAA,gCAAsCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2f,UAAAG,+BAAAxd,SAAA,GAAAE,eAAA,GAAAD,WAAA,IAAuG3B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+CAA+Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,2FAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAmIG,OAAOI,MAAA,YAAkBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2f,UAAAI,WAAAzd,SAAA,GAAAE,eAAA,GAAAD,WAAA,IAAmF3B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,2BAA2Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAiGG,OAAOI,MAAA,YAAkBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2f,UAAAK,WAAA1d,SAAA,GAAAE,eAAA,GAAAD,WAAA,IAAmF3B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,2BAA2Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAiGG,OAAOI,MAAA,oBAA0BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2f,UAAAM,mBAAA3d,SAAA,GAAAE,eAAA,GAAAD,WAAA,IAA2F3B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,mCAAmEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,kDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA0FG,OAAOI,MAAA,oBAA0BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2f,UAAAO,mBAAA5d,SAAA,GAAAE,eAAA,GAAAD,WAAA,IAA2F3B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,mCAAmEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,iDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAyFG,OAAOI,MAAA,oBAA0BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA2f,UAAAQ,mBAAA7d,SAAA,GAAAE,eAAA,GAAAD,WAAA,IAA2F3B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,mCAAmEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,qDAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAoFa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,qBAAAC,OAAgCC,MAAAP,EAAAogB,mBAAA3f,cAAAT,EAAAZ,cAA6De,EAAA,gBAAqBG,OAAOI,MAAA,4BAAkCV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,gCAAsCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAogB,mBAAAC,qBAAmDzf,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,kDAAiF,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,2BAAiCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAogB,mBAAAE,cAA4C1f,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,2CAA0E,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,gBAAAC,OAA2BC,MAAAP,EAAAugB,cAAA9f,cAAAT,EAAAZ,cAAwDe,EAAA,gBAAqBG,OAAOI,MAAA,qBAA2BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,sBAA4BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAugB,cAAAC,iBAAArf,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA2ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,yCAAyEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,+OAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAuRG,OAAOI,MAAA,sBAA4BP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAAugB,cAAAE,iBAAAtf,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAA2ET,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,yCAAyEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oGAAAf,EAAAe,GAAA,KAAAZ,EAAA,WAAuIE,IAAA,aAAAC,OAAwBC,MAAAP,EAAA4e,WAAAne,cAAAT,EAAAZ,cAAqDe,EAAA,OAAYa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,kBAAwBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,YAAkBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA4e,WAAAmB,WAAAzd,SAAA,GAAAE,eAAA,GAAAD,WAAA,IAAoF3B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,4BAA4Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2GG,OAAOI,MAAA,gCAAsCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA4e,WAAAkB,2BAAAxd,SAAA,GAAAE,eAAA,GAAAD,WAAA,IAAkG3B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,gDAAgFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,4GAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoJG,OAAOI,MAAA,aAAmBV,EAAAmK,GAAAnK,EAAA,yBAAAK,EAAAqN,GACztM,IAAArD,EAAAhK,EAAA,GACAd,EAAAc,EAAA,GACA,OAAAF,EAAA,OAAiBkK,IAAAqD,EAAA1M,YAAA,kBAAsCb,EAAA,YAAiBa,YAAA,aAAAV,OAAgCf,MAAA8K,EAAAgB,YAAA,WAAoCzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAyf,aAAA3e,EAAA,MAAA4M,OAAgD1N,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,QAAA8L,YAAA,eAA0CzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAyf,aAAA3e,EAAA,QAAA4M,OAAkD1N,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAAsf,iBAAA5R,QAAqC,KAAM1N,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA1B,EAAAmf,kBAA2B,OAAAnf,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,cAAAC,OAAyBC,MAAAP,EAAAwe,YAAA/d,cAAAT,EAAAZ,cAAsDe,EAAA,gBAAqBG,OAAOI,MAAA,mBAAyBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,kBAAwBV,EAAAmK,GAAAnK,EAAA,oBAAAK,EAAAqN,GACx6B,IAAAgT,EAAArgB,EAAA,GACAsgB,EAAAtgB,EAAA,GACA,OAAAF,EAAA,OAAiBkK,IAAAqD,EAAA1M,YAAA,kBAAsCb,EAAA,YAAiBa,YAAA,aAAAV,OAAgCf,MAAAmhB,EAAArV,YAAA,sBAAkDzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAuf,iBAAAze,EAAA,SAAA4M,OAAuD1N,EAAAe,GAAA,gBAAAZ,EAAA,aAAyCa,YAAA,cAAAV,OAAiCf,MAAAohB,EAAAtV,YAAA,iBAAA/I,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAgG5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAuf,iBAAAze,EAAA,WAAA4M,MAAyD1N,EAAAmK,GAAAnK,EAAA,yBAAAoK,GAA6C,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,aAAiCG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAAof,qBAAA1R,QAAyC,KAAM1N,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA1B,EAAAif,qBAA+Bjf,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,8EAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAA6Ga,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,aAAAC,OAAwBC,MAAAP,EAAA4gB,WAAAngB,cAAAT,EAAAZ,cAAqDe,EAAA,gBAAqBG,OAAOI,MAAA,kBAAwBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,YAAkBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA4gB,WAAAC,WAAAve,SAAA,GAAAE,eAAA,GAAAD,WAAA,IAAoF3B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,4BAA4Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,uEAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAsGa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,mBAAAC,OAA8BC,MAAAP,EAAAgf,iBAAAve,cAAAT,EAAAZ,cAA2De,EAAA,gBAAqBG,OAAOI,MAAA,wBAA8BV,EAAAmK,GAAAnK,EAAA,uBAAAK,EAAAqN,GAChxD,IAAAqN,EAAA1a,EAAA,GACAygB,EAAAzgB,EAAA,GACA,OAAAF,EAAA,OAAiBkK,IAAAqD,EAAA1M,YAAA,kBAAsCb,EAAA,YAAiBa,YAAA,aAAAV,OAAgCf,MAAAwb,EAAA1P,YAAA,UAAsCzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAwf,sBAAA1e,EAAA,SAAA4M,OAA4D1N,EAAAe,GAAA,gBAAAZ,EAAA,aAAyCa,YAAA,cAAAV,OAAiCf,MAAAuhB,EAAAzV,YAAA,gBAAA/I,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAA4F5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAwf,sBAAA1e,EAAA,QAAA4M,OAA2D1N,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAAqf,0BAAA3R,QAA8C,KAAM1N,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA1B,EAAAkf,0BAAoClf,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gMAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAA+Na,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,qBAAAC,OAAgCC,MAAAP,EAAA+gB,mBAAAtgB,cAAAT,EAAAZ,cAA6De,EAAA,gBAAqBG,OAAOI,MAAA,2BAAiCV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,kBAAwBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA+gB,mBAAA5P,cAA4CvQ,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,4CAA2E,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,gBAAAC,OAA2BC,MAAAP,EAAAghB,cAAAvgB,cAAAT,EAAAZ,cAAwDe,EAAA,gBAAqBG,OAAOI,MAAA,qBAA2BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,YAAkBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAghB,cAAAhB,WAAA1d,SAAA,GAAAE,eAAA,GAAAD,WAAA,IAAuF3B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oGAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4IG,OAAOI,MAAA,YAAkBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAghB,cAAAjB,WAAAzd,SAAA,GAAAE,eAAA,GAAAD,WAAA,IAAuF3B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,yFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAiJG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDG1hF,EACA,KACA,KACA,OAIA2e,GAAS/d,QAAAC,OAAA,UACM,IAAAqf,GAAAvB,WEpBiMwB,ICmChNziB,KAAA,QACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,iBACA,kBACA,kBAEAE,SANA,WAOA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WATA,WAUA,OAAAL,KAAAD,SAAA,iBAEAqiB,UAZA,WAYA,IAAA1U,EAAA1N,KACA,OAAAH,OAAA8N,KAAA3N,KAAAqiB,gBAAA7hB,OAAAqN,IAAA,SAAAvC,GAAA,OAAAA,EAAAoC,EAAA2U,gBAAA7hB,MAAA8K,SAGAhL,SACAgiB,kBADA,WAEA,IAAAjc,EAAArG,KAAAoiB,UAAAhU,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAe3O,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAO,cAAAX,OAAAyG,GAAAmI,QAAA,kBAEA+T,gBAPA,SAOA5T,GACA,IACAtI,EADArG,KAAAoiB,UAAAxT,OAAA,SAAAN,EAAAC,GAAA,OAAAI,IAAAJ,IACAH,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAe3O,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAO,cAAA8F,EAAA,kBAEAvF,SAdA,WAeAd,KAAAC,OAAAU,SAAA,kBAEA6hB,eAjBA,SAiBAhiB,EAAAuO,EAAAJ,GACA,IAAAtI,EAAArG,KAAAoiB,UAAAhU,OAAA,SAAAC,EAAAC,EAAAC,GACA,OAAAI,IAAAJ,EACA,SAAAQ,EAAAnP,OAAAyO,EAAAxN,OAAAL,EAAA8N,EAAA,KAAA1O,OAAAyO,EAAAxN,OAAAyN,EAAA,GAAA9N,IAEeZ,OAAfyO,EAAAxN,OAAAyN,EAAA,GAAAA,EAAA,UAEAtO,KAAAO,cAAA8F,EAAA,kBAEA9F,cA1BA,SA0BAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,QCvEIiiB,cAAY5iB,OAAAmB,EAAA,EAAAnB,CACdsiB,GCTQ,WAAgB,IAAAlhB,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,iBAAAC,OAA4BC,MAAAP,EAAAyhB,eAAAhhB,cAAAT,EAAAZ,cAAyDe,EAAA,gBAAqBG,OAAOI,MAAA,8BAAoCV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,UAAgBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAyhB,eAAAC,MAAgC9gB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,+BAA8D,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,eAAAC,OAA0BC,MAAAP,EAAA2hB,aAAAlhB,cAAAT,EAAAZ,cAAuDe,EAAA,gBAAqBG,OAAOI,MAAA,mBAAyBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA2hB,aAAApiB,OAA+BqB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,wBAAuD,OAAAd,EAAAe,GAAA,KAAAZ,EAAA,OAAgCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,kBAAAC,OAA6BC,MAAAP,EAAAohB,gBAAA3gB,cAAAT,EAAAZ,cAA0De,EAAA,gBAAqBG,OAAOI,MAAA,gBAAsBV,EAAAmK,GAAAnK,EAAA,mBAAAK,EAAAqN,GAClhC,IAAAjM,EAAApB,EAAA,GACAd,EAAAc,EAAA,GACA,OAAAF,EAAA,OAAiBkK,IAAAqD,EAAA1M,YAAA,kBAAsCb,EAAA,YAAiBa,YAAA,aAAAV,OAAgCf,MAAAkC,EAAA4J,YAAA,QAAkCzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAuhB,eAAAzgB,EAAA,OAAA4M,OAAmD1N,EAAAe,GAAA,gBAAAZ,EAAA,aAAyCa,YAAA,cAAAV,OAAiCf,QAAA+C,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAA8D5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAuhB,eAAAzgB,EAAA,QAAA4M,OAAoD1N,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAAshB,gBAAA5T,QAAoC,KAAM1N,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA1B,EAAAqhB,sBAA+B,GAAArhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAqDG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDSzxB,EACA,KACA,KACA,OAIAygB,GAAS7f,QAAAC,OAAA,YACM,IAAAggB,GAAAJ,WEpBwMK,ICoOvNpjB,KAAA,eACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,kBAEAkjB,kCAJA,WAKA,OAAA/iB,KAAAgjB,aAAAC,4BAAAjjB,KAAAgjB,aAAAC,4BAAAlZ,OAAA,YAEAmZ,mCAPA,WAQA,QAAA3F,MAAAC,QAAAxd,KAAAgjB,aAAAC,8BACAjjB,KAAAgjB,aAAAC,4BAAA,GAAAlZ,OAGAoZ,qCAZA,WAaA,QAAA5F,MAAAC,QAAAxd,KAAAgjB,aAAAC,8BACAjjB,KAAAgjB,aAAAC,4BAAA,GAAAlZ,OAGAqZ,0BAjBA,WAkBA,OAAApjB,KAAAgjB,aAAAK,UAAArjB,KAAAgjB,aAAAK,UAAAtZ,OAAA,YAEAuZ,2BApBA,WAqBA,QAAA/F,MAAAC,QAAAxd,KAAAgjB,aAAAK,YACArjB,KAAAgjB,aAAAK,UAAA,GAAAtZ,OAGAwZ,6BAzBA,WA0BA,QAAAhG,MAAAC,QAAAxd,KAAAgjB,aAAAK,YACArjB,KAAAgjB,aAAAK,UAAA,GAAAtZ,OAGAyZ,2BA9BA,WA+BA,OAAAxjB,KAAAgjB,aAAAS,qBAAAzjB,KAAAgjB,aAAAS,qBAAA1Z,OAAA,YAEA2Z,4BAjCA,WAkCA,QAAAnG,MAAAC,QAAAxd,KAAAgjB,aAAAS,uBACAzjB,KAAAgjB,aAAAS,qBAAA,GAAA1Z,OAGA4Z,8BAtCA,WAuCA,QAAApG,MAAAC,QAAAxd,KAAAgjB,aAAAS,uBACAzjB,KAAAgjB,aAAAS,qBAAA,GAAA1Z,OAGA6Z,sBA3CA,WA4CA,OAAA5jB,KAAAgjB,aAAAa,eAAA7jB,KAAAgjB,aAAAa,eAAA9Z,OAAA,YAEA+Z,uBA9CA,WA+CA,QAAAvG,MAAAC,QAAAxd,KAAAgjB,aAAAa,iBACA7jB,KAAAgjB,aAAAa,eAAA,GAAA9Z,OAGAga,yBAnDA,WAoDA,QAAAxG,MAAAC,QAAAxd,KAAAgjB,aAAAa,iBACA7jB,KAAAgjB,aAAAa,eAAA,GAAA9Z,OAGAia,yBAxDA,WAyDA,OAAAhkB,KAAAgjB,aAAAiB,kBAAAjkB,KAAAgjB,aAAAiB,kBAAAla,OAAA,YAEAma,0BA3DA,WA4DA,QAAA3G,MAAAC,QAAAxd,KAAAgjB,aAAAiB,oBACAjkB,KAAAgjB,aAAAiB,kBAAA,GAAAla,OAGAoa,4BAhEA,WAiEA,QAAA5G,MAAAC,QAAAxd,KAAAgjB,aAAAiB,oBACAjkB,KAAAgjB,aAAAiB,kBAAA,GAAAla,OAGAqa,yBArEA,WAsEA,OAAApkB,KAAAgjB,aAAAqB,mBAAArkB,KAAAgjB,aAAAqB,mBAAAta,OAAA,YAEAua,0BAxEA,WAyEA,QAAA/G,MAAAC,QAAAxd,KAAAgjB,aAAAqB,qBACArkB,KAAAgjB,aAAAqB,mBAAA,GAAAta,OAGAwa,4BA7EA,WA8EA,QAAAhH,MAAAC,QAAAxd,KAAAgjB,aAAAqB,qBACArkB,KAAAgjB,aAAAqB,mBAAA,GAAAta,OAGAya,oBAlFA,WAmFA,OAAAxkB,KAAAgjB,aAAAyB,OAAAzkB,KAAAgjB,aAAAyB,OAAA1a,OAAA,YAEA2a,qBArFA,WAsFA,QAAAnH,MAAAC,QAAAxd,KAAAgjB,aAAAyB,SACAzkB,KAAAgjB,aAAAyB,OAAA,GAAA1a,OAGA4a,uBA1FA,WA2FA,QAAApH,MAAAC,QAAAxd,KAAAgjB,aAAAyB,SACAzkB,KAAAgjB,aAAAyB,OAAA,GAAA1a,OAGA6a,wBA/FA,WAgGA,OAAA5kB,KAAAgjB,aAAA6B,iBAAA7kB,KAAAgjB,aAAA6B,iBAAA9a,OAAA,YAEA+a,yBAlGA,WAmGA,QAAAvH,MAAAC,QAAAxd,KAAAgjB,aAAA6B,mBACA7kB,KAAAgjB,aAAA6B,iBAAA,GAAA9a,OAGAgb,2BAvGA,WAwGA,QAAAxH,MAAAC,QAAAxd,KAAAgjB,aAAA6B,mBACA7kB,KAAAgjB,aAAA6B,iBAAA,GAAA9a,OAGAib,uBA5GA,WA6GA,OAAAhlB,KAAAgjB,aAAAiC,iBAAAjlB,KAAAgjB,aAAAiC,iBAAAlb,OAAA,YAEAmb,wBA/GA,WAgHA,QAAA3H,MAAAC,QAAAxd,KAAAgjB,aAAAiC,mBACAjlB,KAAAgjB,aAAAiC,iBAAA,GAAAlb,OAGAob,0BApHA,WAqHA,QAAA5H,MAAAC,QAAAxd,KAAAgjB,aAAAiC,mBACAjlB,KAAAgjB,aAAAiC,iBAAA,GAAAlb,OAGAhK,SAzHA,WA0HA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WA5HA,WA6HA,OAAAL,KAAAD,SAAA,mBAGAO,SACA8kB,iBADA,SACA5kB,EAAAE,EAAA2kB,EAAAC,EAAAC,GACA,gBAAAD,EAAA,CACA,IAAAE,EAAA,UAAAH,GAAAtb,OAAAvJ,EAAA+kB,EAAA,MAAAxb,OAAAwb,EAAA,GAAA/kB,IACAR,KAAAO,cAAAilB,EAAA,aAAA9kB,QACA,sBAAA4kB,EAAA,CACA,IAAAG,EAAA,UAAAJ,IACAtb,OAAAwb,EAAA,MAAAA,EAAA,SAAAxb,OAAAvJ,EAAA+kB,EAAA,WACAxb,OAAAwb,EAAA,MAAAA,EAAA,SAAAxb,OAAAwb,EAAA,MAAA/kB,KACAR,KAAAO,cAAAklB,EAAA,aAAA/kB,QACA,wBAAA4kB,EAAA,CACA,IAAAI,EAAA,UAAAL,IACAtb,OAAAvJ,EAAA+kB,EAAA,SAAAxb,OAAAwb,EAAA,MAAAA,EAAA,WACAxb,OAAAwb,EAAA,MAAA/kB,KAAAuJ,OAAAwb,EAAA,MAAAA,EAAA,SACAvlB,KAAAO,cAAAmlB,EAAA,aAAAhlB,KAGAilB,aAjBA,SAiBAnlB,EAAAE,GACAV,KAAAO,cAAAC,EAAA,aAAAE,IAEAH,cApBA,SAoBAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAvBA,WAwBAd,KAAAC,OAAAU,SAAA,oBCrXIilB,cAAY/lB,OAAAmB,EAAA,EAAAnB,CACdijB,GCTQ,WAAgB,IAAA7hB,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBE,IAAA,eAAAC,OAA0BC,MAAAP,EAAA+hB,aAAAthB,cAAAT,EAAAZ,cAAuDe,EAAA,gBAAqBG,OAAOI,MAAA,aAAmBV,EAAAyjB,qBAA+yBzjB,EAAAsF,KAA/yBnF,EAAA,OAAAA,EAAA,YAAuDa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAujB,oBAAA,GAAAlY,YAAA,SAAyDzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,4BAAAd,EAAAujB,yBAA8FvjB,EAAAe,GAAA,cAAAZ,EAAA,YAAsCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAujB,oBAAA,GAAAlY,YAAA,SAAyDzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,4BAAAd,EAAAujB,yBAA8FvjB,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,eAA0B5b,OAAA,aAA2BA,OAAA,aAAwB,cAAe9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,8EAAAf,EAAAe,GAAA,KAAAf,EAAA,qBAAAG,EAAA,OAAAA,EAAA,gBAAoKG,OAAOI,MAAA,0BAAgCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAyjB,qBAAA,GAAApY,YAAA,SAA0DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,mCAAAd,EAAA0jB,uBAAA1jB,EAAAyjB,2BAAmIzjB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAyjB,qBAAA,GAAApY,YAAA,SAA0DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,mCAAAd,EAAA0jB,uBAAA1jB,EAAAyjB,4BAAmI,GAAAzjB,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,4BAAkCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA0jB,uBAAA,GAAArY,YAAA,SAA4DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,qCAAAd,EAAA0jB,uBAAA1jB,EAAAyjB,2BAAqIzjB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA0jB,uBAAA,GAAArY,YAAA,SAA4DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,qCAAAd,EAAA0jB,uBAAA1jB,EAAAyjB,4BAAqI,GAAAzjB,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,cAAyB5b,OAAA,YAAwB,cAAc9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,qCAAAf,EAAAsF,OAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAwFG,OAAOI,MAAA,2BAAiCV,EAAAyiB,4BAA43BziB,EAAAsF,KAA53BnF,EAAA,OAAAA,EAAA,YAA8Da,YAAA,cAAAV,OAAiCf,MAAAS,EAAAuiB,2BAAA,GAAAlX,YAAA,SAAgEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,0CAAAd,EAAAuiB,gCAAmHviB,EAAAe,GAAA,cAAAZ,EAAA,YAAsCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAuiB,2BAAA,GAAAlX,YAAA,SAAgEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,0CAAAd,EAAAuiB,gCAAmHviB,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,eAA0B5b,OAAA,aAA2BA,OAAA,aAAwB,4BAA6B9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,8EAAAf,EAAAe,GAAA,KAAAf,EAAA,4BAAAG,EAAA,OAAAA,EAAA,gBAA2KG,OAAOI,MAAA,0BAAgCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAyiB,4BAAA,GAAApX,YAAA,SAAiEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,iDAAAd,EAAA0iB,8BAAA1iB,EAAAyiB,kCAA+JziB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAyiB,4BAAA,GAAApX,YAAA,SAAiEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,iDAAAd,EAAA0iB,8BAAA1iB,EAAAyiB,mCAA+J,GAAAziB,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,4BAAkCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA0iB,8BAAA,GAAArX,YAAA,SAAmEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,mDAAAd,EAAA0iB,8BAAA1iB,EAAAyiB,kCAAiKziB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA0iB,8BAAA,GAAArX,YAAA,SAAmEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,mDAAAd,EAAA0iB,8BAAA1iB,EAAAyiB,mCAAiK,GAAAziB,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,cAAyB5b,OAAA,YAAwB,4BAA4B9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,qCAAAf,EAAAsF,OAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAwFG,OAAOI,MAAA,wBAA8BV,EAAAijB,0BAAy2BjjB,EAAAsF,KAAz2BnF,EAAA,OAAAA,EAAA,YAA4Da,YAAA,cAAAV,OAAiCf,MAAAS,EAAA+iB,yBAAA,GAAA1X,YAAA,SAA8DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,uCAAAd,EAAA+iB,8BAA8G/iB,EAAAe,GAAA,cAAAZ,EAAA,YAAsCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA+iB,yBAAA,GAAA1X,YAAA,SAA8DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,uCAAAd,EAAA+iB,8BAA8G/iB,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,eAA0B5b,OAAA,aAA2BA,OAAA,aAAwB,yBAA0B9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,8EAAAf,EAAAe,GAAA,KAAAf,EAAA,0BAAAG,EAAA,OAAAA,EAAA,gBAAyKG,OAAOI,MAAA,0BAAgCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAijB,0BAAA,GAAA5X,YAAA,SAA+DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,8CAAAd,EAAAkjB,4BAAAljB,EAAAijB,gCAAwJjjB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAijB,0BAAA,GAAA5X,YAAA,SAA+DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,8CAAAd,EAAAkjB,4BAAAljB,EAAAijB,iCAAwJ,GAAAjjB,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,4BAAkCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAkjB,4BAAA,GAAA7X,YAAA,SAAiEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,gDAAAd,EAAAkjB,4BAAAljB,EAAAijB,gCAA0JjjB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAkjB,4BAAA,GAAA7X,YAAA,SAAiEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,gDAAAd,EAAAkjB,4BAAAljB,EAAAijB,iCAA0J,GAAAjjB,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,cAAyB5b,OAAA,YAAwB,yBAAyB9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,qCAAAf,EAAAsF,OAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAwFG,OAAOI,MAAA,yBAA+BV,EAAAqjB,0BAA42BrjB,EAAAsF,KAA52BnF,EAAA,OAAAA,EAAA,YAA4Da,YAAA,cAAAV,OAAiCf,MAAAS,EAAAmjB,yBAAA,GAAA9X,YAAA,SAA8DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,wCAAAd,EAAAmjB,8BAA+GnjB,EAAAe,GAAA,cAAAZ,EAAA,YAAsCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAmjB,yBAAA,GAAA9X,YAAA,SAA8DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,wCAAAd,EAAAmjB,8BAA+GnjB,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,eAA0B5b,OAAA,aAA2BA,OAAA,aAAwB,0BAA2B9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,8EAAAf,EAAAe,GAAA,KAAAf,EAAA,0BAAAG,EAAA,OAAAA,EAAA,gBAAyKG,OAAOI,MAAA,0BAAgCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAqjB,0BAAA,GAAAhY,YAAA,SAA+DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,+CAAAd,EAAAsjB,4BAAAtjB,EAAAqjB,gCAAyJrjB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAqjB,0BAAA,GAAAhY,YAAA,SAA+DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,+CAAAd,EAAAsjB,4BAAAtjB,EAAAqjB,iCAAyJ,GAAArjB,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,4BAAkCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAsjB,4BAAA,GAAAjY,YAAA,SAAiEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,iDAAAd,EAAAsjB,4BAAAtjB,EAAAqjB,gCAA2JrjB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAsjB,4BAAA,GAAAjY,YAAA,SAAiEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,iDAAAd,EAAAsjB,4BAAAtjB,EAAAqjB,iCAA2J,GAAArjB,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,cAAyB5b,OAAA,YAAwB,0BAA0B9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,qCAAAf,EAAAsF,OAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAwFG,OAAOI,MAAA,uBAA6BV,EAAA6jB,yBAAi2B7jB,EAAAsF,KAAj2BnF,EAAA,OAAAA,EAAA,YAA2Da,YAAA,cAAAV,OAAiCf,MAAAS,EAAA2jB,wBAAA,GAAAtY,YAAA,SAA6DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,sCAAAd,EAAA2jB,6BAA4G3jB,EAAAe,GAAA,cAAAZ,EAAA,YAAsCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA2jB,wBAAA,GAAAtY,YAAA,SAA6DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,sCAAAd,EAAA2jB,6BAA4G3jB,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,eAA0B5b,OAAA,aAA2BA,OAAA,aAAwB,wBAAyB9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,8EAAAf,EAAAe,GAAA,KAAAf,EAAA,yBAAAG,EAAA,OAAAA,EAAA,gBAAwKG,OAAOI,MAAA,0BAAgCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA6jB,yBAAA,GAAAxY,YAAA,SAA8DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,6CAAAd,EAAA8jB,2BAAA9jB,EAAA6jB,+BAAqJ7jB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA6jB,yBAAA,GAAAxY,YAAA,SAA8DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,6CAAAd,EAAA8jB,2BAAA9jB,EAAA6jB,gCAAqJ,GAAA7jB,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,4BAAkCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA8jB,2BAAA,GAAAzY,YAAA,SAAgEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,+CAAAd,EAAA8jB,2BAAA9jB,EAAA6jB,+BAAuJ7jB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA8jB,2BAAA,GAAAzY,YAAA,SAAgEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,+CAAAd,EAAA8jB,2BAAA9jB,EAAA6jB,gCAAuJ,GAAA7jB,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,cAAyB5b,OAAA,YAAwB,wBAAwB9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,qCAAAf,EAAAsF,OAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAwFG,OAAOI,MAAA,uBAA6BV,EAAAikB,wBAA41BjkB,EAAAsF,KAA51BnF,EAAA,OAAAA,EAAA,YAA0Da,YAAA,cAAAV,OAAiCf,MAAAS,EAAA+jB,uBAAA,GAAA1Y,YAAA,SAA4DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,sCAAAd,EAAA+jB,4BAA2G/jB,EAAAe,GAAA,cAAAZ,EAAA,YAAsCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA+jB,uBAAA,GAAA1Y,YAAA,SAA4DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,sCAAAd,EAAA+jB,4BAA2G/jB,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,eAA0B5b,OAAA,aAA2BA,OAAA,aAAwB,wBAAyB9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,8EAAAf,EAAAe,GAAA,KAAAf,EAAA,wBAAAG,EAAA,OAAAA,EAAA,gBAAuKG,OAAOI,MAAA,0BAAgCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAikB,wBAAA,GAAA5Y,YAAA,SAA6DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,6CAAAd,EAAAkkB,0BAAAlkB,EAAAikB,8BAAmJjkB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAikB,wBAAA,GAAA5Y,YAAA,SAA6DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,6CAAAd,EAAAkkB,0BAAAlkB,EAAAikB,+BAAmJ,GAAAjkB,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,4BAAkCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAkkB,0BAAA,GAAA7Y,YAAA,SAA+DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,+CAAAd,EAAAkkB,0BAAAlkB,EAAAikB,8BAAqJjkB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAkkB,0BAAA,GAAA7Y,YAAA,SAA+DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,+CAAAd,EAAAkkB,0BAAAlkB,EAAAikB,+BAAqJ,GAAAjkB,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,cAAyB5b,OAAA,YAAwB,wBAAwB9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,qCAAAf,EAAAsF,OAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAwFG,OAAOI,MAAA,qBAA2BV,EAAA6iB,uBAAi1B7iB,EAAAsF,KAAj1BnF,EAAA,OAAAA,EAAA,YAAyDa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA2iB,sBAAA,GAAAtX,YAAA,SAA2DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,oCAAAd,EAAA2iB,2BAAwG3iB,EAAAe,GAAA,cAAAZ,EAAA,YAAsCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA2iB,sBAAA,GAAAtX,YAAA,SAA2DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,oCAAAd,EAAA2iB,2BAAwG3iB,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,eAA0B5b,OAAA,aAA2BA,OAAA,aAAwB,sBAAuB9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,8EAAAf,EAAAe,GAAA,KAAAf,EAAA,uBAAAG,EAAA,OAAAA,EAAA,gBAAsKG,OAAOI,MAAA,0BAAgCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA6iB,uBAAA,GAAAxX,YAAA,SAA4DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,2CAAAd,EAAA8iB,yBAAA9iB,EAAA6iB,6BAA+I7iB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA6iB,uBAAA,GAAAxX,YAAA,SAA4DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,2CAAAd,EAAA8iB,yBAAA9iB,EAAA6iB,8BAA+I,GAAA7iB,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,4BAAkCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA8iB,yBAAA,GAAAzX,YAAA,SAA8DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,6CAAAd,EAAA8iB,yBAAA9iB,EAAA6iB,6BAAiJ7iB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA8iB,yBAAA,GAAAzX,YAAA,SAA8DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,6CAAAd,EAAA8iB,yBAAA9iB,EAAA6iB,8BAAiJ,GAAA7iB,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,cAAyB5b,OAAA,YAAwB,sBAAsB9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,qCAAAf,EAAAsF,OAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAwFG,OAAOI,MAAA,kCAAwCV,EAAAiiB,mCAAo7BjiB,EAAAsF,KAAp7BnF,EAAA,OAAAA,EAAA,YAAqEa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA8hB,kCAAA,GAAAzW,YAAA,SAAuEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,iDAAAd,EAAA8hB,uCAAiI9hB,EAAAe,GAAA,cAAAZ,EAAA,YAAsCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAA8hB,kCAAA,GAAAzW,YAAA,SAAuEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,iDAAAd,EAAA8hB,uCAAiI9hB,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,eAA0B5b,OAAA,aAA2BA,OAAA,aAAwB,mCAAoC9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,8EAAAf,EAAAe,GAAA,KAAAf,EAAA,mCAAAG,EAAA,OAAAA,EAAA,gBAAkLG,OAAOI,MAAA,0BAAgCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAiiB,mCAAA,GAAA5W,YAAA,SAAwEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,wDAAAd,EAAAkiB,qCAAAliB,EAAAiiB,yCAAoLjiB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAiiB,mCAAA,GAAA5W,YAAA,SAAwEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,wDAAAd,EAAAkiB,qCAAAliB,EAAAiiB,0CAAoL,GAAAjiB,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,4BAAkCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAkiB,qCAAA,GAAA7W,YAAA,SAA0EzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,0DAAAd,EAAAkiB,qCAAAliB,EAAAiiB,yCAAsLjiB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAkiB,qCAAA,GAAA7W,YAAA,SAA0EzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,0DAAAd,EAAAkiB,qCAAAliB,EAAAiiB,0CAAsL,GAAAjiB,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,cAAyB5b,OAAA,YAAwB,mCAAmC9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,qCAAAf,EAAAsF,OAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAwFG,OAAOI,MAAA,0BAAgCV,EAAAqiB,2BAAs1BriB,EAAAsF,KAAt1BnF,EAAA,OAAAA,EAAA,YAA6Da,YAAA,cAAAV,OAAiCf,MAAAS,EAAAmiB,0BAAA,GAAA9W,YAAA,SAA+DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,+BAAAd,EAAAmiB,+BAAuGniB,EAAAe,GAAA,cAAAZ,EAAA,YAAsCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAmiB,0BAAA,GAAA9W,YAAA,SAA+DzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,+BAAAd,EAAAmiB,+BAAuGniB,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,eAAAC,OAAA,IAAkC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,eAA0B5b,OAAA,aAA2BA,OAAA,aAAwB,iBAAkB9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,8EAAAf,EAAAe,GAAA,KAAAf,EAAA,2BAAAG,EAAA,OAAAA,EAAA,gBAA0KG,OAAOI,MAAA,0BAAgCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAqiB,2BAAA,GAAAhX,YAAA,SAAgEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,sCAAAd,EAAAsiB,6BAAAtiB,EAAAqiB,iCAAkJriB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAqiB,2BAAA,GAAAhX,YAAA,SAAgEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,sCAAAd,EAAAsiB,6BAAAtiB,EAAAqiB,kCAAkJ,GAAAriB,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,4BAAkCP,EAAA,YAAiBa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAsiB,6BAAA,GAAAjX,YAAA,SAAkEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,wCAAAd,EAAAsiB,6BAAAtiB,EAAAqiB,iCAAoJriB,EAAAe,GAAA,gBAAAZ,EAAA,YAAwCa,YAAA,cAAAV,OAAiCf,MAAAS,EAAAsiB,6BAAA,GAAAjX,YAAA,SAAkEzK,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAmkB,iBAAArjB,EAAA,wCAAAd,EAAAsiB,6BAAAtiB,EAAAqiB,kCAAoJ,GAAAriB,EAAAe,GAAA,KAAAZ,EAAA,OAA4Ba,YAAA,2BAAqCb,EAAA,aAAkBG,OAAOkQ,KAAA,gBAAAC,OAAA,IAAmC7P,IAAKc,MAAA,SAAAZ,GAAyB,OAAAd,EAAA0kB,cAAyB5b,OAAA,YAAwB,iBAAiB9I,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,oBAA8BhB,EAAAe,GAAA,qCAAAf,EAAAsF,OAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAwGG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,yBDYh0xB,EACA,KACA,KACA,OAIA4jB,GAAShjB,QAAAC,OAAA,mBACM,IAAAgjB,GAAAD,WEpBkME,IC8BjNpmB,KAAA,SACAkB,KAFA,WAGA,OACAmlB,SAAA,KAGApmB,UACAqmB,OADA,WAEA,OAAAhmB,KAAAC,OAAAC,MAAA8lB,OAAAC,eAEAC,YAJA,WAKA,OAAAlmB,KAAAgmB,OAAAnY,IAAA,SAAA+N,GACA,OAAA1H,SAAA0H,MAGArW,QATA,WAUA,OAAAvF,KAAAC,OAAAC,MAAA8lB,OAAAzgB,UAGA4gB,QApBA,WAqBAnmB,KAAAC,OAAAU,SAAA,gBAEAL,SACA8lB,YADA,WAEApmB,KAAAC,OAAAU,SAAA,WAAAX,KAAA+lB,WAEAM,YAJA,SAIAzK,GACA5b,KAAAC,OAAAU,SAAA,cAAAib,MCjDI0K,cAAYzmB,OAAAmB,EAAA,EAAAnB,CACdimB,GCTQ,WAAgB,IAAA7kB,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAD,EAAAsE,QAAooCtE,EAAAsF,KAApoCnF,EAAA,OAAAA,EAAA,UAA6CG,OAAOglB,OAAA,KAAYnlB,EAAA,UAAeG,OAAOilB,KAAA,KAAUplB,EAAA,YAAiBG,OAAO+K,YAAArL,EAAAwlB,GAAA,yBAA6CC,UAAWC,MAAA,SAAA5kB,GAAyB,OAAAA,EAAAW,KAAAkkB,QAAA,QAAA3lB,EAAA4lB,GAAA9kB,EAAA+kB,QAAA,WAAA/kB,EAAAuJ,IAAA,SAAsF,KAAerK,EAAAmlB,YAAArkB,KAAgCP,OAAQhB,MAAAS,EAAA,SAAAiL,SAAA,SAAAC,GAA8ClL,EAAA8kB,SAAA5Z,GAAiBC,WAAA,eAAwB,GAAAnL,EAAAe,GAAA,KAAAZ,EAAA,UAA+BG,OAAOilB,KAAA,KAAUplB,EAAA,aAAkBG,OAAOmB,KAAA,WAAiBgkB,UAAW/jB,MAAA,SAAAZ,GAAyB,OAAAd,EAAAmlB,YAAArkB,OAAiCd,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,+BAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,YAAiFG,OAAOX,KAAAK,EAAAilB,eAAwB9kB,EAAA,mBAAwBG,OAAOI,MAAAV,EAAAwlB,GAAA,wBAAAM,KAAA,cAA0D9lB,EAAAe,GAAA,KAAAZ,EAAA,mBAAoCG,OAAOylB,MAAA,QAAAjb,MAAA,OAA8Bkb,YAAAhmB,EAAAimB,KAAsB5b,IAAA,UAAA6b,GAAA,SAAAC,GAAiC,OAAAhmB,EAAA,aAAwBG,OAAOmB,KAAA,OAAAJ,KAAA,SAA6BokB,UAAW/jB,MAAA,SAAAZ,GAAyB,OAAAd,EAAAolB,YAAAe,EAAAC,IAAAnT,cAA6CjT,EAAAe,GAAA,eAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,qCAAyE,uBAAyB,YDY7tC,EACA,KACA,KACA,OAIAH,GAAS1jB,QAAAC,OAAA,aACM,IAAAykB,GAAAhB,WEpBkMiB,ICsJjN7nB,KAAA,SACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,0BACA,SACA,sBACA,iBACA,aACA,cAEAyd,mBATA,WAUA,OAAAC,MAAAC,QAAAxd,KAAA8T,OAAA4J,WAAAC,sBAAA,uBAAA3d,KAAA8T,OAAA4J,WAAAC,sBAEAnT,KAZA,WAaA,OAAAxK,KAAA8T,OAAA4J,WAAAlT,UAEAlB,oBAfA,WAgBA,OAAA1G,EAAA0G,qBAEAwU,wBAlBA,WAmBA,OAAAP,MAAAC,QAAAxd,KAAA8T,OAAA4J,WAAAC,sBAAA3d,KAAA8T,OAAA4J,WAAAC,yBAEAlU,+BArBA,WAsBA,OAAA7G,EAAA6G,gCAEAC,sBAxBA,WAyBA,OAAA9G,EAAA8G,uBAEA3J,SA3BA,WA4BA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WA9BA,WA+BA,OAAAL,KAAAD,SAAA,mBAGAO,SACAyd,YADA,SACAvd,GACA,IAAAiI,EAAAzI,KAAAsJ,oBAAAgL,KAAA,SAAAhG,GAAA,OAAAA,EAAA9N,YACA,OAAAiI,EAAA,oBAAAA,EAAAc,gBAAA,cAAAd,EAAAe,QAAA,IAEAwU,oBALA,SAKAxd,EAAAC,EAAAoZ,EAAAoE,EAAAvd,GACA,IAAA2F,EAAAzG,OAAAI,KAAA8T,OAAA+F,GAAAoE,GAAApd,OAAAH,EAAAF,IACAR,KAAAoG,kBAAAC,EAAA5F,EAAAoZ,EAAAoE,IAEA7X,kBATA,SASA5F,EAAAC,EAAAoZ,EAAAnZ,GACA,IAAA2F,EAAAzG,OAAAI,KAAAC,OAAAC,MAAAsF,kBAAA/E,GAAAoZ,GAAAhZ,OAAAH,EAAAF,IACAR,KAAAO,cAAA8F,EAAA5F,EAAAoZ,IAEA2N,yBAbA,WAcA,yBAAAxnB,KAAAynB,MAAAnK,mBACAtd,KAAAoG,kBAAApG,KAAAynB,MAAA3J,wBAAA,sDAEA9d,KAAAoG,kBAAApG,KAAAynB,MAAAnK,mBAAA,uDAGA/c,cApBA,SAoBAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAvBA,WAwBAd,KAAAC,OAAAU,SAAA,oBCzMI+mB,cAAY7nB,OAAAmB,EAAA,EAAAnB,CACd0nB,GCTQ,WAAgB,IAAAtmB,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,WAA+BE,IAAA,SAAAC,OAAoBC,MAAAP,EAAA6S,OAAApS,cAAAT,EAAAZ,cAAiDe,EAAA,gBAAqBG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA6S,OAAA6T,UAA4B9lB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,kCAAiE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,aAAmBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA6S,OAAA8T,YAAArkB,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAiF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,iCAAgE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,eAAqBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA6S,OAAA+T,WAA6BhmB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,kCAAkEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gGAAAZ,EAAA,QAAoHa,YAAA,SAAmBhB,EAAAe,GAAA,mEAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2GG,OAAOI,MAAA,cAAoBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA6S,OAAAqK,UAA4Btc,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,iCAAiEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,qHAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA6JG,OAAOI,MAAA,kBAAwBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA6S,OAAAgU,cAAgCjmB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,qCAAqEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,2GAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAA0Ia,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,oBAA0BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA6S,OAAA4J,WAAAU,qBAAkDvc,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,yDAA8Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,2KAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAmNG,OAAOI,MAAA,0BAAgCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA6S,OAAA4J,WAAAW,gBAAA,QAAAjc,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAwFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAA,QAAArE,EAAA,qDAAoGd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,4EAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAoHG,OAAOI,MAAA,2BAAiCP,EAAA,mBAAwBG,OAAOf,MAAAS,EAAA6S,OAAA4J,WAAAY,kBAAAlc,KAAA,EAAAC,IAAA,EAAAC,KAAA,SAAgFT,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,uDAA4Fd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mFAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA2HG,OAAOI,MAAA,0BAAgCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAqc,mBAAApa,UAAA,IAA8CrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,0DAA+FX,EAAA,aAAkBG,OAAOf,OAAA,EAAAmB,MAAA,UAA6BV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,OAAA,EAAAmB,MAAA,WAA+BV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,uBAAAmB,MAAA,uCAA4EV,EAAAe,GAAA,KAAAZ,EAAA,aAA8BG,OAAOf,MAAA,gBAAAmB,MAAA,kDAA+E,GAAAV,EAAAe,GAAA,UAAAf,EAAAqc,mBAAAlc,EAAA,KAA4Da,YAAA,SAAmBhB,EAAAe,GAAA,mBAAAZ,EAAA,QAAuCa,YAAA,SAAmBhB,EAAAe,GAAA,yBAAAf,EAAAe,GAAA,2BAAAf,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAf,EAAAqc,mBAAkMrc,EAAAsF,KAAlMnF,EAAA,KAA2Ha,YAAA,SAAmBhB,EAAAe,GAAA,aAAAZ,EAAA,QAAiCa,YAAA,SAAmBhB,EAAAe,GAAA,qCAAAf,EAAAe,GAAA,qBAAAf,EAAAe,GAAA,uBAAAf,EAAAqc,mBAAAlc,EAAA,KAAoJa,YAAA,SAAmBhB,EAAAe,GAAA,iMAAAf,EAAAsF,MAAA,GAAAtF,EAAAe,GAAA,8BAAAf,EAAAqc,mBAAAlc,EAAA,gBAA0SG,OAAOI,MAAA,+BAAqCP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA6c,wBAAAva,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAoF5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,yDAA+Fd,EAAAmK,GAAAnK,EAAA,wCAAAoK,GAA4D,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,OAAAS,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAiDG,OAAOI,MAAA,qBAA2BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAA6S,OAAA4J,WAAAa,gBAAAhb,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAAgG5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAmF,kBAAArE,EAAA,iDAAsFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBb,EAAA,QAAaa,YAAA,SAAmBhB,EAAAe,GAAA,kBAAAf,EAAAe,GAAA,6BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA8FG,OAAOI,MAAA,WAAiBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,qBAA2BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAuJ,KAAAgU,iBAAiC3c,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAA+c,oBAAAjc,EAAA,6DAAoG,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,UAAgBP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAuJ,KAAA/B,KAAAvF,UAAA,IAAqCrB,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAA+c,oBAAAjc,EAAA,gDAAyFd,EAAAmK,GAAAnK,EAAA,6BAAAoK,GAAiD,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,GAAAS,EAAAe,GAAA,KAAAZ,EAAA,KAAyBa,YAAA,SAAmBhB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAA8c,YAAA9c,EAAAuJ,KAAA/B,WAAA,OAAAxH,EAAAe,GAAA,KAAAZ,EAAA,OAAiFa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,iBAAAC,OAA4BC,MAAAP,EAAA8mB,eAAArmB,cAAAT,EAAAZ,cAAyDe,EAAA,gBAAqBG,OAAOI,MAAA,sBAA4BV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,gCAAsCP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA8mB,eAAAC,SAAmCnmB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,yCAAyEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,mGAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAkIa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,sBAAAC,OAAiCC,MAAAP,EAAAgnB,oBAAAvmB,cAAAT,EAAAZ,cAA8De,EAAA,gBAAqBG,OAAOI,MAAA,yBAA+BP,EAAA,aAAkBG,OAAOf,MAAAS,EAAAgnB,oBAAAC,SAAA3kB,SAAA,GAAAC,WAAA,GAAAC,eAAA,IAA2F5B,IAAKC,OAAA,SAAAC,GAA0B,OAAAd,EAAAV,cAAAwB,EAAA,2CAA4Ed,EAAAmK,GAAAnK,EAAA,+BAAAoK,GAAmD,OAAAjK,EAAA,aAAuBkK,IAAAD,EAAA7K,MAAAe,OAAsBI,MAAA0J,EAAA1J,MAAAnB,MAAA6K,EAAA7K,WAAyC,WAAAS,EAAAe,GAAA,KAAAZ,EAAA,OAAmCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,0BAAAC,OAAqCC,MAAAP,EAAAknB,wBAAAzmB,cAAAT,EAAAZ,cAAkEe,EAAA,gBAAqBG,OAAOI,MAAA,wBAA8BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAknB,wBAAAC,MAAyCvmB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,sDAAsFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,kDAAAZ,EAAA,QAAsEa,YAAA,SAAmBhB,EAAAe,GAAA,wBAAkBf,EAAAe,GAAA,2BAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAuEa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,WAAAC,OAAsBC,MAAAP,EAAAonB,SAAA3mB,cAAAT,EAAAZ,cAAmDe,EAAA,gBAAqBG,OAAOI,MAAA,gBAAsBV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,YAAkBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAonB,SAAAC,QAA4BzmB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,qCAAqEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,wBAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAgEG,OAAOI,MAAA,sBAA4BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAonB,SAAAE,kBAAsC1mB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,+CAA+Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,6BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAqEG,OAAOI,MAAA,qBAA2BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAonB,SAAAG,iBAAqC3mB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,8CAA8Ed,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,oDAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAA4FG,OAAOI,MAAA,yBAA+BP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAonB,SAAAI,qBAAyC5mB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,kDAAkFd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,sNAAAZ,EAAA,QAA8Oa,YAAA,SAAmBhB,EAAAe,GAAA,qBAAAf,EAAAe,GAAA,uBAAAf,EAAAe,GAAA,KAAAZ,EAAA,OAAkFa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BE,IAAA,aAAAC,OAAwBC,MAAAP,EAAAynB,WAAAhnB,cAAAT,EAAAZ,cAAqDe,EAAA,gBAAqBG,OAAOI,MAAA,4BAAkCV,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAA,SAAeP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAynB,WAAAC,KAA2B9mB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,qCAAoE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAA,WAAiBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAAynB,WAAAE,OAA6B/mB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,uCAAsE,GAAAd,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAqDG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,6BDY18U,EACA,KACA,KACA,OAIA0lB,GAAS9kB,QAAAC,OAAA,aACM,IAAAgmB,GAAAnB,WEpBmMoB,IC0BlNppB,KAAA,UACAC,SAAAC,OACAC,OAAAC,EAAA,EAAAD,EACA,kBAEAE,SAJA,WAKA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WAPA,WAQA,OAAAL,KAAAD,SAAA,mBAGAO,SACAC,cADA,SACAC,EAAAC,EAAAC,GACAV,KAAAC,OAAAU,SAAA,kBAAAF,MAAAG,KAAAC,OAAAH,EAAAF,MAEAM,SAJA,WAKAd,KAAAC,OAAAU,SAAA,oBCnCIooB,cAAYlpB,OAAAmB,EAAA,EAAAnB,CACdipB,GCTQ,WAAgB,IAAA7nB,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBE,IAAA,eAAAC,OAA0BC,MAAAP,EAAA+nB,aAAAtnB,cAAAT,EAAAZ,cAAuDe,EAAA,gBAAqBG,OAAOI,MAAA,aAAmBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA+nB,aAAAC,SAAiCpnB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,+BAA+Dd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,gSAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAwUG,OAAOI,MAAA,gBAAsBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA+nB,aAAAE,YAAoCrnB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,kCAAkEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,0BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAkEG,OAAOI,MAAA,iBAAuBP,EAAA,YAAiBG,OAAOf,MAAAS,EAAA+nB,aAAAG,aAAqCtnB,IAAKnB,MAAA,SAAAqB,GAAyB,OAAAd,EAAAV,cAAAwB,EAAA,mCAAmEd,EAAAe,GAAA,KAAAZ,EAAA,KAAsBa,YAAA,SAAmBhB,EAAAe,GAAA,2BAAAf,EAAAe,GAAA,KAAAZ,EAAA,gBAAAA,EAAA,aAAmFG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAH,YAAsBG,EAAAe,GAAA,yBDYp4C,EACA,KACA,KACA,OAIA+mB,GAASnmB,QAAAC,OAAA,cACM,IAAAumB,GAAAL,wBEpB6MM,ICgD5NC,OACA1lB,MACAlB,KAAA6mB,OACAC,UAAA,GAEAC,UACA/mB,KAAA6mB,OACAC,UAAA,GAEA9pB,MACAgD,KAAA6mB,OACAC,UAAA,GAEAra,MACAzM,KAAA6mB,OACAC,UAAA,GAEAE,SACAhnB,KAAAinB,QACAH,UAAA,IAGA5oB,KAvBA,WAwBA,OACAgpB,QAAA,KACAC,QAAA,KACAC,oBAAA,KACAC,oBAAA,EACAC,gBAAA,GACAC,eAAA,KAGAtqB,UACAuqB,WACA3f,IADA,WAGA,cAAAvK,KAAA4pB,QAAA5pB,KAAA4pB,QAAA5pB,KAAAN,MAEA+K,IALA,SAKA0f,GAAAnqB,KAAA4pB,QAAAO,IAEAC,WACA7f,IADA,WAGA,cAAAvK,KAAA6pB,QAAA7pB,KAAA6pB,QAAA7pB,KAAAmP,MAEA1E,IALA,SAKA0f,GAAAnqB,KAAA6pB,QAAAM,IAEAE,WAfA,WAgBA,OAAArqB,KAAAC,OAAAC,MAAAoqB,WAAAD,aAGA/pB,SACAiqB,OADA,WACA,IAAA7c,EAAA1N,KACAA,KAAAC,OAAAU,SAAA,yBACAqP,OAAA,SACAyZ,SAAAzpB,KAAAypB,SACAe,QAAAxqB,KAAAN,KACAkqB,QAAA5pB,KAAAkqB,UACAO,YAAAzqB,KAAAoqB,YACAM,KAAA,WACAhd,EAAAkc,QAAA,KACAlc,EAAAmc,QAAA,KAEAnc,EAAAzN,OAAAU,SAAA,kBAGAgqB,OAfA,WAeA,IAAA5c,EAAA/N,KACAA,KAAA4qB,SAAA,uDACAC,kBAAA,wBACAC,iBAAA,kBACApoB,KAAA,YACAgoB,KAAA,WACA3c,EAAA9N,OAAAU,SAAA,yBACAqP,OAAA,SACAyZ,SAAA1b,EAAA0b,SACA/pB,KAAAqO,EAAArO,OACAgrB,KAAA,WACA3c,EAAA6b,QAAA,KACA7b,EAAA8b,QAAA,KAEA9b,EAAA9N,OAAAU,SAAA,oBAIAoqB,YAjCA,WAiCA,IAAA/K,EAAAhgB,KACAA,KAAAC,OAAAU,SAAA,yBACAqP,OAAA,MACAyZ,SAAAzpB,KAAA8pB,oBACAkB,UAAA,KAAAhrB,KAAAgqB,gBAAAiB,OAAAjrB,KAAAgqB,gBAAAiB,OAAAjrB,KAAAN,KACAwrB,SAAA,KAAAlrB,KAAAiqB,eAAAgB,OAAAjrB,KAAAiqB,eAAAgB,OAAAjrB,KAAAmP,KACAA,KAAAnP,KAAAmrB,qBAAAnrB,KAAA4D,KAAA5D,KAAAypB,SAAAzpB,KAAAmP,QACAub,KAAA,WACA1K,EAAA8J,oBAAA,KACA9J,EAAAoL,oBAAA,EACApL,EAAAgK,gBAAA,GACAhK,EAAAiK,eAAA,GAEAjK,EAAA/f,OAAAU,SAAA,kBAGAwqB,qBAAAb,GAAA,IC5IIe,cAAYxrB,OAAAmB,EAAA,EAAAnB,CACdwpB,GCTQ,WAAgB,IAAApoB,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAH,EAAA,QAAAG,EAAA,OAAyCa,YAAA,oBAA8Bb,EAAA,OAAYa,YAAA,oBAAAV,OAAuC+pB,IAAArqB,EAAAkqB,qBAAAlqB,EAAA2C,KAAA3C,EAAAwoB,SAAAxoB,EAAAkO,SAAkElO,EAAAe,GAAA,KAAAZ,EAAA,YAA6Ba,YAAA,aAAAV,OAAgC+K,YAAArL,EAAAwlB,GAAA,uBAA2CjlB,OAAQhB,MAAAS,EAAA,UAAAiL,SAAA,SAAAC,GAA+ClL,EAAAipB,UAAA/d,GAAkBC,WAAA,eAAyBnL,EAAAe,GAAA,KAAAZ,EAAA,YAA6Ba,YAAA,aAAAV,OAAgC+K,YAAArL,EAAAwlB,GAAA,kBAAsCjlB,OAAQhB,MAAAS,EAAA,UAAAiL,SAAA,SAAAC,GAA+ClL,EAAAmpB,UAAAje,GAAkBC,WAAA,eAAyBnL,EAAAe,GAAA,KAAAZ,EAAA,OAAwBa,YAAA,kBAA4Bb,EAAA,aAAkBa,YAAA,eAAAV,OAAkCmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAspB,UAAoBtpB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,uBAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,aAA0Ea,YAAA,eAAAJ,IAA+Bc,MAAA1B,EAAA0pB,UAAoB1pB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,+BAAAxlB,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAf,EAAAyoB,QAAg7DzoB,EAAAsF,KAAh7DnF,EAAA,OAAoGa,YAAA,oBAA8Bb,EAAA,OAAYa,YAAA,oBAAAV,OAAuC+pB,IAAArqB,EAAAkqB,qBAAAlqB,EAAA2C,KAAA3C,EAAAwoB,SAAAxoB,EAAAkO,SAAkElO,EAAAe,GAAA,KAAAZ,EAAA,YAA6Ba,YAAA,aAAAV,OAAgCf,MAAAS,EAAAipB,UAAA5d,YAAArL,EAAAwlB,GAAA,yBAAkExlB,EAAAe,GAAA,KAAAZ,EAAA,YAA6Ba,YAAA,aAAAV,OAAgCf,MAAAS,EAAAmpB,UAAA9d,YAAArL,EAAAwlB,GAAA,oBAA6DxlB,EAAAe,GAAA,KAAAZ,EAAA,cAA+BG,OAAOgqB,UAAA,aAAAC,eAAA,gBAAuDhqB,OAAQhB,MAAAS,EAAA,mBAAAiL,SAAA,SAAAC,GAAwDlL,EAAA8oB,mBAAA5d,GAA2BC,WAAA,wBAAkChL,EAAA,KAAAH,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,gCAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,aAA2FG,OAAO+K,YAAArL,EAAAwlB,GAAA,uBAA2CjlB,OAAQhB,MAAAS,EAAA,oBAAAiL,SAAA,SAAAC,GAAyDlL,EAAA6oB,oBAAA3d,GAA4BC,WAAA,wBAAmCnL,EAAAmK,GAAAnK,EAAA,oBAAAwqB,EAAA/rB,GAA8C,OAAA0B,EAAA,aAAuBkK,IAAA5L,EAAA6B,OAAgBI,MAAAjC,EAAAc,MAAAd,OAA6B,GAAAuB,EAAAe,GAAA,KAAAZ,EAAA,KAAAH,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,iCAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,YAA0GG,OAAO+K,YAAArL,EAAAwlB,GAAA,iCAAqDjlB,OAAQhB,MAAAS,EAAA,gBAAAiL,SAAA,SAAAC,GAAqDlL,EAAA+oB,gBAAA7d,GAAwBC,WAAA,qBAA+BnL,EAAAe,GAAA,KAAAZ,EAAA,KAAAH,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,gCAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,YAAsGG,OAAO+K,YAAArL,EAAAwlB,GAAA,gCAAoDjlB,OAAQhB,MAAAS,EAAA,eAAAiL,SAAA,SAAAC,GAAoDlL,EAAAgpB,eAAA9d,GAAuBC,WAAA,oBAA8BnL,EAAAe,GAAA,KAAAZ,EAAA,aAA8Ba,YAAA,uBAAAV,OAA0CmqB,UAAAzqB,EAAA6oB,oBAAApnB,KAAA,WAAqDb,IAAKc,MAAA1B,EAAA8pB,eAAyB9pB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,qBAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,aAAwEa,YAAA,eAAAV,OAAkCoqB,KAAA,YAAAjpB,KAAA,WAAoCipB,KAAA,cAAkB1qB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,+CDYn2F,EACA,KACA,KACA,OAIA4E,GAASzoB,QAAAC,OAAA,wBACM,IAAA+oB,GAAAP,WEpB4MQ,ICqD3NvC,OACAG,UACA/mB,KAAA6mB,OACAC,UAAA,IAGA5oB,KAPA,WAQA,OACAoqB,UAAA,GACAc,eAAA,GACAC,eAAA,KAGApsB,UACAqsB,iBADA,WAEA,WAAAhsB,KAAAgrB,UAAAC,SAGA3qB,SACA2rB,YADA,SAAA/c,GACA,IAAAxB,EAAA1N,KAAAmP,EAAAD,EAAAC,KACAnP,KAAAC,OAAAU,SAAA,yBACAqP,OAAA,MACAyZ,SAAAzpB,KAAAypB,SACAuB,UAAAhrB,KAAAgrB,UACA7b,QAAAnP,KAAA8rB,eACAZ,SAAAlrB,KAAA+rB,iBACArB,KAAA,WACAhd,EAAAsd,UAAA,GACAtd,EAAAoe,eAAA,GACApe,EAAAqe,eAAA,GAEAre,EAAAzN,OAAAU,SAAA,oBC5EIurB,cAAYrsB,OAAAmB,EAAA,EAAAnB,CACdgsB,GCTQ,WAAgB,IAAA5qB,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,WAAqBG,OAAOG,cAAA,QAAAyqB,iBAAA,OAAA7pB,KAAA,WAA8DlB,EAAA,gBAAqBG,OAAOI,MAAAV,EAAAwlB,GAAA,yBAAsCrlB,EAAA,YAAiBG,OAAO+K,YAAArL,EAAAwlB,GAAA,sBAA0CjlB,OAAQhB,MAAAS,EAAA,UAAAiL,SAAA,SAAAC,GAA+ClL,EAAA+pB,UAAA7e,GAAkBC,WAAA,gBAAyB,GAAAnL,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAAV,EAAAwlB,GAAA,8BAA2CrlB,EAAA,YAAiBG,OAAO+K,YAAArL,EAAAwlB,GAAA,sBAA0CjlB,OAAQhB,MAAAS,EAAA,eAAAiL,SAAA,SAAAC,GAAoDlL,EAAA8qB,eAAA5f,GAAuBC,WAAA,qBAA8B,GAAAnL,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAAV,EAAAwlB,GAAA,0BAAuCrlB,EAAA,OAAYa,YAAA,oBAA8Bb,EAAA,YAAiBG,OAAO+K,YAAArL,EAAAwlB,GAAA,iBAAqCjlB,OAAQhB,MAAAS,EAAA,eAAAiL,SAAA,SAAAC,GAAoDlL,EAAA6qB,eAAA3f,GAAuBC,WAAA,oBAA8BnL,EAAAe,GAAA,KAAAZ,EAAA,aAA8Ba,YAAA,gBAAAV,OAAmCmqB,SAAAzqB,EAAA+qB,iBAAAtpB,KAAA,WAAiDb,IAAKc,MAAA1B,EAAAgrB,eAAyBhrB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,2BAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,OAAwEa,YAAA,qBAA+Bb,EAAA,KAAUa,YAAA,SAAmBhB,EAAAe,GAAA,QAAAf,EAAAe,GAAA,KAAAZ,EAAA,aAA6CG,OAAOuO,eAAA7O,EAAAgrB,YAAA1oB,UAAA,EAAAwM,kBAAA,EAAAC,OAAA,SAAuF5O,EAAA,aAAkBG,OAAOmqB,SAAAzqB,EAAA+qB,iBAAAtpB,KAAA,aAAkDzB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,iDDYx7C,EACA,KACA,KACA,OAIAyF,GAAStpB,QAAAC,OAAA,uBACM,IEpBqMupB,IC2GpNliB,YAAA0hB,qBAAAS,iBHvFeH,YGwFf5C,OACA5pB,MACAgD,KAAA6mB,OACAC,UAAA,GAEA8C,MACA5pB,KAAA7C,OACA2pB,UAAA,GAEA5lB,MACAlB,KAAA6mB,OACAC,UAAA,GAEAE,SACAhnB,KAAAinB,QACAH,UAAA,IAIA5oB,KAtBA,WAuBA,OACA2rB,mBACAC,iBAAA,KAGA7sB,UACA8sB,OACAliB,IADA,WACA,OAAAvK,KAAAssB,UAAA,gBACA7hB,IAFA,SAEAjK,GACAR,KAAAC,OAAAU,SACA,sBACAjB,KAAAM,KAAAN,KAAA4L,IAAA,cAAA9K,YAIAksB,UACAniB,IADA,WACA,OAAAvK,KAAAssB,UAAA,UACA7hB,IAFA,SAEAjK,GACAR,KAAAC,OAAAU,SACA,sBACAjB,KAAAM,KAAAN,KAAA4L,IAAA,WAAA9K,YAIAmU,aACApK,IADA,WACA,OAAAvK,KAAAssB,UAAA,aACA7hB,IAFA,SAEAjK,GACAR,KAAAC,OAAAU,SACA,sBACAjB,KAAAM,KAAAN,KAAA4L,IAAA,cAAA9K,YAIAmsB,SACApiB,IADA,WACA,OAAAvK,KAAAssB,UAAA,SACA7hB,IAFA,SAEAjK,GACAR,KAAAC,OAAAU,SACA,sBACAjB,KAAAM,KAAAN,KAAA4L,IAAA,UAAA9K,YAIAosB,aACAriB,IADA,WACA,OAAAvK,KAAAssB,UAAA,iBACA7hB,IAFA,SAEAjK,GACA,KAAAA,EAAAyqB,OACAjrB,KAAAC,OAAAU,SACA,sBACAjB,KAAAM,KAAAN,KAAA4L,IAAA,eAAA9K,WAGAR,KAAAC,OAAAU,SACA,sBACAjB,KAAAM,KAAAN,KAAA4L,IAAA,eAAA9K,MAAA,OAEAR,KAAAC,OAAAU,SACA,sBACAjB,KAAAM,KAAAN,KAAA4L,IAAA,sBAAA9K,MAAA,WAMAF,SACAusB,qBADA,WACA,IAAAnf,EAAA1N,KACAA,KAAAC,OAAAU,SACA,gBACAmsB,gBAAA9sB,KAAA4D,KAAA6lB,SAAAzpB,KAAAN,KAAAqtB,GAAA/sB,KAAAwsB,mBACA9B,KAAA,kBAAAhd,EAAAzN,OAAAU,SAAA,iBACA+pB,KAAA,kBAAAhd,EAAAzN,OAAAU,SAAA,yBAGAqsB,WATA,WASA,IAAAjf,EAAA/N,KACAA,KAAA4qB,SAAA,sDACAC,kBAAA,uBACAC,iBAAA,kBACApoB,KAAA,YACAgoB,KAAA,WACA3c,EAAA9N,OAAAU,SAAA,cAAAjB,KAAAqO,EAAArO,OACAgrB,KAAA,kBAAA3c,EAAA9N,OAAAU,SAAA,iBACA+pB,KAAA,kBAAA3c,EAAA9N,OAAAU,SAAA,0BACAssB,MAAA,eAGAC,iBArBA,WAsBAltB,KAAAC,OAAAU,SAAA,oBAAA8oB,SAAAzpB,KAAAN,UC7MIytB,cAAYttB,OAAAmB,EAAA,EAAAnB,CACdusB,GCTQ,WAAgB,IAAAnrB,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,oBAA8Ba,YAAA,iBAAAV,OAAoC6rB,MAAAnsB,EAAAvB,UAAAuB,EAAAvB,QAAkCuB,EAAA,QAAAG,EAAA,WAA8Ba,YAAA,sBAAAV,OAAyCG,cAAA,QAAAyqB,iBAAA,OAAA7pB,KAAA,WAA8DlB,EAAA,gBAAqBG,OAAOI,MAAAV,EAAAwlB,GAAA,yBAAsCrlB,EAAA,aAAkBI,OAAOhB,MAAAS,EAAA,MAAAiL,SAAA,SAAAC,GAA2ClL,EAAAwrB,MAAAtgB,GAAcC,WAAA,YAAqB,GAAAnL,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAAV,EAAAwlB,GAAA,wBAAqCrlB,EAAA,YAAiBI,OAAOhB,MAAAS,EAAA,SAAAiL,SAAA,SAAAC,GAA8ClL,EAAAyrB,SAAAvgB,GAAiBC,WAAA,eAAwB,GAAAnL,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAAV,EAAAwlB,GAAA,2BAAwCrlB,EAAA,YAAiBG,OAAOmB,KAAA,YAAkBlB,OAAQhB,MAAAS,EAAA,YAAAiL,SAAA,SAAAC,GAAiDlL,EAAA0T,YAAAxI,GAAoBC,WAAA,kBAA2B,GAAAnL,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAAV,EAAAwlB,GAAA,uBAAoCrlB,EAAA,YAAiBI,OAAOhB,MAAAS,EAAA,QAAAiL,SAAA,SAAAC,GAA6ClL,EAAA0rB,QAAAxgB,GAAgBC,WAAA,cAAuB,GAAAnL,EAAAe,GAAA,KAAAZ,EAAA,gBAAqCG,OAAOI,MAAAV,EAAAwlB,GAAA,2BAAwCrlB,EAAA,YAAiBI,OAAOhB,MAAAS,EAAA,YAAAiL,SAAA,SAAAC,GAAiDlL,EAAA2rB,YAAAzgB,GAAoBC,WAAA,kBAA2B,GAAAnL,EAAAe,GAAA,KAAAf,EAAA2rB,aAAA,KAAA3rB,EAAA2rB,YAAA3B,OAAA7pB,EAAA,gBAAwFG,OAAOI,MAAAV,EAAAwlB,GAAA,8BAA2CxlB,EAAAe,GAAA,WAAAf,EAAAgV,GAAAhV,EAAAqrB,UAAA,oCAAArrB,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAqHa,YAAA,qBAA+Bb,EAAA,aAAkBG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAisB,oBAA8BjsB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,iCAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,aAAoFS,IAAIc,MAAA1B,EAAA+rB,cAAwB/rB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,+BAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,gBAAAH,EAAAqrB,UAAA,gBAAAlrB,EAAA,WAAmIG,OAAO4C,KAAA,KAAAlD,EAAA2C,KAAA,4BAAA3C,EAAAvB,KAAA,mBAAA2tB,WAAA,EAAA3qB,KAAA,UAAA2B,OAAA,YAA6IjD,EAAA,aAAkBa,YAAA,qBAA+BhB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,wCAAAxlB,EAAAsF,MAAA,OAAAtF,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAf,EAAAyoB,QAA6+CzoB,EAAAsF,KAA7+CnF,EAAA,WAAkIa,YAAA,sBAAAV,OAAyCG,cAAA,QAAAyqB,iBAAA,OAAA7pB,KAAA,WAA8DlB,EAAA,gBAAqBG,OAAOI,MAAAV,EAAAwlB,GAAA,yBAAsCrlB,EAAA,aAAkBG,OAAOmqB,SAAA,IAAclqB,OAAQhB,MAAAS,EAAA,MAAAiL,SAAA,SAAAC,GAA2ClL,EAAAwrB,MAAAtgB,GAAcC,WAAA,YAAqB,GAAAnL,EAAAe,GAAA,KAAAf,EAAA,SAAAG,EAAA,gBAAoDG,OAAOI,MAAAV,EAAAwlB,GAAA,wBAAqCrlB,EAAA,QAAAH,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAyrB,eAAAzrB,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAf,EAAA,YAAAG,EAAA,gBAAwGG,OAAOI,MAAAV,EAAAwlB,GAAA,2BAAwCrlB,EAAA,QAAAH,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAA0T,kBAAA1T,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAf,EAAA,QAAAG,EAAA,gBAAuGG,OAAOI,MAAAV,EAAAwlB,GAAA,uBAAoCrlB,EAAA,QAAAH,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAA0rB,cAAA1rB,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAf,EAAA,YAAAG,EAAA,gBAAuGG,OAAOI,MAAAV,EAAAwlB,GAAA,2BAAwCrlB,EAAA,QAAAH,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAA2rB,kBAAA3rB,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAf,EAAA2rB,aAAA,KAAA3rB,EAAA2rB,YAAA3B,OAAA7pB,EAAA,gBAA4IG,OAAOI,MAAAV,EAAAwlB,GAAA,8BAA2CxlB,EAAAe,GAAA,WAAAf,EAAAgV,GAAAhV,EAAAqrB,UAAA,oCAAArrB,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAZ,EAAA,gBAAAH,EAAAqrB,UAAA,gBAAAlrB,EAAA,WAAmKG,OAAO4C,KAAA,KAAAlD,EAAA2C,KAAA,4BAAA3C,EAAAvB,KAAA,mBAAA2tB,WAAA,EAAA3qB,KAAA,UAAA2B,OAAA,YAA6IjD,EAAA,aAAkBa,YAAA,qBAA+BhB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,wCAAAxlB,EAAAsF,MAAA,OAAAtF,EAAAe,GAAA,KAAAZ,EAAA,eAAuHa,YAAA,oBAAAT,OAAuChB,MAAAS,EAAA,gBAAAiL,SAAA,SAAAC,GAAqDlL,EAAAsrB,gBAAApgB,GAAwBC,WAAA,qBAA+BnL,EAAA,QAAAG,EAAA,oBAAuCa,YAAA,gBAAAV,OAAmC6rB,MAAAnsB,EAAAwlB,GAAA,wBAAA/mB,KAAA,cAA0D0B,EAAA,sBAA2BG,OAAO+rB,YAAArsB,EAAAvB,SAAsB,GAAAuB,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAnC,OAAA8N,KAAA1M,EAAAqrB,KAAA1D,OAAA2E,OAAA,EAAAnsB,EAAA,oBAA2Fa,YAAA,gBAAAV,OAAmC6rB,MAAAnsB,EAAAwlB,GAAA,wBAAA/mB,KAAA,gBAA6DuB,EAAAmK,GAAAnK,EAAAqrB,KAAA,eAAAnd,EAAAqe,GAA8C,OAAApsB,EAAA,uBAAiCkK,IAAAkiB,EAAAjsB,OAAiBqC,KAAA3C,EAAA2C,KAAA0pB,YAAArsB,EAAAvB,UAAA8tB,EAAAre,OAAAse,WAAAxsB,EAAAyoB,aAAwF,GAAAzoB,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAf,EAAAyoB,QAAk5BzoB,EAAAsF,KAAl5BnF,EAAA,oBAAgEa,YAAA,gBAAAV,OAAmC6rB,MAAAnsB,EAAAwlB,GAAA,yBAAA/mB,KAAA,kBAA+D0B,EAAA,KAAAH,EAAAe,GAAA,aAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,mCAAAxlB,EAAAgV,GAAAhV,EAAAvB,MAAA,KAAAuB,EAAAgV,GAAAhV,EAAAwlB,GAAA,qDAAAxlB,EAAAgV,GAAA,KAAAhV,EAAAurB,iBAAAvB,OAAAhqB,EAAAvB,KAAAuB,EAAAurB,kBAAA,MAAAvrB,EAAAgV,GAAAhV,EAAAwlB,GAAA,yCAAAxlB,EAAAgV,GAAAhV,EAAAwlB,GAAA,yCAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,OAAmYa,YAAA,yBAAmCb,EAAA,YAAiBG,OAAO+K,YAAArL,EAAAwlB,GAAA,gCAAoDjlB,OAAQhB,MAAAS,EAAA,iBAAAiL,SAAA,SAAAC,GAAsDlL,EAAAurB,iBAAArgB,GAAyBC,WAAA,sBAAgCnL,EAAAe,GAAA,KAAAZ,EAAA,aAA8Ba,YAAA,8BAAAV,OAAiDmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAA4rB,wBAAkC5rB,EAAAe,GAAA,eAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,mEDYpvK,EACA,KACA,KACA,OAIA0G,GAASvqB,QAAAC,OAAA,gBACM,IEpB2L6qB,IC0D1MxjB,YAAAyjB,UHtCeR,YGuCfvsB,KAFA,WAGA,OACAgtB,sBAAA,GACAC,YAAA,GACAC,mBACAC,sBAGApuB,UACAI,SADA,WAEA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEAC,WAJA,WAKA,OAAAL,KAAAD,SAAA,iBAEAsqB,WAPA,WAQA,OAAArqB,KAAAC,OAAAC,MAAAoqB,WAAAD,YAEA2D,YAVA,WAWA,OAAAhuB,KAAAC,OAAAC,MAAAoqB,WAAA0D,cAGA7H,QAxBA,WAyBAnmB,KAAAiuB,qBAEA3tB,SACA4tB,gBADA,WACA,IAAAxgB,EAAA1N,KACAA,KAAAC,OAAAU,SAAA,cAAAjB,KAAAM,KAAA6tB,cACAnD,KAAA,WACAhd,EAAAmgB,YAAA,GAEAngB,EAAAzN,OAAAU,SAAA,sBACA+M,EAAAzN,OAAAU,SAAA,kBAGAstB,kBAVA,WAWAjuB,KAAAC,OAAAU,SAAA,uBAEAwtB,mBAbA,WAcAnuB,KAAAC,OAAAU,SAAA,uBAAAytB,eAAApuB,KAAA4tB,yBAEAS,YAhBA,WAiBAruB,KAAAC,OAAAU,SAAA,gBAEA2tB,aAnBA,WAmBA,IAAAvgB,EAAA/N,KACAA,KAAAC,OAAAU,SAAA,gBACA+pB,KAAA,WACA3c,EAAA9N,OAAAU,SAAA,sBACAoN,EAAA9N,OAAAU,SAAA,oBCnGI4tB,cAAY1uB,OAAAmB,EAAA,EAAAnB,CACd6tB,GCTQ,WAAgB,IAAAzsB,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAAA,EAAA,OAA2Ba,YAAA,qBAA+Bb,EAAA,aAAkBG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAotB,eAAyBptB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,4BAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,cAAgFG,OAAOitB,QAAAvtB,EAAAwlB,GAAA,+BAAAgI,QAAA,OAAAlD,UAAA,YAAuFnqB,EAAA,aAAkBG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAqtB,gBAA0BrtB,EAAAe,GAAA,aAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,+CAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,OAAyGa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,WAA4BG,OAAOG,cAAAT,EAAAZ,cAA8Be,EAAA,gBAAqBG,OAAOI,MAAAV,EAAAwlB,GAAA,0BAAuCrlB,EAAA,aAAkBG,OAAOmB,KAAA,WAAiBb,IAAKc,MAAA1B,EAAAgtB,qBAA+BhtB,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,sCAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,gBAA4FG,OAAOI,MAAAV,EAAAwlB,GAAA,+BAA4CrlB,EAAA,OAAYa,YAAA,gBAA0Bb,EAAA,YAAiBG,OAAO+K,YAAArL,EAAAwlB,GAAA,eAAmCjlB,OAAQhB,MAAAS,EAAA,YAAAiL,SAAA,SAAAC,GAAiDlL,EAAA4sB,YAAA1hB,GAAoBC,WAAA,iBAA2BnL,EAAAe,GAAA,KAAAZ,EAAA,aAA8Ba,YAAA,qBAAAV,OAAwCmqB,SAAA,KAAAzqB,EAAA4sB,YAAA5C,QAAyCppB,IAAKc,MAAA1B,EAAAitB,mBAA6BjtB,EAAAe,GAAA,eAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,uCAAAxlB,EAAAe,GAAA,KAAAnC,OAAA8N,KAAA1M,EAAAopB,YAAAkD,OAAA,EAAAnsB,EAAA,gBAAqJG,OAAOI,MAAAV,EAAAwlB,GAAA,oBAAkCxlB,EAAAmK,GAAAnK,EAAA,oBAAAqrB,EAAA5sB,GAA6C,OAAA0B,EAAA,eAAyBkK,IAAA5L,EAAA8B,OAAgBhB,MAAAS,EAAA,gBAAAiL,SAAA,SAAAC,GAAqDlL,EAAA6sB,gBAAA3hB,GAAwBC,WAAA,qBAA+BhL,EAAA,cAAmBG,OAAO7B,OAAA4sB,OAAA1oB,KAAA3C,EAAAhB,OAAAyuB,QAAAC,SAAAlB,YAAA,MAA4E,KAAM,GAAAxsB,EAAAsF,KAAAtF,EAAAe,GAAA,KAAAZ,EAAA,OAAoCa,YAAA,SAAmBhB,EAAAe,GAAA,KAAAZ,EAAA,gBAAiCG,OAAOI,MAAAV,EAAAwlB,GAAA,2BAAwCrlB,EAAA,OAAYa,YAAA,gBAA0Bb,EAAA,YAAiBG,OAAO+K,YAAArL,EAAAwlB,GAAA,mCAAuDjlB,OAAQhB,MAAAS,EAAA,sBAAAiL,SAAA,SAAAC,GAA2DlL,EAAA2sB,sBAAAzhB,GAA8BC,WAAA,2BAAqCnL,EAAAe,GAAA,KAAAZ,EAAA,aAA8Ba,YAAA,qBAAAV,OAAwCmqB,SAAA,KAAAzqB,EAAA2sB,sBAAA3C,QAAmDppB,IAAKc,MAAA1B,EAAAktB,sBAAgCltB,EAAAe,GAAA,eAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,iDAAAxlB,EAAAe,GAAA,KAAAnC,OAAA8N,KAAA1M,EAAA+sB,aAAAT,OAAA,EAAAnsB,EAAA,gBAAgKG,OAAOI,MAAAV,EAAAwlB,GAAA,oBAAkCxlB,EAAAmK,GAAAnK,EAAA,qBAAAqrB,EAAA5sB,GAA8C,OAAA0B,EAAA,eAAyBkK,IAAA5L,EAAA8B,OAAgBhB,MAAAS,EAAA,iBAAAiL,SAAA,SAAAC,GAAsDlL,EAAA8sB,iBAAA5hB,GAAyBC,WAAA,sBAAgChL,EAAA,cAAmBG,OAAO7B,OAAA4sB,OAAA1oB,KAAA3C,EAAAhB,OAAAyuB,QAAAC,SAAAlB,YAAA,MAA6E,KAAM,GAAAxsB,EAAAsF,MAAA,YDYjxF,EACA,KACA,KACA,OAIAgoB,GAAS3rB,QAAAC,OAAA,YACM,IEpB2L+rB,ICkF1M1kB,YAAApH,cAAAuC,iBAAAwB,aAAAQ,UAAAuB,WAAAoE,WAAA6hB,WH9DeN,WG8DfhhB,QAAA8E,WAAAK,SAAAqB,OAAA4E,WAAAc,WAAA0B,SAAAiC,SAAAsB,cAAAU,YAAA0P,IAAA5M,GAAAW,SAAAgD,gBAAAyB,UAAAuB,UAAAO,YACAzpB,UACAI,SADA,WAEA,iBAAAC,KAAAC,OAAAC,MAAAC,IAAAC,QAEA2uB,YAJA,WAKA,OAAA/uB,KAAAD,SAAA,eAGAomB,QAAA,WACAnmB,KAAAC,OAAAU,SAAA,mBCpFIquB,cAAYnvB,OAAAmB,EAAA,EAAAnB,CACd+uB,G5GTF,WAA0B,IAAA3tB,EAAAjB,KAAakB,EAAAD,EAAAE,eAA0BC,EAAAH,EAAAI,MAAAD,IAAAF,EAAwB,OAAAE,EAAA,OAAiBa,YAAA,uBAAiCb,EAAA,MAAAH,EAAAe,GAAAf,EAAAgV,GAAAhV,EAAAwlB,GAAA,yBAAAxlB,EAAAe,GAAA,KAAAZ,EAAA,WAAmFG,OAAO0tB,eAAAhuB,EAAA8tB,eAAgC3tB,EAAA,eAAoBG,OAAOI,MAAAV,EAAAwlB,GAAA,2BAAwCrlB,EAAA,oBAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAuDG,OAAOI,MAAAV,EAAAwlB,GAAA,oBAAiCrlB,EAAA,sBAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAyDG,OAAOI,MAAAV,EAAAwlB,GAAA,0BAAuCrlB,EAAA,mBAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAsDG,OAAOI,MAAAV,EAAAwlB,GAAA,qBAAkCrlB,EAAA,aAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAgDG,OAAOI,MAAAV,EAAAwlB,GAAA,uBAAoCrlB,EAAA,eAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAkDG,OAAOI,MAAAV,EAAAwlB,GAAA,wBAAqCrlB,EAAA,gBAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAmDG,OAAOI,MAAAV,EAAAwlB,GAAA,wBAAqCrlB,EAAA,gBAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAmDG,OAAOI,MAAAV,EAAAwlB,GAAA,0BAAuCrlB,EAAA,mBAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAsDG,OAAOI,MAAAV,EAAAwlB,GAAA,wBAAqCrlB,EAAA,gBAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAmDG,OAAOI,MAAAV,EAAAwlB,GAAA,sBAAmCrlB,EAAA,cAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAiDG,OAAOI,MAAAV,EAAAwlB,GAAA,oBAAiCrlB,EAAA,YAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAA+CG,OAAOI,MAAAV,EAAAwlB,GAAA,wBAAqCrlB,EAAA,gBAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAmDG,OAAOI,MAAAV,EAAAwlB,GAAA,wBAAqCrlB,EAAA,iBAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAoDG,OAAOI,MAAAV,EAAAwlB,GAAA,sBAAmCrlB,EAAA,cAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAiDG,OAAOI,MAAAV,EAAAwlB,GAAA,sBAAmCrlB,EAAA,cAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAiDG,OAAOI,MAAAV,EAAAwlB,GAAA,0BAAuCrlB,EAAA,mBAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAsDG,OAAOI,MAAAV,EAAAwlB,GAAA,wBAAqCrlB,EAAA,gBAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAmDG,OAAOI,MAAAV,EAAAwlB,GAAA,mBAAgCrlB,EAAA,WAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAA8CG,OAAOI,MAAAV,EAAAwlB,GAAA,4BAAyCrlB,EAAA,qBAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAwDG,OAAOI,MAAAV,EAAAwlB,GAAA,sBAAmCrlB,EAAA,cAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAiDG,OAAOI,MAAAV,EAAAwlB,GAAA,sBAAmCrlB,EAAA,cAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAiDG,OAAOI,MAAAV,EAAAwlB,GAAA,uBAAoCrlB,EAAA,gBAAAH,EAAAe,GAAA,KAAAZ,EAAA,eAAmDG,OAAOI,MAAAV,EAAAwlB,GAAA,qBAAkCrlB,EAAA,0B4GY/1E,EACA,KACA,WACA,OAIA4tB,GAASpsB,QAAAC,OAAA,YACMqsB,EAAA,QAAAF,qECpBf,IAAAG,EAAAzwB,EAAA,QAAAA,EAAAC,EAAAwwB,GAA6Z,4DCA7Z,IAAAC,EAAA1wB,EAAA,QAAAA,EAAAC,EAAAywB,GAA4e,qCCA5e,IAAAC,EAAA3wB,EAAA,QAAAA,EAAAC,EAAA0wB,GAA8e,qCCA9e,IAAAC,EAAA5wB,EAAA,QAAAA,EAAAC,EAAA2wB,GAA4e,4DCA5e,IAAAC,EAAA7wB,EAAA,QAAAA,EAAAC,EAAA4wB,GAAye,qCCAze,IAAAC,EAAA9wB,EAAA,QAAAA,EAAAC,EAAA6wB,GAAue,qCCAve,IAAAC,EAAA/wB,EAAA,QAAAA,EAAAC,EAAA8wB,GAA4e,4DCA5e,IAAAC,EAAAhxB,EAAA,QAAAA,EAAAC,EAAA+wB,GAA4e,qCCA5e,IAAAC,EAAAjxB,EAAA,QAAAA,EAAAC,EAAAgxB,GAA0e,4DCA1e,IAAAC,EAAAlxB,EAAA,QAAAA,EAAAC,EAAAixB,GAA+e,0GCA/e,IAAAC,EAAAnxB,EAAA,QAAAA,EAAAC,EAAAkxB,GAAud,4DCAvd,IAAAC,EAAApxB,EAAA,QAAAA,EAAAC,EAAAmxB,GAA0e,qCCA1e,IAAAC,EAAArxB,EAAA,QAAAA,EAAAC,EAAAoxB,GAA6e","file":"static/js/chunk-f3c9.b3de53e2.js","sourcesContent":["import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebPush.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebPush.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleEmojiEditor.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleEmojiEditor.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Esshd.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Esshd.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Relays.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Relays.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Http.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Http.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailer.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailer.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Database.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Database.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=c56a6d00&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=c56a6d00&rel=stylesheet%2Fscss&lang=scss&scoped=true&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaProxy.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaProxy.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateLimiters.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateLimiters.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"settings-container\"},[_c('h1',[_vm._v(_vm._s(_vm.$t('settings.settings')))]),_vm._v(\" \"),_c('el-tabs',{attrs:{\"tab-position\":_vm.tabPosition}},[_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.activityPub')}},[_c('activity-pub')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.auth')}},[_c('authentication')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.autoLinker')}},[_c('auto-linker')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.esshd')}},[_c('esshd')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.captcha')}},[_c('captcha')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.database')}},[_c('database')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.endpoint')}},[_c('endpoint')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.emojiPacks')}},[_c('emoji-packs')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.frontend')}},[_c('frontend')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.gopher')}},[_c('gopher')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.http')}},[_c('http')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.instance')}},[_c('instance')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.jobQueue')}},[_c('job-queue')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.logger')}},[_c('logger')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.mailer')}},[_c('mailer')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.mediaProxy')}},[_c('media-proxy')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.metadata')}},[_c('metadata')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.mrf')}},[_c('mrf')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.rateLimiters')}},[_c('rate-limiters')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.relays')}},[_c('relays')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.upload')}},[_c('upload')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.webPush')}},[_c('web-push')],1),_vm._v(\" \"),_c('el-tab-pane',{attrs:{\"label\":_vm.$t('settings.other')}},[_c('other')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityPub.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityPub.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"activityPub\" :model=\"activityPub\" :label-width=\"labelWidth\">\n <el-form-item label=\"Unfollow blocked\">\n <el-switch :value=\"activityPub.unfollow_blocked\" @change=\"updateSetting($event, 'activitypub', 'unfollow_blocked')\"/>\n <p class=\"expl\">Whether blocks result in people getting unfollowed</p>\n </el-form-item>\n <el-form-item label=\"Outgoing blocks\">\n <el-switch :value=\"activityPub.outgoing_blocks\" @change=\"updateSetting($event, 'activitypub', 'outgoing_blocks')\"/>\n <p class=\"expl\">Whether to federate blocks to other instances</p>\n </el-form-item>\n <el-form-item label=\"Follow handshake timeout\">\n <el-input-number\n :value=\"activityPub.follow_handshake_timeout\"\n :step=\"100\"\n :min=\"0\"\n size=\"large\"\n class=\"top-margin\"\n @change=\"updateSetting($event, 'activitypub', 'follow_handshake_timeout')\"/>\n </el-form-item>\n <el-form-item label=\"Sign object fetches\">\n <el-switch :value=\"activityPub.sign_object_fetches\" @change=\"updateSetting($event, 'activitypub', 'sign_object_fetches')\"/>\n <p class=\"expl\">Sign object fetches with HTTP signatures</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"user\" :model=\"user\" :label-width=\"labelWidth\">\n <el-form-item label=\"Deny follow blocked\">\n <el-switch :value=\"user.deny_follow_blocked\" @change=\"updateSetting($event, 'user', 'deny_follow_blocked')\"/>\n <p class=\"expl\">Whether to disallow following an account that has blocked the user in question</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'ActivityPub',\n computed: {\n ...mapGetters([\n 'activityPub',\n 'user'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./ActivityPub.vue?vue&type=template&id=0d2d3bbe&\"\nimport script from \"./ActivityPub.vue?vue&type=script&lang=js&\"\nexport * from \"./ActivityPub.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ActivityPub.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"ActivityPub.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"activityPub\",attrs:{\"model\":_vm.activityPub,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Unfollow blocked\"}},[_c('el-switch',{attrs:{\"value\":_vm.activityPub.unfollow_blocked},on:{\"change\":function($event){return _vm.updateSetting($event, 'activitypub', 'unfollow_blocked')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether blocks result in people getting unfollowed\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Outgoing blocks\"}},[_c('el-switch',{attrs:{\"value\":_vm.activityPub.outgoing_blocks},on:{\"change\":function($event){return _vm.updateSetting($event, 'activitypub', 'outgoing_blocks')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to federate blocks to other instances\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Follow handshake timeout\"}},[_c('el-input-number',{staticClass:\"top-margin\",attrs:{\"value\":_vm.activityPub.follow_handshake_timeout,\"step\":100,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'activitypub', 'follow_handshake_timeout')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Sign object fetches\"}},[_c('el-switch',{attrs:{\"value\":_vm.activityPub.sign_object_fetches},on:{\"change\":function($event){return _vm.updateSetting($event, 'activitypub', 'sign_object_fetches')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Sign object fetches with HTTP signatures\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"user\",attrs:{\"model\":_vm.user,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Deny follow blocked\"}},[_c('el-switch',{attrs:{\"value\":_vm.user.deny_follow_blocked},on:{\"change\":function($event){return _vm.updateSetting($event, 'user', 'deny_follow_blocked')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to disallow following an account that has blocked the user in question\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Authentication.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"pleromaAuthenticator\" :model=\"pleromaAuthenticator\" :label-width=\"labelWidth\">\n <el-form-item label=\"Authentication type\">\n <el-select :value=\"pleromaAuthenticator.value\" clearable @change=\"updateSetting($event, 'Pleroma.Web.Auth.Authenticator', 'value')\">\n <el-option label=\"None\" value=\"\"/>\n <el-option label=\"Pleroma.Web.Auth.PleromaAuthenticator // Default database authenticator\" value=\"Pleroma.Web.Auth.PleromaAuthenticator\"/>\n <el-option label=\"Pleroma.Web.Auth.LDAPAuthenticator // LDAP authenticator\" value=\"Pleroma.Web.Auth.LDAPAuthenticator\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"auth\" :model=\"auth\" :label-width=\"labelWidth\">\n <el-form-item label=\"Authentication settings:\"/>\n <el-form-item label=\"Auth template\">\n <el-input :value=\"auth.auth_template\" @input=\"updateSetting($event, 'auth', 'auth_template')\"/>\n <p class=\"expl\">Authentication form template. By default it's\n <span class=\"code\">show.html</span> which corresponds to\n <span class=\"code\">lib/pleroma/web/templates/o_auth/o_auth/show.html.eex.</span>\n </p>\n </el-form-item>\n <el-form-item label=\"OAuth consumer template\">\n <el-input :value=\"auth.oauth_consumer_template\" @input=\"updateSetting($event, 'auth', 'oauth_consumer_template')\"/>\n <p class=\"expl\">OAuth consumer mode authentication form template. By default it's\n <span class=\"code\">consumer.html</span> which corresponds to\n <span class=\"code\">lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex.</span>\n </p>\n </el-form-item>\n <el-form-item label=\"OAuth consumer strategies\">\n <el-select :value=\"auth.oauth_consumer_strategies || []\" multiple filterable allow-create @change=\"updateSetting($event, 'auth', 'oauth_consumer_strategies')\"/>\n <p class=\"expl\">The list of enabled OAuth consumer strategies; by default it's set by\n <span class=\"code\">OAUTH_CONSUMER_STRATEGIES</span>\n environment variable. You can enter values in the following format: <span class=\"code\">'a:foo b:baz'</span>\n </p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"ldap\" :model=\"ldap\" :label-width=\"labelWidth\">\n <el-form-item class=\"options-paragraph-container\">\n <p class=\"options-paragraph\">Use LDAP for user authentication. When a user logs in to the Pleroma\n instance, the name and password will be verified by trying to authenticate\n (bind) to an LDAP server. If a user exists in the LDAP directory but there\n is no account with the same name yet on the Pleroma instance then a new\n Pleroma account will be created with the same name as the LDAP user name.</p>\n </el-form-item>\n <el-form-item label=\"LDAP Authenticator:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"ldap.enabled\" @change=\"updateSetting($event, 'ldap', 'enabled')\"/>\n <p class=\"expl\">Enables LDAP authentication</p>\n </el-form-item>\n <el-form-item label=\"Host\">\n <el-input :value=\"ldap.host\" @input=\"updateSetting($event, 'ldap', 'host')\"/>\n <p class=\"expl\">LDAP server hostname</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"ldap.port\" @input=\"updateSetting($event, 'ldap', 'port')\"/>\n <p class=\"expl\">LDAP port, e.g. 389 or 636</p>\n </el-form-item>\n <el-form-item label=\"SSL\">\n <el-switch :value=\"ldap.ssl\" @change=\"updateSetting($event, 'ldap', 'ssl')\"/>\n <p class=\"expl\">True to use SSL, usually implies the port 636</p>\n </el-form-item>\n <el-form-item label=\"TLS\">\n <el-switch :value=\"ldap.tls\" @change=\"updateSetting($event, 'ldap', 'tls')\"/>\n <p class=\"expl\">True to start TLS, usually implies the port 389</p>\n </el-form-item>\n <el-form-item label=\"Base\">\n <el-input :value=\"ldap.base\" @input=\"updateSetting($event, 'ldap', 'base')\"/>\n <p class=\"expl\">LDAP base, e.g. <span class=\"code\">'dc=example,dc=com'</span></p>\n </el-form-item>\n <el-form-item label=\"UID\">\n <el-input :value=\"ldap.uid\" @input=\"updateSetting($event, 'ldap', 'uid')\"/>\n <p class=\"expl\">LDAP attribute name to authenticate the user, e.g. when\n <span class=\"code\">'cn'</span>, the filter will be <span class=\"code\">'cn=username,base'</span>\n </p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"ueberauth\" :model=\"ueberauth\" :label-width=\"labelWidth\">\n <el-form-item label=\"OAuth consumer mode\" class=\"options-paragraph-container\">\n <p class=\"options-paragraph\">\n OAuth consumer mode allows sign in / sign up via external OAuth providers\n (e.g. Twitter, Facebook, Google, Microsoft, etc.). Implementation is based on Ueberauth; see the list of\n <a\n href=\"https://github.com/ueberauth/ueberauth/wiki/List-of-Strategies\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n available strategies.\n </a>\n </p>\n <p class=\"options-paragraph\">\n Note: each strategy is shipped as a separate dependency; in order to get the strategies, run\n <span class=\"code\">OAUTH_CONSUMER_STRATEGIES=\"...\" mix deps.get</span>,\n e.g. <span class=\"code\">OAUTH_CONSUMER_STRATEGIES=\"twitter facebook google microsoft\" mix deps.get</span>.\n The server should also be started with <span class=\"code\">OAUTH_CONSUMER_STRATEGIES=\"...\" mix phx.server</span>\n in case you enable any strategies.\n </p>\n <p class=\"options-paragraph\">\n Note: each strategy requires separate setup (on external provider side and Pleroma side).\n Below are the guidelines on setting up most popular strategies.\n </p>\n <p class=\"options-paragraph\">\n Note: make sure that <span class=\"code\">'SameSite=Lax'</span> is set in\n <span class=\"code\">extra_cookie_attrs</span> when you have this feature enabled.\n OAuth consumer mode will not work with <span class=\"code\">'SameSite=Strict'</span>\n </p>\n <p class=\"options-paragraph\">For Twitter,\n <a\n href=\"https://developer.twitter.com/en/apps\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n register an app,\n </a>\n configure callback URL to <span class=\"code\">https://&lt;your_host&gt;/oauth/twitter/callback</span>\n </p>\n <p class=\"options-paragraph\">For Facebook,\n <a\n href=\"https://developers.facebook.com/apps\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n register an app,\n </a>\n configure callback URL to <span class=\"code\">https://&lt;your_host&gt;/oauth/facebook/callback</span>,\n enable Facebook Login service at\n <span class=\"code\">https://developers.facebook.com/apps/&lt;app_id&gt;/fb-login/settings/</span>\n </p>\n <p class=\"options-paragraph\">For Google,\n <a\n href=\"https://console.developers.google.com/\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n register an app,\n </a>\n configure callback URL to <span class=\"code\">https://&lt;your_host&gt;/oauth/google/callback</span>\n </p>\n <p class=\"options-paragraph\">For Microsoft,\n <a\n href=\"https://portal.azure.com\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n register an app,\n </a>\n configure callback URL to <span class=\"code\">https://&lt;your_host&gt;/oauth/microsoft/callback</span>\n </p>\n <p class=\"options-paragraph\">\n Once the app is configured on external OAuth provider side, add app's credentials and strategy-specific settings\n per strategy's documentation (e.g.\n <a\n href=\"https://github.com/ueberauth/ueberauth_twitter\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n ueberauth_twitter\n </a>).\n </p>\n </el-form-item>\n <el-form-item label=\"Ueberauth:\"/>\n <el-form-item label=\"Base path\">\n <el-input :value=\"ueberauth.base_path\" @input=\"updateSetting($event, 'ueberauth', 'base_path')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"facebook\" :model=\"facebook\" :label-width=\"labelWidth\">\n <el-form-item label=\"Facebook:\"/>\n <el-form-item label=\"Client ID\">\n <el-input :value=\"facebook.client_id\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'client_id')\"/>\n </el-form-item>\n <el-form-item label=\"Client secret\">\n <el-input :value=\"facebook.client_secret\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'client_secret')\"/>\n </el-form-item>\n <el-form-item label=\"Redirect URI\">\n <el-input :value=\"facebook.redirect_uri\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'redirect_uri')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"twitter\" :model=\"twitter\" :label-width=\"labelWidth\">\n <el-form-item label=\"Twitter:\"/>\n <el-form-item label=\"Consumer key\">\n <el-input :value=\"twitter.consumer_key\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Twitter.OAuth', 'consumer_key')\"/>\n </el-form-item>\n <el-form-item label=\"Consumer secret\">\n <el-input :value=\"twitter.consumer_secret\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Twitter.OAuth', 'consumer_secret')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"google\" :model=\"google\" :label-width=\"labelWidth\">\n <el-form-item label=\"Google:\"/>\n <el-form-item label=\"Client ID\">\n <el-input :value=\"google.client_id\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'client_id')\"/>\n </el-form-item>\n <el-form-item label=\"Client secret\">\n <el-input :value=\"google.client_secret\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'client_secret')\"/>\n </el-form-item>\n <el-form-item label=\"Redirect URI\">\n <el-input :value=\"google.redirect_uri\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'redirect_uri')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"microsoft\" :model=\"microsoft\" :label-width=\"labelWidth\">\n <el-form-item label=\"Microsoft:\"/>\n <el-form-item label=\"Client ID\">\n <el-input :value=\"microsoft.client_id\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Microsoft.OAuth', 'client_id')\"/>\n </el-form-item>\n <el-form-item label=\"Client secret\">\n <el-input :value=\"microsoft.client_secret\" @input=\"updateSetting($event, 'Ueberauth.Strategy.Microsoft.OAuth', 'client_secret')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"oauth2\" :model=\"oauth2\" :label-width=\"labelWidth\">\n <el-form-item label=\"OAuth 2.0 Provider:\"/>\n <el-form-item label=\"Token expires in (s)\">\n <el-input-number :value=\"oauth2.token_expires_in\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'oauth2', 'token_expires_in')\"/>\n <p class=\"expl\">The lifetime in seconds of the access token</p>\n </el-form-item>\n <el-form-item label=\"Issue new refresh token\">\n <el-switch :value=\"oauth2.issue_new_refresh_token\" @change=\"updateSetting($event, 'oauth2', 'issue_new_refresh_token')\"/>\n <p class=\"expl\">Keeps old refresh token or generate new refresh token when to obtain an access token</p>\n </el-form-item>\n <el-form-item label=\"Clean expired token\">\n <el-switch :value=\"oauth2.clean_expired_tokens\" @change=\"updateSetting($event, 'oauth2', 'clean_expired_tokens')\"/>\n <p class=\"expl\">Enable a background job to clean expired oauth tokens. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Clean expired token interval\">\n <el-input-number :value=\"oauth2.clean_expired_tokens_interval / 3600000\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 3600000, 'oauth2', 'clean_expired_tokens_interval')\"/>\n <p class=\"expl\">Interval to run the job to clean expired tokens. Defaults to 24 hours.</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Authentication',\n computed: {\n ...mapGetters([\n 'pleromaAuthenticator',\n 'ldap',\n 'auth',\n 'ueberauth',\n 'oauth2',\n 'facebook',\n 'google',\n 'twitter',\n 'microsoft'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Authentication.vue?vue&type=template&id=2b18224e&\"\nimport script from \"./Authentication.vue?vue&type=script&lang=js&\"\nexport * from \"./Authentication.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Authentication.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Authentication.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"pleromaAuthenticator\",attrs:{\"model\":_vm.pleromaAuthenticator,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Authentication type\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaAuthenticator.value,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Auth.Authenticator', 'value')}}},[_c('el-option',{attrs:{\"label\":\"None\",\"value\":\"\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Pleroma.Web.Auth.PleromaAuthenticator // Default database authenticator\",\"value\":\"Pleroma.Web.Auth.PleromaAuthenticator\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Pleroma.Web.Auth.LDAPAuthenticator // LDAP authenticator\",\"value\":\"Pleroma.Web.Auth.LDAPAuthenticator\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"auth\",attrs:{\"model\":_vm.auth,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Authentication settings:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Auth template\"}},[_c('el-input',{attrs:{\"value\":_vm.auth.auth_template},on:{\"input\":function($event){return _vm.updateSetting($event, 'auth', 'auth_template')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Authentication form template. By default it's\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"show.html\")]),_vm._v(\" which corresponds to\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"lib/pleroma/web/templates/o_auth/o_auth/show.html.eex.\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"OAuth consumer template\"}},[_c('el-input',{attrs:{\"value\":_vm.auth.oauth_consumer_template},on:{\"input\":function($event){return _vm.updateSetting($event, 'auth', 'oauth_consumer_template')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"OAuth consumer mode authentication form template. By default it's\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"consumer.html\")]),_vm._v(\" which corresponds to\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"lib/pleroma/web/templates/o_auth/o_auth/consumer.html.eex.\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"OAuth consumer strategies\"}},[_c('el-select',{attrs:{\"value\":_vm.auth.oauth_consumer_strategies || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'auth', 'oauth_consumer_strategies')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The list of enabled OAuth consumer strategies; by default it's set by\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"OAUTH_CONSUMER_STRATEGIES\")]),_vm._v(\"\\n environment variable. You can enter values in the following format: \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'a:foo b:baz'\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"ldap\",attrs:{\"model\":_vm.ldap,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{staticClass:\"options-paragraph-container\"},[_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"Use LDAP for user authentication. When a user logs in to the Pleroma\\n instance, the name and password will be verified by trying to authenticate\\n (bind) to an LDAP server. If a user exists in the LDAP directory but there\\n is no account with the same name yet on the Pleroma instance then a new\\n Pleroma account will be created with the same name as the LDAP user name.\")])]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"LDAP Authenticator:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.ldap.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'ldap', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables LDAP authentication\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Host\"}},[_c('el-input',{attrs:{\"value\":_vm.ldap.host},on:{\"input\":function($event){return _vm.updateSetting($event, 'ldap', 'host')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"LDAP server hostname\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.ldap.port},on:{\"input\":function($event){return _vm.updateSetting($event, 'ldap', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"LDAP port, e.g. 389 or 636\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"SSL\"}},[_c('el-switch',{attrs:{\"value\":_vm.ldap.ssl},on:{\"change\":function($event){return _vm.updateSetting($event, 'ldap', 'ssl')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"True to use SSL, usually implies the port 636\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"TLS\"}},[_c('el-switch',{attrs:{\"value\":_vm.ldap.tls},on:{\"change\":function($event){return _vm.updateSetting($event, 'ldap', 'tls')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"True to start TLS, usually implies the port 389\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Base\"}},[_c('el-input',{attrs:{\"value\":_vm.ldap.base},on:{\"input\":function($event){return _vm.updateSetting($event, 'ldap', 'base')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"LDAP base, e.g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'dc=example,dc=com'\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"UID\"}},[_c('el-input',{attrs:{\"value\":_vm.ldap.uid},on:{\"input\":function($event){return _vm.updateSetting($event, 'ldap', 'uid')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"LDAP attribute name to authenticate the user, e.g. when\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'cn'\")]),_vm._v(\", the filter will be \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'cn=username,base'\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"ueberauth\",attrs:{\"model\":_vm.ueberauth,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{staticClass:\"options-paragraph-container\",attrs:{\"label\":\"OAuth consumer mode\"}},[_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n OAuth consumer mode allows sign in / sign up via external OAuth providers\\n (e.g. Twitter, Facebook, Google, Microsoft, etc.). Implementation is based on Ueberauth; see the list of\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/ueberauth/ueberauth/wiki/List-of-Strategies\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n available strategies.\\n \")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n Note: each strategy is shipped as a separate dependency; in order to get the strategies, run\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"OAUTH_CONSUMER_STRATEGIES=\\\"...\\\" mix deps.get\")]),_vm._v(\",\\n e.g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"OAUTH_CONSUMER_STRATEGIES=\\\"twitter facebook google microsoft\\\" mix deps.get\")]),_vm._v(\".\\n The server should also be started with \"),_c('span',{staticClass:\"code\"},[_vm._v(\"OAUTH_CONSUMER_STRATEGIES=\\\"...\\\" mix phx.server\")]),_vm._v(\"\\n in case you enable any strategies.\\n \")]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n Note: each strategy requires separate setup (on external provider side and Pleroma side).\\n Below are the guidelines on setting up most popular strategies.\\n \")]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n Note: make sure that \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'SameSite=Lax'\")]),_vm._v(\" is set in\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"extra_cookie_attrs\")]),_vm._v(\" when you have this feature enabled.\\n OAuth consumer mode will not work with \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'SameSite=Strict'\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"For Twitter,\\n \"),_c('a',{attrs:{\"href\":\"https://developer.twitter.com/en/apps\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n register an app,\\n \")]),_vm._v(\"\\n configure callback URL to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://<your_host>/oauth/twitter/callback\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"For Facebook,\\n \"),_c('a',{attrs:{\"href\":\"https://developers.facebook.com/apps\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n register an app,\\n \")]),_vm._v(\"\\n configure callback URL to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://<your_host>/oauth/facebook/callback\")]),_vm._v(\",\\n enable Facebook Login service at\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://developers.facebook.com/apps/<app_id>/fb-login/settings/\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"For Google,\\n \"),_c('a',{attrs:{\"href\":\"https://console.developers.google.com/\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n register an app,\\n \")]),_vm._v(\"\\n configure callback URL to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://<your_host>/oauth/google/callback\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"For Microsoft,\\n \"),_c('a',{attrs:{\"href\":\"https://portal.azure.com\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n register an app,\\n \")]),_vm._v(\"\\n configure callback URL to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://<your_host>/oauth/microsoft/callback\")])]),_vm._v(\" \"),_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"\\n Once the app is configured on external OAuth provider side, add app's credentials and strategy-specific settings\\n per strategy's documentation (e.g.\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/ueberauth/ueberauth_twitter\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n ueberauth_twitter\\n \")]),_vm._v(\").\\n \")])]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Ueberauth:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Base path\"}},[_c('el-input',{attrs:{\"value\":_vm.ueberauth.base_path},on:{\"input\":function($event){return _vm.updateSetting($event, 'ueberauth', 'base_path')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"facebook\",attrs:{\"model\":_vm.facebook,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Facebook:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client ID\"}},[_c('el-input',{attrs:{\"value\":_vm.facebook.client_id},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'client_id')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client secret\"}},[_c('el-input',{attrs:{\"value\":_vm.facebook.client_secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'client_secret')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect URI\"}},[_c('el-input',{attrs:{\"value\":_vm.facebook.redirect_uri},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Facebook.OAuth', 'redirect_uri')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"twitter\",attrs:{\"model\":_vm.twitter,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Twitter:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Consumer key\"}},[_c('el-input',{attrs:{\"value\":_vm.twitter.consumer_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Twitter.OAuth', 'consumer_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Consumer secret\"}},[_c('el-input',{attrs:{\"value\":_vm.twitter.consumer_secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Twitter.OAuth', 'consumer_secret')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"google\",attrs:{\"model\":_vm.google,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Google:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client ID\"}},[_c('el-input',{attrs:{\"value\":_vm.google.client_id},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'client_id')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client secret\"}},[_c('el-input',{attrs:{\"value\":_vm.google.client_secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'client_secret')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect URI\"}},[_c('el-input',{attrs:{\"value\":_vm.google.redirect_uri},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Google.OAuth', 'redirect_uri')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"microsoft\",attrs:{\"model\":_vm.microsoft,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Microsoft:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client ID\"}},[_c('el-input',{attrs:{\"value\":_vm.microsoft.client_id},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Microsoft.OAuth', 'client_id')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Client secret\"}},[_c('el-input',{attrs:{\"value\":_vm.microsoft.client_secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Ueberauth.Strategy.Microsoft.OAuth', 'client_secret')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"oauth2\",attrs:{\"model\":_vm.oauth2,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"OAuth 2.0 Provider:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Token expires in (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.oauth2.token_expires_in,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'oauth2', 'token_expires_in')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The lifetime in seconds of the access token\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Issue new refresh token\"}},[_c('el-switch',{attrs:{\"value\":_vm.oauth2.issue_new_refresh_token},on:{\"change\":function($event){return _vm.updateSetting($event, 'oauth2', 'issue_new_refresh_token')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Keeps old refresh token or generate new refresh token when to obtain an access token\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Clean expired token\"}},[_c('el-switch',{attrs:{\"value\":_vm.oauth2.clean_expired_tokens},on:{\"change\":function($event){return _vm.updateSetting($event, 'oauth2', 'clean_expired_tokens')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable a background job to clean expired oauth tokens. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Clean expired token interval\"}},[_c('el-input-number',{attrs:{\"value\":_vm.oauth2.clean_expired_tokens_interval / 3600000,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 3600000, 'oauth2', 'clean_expired_tokens_interval')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Interval to run the job to clean expired tokens. Defaults to 24 hours.\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinker.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinker.vue?vue&type=script&lang=js&\"","<template>\n <el-form v-if=\"!loading\" ref=\"autoLinker\" :model=\"autoLinker\" :label-width=\"labelWidth\">\n <el-form-item label=\"Class\">\n <el-switch :value=\"booleanClass\" @change=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'class')\"/>\n <p v-if=\"!booleanClass\" class=\"expl\">Specify the class to be added to the generated link. False to clear.</p>\n </el-form-item>\n <el-form-item v-if=\"booleanClass\">\n <el-input :value=\"getStringValue('class')\" @input=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'class')\"/>\n <p class=\"expl\">Specify the class to be added to the generated link. False to clear.</p>\n </el-form-item>\n <el-form-item label=\"Rel\">\n <el-switch :value=\"booleanRel\" @change=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'rel')\"/>\n <p v-if=\"!booleanRel\" class=\"expl\">Override the rel attribute. False to clear</p>\n </el-form-item>\n <el-form-item v-if=\"booleanRel\">\n <el-input :value=\"getStringValue('rel')\" @input=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'rel')\"/>\n <p class=\"expl\">Override the rel attribute. False to clear</p>\n </el-form-item>\n <el-form-item label=\"New window\">\n <el-switch :value=\"autoLinker.opts.new_window\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'new_window')\"/>\n <p class=\"expl\">Set to false to remove <span class=\"code\">target='_blank'</span> attribute</p>\n </el-form-item>\n <el-form-item label=\"Scheme\">\n <el-switch :value=\"autoLinker.opts.scheme\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'scheme')\"/>\n <p class=\"expl\">Set to true to link urls with schema <span class=\"code\">http://google.com</span></p>\n </el-form-item>\n <el-form-item label=\"Truncate\">\n <el-switch :value=\"booleanTruncate\" @change=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'truncate')\"/>\n <p v-if=\"!booleanTruncate\" class=\"expl\">Set to a number to truncate urls longer then the number.\n Truncated urls will end in <span class=\"code\">..</span></p>\n </el-form-item>\n <el-form-item v-if=\"booleanTruncate\">\n <el-input-number :value=\"getStringValue('truncate')\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processTwoTypeValue($event, 'auto_linker', 'opts', 'truncate')\"/>\n <p class=\"expl\">Specify the class to be added to the generated link. False to clear.</p>\n </el-form-item>\n <el-form-item label=\"Strip prefix\">\n <el-switch :value=\"autoLinker.opts.strip_prefix\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'strip_prefix')\"/>\n <p class=\"expl\">Strip the scheme prefix</p>\n </el-form-item>\n <el-form-item label=\"Extra\">\n <el-switch :value=\"autoLinker.opts.extra\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'extra')\"/>\n <p class=\"expl\">Link urls with rarely used schemes (magnet, ipfs, irc, etc.)</p>\n </el-form-item>\n <el-form-item label=\"Validate TLD\">\n <el-switch :value=\"autoLinker.opts.validate_tld\" @change=\"processNestedData($event, 'auto_linker', 'opts', 'validate_tld')\"/>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'AutoLinker',\n computed: {\n ...mapGetters([\n 'autoLinker'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n },\n loading() {\n return this.$store.state.settings.loading\n },\n booleanClass() {\n return this.getBooleanValue('class')\n },\n booleanRel() {\n return this.getBooleanValue('rel')\n },\n booleanTruncate() {\n return this.getBooleanValue('truncate')\n }\n },\n methods: {\n getBooleanValue(name) {\n const value = this.autoLinker.opts[name]\n return typeof value === 'string' || typeof value === 'number'\n },\n getNumValue(name) {\n const value = this.autoLinker.opts[name]\n return value || 0\n },\n getStringValue(name) {\n const value = this.autoLinker.opts[name]\n return value || ''\n },\n processTwoTypeValue(value, tab, inputName, childName) {\n if (value === true) {\n const data = childName === 'truncate' ? 0 : ''\n this.processNestedData(data, tab, inputName, childName)\n } else {\n this.processNestedData(value, tab, inputName, childName)\n }\n },\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./AutoLinker.vue?vue&type=template&id=c17fdb86&\"\nimport script from \"./AutoLinker.vue?vue&type=script&lang=js&\"\nexport * from \"./AutoLinker.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AutoLinker.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"AutoLinker.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading)?_c('el-form',{ref:\"autoLinker\",attrs:{\"model\":_vm.autoLinker,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Class\"}},[_c('el-switch',{attrs:{\"value\":_vm.booleanClass},on:{\"change\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'class')}}}),_vm._v(\" \"),(!_vm.booleanClass)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Specify the class to be added to the generated link. False to clear.\")]):_vm._e()],1),_vm._v(\" \"),(_vm.booleanClass)?_c('el-form-item',[_c('el-input',{attrs:{\"value\":_vm.getStringValue('class')},on:{\"input\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'class')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Specify the class to be added to the generated link. False to clear.\")])],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Rel\"}},[_c('el-switch',{attrs:{\"value\":_vm.booleanRel},on:{\"change\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'rel')}}}),_vm._v(\" \"),(!_vm.booleanRel)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Override the rel attribute. False to clear\")]):_vm._e()],1),_vm._v(\" \"),(_vm.booleanRel)?_c('el-form-item',[_c('el-input',{attrs:{\"value\":_vm.getStringValue('rel')},on:{\"input\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'rel')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Override the rel attribute. False to clear\")])],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"New window\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.new_window},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'new_window')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to false to remove \"),_c('span',{staticClass:\"code\"},[_vm._v(\"target='_blank'\")]),_vm._v(\" attribute\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scheme\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.scheme},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'scheme')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to true to link urls with schema \"),_c('span',{staticClass:\"code\"},[_vm._v(\"http://google.com\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Truncate\"}},[_c('el-switch',{attrs:{\"value\":_vm.booleanTruncate},on:{\"change\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'truncate')}}}),_vm._v(\" \"),(!_vm.booleanTruncate)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to a number to truncate urls longer then the number.\\n Truncated urls will end in \"),_c('span',{staticClass:\"code\"},[_vm._v(\"..\")])]):_vm._e()],1),_vm._v(\" \"),(_vm.booleanTruncate)?_c('el-form-item',[_c('el-input-number',{attrs:{\"value\":_vm.getStringValue('truncate'),\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processTwoTypeValue($event, 'auto_linker', 'opts', 'truncate')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Specify the class to be added to the generated link. False to clear.\")])],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Strip prefix\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.strip_prefix},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'strip_prefix')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Strip the scheme prefix\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Extra\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.extra},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'extra')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Link urls with rarely used schemes (magnet, ipfs, irc, etc.)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Validate TLD\"}},[_c('el-switch',{attrs:{\"value\":_vm.autoLinker.opts.validate_tld},on:{\"change\":function($event){return _vm.processNestedData($event, 'auto_linker', 'opts', 'validate_tld')}}})],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Captcha.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"captcha\" :model=\"captcha\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"captcha.enabled\" @change=\"updateSetting($event, 'Pleroma.Captcha', 'enabled')\"/>\n <p class=\"expl\">Whether the captcha should be shown on registration</p>\n </el-form-item>\n <el-form-item label=\"Valid for (s)\">\n <el-input-number :value=\"captcha.seconds_valid\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Captcha', 'seconds_valid')\"/>\n <p class=\"expl\">The time in seconds for which the captcha is valid</p>\n </el-form-item>\n <el-form-item label=\"Method\">\n <el-select :value=\"captcha.method\" clearable @change=\"updateSetting($event, 'Pleroma.Captcha', 'method')\">\n <el-option label=\"Pleroma.Captcha.Kocaptcha\" value=\"Pleroma.Captcha.Kocaptcha\"/>\n </el-select>\n <p class=\"expl\">The method/service to use for captcha</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"kocaptcha\" :model=\"kocaptcha\" :label-width=\"labelWidth\">\n <el-form-item label=\"Kocaptcha Endpoint\">\n <el-input :value=\"kocaptcha.endpoint\" @input=\"updateSetting($event, 'Pleroma.Captcha.Kocaptcha', 'endpoint')\"/>\n <p class=\"expl\">Kocaptcha is a captcha service with a single API endpoint, the source code is\n <a href=\"https://github.com/koto-bank/kocaptcha\" rel=\"nofollow noreferrer noopener\" target=\"_blank\">here</a>.\n The default endpoint <span class=\"code\">'https://captcha.kotobank.ch'</span> is hosted by the developer.\n </p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Captcha',\n computed: {\n ...mapGetters([\n 'captcha',\n 'kocaptcha'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Captcha.vue?vue&type=template&id=fe53e0f8&\"\nimport script from \"./Captcha.vue?vue&type=script&lang=js&\"\nexport * from \"./Captcha.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Captcha.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Captcha.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"captcha\",attrs:{\"model\":_vm.captcha,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.captcha.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Captcha', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether the captcha should be shown on registration\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Valid for (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.captcha.seconds_valid,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Captcha', 'seconds_valid')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The time in seconds for which the captcha is valid\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Method\"}},[_c('el-select',{attrs:{\"value\":_vm.captcha.method,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Captcha', 'method')}}},[_c('el-option',{attrs:{\"label\":\"Pleroma.Captcha.Kocaptcha\",\"value\":\"Pleroma.Captcha.Kocaptcha\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The method/service to use for captcha\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"kocaptcha\",attrs:{\"model\":_vm.kocaptcha,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Kocaptcha Endpoint\"}},[_c('el-input',{attrs:{\"value\":_vm.kocaptcha.endpoint},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Captcha.Kocaptcha', 'endpoint')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Kocaptcha is a captcha service with a single API endpoint, the source code is\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/koto-bank/kocaptcha\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"here\")]),_vm._v(\".\\n The default endpoint \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'https://captcha.kotobank.ch'\")]),_vm._v(\" is hosted by the developer.\\n \")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Database.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Database.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"database\" :model=\"database\" :label-width=\"labelWidth\">\n <el-form-item label=\"Database settings:\"/>\n <el-form-item label=\"RUM enabled\">\n <el-switch :value=\"database.rum_enabled\" @change=\"updateSetting($event, 'database', 'rum_enabled')\"/>\n <p class=\"expl\">RUM indexes are an alternative indexing scheme that is not included in PostgreSQL by default.\n While they may eventually be mainlined, for now they have to be installed as a PostgreSQL extension from\n <a\n href=\"https://github.com/postgrespro/rum\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n https://github.com/postgrespro/rum.\n </a>\n </p>\n <p class=\"expl\">Their advantage over the standard GIN indexes is that they allow efficient ordering of search results by timestamp,\n which makes search queries a lot faster on larger servers, by one or two orders of magnitude.\n They take up around 3 times as much space as GIN indexes.</p>\n <p class=\"expl\">To enable them, both the <span class=\"code\">rum_enabled</span> flag has to be set and the following special\n migration has to be run: <span class=\"code\">mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/</span></p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"ectoRepos\" :model=\"ectoRepos\" :label-width=\"labelWidth\">\n <el-form-item label=\"Ecto repos\">\n <el-select :value=\"ectoRepos.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'ecto_repos', 'value')\">\n <el-option label=\"Pleroma.Repo\" value=\"Pleroma.Repo\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"pleromaRepo\" :model=\"pleromaRepo\" :label-width=\"labelWidth\">\n <el-form-item label=\"Pleroma Repo configuration:\"/>\n <el-form-item label=\"Name\">\n <el-input :value=\"pleromaRepo.name\" @input=\"updateSetting($event, 'Pleroma.Repo', 'name')\"/>\n <p class=\"expl\">The name of the Repo supervisor process</p>\n </el-form-item>\n <el-form-item label=\"Priv\">\n <el-input :value=\"pleromaRepo.priv\" @input=\"updateSetting($event, 'Pleroma.Repo', 'priv')\"/>\n <p class=\"expl\">The directory where to keep repository data, like migrations, schema and more. Defaults to <span class=\"code\">\n priv/YOUR_REPO</span>. It must always point to a subdirectory inside the priv directory</p>\n </el-form-item>\n <el-form-item label=\"URL\">\n <el-input :value=\"pleromaRepo.url\" @input=\"updateSetting($event, 'Pleroma.Repo', 'url')\"/>\n <p class=\"expl\">An URL that specifies storage information</p>\n </el-form-item>\n <el-form-item label=\"Log level\">\n <el-select :value=\"pleromaRepo.log\" clearable @change=\"updateSetting($event, 'Pleroma.Repo', 'log')\">\n <el-option :value=\"false\" label=\"False - disables logging for that repository.\"/>\n <el-option value=\":debug\" label=\":debug - for debug-related messages\"/>\n <el-option value=\":info\" label=\":info - for information of any kind\"/>\n <el-option value=\":warn\" label=\":warn - for warnings\"/>\n <el-option value=\":error\" label=\":error - for errors\"/>\n </el-select>\n <p class=\"expl\">The log level used when logging the query with Elixir's Logger</p>\n </el-form-item>\n <el-form-item label=\"Pool size\">\n <el-input-number :value=\"pleromaRepo.pool_size\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Repo', 'pool_size')\"/>\n <p class=\"expl\">The size of the pool used by the connection module. Defaults to <span class=\"code\">10</span></p>\n </el-form-item>\n <el-form-item label=\"Telemetry prefix\">\n <el-select :value=\"pleromaRepo.telemetry_prefix || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Repo', 'telemetry_prefix')\">\n <el-option label=\":my_app\" value=\":my_app\"/>\n <el-option label=\":repo\" value=\":repo\"/>\n <el-option label=\":query\" value=\":query\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Types\">\n <el-input :value=\"pleromaRepo.types\" @input=\"updateSetting($event, 'Pleroma.Repo', 'types')\"/>\n </el-form-item>\n <el-form-item label=\"Telemetry event\">\n <el-select :value=\"pleromaRepo.telemetry_event || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Repo', 'telemetry_event')\">\n <el-option label=\"Pleroma.Repo.Instrumenter\" value=\"Pleroma.Repo.Instrumenter\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Connection options:\"/>\n <el-form-item label=\"Hostname\">\n <el-input :value=\"pleromaRepo.hostname\" @input=\"updateSetting($event, 'Pleroma.Repo', 'hostname')\"/>\n <p class=\"expl\">Server hostname</p>\n </el-form-item>\n <el-form-item label=\"Socket dir\">\n <el-input :value=\"pleromaRepo.socket_dir\" @input=\"updateSetting($event, 'Pleroma.Repo', 'socket_dir')\"/>\n <p class=\"expl\">Connect to Postgres via UNIX sockets in the given directory. The socket name is derived based on the port.\n This is the preferred method for configuring sockets and it takes precedence over the hostname.\n If you are connecting to a socket outside of the Postgres convention, use <span class=\"code\">:socket</span> instead.</p>\n </el-form-item>\n <el-form-item label=\"Socket\">\n <el-input :value=\"pleromaRepo.socket\" @input=\"updateSetting($event, 'Pleroma.Repo', 'socket')\"/>\n <p class=\"expl\">Connect to Postgres via UNIX sockets in the given path. This option takes precedence over the\n <span class=\"code\">:hostname</span> and <span class=\"code\">:socket_dir</span></p>\n </el-form-item>\n <el-form-item label=\"Username\">\n <el-input :value=\"pleromaRepo.username\" @input=\"updateSetting($event, 'Pleroma.Repo', 'username')\"/>\n </el-form-item>\n <el-form-item label=\"Password\">\n <el-input :value=\"pleromaRepo.password\" @input=\"updateSetting($event, 'Pleroma.Repo', 'password')\"/>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"pleromaRepo.port\" @input=\"updateSetting($event, 'Pleroma.Repo', 'port')\"/>\n <p class=\"expl\">Server port (default: 5432)</p>\n </el-form-item>\n <el-form-item label=\"Database\">\n <el-input :value=\"pleromaRepo.database\" @input=\"updateSetting($event, 'Pleroma.Repo', 'database')\"/>\n <p class=\"expl\">The database to connect to</p>\n </el-form-item>\n <el-form-item label=\"Maintenance database\">\n <el-input :value=\"pleromaRepo.maintenance_database\" @input=\"updateSetting($event, 'Pleroma.Repo', 'maintenance_database')\"/>\n <p class=\"expl\">Specifies the name of the database to connect to when creating or dropping the database. Defaults to \"postgres\"</p>\n </el-form-item>\n <el-form-item label=\"Pool\">\n <el-input :value=\"pleromaRepo.pool\" @input=\"updateSetting($event, 'Pleroma.Repo', 'pool')\"/>\n <p class=\"expl\">The connection pool module, defaults to <span class=\"code\">DBConnection.ConnectionPool</span></p>\n </el-form-item>\n <el-form-item label=\"SSL\">\n <el-switch :value=\"pleromaRepo.ssl\" @change=\"updateSetting($event, 'Pleroma.Repo', 'ssl')\"/>\n <p class=\"expl\">Set to true if ssl should be used</p>\n </el-form-item>\n <el-form-item label=\"Connect timeout\">\n <el-input-number :value=\"pleromaRepo.connect_timeout\" :step=\"1000\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Repo', 'connect_timeout')\"/>\n <p class=\"expl\">The timeout for establishing new connections. Defaults to 5000</p>\n </el-form-item>\n <el-form-item label=\"Prepare\">\n <el-select :value=\"pleromaRepo.prepare\" clearable @change=\"updateSetting($event, 'Pleroma.Repo', 'prepare')\">\n <el-option label=\"named\" value=\":named\"/>\n <el-option label=\"unnamed\" value=\":unnamed\"/>\n </el-select>\n <p class=\"expl\">How to prepare queries, either <span class=\"code\">:named</span> to use named queries or\n <span class=\"code\">:unnamed</span> to force unnamed queries (default: :named)</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Instance',\n computed: {\n ...mapGetters([\n 'database',\n 'ectoRepos',\n 'pleromaRepo'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Database.vue?vue&type=template&id=7b40c3c6&\"\nimport script from \"./Database.vue?vue&type=script&lang=js&\"\nexport * from \"./Database.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Database.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Database.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"database\",attrs:{\"model\":_vm.database,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Database settings:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"RUM enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.database.rum_enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'database', 'rum_enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"RUM indexes are an alternative indexing scheme that is not included in PostgreSQL by default.\\n While they may eventually be mainlined, for now they have to be installed as a PostgreSQL extension from\\n \"),_c('a',{attrs:{\"href\":\"https://github.com/postgrespro/rum\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n https://github.com/postgrespro/rum.\\n \")])]),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Their advantage over the standard GIN indexes is that they allow efficient ordering of search results by timestamp,\\n which makes search queries a lot faster on larger servers, by one or two orders of magnitude.\\n They take up around 3 times as much space as GIN indexes.\")]),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"To enable them, both the \"),_c('span',{staticClass:\"code\"},[_vm._v(\"rum_enabled\")]),_vm._v(\" flag has to be set and the following special\\n migration has to be run: \"),_c('span',{staticClass:\"code\"},[_vm._v(\"mix ecto.migrate --migrations-path priv/repo/optional_migrations/rum_indexing/\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"ectoRepos\",attrs:{\"model\":_vm.ectoRepos,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Ecto repos\"}},[_c('el-select',{attrs:{\"value\":_vm.ectoRepos.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'ecto_repos', 'value')}}},[_c('el-option',{attrs:{\"label\":\"Pleroma.Repo\",\"value\":\"Pleroma.Repo\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"pleromaRepo\",attrs:{\"model\":_vm.pleromaRepo,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Pleroma Repo configuration:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Name\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.name},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'name')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The name of the Repo supervisor process\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Priv\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.priv},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'priv')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The directory where to keep repository data, like migrations, schema and more. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"\\n priv/YOUR_REPO\")]),_vm._v(\". It must always point to a subdirectory inside the priv directory\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"URL\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.url},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'url')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"An URL that specifies storage information\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Log level\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaRepo.log,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'log')}}},[_c('el-option',{attrs:{\"value\":false,\"label\":\"False - disables logging for that repository.\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":debug\",\"label\":\":debug - for debug-related messages\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":info\",\"label\":\":info - for information of any kind\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":warn\",\"label\":\":warn - for warnings\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":error\",\"label\":\":error - for errors\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The log level used when logging the query with Elixir's Logger\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pool size\"}},[_c('el-input-number',{attrs:{\"value\":_vm.pleromaRepo.pool_size,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'pool_size')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The size of the pool used by the connection module. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"10\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Telemetry prefix\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaRepo.telemetry_prefix || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'telemetry_prefix')}}},[_c('el-option',{attrs:{\"label\":\":my_app\",\"value\":\":my_app\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\":repo\",\"value\":\":repo\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\":query\",\"value\":\":query\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Types\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.types},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'types')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Telemetry event\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaRepo.telemetry_event || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'telemetry_event')}}},[_c('el-option',{attrs:{\"label\":\"Pleroma.Repo.Instrumenter\",\"value\":\"Pleroma.Repo.Instrumenter\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Connection options:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hostname\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.hostname},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'hostname')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Server hostname\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Socket dir\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.socket_dir},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'socket_dir')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Connect to Postgres via UNIX sockets in the given directory. The socket name is derived based on the port.\\n This is the preferred method for configuring sockets and it takes precedence over the hostname.\\n If you are connecting to a socket outside of the Postgres convention, use \"),_c('span',{staticClass:\"code\"},[_vm._v(\":socket\")]),_vm._v(\" instead.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Socket\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.socket},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'socket')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Connect to Postgres via UNIX sockets in the given path. This option takes precedence over the\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\":hostname\")]),_vm._v(\" and \"),_c('span',{staticClass:\"code\"},[_vm._v(\":socket_dir\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Username\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.username},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'username')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Password\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.password},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'password')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.port},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Server port (default: 5432)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Database\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.database},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'database')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The database to connect to\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Maintenance database\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.maintenance_database},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'maintenance_database')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Specifies the name of the database to connect to when creating or dropping the database. Defaults to \\\"postgres\\\"\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pool\"}},[_c('el-input',{attrs:{\"value\":_vm.pleromaRepo.pool},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'pool')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The connection pool module, defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"DBConnection.ConnectionPool\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"SSL\"}},[_c('el-switch',{attrs:{\"value\":_vm.pleromaRepo.ssl},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'ssl')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to true if ssl should be used\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Connect timeout\"}},[_c('el-input-number',{attrs:{\"value\":_vm.pleromaRepo.connect_timeout,\"step\":1000,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'connect_timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The timeout for establishing new connections. Defaults to 5000\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Prepare\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaRepo.prepare,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Repo', 'prepare')}}},[_c('el-option',{attrs:{\"label\":\"named\",\"value\":\":named\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"unnamed\",\"value\":\":unnamed\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"How to prepare queries, either \"),_c('span',{staticClass:\"code\"},[_vm._v(\":named\")]),_vm._v(\" to use named queries or\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\":unnamed\")]),_vm._v(\" to force unnamed queries (default: :named)\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const options = {\n federationPublisherModulesOptions: [\n { label: 'Pleroma.Web.ActivityPub.Publisher', value: 'Pleroma.Web.ActivityPub.Publisher' },\n { label: 'Pleroma.Web.Websub', value: 'Pleroma.Web.Websub' },\n { label: 'Pleroma.Web.Salmon', value: 'Pleroma.Web.Salmon' }],\n rewritePolicyOptions: [\n { label: 'NoOpPolicy', value: 'Pleroma.Web.ActivityPub.MRF.NoOpPolicy', expl: 'NoOpPolicy: Doesn’t modify activities (default)' },\n { label: 'DropPolicy', value: 'Pleroma.Web.ActivityPub.MRF.DropPolicy', expl: 'DropPolicy: Drops all activities. It generally doesn’t makes sense to use in production' },\n { label: 'SimplePolicy', value: 'Pleroma.Web.ActivityPub.MRF.SimplePolicy', expl: 'SimplePolicy: Restrict the visibility of activities from certains instances (See :mrf_simple section)' },\n { label: 'TagPolicy', value: 'Pleroma.Web.ActivityPub.MRF.TagPolicy', expl: 'Applies policies to individual users based on tags, which can be set using pleroma-fe/admin-fe/any other app that supports Pleroma Admin API. For example it allows marking posts from individual users nsfw (sensitive)' },\n { label: 'SubchainPolicy', value: 'Pleroma.Web.ActivityPub.MRF.SubchainPolicy', expl: 'Selectively runs other MRF policies when messages match (see :mrf_subchain section)' },\n { label: 'RejectNonPublic', value: 'Pleroma.Web.ActivityPub.MRF.RejectNonPublic', expl: 'RejectNonPublic: Drops posts with non-public visibility settings (See :mrf_rejectnonpublic section)' },\n { label: 'EnsureRePrepended', value: 'Pleroma.Web.ActivityPub.MRF.EnsureRePrepended', expl: 'EnsureRePrepended: Rewrites posts to ensure that replies to posts with subjects do not have an identical subject and instead begin with re:' },\n { label: 'AntiLinkSpamPolicy', value: 'Pleroma.Web.ActivityPub.MRF.AntiLinkSpamPolicy', expl: 'Rejects posts from likely spambots by rejecting posts from new users that contain links' },\n { label: 'MediaProxyWarmingPolicy', value: 'Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy', expl: 'Crawls attachments using their MediaProxy URLs so that the MediaProxy cache is primed' },\n { label: 'MentionPolicy', value: 'Pleroma.Web.ActivityPub.MRF.MentionPolicy', expl: 'Drops posts mentioning configurable users. (see :mrf_mention section)' },\n { label: 'VocabularyPolicy', value: 'Pleroma.Web.ActivityPub.MRF.VocabularyPolicy', expl: 'Restricts activities to a configured set of vocabulary' }\n ],\n quarantinedInstancesOptions: [],\n autofollowedNicknamesOptions: [],\n uriSchemesOptions: [\n { label: 'https', value: 'https' },\n { label: 'http', value: 'http' },\n { label: 'dat', value: 'dat' },\n { label: 'dweb', value: 'dweb' },\n { label: 'gopher', value: 'gopher' },\n { label: 'ipfs', value: 'ipfs' },\n { label: 'ipns', value: 'ipns' },\n { label: 'irc', value: 'irc' },\n { label: 'ircs', value: 'ircs' },\n { label: 'magnet', value: 'magnet' },\n { label: 'mailto', value: 'mailto' },\n { label: 'mumble', value: 'mumble' },\n { label: 'ssb', value: 'ssb' },\n { label: 'xmpp', value: 'xmpp' }],\n themeOptions: [\n { label: 'pleroma-dark', value: 'pleroma-dark' },\n { label: 'pleroma-light', value: 'pleroma-light' },\n { label: 'classic-dark', value: 'classic-dark' },\n { label: 'bird', value: 'bird' },\n { label: 'ir-black', value: 'ir-black' },\n { label: 'monokai', value: 'monokai' },\n { label: 'mammal', value: 'mammal' },\n { label: 'redmond-xx', value: 'redmond-xx' },\n { label: 'redmond-xx-se', value: 'redmond-xx-se' },\n { label: 'redmond-xxi', value: 'redmond-xxi' },\n { label: 'breezy-dark', value: 'breezy-dark' },\n { label: 'breezy-light', value: 'breezy-light' }],\n instrumentersOptions: [{ label: 'Pleroma.Web.Endpoint.Instrumenter', value: 'Pleroma.Web.Endpoint.Instrumenter' }],\n extraCookieAttrsOptions: [{ label: 'SameSite=Lax', value: 'SameSite=Lax' }],\n hackneyPoolsOptions: [{ label: 'Federation', value: ':federation', max_connections: 50, timeout: 150000 },\n { label: 'Media', value: ':media', max_connections: 50, timeout: 150000 },\n { label: 'Upload', value: ':upload', max_connections: 25, timeout: 300000 }],\n whitelistedContentTypesOptions: [{ label: 'image/gif', value: 'image/gif' },\n { label: 'image/jpeg', value: 'image/jpeg' },\n { label: 'image/jpg', value: 'image/jpg' },\n { label: 'image/png', value: 'image/png' },\n { label: 'image/svg+xml', value: 'image/svg+xml' },\n { label: 'audio/mpeg', value: 'audio/mpeg' },\n { label: 'audio/mp3', value: 'audio/mp3' },\n { label: 'video/webm', value: 'video/webm' },\n { label: 'video/mp4', value: 'video/mp4' },\n { label: 'video/quicktime', value: 'video/quicktime' }],\n mogrifyActionsOptions: [{ label: 'strip', value: 'strip' }, { label: 'auto-orient', value: 'auto-orient' }],\n adapterOptions: [\n { label: 'Swoosh.Adapters.Sendmail', value: 'Swoosh.Adapters.Sendmail' },\n { label: 'Swoosh.Adapters.SMTP', value: 'Swoosh.Adapters.SMTP' },\n { label: 'Swoosh.Adapters.Sendgrid', value: 'Swoosh.Adapters.Sendgrid' },\n { label: 'Swoosh.Adapters.Mandrill', value: 'Swoosh.Adapters.Mandrill' },\n { label: 'Swoosh.Adapters.Mailgun', value: 'Swoosh.Adapters.Mailgun' },\n { label: 'Swoosh.Adapters.Mailjet', value: 'Swoosh.Adapters.Mailjet' },\n { label: 'Swoosh.Adapters.Postmark', value: 'Swoosh.Adapters.Postmark' },\n { label: 'Swoosh.Adapters.SparkPost', value: 'Swoosh.Adapters.SparkPost' },\n { label: 'Swoosh.Adapters.AmazonSES', value: 'Swoosh.Adapters.AmazonSES' },\n { label: 'Swoosh.Adapters.Dyn', value: 'Swoosh.Adapters.Dyn' },\n { label: 'Swoosh.Adapters.SocketLabs', value: 'Swoosh.Adapters.SocketLabs' },\n { label: 'Swoosh.Adapters.Gmail', value: 'Swoosh.Adapters.Gmail' },\n { label: 'Swoosh.Adapters.Local', value: 'Swoosh.Adapters.Local' }\n ],\n loggerBackendsOptions: [\n { label: 'Console // log to stdout', value: JSON.stringify(':console') },\n { label: 'Ex_syslogger // log to syslog', value: JSON.stringify({ 'tuple': ['ExSyslogger', ':ex_syslogger'] }) },\n { label: 'Quack.Logger // log to Slack', value: JSON.stringify('Quack.Logger') }\n ],\n restrictedNicknamesOptions: [\n { value: '.well-known' },\n { value: '~' },\n { value: 'about' },\n { value: 'activities' },\n { value: 'api' },\n { value: 'auth' },\n { value: 'check_password' },\n { value: 'dev' },\n { value: 'friend-requests' },\n { value: 'inbox' },\n { value: 'internal' },\n { value: 'main' },\n { value: 'media' },\n { value: 'nodeinfo' },\n { value: 'notice' },\n { value: 'oauth' },\n { value: 'objects' },\n { value: 'ostatus_subscribe' },\n { value: 'pleroma' },\n { value: 'proxy' },\n { value: 'push' },\n { value: 'registration' },\n { value: 'relay' },\n { value: 'settings' },\n { value: 'status' },\n { value: 'tag' },\n { value: 'user-search' },\n { value: 'user_exists' },\n { value: 'users' },\n { value: 'web' }\n ]\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Endpoint.vue?vue&type=script&lang=js&\"","<template>\n <el-form v-if=\"!loading\" ref=\"endpoint\" :model=\"endpoint\" :label-width=\"labelWidth\">\n <el-form-item label=\"Instrumenters\">\n <el-select :value=\"endpoint.instrumenters || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'instrumenters')\">\n <el-option\n v-for=\"item in instrumentersOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Compile-time configuration:\"/>\n <el-form-item label=\"Code reloader\">\n <el-switch :value=\"endpoint.code_reloader\" @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'code_reloader')\"/>\n <p class=\"expl\">Enables code reloading functionality</p>\n </el-form-item>\n <el-form-item label=\"Debug errors\">\n <el-switch :value=\"endpoint.debug_errors\" @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'debug_errors')\"/>\n <p class=\"expl\">Enables using <span class=\"code\">Plug.Debugger</span> functionality for debugging failures in the application.\n Recommended to be set to true only in development as it allows listing of the application source code during debugging. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Render errors:\"/>\n <el-form-item label=\"View\">\n <el-input :value=\"endpoint.render_errors.view\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'view')\"/>\n </el-form-item>\n <el-form-item label=\"Accepts\">\n <el-select :value=\"endpoint.render_errors.accepts || []\" multiple filterable allow-create @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'accepts')\"/>\n </el-form-item>\n <el-form-item label=\"Layout\">\n <el-switch :value=\"endpoint.render_errors.layout\" @change=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'layout')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Runtime configuration:\"/>\n <el-form-item label=\"Cache static manifest\">\n <el-input :value=\"endpoint.cache_static_manifest\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'cache_static_manifest')\"/>\n <p class=\"expl\">A path to a json manifest file that contains static files and their digested version.\n This is typically set to <span class=\"code\">'priv/static/cache_manifest.json'</span>\n which is the file automatically generated by <span class=\"code\">mix phx.digest</span></p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"HTTP:\"/>\n <el-form-item label=\"Configure HTTP server\">\n <el-switch :value=\"configureHttp\" @change=\"showServerConfig($event, 'http')\"/>\n </el-form-item>\n <div v-if=\"configureHttp\">\n <el-form-item label=\"Dispatch\">\n <editor v-model=\"editorContentHttp\" height=\"150\" width=\"100%\" lang=\"elixir\" theme=\"chrome\"/>\n <p class=\"expl\">You can type in Elixir code here</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"endpointHttp.port\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'port')\"/>\n <p class=\"expl\">The port to run the server. Defaults to 4000 (http) and 4040 (https).</p>\n </el-form-item>\n <el-form-item label=\"IP\">\n <el-input :value=\"endpointHttp.ip\" placeholder=\"xxx.xxx.xxx.xx\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'ip')\"/>\n <p class=\"expl\">The ip to bind the server to</p>\n </el-form-item>\n <el-form-item label=\"Reference name\">\n <el-input :value=\"endpointHttp.ref\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'ref')\"/>\n <p class=\"expl\">The reference name to be used. Defaults to <span class=\"code\">plug.HTTP</span> (http) and\n <span class=\"code\">plug.HTTPS</span> (https). This is the value that needs to be given on shutdown.</p>\n </el-form-item>\n <el-form-item label=\"Compress\">\n <el-switch :value=\"endpointHttp.compress\" @change=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'compress')\"/>\n <p class=\"expl\">Cowboy will attempt to compress the response body. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Timeout in s\">\n <el-input-number :value=\"endpointHttp.timeout / 1000\" :step=\"1\" :min=\"0\" size=\"large\" @input=\"processNestedData($event * 1000, 'Pleroma.Web.Endpoint', 'http', 'timeout')\"/>\n <p class=\"expl\">Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.</p>\n </el-form-item>\n <div class=\"line\"/>\n </div>\n <el-form-item label=\"HTTPS:\"/>\n <el-form-item label=\"Configure HTTPS server\">\n <el-switch :value=\"configureHttps\" @change=\"showServerConfig($event, 'https')\"/>\n </el-form-item>\n <div v-if=\"configureHttps\">\n <el-form-item label=\"Dispatch\">\n <editor v-model=\"editorContentHttps\" height=\"150\" width=\"100%\" lang=\"elixir\" theme=\"chrome\"/>\n <p class=\"expl\">You can type in Elixir code here</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"endpointHttps.port\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'port')\"/>\n <p class=\"expl\">The port to run the server. Defaults to 4000 (http) and 4040 (https).</p>\n </el-form-item>\n <el-form-item label=\"IP\">\n <el-input :value=\"endpointHttps.ip\" placeholder=\"xxx.xxx.xxx.xx\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'ip')\"/>\n <p class=\"expl\">The ip to bind the server to</p>\n </el-form-item>\n <el-form-item label=\"Reference name\">\n <el-input :value=\"endpointHttps.ref\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'https', 'ref')\"/>\n <p class=\"expl\">The reference name to be used. Defaults to <span class=\"code\">plug.HTTP</span> (http) and\n <span class=\"code\">plug.HTTPS</span> (https). This is the value that needs to be given on shutdown.</p>\n </el-form-item>\n <el-form-item label=\"Compress\">\n <el-switch :value=\"endpointHttps.compress\" @change=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'compress')\"/>\n <p class=\"expl\">Cowboy will attempt to compress the response body. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Timeout in s\">\n <el-input-number :value=\"endpointHttps.timeout / 1000\" :step=\"1\" :min=\"0\" size=\"large\" @input=\"processNestedData($event * 1000, 'Pleroma.Web.Endpoint', 'https', 'timeout')\"/>\n <p class=\"expl\">Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.</p>\n </el-form-item>\n <div class=\"line\"/>\n </div>\n <el-form-item label=\"Secret key base\">\n <el-input :value=\"endpoint.secret_key_base\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'secret_key_base')\"/>\n <p class=\"expl\">A secret key used as a base to generate secrets for encrypting and signing data. For example, cookies and tokens are signed by default, but they may also be encrypted if desired. Defaults to nil as it must be set per application</p>\n </el-form-item>\n <el-form-item label=\"Server\">\n <el-switch :value=\"endpoint.server\" @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'server')\"/>\n <p class=\"expl\">When true, starts the web server when the endpoint supervision tree starts. Defaults to false. The <span class=\"code\">mix phx.server</span> task automatically sets this to true.</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"URL:\"/>\n <el-form-item label=\"Host\">\n <el-input :value=\"endpoint.url.host\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'host')\"/>\n <p class=\"expl\">The host without the scheme and a post (e.g <span class=\"code\">example.com</span>, not <span class=\"code\">https://example.com:2020</span>)</p>\n </el-form-item>\n <el-form-item label=\"Scheme\">\n <el-input :value=\"endpoint.url.scheme\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'scheme')\"/>\n <p class=\"expl\">e.g http, https</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"endpoint.url.port\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'port')\"/>\n </el-form-item>\n <el-form-item label=\"Path\">\n <el-input :value=\"endpoint.url.path\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'path')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Protocol\">\n <el-input :value=\"endpoint.protocol\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'protocol')\"/>\n </el-form-item>\n <el-form-item label=\"Signing salt\">\n <el-input :value=\"endpoint.signing_salt\" @input=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'signing_salt')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"PubSub:\"/>\n <el-form-item label=\"Name\">\n <el-input :value=\"endpoint.pubsub.name\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'pubsub', 'name')\"/>\n </el-form-item>\n <el-form-item label=\"Adapter\">\n <el-input :value=\"endpoint.pubsub.adapter\" @input=\"processNestedData($event, 'Pleroma.Web.Endpoint', 'pubsub', 'adapter')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Secure cookie flag\">\n <el-switch :value=\"endpoint.secure_cookie_flag\" @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'secure_cookie_flag')\"/>\n </el-form-item>\n <el-form-item label=\"Extra cookie attrs\">\n <el-select :value=\"endpoint.extra_cookie_attrs || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Web.Endpoint', 'extra_cookie_attrs')\">\n <el-option\n v-for=\"item in extraCookieAttrsOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item class=\"options-paragraph-container\">\n <p class=\"options-paragraph\">Only common options are listed here. You can add more (all configuration options can be viewed\n <a\n href=\"https://hexdocs.pm/phoenix/Phoenix.Endpoint.html#module-dynamic-configuration\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">here</a>)\n </p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\nimport AceEditor from 'vue2-ace-editor'\nimport 'brace/mode/elixir'\nimport 'default-passive-events'\n\nexport default {\n name: 'Endpoint',\n components: {\n editor: AceEditor\n },\n computed: {\n ...mapGetters([\n 'endpoint'\n ]),\n editorContentHttp: {\n get: function() {\n return this.endpoint.http.dispatch ? this.endpoint.http.dispatch[0] : ''\n },\n set: function(value) {\n this.processNestedData([value], 'Pleroma.Web.Endpoint', 'http', 'dispatch')\n }\n },\n editorContentHttps: {\n get: function() {\n return this.endpoint.https.dispatch ? this.endpoint.https.dispatch[0] : ''\n },\n set: function(value) {\n this.processNestedData([value], 'Pleroma.Web.Endpoint', 'https', 'dispatch')\n }\n },\n configureHttp() {\n return !this.endpoint.http === false\n },\n configureHttps() {\n return !this.endpoint.https === false\n },\n endpointHttp() {\n return this.endpoint.http || {}\n },\n endpointHttps() {\n return this.endpoint.https || {}\n },\n extraCookieAttrsOptions() {\n return options.extraCookieAttrsOptions\n },\n instrumentersOptions() {\n return options.instrumentersOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n },\n loading() {\n return this.$store.state.settings.loading\n }\n },\n methods: {\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n showServerConfig(value, protocol) {\n if (value) {\n this.updateSetting({}, 'Pleroma.Web.Endpoint', protocol)\n } else {\n this.updateSetting(value, 'Pleroma.Web.Endpoint', protocol)\n }\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Endpoint.vue?vue&type=template&id=0bfb584c&\"\nimport script from \"./Endpoint.vue?vue&type=script&lang=js&\"\nexport * from \"./Endpoint.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Endpoint.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Endpoint.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading)?_c('el-form',{ref:\"endpoint\",attrs:{\"model\":_vm.endpoint,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Instrumenters\"}},[_c('el-select',{attrs:{\"value\":_vm.endpoint.instrumenters || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'instrumenters')}}},_vm._l((_vm.instrumentersOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Compile-time configuration:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Code reloader\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.code_reloader},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'code_reloader')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables code reloading functionality\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Debug errors\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.debug_errors},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'debug_errors')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables using \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Plug.Debugger\")]),_vm._v(\" functionality for debugging failures in the application.\\n Recommended to be set to true only in development as it allows listing of the application source code during debugging. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Render errors:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"View\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.render_errors.view},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'view')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Accepts\"}},[_c('el-select',{attrs:{\"value\":_vm.endpoint.render_errors.accepts || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'accepts')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Layout\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.render_errors.layout},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'render_errors', 'layout')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Runtime configuration:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Cache static manifest\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.cache_static_manifest},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'cache_static_manifest')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A path to a json manifest file that contains static files and their digested version.\\n This is typically set to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"'priv/static/cache_manifest.json'\")]),_vm._v(\"\\n which is the file automatically generated by \"),_c('span',{staticClass:\"code\"},[_vm._v(\"mix phx.digest\")])])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"HTTP:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Configure HTTP server\"}},[_c('el-switch',{attrs:{\"value\":_vm.configureHttp},on:{\"change\":function($event){return _vm.showServerConfig($event, 'http')}}})],1),_vm._v(\" \"),(_vm.configureHttp)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Dispatch\"}},[_c('editor',{attrs:{\"height\":\"150\",\"width\":\"100%\",\"lang\":\"elixir\",\"theme\":\"chrome\"},model:{value:(_vm.editorContentHttp),callback:function ($$v) {_vm.editorContentHttp=$$v},expression:\"editorContentHttp\"}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"You can type in Elixir code here\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttp.port},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The port to run the server. Defaults to 4000 (http) and 4040 (https).\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"IP\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttp.ip,\"placeholder\":\"xxx.xxx.xxx.xx\"},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'ip')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The ip to bind the server to\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reference name\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttp.ref},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'ref')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The reference name to be used. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"plug.HTTP\")]),_vm._v(\" (http) and\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"plug.HTTPS\")]),_vm._v(\" (https). This is the value that needs to be given on shutdown.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Compress\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpointHttp.compress},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'http', 'compress')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Cowboy will attempt to compress the response body. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout in s\"}},[_c('el-input-number',{attrs:{\"value\":_vm.endpointHttp.timeout / 1000,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"input\":function($event){return _vm.processNestedData($event * 1000, 'Pleroma.Web.Endpoint', 'http', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"})],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"HTTPS:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Configure HTTPS server\"}},[_c('el-switch',{attrs:{\"value\":_vm.configureHttps},on:{\"change\":function($event){return _vm.showServerConfig($event, 'https')}}})],1),_vm._v(\" \"),(_vm.configureHttps)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Dispatch\"}},[_c('editor',{attrs:{\"height\":\"150\",\"width\":\"100%\",\"lang\":\"elixir\",\"theme\":\"chrome\"},model:{value:(_vm.editorContentHttps),callback:function ($$v) {_vm.editorContentHttps=$$v},expression:\"editorContentHttps\"}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"You can type in Elixir code here\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttps.port},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The port to run the server. Defaults to 4000 (http) and 4040 (https).\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"IP\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttps.ip,\"placeholder\":\"xxx.xxx.xxx.xx\"},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'ip')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The ip to bind the server to\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reference name\"}},[_c('el-input',{attrs:{\"value\":_vm.endpointHttps.ref},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'https', 'ref')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The reference name to be used. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"plug.HTTP\")]),_vm._v(\" (http) and\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"plug.HTTPS\")]),_vm._v(\" (https). This is the value that needs to be given on shutdown.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Compress\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpointHttps.compress},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'https', 'compress')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Cowboy will attempt to compress the response body. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout in s\"}},[_c('el-input-number',{attrs:{\"value\":_vm.endpointHttps.timeout / 1000,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"input\":function($event){return _vm.processNestedData($event * 1000, 'Pleroma.Web.Endpoint', 'https', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Time in s with no requests before Cowboy closes the connection. Defaults to 5 s.\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"})],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Secret key base\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.secret_key_base},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'secret_key_base')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A secret key used as a base to generate secrets for encrypting and signing data. For example, cookies and tokens are signed by default, but they may also be encrypted if desired. Defaults to nil as it must be set per application\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Server\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.server},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'server')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When true, starts the web server when the endpoint supervision tree starts. Defaults to false. The \"),_c('span',{staticClass:\"code\"},[_vm._v(\"mix phx.server\")]),_vm._v(\" task automatically sets this to true.\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"URL:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Host\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.url.host},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'host')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The host without the scheme and a post (e.g \"),_c('span',{staticClass:\"code\"},[_vm._v(\"example.com\")]),_vm._v(\", not \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://example.com:2020\")]),_vm._v(\")\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scheme\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.url.scheme},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'scheme')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"e.g http, https\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.url.port},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'port')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Path\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.url.path},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'url', 'path')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Protocol\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.protocol},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'protocol')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Signing salt\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.signing_salt},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'signing_salt')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"PubSub:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Name\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.pubsub.name},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'pubsub', 'name')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Adapter\"}},[_c('el-input',{attrs:{\"value\":_vm.endpoint.pubsub.adapter},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Web.Endpoint', 'pubsub', 'adapter')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Secure cookie flag\"}},[_c('el-switch',{attrs:{\"value\":_vm.endpoint.secure_cookie_flag},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'secure_cookie_flag')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Extra cookie attrs\"}},[_c('el-select',{attrs:{\"value\":_vm.endpoint.extra_cookie_attrs || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Endpoint', 'extra_cookie_attrs')}}},_vm._l((_vm.extraCookieAttrsOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{staticClass:\"options-paragraph-container\"},[_c('p',{staticClass:\"options-paragraph\"},[_vm._v(\"Only common options are listed here. You can add more (all configuration options can be viewed\\n \"),_c('a',{attrs:{\"href\":\"https://hexdocs.pm/phoenix/Phoenix.Endpoint.html#module-dynamic-configuration\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"here\")]),_vm._v(\")\\n \")])]),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Esshd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Esshd.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form :label-width=\"labelWidth\">\n <el-form-item>\n <p class=\"expl\">Before enabling this you must:\n <ol class=\"esshd-list\">\n <li>Add <span class=\"code\">:esshd</span> to <span class=\"code\">mix.exs</span> as one of the\n <span class=\"code\">extra_applications</span>\n </li>\n <li>Generate host keys in your\n <span class=\"code\">priv</span> dir with\n <span class=\"code\">ssh-keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key</span>\n </li>\n </ol>\n </p>\n </el-form-item>\n </el-form>\n <el-form ref=\"enabled\" :model=\"enabled\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"enabled.value\" @change=\"updateSetting($event, 'enabled', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"privDir\" :model=\"privDir\" :label-width=\"labelWidth\">\n <el-form-item label=\"Priv dir\">\n <el-input :value=\"privDir.value\" @input=\"updateSetting($event, 'priv_dir', 'value')\"/>\n <p class=\"expl\">You can input relative path here</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"handler\" :model=\"handler\" :label-width=\"labelWidth\">\n <el-form-item label=\"Handler\">\n <el-input :value=\"handler.value\" @input=\"updateSetting($event, 'handler', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"port\" :model=\"port\" :label-width=\"labelWidth\">\n <el-form-item label=\"Port\">\n <el-input :value=\"port.value\" @input=\"updateSetting($event, 'port', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"passwordAuthenticator\" :model=\"passwordAuthenticator\" :label-width=\"labelWidth\">\n <el-form-item label=\"Password authenticator\">\n <el-input :value=\"passwordAuthenticator.value\" @input=\"updateSetting($event, 'password_authenticator', 'value')\"/>\n </el-form-item>\n <el-form-item>\n <p class=\"expl\">Feel free to adjust the priv_dir and port number.\n Then you will have to create the key for the keys (in the example <span class=\"code\">priv/ssh_keys</span>) and create the host keys with\n <span class=\"code\">ssh-keygen -m PEM -N \"\" -b 2048 -t rsa -f ssh_host_rsa_key</span>.\n After restarting, you should be able to connect to your Pleroma instance with <span class=\"code\">ssh username@server -p $PORT</span>\n </p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Instance',\n computed: {\n ...mapGetters([\n 'enabled',\n 'handler',\n 'passwordAuthenticator',\n 'port',\n 'privDir'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n toggleEsshd(value) {\n this.$store.dispatch('ToggleEsshd', value)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Esshd.vue?vue&type=template&id=75b13a1e&\"\nimport script from \"./Esshd.vue?vue&type=script&lang=js&\"\nexport * from \"./Esshd.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Esshd.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Esshd.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{attrs:{\"label-width\":_vm.labelWidth}},[_c('el-form-item',[_c('p',{staticClass:\"expl\"},[_vm._v(\"Before enabling this you must:\\n \"),_c('ol',{staticClass:\"esshd-list\"},[_c('li',[_vm._v(\"Add \"),_c('span',{staticClass:\"code\"},[_vm._v(\":esshd\")]),_vm._v(\" to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"mix.exs\")]),_vm._v(\" as one of the\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"extra_applications\")])]),_vm._v(\" \"),_c('li',[_vm._v(\"Generate host keys in your\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"priv\")]),_vm._v(\" dir with\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"ssh-keygen -m PEM -N \\\"\\\" -b 2048 -t rsa -f ssh_host_rsa_key\")])])])])])],1),_vm._v(\" \"),_c('el-form',{ref:\"enabled\",attrs:{\"model\":_vm.enabled,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.enabled.value},on:{\"change\":function($event){return _vm.updateSetting($event, 'enabled', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"privDir\",attrs:{\"model\":_vm.privDir,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Priv dir\"}},[_c('el-input',{attrs:{\"value\":_vm.privDir.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'priv_dir', 'value')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"You can input relative path here\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"handler\",attrs:{\"model\":_vm.handler,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Handler\"}},[_c('el-input',{attrs:{\"value\":_vm.handler.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'handler', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"port\",attrs:{\"model\":_vm.port,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.port.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'port', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"passwordAuthenticator\",attrs:{\"model\":_vm.passwordAuthenticator,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Password authenticator\"}},[_c('el-input',{attrs:{\"value\":_vm.passwordAuthenticator.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'password_authenticator', 'value')}}})],1),_vm._v(\" \"),_c('el-form-item',[_c('p',{staticClass:\"expl\"},[_vm._v(\"Feel free to adjust the priv_dir and port number.\\n Then you will have to create the key for the keys (in the example \"),_c('span',{staticClass:\"code\"},[_vm._v(\"priv/ssh_keys\")]),_vm._v(\") and create the host keys with\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"ssh-keygen -m PEM -N \\\"\\\" -b 2048 -t rsa -f ssh_host_rsa_key\")]),_vm._v(\".\\n After restarting, you should be able to connect to your Pleroma instance with \"),_c('span',{staticClass:\"code\"},[_vm._v(\"ssh username@server -p $PORT\")])])]),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Frontend.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Frontend.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"frontend\" :model=\"frontend\" :label-width=\"labelWidth\">\n <el-form-item>\n <p class=\"expl\">This form can be used to configure a keyword list that keeps the configuration data for any kind of frontend.\n By default, settings for <span class=\"code\">pleroma_fe</span> and <span class=\"code\">masto_fe</span> are configured.\n If you want to add your own configuration your settings need to be complete as they will override the defaults.</p>\n </el-form-item>\n <el-form-item label=\"Pleroma FE:\"/>\n <el-form-item label=\"Theme\">\n <el-select :value=\"frontend.pleroma_fe.theme\" clearable @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'theme')\">\n <el-option\n v-for=\"item in themeOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">Which theme to use</p>\n </el-form-item>\n <el-form-item label=\"Background\">\n <el-input :value=\"frontend.pleroma_fe.background\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'background')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendBackgroundPleroma\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">URL of the background, unless viewing a user profile with a background that is set</p>\n </el-form-item>\n <el-form-item label=\"Logo\">\n <el-input :value=\"frontend.pleroma_fe.logo\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logo')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendLogoPleroma\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">URL of the logo</p>\n </el-form-item>\n <el-form-item label=\"Logo mask\">\n <el-switch :value=\"frontend.pleroma_fe.logoMask\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logoMask')\"/>\n <p class=\"expl\">Whether to use only the logo's shape as a mask (true) or as a regular image (false)</p>\n </el-form-item>\n <el-form-item label=\"Logo margin (em)\">\n <el-input-number :value=\"frontend.pleroma_fe.logoMargin\" :step=\"0.1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logoMargin')\"/>\n <p class=\"expl\">What margin to use around the logo</p>\n </el-form-item>\n <el-form-item label=\"Redirect URL\">\n <el-input :value=\"frontend.pleroma_fe.redirectRootNoLogin\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'redirectRootNoLogin')\"/>\n <p class=\"expl\">Relative URL which indicates where to redirect when a user is logged in</p>\n </el-form-item>\n <el-form-item label=\"Redirect for anonymous user\">\n <el-input :value=\"frontend.pleroma_fe.redirectRootLogin\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'redirectRootLogin')\"/>\n <p class=\"expl\">Relative URL which indicates where to redirect when a user isn’t logged in</p>\n </el-form-item>\n <el-form-item label=\"Show instance panel\">\n <el-switch :value=\"frontend.pleroma_fe.showInstanceSpecificPanel\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'showInstanceSpecificPanel')\"/>\n <p class=\"expl\">Whenether to show the instance’s specific panel</p>\n </el-form-item>\n <el-form-item label=\"Scope options enabled\">\n <el-switch :value=\"frontend.pleroma_fe.scopeOptionsEnabled\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'scopeOptionsEnabled')\"/>\n </el-form-item>\n <el-form-item label=\"Formatting options enabled\">\n <el-switch :value=\"frontend.pleroma_fe.formattingOptionsEnabled\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'formattingOptionsEnabled')\"/>\n </el-form-item>\n <el-form-item label=\"Collapse msg with subject\">\n <el-switch :value=\"frontend.pleroma_fe.collapseMessageWithSubject\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'collapseMessageWithSubject')\"/>\n <p class=\"expl\">When a message has a subject (aka Content Warning), collapse it by default</p>\n </el-form-item>\n <el-form-item label=\"Scope copy\">\n <el-switch :value=\"frontend.pleroma_fe.scopeCopy\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'scopeCopy')\"/>\n <p class=\"expl\">Copy the scope <span class=\"code\">(private/unlisted/public)</span> in replies to posts by default</p>\n </el-form-item>\n <el-form-item label=\"Subject line behavior\">\n <el-select :value=\"frontend.pleroma_fe.subjectLineBehavior\" clearable @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'subjectLineBehavior')\">\n <el-option label=\"Email\" value=\"email\">Email / Copy and preprend re:, as in email</el-option>\n <el-option label=\"Masto\" value=\"masto\">Masto / Copy verbatim, as in Mastodon</el-option>\n <el-option label=\"Noop\" value=\"noop\">Noop / Don't copy the subject</el-option>\n </el-select>\n <p class=\"expl\">Allows changing the default behaviour of subject lines in replies</p>\n </el-form-item>\n <el-form-item label=\"Post content type\">\n <el-input :value=\"frontend.pleroma_fe.postContentType\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'postContentType')\"/>\n </el-form-item>\n <el-form-item label=\"Always show subject input\">\n <el-switch :value=\"frontend.pleroma_fe.alwaysShowSubjectInput\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'alwaysShowSubjectInput')\"/>\n <p class=\"expl\">When set to false, auto-hide the subject field when it's empty</p>\n </el-form-item>\n <el-form-item label=\"Hide post statistics\">\n <el-switch :value=\"frontend.pleroma_fe.hidePostStats\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'hidePostStats')\"/>\n <p class=\"expl\">Hide notices statistics(repeats, favorites, …)</p>\n </el-form-item>\n <el-form-item label=\"Hide user statistics\">\n <el-switch :value=\"frontend.pleroma_fe.hideUserStats\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'hideUserStats')\"/>\n <p class=\"expl\">Hide profile statistics(posts, posts per day, followers, followings, …)</p>\n </el-form-item>\n <el-form-item label=\"Login method\">\n <el-input :value=\"frontend.pleroma_fe.loginMethod\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'loginMethod')\"/>\n </el-form-item>\n <el-form-item label=\"Web push notifications\">\n <el-switch :value=\"frontend.pleroma_fe.webPushNotifications\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'webPushNotifications')\"/>\n </el-form-item>\n <el-form-item label=\"No attachment links\">\n <el-switch :value=\"frontend.pleroma_fe.noAttachmentLinks\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'noAttachmentLinks')\"/>\n </el-form-item>\n <el-form-item label=\"NSFW Censor image\">\n <el-input :value=\"frontend.pleroma_fe.nsfwCensorImage\" @input=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'nsfwCensorImage')\"/>\n </el-form-item>\n <el-form-item label=\"Show features panel\">\n <el-switch :value=\"frontend.pleroma_fe.showFeaturesPanel\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'showFeaturesPanel')\"/>\n </el-form-item>\n <el-form-item label=\"Minimal scopes mode\">\n <el-switch :value=\"frontend.pleroma_fe.minimalScopesMode\" @change=\"processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'minimalScopesMode')\"/>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Masto FE:\"/>\n <el-form-item label=\"Theme\">\n <el-select :value=\"frontend.masto_fe.theme\" clearable @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'theme')\">\n <el-option\n v-for=\"item in themeOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">Which theme to use</p>\n </el-form-item>\n <el-form-item label=\"Background\">\n <el-input :value=\"frontend.masto_fe.background\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'background')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendBackgroundMasto\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">URL of the background, unless viewing a user profile with a background that is set</p>\n </el-form-item>\n <el-form-item label=\"Logo\">\n <el-input :value=\"frontend.masto_fe.logo\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'logo')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendLogoMasto\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">URL of the logo</p>\n </el-form-item>\n <el-form-item label=\"Logo mask\">\n <el-switch :value=\"frontend.masto_fe.logoMask\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'logoMask')\"/>\n <p class=\"expl\">Whether to use only the logo's shape as a mask (true) or as a regular image (false)</p>\n </el-form-item>\n <el-form-item label=\"Logo margin (em)\">\n <el-input-number :value=\"frontend.masto_fe.logoMargin\" :step=\"0.1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'logoMargin')\"/>\n <p class=\"expl\">What margin to use around the logo</p>\n </el-form-item>\n <el-form-item label=\"Redirect URL\">\n <el-input :value=\"frontend.masto_fe.redirectRootNoLogin\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'redirectRootNoLogin')\"/>\n <p class=\"expl\">Relative URL which indicates where to redirect when a user is logged in</p>\n </el-form-item>\n <el-form-item label=\"Redirect for anonymous user\">\n <el-input :value=\"frontend.masto_fe.redirectRootLogin\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'redirectRootLogin')\"/>\n <p class=\"expl\">Relative URL which indicates where to redirect when a user isn’t logged in</p>\n </el-form-item>\n <el-form-item label=\"Show instance panel\">\n <el-switch :value=\"frontend.masto_fe.showInstanceSpecificPanel\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'showInstanceSpecificPanel')\"/>\n <p class=\"expl\">Whenether to show the instance’s specific panel</p>\n </el-form-item>\n <el-form-item label=\"Scope options enabled\">\n <el-switch :value=\"frontend.masto_fe.scopeOptionsEnabled\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'scopeOptionsEnabled')\"/>\n </el-form-item>\n <el-form-item label=\"Formatting options enabled\">\n <el-switch :value=\"frontend.masto_fe.formattingOptionsEnabled\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'formattingOptionsEnabled')\"/>\n </el-form-item>\n <el-form-item label=\"Collapse msg with subjects\">\n <el-switch :value=\"frontend.masto_fe.collapseMessageWithSubject\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'collapseMessageWithSubject')\"/>\n <p class=\"expl\">When a message has a subject (aka Content Warning), collapse it by default</p>\n </el-form-item>\n <el-form-item label=\"Scope copy\">\n <el-switch :value=\"frontend.masto_fe.scopeCopy\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'scopeCopy')\"/>\n <p class=\"expl\">Copy the scope <span class=\"code\">(private/unlisted/public)</span> in replies to posts by default</p>\n </el-form-item>\n <el-form-item label=\"Subject line behavior\">\n <el-select :value=\"frontend.masto_fe.subjectLineBehavior\" clearable @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'subjectLineBehavior')\">\n <el-option label=\"Email\" value=\"email\">Email / Copy and preprend re:, as in email</el-option>\n <el-option label=\"Masto\" value=\"masto\">Masto / Copy verbatim, as in Mastodon</el-option>\n <el-option label=\"Noop\" value=\"noop\">Noop / Don't copy the subject</el-option>\n </el-select>\n <p class=\"expl\">Allows changing the default behaviour of subject lines in replies</p>\n </el-form-item>\n <el-form-item label=\"Post content type\">\n <el-input :value=\"frontend.masto_fe.postContentType\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'postContentType')\"/>\n </el-form-item>\n <el-form-item label=\"Always show subject input\">\n <el-switch :value=\"frontend.masto_fe.alwaysShowSubjectInput\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'alwaysShowSubjectInput')\"/>\n <p class=\"expl\">When set to false, auto-hide the subject field when it's empty</p>\n </el-form-item>\n <el-form-item label=\"Hide post statistics\">\n <el-switch :value=\"frontend.masto_fe.hidePostStats\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'hidePostStats')\"/>\n <p class=\"expl\">Hide notices statistics(repeats, favorites, …)</p>\n </el-form-item>\n <el-form-item label=\"Hide user statistics\">\n <el-switch :value=\"frontend.masto_fe.hideUserStats\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'hideUserStats')\"/>\n <p class=\"expl\">Hide profile statistics(posts, posts per day, followers, followings, …)</p>\n </el-form-item>\n <el-form-item label=\"Login method\">\n <el-input :value=\"frontend.masto_fe.loginMethod\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'loginMethod')\"/>\n </el-form-item>\n <el-form-item label=\"Web push notifications\">\n <el-switch :value=\"frontend.masto_fe.webPushNotifications\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'webPushNotifications')\"/>\n </el-form-item>\n <el-form-item label=\"No attachment links\">\n <el-switch :value=\"frontend.masto_fe.noAttachmentLinks\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'noAttachmentLinks')\"/>\n </el-form-item>\n <el-form-item label=\"NSFW Censor image\">\n <el-input :value=\"frontend.masto_fe.nsfwCensorImage\" @input=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'nsfwCensorImage')\"/>\n </el-form-item>\n <el-form-item label=\"Show features panel\">\n <el-switch :value=\"frontend.masto_fe.showFeaturesPanel\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'showFeaturesPanel')\"/>\n </el-form-item>\n <el-form-item label=\"Minimal scopes mode\">\n <el-switch :value=\"frontend.masto_fe.minimalScopesMode\" @change=\"processNestedData($event, 'frontend_configurations', 'masto_fe', 'minimalScopesMode')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"assets\" :model=\"assets\" :label-width=\"labelWidth\">\n <el-form-item label=\"Assets:\"/>\n <el-form-item label=\"Default mascot\">\n <el-select :value=\"assets.default_mascot\" clearable @change=\"updateSetting($event, 'assets', 'default_mascot')\"/>\n <p class=\"expl\">An element from mascots - This will be used as the default mascot on MastoFE\n (default: <span class=\"code\">:pleroma_fox_tan</span>)</p>\n </el-form-item>\n <el-form-item label=\"Mascots\">\n <div v-for=\"([name, url, mimeType], index) in mascots\" :key=\"index\" class=\"mascot-container\">\n <div class=\"mascot-name-container\">\n <el-input :value=\"name\" placeholder=\"Name\" class=\"mascot-name-input\" @input=\"parseMascots($event, 'name', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteMascotsRow(index, 'emoji', 'groups')\"/>\n </div>\n <el-input :value=\"url\" placeholder=\"URL\" class=\"mascot-input\" @input=\"parseMascots($event, 'url', index)\"/>\n <el-input :value=\"mimeType\" placeholder=\"Mime type\" class=\"mascot-input\" @input=\"parseMascots($event, 'mimeType', index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addRowToMascots\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"emoji\" :model=\"emoji\" :label-width=\"labelWidth\">\n <el-form-item label=\"Emoji:\"/>\n <el-form-item label=\"Location of emoji files\">\n <el-select :value=\"emoji.shortcode_globs || []\" multiple filterable allow-create @change=\"updateSetting($event, 'emoji', 'shortcode_globs')\">\n <el-option label=\"/emoji/custom/**/*.png\" value=\"/emoji/custom/**/*.png\"/>\n </el-select>\n <p class=\"expl\">Location of custom emoji files. <span class=\"code\">*</span> can be used as a wildcard.</p>\n </el-form-item>\n <el-form-item label=\"Pack extensions\">\n <el-select :value=\"emoji.pack_extensions || []\" multiple filterable allow-create @change=\"updateSetting($event, 'emoji', 'pack_extensions')\"/>\n <p class=\"expl\">A list of file extensions for emojis, when no <span class=\"code\">emoji.txt</span> for a pack is present. </p>\n </el-form-item>\n <el-form-item label=\"Group\">\n <div v-for=\"([key, value], index) in groups\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"key\" placeholder=\"key\" class=\"name-input\" @input=\"parseGroups($event, 'key', index)\"/> :\n <el-select :value=\"value\" multiple filterable allow-create class=\"value-input\" @change=\"parseGroups($event, 'value', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteGroupsRow(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addRowToGroups\"/>\n </el-form-item>\n <el-form-item label=\"Location of JSON-manifest\">\n <el-input :value=\"emoji.default_manifest\" @input=\"updateSetting($event, 'emoji', 'default_manifest')\"/>\n <p class=\"expl\">Location of the JSON-manifest. This manifest contains information about the emoji-packs you can download. Currently only one manifest can be added (no arrays).</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"chat\" :model=\"chat\" :label-width=\"labelWidth\">\n <el-form-item label=\"Chat enabled\">\n <el-switch :value=\"chat.enabled\" @input=\"updateSetting($event, 'chat', 'enabled')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"markup\" :model=\"markup\" :label-width=\"labelWidth\">\n <el-form-item label=\"Markup settings:\"/>\n <el-form-item label=\"Allow inline images\">\n <el-switch :value=\"markup.allow_inline_images\" @input=\"updateSetting($event, 'markup', 'allow_inline_images')\"/>\n </el-form-item>\n <el-form-item label=\"Allow headings\">\n <el-switch :value=\"markup.allow_headings\" @input=\"updateSetting($event, 'markup', 'allow_headings')\"/>\n </el-form-item>\n <el-form-item label=\"Allow tables\">\n <el-switch :value=\"markup.allow_tables\" @input=\"updateSetting($event, 'markup', 'allow_tables')\"/>\n </el-form-item>\n <el-form-item label=\"Allow fonts\">\n <el-switch :value=\"markup.allow_fonts\" @input=\"updateSetting($event, 'markup', 'allow_fonts')\"/>\n </el-form-item>\n <el-form-item label=\"Scrub policy\">\n <el-select :value=\"markup.scrub_policy || []\" multiple filterable allow-create @change=\"updateSetting($event, 'markup', 'scrub_policy')\">\n <el-option label=\"Pleroma.HTML.Transform.MediaProxy\" value=\"Pleroma.HTML.Transform.MediaProxy\"/>\n <el-option label=\"Pleroma.HTML.Scrubber.Default\" value=\"Pleroma.HTML.Scrubber.Default\"/>\n </el-select>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\n\nexport default {\n name: 'Frontend',\n computed: {\n ...mapGetters([\n 'assets',\n 'frontend',\n 'emoji',\n 'chat',\n 'markup'\n ]),\n groups() {\n return Object.keys(this.emoji.groups).map(key => [key, this.emoji.groups[key]])\n },\n mascots() {\n return Object.keys(this.assets.mascots)\n .map(mascotName =>\n [mascotName, this.assets.mascots[mascotName].url, this.assets.mascots[mascotName].mime_type])\n },\n themeOptions() {\n return options.themeOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n addRowToGroups() {\n const updatedValue = this.groups.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting({ ...updatedValue, '': [] }, 'emoji', 'groups')\n },\n addRowToMascots() {\n const updatedValue = this.mascots.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: { url: el[1], mime_type: el[2] }}\n }, {})\n this.updateSetting({ ...updatedValue, '': { url: '', mime_type: '' }}, 'assets', 'mascots')\n },\n deleteGroupsRow(index) {\n const filteredValues = this.groups.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'emoji', 'groups')\n },\n deleteMascotsRow(index) {\n const filteredValues = this.mascots.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: { url: el[1], mime_type: el[2] }}\n }, {})\n this.updateSetting(updatedValue, 'assets', 'mascots')\n },\n parseGroups(value, inputType, index) {\n const updatedValue = this.groups.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'key' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'emoji', 'groups')\n },\n parseMascots(value, inputType, index) {\n const updatedValue = this.mascots.reduce((acc, el, i) => {\n if (index === i) {\n if (inputType === 'name') {\n return { ...acc, [value]: { url: el[1], mime_type: el[2] }}\n } else if (inputType === 'url') {\n return { ...acc, [el[0]]: { url: value, mime_type: el[2] }}\n } else {\n return { ...acc, [el[0]]: { url: el[1], mime_type: value }}\n }\n }\n return { ...acc, [el[0]]: { url: el[1], mime_type: el[2] }}\n }, {})\n this.updateSetting(updatedValue, 'assets', 'mascots')\n },\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n sendBackgroundMasto({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'frontend_configurations', inputName: 'masto_fe', childName: 'background' })\n },\n sendBackgroundPleroma({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'frontend_configurations', inputName: 'pleroma_fe', childName: 'background' })\n },\n sendLogoMasto({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'frontend_configurations', inputName: 'masto_fe', childName: 'logo' })\n },\n sendLogoPleroma({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'frontend_configurations', inputName: 'pleroma_fe', childName: 'logo' })\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Frontend.vue?vue&type=template&id=b20253e0&\"\nimport script from \"./Frontend.vue?vue&type=script&lang=js&\"\nexport * from \"./Frontend.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Frontend.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Frontend.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"frontend\",attrs:{\"model\":_vm.frontend,\"label-width\":_vm.labelWidth}},[_c('el-form-item',[_c('p',{staticClass:\"expl\"},[_vm._v(\"This form can be used to configure a keyword list that keeps the configuration data for any kind of frontend.\\n By default, settings for \"),_c('span',{staticClass:\"code\"},[_vm._v(\"pleroma_fe\")]),_vm._v(\" and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"masto_fe\")]),_vm._v(\" are configured.\\n If you want to add your own configuration your settings need to be complete as they will override the defaults.\")])]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pleroma FE:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Theme\"}},[_c('el-select',{attrs:{\"value\":_vm.frontend.pleroma_fe.theme,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'theme')}}},_vm._l((_vm.themeOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Which theme to use\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.background},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'background')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendBackgroundPleroma,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"URL of the background, unless viewing a user profile with a background that is set\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.logo},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logo')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendLogoPleroma,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"URL of the logo\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo mask\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.logoMask},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logoMask')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to use only the logo's shape as a mask (true) or as a regular image (false)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo margin (em)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.frontend.pleroma_fe.logoMargin,\"step\":0.1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'logoMargin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"What margin to use around the logo\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect URL\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.redirectRootNoLogin},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'redirectRootNoLogin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Relative URL which indicates where to redirect when a user is logged in\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect for anonymous user\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.redirectRootLogin},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'redirectRootLogin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Relative URL which indicates where to redirect when a user isn’t logged in\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Show instance panel\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.showInstanceSpecificPanel},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'showInstanceSpecificPanel')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whenether to show the instance’s specific panel\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope options enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.scopeOptionsEnabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'scopeOptionsEnabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Formatting options enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.formattingOptionsEnabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'formattingOptionsEnabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Collapse msg with subject\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.collapseMessageWithSubject},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'collapseMessageWithSubject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When a message has a subject (aka Content Warning), collapse it by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope copy\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.scopeCopy},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'scopeCopy')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Copy the scope \"),_c('span',{staticClass:\"code\"},[_vm._v(\"(private/unlisted/public)\")]),_vm._v(\" in replies to posts by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Subject line behavior\"}},[_c('el-select',{attrs:{\"value\":_vm.frontend.pleroma_fe.subjectLineBehavior,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'subjectLineBehavior')}}},[_c('el-option',{attrs:{\"label\":\"Email\",\"value\":\"email\"}},[_vm._v(\"Email / Copy and preprend re:, as in email\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Masto\",\"value\":\"masto\"}},[_vm._v(\"Masto / Copy verbatim, as in Mastodon\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Noop\",\"value\":\"noop\"}},[_vm._v(\"Noop / Don't copy the subject\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows changing the default behaviour of subject lines in replies\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Post content type\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.postContentType},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'postContentType')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Always show subject input\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.alwaysShowSubjectInput},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'alwaysShowSubjectInput')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When set to false, auto-hide the subject field when it's empty\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hide post statistics\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.hidePostStats},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'hidePostStats')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hide notices statistics(repeats, favorites, …)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hide user statistics\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.hideUserStats},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'hideUserStats')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hide profile statistics(posts, posts per day, followers, followings, …)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Login method\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.loginMethod},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'loginMethod')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Web push notifications\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.webPushNotifications},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'webPushNotifications')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"No attachment links\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.noAttachmentLinks},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'noAttachmentLinks')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"NSFW Censor image\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.pleroma_fe.nsfwCensorImage},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'nsfwCensorImage')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Show features panel\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.showFeaturesPanel},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'showFeaturesPanel')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Minimal scopes mode\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.pleroma_fe.minimalScopesMode},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'pleroma_fe', 'minimalScopesMode')}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Masto FE:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Theme\"}},[_c('el-select',{attrs:{\"value\":_vm.frontend.masto_fe.theme,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'theme')}}},_vm._l((_vm.themeOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Which theme to use\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.background},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'background')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendBackgroundMasto,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"URL of the background, unless viewing a user profile with a background that is set\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.logo},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'logo')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendLogoMasto,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"URL of the logo\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo mask\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.logoMask},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'logoMask')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to use only the logo's shape as a mask (true) or as a regular image (false)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo margin (em)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.frontend.masto_fe.logoMargin,\"step\":0.1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'logoMargin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"What margin to use around the logo\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect URL\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.redirectRootNoLogin},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'redirectRootNoLogin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Relative URL which indicates where to redirect when a user is logged in\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect for anonymous user\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.redirectRootLogin},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'redirectRootLogin')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Relative URL which indicates where to redirect when a user isn’t logged in\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Show instance panel\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.showInstanceSpecificPanel},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'showInstanceSpecificPanel')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whenether to show the instance’s specific panel\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope options enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.scopeOptionsEnabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'scopeOptionsEnabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Formatting options enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.formattingOptionsEnabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'formattingOptionsEnabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Collapse msg with subjects\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.collapseMessageWithSubject},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'collapseMessageWithSubject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When a message has a subject (aka Content Warning), collapse it by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope copy\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.scopeCopy},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'scopeCopy')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Copy the scope \"),_c('span',{staticClass:\"code\"},[_vm._v(\"(private/unlisted/public)\")]),_vm._v(\" in replies to posts by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Subject line behavior\"}},[_c('el-select',{attrs:{\"value\":_vm.frontend.masto_fe.subjectLineBehavior,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'subjectLineBehavior')}}},[_c('el-option',{attrs:{\"label\":\"Email\",\"value\":\"email\"}},[_vm._v(\"Email / Copy and preprend re:, as in email\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Masto\",\"value\":\"masto\"}},[_vm._v(\"Masto / Copy verbatim, as in Mastodon\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Noop\",\"value\":\"noop\"}},[_vm._v(\"Noop / Don't copy the subject\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows changing the default behaviour of subject lines in replies\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Post content type\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.postContentType},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'postContentType')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Always show subject input\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.alwaysShowSubjectInput},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'alwaysShowSubjectInput')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When set to false, auto-hide the subject field when it's empty\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hide post statistics\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.hidePostStats},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'hidePostStats')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hide notices statistics(repeats, favorites, …)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hide user statistics\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.hideUserStats},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'hideUserStats')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hide profile statistics(posts, posts per day, followers, followings, …)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Login method\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.loginMethod},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'loginMethod')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Web push notifications\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.webPushNotifications},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'webPushNotifications')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"No attachment links\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.noAttachmentLinks},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'noAttachmentLinks')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"NSFW Censor image\"}},[_c('el-input',{attrs:{\"value\":_vm.frontend.masto_fe.nsfwCensorImage},on:{\"input\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'nsfwCensorImage')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Show features panel\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.showFeaturesPanel},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'showFeaturesPanel')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Minimal scopes mode\"}},[_c('el-switch',{attrs:{\"value\":_vm.frontend.masto_fe.minimalScopesMode},on:{\"change\":function($event){return _vm.processNestedData($event, 'frontend_configurations', 'masto_fe', 'minimalScopesMode')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"assets\",attrs:{\"model\":_vm.assets,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Assets:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Default mascot\"}},[_c('el-select',{attrs:{\"value\":_vm.assets.default_mascot,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'assets', 'default_mascot')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"An element from mascots - This will be used as the default mascot on MastoFE\\n (default: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":pleroma_fox_tan\")]),_vm._v(\")\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Mascots\"}},[_vm._l((_vm.mascots),function(ref,index){\nvar name = ref[0];\nvar url = ref[1];\nvar mimeType = ref[2];\nreturn _c('div',{key:index,staticClass:\"mascot-container\"},[_c('div',{staticClass:\"mascot-name-container\"},[_c('el-input',{staticClass:\"mascot-name-input\",attrs:{\"value\":name,\"placeholder\":\"Name\"},on:{\"input\":function($event){return _vm.parseMascots($event, 'name', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteMascotsRow(index, 'emoji', 'groups')}}})],1),_vm._v(\" \"),_c('el-input',{staticClass:\"mascot-input\",attrs:{\"value\":url,\"placeholder\":\"URL\"},on:{\"input\":function($event){return _vm.parseMascots($event, 'url', index)}}}),_vm._v(\" \"),_c('el-input',{staticClass:\"mascot-input\",attrs:{\"value\":mimeType,\"placeholder\":\"Mime type\"},on:{\"input\":function($event){return _vm.parseMascots($event, 'mimeType', index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addRowToMascots}})],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"emoji\",attrs:{\"model\":_vm.emoji,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Emoji:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Location of emoji files\"}},[_c('el-select',{attrs:{\"value\":_vm.emoji.shortcode_globs || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'emoji', 'shortcode_globs')}}},[_c('el-option',{attrs:{\"label\":\"/emoji/custom/**/*.png\",\"value\":\"/emoji/custom/**/*.png\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Location of custom emoji files. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"*\")]),_vm._v(\" can be used as a wildcard.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pack extensions\"}},[_c('el-select',{attrs:{\"value\":_vm.emoji.pack_extensions || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'emoji', 'pack_extensions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of file extensions for emojis, when no \"),_c('span',{staticClass:\"code\"},[_vm._v(\"emoji.txt\")]),_vm._v(\" for a pack is present. \")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Group\"}},[_vm._l((_vm.groups),function(ref,index){\nvar key = ref[0];\nvar value = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":key,\"placeholder\":\"key\"},on:{\"input\":function($event){return _vm.parseGroups($event, 'key', index)}}}),_vm._v(\" :\\n \"),_c('el-select',{staticClass:\"value-input\",attrs:{\"value\":value,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.parseGroups($event, 'value', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteGroupsRow(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addRowToGroups}})],2),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Location of JSON-manifest\"}},[_c('el-input',{attrs:{\"value\":_vm.emoji.default_manifest},on:{\"input\":function($event){return _vm.updateSetting($event, 'emoji', 'default_manifest')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Location of the JSON-manifest. This manifest contains information about the emoji-packs you can download. Currently only one manifest can be added (no arrays).\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"chat\",attrs:{\"model\":_vm.chat,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Chat enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.chat.enabled},on:{\"input\":function($event){return _vm.updateSetting($event, 'chat', 'enabled')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"markup\",attrs:{\"model\":_vm.markup,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Markup settings:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow inline images\"}},[_c('el-switch',{attrs:{\"value\":_vm.markup.allow_inline_images},on:{\"input\":function($event){return _vm.updateSetting($event, 'markup', 'allow_inline_images')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow headings\"}},[_c('el-switch',{attrs:{\"value\":_vm.markup.allow_headings},on:{\"input\":function($event){return _vm.updateSetting($event, 'markup', 'allow_headings')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow tables\"}},[_c('el-switch',{attrs:{\"value\":_vm.markup.allow_tables},on:{\"input\":function($event){return _vm.updateSetting($event, 'markup', 'allow_tables')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow fonts\"}},[_c('el-switch',{attrs:{\"value\":_vm.markup.allow_fonts},on:{\"input\":function($event){return _vm.updateSetting($event, 'markup', 'allow_fonts')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scrub policy\"}},[_c('el-select',{attrs:{\"value\":_vm.markup.scrub_policy || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'markup', 'scrub_policy')}}},[_c('el-option',{attrs:{\"label\":\"Pleroma.HTML.Transform.MediaProxy\",\"value\":\"Pleroma.HTML.Transform.MediaProxy\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Pleroma.HTML.Scrubber.Default\",\"value\":\"Pleroma.HTML.Scrubber.Default\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gopher.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gopher.vue?vue&type=script&lang=js&\"","<template>\n <el-form ref=\"gopher\" :model=\"gopher\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"gopher.enabled\" @change=\"updateSetting($event, 'gopher', 'enabled')\"/>\n <p class=\"expl\">Enables the gopher interface</p>\n </el-form-item>\n <el-form-item label=\"IP address\">\n <el-input :value=\"gopher.ip\" placeholder=\"xxx.xxx.xxx.xx\" @input=\"updateSetting($event, 'gopher', 'ip')\"/>\n <p class=\"expl\">Enables the gopher interface</p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"gopher.port\" @input=\"updateSetting($event, 'gopher', 'port')\"/>\n <p class=\"expl\">Port to bind to</p>\n </el-form-item>\n <el-form-item label=\"Dst port\">\n <el-input :value=\"gopher.dstport\" @input=\"updateSetting($event, 'gopher', 'dstport')\"/>\n <p class=\"expl\">Port advertised in urls (optional, defaults to port)</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Gopher',\n computed: {\n ...mapGetters([\n 'gopher'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Gopher.vue?vue&type=template&id=4d9e396a&\"\nimport script from \"./Gopher.vue?vue&type=script&lang=js&\"\nexport * from \"./Gopher.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Gopher.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Gopher.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"gopher\",attrs:{\"model\":_vm.gopher,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.gopher.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'gopher', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables the gopher interface\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"IP address\"}},[_c('el-input',{attrs:{\"value\":_vm.gopher.ip,\"placeholder\":\"xxx.xxx.xxx.xx\"},on:{\"input\":function($event){return _vm.updateSetting($event, 'gopher', 'ip')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables the gopher interface\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.gopher.port},on:{\"input\":function($event){return _vm.updateSetting($event, 'gopher', 'port')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Port to bind to\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Dst port\"}},[_c('el-input',{attrs:{\"value\":_vm.gopher.dstport},on:{\"input\":function($event){return _vm.updateSetting($event, 'gopher', 'dstport')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Port advertised in urls (optional, defaults to port)\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Http.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Http.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"http\" :model=\"http\" :label-width=\"labelWidth\">\n <el-form-item label=\"HTTP settings:\"/>\n <el-form-item label=\"Proxy url\">\n <el-input :value=\"http.proxy_url\" @input=\"updateSetting($event, 'http', 'proxy_url')\"/>\n </el-form-item>\n <el-form-item label=\"Send user agent\">\n <el-switch :value=\"http.send_user_agent\" @change=\"updateSetting($event, 'http', 'send_user_agent')\"/>\n </el-form-item>\n <el-form-item label=\"Adapter:\"/>\n <el-form-item label=\"Versions\">\n <el-select :value=\"http.adapter.versions || []\" multiple filterable allow-create @change=\"processNestedData($event, 'http', 'adapter', 'versions')\">\n <el-option value=\":tlsv1\"/>\n <el-option value=\":'tlsv1.1'\"/>\n <el-option value=\":'tlsv1.2'\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"corsPlugMaxAge\" :model=\"corsPlugMaxAge\" :label-width=\"labelWidth\">\n <el-form-item label=\"Cors plug config:\"/>\n <el-form-item label=\"Max age (days)\">\n <el-input-number :value=\"corsPlugMaxAge.value / 86400\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 86400, 'max_age', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"corsPlugMethods\" :model=\"corsPlugMethods\" :label-width=\"labelWidth\">\n <el-form-item label=\"Methods\">\n <el-select :value=\"corsPlugMethods.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'methods', 'value')\">\n <el-option value=\"POST\"/>\n <el-option value=\"PUT\"/>\n <el-option value=\"DELETE\"/>\n <el-option value=\"GET\"/>\n <el-option value=\"PATCH\"/>\n <el-option value=\"OPTIONS\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <el-form ref=\"corsPlugExpose\" :model=\"corsPlugExpose\" :label-width=\"labelWidth\">\n <el-form-item label=\"Expose\">\n <el-select :value=\"corsPlugExpose.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'expose', 'value')\">\n <el-option value=\"Link\"/>\n <el-option value=\"X-RateLimit-Reset\"/>\n <el-option value=\"X-RateLimit-Limit\"/>\n <el-option value=\"X-RateLimit-Remaining\"/>\n <el-option value=\"X-Request-Id\"/>\n <el-option value=\"Idempotency-Key\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <el-form ref=\"corsPlugCredentials\" :model=\"corsPlugCredentials\" :label-width=\"labelWidth\">\n <el-form-item label=\"Credentials\">\n <el-switch :value=\"corsPlugCredentials.value\" @change=\"updateSetting($event, 'credentials', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"corsPlugHeaders\" :model=\"corsPlugHeaders\" :label-width=\"labelWidth\">\n <el-form-item label=\"Headers\">\n <el-select :value=\"corsPlugHeaders.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'headers', 'value')\">\n <el-option value=\"Authorization\"/>\n <el-option value=\"Content-Type\"/>\n <el-option value=\"Idempotency-Key\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"httpSecurity\" :model=\"httpSecurity\" :label-width=\"labelWidth\">\n <el-form-item label=\"HTTP security:\"/>\n <el-form-item label=\"Security policy\">\n <el-switch :value=\"httpSecurity.enabled\" @change=\"updateSetting($event, 'http_security', 'enabled')\"/>\n <p class=\"expl\">Whether the managed content security policy is enabled</p>\n </el-form-item>\n <el-form-item label=\"STS\">\n <el-switch :value=\"httpSecurity.sts\" @change=\"updateSetting($event, 'http_security', 'sts')\"/>\n <p class=\"expl\">Whether to additionally send a <span class=\"code\">Strict-Transport-Security header</span></p>\n </el-form-item>\n <el-form-item label=\"STS max age (days)\">\n <el-input-number :value=\"httpSecurity.sts_max_age / 86400\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 86400, 'http_security', 'sts_max_age')\"/>\n <p class=\"expl\">The maximum age for the <span class=\"code\">Strict-Transport-Security</span> header if sent</p>\n </el-form-item>\n <el-form-item label=\"CT max age (days)\">\n <el-input-number :value=\"httpSecurity.ct_max_age / 86400\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 86400, 'http_security', 'ct_max_age')\"/>\n <p class=\"expl\">The maximum age for the <span class=\"code\">Expect-CT</span> header if sent</p>\n </el-form-item>\n <el-form-item label=\"Referrer policy\">\n <el-select :value=\"httpSecurity.referrer_policy\" clearable @change=\"updateSetting($event, 'http_security', 'referrer_policy')\">\n <el-option label=\"same-origin\" value=\"same-origin\"/>\n <el-option label=\"no-referrer\" value=\"no-referrer\"/>\n </el-select>\n <p class=\"expl\">The referrer policy to use</p>\n </el-form-item>\n <el-form-item label=\"Report URI\">\n <el-input :value=\"httpSecurity.report_uri\" @input=\"updateSetting($event, 'http_security', 'report_uri')\"/>\n <p class=\"expl\">Adds the specified url to <span class=\"code\">report-uri</span> and <span class=\"code\">report-to</span> group in CSP header</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"hackneyPools\" :model=\"hackneyPools\" :label-width=\"labelWidth\">\n <div class=\"line\"/>\n <el-form-item label=\"Hackney pools:\"/>\n <el-form-item label=\"Federation:\"/>\n <el-form-item label=\"Max connections\">\n <el-input-number :value=\"hackneyPools.federation.max_connections\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'hackney_pools', 'federation', 'max_connections')\"/>\n <p class=\"expl\">You may want this pool <span class=\"code\">max_connections</span> to be at least equal to the number of federator jobs + retry queue jobs.</p>\n </el-form-item>\n <el-form-item label=\"Timeout (s)\">\n <el-input-number :value=\"hackneyPools.federation.timeout / 1000\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1000, 'hackney_pools', 'federation', 'timeout')\"/>\n <p class=\"expl\">For the federation jobs</p>\n </el-form-item>\n <el-form-item label=\"Media:\"/>\n <el-form-item label=\"Max connections\">\n <el-input-number :value=\"hackneyPools.media.max_connections\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'hackney_pools', 'media', 'max_connections')\"/>\n </el-form-item>\n <el-form-item label=\"Timeout (s)\">\n <el-input-number :value=\"hackneyPools.media.timeout / 1000\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1000, 'hackney_pools', 'media', 'timeout')\"/>\n <p class=\"expl\">For rich media, media proxy</p>\n </el-form-item>\n <el-form-item label=\"Upload:\"/>\n <el-form-item label=\"Max connections\">\n <el-input-number :value=\"hackneyPools.upload.max_connections\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'hackney_pools', 'upload', 'max_connections')\"/>\n </el-form-item>\n <el-form-item label=\"Timeout (s)\">\n <el-input-number :value=\"hackneyPools.upload.timeout / 1000\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1000, 'hackney_pools', 'upload', 'timeout')\"/>\n <p class=\"expl\">For uploaded media (if using a remote uploader and <span class=\"code\">proxy_remote: true</span>)</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'HTTP',\n computed: {\n ...mapGetters([\n 'corsPlugCredentials',\n 'corsPlugExpose',\n 'corsPlugHeaders',\n 'corsPlugMaxAge',\n 'corsPlugMethods',\n 'hackneyPools',\n 'http',\n 'httpSecurity',\n 'metricsExporter'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Http.vue?vue&type=template&id=01720721&\"\nimport script from \"./Http.vue?vue&type=script&lang=js&\"\nexport * from \"./Http.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Http.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Http.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"http\",attrs:{\"model\":_vm.http,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"HTTP settings:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Proxy url\"}},[_c('el-input',{attrs:{\"value\":_vm.http.proxy_url},on:{\"input\":function($event){return _vm.updateSetting($event, 'http', 'proxy_url')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Send user agent\"}},[_c('el-switch',{attrs:{\"value\":_vm.http.send_user_agent},on:{\"change\":function($event){return _vm.updateSetting($event, 'http', 'send_user_agent')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Adapter:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Versions\"}},[_c('el-select',{attrs:{\"value\":_vm.http.adapter.versions || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'http', 'adapter', 'versions')}}},[_c('el-option',{attrs:{\"value\":\":tlsv1\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":'tlsv1.1'\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":'tlsv1.2'\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugMaxAge\",attrs:{\"model\":_vm.corsPlugMaxAge,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Cors plug config:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max age (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.corsPlugMaxAge.value / 86400,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 86400, 'max_age', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugMethods\",attrs:{\"model\":_vm.corsPlugMethods,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Methods\"}},[_c('el-select',{attrs:{\"value\":_vm.corsPlugMethods.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'methods', 'value')}}},[_c('el-option',{attrs:{\"value\":\"POST\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"PUT\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"DELETE\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"GET\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"PATCH\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"OPTIONS\"}})],1)],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugExpose\",attrs:{\"model\":_vm.corsPlugExpose,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Expose\"}},[_c('el-select',{attrs:{\"value\":_vm.corsPlugExpose.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'expose', 'value')}}},[_c('el-option',{attrs:{\"value\":\"Link\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"X-RateLimit-Reset\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"X-RateLimit-Limit\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"X-RateLimit-Remaining\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"X-Request-Id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Idempotency-Key\"}})],1)],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugCredentials\",attrs:{\"model\":_vm.corsPlugCredentials,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Credentials\"}},[_c('el-switch',{attrs:{\"value\":_vm.corsPlugCredentials.value},on:{\"change\":function($event){return _vm.updateSetting($event, 'credentials', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"corsPlugHeaders\",attrs:{\"model\":_vm.corsPlugHeaders,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Headers\"}},[_c('el-select',{attrs:{\"value\":_vm.corsPlugHeaders.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'headers', 'value')}}},[_c('el-option',{attrs:{\"value\":\"Authorization\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Content-Type\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Idempotency-Key\"}})],1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"httpSecurity\",attrs:{\"model\":_vm.httpSecurity,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"HTTP security:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Security policy\"}},[_c('el-switch',{attrs:{\"value\":_vm.httpSecurity.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'http_security', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether the managed content security policy is enabled\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"STS\"}},[_c('el-switch',{attrs:{\"value\":_vm.httpSecurity.sts},on:{\"change\":function($event){return _vm.updateSetting($event, 'http_security', 'sts')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether to additionally send a \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Strict-Transport-Security header\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"STS max age (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.httpSecurity.sts_max_age / 86400,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 86400, 'http_security', 'sts_max_age')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum age for the \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Strict-Transport-Security\")]),_vm._v(\" header if sent\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"CT max age (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.httpSecurity.ct_max_age / 86400,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 86400, 'http_security', 'ct_max_age')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum age for the \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Expect-CT\")]),_vm._v(\" header if sent\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Referrer policy\"}},[_c('el-select',{attrs:{\"value\":_vm.httpSecurity.referrer_policy,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'http_security', 'referrer_policy')}}},[_c('el-option',{attrs:{\"label\":\"same-origin\",\"value\":\"same-origin\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"no-referrer\",\"value\":\"no-referrer\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The referrer policy to use\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Report URI\"}},[_c('el-input',{attrs:{\"value\":_vm.httpSecurity.report_uri},on:{\"input\":function($event){return _vm.updateSetting($event, 'http_security', 'report_uri')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Adds the specified url to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"report-uri\")]),_vm._v(\" and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"report-to\")]),_vm._v(\" group in CSP header\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"hackneyPools\",attrs:{\"model\":_vm.hackneyPools,\"label-width\":_vm.labelWidth}},[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Hackney pools:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federation:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max connections\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.federation.max_connections,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'hackney_pools', 'federation', 'max_connections')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"You may want this pool \"),_c('span',{staticClass:\"code\"},[_vm._v(\"max_connections\")]),_vm._v(\" to be at least equal to the number of federator jobs + retry queue jobs.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.federation.timeout / 1000,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1000, 'hackney_pools', 'federation', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"For the federation jobs\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Media:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max connections\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.media.max_connections,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'hackney_pools', 'media', 'max_connections')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.media.timeout / 1000,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1000, 'hackney_pools', 'media', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"For rich media, media proxy\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Upload:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max connections\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.upload.max_connections,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'hackney_pools', 'upload', 'max_connections')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.hackneyPools.upload.timeout / 1000,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1000, 'hackney_pools', 'upload', 'timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"For uploaded media (if using a remote uploader and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"proxy_remote: true\")]),_vm._v(\")\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Instance.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Instance.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"instance\" :model=\"instance\" :label-width=\"labelWidth\">\n <el-form-item label=\"Name\">\n <el-input :value=\"instance.name\" @input=\"updateSetting($event, 'instance', 'name')\"/>\n <p class=\"expl\">The instance’s name</p>\n </el-form-item>\n <el-form-item label=\"Email\">\n <el-input :value=\"instance.email\" @input=\"updateSetting($event, 'instance', 'email')\"/>\n <p class=\"expl\">Email used to reach an Administrator/Moderator of the instance</p>\n </el-form-item>\n <el-form-item label=\"Notify email\">\n <el-input :value=\"instance.notify_email\" @input=\"updateSetting($event, 'instance', 'notify_email')\"/>\n <p class=\"expl\">Email used for notifications</p>\n </el-form-item>\n <el-form-item label=\"Description\">\n <el-input :value=\"instance.description\" @input=\"updateSetting($event, 'instance', 'description')\"/>\n <p class=\"expl\">The instance’s description, can be seen in nodeinfo and <span class=\"code\">/api/v1/instance</span></p>\n </el-form-item>\n <el-form-item label=\"Limit\">\n <el-input-number :value=\"instance.limit\" :step=\"1000\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'limit')\"/>\n <p class=\"expl\">Posts character limit (CW/Subject included in the counter)</p>\n </el-form-item>\n <el-form-item label=\"Remote limit\">\n <el-input-number :value=\"instance.remote_limit\" :step=\"1000\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'remote_limit')\"/>\n <p class=\"expl\">Hard character limit beyond which remote posts will be dropped</p>\n </el-form-item>\n <el-form-item label=\"Upload limit (MB)\">\n <el-input-number :value=\"instance.upload_limit / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 1048576, 'instance', 'upload_limit')\"/>\n <p class=\"expl\">File size limit of uploads (except for avatar, background, banner)</p>\n </el-form-item>\n <el-form-item label=\"Avatar upload limit (MB)\">\n <el-input-number :value=\"instance.avatar_upload_limit / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 1048576, 'instance', 'avatar_upload_limit')\"/>\n <p class=\"expl\">File size limit of user’s profile avatars</p>\n </el-form-item>\n <el-form-item label=\"Background upload limit (MB)\">\n <el-input-number :value=\"instance.background_upload_limit / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 1048576, 'instance', 'background_upload_limit')\"/>\n <p class=\"expl\">File size limit of user’s profile backgrounds</p>\n </el-form-item>\n <el-form-item label=\"Banner upload limit (MB)\">\n <el-input-number :value=\"instance.banner_upload_limit / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event * 1048576, 'instance', 'banner_upload_limit')\"/>\n <p class=\"expl\">File size limit of user’s profile banners</p>\n </el-form-item>\n <el-form-item label=\"User bio length\">\n <el-input-number :value=\"instance.user_bio_length\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'user_bio_length')\"/>\n <p class=\"expl\">A user bio maximum length (default: 5000)</p>\n </el-form-item>\n <el-form-item label=\"User name length\">\n <el-input-number :value=\"instance.user_name_length\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'user_name_length')\"/>\n <p class=\"expl\">A user name maximum length (default: 100)</p>\n </el-form-item>\n <el-form-item label=\"Poll limits:\"/>\n <el-form-item label=\"Max options\">\n <el-input-number :value=\"instance.poll_limits.max_options\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'instance', 'poll_limits', 'max_options')\"/>\n <p class=\"expl\">Maximum number of options</p>\n </el-form-item>\n <el-form-item label=\"Max characters per option\">\n <el-input-number :value=\"instance.poll_limits.max_option_chars\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'instance', 'poll_limits', 'max_option_chars')\"/>\n <p class=\"expl\">Maximum number of characters per option</p>\n </el-form-item>\n <el-form-item label=\"Minimum expiration (days)\">\n <el-input-number :value=\"instance.poll_limits.min_expiration\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'instance', 'poll_limits', 'min_expiration')\"/>\n <p class=\"expl\">Minimum expiration time</p>\n </el-form-item>\n <el-form-item label=\"Max expiration (days)\">\n <el-input-number :value=\"instance.poll_limits.max_expiration / 86400\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 86400, 'instance', 'poll_limits', 'max_expiration')\"/>\n <p class=\"expl\">Maximum expiration time</p>\n </el-form-item>\n <el-form-item label=\"Registrations open\">\n <el-switch :value=\"instance.registrations_open\" @change=\"updateSetting($event, 'instance', 'registrations_open')\"/>\n <p class=\"expl\">Enable registrations for anyone, invitations can be enabled when false</p>\n </el-form-item>\n <el-form-item label=\"Invites enabled\">\n <el-switch :value=\"instance.invites_enabled\" @change=\"updateSetting($event, 'instance', 'invites_enabled')\"/>\n <p class=\"expl\">Enable user invitations for admins (depends on <span class=\"code\">registrations_open: false)</span>.</p>\n </el-form-item>\n <el-form-item label=\"Account activation required\">\n <el-switch :value=\"instance.account_activation_required\" @change=\"updateSetting($event, 'instance', 'account_activation_required')\"/>\n <p class=\"expl\">Require users to confirm their emails before signing in</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Federating\">\n <el-switch :value=\"instance.federating\" @change=\"updateSetting($event, 'instance', 'federating')\"/>\n <p class=\"expl\">Enable federation with other instances</p>\n </el-form-item>\n <el-form-item label=\"Fed. replies max depth\">\n <el-input-number :value=\"instance.federation_incoming_replies_max_depth\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'federation_incoming_replies_max_depth')\"/>\n <p class=\"expl\">Max. depth of reply-to activities fetching on incoming federation, to prevent out-of-memory situations while fetching very long threads. Lower this value if you experience out-of-memory crashes.</p>\n </el-form-item>\n <el-form-item label=\"Fed. reachability timeout\">\n <el-input-number :value=\"instance.federation_reachability_timeout_days\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'federation_reachability_timeout_days')\"/>\n <p class=\"expl\">Timeout (in days) of each external federation target being unreachable prior to pausing federating to it</p>\n </el-form-item>\n <el-form-item label=\"Federation publisher modules\">\n <el-select :value=\"instance.federation_publisher_modules || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'federation_publisher_modules')\">\n <el-option\n v-for=\"item in federationPublisherModulesOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Allow relay\">\n <el-switch :value=\"instance.allow_relay\" @change=\"updateSetting($event, 'instance', 'allow_relay')\"/>\n <p class=\"expl\">Enable Pleroma’s Relay, which makes it possible to follow a whole instance</p>\n </el-form-item>\n <el-form-item label=\"Rewrite policy\">\n <el-select :value=\"rewritePolicy || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'rewrite_policy')\">\n <el-option\n v-for=\"item in rewritePolicyOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p\n v-for=\"item in rewritePolicyExplanations\"\n :key=\"item\"\n class=\"expl\">{{ getRewritePolicyExpl(item) }}</p>\n </el-form-item>\n <el-form-item label=\"Public\">\n <el-switch :value=\"instance.public\" @change=\"updateSetting($event, 'instance', 'public')\"/>\n <p class=\"expl\">Makes the client API in authentificated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network</p>\n </el-form-item>\n <el-form-item label=\"Quarantined instances\">\n <el-select :value=\"instance.quarantined_instances || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'quarantined_instances')\">\n <el-option\n v-for=\"item in quarantinedInstancesOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">List of ActivityPub instances where private (DMs, followers-only) activities will not be send</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Managed config\">\n <el-switch :value=\"instance.managed_config\" @change=\"updateSetting($event, 'instance', 'managed_config')\"/>\n <p class=\"expl\">Whenether the config for pleroma-fe is configured in this config or in <span class=\"code\">static/config.json</span></p>\n </el-form-item>\n <el-form-item label=\"Static directory\">\n <el-input :value=\"instance.static_dir\" @input=\"updateSetting($event, 'instance', 'static_dir')\"/>\n </el-form-item>\n <el-form-item label=\"Allowed post formats\">\n <el-select :value=\"instance.allowed_post_formats || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'allowed_post_formats')\">\n <el-option label=\"text/plain\" value=\"text/plain\"/>\n <el-option label=\"text/html\" value=\"text/html\"/>\n <el-option label=\"text/markdown\" value=\"text/markdown\"/>\n <el-option label=\"text/bbcode\" value=\"text/bbcode\"/>\n </el-select>\n <p class=\"expl\">MIME-type list of formats allowed to be posted (transformed into HTML)</p>\n </el-form-item>\n <el-form-item label=\"MRF transparency\">\n <el-switch :value=\"instance.mrf_transparency\" @change=\"updateSetting($event, 'instance', 'mrf_transparency')\"/>\n <p class=\"expl\">Make the content of your Message Rewrite Facility settings public (via nodeinfo)</p>\n </el-form-item>\n <el-form-item label=\"MRF transparency exclusions\">\n <el-select :value=\"instance.mrf_transparency_exclusions || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'mrf_transparency_exclusions')\"/>\n </el-form-item>\n <el-form-item label=\"Scope copy\">\n <el-switch :value=\"instance.scope_copy\" @change=\"updateSetting($event, 'instance', 'scope_copy')\"/>\n <p class=\"expl\">Copy the scope <span class=\"code\">(private/unlisted/public)</span> in replies to posts by default</p>\n </el-form-item>\n <el-form-item label=\"Subject line behavior\">\n <el-select :value=\"instance.subject_line_behavior\" clearable @change=\"updateSetting($event, 'instance', 'subject_line_behavior')\">\n <el-option label=\"Email\" value=\"email\">Email / Copy and preprend re:, as in email</el-option>\n <el-option label=\"Masto\" value=\"masto\">Masto / Copy verbatim, as in Mastodon</el-option>\n <el-option label=\"Noop\" value=\"noop\">Noop / Don't copy the subject</el-option>\n </el-select>\n <p class=\"expl\">Allows changing the default behaviour of subject lines in replies</p>\n </el-form-item>\n <el-form-item label=\"Always show subject input\">\n <el-switch :value=\"instance.always_show_subject_input\" @change=\"updateSetting($event, 'instance', 'always_show_subject_input')\"/>\n <p class=\"expl\">When set to false, auto-hide the subject field when it's empty</p>\n </el-form-item>\n <el-form-item label=\"Extended nickname format\">\n <el-switch :value=\"instance.extended_nickname_format\" @change=\"updateSetting($event, 'instance', 'extended_nickname_format')\"/>\n <p class=\"expl\">Set to <span class=\"code\">true</span> to use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames</p>\n </el-form-item>\n <el-form-item label=\"Max pinned statuses\">\n <el-input-number :value=\"instance.max_pinned_statuses\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'max_pinned_statuses')\"/>\n <p class=\"expl\">The maximum number of pinned statuses. '0' will disable the feature</p>\n </el-form-item>\n <el-form-item label=\"Autofollowed nicknames\">\n <el-select :value=\"instance.autofollowed_nicknames || []\" multiple filterable allow-create @change=\"updateSetting($event, 'instance', 'autofollowed_nicknames')\">\n <el-option\n v-for=\"item in autofollowedNicknamesOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">Set to nicknames of (local) users that every new user should automatically follow</p>\n </el-form-item>\n <el-form-item label=\"No attachment links\">\n <el-switch :value=\"instance.no_attachment_links\" @change=\"updateSetting($event, 'instance', 'no_attachment_links')\"/>\n <p class=\"expl\">Set to true to disable automatically adding attachment link text to statuses</p>\n </el-form-item>\n <el-form-item label=\"Welcome message\">\n <el-input :value=\"instance.welcome_message\" @input=\"updateSetting($event, 'instance', 'welcome_message')\"/>\n <p class=\"expl\">A message that will be send to a newly registered users as a direct message</p>\n </el-form-item>\n <el-form-item label=\"Welcome user nickname\">\n <el-input :value=\"instance.welcome_user_nickname\" @input=\"updateSetting($event, 'instance', 'welcome_user_nickname')\"/>\n <p class=\"expl\">The nickname of the local user that sends the welcome message</p>\n </el-form-item>\n <el-form-item label=\"Max report comment size\">\n <el-input-number :value=\"instance.max_report_comment_size\" :step=\"100\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'max_report_comment_size')\"/>\n <p class=\"expl\">The maximum size of the report comment</p>\n </el-form-item>\n <el-form-item label=\"Safe DM mentions\">\n <el-switch :value=\"instance.safe_dm_mentions\" @change=\"updateSetting($event, 'instance', 'safe_dm_mentions')\"/>\n <p class=\"expl\">If set to true, only mentions at the beginning of a post will be used to address people in direct messages. This is to prevent accidental mentioning of people when talking about them</p>\n </el-form-item>\n <el-form-item label=\"Healthcheck\">\n <el-switch :value=\"instance.healthcheck\" @change=\"updateSetting($event, 'instance', 'healthcheck')\"/>\n <p class=\"expl\">If set to true, system data will be shown on <span class=\"code\">/api/pleroma/healthcheck</span></p>\n </el-form-item>\n <el-form-item label=\"Remote post retention days\">\n <el-input-number :value=\"instance.remote_post_retention_days\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'remote_post_retention_days')\"/>\n <p class=\"expl\">The default amount of days to retain remote posts when pruning the database.</p>\n </el-form-item>\n <el-form-item label=\"Skip thread containment\">\n <el-switch :value=\"instance.skip_thread_containment\" @change=\"updateSetting($event, 'instance', 'skip_thread_containment')\"/>\n <p class=\"expl\">Skip filter out broken threads.</p>\n </el-form-item>\n <el-form-item label=\"Limit to local content\">\n <el-select :value=\"instance.limit_to_local_content\" clearable @change=\"updateSetting($event, 'instance', 'limit_to_local_content')\">\n <el-option label=\"Unauthenticated\" value=\":unauthenticated\"/>\n <el-option label=\"All\" value=\":all\"/>\n <el-option label=\"False\" value=\"false\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Dynamic configuration\">\n <el-switch :value=\"instance.dynamic_configuration\" @change=\"updateSetting($event, 'instance', 'dynamic_configuration')\"/>\n <p class=\"expl\">Allow transferring configuration to DB with the subsequent customization from Admin API</p>\n </el-form-item>\n <el-form-item label=\"Max account fields\">\n <el-input-number :value=\"instance.max_account_fields\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'max_account_fields')\"/>\n <p class=\"expl\">The maximum number of custom fields in the user profile (Default: 4)</p>\n </el-form-item>\n <el-form-item label=\"Max remote account fields\">\n <el-input-number :value=\"instance.max_remote_account_fields\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'max_remote_account_fields')\"/>\n <p class=\"expl\">The maximum number of custom fields in the remote user profile (Default: 10)</p>\n </el-form-item>\n <el-form-item label=\"Account field name length\">\n <el-input-number :value=\"instance.account_field_name_length\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'account_field_name_length')\"/>\n <p class=\"expl\">An account field name maximum length (Default: 255)</p>\n </el-form-item>\n <el-form-item label=\"Account field value length\">\n <el-input-number :value=\"instance.account_field_value_length\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'instance', 'account_field_value_length')\"/>\n <p class=\"expl\">An account field value maximum length (Default: 255)</p>\n </el-form-item>\n <el-form-item label=\"External user synchronization\">\n <el-switch :value=\"instance.external_user_synchronization\" @change=\"updateSetting($event, 'instance', 'external_user_synchronization')\"/>\n <p class=\"expl\">Enabling following/followers counters synchronization for external users.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uriSchemes\" :model=\"uriSchemes\" :label-width=\"labelWidth\">\n <el-form-item label=\"URI schemes\">\n <el-select :value=\"uriSchemes.valid_schemes || []\" multiple filterable allow-create @change=\"updateSetting($event, 'uri_schemes', 'valid_schemes')\">\n <el-option\n v-for=\"item in uriSchemesOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">List of the scheme part that is considered valid to be an URL</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"adminToken\" :model=\"adminToken\" :label-width=\"labelWidth\">\n <el-form-item label=\"Admin token\">\n <el-input :value=\"adminToken.value\" @input=\"updateSetting($event, 'admin_token', 'value')\"/>\n <p class=\"expl\">Allows to set a token that can be used to authenticate with the admin api without using an actual user by giving it as the <span class=\"code\">admin_token</span> parameter.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"scheduledActivity\" :model=\"scheduledActivity\" :label-width=\"labelWidth\">\n <el-form-item label=\"Scheduled activity:\"/>\n <el-form-item label=\"Daily user limit\">\n <el-input-number :value=\"scheduledActivity.daily_user_limit\" :step=\"5\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.ScheduledActivity', 'daily_user_limit')\"/>\n <p class=\"expl\">The number of scheduled activities a user is allowed to create in a single day (Default: 25)</p>\n </el-form-item>\n <el-form-item label=\"Total user limit\">\n <el-input-number :value=\"scheduledActivity.total_user_limit\" :step=\"10\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.ScheduledActivity', 'total_user_limit')\"/>\n <p class=\"expl\">The number of scheduled activities a user is allowed to create in total (Default: 300)</p>\n </el-form-item>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"scheduledActivity.enabled\" @change=\"updateSetting($event, 'Pleroma.ScheduledActivity', 'enabled')\"/>\n <p class=\"expl\">Whether scheduled activities are sent to the job queue to be executed</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"fetchInitialPosts\" :model=\"fetchInitialPosts\" :label-width=\"labelWidth\">\n <el-form-item label=\"Fetch initial posts\">\n <el-switch :value=\"fetchInitialPosts.enabled\" @change=\"updateSetting($event, 'fetch_initial_posts', 'enabled')\"/>\n <p class=\"expl\">If enabled, when a new user is federated with, fetch some of their latest posts</p>\n </el-form-item>\n <el-form-item label=\"Pages\">\n <el-input-number :value=\"fetchInitialPosts.pages\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'fetch_initial_posts', 'pages')\"/>\n <p class=\"expl\">The amount of pages to fetch</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"suggestions\" :model=\"suggestions\" :label-width=\"labelWidth\">\n <el-form-item label=\"Suggestions:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"suggestions.enabled\" @change=\"updateSetting($event, 'suggestions', 'enabled')\"/>\n </el-form-item>\n <el-form-item label=\"Third party engine\">\n <el-input :value=\"suggestions.third_party_engine\" @input=\"updateSetting($event, 'suggestions', 'third_party_engine')\"/>\n </el-form-item>\n <el-form-item label=\"Timeout\">\n <el-input-number :value=\"suggestions.timeout\" :step=\"1000\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'suggestions', 'timeout')\"/>\n </el-form-item>\n <el-form-item label=\"Limit\">\n <el-input-number :value=\"suggestions.limit\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'suggestions', 'limit')\"/>\n </el-form-item>\n <el-form-item label=\"Web\">\n <el-input :value=\"suggestions.web\" @input=\"updateSetting($event, 'suggestions', 'web')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"pleromaUser\" :model=\"pleromaUser\" :label-width=\"labelWidth\">\n <el-form-item label=\"Restricted nicknames\">\n <el-select :value=\"pleromaUser.restricted_nicknames || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.User', 'restricted_nicknames')\">\n <el-option\n v-for=\"item in restrictedNicknamesOptions\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\n\nexport default {\n name: 'Instance',\n computed: {\n ...mapGetters([\n 'adminToken',\n 'fetchInitialPosts',\n 'instance',\n 'pleromaUser',\n 'scheduledActivity',\n 'suggestions',\n 'uriSchemes'\n ]),\n autofollowedNicknamesOptions() {\n return options.autofollowedNicknamesOptions\n },\n federationPublisherModulesOptions() {\n return options.federationPublisherModulesOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n },\n quarantinedInstancesOptions() {\n return options.quarantinedInstancesOptions\n },\n restrictedNicknamesOptions() {\n return options.restrictedNicknamesOptions\n },\n rewritePolicy() {\n return typeof this.instance.rewrite_policy === 'string' ? [this.instance.rewrite_policy] : this.instance.rewrite_policy\n },\n rewritePolicyExplanations() {\n return this.rewritePolicy ? this.rewritePolicy.filter(policy => options.rewritePolicyOptions.find(el => el.value === policy)) : []\n },\n rewritePolicyOptions() {\n return options.rewritePolicyOptions\n },\n uriSchemesOptions() {\n return options.uriSchemesOptions\n }\n },\n methods: {\n getRewritePolicyExpl(value) {\n const policy = options.rewritePolicyOptions.find(el => el.value === value)\n return policy.expl\n },\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Instance.vue?vue&type=template&id=72853f72&\"\nimport script from \"./Instance.vue?vue&type=script&lang=js&\"\nexport * from \"./Instance.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Instance.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Instance.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"instance\",attrs:{\"model\":_vm.instance,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Name\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.name},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'name')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The instance’s name\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Email\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.email},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'email')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Email used to reach an Administrator/Moderator of the instance\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Notify email\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.notify_email},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'notify_email')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Email used for notifications\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Description\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.description},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'description')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The instance’s description, can be seen in nodeinfo and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"/api/v1/instance\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.limit,\"step\":1000,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Posts character limit (CW/Subject included in the counter)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Remote limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.remote_limit,\"step\":1000,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'remote_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Hard character limit beyond which remote posts will be dropped\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Upload limit (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.upload_limit / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 1048576, 'instance', 'upload_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"File size limit of uploads (except for avatar, background, banner)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Avatar upload limit (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.avatar_upload_limit / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 1048576, 'instance', 'avatar_upload_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"File size limit of user’s profile avatars\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background upload limit (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.background_upload_limit / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 1048576, 'instance', 'background_upload_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"File size limit of user’s profile backgrounds\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Banner upload limit (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.banner_upload_limit / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event * 1048576, 'instance', 'banner_upload_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"File size limit of user’s profile banners\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"User bio length\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.user_bio_length,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'user_bio_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A user bio maximum length (default: 5000)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"User name length\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.user_name_length,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'user_name_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A user name maximum length (default: 100)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Poll limits:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max options\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.poll_limits.max_options,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'instance', 'poll_limits', 'max_options')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Maximum number of options\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max characters per option\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.poll_limits.max_option_chars,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'instance', 'poll_limits', 'max_option_chars')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Maximum number of characters per option\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Minimum expiration (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.poll_limits.min_expiration,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'instance', 'poll_limits', 'min_expiration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Minimum expiration time\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max expiration (days)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.poll_limits.max_expiration / 86400,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 86400, 'instance', 'poll_limits', 'max_expiration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Maximum expiration time\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Registrations open\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.registrations_open},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'registrations_open')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable registrations for anyone, invitations can be enabled when false\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Invites enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.invites_enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'invites_enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable user invitations for admins (depends on \"),_c('span',{staticClass:\"code\"},[_vm._v(\"registrations_open: false)\")]),_vm._v(\".\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Account activation required\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.account_activation_required},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'account_activation_required')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Require users to confirm their emails before signing in\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federating\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.federating},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'federating')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable federation with other instances\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Fed. replies max depth\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.federation_incoming_replies_max_depth,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'federation_incoming_replies_max_depth')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Max. depth of reply-to activities fetching on incoming federation, to prevent out-of-memory situations while fetching very long threads. Lower this value if you experience out-of-memory crashes.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Fed. reachability timeout\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.federation_reachability_timeout_days,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'federation_reachability_timeout_days')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Timeout (in days) of each external federation target being unreachable prior to pausing federating to it\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federation publisher modules\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.federation_publisher_modules || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'federation_publisher_modules')}}},_vm._l((_vm.federationPublisherModulesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow relay\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.allow_relay},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'allow_relay')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enable Pleroma’s Relay, which makes it possible to follow a whole instance\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Rewrite policy\"}},[_c('el-select',{attrs:{\"value\":_vm.rewritePolicy || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'rewrite_policy')}}},_vm._l((_vm.rewritePolicyOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_vm._l((_vm.rewritePolicyExplanations),function(item){return _c('p',{key:item,staticClass:\"expl\"},[_vm._v(_vm._s(_vm.getRewritePolicyExpl(item)))])})],2),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Public\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.public},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'public')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Makes the client API in authentificated mode-only except for user-profiles. Useful for disabling the Local Timeline and The Whole Known Network\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Quarantined instances\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.quarantined_instances || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'quarantined_instances')}}},_vm._l((_vm.quarantinedInstancesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of ActivityPub instances where private (DMs, followers-only) activities will not be send\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Managed config\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.managed_config},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'managed_config')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whenether the config for pleroma-fe is configured in this config or in \"),_c('span',{staticClass:\"code\"},[_vm._v(\"static/config.json\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Static directory\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.static_dir},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'static_dir')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allowed post formats\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.allowed_post_formats || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'allowed_post_formats')}}},[_c('el-option',{attrs:{\"label\":\"text/plain\",\"value\":\"text/plain\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"text/html\",\"value\":\"text/html\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"text/markdown\",\"value\":\"text/markdown\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"text/bbcode\",\"value\":\"text/bbcode\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"MIME-type list of formats allowed to be posted (transformed into HTML)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"MRF transparency\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.mrf_transparency},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'mrf_transparency')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Make the content of your Message Rewrite Facility settings public (via nodeinfo)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"MRF transparency exclusions\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.mrf_transparency_exclusions || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'mrf_transparency_exclusions')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scope copy\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.scope_copy},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'scope_copy')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Copy the scope \"),_c('span',{staticClass:\"code\"},[_vm._v(\"(private/unlisted/public)\")]),_vm._v(\" in replies to posts by default\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Subject line behavior\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.subject_line_behavior,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'subject_line_behavior')}}},[_c('el-option',{attrs:{\"label\":\"Email\",\"value\":\"email\"}},[_vm._v(\"Email / Copy and preprend re:, as in email\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Masto\",\"value\":\"masto\"}},[_vm._v(\"Masto / Copy verbatim, as in Mastodon\")]),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"Noop\",\"value\":\"noop\"}},[_vm._v(\"Noop / Don't copy the subject\")])],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows changing the default behaviour of subject lines in replies\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Always show subject input\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.always_show_subject_input},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'always_show_subject_input')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When set to false, auto-hide the subject field when it's empty\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Extended nickname format\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.extended_nickname_format},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'extended_nickname_format')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"true\")]),_vm._v(\" to use extended local nicknames format (allows underscores/dashes). This will break federation with older software for theses nicknames\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max pinned statuses\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.max_pinned_statuses,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'max_pinned_statuses')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum number of pinned statuses. '0' will disable the feature\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Autofollowed nicknames\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.autofollowed_nicknames || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'autofollowed_nicknames')}}},_vm._l((_vm.autofollowedNicknamesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to nicknames of (local) users that every new user should automatically follow\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"No attachment links\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.no_attachment_links},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'no_attachment_links')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Set to true to disable automatically adding attachment link text to statuses\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Welcome message\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.welcome_message},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'welcome_message')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A message that will be send to a newly registered users as a direct message\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Welcome user nickname\"}},[_c('el-input',{attrs:{\"value\":_vm.instance.welcome_user_nickname},on:{\"input\":function($event){return _vm.updateSetting($event, 'instance', 'welcome_user_nickname')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The nickname of the local user that sends the welcome message\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max report comment size\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.max_report_comment_size,\"step\":100,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'max_report_comment_size')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum size of the report comment\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Safe DM mentions\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.safe_dm_mentions},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'safe_dm_mentions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If set to true, only mentions at the beginning of a post will be used to address people in direct messages. This is to prevent accidental mentioning of people when talking about them\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Healthcheck\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.healthcheck},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'healthcheck')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If set to true, system data will be shown on \"),_c('span',{staticClass:\"code\"},[_vm._v(\"/api/pleroma/healthcheck\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Remote post retention days\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.remote_post_retention_days,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'remote_post_retention_days')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The default amount of days to retain remote posts when pruning the database.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Skip thread containment\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.skip_thread_containment},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'skip_thread_containment')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Skip filter out broken threads.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Limit to local content\"}},[_c('el-select',{attrs:{\"value\":_vm.instance.limit_to_local_content,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'limit_to_local_content')}}},[_c('el-option',{attrs:{\"label\":\"Unauthenticated\",\"value\":\":unauthenticated\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"All\",\"value\":\":all\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"label\":\"False\",\"value\":\"false\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Dynamic configuration\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.dynamic_configuration},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'dynamic_configuration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allow transferring configuration to DB with the subsequent customization from Admin API\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max account fields\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.max_account_fields,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'max_account_fields')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum number of custom fields in the user profile (Default: 4)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max remote account fields\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.max_remote_account_fields,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'max_remote_account_fields')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum number of custom fields in the remote user profile (Default: 10)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Account field name length\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.account_field_name_length,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'account_field_name_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"An account field name maximum length (Default: 255)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Account field value length\"}},[_c('el-input-number',{attrs:{\"value\":_vm.instance.account_field_value_length,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'account_field_value_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"An account field value maximum length (Default: 255)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"External user synchronization\"}},[_c('el-switch',{attrs:{\"value\":_vm.instance.external_user_synchronization},on:{\"change\":function($event){return _vm.updateSetting($event, 'instance', 'external_user_synchronization')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enabling following/followers counters synchronization for external users.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uriSchemes\",attrs:{\"model\":_vm.uriSchemes,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"URI schemes\"}},[_c('el-select',{attrs:{\"value\":_vm.uriSchemes.valid_schemes || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'uri_schemes', 'valid_schemes')}}},_vm._l((_vm.uriSchemesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of the scheme part that is considered valid to be an URL\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"adminToken\",attrs:{\"model\":_vm.adminToken,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Admin token\"}},[_c('el-input',{attrs:{\"value\":_vm.adminToken.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'admin_token', 'value')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows to set a token that can be used to authenticate with the admin api without using an actual user by giving it as the \"),_c('span',{staticClass:\"code\"},[_vm._v(\"admin_token\")]),_vm._v(\" parameter.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"scheduledActivity\",attrs:{\"model\":_vm.scheduledActivity,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Scheduled activity:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Daily user limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.scheduledActivity.daily_user_limit,\"step\":5,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.ScheduledActivity', 'daily_user_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The number of scheduled activities a user is allowed to create in a single day (Default: 25)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Total user limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.scheduledActivity.total_user_limit,\"step\":10,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.ScheduledActivity', 'total_user_limit')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The number of scheduled activities a user is allowed to create in total (Default: 300)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.scheduledActivity.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.ScheduledActivity', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Whether scheduled activities are sent to the job queue to be executed\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"fetchInitialPosts\",attrs:{\"model\":_vm.fetchInitialPosts,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Fetch initial posts\"}},[_c('el-switch',{attrs:{\"value\":_vm.fetchInitialPosts.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'fetch_initial_posts', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If enabled, when a new user is federated with, fetch some of their latest posts\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pages\"}},[_c('el-input-number',{attrs:{\"value\":_vm.fetchInitialPosts.pages,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'fetch_initial_posts', 'pages')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The amount of pages to fetch\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"suggestions\",attrs:{\"model\":_vm.suggestions,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Suggestions:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.suggestions.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'suggestions', 'enabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Third party engine\"}},[_c('el-input',{attrs:{\"value\":_vm.suggestions.third_party_engine},on:{\"input\":function($event){return _vm.updateSetting($event, 'suggestions', 'third_party_engine')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Timeout\"}},[_c('el-input-number',{attrs:{\"value\":_vm.suggestions.timeout,\"step\":1000,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'suggestions', 'timeout')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Limit\"}},[_c('el-input-number',{attrs:{\"value\":_vm.suggestions.limit,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'suggestions', 'limit')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Web\"}},[_c('el-input',{attrs:{\"value\":_vm.suggestions.web},on:{\"input\":function($event){return _vm.updateSetting($event, 'suggestions', 'web')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"pleromaUser\",attrs:{\"model\":_vm.pleromaUser,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Restricted nicknames\"}},[_c('el-select',{attrs:{\"value\":_vm.pleromaUser.restricted_nicknames || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.User', 'restricted_nicknames')}}},_vm._l((_vm.restrictedNicknamesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JobQueue.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JobQueue.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"queues\" :model=\"queues\" :label-width=\"labelWidth\">\n <el-form-item label=\"Job queues:\"/>\n <el-form-item label=\"Outgoing federation\">\n <el-input-number :value=\"queues.federator_outgoing\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'federator_outgoing')\"/>\n </el-form-item>\n <el-form-item label=\"Incoming federation\">\n <el-input-number :value=\"queues.federator_incoming\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'federator_incoming')\"/>\n </el-form-item>\n <el-form-item label=\"Email sender\">\n <el-input-number :value=\"queues.mailer\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'mailer')\"/>\n </el-form-item>\n <el-form-item label=\"Transmogrifier\">\n <el-input-number :value=\"queues.transmogrifier\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'transmogrifier')\"/>\n </el-form-item>\n <el-form-item label=\"Web push notifications\">\n <el-input-number :value=\"queues.web_push\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'web_push')\"/>\n </el-form-item>\n <el-form-item label=\"Scheduled activities\">\n <el-input-number :value=\"queues.scheduled_activities\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'scheduled_activities')\"/>\n </el-form-item>\n <el-form-item label=\"Background\">\n <el-input-number :value=\"queues.background\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'queues', 'background')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"retryQueue\" :model=\"retryQueue\" :label-width=\"labelWidth\">\n <el-form-item label=\"Retry queue:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"retryQueue.enabled\" @change=\"updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'enabled')\"/>\n <p class=\"expl\">If set to true, failed federation jobs will be retried</p>\n </el-form-item>\n <el-form-item label=\"Max jobs\">\n <el-input-number :value=\"retryQueue.max_jobs\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'max_jobs')\"/>\n <p class=\"expl\">The maximum amount of parallel federation jobs running at the same time.</p>\n </el-form-item>\n <el-form-item label=\"Initial timeout (s)\">\n <el-input-number :value=\"retryQueue.initial_timeout\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'initial_timeout')\"/>\n <p class=\"expl\">The initial timeout in seconds</p>\n </el-form-item>\n <el-form-item label=\"Max retries\">\n <el-input-number :value=\"retryQueue.max_retries\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'max_retries')\"/>\n <p class=\"expl\">The maximum number of times a federation job is retried</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'JobQueue',\n computed: {\n ...mapGetters([\n 'queues',\n 'retryQueue'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./JobQueue.vue?vue&type=template&id=5f94c8fd&\"\nimport script from \"./JobQueue.vue?vue&type=script&lang=js&\"\nexport * from \"./JobQueue.vue?vue&type=script&lang=js&\"\nimport style0 from \"./JobQueue.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"JobQueue.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"queues\",attrs:{\"model\":_vm.queues,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Job queues:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Outgoing federation\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.federator_outgoing,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'federator_outgoing')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Incoming federation\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.federator_incoming,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'federator_incoming')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Email sender\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.mailer,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'mailer')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Transmogrifier\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.transmogrifier,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'transmogrifier')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Web push notifications\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.web_push,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'web_push')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scheduled activities\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.scheduled_activities,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'scheduled_activities')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background\"}},[_c('el-input-number',{attrs:{\"value\":_vm.queues.background,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'queues', 'background')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"retryQueue\",attrs:{\"model\":_vm.retryQueue,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Retry queue:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.retryQueue.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If set to true, failed federation jobs will be retried\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max jobs\"}},[_c('el-input-number',{attrs:{\"value\":_vm.retryQueue.max_jobs,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'max_jobs')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum amount of parallel federation jobs running at the same time.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Initial timeout (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.retryQueue.initial_timeout,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'initial_timeout')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The initial timeout in seconds\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max retries\"}},[_c('el-input-number',{attrs:{\"value\":_vm.retryQueue.max_retries,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Federator.RetryQueue', 'max_retries')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The maximum number of times a federation job is retried\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"loggerBackends\" :model=\"loggerBackends\" :label-width=\"labelWidth\">\n <el-form-item label=\"Backends\">\n <el-select :value=\"loggerBackendsValue\" multiple filterable allow-create @change=\"updateloggerBackends($event, 'backends', 'value')\">\n <el-option\n v-for=\"(item, index) in loggerBackendsOptions\"\n :key=\"index\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\"><span class=\"code\">:console</span> is used to send logs to stdout, <span class=\"code\">{ExSyslogger, :ex_syslogger}</span> to log to syslog, and <span class=\"code\">Quack.Logger</span> to log to Slack</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"consoleLogger\" :model=\"consoleLogger\" :label-width=\"labelWidth\">\n <el-form-item label=\"Console logger:\"/>\n <el-form-item label=\"Level\">\n <el-select :value=\"consoleLogger.level\" clearable @change=\"updateSetting($event, 'console', 'level')\">\n <el-option value=\":debug\" label=\":debug - for debug-related messages\"/>\n <el-option value=\":info\" label=\":info - for information of any kind\"/>\n <el-option value=\":warn\" label=\":warn - for warnings\"/>\n <el-option value=\":error\" label=\":error - for errors\"/>\n </el-select>\n <p class=\"expl\">The level to be logged by this backend. Note that messages are filtered by the general\n <span class=\"code\">:level</span> configuration for the <span class=\"code\">:logger</span> application first.</p>\n </el-form-item>\n <el-form-item label=\"Format\">\n <el-input :value=\"consoleLogger.format\" @input=\"updateSetting($event, 'console', 'format')\"/>\n <p class=\"expl\">The format message used to print logs. </p>\n </el-form-item>\n <el-form-item label=\"Metadata\">\n <el-select :value=\"consoleLogger.metadata || []\" multiple filterable allow-create @change=\"updateSetting($event, 'console', 'metadata')\">\n <el-option value=\":all\"/>\n <el-option value=\":request_id\"/>\n <el-option value=\":line\"/>\n <el-option value=\":user_id\"/>\n <el-option value=\":application\"/>\n <el-option value=\":function\"/>\n <el-option value=\":file\"/>\n <el-option value=\":pid\"/>\n <el-option value=\":crash_reason\"/>\n <el-option value=\":initial_call\"/>\n <el-option value=\":registered_name\"/>\n <el-option value=\":none\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Device\">\n <el-input :value=\"consoleLogger.device\" @input=\"updateSetting($event, 'console', 'device')\"/>\n <p class=\"expl\">The device to log error messages to. Defaults to <span class=\"code\">:user</span>\n but can be changed to something else such as <span class=\"code\">:standard_error</span></p>\n </el-form-item>\n <el-form-item label=\"Max buffer\">\n <el-input-number :value=\"consoleLogger.max_buffer\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'console', 'max_buffer')\"/>\n <p class=\"expl\">Maximum events to buffer while waiting for a confirmation from the IO device (default: 32). Once the buffer is full, the backend will block until a confirmation is received.</p>\n </el-form-item>\n <el-form-item label=\"Colors:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"consoleLogger.colors.enabled\" @change=\"processNestedData($event, 'console', 'colors', 'enabled')\"/>\n </el-form-item>\n <el-form-item label=\"Debug message\">\n <el-input :value=\"consoleLogger.colors.debug\" @input=\"processNestedData($event, 'console', 'colors', 'debug')\"/>\n <p class=\"expl\">Defaults to: <span class=\"code\">:cyan</span></p>\n </el-form-item>\n <el-form-item label=\"Info message\">\n <el-input :value=\"consoleLogger.colors.info\" @input=\"processNestedData($event, 'console', 'colors', 'info')\"/>\n <p class=\"expl\">Defaults to: <span class=\"code\">:normal</span></p>\n </el-form-item>\n <el-form-item label=\"Warn message\">\n <el-input :value=\"consoleLogger.colors.warn\" @input=\"processNestedData($event, 'console', 'colors', 'warn')\"/>\n <p class=\"expl\">Defaults to: <span class=\"code\">:yellow</span></p>\n </el-form-item>\n <el-form-item label=\"Error message\">\n <el-input :value=\"consoleLogger.colors.error\" @input=\"processNestedData($event, 'console', 'colors', 'error')\"/>\n <p class=\"expl\">Defaults to: <span class=\"code\">:red</span></p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"exsyslogger\" :model=\"exsyslogger\" :label-width=\"labelWidth\">\n <el-form-item label=\"ExSyslogger:\"/>\n <el-form-item label=\"Level\">\n <el-select :value=\"exsyslogger.level\" clearable @change=\"updateSetting($event, 'ex_syslogger', 'level')\">\n <el-option value=\":debug\" label=\":debug - for debug-related messages\"/>\n <el-option value=\":info\" label=\":info - for information of any kind\"/>\n <el-option value=\":warn\" label=\":warn - for warnings\"/>\n <el-option value=\":error\" label=\":error - for errors\"/>\n </el-select>\n <p class=\"expl\">Logging level. It defaults to <span class=\"code\">:info.</span></p>\n </el-form-item>\n <el-form-item label=\"Format\">\n <el-input :value=\"exsyslogger.format\" @input=\"updateSetting($event, 'ex_syslogger', 'format')\"/>\n <p class=\"expl\">The format message used to print logs.</p>\n </el-form-item>\n <el-form-item label=\"Formatter\">\n <el-input :value=\"exsyslogger.formatter\" @input=\"updateSetting($event, 'ex_syslogger', 'formatter')\"/>\n <p class=\"expl\">Formatter that will be used to format the log. It default to <span class=\"code\">Logger.Formatter</span></p>\n </el-form-item>\n <el-form-item label=\"Metadata\">\n <el-select :value=\"exsyslogger.metadata || []\" multiple filterable allow-create @change=\"updateSetting($event, 'ex_syslogger', 'metadata')\">\n <el-option value=\":all\"/>\n <el-option value=\":request_id\"/>\n <el-option value=\":line\"/>\n <el-option value=\":user_id\"/>\n <el-option value=\":application\"/>\n <el-option value=\":function\"/>\n <el-option value=\":file\"/>\n <el-option value=\":pid\"/>\n <el-option value=\":crash_reason\"/>\n <el-option value=\":initial_call\"/>\n <el-option value=\":registered_name\"/>\n <el-option value=\":none\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Ident\">\n <el-input :value=\"exsyslogger.ident\" @input=\"updateSetting($event, 'ex_syslogger', 'ident')\"/>\n <p class=\"expl\">A string that’s prepended to every message, and is typically set to the app name. It defaults to <span class=\"code\">Elixir</span></p>\n </el-form-item>\n <el-form-item label=\"Facility\">\n <el-input :value=\"exsyslogger.facility\" @input=\"updateSetting($event, 'ex_syslogger', 'facility')\"/>\n <p class=\"expl\">Syslog facility to be used. It defaults to <span class=\"code\">:local0</span></p>\n </el-form-item>\n <el-form-item label=\"Options\">\n <el-select :value=\"exsyslogger.option || []\" multiple filterable allow-create @change=\"updateSetting($event, 'ex_syslogger', 'option')\">\n <el-option value=\":pid\"/>\n <el-option value=\":cons\"/>\n <el-option value=\":odelay\"/>\n <el-option value=\":ndelay\"/>\n <el-option value=\":perror\"/>\n </el-select>\n <p class=\"expl\">Syslog option to be used. It defaults to <span class=\"code\">:ndelay.</span></p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"webhookUrl\" :model=\"webhookUrl\" :label-width=\"labelWidth\">\n <el-form-item label=\"Quack logger:\"/>\n <el-form-item label=\"Webhook URL\">\n <el-input :value=\"webhookUrl.value\" @input=\"updateSetting($event, 'webhook_url', 'value')\"/>\n </el-form-item>\n </el-form>\n <el-form ref=\"level\" :model=\"level\" :label-width=\"labelWidth\">\n <el-form-item label=\"Level\">\n <el-select :value=\"level.value\" clearable @change=\"updateSetting($event, 'level', 'value')\">\n <el-option value=\":debug\" label=\":debug - for debug-related messages\"/>\n <el-option value=\":info\" label=\":info - for information of any kind\"/>\n <el-option value=\":warn\" label=\":warn - for warnings\"/>\n <el-option value=\":error\" label=\":error - for errors\"/>\n </el-select>\n <p class=\"expl\">Logging level. It defaults to <span class=\"code\">:info.</span></p>\n </el-form-item>\n </el-form>\n <el-form ref=\"meta\" :model=\"meta\" :label-width=\"labelWidth\">\n <el-form-item label=\"Metadata\">\n <el-select :value=\"meta.value || []\" multiple filterable allow-create @change=\"updateSetting($event, 'meta', 'value')\">\n <el-option value=\":all\"/>\n <el-option value=\":module\"/>\n <el-option value=\":function\"/>\n <el-option value=\":file\"/>\n <el-option value=\":application\"/>\n <el-option value=\":line\"/>\n <el-option value=\":pid\"/>\n <el-option value=\":crash_reason\"/>\n <el-option value=\":initial_call\"/>\n <el-option value=\":registered_name\"/>\n <el-option value=\":none\"/>\n </el-select>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\n\nexport default {\n name: 'Logger',\n computed: {\n ...mapGetters([\n 'consoleLogger',\n 'exsyslogger',\n 'level',\n 'loggerBackends',\n 'meta',\n 'webhookUrl'\n ]),\n loggerBackendsValue() {\n return this.loggerBackends.value ? this.loggerBackends.value.map(el => JSON.stringify(el)) : []\n },\n loggerBackendsOptions() {\n return options.loggerBackendsOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n processNestedData(value, tab, section, input) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][section], ...{ [input]: value }}\n this.updateSetting(updatedValue, tab, section)\n },\n updateloggerBackends(value, tab, input) {\n const parseValue = value.map(el => JSON.parse(el))\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: parseValue }})\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Logger.vue?vue&type=template&id=b32fa47a&\"\nimport script from \"./Logger.vue?vue&type=script&lang=js&\"\nexport * from \"./Logger.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Logger.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Logger.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"loggerBackends\",attrs:{\"model\":_vm.loggerBackends,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Backends\"}},[_c('el-select',{attrs:{\"value\":_vm.loggerBackendsValue,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateloggerBackends($event, 'backends', 'value')}}},_vm._l((_vm.loggerBackendsOptions),function(item,index){return _c('el-option',{key:index,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_c('span',{staticClass:\"code\"},[_vm._v(\":console\")]),_vm._v(\" is used to send logs to stdout, \"),_c('span',{staticClass:\"code\"},[_vm._v(\"{ExSyslogger, :ex_syslogger}\")]),_vm._v(\" to log to syslog, and \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Quack.Logger\")]),_vm._v(\" to log to Slack\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"consoleLogger\",attrs:{\"model\":_vm.consoleLogger,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Console logger:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Level\"}},[_c('el-select',{attrs:{\"value\":_vm.consoleLogger.level,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'console', 'level')}}},[_c('el-option',{attrs:{\"value\":\":debug\",\"label\":\":debug - for debug-related messages\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":info\",\"label\":\":info - for information of any kind\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":warn\",\"label\":\":warn - for warnings\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":error\",\"label\":\":error - for errors\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The level to be logged by this backend. Note that messages are filtered by the general\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\":level\")]),_vm._v(\" configuration for the \"),_c('span',{staticClass:\"code\"},[_vm._v(\":logger\")]),_vm._v(\" application first.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Format\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.format},on:{\"input\":function($event){return _vm.updateSetting($event, 'console', 'format')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The format message used to print logs. \")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Metadata\"}},[_c('el-select',{attrs:{\"value\":_vm.consoleLogger.metadata || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'console', 'metadata')}}},[_c('el-option',{attrs:{\"value\":\":all\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":request_id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":line\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":user_id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":application\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":function\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":file\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":pid\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":crash_reason\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":initial_call\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":registered_name\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":none\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Device\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.device},on:{\"input\":function($event){return _vm.updateSetting($event, 'console', 'device')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The device to log error messages to. Defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":user\")]),_vm._v(\"\\n but can be changed to something else such as \"),_c('span',{staticClass:\"code\"},[_vm._v(\":standard_error\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max buffer\"}},[_c('el-input-number',{attrs:{\"value\":_vm.consoleLogger.max_buffer,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'console', 'max_buffer')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Maximum events to buffer while waiting for a confirmation from the IO device (default: 32). Once the buffer is full, the backend will block until a confirmation is received.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Colors:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.consoleLogger.colors.enabled},on:{\"change\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'enabled')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Debug message\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.colors.debug},on:{\"input\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'debug')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Defaults to: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":cyan\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Info message\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.colors.info},on:{\"input\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'info')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Defaults to: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":normal\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Warn message\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.colors.warn},on:{\"input\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'warn')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Defaults to: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":yellow\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Error message\"}},[_c('el-input',{attrs:{\"value\":_vm.consoleLogger.colors.error},on:{\"input\":function($event){return _vm.processNestedData($event, 'console', 'colors', 'error')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Defaults to: \"),_c('span',{staticClass:\"code\"},[_vm._v(\":red\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"exsyslogger\",attrs:{\"model\":_vm.exsyslogger,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"ExSyslogger:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Level\"}},[_c('el-select',{attrs:{\"value\":_vm.exsyslogger.level,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'level')}}},[_c('el-option',{attrs:{\"value\":\":debug\",\"label\":\":debug - for debug-related messages\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":info\",\"label\":\":info - for information of any kind\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":warn\",\"label\":\":warn - for warnings\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":error\",\"label\":\":error - for errors\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Logging level. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":info.\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Format\"}},[_c('el-input',{attrs:{\"value\":_vm.exsyslogger.format},on:{\"input\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'format')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The format message used to print logs.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Formatter\"}},[_c('el-input',{attrs:{\"value\":_vm.exsyslogger.formatter},on:{\"input\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'formatter')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Formatter that will be used to format the log. It default to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Logger.Formatter\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Metadata\"}},[_c('el-select',{attrs:{\"value\":_vm.exsyslogger.metadata || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'metadata')}}},[_c('el-option',{attrs:{\"value\":\":all\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":request_id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":line\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":user_id\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":application\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":function\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":file\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":pid\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":crash_reason\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":initial_call\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":registered_name\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":none\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Ident\"}},[_c('el-input',{attrs:{\"value\":_vm.exsyslogger.ident},on:{\"input\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'ident')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A string that’s prepended to every message, and is typically set to the app name. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\"Elixir\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Facility\"}},[_c('el-input',{attrs:{\"value\":_vm.exsyslogger.facility},on:{\"input\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'facility')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Syslog facility to be used. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":local0\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Options\"}},[_c('el-select',{attrs:{\"value\":_vm.exsyslogger.option || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'ex_syslogger', 'option')}}},[_c('el-option',{attrs:{\"value\":\":pid\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":cons\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":odelay\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":ndelay\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":perror\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Syslog option to be used. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":ndelay.\")])])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"webhookUrl\",attrs:{\"model\":_vm.webhookUrl,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Quack logger:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Webhook URL\"}},[_c('el-input',{attrs:{\"value\":_vm.webhookUrl.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'webhook_url', 'value')}}})],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"level\",attrs:{\"model\":_vm.level,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Level\"}},[_c('el-select',{attrs:{\"value\":_vm.level.value,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'level', 'value')}}},[_c('el-option',{attrs:{\"value\":\":debug\",\"label\":\":debug - for debug-related messages\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":info\",\"label\":\":info - for information of any kind\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":warn\",\"label\":\":warn - for warnings\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":error\",\"label\":\":error - for errors\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Logging level. It defaults to \"),_c('span',{staticClass:\"code\"},[_vm._v(\":info.\")])])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"meta\",attrs:{\"model\":_vm.meta,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Metadata\"}},[_c('el-select',{attrs:{\"value\":_vm.meta.value || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'meta', 'value')}}},[_c('el-option',{attrs:{\"value\":\":all\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":module\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":function\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":file\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":application\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":line\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":pid\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":crash_reason\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":initial_call\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":registered_name\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\":none\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailer.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"mailer\" :model=\"mailer\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"mailer.enabled\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'enabled')\"/>\n <p class=\"expl\">Allows to enable or disable sending emails. Defaults to false.</p>\n </el-form-item>\n <el-form-item label=\"Adapter\">\n <el-select :value=\"mailer.adapter\" clearable @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'adapter')\">\n <el-option\n v-for=\"item in adapterOptions\"\n :key=\"item.value\"\n :label=\"item.label\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <div class=\"line\"/>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Sendmail'\">\n <el-form-item label=\"CMD Path\">\n <el-input :value=\"mailer.cmd_path\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'cmd_path')\"/>\n <p class=\"expl\">E. g. <span class=\"code\">/usr/bin/sendmail\"</span></p>\n </el-form-item>\n <el-form-item label=\"CMD Args\">\n <el-input :value=\"mailer.cmd_args\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'cmd_args')\"/>\n <p class=\"expl\">E. g. <span class=\"code\">-N delay,failure,success</span></p>\n </el-form-item>\n <el-form-item label=\"Qmail\">\n <el-switch :value=\"mailer.qmail\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'qmail')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.SMTP'\">\n <el-form-item label=\"Relay\">\n <el-input :value=\"mailer.relay\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'relay')\"/>\n <p class=\"expl\">E. g. <span class=\"code\">smtp.avengers.com</span></p>\n </el-form-item>\n <el-form-item label=\"Username\">\n <el-input :value=\"mailer.username\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'username')\"/>\n </el-form-item>\n <el-form-item label=\"Password\">\n <el-input :value=\"mailer.password\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'password')\"/>\n </el-form-item>\n <el-form-item label=\"SSL\">\n <el-switch :value=\"mailer.ssl\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'ssl')\"/>\n </el-form-item>\n <el-form-item label=\"TLS\">\n <el-input :value=\"mailer.tls\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'tls')\"/>\n <p class=\"expl\">E.g. <span class=\"code\">:always</span></p>\n </el-form-item>\n <el-form-item label=\"Auth\">\n <el-input :value=\"mailer.auth\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'auth')\"/>\n <p class=\"expl\">E.g. <span class=\"code\">:always</span></p>\n </el-form-item>\n <el-form-item label=\"Port\">\n <el-input :value=\"mailer.port\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'port')\"/>\n </el-form-item>\n <el-form-item label=\"DKIM\">\n <editor v-model=\"editorContent\" height=\"150\" width=\"100%\" lang=\"elixir\" theme=\"chrome\"/>\n </el-form-item>\n <el-form-item label=\"Retries\">\n <el-input-number :value=\"mailer.retries\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'retries')\"/>\n </el-form-item>\n <el-form-item label=\"No mx lookups\">\n <el-switch :value=\"mailer.no_mx_lookups\" @change=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'no_mx_lookups')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Sendgrid'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Mandrill'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Mailgun'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n <el-form-item label=\"Domain\">\n <el-input :value=\"mailer.domain\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'domain')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Mailjet'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n <el-form-item label=\"Secret\">\n <el-input :value=\"mailer.secret\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'secret')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Postmark'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.SparkPost'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n <el-form-item label=\"Endpoint\">\n <el-input :value=\"mailer.endpoint\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'endpoint')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.AmazonSES'\">\n <el-form-item label=\"Region\">\n <el-input :value=\"mailer.region\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'region')\"/>\n </el-form-item>\n <el-form-item label=\"Access key\">\n <el-input :value=\"mailer.access_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'access_key')\"/>\n </el-form-item>\n <el-form-item label=\"Secret\">\n <el-input :value=\"mailer.secret\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'secret')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Dyn'\">\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.SocketLabs'\">\n <el-form-item label=\"Server ID\">\n <el-input :value=\"mailer.server_id\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'server_id')\"/>\n </el-form-item>\n <el-form-item label=\"API key\">\n <el-input :value=\"mailer.api_key\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')\"/>\n </el-form-item>\n </div>\n <div v-if=\"mailer.adapter === 'Swoosh.Adapters.Gmail'\">\n <el-form-item label=\"Access token\">\n <el-input :value=\"mailer.access_token\" @input=\"updateSetting($event, 'Pleroma.Emails.Mailer', 'access_token')\"/>\n </el-form-item>\n </div>\n </el-form>\n <el-form ref=\"emailNotifications\" :model=\"emailNotifications\" :label-width=\"labelWidth\">\n <el-form-item label=\"Email notifications\"/>\n <el-form-item label=\"Digest:\"/>\n <el-form-item label=\"Active\">\n <el-switch :value=\"emailNotifications.digest.active\" @change=\"processNestedData($event, 'email_notifications', 'digest', 'active')\"/>\n <p class=\"expl\">Globally enable or disable digest emails.</p>\n </el-form-item>\n <el-form-item label=\"Schedule\">\n <el-input :value=\"emailNotifications.digest.schedule\" @input=\"processNestedData($event, 'email_notifications', 'digest', 'schedule')\"/>\n <p class=\"expl\">When to send digest email, in <a\n href=\"https://en.wikipedia.org/wiki/Cron\"\n rel=\"nofollow noreferrer noopener\"\n target=\"_blank\">\n crontab format\n </a>.\n \"0 0 * * 0\" is the default, meaning \"once a week at midnight on Sunday morning\"</p>\n </el-form-item>\n <el-form-item label=\"Interval\">\n <el-input-number :value=\"emailNotifications.digest.interval\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'email_notifications', 'digest', 'interval')\"/>\n <p class=\"expl\">Minimum interval between digest emails to one user.</p>\n </el-form-item>\n <el-form-item label=\"Inactivity threshold\">\n <el-input-number :value=\"emailNotifications.digest.inactivity_threshold\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'email_notifications', 'digest', 'inactivity_threshold')\"/>\n <p class=\"expl\">Minimum user inactivity threshold.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"userEmail\" :model=\"userEmail\" :label-width=\"labelWidth\">\n <el-form-item label=\"Digest template styles:\"/>\n <el-form-item label=\"Logo\">\n <el-input :value=\"userEmail.logo\" @input=\"updateSetting($event, 'Pleroma.Emails.UserEmail', 'logo')\"/>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"sendEmailLogo\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"/api/v1/media\">\n <el-button size=\"small\" type=\"primary\">Click to upload</el-button>\n </el-upload>\n </div>\n <p class=\"expl\">A path to a custom logo.</p>\n </el-form-item>\n <el-form-item label=\"Styling:\"/>\n <el-form-item label=\"Link color\">\n <el-input :value=\"userEmail.styling.link_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'link_color')\"/>\n </el-form-item>\n <el-form-item label=\"Background color\">\n <el-input :value=\"userEmail.styling.background_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'background_color')\"/>\n </el-form-item>\n <el-form-item label=\"Content background color\">\n <el-input :value=\"userEmail.styling.content_background_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'content_background_color')\"/>\n </el-form-item>\n <el-form-item label=\"Header color\">\n <el-input :value=\"userEmail.styling.header_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'header_color')\"/>\n </el-form-item>\n <el-form-item label=\"Text color\">\n <el-input :value=\"userEmail.styling.text_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'text_color')\"/>\n </el-form-item>\n <el-form-item label=\"Text muted color\">\n <el-input :value=\"userEmail.styling.text_muted_color\" @input=\"processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'text_muted_color')\"/>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\nimport AceEditor from 'vue2-ace-editor'\nimport 'brace/mode/elixir'\nimport 'default-passive-events'\n\nexport default {\n name: 'Mailer',\n components: {\n editor: AceEditor\n },\n computed: {\n ...mapGetters([\n 'emailNotifications',\n 'mailer',\n 'userEmail'\n ]),\n editorContent: {\n get: function() {\n return this.mailer.dkim ? this.mailer.dkim[0] : ''\n },\n set: function(value) {\n this.updateSetting([value], 'Pleroma.Emails.Mailer', 'dkim')\n }\n },\n adapterOptions() {\n return options.adapterOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n processNestedData(value, tab, inputName, childName) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][inputName], ...{ [childName]: value }}\n this.updateSetting(updatedValue, tab, inputName)\n },\n sendEmailLogo({ file }) {\n this.$store.dispatch('UploadMedia', { file, tab: 'Pleroma.Emails.UserEmail', inputName: 'logo' })\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Mailer.vue?vue&type=template&id=6cc0e868&\"\nimport script from \"./Mailer.vue?vue&type=script&lang=js&\"\nexport * from \"./Mailer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Mailer.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Mailer.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"mailer\",attrs:{\"model\":_vm.mailer,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.mailer.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Allows to enable or disable sending emails. Defaults to false.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Adapter\"}},[_c('el-select',{attrs:{\"value\":_vm.mailer.adapter,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'adapter')}}},_vm._l((_vm.adapterOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Sendmail')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"CMD Path\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.cmd_path},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'cmd_path')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E. g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"/usr/bin/sendmail\\\"\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"CMD Args\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.cmd_args},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'cmd_args')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E. g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"-N delay,failure,success\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Qmail\"}},[_c('el-switch',{attrs:{\"value\":_vm.mailer.qmail},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'qmail')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.SMTP')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Relay\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.relay},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'relay')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E. g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\"smtp.avengers.com\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Username\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.username},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'username')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Password\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.password},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'password')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"SSL\"}},[_c('el-switch',{attrs:{\"value\":_vm.mailer.ssl},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'ssl')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"TLS\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.tls},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'tls')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E.g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\":always\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Auth\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.auth},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'auth')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"E.g. \"),_c('span',{staticClass:\"code\"},[_vm._v(\":always\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Port\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.port},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'port')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"DKIM\"}},[_c('editor',{attrs:{\"height\":\"150\",\"width\":\"100%\",\"lang\":\"elixir\",\"theme\":\"chrome\"},model:{value:(_vm.editorContent),callback:function ($$v) {_vm.editorContent=$$v},expression:\"editorContent\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Retries\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mailer.retries,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'retries')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"No mx lookups\"}},[_c('el-switch',{attrs:{\"value\":_vm.mailer.no_mx_lookups},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'no_mx_lookups')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Sendgrid')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Mandrill')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Mailgun')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Domain\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.domain},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'domain')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Mailjet')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Secret\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'secret')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Postmark')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.SparkPost')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Endpoint\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.endpoint},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'endpoint')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.AmazonSES')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Region\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.region},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'region')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Access key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.access_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'access_key')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Secret\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.secret},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'secret')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Dyn')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.SocketLabs')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Server ID\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.server_id},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'server_id')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"API key\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.api_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'api_key')}}})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.mailer.adapter === 'Swoosh.Adapters.Gmail')?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Access token\"}},[_c('el-input',{attrs:{\"value\":_vm.mailer.access_token},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.Mailer', 'access_token')}}})],1)],1):_vm._e()],1),_vm._v(\" \"),_c('el-form',{ref:\"emailNotifications\",attrs:{\"model\":_vm.emailNotifications,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Email notifications\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Digest:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Active\"}},[_c('el-switch',{attrs:{\"value\":_vm.emailNotifications.digest.active},on:{\"change\":function($event){return _vm.processNestedData($event, 'email_notifications', 'digest', 'active')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Globally enable or disable digest emails.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Schedule\"}},[_c('el-input',{attrs:{\"value\":_vm.emailNotifications.digest.schedule},on:{\"input\":function($event){return _vm.processNestedData($event, 'email_notifications', 'digest', 'schedule')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When to send digest email, in \"),_c('a',{attrs:{\"href\":\"https://en.wikipedia.org/wiki/Cron\",\"rel\":\"nofollow noreferrer noopener\",\"target\":\"_blank\"}},[_vm._v(\"\\n crontab format\\n \")]),_vm._v(\".\\n \\\"0 0 * * 0\\\" is the default, meaning \\\"once a week at midnight on Sunday morning\\\"\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Interval\"}},[_c('el-input-number',{attrs:{\"value\":_vm.emailNotifications.digest.interval,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'email_notifications', 'digest', 'interval')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Minimum interval between digest emails to one user.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Inactivity threshold\"}},[_c('el-input-number',{attrs:{\"value\":_vm.emailNotifications.digest.inactivity_threshold,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'email_notifications', 'digest', 'inactivity_threshold')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Minimum user inactivity threshold.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"userEmail\",attrs:{\"model\":_vm.userEmail,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Digest template styles:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Logo\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.logo},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Emails.UserEmail', 'logo')}}}),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.sendEmailLogo,\"multiple\":false,\"show-file-list\":false,\"action\":\"/api/v1/media\"}},[_c('el-button',{attrs:{\"size\":\"small\",\"type\":\"primary\"}},[_vm._v(\"Click to upload\")])],1)],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A path to a custom logo.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Styling:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Link color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.link_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'link_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Background color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.background_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'background_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Content background color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.content_background_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'content_background_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Header color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.header_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'header_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Text color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.text_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'text_color')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Text muted color\"}},[_c('el-input',{attrs:{\"value\":_vm.userEmail.styling.text_muted_color},on:{\"input\":function($event){return _vm.processNestedData($event, 'Pleroma.Emails.UserEmail', 'styling', 'text_muted_color')}}})],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaProxy.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MediaProxy.vue?vue&type=script&lang=js&\"","<template>\n <el-form ref=\"mediaProxy\" :model=\"mediaProxy\" :label-width=\"labelWidth\">\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"mediaProxy.enabled\" @change=\"updateSetting($event, 'media_proxy', 'enabled')\"/>\n <p class=\"expl\">Enables proxying of remote media to the instance’s proxy</p>\n </el-form-item>\n <el-form-item label=\"Base URL\">\n <el-input :value=\"mediaProxy.base_url\" @input=\"updateSetting($event, 'media_proxy', 'base_url')\"/>\n <p class=\"expl\">The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts.</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Proxy options:\"/>\n <el-form-item label=\"Redirect on failure\">\n <el-switch :value=\"mediaProxy.proxy_opts.redirect_on_failure\" @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'redirect_on_failure')\"/>\n <p class=\"expl\">Redirects the client to the real remote URL if there's any HTTP errors. Any error during body processing will not be redirected as the response is chunked</p>\n </el-form-item>\n <el-form-item label=\"Max body length (MB)\">\n <el-input-number :value=\"mediaProxy.proxy_opts.max_body_length / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1048576, 'media_proxy', 'proxy_opts', 'max_body_length')\"/>\n <p class=\"expl\">Limits the content length to be approximately the specified length</p>\n </el-form-item>\n <el-form-item label=\"Max read duration (s)\">\n <el-input-number :value=\"mediaProxy.proxy_opts.max_read_duration\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'max_read_duration')\"/>\n <p class=\"expl\">The total time the connection is allowed to read from the remote upstream</p>\n </el-form-item>\n <el-form-item label=\"Inline content types\">\n <el-select :value=\"inlineContentTypes\" clearable @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'inline_content_types')\">\n <el-option :value=\"true\" label=\"True\"/>\n <el-option :value=\"false\" label=\"False\"/>\n <el-option value=\"whitelistedTypeArray\" label=\"List of whitelisted content types\"/>\n <el-option value=\"keepUserAgent\" label=\"Forward client's user-agent to the upstream\"/>\n </el-select>\n <p v-if=\"inlineContentTypes === true\" class=\"expl\">Will not alter <span class=\"code\">content-disposition</span> (up to the upstream)</p>\n <p v-if=\"!inlineContentTypes\" class=\"expl\">Will add <span class=\"code\">content-disposition: attachment</span> to any request</p>\n <p v-if=\"inlineContentTypes === 'keepUserAgent'\" class=\"expl\">\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\n doing content transformation (encoding, …) depending on the request.\n </p>\n </el-form-item>\n <el-form-item v-if=\"inlineContentTypes === 'whitelistedTypeArray'\" label=\"Whitelisted content types\">\n <el-select :value=\"whitelistedContentTypes\" multiple filterable allow-create @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'inline_content_types')\">\n <el-option\n v-for=\"item in whitelistedContentTypesOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Request headers\">\n <el-select :value=\"mediaProxy.proxy_opts.req_headers || []\" multiple filterable allow-create @change=\"processNestedData($event, 'media_proxy', 'proxy_opts', 'req_headers')\"/>\n <p class=\"expl\"><span class=\"code\">resp_headers</span> additional headers</p>\n </el-form-item>\n <el-form-item label=\"HTTP:\"/>\n <el-form-item label=\"Follow redirect\">\n <el-switch :value=\"http.follow_redirect\" @change=\"processHttpSettings($event, 'media_proxy', 'proxy_opts', 'http', 'follow_redirect')\"/>\n </el-form-item>\n <el-form-item label=\"Pool\">\n <el-select :value=\"http.pool\" clearable @change=\"processHttpSettings($event, 'media_proxy', 'proxy_opts', 'http', 'pool')\">\n <el-option\n v-for=\"item in hackneyPoolsOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">{{ getPoolExpl(http.pool) }}</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Whitelist\">\n <el-select :value=\"mediaProxy.whitelist || []\" multiple filterable allow-create @change=\"updateSetting($event, 'media_proxy', 'whitelist')\"/>\n <p class=\"expl\">List of domains to bypass the mediaproxy</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\n\nexport default {\n name: 'MediaProxy',\n computed: {\n ...mapGetters([\n 'mediaProxy'\n ]),\n inlineContentTypes() {\n return Array.isArray(this.mediaProxy.proxy_opts.inline_content_types) ? 'whitelistedTypeArray' : this.mediaProxy.proxy_opts.inline_content_types\n },\n http() {\n return this.mediaProxy.proxy_opts.http || {}\n },\n reqHeadersOptions() {\n return this.mediaProxySettings.reqHeadersOptions\n },\n hackneyPoolsOptions() {\n return options.hackneyPoolsOptions\n },\n whitelistedContentTypes() {\n return Array.isArray(this.mediaProxy.proxy_opts.inline_content_types) ? this.mediaProxy.proxy_opts.inline_content_types : []\n },\n whitelistedContentTypesOptions() {\n return options.whitelistedContentTypesOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n getPoolExpl(value) {\n const pool = this.hackneyPoolsOptions.find(el => el.value === value)\n return pool ? 'Max connections: ' + pool.max_connections + ', timeout: ' + pool.timeout : ''\n },\n processHttpSettings(value, tab, section, httpSection, input) {\n const updatedValue = { ...this.mediaProxy[section][httpSection], ...{ [input]: value }}\n this.processNestedData(updatedValue, tab, section, httpSection)\n },\n processNestedData(value, tab, section, input) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][section], ...{ [input]: value }}\n this.updateSetting(updatedValue, tab, section)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./MediaProxy.vue?vue&type=template&id=383ccc76&\"\nimport script from \"./MediaProxy.vue?vue&type=script&lang=js&\"\nexport * from \"./MediaProxy.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MediaProxy.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"MediaProxy.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"mediaProxy\",attrs:{\"model\":_vm.mediaProxy,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.mediaProxy.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'media_proxy', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Enables proxying of remote media to the instance’s proxy\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Base URL\"}},[_c('el-input',{attrs:{\"value\":_vm.mediaProxy.base_url},on:{\"input\":function($event){return _vm.updateSetting($event, 'media_proxy', 'base_url')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host/CDN fronts.\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Proxy options:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect on failure\"}},[_c('el-switch',{attrs:{\"value\":_vm.mediaProxy.proxy_opts.redirect_on_failure},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'redirect_on_failure')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Redirects the client to the real remote URL if there's any HTTP errors. Any error during body processing will not be redirected as the response is chunked\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max body length (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mediaProxy.proxy_opts.max_body_length / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1048576, 'media_proxy', 'proxy_opts', 'max_body_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Limits the content length to be approximately the specified length\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max read duration (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mediaProxy.proxy_opts.max_read_duration,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'max_read_duration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The total time the connection is allowed to read from the remote upstream\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Inline content types\"}},[_c('el-select',{attrs:{\"value\":_vm.inlineContentTypes,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'inline_content_types')}}},[_c('el-option',{attrs:{\"value\":true,\"label\":\"True\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":false,\"label\":\"False\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"whitelistedTypeArray\",\"label\":\"List of whitelisted content types\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"keepUserAgent\",\"label\":\"Forward client's user-agent to the upstream\"}})],1),_vm._v(\" \"),(_vm.inlineContentTypes === true)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Will not alter \"),_c('span',{staticClass:\"code\"},[_vm._v(\"content-disposition\")]),_vm._v(\" (up to the upstream)\")]):_vm._e(),_vm._v(\" \"),(!_vm.inlineContentTypes)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Will add \"),_c('span',{staticClass:\"code\"},[_vm._v(\"content-disposition: attachment\")]),_vm._v(\" to any request\")]):_vm._e(),_vm._v(\" \"),(_vm.inlineContentTypes === 'keepUserAgent')?_c('p',{staticClass:\"expl\"},[_vm._v(\"\\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\\n doing content transformation (encoding, …) depending on the request.\\n \")]):_vm._e()],1),_vm._v(\" \"),(_vm.inlineContentTypes === 'whitelistedTypeArray')?_c('el-form-item',{attrs:{\"label\":\"Whitelisted content types\"}},[_c('el-select',{attrs:{\"value\":_vm.whitelistedContentTypes,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'inline_content_types')}}},_vm._l((_vm.whitelistedContentTypesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Request headers\"}},[_c('el-select',{attrs:{\"value\":_vm.mediaProxy.proxy_opts.req_headers || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'media_proxy', 'proxy_opts', 'req_headers')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_c('span',{staticClass:\"code\"},[_vm._v(\"resp_headers\")]),_vm._v(\" additional headers\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"HTTP:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Follow redirect\"}},[_c('el-switch',{attrs:{\"value\":_vm.http.follow_redirect},on:{\"change\":function($event){return _vm.processHttpSettings($event, 'media_proxy', 'proxy_opts', 'http', 'follow_redirect')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pool\"}},[_c('el-select',{attrs:{\"value\":_vm.http.pool,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processHttpSettings($event, 'media_proxy', 'proxy_opts', 'http', 'pool')}}},_vm._l((_vm.hackneyPoolsOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(_vm._s(_vm.getPoolExpl(_vm.http.pool)))])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Whitelist\"}},[_c('el-select',{attrs:{\"value\":_vm.mediaProxy.whitelist || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'media_proxy', 'whitelist')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of domains to bypass the mediaproxy\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Metadata.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Metadata.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"metadata\" :model=\"metadata\" :label-width=\"labelWidth\">\n <el-form-item label=\"Providers\">\n <el-select :value=\"metadata.providers || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Web.Metadata', 'providers')\">\n <el-option value=\"Pleroma.Web.Metadata.Providers.OpenGraph\"/>\n <el-option value=\"Pleroma.Web.Metadata.Providers.TwitterCard\"/>\n <el-option value=\"Pleroma.Web.Metadata.Providers.RelMe\"/>\n </el-select>\n <p class=\"expl\">A list of metadata providers to enable.</p>\n </el-form-item>\n <el-form-item label=\"Unfurl NSFW\">\n <el-switch :value=\"metadata.unfurl_nsfw\" @change=\"updateSetting($event, 'Pleroma.Web.Metadata', 'unfurl_nsfw')\"/>\n <p class=\"expl\">If set to true nsfw attachments will be shown in previews.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"richMedia\" :model=\"richMedia\" :label-width=\"labelWidth\">\n <el-form-item label=\"Rich media:\"/>\n <el-form-item label=\"Enabled\">\n <el-switch :value=\"richMedia.enabled\" @change=\"updateSetting($event, 'rich_media', 'enabled')\"/>\n <p class=\"expl\">If enabled the instance will parse metadata from attached links to generate link previews.</p>\n </el-form-item>\n <el-form-item label=\"Ignore hosts\">\n <el-select :value=\"richMedia.ignore_hosts || []\" multiple filterable allow-create @change=\"updateSetting($event, 'rich_media', 'ignore_hosts')\"/>\n <p class=\"expl\">List of hosts which will be ignored by the metadata parser.</p>\n </el-form-item>\n <el-form-item label=\"Ignore TLD\">\n <el-select :value=\"richMedia.ignore_tld || []\" multiple filterable allow-create @change=\"updateSetting($event, 'rich_media', 'ignore_tld')\"/>\n <p class=\"expl\">List TLDs (top-level domains) which will ignore for parse metadata.\n Default is <span class=\"code\">[\"local\", \"localdomain\", \"lan\"]</span></p>\n </el-form-item>\n <el-form-item label=\"Parsers\">\n <el-select :value=\"richMedia.parsers || []\" multiple filterable allow-create @change=\"updateSetting($event, 'rich_media', 'parsers')\">\n <el-option value=\"Pleroma.Web.RichMedia.Parsers.TwitterCard\"/>\n <el-option value=\"Pleroma.Web.RichMedia.Parsers.OGP\"/>\n <el-option value=\"Pleroma.Web.RichMedia.Parsers.OEmbed\"/>\n </el-select>\n <p class=\"expl\">List of Rich Media parsers</p>\n </el-form-item>\n <el-form-item label=\"TTL Setters\">\n <el-select :value=\"richMedia.ttl_setters || []\" multiple filterable allow-create @change=\"updateSetting($event, 'rich_media', 'ttl_setters')\">\n <el-option value=\"Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl\"/>\n </el-select>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Metadata',\n computed: {\n ...mapGetters([\n 'metadata',\n 'richMedia'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Metadata.vue?vue&type=template&id=2f391169&\"\nimport script from \"./Metadata.vue?vue&type=script&lang=js&\"\nexport * from \"./Metadata.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Metadata.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Metadata.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"metadata\",attrs:{\"model\":_vm.metadata,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Providers\"}},[_c('el-select',{attrs:{\"value\":_vm.metadata.providers || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Metadata', 'providers')}}},[_c('el-option',{attrs:{\"value\":\"Pleroma.Web.Metadata.Providers.OpenGraph\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Pleroma.Web.Metadata.Providers.TwitterCard\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Pleroma.Web.Metadata.Providers.RelMe\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of metadata providers to enable.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unfurl NSFW\"}},[_c('el-switch',{attrs:{\"value\":_vm.metadata.unfurl_nsfw},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Web.Metadata', 'unfurl_nsfw')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If set to true nsfw attachments will be shown in previews.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"richMedia\",attrs:{\"model\":_vm.richMedia,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Rich media:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Enabled\"}},[_c('el-switch',{attrs:{\"value\":_vm.richMedia.enabled},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'enabled')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If enabled the instance will parse metadata from attached links to generate link previews.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Ignore hosts\"}},[_c('el-select',{attrs:{\"value\":_vm.richMedia.ignore_hosts || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'ignore_hosts')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of hosts which will be ignored by the metadata parser.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Ignore TLD\"}},[_c('el-select',{attrs:{\"value\":_vm.richMedia.ignore_tld || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'ignore_tld')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List TLDs (top-level domains) which will ignore for parse metadata.\\n Default is \"),_c('span',{staticClass:\"code\"},[_vm._v(\"[\\\"local\\\", \\\"localdomain\\\", \\\"lan\\\"]\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Parsers\"}},[_c('el-select',{attrs:{\"value\":_vm.richMedia.parsers || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'parsers')}}},[_c('el-option',{attrs:{\"value\":\"Pleroma.Web.RichMedia.Parsers.TwitterCard\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Pleroma.Web.RichMedia.Parsers.OGP\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"Pleroma.Web.RichMedia.Parsers.OEmbed\"}})],1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of Rich Media parsers\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"TTL Setters\"}},[_c('el-select',{attrs:{\"value\":_vm.richMedia.ttl_setters || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'rich_media', 'ttl_setters')}}},[_c('el-option',{attrs:{\"value\":\"Pleroma.Web.RichMedia.Parser.TTL.AwsSignedUrl\"}})],1)],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MRF.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MRF.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"mrfSimple\" :model=\"mrfSimple\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Simple:\"/>\n <el-form-item label=\"Media removal\">\n <el-select :value=\"mrfSimple.media_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'media_removal')\"/>\n <p class=\"expl\">List of instances to remove medias from</p>\n </el-form-item>\n <el-form-item label=\"Media NSFW\">\n <el-select :value=\"mrfSimple.media_nsfw || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'media_nsfw')\"/>\n <p class=\"expl\">List of instances to put medias as NSFW (sensitive)</p>\n </el-form-item>\n <el-form-item label=\"Federated timeline removal\">\n <el-select :value=\"mrfSimple.federated_timeline_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'federated_timeline_removal')\"/>\n <p class=\"expl\">List of instances to remove from Federated (aka The Whole Known Network) Timeline</p>\n </el-form-item>\n <el-form-item label=\"Reject\">\n <el-select :value=\"mrfSimple.reject || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'reject')\"/>\n <p class=\"expl\">List of instances to reject any activities from</p>\n </el-form-item>\n <el-form-item label=\"Accept\">\n <el-select :value=\"mrfSimple.accept || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'accept')\"/>\n <p class=\"expl\">List of instances to accept any activities from</p>\n </el-form-item>\n <el-form-item label=\"Report removal\">\n <el-select :value=\"mrfSimple.report_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'report_removal')\"/>\n <p class=\"expl\">List of instances to reject reports from</p>\n </el-form-item>\n <el-form-item label=\"Avatar removal\">\n <el-select :value=\"mrfSimple.avatar_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'avatar_removal')\"/>\n <p class=\"expl\">List of instances to strip avatars from</p>\n </el-form-item>\n <el-form-item label=\"Banner removal\">\n <el-select :value=\"mrfSimple.banner_removal || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_simple', 'banner_removal')\"/>\n <p class=\"expl\">List of instances to strip banners from</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfRejectnonpublic\" :model=\"mrfRejectnonpublic\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Reject non public:\"/>\n <el-form-item label=\"Allow followers-only posts\">\n <el-switch :value=\"mrfRejectnonpublic.allow_followersonly\" @change=\"updateSetting($event, 'mrf_rejectnonpublic', 'allow_followersonly')\"/>\n </el-form-item>\n <el-form-item label=\"Allow direct messages\">\n <el-switch :value=\"mrfRejectnonpublic.allow_direct\" @change=\"updateSetting($event, 'mrf_rejectnonpublic', 'allow_direct')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfHellthread\" :model=\"mrfHellthread\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Hellthread:\"/>\n <el-form-item label=\"Delist threshold\">\n <el-input-number :value=\"mrfHellthread.delist_threshold\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'mrf_hellthread', 'delist_threshold')\"/>\n <p class=\"expl\">Number of mentioned users after which the message gets delisted\n (the message can still be seen, but it will not show up in public timelines and mentioned users won't get notifications about it).\n Set to 0 to disable.</p>\n </el-form-item>\n <el-form-item label=\"Reject threshold\">\n <el-input-number :value=\"mrfHellthread.reject_threshold\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"updateSetting($event, 'mrf_hellthread', 'reject_threshold')\"/>\n <p class=\"expl\">Number of mentioned users after which the messaged gets rejected. Set to 0 to disable.</p>\n </el-form-item>\n </el-form>\n <el-form ref=\"mrfKeyword\" :model=\"mrfKeyword\" :label-width=\"labelWidth\">\n <div class=\"line\"/>\n <el-form-item label=\"MRF Keyword:\"/>\n <el-form-item label=\"Reject\">\n <el-select :value=\"mrfKeyword.reject || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_keyword', 'reject')\"/>\n <p class=\"expl\">A list of patterns which result in message being rejected</p>\n </el-form-item>\n <el-form-item label=\"Federated timeline removal\">\n <el-select :value=\"mrfKeyword.federated_timeline_removal\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_keyword', 'federated_timeline_removal')\"/>\n <p class=\"expl\">A list of patterns which result in message being removed from federated timelines (a.k.a unlisted)</p>\n </el-form-item>\n <el-form-item label=\"Replace\">\n <div v-for=\"([key, value], index) in replacePatterns\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"key\" placeholder=\"pattern\" class=\"name-input\" @input=\"parseReplace($event, 'key', index)\"/> :\n <el-input :value=\"value\" placeholder=\"replacement\" class=\"value-input\" @input=\"parseReplace($event, 'value', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteReplaceRow(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addReplaceRow\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfSubchain\" :model=\"mrfSubchain\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Subchain:\"/>\n <el-form-item label=\"Match actor:\">\n <div v-for=\"([regExp, policies], index) in matchActor\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"regExp\" placeholder=\"Regular expression\" class=\"name-input\" @input=\"parseMrfSubchain($event, 'regExp', index)\"/> :\n <el-select :value=\"policies\" placeholder=\"Policy modules\" multiple filterable allow-create class=\"value-input\" @change=\"parseMrfSubchain($event, 'policies', index)\">\n <el-option\n v-for=\"item in policiesOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteMrfSubchainRow(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addMrfSubchainRow\"/>\n <p class=\"expl\">Matches a series of regular expressions against the actor field.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfMention\" :model=\"mrfMention\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Mention:\"/>\n <el-form-item label=\"Actors\">\n <el-select :value=\"mrfMention.actors || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_mention', 'actors')\"/>\n <p class=\"expl\">A list of actors, for which to drop any posts mentioning.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfUserAllowlist\" :model=\"mrfUserAllowlist\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF User allowlist\">\n <div v-for=\"([domain, users], index) in userAllowlist\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"domain\" placeholder=\"domain\" class=\"name-input\" @input=\"parseMrfUserAllowlist($event, 'domain', index)\"/> :\n <el-select :value=\"users\" placeholder=\"list of users\" multiple filterable allow-create class=\"value-input\" @change=\"parseMrfUserAllowlist($event, 'users', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteMrfUserAllowlistRow(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addMrfUserAllowlistRow\"/>\n <p class=\"expl\">The keys in this section are the domain names that the policy should apply to. Each key should be assigned a list of users that should be allowed through by their ActivityPub ID.</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfNormalizeMarkup\" :model=\"mrfNormalizeMarkup\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF normalize markup:\"/>\n <el-form-item label=\"Scrub policy\">\n <el-input :value=\"mrfNormalizeMarkup.scrub_policy\" @input=\"updateSetting($event, 'mrf_normalize_markup', 'scrub_policy')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mrfVocabulary\" :model=\"mrfVocabulary\" :label-width=\"labelWidth\">\n <el-form-item label=\"MRF Vocabulary:\"/>\n <el-form-item label=\"Accept\">\n <el-select :value=\"mrfVocabulary.accept || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_vocabulary', 'accept')\"/>\n <p class=\"expl\">A list of ActivityStreams terms to accept. If empty, all supported messages are accepted.</p>\n </el-form-item>\n <el-form-item label=\"Reject\">\n <el-select :value=\"mrfVocabulary.reject || []\" multiple allow-create filterable @change=\"updateSetting($event, 'mrf_vocabulary', 'reject')\"/>\n <p class=\"expl\">A list of ActivityStreams terms to reject. If empty, no messages are rejected.</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\n\nexport default {\n name: 'MRF',\n data: function() {\n return {\n removableDoubleOptions: ['replace', 'mrfUserAllowlist'],\n removableSingleOptions: ['keywordReject', 'federatedTimelineRemoval']\n }\n },\n computed: {\n ...mapGetters([\n 'mrfHellthread',\n 'mrfKeyword',\n 'mrfMention',\n 'mrfNormalizeMarkup',\n 'mrfSimple',\n 'mrfSubchain',\n 'mrfRejectnonpublic',\n 'mrfUserAllowlist',\n 'mrfVocabulary'\n ]),\n matchActor() {\n return Object.keys(this.mrfSubchain.match_actor).map(key => [key, this.mrfSubchain.match_actor[key]])\n },\n policiesOptions() {\n return options.rewritePolicyOptions\n },\n replacePatterns() {\n return Object.keys(this.mrfKeyword.replace).map(key => [key, this.mrfKeyword.replace[key]])\n },\n userAllowlist() {\n return Object.keys(this.mrfUserAllowlist).map(key => [key, this.mrfUserAllowlist[key]])\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n addMrfSubchainRow() {\n const updatedValue = this.matchActor.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting({ ...updatedValue, '': [] }, 'mrf_subchain', 'match_actor')\n },\n addMrfUserAllowlistRow() {\n const updatedValue = this.userAllowlist.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.$store.dispatch('RewriteConfig', { data: { ...updatedValue, '': [] }, tab: 'mrf_user_allowlist' })\n },\n addReplaceRow() {\n const updatedValue = this.replacePatterns.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting({ ...updatedValue, '': '' }, 'mrf_keyword', 'replace')\n },\n deleteMrfSubchainRow(index) {\n const filteredValues = this.matchActor.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'mrf_subchain', 'match_actor')\n },\n deleteMrfUserAllowlistRow(index) {\n const filteredValues = this.userAllowlist.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.$store.dispatch('RewriteConfig', { data: updatedValue, tab: 'mrf_user_allowlist' })\n },\n deleteReplaceRow(index) {\n const filteredValues = this.replacePatterns.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'mrf_keyword', 'replace')\n },\n parseMrfSubchain(value, inputType, index) {\n const updatedValue = this.matchActor.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'regExp' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'mrf_subchain', 'match_actor')\n },\n parseMrfUserAllowlist(value, inputType, index) {\n const updatedValue = this.userAllowlist.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'domain' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.$store.dispatch('RewriteConfig', { data: updatedValue, tab: 'mrf_user_allowlist' })\n },\n parseReplace(value, inputType, index) {\n const updatedValue = this.replacePatterns.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'key' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'mrf_keyword', 'replace')\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./MRF.vue?vue&type=template&id=78b764c6&\"\nimport script from \"./MRF.vue?vue&type=script&lang=js&\"\nexport * from \"./MRF.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MRF.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"MRF.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"mrfSimple\",attrs:{\"model\":_vm.mrfSimple,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Simple:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Media removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.media_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'media_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to remove medias from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Media NSFW\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.media_nsfw || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'media_nsfw')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to put medias as NSFW (sensitive)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federated timeline removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.federated_timeline_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'federated_timeline_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to remove from Federated (aka The Whole Known Network) Timeline\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reject\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.reject || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'reject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to reject any activities from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Accept\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.accept || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'accept')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to accept any activities from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Report removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.report_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'report_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to reject reports from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Avatar removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.avatar_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'avatar_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to strip avatars from\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Banner removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfSimple.banner_removal || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_simple', 'banner_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"List of instances to strip banners from\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfRejectnonpublic\",attrs:{\"model\":_vm.mrfRejectnonpublic,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Reject non public:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow followers-only posts\"}},[_c('el-switch',{attrs:{\"value\":_vm.mrfRejectnonpublic.allow_followersonly},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_rejectnonpublic', 'allow_followersonly')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Allow direct messages\"}},[_c('el-switch',{attrs:{\"value\":_vm.mrfRejectnonpublic.allow_direct},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_rejectnonpublic', 'allow_direct')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfHellthread\",attrs:{\"model\":_vm.mrfHellthread,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Hellthread:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Delist threshold\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mrfHellthread.delist_threshold,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_hellthread', 'delist_threshold')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Number of mentioned users after which the message gets delisted\\n (the message can still be seen, but it will not show up in public timelines and mentioned users won't get notifications about it).\\n Set to 0 to disable.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reject threshold\"}},[_c('el-input-number',{attrs:{\"value\":_vm.mrfHellthread.reject_threshold,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_hellthread', 'reject_threshold')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Number of mentioned users after which the messaged gets rejected. Set to 0 to disable.\")])],1)],1),_vm._v(\" \"),_c('el-form',{ref:\"mrfKeyword\",attrs:{\"model\":_vm.mrfKeyword,\"label-width\":_vm.labelWidth}},[_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"MRF Keyword:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reject\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfKeyword.reject || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_keyword', 'reject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of patterns which result in message being rejected\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Federated timeline removal\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfKeyword.federated_timeline_removal,\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_keyword', 'federated_timeline_removal')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of patterns which result in message being removed from federated timelines (a.k.a unlisted)\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Replace\"}},[_vm._l((_vm.replacePatterns),function(ref,index){\nvar key = ref[0];\nvar value = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":key,\"placeholder\":\"pattern\"},on:{\"input\":function($event){return _vm.parseReplace($event, 'key', index)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"value-input\",attrs:{\"value\":value,\"placeholder\":\"replacement\"},on:{\"input\":function($event){return _vm.parseReplace($event, 'value', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteReplaceRow(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addReplaceRow}})],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfSubchain\",attrs:{\"model\":_vm.mrfSubchain,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Subchain:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Match actor:\"}},[_vm._l((_vm.matchActor),function(ref,index){\nvar regExp = ref[0];\nvar policies = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":regExp,\"placeholder\":\"Regular expression\"},on:{\"input\":function($event){return _vm.parseMrfSubchain($event, 'regExp', index)}}}),_vm._v(\" :\\n \"),_c('el-select',{staticClass:\"value-input\",attrs:{\"value\":policies,\"placeholder\":\"Policy modules\",\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.parseMrfSubchain($event, 'policies', index)}}},_vm._l((_vm.policiesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteMrfSubchainRow(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addMrfSubchainRow}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Matches a series of regular expressions against the actor field.\")])],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfMention\",attrs:{\"model\":_vm.mrfMention,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Mention:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Actors\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfMention.actors || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_mention', 'actors')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of actors, for which to drop any posts mentioning.\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfUserAllowlist\",attrs:{\"model\":_vm.mrfUserAllowlist,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF User allowlist\"}},[_vm._l((_vm.userAllowlist),function(ref,index){\nvar domain = ref[0];\nvar users = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":domain,\"placeholder\":\"domain\"},on:{\"input\":function($event){return _vm.parseMrfUserAllowlist($event, 'domain', index)}}}),_vm._v(\" :\\n \"),_c('el-select',{staticClass:\"value-input\",attrs:{\"value\":users,\"placeholder\":\"list of users\",\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.parseMrfUserAllowlist($event, 'users', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteMrfUserAllowlistRow(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addMrfUserAllowlistRow}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The keys in this section are the domain names that the policy should apply to. Each key should be assigned a list of users that should be allowed through by their ActivityPub ID.\")])],2)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfNormalizeMarkup\",attrs:{\"model\":_vm.mrfNormalizeMarkup,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF normalize markup:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Scrub policy\"}},[_c('el-input',{attrs:{\"value\":_vm.mrfNormalizeMarkup.scrub_policy},on:{\"input\":function($event){return _vm.updateSetting($event, 'mrf_normalize_markup', 'scrub_policy')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mrfVocabulary\",attrs:{\"model\":_vm.mrfVocabulary,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"MRF Vocabulary:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Accept\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfVocabulary.accept || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_vocabulary', 'accept')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of ActivityStreams terms to accept. If empty, all supported messages are accepted.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Reject\"}},[_c('el-select',{attrs:{\"value\":_vm.mrfVocabulary.reject || [],\"multiple\":\"\",\"allow-create\":\"\",\"filterable\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'mrf_vocabulary', 'reject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A list of ActivityStreams terms to reject. If empty, no messages are rejected.\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Other.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Other.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"formatEncoders\" :model=\"formatEncoders\" :label-width=\"labelWidth\">\n <el-form-item label=\"Phoenix Format encoders:\"/>\n <el-form-item label=\"JSON\">\n <el-input :value=\"formatEncoders.json\" @input=\"updateSetting($event, 'format_encoders', 'json')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"teslaAdapter\" :model=\"teslaAdapter\" :label-width=\"labelWidth\">\n <el-form-item label=\"Tesla adapter\">\n <el-input :value=\"teslaAdapter.value\" @input=\"updateSetting($event, 'adapter', 'value')\"/>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"mimeTypesConfig\" :model=\"mimeTypesConfig\" :label-width=\"labelWidth\">\n <el-form-item label=\"Mime types\">\n <div v-for=\"([type, value], index) in mimeTypes\" :key=\"index\" class=\"setting-input\">\n <el-input :value=\"type\" placeholder=\"type\" class=\"name-input\" @input=\"parseMimeTypes($event, 'type', index)\"/> :\n <el-select :value=\"value\" multiple filterable allow-create class=\"value-input\" @change=\"parseMimeTypes($event, 'value', index)\"/>\n <el-button icon=\"el-icon-minus\" circle @click=\"deleteMimeTypes(index)\"/>\n </div>\n <el-button icon=\"el-icon-plus\" circle @click=\"addRowToMimeTypes\"/>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'Other',\n computed: {\n ...mapGetters([\n 'formatEncoders',\n 'mimeTypesConfig',\n 'teslaAdapter'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n },\n mimeTypes() {\n return Object.keys(this.mimeTypesConfig.value).map(key => [key, this.mimeTypesConfig.value[key]])\n }\n },\n methods: {\n addRowToMimeTypes() {\n const updatedValue = this.mimeTypes.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting({ ...updatedValue, '': [] }, 'types', 'value')\n },\n deleteMimeTypes(index) {\n const filteredValues = this.mimeTypes.filter((el, i) => index !== i)\n const updatedValue = filteredValues.reduce((acc, el, i) => {\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'types', 'value')\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n },\n parseMimeTypes(value, inputType, index) {\n const updatedValue = this.mimeTypes.reduce((acc, el, i) => {\n if (index === i) {\n return inputType === 'type' ? { ...acc, [value]: el[1] } : { ...acc, [el[0]]: value }\n }\n return { ...acc, [el[0]]: el[1] }\n }, {})\n this.updateSetting(updatedValue, 'types', 'value')\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Other.vue?vue&type=template&id=35aa91da&\"\nimport script from \"./Other.vue?vue&type=script&lang=js&\"\nexport * from \"./Other.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Other.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Other.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"formatEncoders\",attrs:{\"model\":_vm.formatEncoders,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Phoenix Format encoders:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"JSON\"}},[_c('el-input',{attrs:{\"value\":_vm.formatEncoders.json},on:{\"input\":function($event){return _vm.updateSetting($event, 'format_encoders', 'json')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"teslaAdapter\",attrs:{\"model\":_vm.teslaAdapter,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Tesla adapter\"}},[_c('el-input',{attrs:{\"value\":_vm.teslaAdapter.value},on:{\"input\":function($event){return _vm.updateSetting($event, 'adapter', 'value')}}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"mimeTypesConfig\",attrs:{\"model\":_vm.mimeTypesConfig,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Mime types\"}},[_vm._l((_vm.mimeTypes),function(ref,index){\nvar type = ref[0];\nvar value = ref[1];\nreturn _c('div',{key:index,staticClass:\"setting-input\"},[_c('el-input',{staticClass:\"name-input\",attrs:{\"value\":type,\"placeholder\":\"type\"},on:{\"input\":function($event){return _vm.parseMimeTypes($event, 'type', index)}}}),_vm._v(\" :\\n \"),_c('el-select',{staticClass:\"value-input\",attrs:{\"value\":value,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.parseMimeTypes($event, 'value', index)}}}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.deleteMimeTypes(index)}}})],1)}),_vm._v(\" \"),_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":_vm.addRowToMimeTypes}})],2),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateLimiters.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RateLimiters.vue?vue&type=script&lang=js&\"","<template>\n <el-form ref=\"rateLimiters\" :model=\"rateLimiters\" :label-width=\"labelWidth\">\n <el-form-item label=\"Search:\">\n <div v-if=\"!searchLimitAuthUsers\">\n <el-input :value=\"searchLimitAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'search', 'scale', 'oneLimit', searchLimitAllUsers)\"/> :\n <el-input :value=\"searchLimitAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'search', 'limit', 'oneLimit', searchLimitAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'search')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"searchLimitAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"searchLimitAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'search', 'scale', 'authUserslimit', [searchLimitUnauthUsers, searchLimitAuthUsers])\"/> :\n <el-input :value=\"searchLimitAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'search', 'limit', 'authUserslimit', [searchLimitUnauthUsers, searchLimitAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"searchLimitUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'search', 'scale', 'unauthUsersLimit', [searchLimitUnauthUsers, searchLimitAuthUsers])\"/> :\n <el-input :value=\"searchLimitUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'search', 'limit', 'unauthUsersLimit', [searchLimitUnauthUsers, searchLimitAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'search')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"App account creation:\">\n <div v-if=\"!appAccountCreationAuthUsers\">\n <el-input :value=\"appAccountCreationAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'scale', 'oneLimit', appAccountCreationAllUsers)\"/> :\n <el-input :value=\"appAccountCreationAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'limit', 'oneLimit', appAccountCreationAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'app_account_creation')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"appAccountCreationAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"appAccountCreationAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'scale', 'authUserslimit', [appAccountCreationUnauthUsers, appAccountCreationAuthUsers])\"/> :\n <el-input :value=\"appAccountCreationAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'limit', 'authUserslimit', [appAccountCreationUnauthUsers, appAccountCreationAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"appAccountCreationUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'scale', 'unauthUsersLimit', [appAccountCreationUnauthUsers, appAccountCreationAuthUsers])\"/> :\n <el-input :value=\"appAccountCreationUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'app_account_creation', 'limit', 'unauthUsersLimit', [appAccountCreationUnauthUsers, appAccountCreationAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'app_account_creation')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Relations actions:\">\n <div v-if=\"!relationsActionsAuthUsers\">\n <el-input :value=\"relationsActionsAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'scale', 'oneLimit', relationsActionsAllUsers)\"/> :\n <el-input :value=\"relationsActionsAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'limit', 'oneLimit', relationsActionsAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'relations_actions')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"relationsActionsAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"relationsActionsAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'scale', 'authUserslimit', [relationsActionsUnauthUsers, relationsActionsAuthUsers])\"/> :\n <el-input :value=\"relationsActionsAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'limit', 'authUserslimit', [relationsActionsUnauthUsers, relationsActionsAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"relationsActionsUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'scale', 'unauthUsersLimit', [relationsActionsUnauthUsers, relationsActionsAuthUsers])\"/> :\n <el-input :value=\"relationsActionsUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relations_actions', 'limit', 'unauthUsersLimit', [relationsActionsUnauthUsers, relationsActionsAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'relations_actions')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Relation ID Action:\">\n <div v-if=\"!relationIdActionAuthUsers\">\n <el-input :value=\"relationIdActionAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'scale', 'oneLimit', relationIdActionAllUsers)\"/> :\n <el-input :value=\"relationIdActionAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'limit', 'oneLimit', relationIdActionAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'relation_id_action')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"relationIdActionAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"relationIdActionAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'scale', 'authUserslimit', [relationIdActionUnauthUsers, relationIdActionAuthUsers])\"/> :\n <el-input :value=\"relationIdActionAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'limit', 'authUserslimit', [relationIdActionUnauthUsers, relationIdActionAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"relationIdActionUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'scale', 'unauthUsersLimit', [relationIdActionUnauthUsers, relationIdActionAuthUsers])\"/> :\n <el-input :value=\"relationIdActionUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'relation_id_action', 'limit', 'unauthUsersLimit', [relationIdActionUnauthUsers, relationIdActionAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'relation_id_action')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Statuses actions:\">\n <div v-if=\"!statusesActionsAuthUsers\">\n <el-input :value=\"statusesActionsAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'scale', 'oneLimit', statusesActionsAllUsers)\"/> :\n <el-input :value=\"statusesActionsAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'limit', 'oneLimit', statusesActionsAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'statuses_actions')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"statusesActionsAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"statusesActionsAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'scale', 'authUserslimit', [statusesActionsUnauthUsers, statusesActionsAuthUsers])\"/> :\n <el-input :value=\"statusesActionsAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'limit', 'authUserslimit', [statusesActionsUnauthUsers, statusesActionsAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"statusesActionsUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'scale', 'unauthUsersLimit', [statusesActionsUnauthUsers, statusesActionsAuthUsers])\"/> :\n <el-input :value=\"statusesActionsUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'statuses_actions', 'limit', 'unauthUsersLimit', [statusesActionsUnauthUsers, statusesActionsAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'statuses_actions')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Status ID Action:\">\n <div v-if=\"!statusIdActionAuthUsers\">\n <el-input :value=\"statusIdActionAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'scale', 'oneLimit', statusIdActionAllUsers)\"/> :\n <el-input :value=\"statusIdActionAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'limit', 'oneLimit', statusIdActionAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'status_id_action')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"statusIdActionAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"statusIdActionAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'scale', 'authUserslimit', [statusIdActionUnauthUsers, statusIdActionAuthUsers])\"/> :\n <el-input :value=\"statusIdActionAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'limit', 'authUserslimit', [statusIdActionUnauthUsers, statusIdActionAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"statusIdActionUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'scale', 'unauthUsersLimit', [statusIdActionUnauthUsers, statusIdActionAuthUsers])\"/> :\n <el-input :value=\"statusIdActionUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'status_id_action', 'limit', 'unauthUsersLimit', [statusIdActionUnauthUsers, statusIdActionAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'status_id_action')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Password reset:\">\n <div v-if=\"!passwordResetAuthUsers\">\n <el-input :value=\"passwordResetAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'password_reset', 'scale', 'oneLimit', passwordResetAllUsers)\"/> :\n <el-input :value=\"passwordResetAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'password_reset', 'limit', 'oneLimit', passwordResetAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'password_reset')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"passwordResetAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"passwordResetAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'password_reset', 'scale', 'authUserslimit', [passwordResetUnauthUsers, passwordResetAuthUsers])\"/> :\n <el-input :value=\"passwordResetAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'password_reset', 'limit', 'authUserslimit', [passwordResetUnauthUsers, passwordResetAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"passwordResetUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'password_reset', 'scale', 'unauthUsersLimit', [passwordResetUnauthUsers, passwordResetAuthUsers])\"/> :\n <el-input :value=\"passwordResetUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'password_reset', 'limit', 'unauthUsersLimit', [passwordResetUnauthUsers, passwordResetAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'password_reset')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Account confirmation resend:\">\n <div v-if=\"!accountConfirmationResendAuthUsers\">\n <el-input :value=\"accountConfirmationResendAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'oneLimit', accountConfirmationResendAllUsers)\"/> :\n <el-input :value=\"accountConfirmationResendAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'oneLimit', accountConfirmationResendAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'account_confirmation_resend')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"accountConfirmationResendAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"accountConfirmationResendAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'authUserslimit', [accountConfirmationResendUnauthUsers, accountConfirmationResendAuthUsers])\"/> :\n <el-input :value=\"accountConfirmationResendAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'authUserslimit', [accountConfirmationResendUnauthUsers, accountConfirmationResendAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"accountConfirmationResendUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'unauthUsersLimit', [accountConfirmationResendUnauthUsers, accountConfirmationResendAuthUsers])\"/> :\n <el-input :value=\"accountConfirmationResendUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'unauthUsersLimit', [accountConfirmationResendUnauthUsers, accountConfirmationResendAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'account_confirmation_resend')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item label=\"Activity pub routes:\">\n <div v-if=\"!activityPubRoutesAuthUsers\">\n <el-input :value=\"activityPubRoutesAllUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'scale', 'oneLimit', activityPubRoutesAllUsers)\"/> :\n <el-input :value=\"activityPubRoutesAllUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'limit', 'oneLimit', activityPubRoutesAllUsers)\"/>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-plus\" circle @click=\"toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'ap_routes')\"/>\n <p class=\"expl limit-expl\">Set different limits for unauthenticated and authenticated users</p>\n </div>\n </div>\n <div v-if=\"activityPubRoutesAuthUsers\">\n <el-form-item label=\"Authenticated users:\">\n <el-input :value=\"activityPubRoutesAuthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'scale', 'authUserslimit', [activityPubRoutesUnauthUsers, activityPubRoutesAuthUsers])\"/> :\n <el-input :value=\"activityPubRoutesAuthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'limit', 'authUserslimit', [activityPubRoutesUnauthUsers, activityPubRoutesAuthUsers])\"/>\n </el-form-item>\n <el-form-item label=\"Unauthenticated users:\">\n <el-input :value=\"activityPubRoutesUnauthUsers[0]\" placeholder=\"scale\" class=\"scale-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'scale', 'unauthUsersLimit', [activityPubRoutesUnauthUsers, activityPubRoutesAuthUsers])\"/> :\n <el-input :value=\"activityPubRoutesUnauthUsers[1]\" placeholder=\"limit\" class=\"limit-input\" @input=\"parseRateLimiter($event, 'ap_routes', 'limit', 'unauthUsersLimit', [activityPubRoutesUnauthUsers, activityPubRoutesAuthUsers])\"/>\n </el-form-item>\n <div class=\"limit-button-container\">\n <el-button icon=\"el-icon-minus\" circle @click=\"toggleLimits({ 'tuple': [null, null] }, 'ap_routes')\"/>\n <p class=\"expl limit-expl\">Set limit for all users</p>\n </div>\n </div>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'RateLimiters',\n computed: {\n ...mapGetters([\n 'rateLimiters'\n ]),\n accountConfirmationResendAllUsers() {\n return this.rateLimiters.account_confirmation_resend ? this.rateLimiters.account_confirmation_resend.tuple : [null, null]\n },\n accountConfirmationResendAuthUsers() {\n return Array.isArray(this.rateLimiters.account_confirmation_resend)\n ? this.rateLimiters.account_confirmation_resend[1].tuple\n : false\n },\n accountConfirmationResendUnauthUsers() {\n return Array.isArray(this.rateLimiters.account_confirmation_resend)\n ? this.rateLimiters.account_confirmation_resend[0].tuple\n : false\n },\n activityPubRoutesAllUsers() {\n return this.rateLimiters.ap_routes ? this.rateLimiters.ap_routes.tuple : [null, null]\n },\n activityPubRoutesAuthUsers() {\n return Array.isArray(this.rateLimiters.ap_routes)\n ? this.rateLimiters.ap_routes[1].tuple\n : false\n },\n activityPubRoutesUnauthUsers() {\n return Array.isArray(this.rateLimiters.ap_routes)\n ? this.rateLimiters.ap_routes[0].tuple\n : false\n },\n appAccountCreationAllUsers() {\n return this.rateLimiters.app_account_creation ? this.rateLimiters.app_account_creation.tuple : [null, null]\n },\n appAccountCreationAuthUsers() {\n return Array.isArray(this.rateLimiters.app_account_creation)\n ? this.rateLimiters.app_account_creation[1].tuple\n : false\n },\n appAccountCreationUnauthUsers() {\n return Array.isArray(this.rateLimiters.app_account_creation)\n ? this.rateLimiters.app_account_creation[0].tuple\n : false\n },\n passwordResetAllUsers() {\n return this.rateLimiters.password_reset ? this.rateLimiters.password_reset.tuple : [null, null]\n },\n passwordResetAuthUsers() {\n return Array.isArray(this.rateLimiters.password_reset)\n ? this.rateLimiters.password_reset[1].tuple\n : false\n },\n passwordResetUnauthUsers() {\n return Array.isArray(this.rateLimiters.password_reset)\n ? this.rateLimiters.password_reset[0].tuple\n : false\n },\n relationsActionsAllUsers() {\n return this.rateLimiters.relations_actions ? this.rateLimiters.relations_actions.tuple : [null, null]\n },\n relationsActionsAuthUsers() {\n return Array.isArray(this.rateLimiters.relations_actions)\n ? this.rateLimiters.relations_actions[1].tuple\n : false\n },\n relationsActionsUnauthUsers() {\n return Array.isArray(this.rateLimiters.relations_actions)\n ? this.rateLimiters.relations_actions[0].tuple\n : false\n },\n relationIdActionAllUsers() {\n return this.rateLimiters.relation_id_action ? this.rateLimiters.relation_id_action.tuple : [null, null]\n },\n relationIdActionAuthUsers() {\n return Array.isArray(this.rateLimiters.relation_id_action)\n ? this.rateLimiters.relation_id_action[1].tuple\n : false\n },\n relationIdActionUnauthUsers() {\n return Array.isArray(this.rateLimiters.relation_id_action)\n ? this.rateLimiters.relation_id_action[0].tuple\n : false\n },\n searchLimitAllUsers() {\n return this.rateLimiters.search ? this.rateLimiters.search.tuple : [null, null]\n },\n searchLimitAuthUsers() {\n return Array.isArray(this.rateLimiters.search)\n ? this.rateLimiters.search[1].tuple\n : false\n },\n searchLimitUnauthUsers() {\n return Array.isArray(this.rateLimiters.search)\n ? this.rateLimiters.search[0].tuple\n : false\n },\n statusesActionsAllUsers() {\n return this.rateLimiters.statuses_actions ? this.rateLimiters.statuses_actions.tuple : [null, null]\n },\n statusesActionsAuthUsers() {\n return Array.isArray(this.rateLimiters.statuses_actions)\n ? this.rateLimiters.statuses_actions[1].tuple\n : false\n },\n statusesActionsUnauthUsers() {\n return Array.isArray(this.rateLimiters.statuses_actions)\n ? this.rateLimiters.statuses_actions[0].tuple\n : false\n },\n statusIdActionAllUsers() {\n return this.rateLimiters.status_id_action ? this.rateLimiters.status_id_action.tuple : [null, null]\n },\n statusIdActionAuthUsers() {\n return Array.isArray(this.rateLimiters.status_id_action)\n ? this.rateLimiters.status_id_action[1].tuple\n : false\n },\n statusIdActionUnauthUsers() {\n return Array.isArray(this.rateLimiters.status_id_action)\n ? this.rateLimiters.status_id_action[0].tuple\n : false\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n parseRateLimiter(value, input, typeOfInput, typeOfLimit, currentValue) {\n if (typeOfLimit === 'oneLimit') {\n const valueToSend = typeOfInput === 'scale' ? { 'tuple': [value, currentValue[1]] } : { 'tuple': [currentValue[0], value] }\n this.updateSetting(valueToSend, 'rate_limit', input)\n } else if (typeOfLimit === 'authUserslimit') {\n const valueToSend = typeOfInput === 'scale'\n ? [{ 'tuple': [currentValue[0][0], currentValue[0][1]] }, { 'tuple': [value, currentValue[1][1]] }]\n : [{ 'tuple': [currentValue[0][0], currentValue[0][1]] }, { 'tuple': [currentValue[1][0], value] }]\n this.updateSetting(valueToSend, 'rate_limit', input)\n } else if (typeOfLimit === 'unauthUsersLimit') {\n const valueToSend = typeOfInput === 'scale'\n ? [{ 'tuple': [value, currentValue[0][1]] }, { 'tuple': [currentValue[1][0], currentValue[1][1]] }]\n : [{ 'tuple': [currentValue[0][0], value] }, { 'tuple': [currentValue[1][0], currentValue[1][1]] }]\n this.updateSetting(valueToSend, 'rate_limit', input)\n }\n },\n toggleLimits(value, input) {\n this.updateSetting(value, 'rate_limit', input)\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./RateLimiters.vue?vue&type=template&id=07be7f12&\"\nimport script from \"./RateLimiters.vue?vue&type=script&lang=js&\"\nexport * from \"./RateLimiters.vue?vue&type=script&lang=js&\"\nimport style0 from \"./RateLimiters.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"RateLimiters.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"rateLimiters\",attrs:{\"model\":_vm.rateLimiters,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Search:\"}},[(!_vm.searchLimitAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.searchLimitAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'scale', 'oneLimit', _vm.searchLimitAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.searchLimitAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'limit', 'oneLimit', _vm.searchLimitAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'search')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.searchLimitAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.searchLimitAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'scale', 'authUserslimit', [_vm.searchLimitUnauthUsers, _vm.searchLimitAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.searchLimitAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'limit', 'authUserslimit', [_vm.searchLimitUnauthUsers, _vm.searchLimitAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.searchLimitUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'scale', 'unauthUsersLimit', [_vm.searchLimitUnauthUsers, _vm.searchLimitAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.searchLimitUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'search', 'limit', 'unauthUsersLimit', [_vm.searchLimitUnauthUsers, _vm.searchLimitAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'search')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"App account creation:\"}},[(!_vm.appAccountCreationAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.appAccountCreationAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'scale', 'oneLimit', _vm.appAccountCreationAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.appAccountCreationAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'limit', 'oneLimit', _vm.appAccountCreationAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'app_account_creation')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.appAccountCreationAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.appAccountCreationAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'scale', 'authUserslimit', [_vm.appAccountCreationUnauthUsers, _vm.appAccountCreationAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.appAccountCreationAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'limit', 'authUserslimit', [_vm.appAccountCreationUnauthUsers, _vm.appAccountCreationAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.appAccountCreationUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'scale', 'unauthUsersLimit', [_vm.appAccountCreationUnauthUsers, _vm.appAccountCreationAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.appAccountCreationUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'app_account_creation', 'limit', 'unauthUsersLimit', [_vm.appAccountCreationUnauthUsers, _vm.appAccountCreationAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'app_account_creation')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Relations actions:\"}},[(!_vm.relationsActionsAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationsActionsAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'scale', 'oneLimit', _vm.relationsActionsAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationsActionsAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'limit', 'oneLimit', _vm.relationsActionsAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'relations_actions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.relationsActionsAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationsActionsAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'scale', 'authUserslimit', [_vm.relationsActionsUnauthUsers, _vm.relationsActionsAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationsActionsAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'limit', 'authUserslimit', [_vm.relationsActionsUnauthUsers, _vm.relationsActionsAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationsActionsUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'scale', 'unauthUsersLimit', [_vm.relationsActionsUnauthUsers, _vm.relationsActionsAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationsActionsUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relations_actions', 'limit', 'unauthUsersLimit', [_vm.relationsActionsUnauthUsers, _vm.relationsActionsAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'relations_actions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Relation ID Action:\"}},[(!_vm.relationIdActionAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationIdActionAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'scale', 'oneLimit', _vm.relationIdActionAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationIdActionAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'limit', 'oneLimit', _vm.relationIdActionAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'relation_id_action')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.relationIdActionAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationIdActionAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'scale', 'authUserslimit', [_vm.relationIdActionUnauthUsers, _vm.relationIdActionAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationIdActionAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'limit', 'authUserslimit', [_vm.relationIdActionUnauthUsers, _vm.relationIdActionAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.relationIdActionUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'scale', 'unauthUsersLimit', [_vm.relationIdActionUnauthUsers, _vm.relationIdActionAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.relationIdActionUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'relation_id_action', 'limit', 'unauthUsersLimit', [_vm.relationIdActionUnauthUsers, _vm.relationIdActionAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'relation_id_action')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Statuses actions:\"}},[(!_vm.statusesActionsAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusesActionsAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'scale', 'oneLimit', _vm.statusesActionsAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusesActionsAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'limit', 'oneLimit', _vm.statusesActionsAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'statuses_actions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.statusesActionsAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusesActionsAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'scale', 'authUserslimit', [_vm.statusesActionsUnauthUsers, _vm.statusesActionsAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusesActionsAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'limit', 'authUserslimit', [_vm.statusesActionsUnauthUsers, _vm.statusesActionsAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusesActionsUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'scale', 'unauthUsersLimit', [_vm.statusesActionsUnauthUsers, _vm.statusesActionsAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusesActionsUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'statuses_actions', 'limit', 'unauthUsersLimit', [_vm.statusesActionsUnauthUsers, _vm.statusesActionsAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'statuses_actions')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Status ID Action:\"}},[(!_vm.statusIdActionAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusIdActionAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'scale', 'oneLimit', _vm.statusIdActionAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusIdActionAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'limit', 'oneLimit', _vm.statusIdActionAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'status_id_action')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.statusIdActionAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusIdActionAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'scale', 'authUserslimit', [_vm.statusIdActionUnauthUsers, _vm.statusIdActionAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusIdActionAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'limit', 'authUserslimit', [_vm.statusIdActionUnauthUsers, _vm.statusIdActionAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.statusIdActionUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'scale', 'unauthUsersLimit', [_vm.statusIdActionUnauthUsers, _vm.statusIdActionAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.statusIdActionUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'status_id_action', 'limit', 'unauthUsersLimit', [_vm.statusIdActionUnauthUsers, _vm.statusIdActionAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'status_id_action')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Password reset:\"}},[(!_vm.passwordResetAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.passwordResetAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'scale', 'oneLimit', _vm.passwordResetAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.passwordResetAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'limit', 'oneLimit', _vm.passwordResetAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'password_reset')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.passwordResetAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.passwordResetAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'scale', 'authUserslimit', [_vm.passwordResetUnauthUsers, _vm.passwordResetAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.passwordResetAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'limit', 'authUserslimit', [_vm.passwordResetUnauthUsers, _vm.passwordResetAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.passwordResetUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'scale', 'unauthUsersLimit', [_vm.passwordResetUnauthUsers, _vm.passwordResetAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.passwordResetUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'password_reset', 'limit', 'unauthUsersLimit', [_vm.passwordResetUnauthUsers, _vm.passwordResetAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'password_reset')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Account confirmation resend:\"}},[(!_vm.accountConfirmationResendAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.accountConfirmationResendAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'oneLimit', _vm.accountConfirmationResendAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.accountConfirmationResendAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'oneLimit', _vm.accountConfirmationResendAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'account_confirmation_resend')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.accountConfirmationResendAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.accountConfirmationResendAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'authUserslimit', [_vm.accountConfirmationResendUnauthUsers, _vm.accountConfirmationResendAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.accountConfirmationResendAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'authUserslimit', [_vm.accountConfirmationResendUnauthUsers, _vm.accountConfirmationResendAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.accountConfirmationResendUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'scale', 'unauthUsersLimit', [_vm.accountConfirmationResendUnauthUsers, _vm.accountConfirmationResendAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.accountConfirmationResendUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'account_confirmation_resend', 'limit', 'unauthUsersLimit', [_vm.accountConfirmationResendUnauthUsers, _vm.accountConfirmationResendAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'account_confirmation_resend')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Activity pub routes:\"}},[(!_vm.activityPubRoutesAuthUsers)?_c('div',[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.activityPubRoutesAllUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'scale', 'oneLimit', _vm.activityPubRoutesAllUsers)}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.activityPubRoutesAllUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'limit', 'oneLimit', _vm.activityPubRoutesAllUsers)}}}),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-plus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits([{ 'tuple': [null, null] }, { 'tuple': [null, null] }], 'ap_routes')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set different limits for unauthenticated and authenticated users\")])],1)],1):_vm._e(),_vm._v(\" \"),(_vm.activityPubRoutesAuthUsers)?_c('div',[_c('el-form-item',{attrs:{\"label\":\"Authenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.activityPubRoutesAuthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'scale', 'authUserslimit', [_vm.activityPubRoutesUnauthUsers, _vm.activityPubRoutesAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.activityPubRoutesAuthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'limit', 'authUserslimit', [_vm.activityPubRoutesUnauthUsers, _vm.activityPubRoutesAuthUsers])}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Unauthenticated users:\"}},[_c('el-input',{staticClass:\"scale-input\",attrs:{\"value\":_vm.activityPubRoutesUnauthUsers[0],\"placeholder\":\"scale\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'scale', 'unauthUsersLimit', [_vm.activityPubRoutesUnauthUsers, _vm.activityPubRoutesAuthUsers])}}}),_vm._v(\" :\\n \"),_c('el-input',{staticClass:\"limit-input\",attrs:{\"value\":_vm.activityPubRoutesUnauthUsers[1],\"placeholder\":\"limit\"},on:{\"input\":function($event){return _vm.parseRateLimiter($event, 'ap_routes', 'limit', 'unauthUsersLimit', [_vm.activityPubRoutesUnauthUsers, _vm.activityPubRoutesAuthUsers])}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"limit-button-container\"},[_c('el-button',{attrs:{\"icon\":\"el-icon-minus\",\"circle\":\"\"},on:{\"click\":function($event){return _vm.toggleLimits({ 'tuple': [null, null] }, 'ap_routes')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl limit-expl\"},[_vm._v(\"Set limit for all users\")])],1)],1):_vm._e()]),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Relays.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Relays.vue?vue&type=script&lang=js&\"","<template>\n <div v-if=\"!loading\">\n <el-row :gutter=\"5\">\n <el-col :span=\"8\">\n <el-input v-model=\"newRelay\" :placeholder=\"$t('settings.followRelay')\" @keyup.enter.native=\"followRelay\"/>\n </el-col>\n <el-col :span=\"8\">\n <el-button type=\"primary\" @click.native=\"followRelay\">{{ $t('settings.follow') }}</el-button>\n </el-col>\n </el-row>\n <el-table :data=\"relaysTable\">\n <el-table-column\n :label=\"$t('settings.instanceUrl')\"\n prop=\"instance\"/>\n <el-table-column fixed=\"right\" width=\"120\">\n <template slot-scope=\"scope\">\n <el-button\n type=\"text\"\n size=\"small\"\n @click.native=\"deleteRelay(scope.row.instance)\">\n {{ $t('table.delete') }}\n </el-button>\n </template>\n </el-table-column>\n </el-table>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'Relays',\n data() {\n return {\n newRelay: ''\n }\n },\n computed: {\n relays() {\n return this.$store.state.relays.fetchedRelays\n },\n relaysTable() {\n return this.relays.map(relay => {\n return { instance: relay }\n })\n },\n loading() {\n return this.$store.state.relays.loading\n }\n },\n mounted() {\n this.$store.dispatch('FetchRelays')\n },\n methods: {\n followRelay() {\n this.$store.dispatch('AddRelay', this.newRelay)\n },\n deleteRelay(relay) {\n this.$store.dispatch('DeleteRelay', relay)\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Relays.vue?vue&type=template&id=13c20fa8&\"\nimport script from \"./Relays.vue?vue&type=script&lang=js&\"\nexport * from \"./Relays.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Relays.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Relays.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.loading)?_c('div',[_c('el-row',{attrs:{\"gutter\":5}},[_c('el-col',{attrs:{\"span\":8}},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('settings.followRelay')},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.followRelay($event)}},model:{value:(_vm.newRelay),callback:function ($$v) {_vm.newRelay=$$v},expression:\"newRelay\"}})],1),_vm._v(\" \"),_c('el-col',{attrs:{\"span\":8}},[_c('el-button',{attrs:{\"type\":\"primary\"},nativeOn:{\"click\":function($event){return _vm.followRelay($event)}}},[_vm._v(_vm._s(_vm.$t('settings.follow')))])],1)],1),_vm._v(\" \"),_c('el-table',{attrs:{\"data\":_vm.relaysTable}},[_c('el-table-column',{attrs:{\"label\":_vm.$t('settings.instanceUrl'),\"prop\":\"instance\"}}),_vm._v(\" \"),_c('el-table-column',{attrs:{\"fixed\":\"right\",\"width\":\"120\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-button',{attrs:{\"type\":\"text\",\"size\":\"small\"},nativeOn:{\"click\":function($event){return _vm.deleteRelay(scope.row.instance)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('table.delete'))+\"\\n \")])]}}],null,false,2132974932)})],1)],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Upload.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <el-form ref=\"upload\" :model=\"upload\" :label-width=\"labelWidth\">\n <el-form-item label=\"Uploader\">\n <el-input :value=\"upload.uploader\" @input=\"updateSetting($event, 'Pleroma.Upload', 'uploader')\"/>\n </el-form-item>\n <el-form-item label=\"Filters\">\n <el-select :value=\"upload.filters || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Upload', 'filters')\"/>\n </el-form-item>\n <el-form-item label=\"Link name\">\n <el-switch :value=\"upload.link_name\" @change=\"updateSetting($event, 'Pleroma.Upload', 'link_name')\"/>\n <p class=\"expl\">When enabled Pleroma will add a name parameter to the url of the upload, for example\n <span class=\"code\">https://instance.tld/media/corndog.png?name=corndog.png</span></p>\n </el-form-item>\n <el-form-item label=\"Base URL\">\n <el-input :value=\"upload.base_url\" @input=\"updateSetting($event, 'Pleroma.Upload', 'base_url')\"/>\n <p class=\"expl\">The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host</p>\n </el-form-item>\n <el-form-item label=\"Proxy remote\">\n <el-switch :value=\"upload.proxy_remote\" @change=\"updateSetting($event, 'Pleroma.Upload', 'proxy_remote')\"/>\n <p class=\"expl\">If you're using a remote uploader, Pleroma will proxy media requests instead of redirecting to it</p>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item label=\"Proxy options:\"/>\n <el-form-item label=\"Redirect on failure\">\n <el-switch :value=\"upload.proxy_opts.redirect_on_failure\" @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'redirect_on_failure')\"/>\n <p class=\"expl\">Redirects the client to the real remote URL if there's any HTTP errors.\n Any error during body processing will not be redirected as the response is chunked</p>\n </el-form-item>\n <el-form-item label=\"Max body length (MB)\">\n <el-input-number :value=\"upload.proxy_opts.max_body_length / 1048576\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event * 1048576, 'Pleroma.Upload', 'proxy_opts', 'max_body_length')\"/>\n <p class=\"expl\">Limits the content length to be approximately the specified length</p>\n </el-form-item>\n <el-form-item label=\"Max read duration (s)\">\n <el-input-number :value=\"upload.proxy_opts.max_read_duration\" :step=\"1\" :min=\"0\" size=\"large\" @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'max_read_duration')\"/>\n <p class=\"expl\">The total time the connection is allowed to read from the remote upstream</p>\n </el-form-item>\n <el-form-item label=\"Inline content types\">\n <el-select :value=\"inlineContentTypes\" clearable @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')\">\n <el-option :value=\"true\" label=\"True\"/>\n <el-option :value=\"false\" label=\"False\"/>\n <el-option value=\"whitelistedTypeArray\" label=\"List of whitelisted content types\"/>\n <el-option value=\"keepUserAgent\" label=\"Forward client's user-agent to the upstream\"/>\n </el-select>\n <p v-if=\"inlineContentTypes === true\" class=\"expl\">Will not alter <span class=\"code\">content-disposition</span> (up to the upstream)</p>\n <p v-if=\"!inlineContentTypes\" class=\"expl\">Will add <span class=\"code\">content-disposition: attachment</span> to any request</p>\n <p v-if=\"inlineContentTypes === 'keepUserAgent'\" class=\"expl\">\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\n doing content transformation (encoding, …) depending on the request.\n </p>\n </el-form-item>\n <el-form-item v-if=\"inlineContentTypes === 'whitelistedTypeArray'\" label=\"Whitelisted content types\">\n <el-select :value=\"whitelistedContentTypes\" multiple filterable allow-create @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')\">\n <el-option\n v-for=\"item in whitelistedContentTypesOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n <el-form-item label=\"Request headers\">\n <el-select :value=\"upload.proxy_opts.req_headers || []\" multiple filterable allow-create @change=\"processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'req_headers')\"/>\n <p class=\"expl\"><span class=\"code\">resp_headers</span> additional headers</p>\n </el-form-item>\n <el-form-item label=\"HTTP:\"/>\n <el-form-item label=\"Follow redirect\">\n <el-switch :value=\"http.follow_redirect\" @change=\"processHttpSettings($event, 'Pleroma.Upload', 'proxy_opts', 'http', 'follow_redirect')\"/>\n </el-form-item>\n <el-form-item label=\"Pool\">\n <el-select :value=\"http.pool\" clearable @change=\"processHttpSettings($event, 'Pleroma.Upload', 'proxy_opts', 'http', 'pool')\">\n <el-option\n v-for=\"item in hackneyPoolsOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n <p class=\"expl\">{{ getPoolExpl(http.pool) }}</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadersLocal\" :model=\"uploadersLocal\" :label-width=\"labelWidth\">\n <el-form-item label=\"Uploaders.Local:\"/>\n <el-form-item label=\"Directory for user-uploads\">\n <el-input :value=\"uploadersLocal.uploads\" @input=\"updateSetting($event, 'Pleroma.Uploaders.Local', 'uploads')\"/>\n <p class=\"expl\">Which directory to store the user-uploads in, relative to pleroma’s working directory</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadFilterMogrify\" :model=\"uploadFilterMogrify\" :label-width=\"labelWidth\">\n <el-form-item label=\"Actions for Mogrify\">\n <el-select :value=\"uploadFilterMogrify.args || []\" multiple filterable allow-create @change=\"updateSetting($event, 'Pleroma.Upload.Filter.Mogrify', 'args')\">\n <el-option\n v-for=\"item in mogrifyActionsOptions\"\n :label=\"item.label\"\n :key=\"item.value\"\n :value=\"item.value\"/>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadAnonymizeFilename\" :model=\"uploadAnonymizeFilename\" :label-width=\"labelWidth\">\n <el-form-item label=\"Anonymize filename\">\n <el-input :value=\"uploadAnonymizeFilename.text\" @input=\"updateSetting($event, 'Pleroma.Upload.Filter.AnonymizeFilename', 'text')\"/>\n <p class=\"expl\">Text to replace filenames in links. If empty, <span class=\"code\">{random}.extension</span> will be used</p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadS3\" :model=\"uploadS3\" :label-width=\"labelWidth\">\n <el-form-item label=\"S3 Config:\"/>\n <el-form-item label=\"Bucket\">\n <el-input :value=\"uploadS3.bucket\" @input=\"updateSetting($event, 'Pleroma.Uploaders.S3', 'bucket')\"/>\n <p class=\"expl\">S3 bucket name</p>\n </el-form-item>\n <el-form-item label=\"Bucket namespace\">\n <el-input :value=\"uploadS3.bucket_namespace\" @input=\"updateSetting($event, 'Pleroma.Uploaders.S3', 'bucket_namespace')\"/>\n <p class=\"expl\">S3 bucket namespace</p>\n </el-form-item>\n <el-form-item label=\"Public endpoint\">\n <el-input :value=\"uploadS3.public_endpoint\" @input=\"updateSetting($event, 'Pleroma.Uploaders.S3', 'public_endpoint')\"/>\n <p class=\"expl\">S3 endpoint that the user finally accesses</p>\n </el-form-item>\n <el-form-item label=\"Truncated namespace\">\n <el-input :value=\"uploadS3.truncated_namespace\" @input=\"updateSetting($event, 'Pleroma.Uploaders.S3', 'truncated_namespace')\"/>\n <p class=\"expl\">If you use S3 compatible service such as Digital Ocean Spaces or CDN, set folder name or \"\" etc.\n For example, when using CDN to S3 virtual host format, set \"\".\n At this time, write CNAME to CDN in <span class=\"code\">public_endpoint</span>.\n </p>\n </el-form-item>\n </el-form>\n <div class=\"line\"/>\n <el-form ref=\"uploadMDII\" :model=\"uploadMDII\" :label-width=\"labelWidth\">\n <el-form-item label=\"Uploaders.MDII Config:\"/>\n <el-form-item label=\"CGI\">\n <el-input :value=\"uploadMDII.cgi\" @input=\"updateSetting($event, 'Pleroma.Uploaders.MDII', 'cgi')\"/>\n </el-form-item>\n <el-form-item label=\"Files\">\n <el-input :value=\"uploadMDII.files\" @input=\"updateSetting($event, 'Pleroma.Uploaders.MDII', 'files')\"/>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\nimport { options } from './options'\n\nexport default {\n name: 'Upload',\n computed: {\n ...mapGetters([\n 'uploadAnonymizeFilename',\n 'upload',\n 'uploadFilterMogrify',\n 'uploadersLocal',\n 'uploadMDII',\n 'uploadS3'\n ]),\n inlineContentTypes() {\n return Array.isArray(this.upload.proxy_opts.inline_content_types) ? 'whitelistedTypeArray' : this.upload.proxy_opts.inline_content_types\n },\n http() {\n return this.upload.proxy_opts.http || {}\n },\n hackneyPoolsOptions() {\n return options.hackneyPoolsOptions\n },\n whitelistedContentTypes() {\n return Array.isArray(this.upload.proxy_opts.inline_content_types) ? this.upload.proxy_opts.inline_content_types : []\n },\n whitelistedContentTypesOptions() {\n return options.whitelistedContentTypesOptions\n },\n mogrifyActionsOptions() {\n return options.mogrifyActionsOptions\n },\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n getPoolExpl(value) {\n const pool = this.hackneyPoolsOptions.find(el => el.value === value)\n return pool ? 'Max connections: ' + pool.max_connections + ', timeout: ' + pool.timeout : ''\n },\n processHttpSettings(value, tab, section, httpSection, input) {\n const updatedValue = { ...this.upload[section][httpSection], ...{ [input]: value }}\n this.processNestedData(updatedValue, tab, section, httpSection)\n },\n processNestedData(value, tab, section, input) {\n const updatedValue = { ...this.$store.state.settings.settings[tab][section], ...{ [input]: value }}\n this.updateSetting(updatedValue, tab, section)\n },\n updateInlineContentTypes() {\n if (this.$data.inlineContentTypes === 'whitelistedTypeArray') {\n this.processNestedData(this.$data.whitelistedContentTypes, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')\n } else {\n this.processNestedData(this.$data.inlineContentTypes, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')\n }\n },\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./Upload.vue?vue&type=template&id=d3155404&\"\nimport script from \"./Upload.vue?vue&type=script&lang=js&\"\nexport * from \"./Upload.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Upload.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"Upload.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"upload\",attrs:{\"model\":_vm.upload,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Uploader\"}},[_c('el-input',{attrs:{\"value\":_vm.upload.uploader},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'uploader')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Filters\"}},[_c('el-select',{attrs:{\"value\":_vm.upload.filters || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'filters')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Link name\"}},[_c('el-switch',{attrs:{\"value\":_vm.upload.link_name},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'link_name')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"When enabled Pleroma will add a name parameter to the url of the upload, for example\\n \"),_c('span',{staticClass:\"code\"},[_vm._v(\"https://instance.tld/media/corndog.png?name=corndog.png\")])])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Base URL\"}},[_c('el-input',{attrs:{\"value\":_vm.upload.base_url},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'base_url')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The base URL to access a user-uploaded file. Useful when you want to proxy the media files via another host\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Proxy remote\"}},[_c('el-switch',{attrs:{\"value\":_vm.upload.proxy_remote},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload', 'proxy_remote')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If you're using a remote uploader, Pleroma will proxy media requests instead of redirecting to it\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Proxy options:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Redirect on failure\"}},[_c('el-switch',{attrs:{\"value\":_vm.upload.proxy_opts.redirect_on_failure},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'redirect_on_failure')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Redirects the client to the real remote URL if there's any HTTP errors.\\n Any error during body processing will not be redirected as the response is chunked\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max body length (MB)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.upload.proxy_opts.max_body_length / 1048576,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event * 1048576, 'Pleroma.Upload', 'proxy_opts', 'max_body_length')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Limits the content length to be approximately the specified length\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Max read duration (s)\"}},[_c('el-input-number',{attrs:{\"value\":_vm.upload.proxy_opts.max_read_duration,\"step\":1,\"min\":0,\"size\":\"large\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'max_read_duration')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"The total time the connection is allowed to read from the remote upstream\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Inline content types\"}},[_c('el-select',{attrs:{\"value\":_vm.inlineContentTypes,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')}}},[_c('el-option',{attrs:{\"value\":true,\"label\":\"True\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":false,\"label\":\"False\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"whitelistedTypeArray\",\"label\":\"List of whitelisted content types\"}}),_vm._v(\" \"),_c('el-option',{attrs:{\"value\":\"keepUserAgent\",\"label\":\"Forward client's user-agent to the upstream\"}})],1),_vm._v(\" \"),(_vm.inlineContentTypes === true)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Will not alter \"),_c('span',{staticClass:\"code\"},[_vm._v(\"content-disposition\")]),_vm._v(\" (up to the upstream)\")]):_vm._e(),_vm._v(\" \"),(!_vm.inlineContentTypes)?_c('p',{staticClass:\"expl\"},[_vm._v(\"Will add \"),_c('span',{staticClass:\"code\"},[_vm._v(\"content-disposition: attachment\")]),_vm._v(\" to any request\")]):_vm._e(),_vm._v(\" \"),(_vm.inlineContentTypes === 'keepUserAgent')?_c('p',{staticClass:\"expl\"},[_vm._v(\"\\n Will forward the client's user-agent to the upstream. This may be useful if the upstream is\\n doing content transformation (encoding, …) depending on the request.\\n \")]):_vm._e()],1),_vm._v(\" \"),(_vm.inlineContentTypes === 'whitelistedTypeArray')?_c('el-form-item',{attrs:{\"label\":\"Whitelisted content types\"}},[_c('el-select',{attrs:{\"value\":_vm.whitelistedContentTypes,\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'inline_content_types')}}},_vm._l((_vm.whitelistedContentTypesOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1):_vm._e(),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Request headers\"}},[_c('el-select',{attrs:{\"value\":_vm.upload.proxy_opts.req_headers || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.processNestedData($event, 'Pleroma.Upload', 'proxy_opts', 'req_headers')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_c('span',{staticClass:\"code\"},[_vm._v(\"resp_headers\")]),_vm._v(\" additional headers\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"HTTP:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Follow redirect\"}},[_c('el-switch',{attrs:{\"value\":_vm.http.follow_redirect},on:{\"change\":function($event){return _vm.processHttpSettings($event, 'Pleroma.Upload', 'proxy_opts', 'http', 'follow_redirect')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Pool\"}},[_c('el-select',{attrs:{\"value\":_vm.http.pool,\"clearable\":\"\"},on:{\"change\":function($event){return _vm.processHttpSettings($event, 'Pleroma.Upload', 'proxy_opts', 'http', 'pool')}}},_vm._l((_vm.hackneyPoolsOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(_vm._s(_vm.getPoolExpl(_vm.http.pool)))])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadersLocal\",attrs:{\"model\":_vm.uploadersLocal,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Uploaders.Local:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Directory for user-uploads\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadersLocal.uploads},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.Local', 'uploads')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Which directory to store the user-uploads in, relative to pleroma’s working directory\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadFilterMogrify\",attrs:{\"model\":_vm.uploadFilterMogrify,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Actions for Mogrify\"}},[_c('el-select',{attrs:{\"value\":_vm.uploadFilterMogrify.args || [],\"multiple\":\"\",\"filterable\":\"\",\"allow-create\":\"\"},on:{\"change\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload.Filter.Mogrify', 'args')}}},_vm._l((_vm.mogrifyActionsOptions),function(item){return _c('el-option',{key:item.value,attrs:{\"label\":item.label,\"value\":item.value}})}),1)],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadAnonymizeFilename\",attrs:{\"model\":_vm.uploadAnonymizeFilename,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Anonymize filename\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadAnonymizeFilename.text},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Upload.Filter.AnonymizeFilename', 'text')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"Text to replace filenames in links. If empty, \"),_c('span',{staticClass:\"code\"},[_vm._v(\"{random}.extension\")]),_vm._v(\" will be used\")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadS3\",attrs:{\"model\":_vm.uploadS3,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"S3 Config:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Bucket\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadS3.bucket},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.S3', 'bucket')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"S3 bucket name\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Bucket namespace\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadS3.bucket_namespace},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.S3', 'bucket_namespace')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"S3 bucket namespace\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Public endpoint\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadS3.public_endpoint},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.S3', 'public_endpoint')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"S3 endpoint that the user finally accesses\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Truncated namespace\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadS3.truncated_namespace},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.S3', 'truncated_namespace')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"If you use S3 compatible service such as Digital Ocean Spaces or CDN, set folder name or \\\"\\\" etc.\\n For example, when using CDN to S3 virtual host format, set \\\"\\\".\\n At this time, write CNAME to CDN in \"),_c('span',{staticClass:\"code\"},[_vm._v(\"public_endpoint\")]),_vm._v(\".\\n \")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{ref:\"uploadMDII\",attrs:{\"model\":_vm.uploadMDII,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Uploaders.MDII Config:\"}}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"CGI\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadMDII.cgi},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.MDII', 'cgi')}}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Files\"}},[_c('el-input',{attrs:{\"value\":_vm.uploadMDII.files},on:{\"input\":function($event){return _vm.updateSetting($event, 'Pleroma.Uploaders.MDII', 'files')}}})],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebPush.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebPush.vue?vue&type=script&lang=js&\"","<template>\n <el-form ref=\"vapidDetails\" :model=\"vapidDetails\" :label-width=\"labelWidth\">\n <el-form-item label=\"Subject\">\n <el-input :value=\"vapidDetails.subject\" @input=\"updateSetting($event, 'vapid_details', 'subject')\"/>\n <p class=\"expl\">A mailto link for the administrative contact. It’s best if this email is not a personal email address,\n but rather a group email so that if a person leaves an organization, is unavailable for an extended period,\n or otherwise can’t respond, someone else on the list can.</p>\n </el-form-item>\n <el-form-item label=\"Public key\">\n <el-input :value=\"vapidDetails.public_key\" @input=\"updateSetting($event, 'vapid_details', 'public_key')\"/>\n <p class=\"expl\">VAPID public key</p>\n </el-form-item>\n <el-form-item label=\"Private key\">\n <el-input :value=\"vapidDetails.private_key\" @input=\"updateSetting($event, 'vapid_details', 'private_key')\"/>\n <p class=\"expl\">VAPID private key</p>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit\">Submit</el-button>\n </el-form-item>\n </el-form>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n name: 'WebPush',\n computed: {\n ...mapGetters([\n 'vapidDetails'\n ]),\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n }\n },\n methods: {\n updateSetting(value, tab, input) {\n this.$store.dispatch('UpdateSettings', { tab, data: { [input]: value }})\n },\n onSubmit() {\n this.$store.dispatch('SubmitChanges')\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n@import '../styles/main';\n@include settings\n</style>\n","import { render, staticRenderFns } from \"./WebPush.vue?vue&type=template&id=2533b996&\"\nimport script from \"./WebPush.vue?vue&type=script&lang=js&\"\nexport * from \"./WebPush.vue?vue&type=script&lang=js&\"\nimport style0 from \"./WebPush.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"WebPush.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"vapidDetails\",attrs:{\"model\":_vm.vapidDetails,\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":\"Subject\"}},[_c('el-input',{attrs:{\"value\":_vm.vapidDetails.subject},on:{\"input\":function($event){return _vm.updateSetting($event, 'vapid_details', 'subject')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"A mailto link for the administrative contact. It’s best if this email is not a personal email address,\\n but rather a group email so that if a person leaves an organization, is unavailable for an extended period,\\n or otherwise can’t respond, someone else on the list can.\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Public key\"}},[_c('el-input',{attrs:{\"value\":_vm.vapidDetails.public_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'vapid_details', 'public_key')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"VAPID public key\")])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":\"Private key\"}},[_c('el-input',{attrs:{\"value\":_vm.vapidDetails.private_key},on:{\"input\":function($event){return _vm.updateSetting($event, 'vapid_details', 'private_key')}}}),_vm._v(\" \"),_c('p',{staticClass:\"expl\"},[_vm._v(\"VAPID private key\")])],1),_vm._v(\" \"),_c('el-form-item',[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.onSubmit}},[_vm._v(\"Submit\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleEmojiEditor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleEmojiEditor.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <div v-if=\"isLocal\" class=\"emoji-container\">\n <img\n :src=\"addressOfEmojiInPack(host, packName, file)\"\n class=\"emoji-preview-img\">\n <el-input v-model=\"emojiName\" :placeholder=\"$t('settings.shortcode')\" class=\"emoji-info\"/>\n <el-input v-model=\"emojiFile\" :placeholder=\"$t('settings.file')\" class=\"emoji-info\"/>\n <div class=\"emoji-buttons\">\n <el-button type=\"primary\" class=\"emoji-button\" @click=\"update\">{{ $t('settings.update') }}</el-button>\n <el-button class=\"emoji-button\" @click=\"remove\">{{ $t('settings.remove') }}</el-button>\n </div>\n </div>\n\n <div v-if=\"!isLocal\" class=\"emoji-container\">\n <img\n :src=\"addressOfEmojiInPack(host, packName, file)\"\n class=\"emoji-preview-img\">\n <el-input :value=\"emojiName\" :placeholder=\"$t('settings.shortcode')\" class=\"emoji-info\"/>\n <el-input :value=\"emojiFile\" :placeholder=\"$t('settings.file')\" class=\"emoji-info\"/>\n <el-popover v-model=\"copyPopoverVisible\" placement=\"left-start\" popper-class=\"copy-popover\">\n <p>{{ $t('settings.selectLocalPack') }}</p>\n <el-select v-model=\"copyToLocalPackName\" :placeholder=\"$t('settings.localPack')\">\n <el-option\n v-for=\"(_pack, name) in localPacks\"\n :key=\"name\"\n :label=\"name\"\n :value=\"name\" />\n </el-select>\n <p>{{ $t('settings.specifyShortcode') }}</p>\n <el-input v-model=\"copyToShortcode\" :placeholder=\"$t('settings.leaveEmptyShortcode')\"/>\n <p>{{ $t('settings.specifyFilename') }}</p>\n <el-input v-model=\"copyToFilename\" :placeholder=\"$t('settings.leaveEmptyFilename')\"/>\n <el-button\n :disabled=\"!copyToLocalPackName\"\n type=\"primary\"\n class=\"copy-to-local-button\"\n @click=\"copyToLocal\">{{ $t('settings.copy') }}</el-button>\n <el-button slot=\"reference\" type=\"primary\" class=\"emoji-button\">{{ $t('settings.copyToLocalPack') }}</el-button>\n </el-popover>\n </div>\n </div>\n</template>\n\n<script>\n\nimport { addressOfEmojiInPack } from '@/api/emojiPacks'\nexport default {\n props: {\n host: {\n type: String,\n required: true\n },\n packName: {\n type: String,\n required: true\n },\n name: {\n type: String,\n required: true\n },\n file: {\n type: String,\n required: true\n },\n isLocal: {\n type: Boolean,\n required: true\n }\n },\n data() {\n return {\n newName: null,\n newFile: null,\n copyToLocalPackName: null,\n copyPopoverVisible: false,\n copyToShortcode: '',\n copyToFilename: ''\n }\n },\n computed: {\n emojiName: {\n get() {\n // Return a modified name if it was modified, otherwise return the old name\n return this.newName !== null ? this.newName : this.name\n },\n set(val) { this.newName = val }\n },\n emojiFile: {\n get() {\n // Return a modified name if it was modified, otherwise return the old name\n return this.newFile !== null ? this.newFile : this.file\n },\n set(val) { this.newFile = val }\n },\n localPacks() {\n return this.$store.state.emojiPacks.localPacks\n }\n },\n methods: {\n update() {\n this.$store.dispatch('UpdateAndSavePackFile', {\n action: 'update',\n packName: this.packName,\n oldName: this.name,\n newName: this.emojiName,\n newFilename: this.emojiFile\n }).then(() => {\n this.newName = null\n this.newFile = null\n\n this.$store.dispatch('ReloadEmoji')\n })\n },\n remove() {\n this.$confirm('This will delete the emoji, are you sure?', 'Warning', {\n confirmButtonText: 'Yes, delete the emoji',\n cancelButtonText: 'No, leave it be',\n type: 'warning'\n }).then(() => {\n this.$store.dispatch('UpdateAndSavePackFile', {\n action: 'remove',\n packName: this.packName,\n name: this.name\n }).then(() => {\n this.newName = null\n this.newFile = null\n\n this.$store.dispatch('ReloadEmoji')\n })\n })\n },\n copyToLocal() {\n this.$store.dispatch('UpdateAndSavePackFile', {\n action: 'add',\n packName: this.copyToLocalPackName,\n shortcode: this.copyToShortcode.trim() !== '' ? this.copyToShortcode.trim() : this.name,\n fileName: this.copyToFilename.trim() !== '' ? this.copyToFilename.trim() : this.file,\n file: this.addressOfEmojiInPack(this.host, this.packName, this.file)\n }).then(() => {\n this.copyToLocalPackName = null\n this.copyToLocalVisible = false\n this.copyToShortcode = ''\n this.copyToFilename = ''\n\n this.$store.dispatch('ReloadEmoji')\n })\n },\n addressOfEmojiInPack\n }\n}\n</script>\n\n<style>\n.copy-popover {\n width: 330px\n}\n.emoji-button {\n margin-left: 10px\n}\n.emoji-buttons {\n min-width: 210px\n}\n.emoji-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 10px;\n}\n.emoji-preview-img {\n max-width: 5em;\n}\n.emoji-info {\n margin-left: 10px\n}\n.copy-to-local-button {\n margin-top: 12px;\n float: right;\n}\n</style>\n","import { render, staticRenderFns } from \"./SingleEmojiEditor.vue?vue&type=template&id=040ab8dc&\"\nimport script from \"./SingleEmojiEditor.vue?vue&type=script&lang=js&\"\nexport * from \"./SingleEmojiEditor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SingleEmojiEditor.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\ncomponent.options.__file = \"SingleEmojiEditor.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.isLocal)?_c('div',{staticClass:\"emoji-container\"},[_c('img',{staticClass:\"emoji-preview-img\",attrs:{\"src\":_vm.addressOfEmojiInPack(_vm.host, _vm.packName, _vm.file)}}),_vm._v(\" \"),_c('el-input',{staticClass:\"emoji-info\",attrs:{\"placeholder\":_vm.$t('settings.shortcode')},model:{value:(_vm.emojiName),callback:function ($$v) {_vm.emojiName=$$v},expression:\"emojiName\"}}),_vm._v(\" \"),_c('el-input',{staticClass:\"emoji-info\",attrs:{\"placeholder\":_vm.$t('settings.file')},model:{value:(_vm.emojiFile),callback:function ($$v) {_vm.emojiFile=$$v},expression:\"emojiFile\"}}),_vm._v(\" \"),_c('div',{staticClass:\"emoji-buttons\"},[_c('el-button',{staticClass:\"emoji-button\",attrs:{\"type\":\"primary\"},on:{\"click\":_vm.update}},[_vm._v(_vm._s(_vm.$t('settings.update')))]),_vm._v(\" \"),_c('el-button',{staticClass:\"emoji-button\",on:{\"click\":_vm.remove}},[_vm._v(_vm._s(_vm.$t('settings.remove')))])],1)],1):_vm._e(),_vm._v(\" \"),(!_vm.isLocal)?_c('div',{staticClass:\"emoji-container\"},[_c('img',{staticClass:\"emoji-preview-img\",attrs:{\"src\":_vm.addressOfEmojiInPack(_vm.host, _vm.packName, _vm.file)}}),_vm._v(\" \"),_c('el-input',{staticClass:\"emoji-info\",attrs:{\"value\":_vm.emojiName,\"placeholder\":_vm.$t('settings.shortcode')}}),_vm._v(\" \"),_c('el-input',{staticClass:\"emoji-info\",attrs:{\"value\":_vm.emojiFile,\"placeholder\":_vm.$t('settings.file')}}),_vm._v(\" \"),_c('el-popover',{attrs:{\"placement\":\"left-start\",\"popper-class\":\"copy-popover\"},model:{value:(_vm.copyPopoverVisible),callback:function ($$v) {_vm.copyPopoverVisible=$$v},expression:\"copyPopoverVisible\"}},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.selectLocalPack')))]),_vm._v(\" \"),_c('el-select',{attrs:{\"placeholder\":_vm.$t('settings.localPack')},model:{value:(_vm.copyToLocalPackName),callback:function ($$v) {_vm.copyToLocalPackName=$$v},expression:\"copyToLocalPackName\"}},_vm._l((_vm.localPacks),function(_pack,name){return _c('el-option',{key:name,attrs:{\"label\":name,\"value\":name}})}),1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.specifyShortcode')))]),_vm._v(\" \"),_c('el-input',{attrs:{\"placeholder\":_vm.$t('settings.leaveEmptyShortcode')},model:{value:(_vm.copyToShortcode),callback:function ($$v) {_vm.copyToShortcode=$$v},expression:\"copyToShortcode\"}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.specifyFilename')))]),_vm._v(\" \"),_c('el-input',{attrs:{\"placeholder\":_vm.$t('settings.leaveEmptyFilename')},model:{value:(_vm.copyToFilename),callback:function ($$v) {_vm.copyToFilename=$$v},expression:\"copyToFilename\"}}),_vm._v(\" \"),_c('el-button',{staticClass:\"copy-to-local-button\",attrs:{\"disabled\":!_vm.copyToLocalPackName,\"type\":\"primary\"},on:{\"click\":_vm.copyToLocal}},[_vm._v(_vm._s(_vm.$t('settings.copy')))]),_vm._v(\" \"),_c('el-button',{staticClass:\"emoji-button\",attrs:{\"slot\":\"reference\",\"type\":\"primary\"},slot:\"reference\"},[_vm._v(_vm._s(_vm.$t('settings.copyToLocalPack')))])],1)],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewEmojiUploader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewEmojiUploader.vue?vue&type=script&lang=js&\"","<template>\n <el-form label-width=\"130px\" label-position=\"left\" size=\"small\">\n <el-form-item :label=\"$t('settings.shortcode')\">\n <el-input v-model=\"shortcode\" :placeholder=\"$t('settings.required')\"/>\n </el-form-item>\n <el-form-item :label=\"$t('settings.customFilename')\">\n <el-input v-model=\"customFileName\" :placeholder=\"$t('settings.optional')\"/>\n </el-form-item>\n <el-form-item :label=\"$t('settings.uploadFile')\">\n <div class=\"upload-file-url\">\n <el-input v-model=\"imageUploadURL\" :placeholder=\"$t('settings.url')\"/>\n <el-button :disabled=\"shortcodePresent\" type=\"primary\" class=\"upload-button\" @click=\"uploadEmoji\">{{ $t('settings.upload') }}</el-button>\n </div>\n <div class=\"upload-container\">\n <p class=\"text\">or</p>\n <el-upload\n :http-request=\"uploadEmoji\"\n :multiple=\"false\"\n :show-file-list=\"false\"\n action=\"add\">\n <el-button :disabled=\"shortcodePresent\" type=\"primary\">{{ $t('settings.clickToUpload') }}</el-button>\n </el-upload>\n </div>\n </el-form-item>\n </el-form>\n</template>\n\n<style>\n.add-new-emoji {\n height: 36px;\n font-size: 14px;\n font-weight: 700;\n color: #606266;\n}\n.text {\n line-height: 20px;\n margin-right: 15px\n}\n.upload-container {\n display: flex;\n align-items: baseline;\n}\n.upload-button {\n margin-left: 10px;\n}\n.upload-file-url {\n display: flex;\n justify-content: space-between\n}\n</style>\n\n<script>\nexport default {\n props: {\n packName: {\n type: String,\n required: true\n }\n },\n data() {\n return {\n shortcode: '',\n imageUploadURL: '',\n customFileName: ''\n }\n },\n computed: {\n shortcodePresent() {\n return this.shortcode.trim() === ''\n }\n },\n methods: {\n uploadEmoji({ file }) {\n this.$store.dispatch('UpdateAndSavePackFile', {\n action: 'add',\n packName: this.packName,\n shortcode: this.shortcode,\n file: file || this.imageUploadURL,\n fileName: this.customFileName\n }).then(() => {\n this.shortcode = ''\n this.imageUploadURL = ''\n this.customFileName = ''\n\n this.$store.dispatch('ReloadEmoji')\n })\n }\n }\n}\n</script>\n","import { render, staticRenderFns } from \"./NewEmojiUploader.vue?vue&type=template&id=10b72936&\"\nimport script from \"./NewEmojiUploader.vue?vue&type=script&lang=js&\"\nexport * from \"./NewEmojiUploader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./NewEmojiUploader.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\ncomponent.options.__file = \"NewEmojiUploader.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{attrs:{\"label-width\":\"130px\",\"label-position\":\"left\",\"size\":\"small\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.shortcode')}},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('settings.required')},model:{value:(_vm.shortcode),callback:function ($$v) {_vm.shortcode=$$v},expression:\"shortcode\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.customFilename')}},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('settings.optional')},model:{value:(_vm.customFileName),callback:function ($$v) {_vm.customFileName=$$v},expression:\"customFileName\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.uploadFile')}},[_c('div',{staticClass:\"upload-file-url\"},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('settings.url')},model:{value:(_vm.imageUploadURL),callback:function ($$v) {_vm.imageUploadURL=$$v},expression:\"imageUploadURL\"}}),_vm._v(\" \"),_c('el-button',{staticClass:\"upload-button\",attrs:{\"disabled\":_vm.shortcodePresent,\"type\":\"primary\"},on:{\"click\":_vm.uploadEmoji}},[_vm._v(_vm._s(_vm.$t('settings.upload')))])],1),_vm._v(\" \"),_c('div',{staticClass:\"upload-container\"},[_c('p',{staticClass:\"text\"},[_vm._v(\"or\")]),_vm._v(\" \"),_c('el-upload',{attrs:{\"http-request\":_vm.uploadEmoji,\"multiple\":false,\"show-file-list\":false,\"action\":\"add\"}},[_c('el-button',{attrs:{\"disabled\":_vm.shortcodePresent,\"type\":\"primary\"}},[_vm._v(_vm._s(_vm.$t('settings.clickToUpload')))])],1)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPack.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPack.vue?vue&type=script&lang=js&\"","<template>\n <el-collapse-item :title=\"name\" :name=\"name\" class=\"has-background\">\n <el-form v-if=\"isLocal\" label-width=\"120px\" label-position=\"left\" size=\"small\" class=\"emoji-pack-metadata\">\n <el-form-item :label=\"$t('settings.sharePack')\">\n <el-switch v-model=\"share\" />\n </el-form-item>\n <el-form-item :label=\"$t('settings.homepage')\">\n <el-input v-model=\"homepage\" />\n </el-form-item>\n <el-form-item :label=\"$t('settings.description')\">\n <el-input v-model=\"description\" type=\"textarea\" />\n </el-form-item>\n <el-form-item :label=\"$t('settings.license')\">\n <el-input v-model=\"license\" />\n </el-form-item>\n <el-form-item :label=\"$t('settings.fallbackSrc')\">\n <el-input v-model=\"fallbackSrc\" />\n </el-form-item>\n <el-form-item\n v-if=\"fallbackSrc && fallbackSrc.trim() !== ''\"\n :label=\"$t('settings.fallbackSrcSha')\">\n {{ pack.pack[\"fallback-src-sha256\"] }}\n </el-form-item>\n <el-form-item class=\"save-pack-button\">\n <el-button type=\"primary\" @click=\"savePackMetadata\">{{ $t('settings.savePackMetadata') }}</el-button>\n <el-button @click=\"deletePack\">{{ $t('settings.deletePack') }}</el-button>\n </el-form-item>\n <el-form-item>\n <el-link\n v-if=\"pack.pack['can-download']\"\n :href=\"`//${host}/api/pleroma/emoji/packs/${name}/download_shared`\"\n :underline=\"false\"\n type=\"primary\"\n target=\"_blank\">\n <el-button class=\"download-archive\">{{ $t('settings.downloadPackArchive') }}</el-button>\n </el-link>\n </el-form-item>\n </el-form>\n <el-form v-if=\"!isLocal\" label-width=\"120px\" label-position=\"left\" size=\"small\" class=\"emoji-pack-metadata\">\n <el-form-item :label=\"$t('settings.sharePack')\">\n <el-switch v-model=\"share\" disabled />\n </el-form-item>\n <el-form-item v-if=\"homepage\" :label=\"$t('settings.homepage')\">\n <span>{{ homepage }}</span>\n </el-form-item>\n <el-form-item v-if=\"description\" :label=\"$t('settings.description')\">\n <span>{{ description }}</span>\n </el-form-item>\n <el-form-item v-if=\"license\" :label=\"$t('settings.license')\">\n <span>{{ license }}</span>\n </el-form-item>\n <el-form-item v-if=\"fallbackSrc\" :label=\"$t('settings.fallbackSrc')\">\n <span>{{ fallbackSrc }}</span>\n </el-form-item>\n <el-form-item\n v-if=\"fallbackSrc && fallbackSrc.trim() !== ''\"\n :label=\"$t('settings.fallbackSrcSha')\">\n {{ pack.pack[\"fallback-src-sha256\"] }}\n </el-form-item>\n <el-form-item>\n <el-link\n v-if=\"pack.pack['can-download']\"\n :href=\"`//${host}/api/pleroma/emoji/packs/${name}/download_shared`\"\n :underline=\"false\"\n type=\"primary\"\n target=\"_blank\">\n <el-button class=\"download-archive\">{{ $t('settings.downloadPackArchive') }}</el-button>\n </el-link>\n </el-form-item>\n </el-form>\n <el-collapse v-model=\"showPackContent\" class=\"contents-collapse\">\n <el-collapse-item v-if=\"isLocal\" :title=\"$t('settings.addNewEmoji')\" name=\"addEmoji\" class=\"no-background\">\n <new-emoji-uploader :pack-name=\"name\"/>\n </el-collapse-item>\n <el-collapse-item v-if=\"Object.keys(pack.files).length > 0\" :title=\"$t('settings.manageEmoji')\" name=\"manageEmoji\" class=\"no-background\">\n <single-emoji-editor\n v-for=\"(file, ename) in pack.files\"\n :key=\"ename\"\n :host=\"host\"\n :pack-name=\"name\"\n :name=\"ename\"\n :file=\"file\"\n :is-local=\"isLocal\" />\n </el-collapse-item>\n <el-collapse-item v-if=\"!isLocal\" :title=\"$t('settings.downloadPack')\" name=\"downloadPack\" class=\"no-background\">\n <p>\n {{ $t('settings.thisWillDownload') }} \"{{ name }}\" {{ $t('settings.downloadToCurrentInstance') }}\n \"{{ downloadSharedAs.trim() === '' ? name : downloadSharedAs }}\" ({{ $t('settings.canBeChanged') }}).\n {{ $t('settings.willBeUsable') }}.\n </p>\n <div class=\"download-shared-pack\">\n <el-input v-model=\"downloadSharedAs\" :placeholder=\"$t('settings.downloadAsOptional')\"/>\n <el-button type=\"primary\" class=\"download-shared-pack-button\" @click=\"downloadFromInstance\">\n {{ $t('settings.downloadSharedPack') }}\n </el-button>\n </div>\n </el-collapse-item>\n </el-collapse>\n </el-collapse-item>\n</template>\n\n<script>\nimport SingleEmojiEditor from './SingleEmojiEditor.vue'\nimport NewEmojiUploader from './NewEmojiUploader.vue'\n\nexport default {\n\n components: { SingleEmojiEditor, NewEmojiUploader },\n props: {\n name: {\n type: String,\n required: true\n },\n pack: {\n type: Object,\n required: true\n },\n host: {\n type: String,\n required: true\n },\n isLocal: {\n type: Boolean,\n required: true\n }\n },\n\n data() {\n return {\n showPackContent: [],\n downloadSharedAs: ''\n }\n },\n computed: {\n share: {\n get() { return this.pack.pack['share-files'] },\n set(value) {\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'share-files', value }\n )\n }\n },\n homepage: {\n get() { return this.pack.pack['homepage'] },\n set(value) {\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'homepage', value }\n )\n }\n },\n description: {\n get() { return this.pack.pack['description'] },\n set(value) {\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'description', value }\n )\n }\n },\n license: {\n get() { return this.pack.pack['license'] },\n set(value) {\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'license', value }\n )\n }\n },\n fallbackSrc: {\n get() { return this.pack.pack['fallback-src'] },\n set(value) {\n if (value.trim() !== '') {\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'fallback-src', value }\n )\n } else {\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'fallback-src', value: null }\n )\n this.$store.dispatch(\n 'UpdateLocalPackVal',\n { name: this.name, key: 'fallback-src-sha256', value: null }\n )\n }\n }\n }\n },\n methods: {\n downloadFromInstance() {\n this.$store.dispatch(\n 'DownloadFrom',\n { instanceAddress: this.host, packName: this.name, as: this.downloadSharedAs }\n ).then(() => this.$store.dispatch('ReloadEmoji'))\n .then(() => this.$store.dispatch('SetLocalEmojiPacks'))\n },\n\n deletePack() {\n this.$confirm('This will delete the pack, are you sure?', 'Warning', {\n confirmButtonText: 'Yes, delete the pack',\n cancelButtonText: 'No, leave it be',\n type: 'warning'\n }).then(() => {\n this.$store.dispatch('DeletePack', { name: this.name })\n .then(() => this.$store.dispatch('ReloadEmoji'))\n .then(() => this.$store.dispatch('SetLocalEmojiPacks'))\n }).catch(() => {})\n },\n\n savePackMetadata() {\n this.$store.dispatch('SavePackMetadata', { packName: this.name })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.download-archive {\n width: 250px\n}\n.download-shared-pack {\n display: flex;\n margin-bottom: 10px;\n}\n.download-shared-pack-button {\n margin-left: 10px;\n}\n.el-collapse-item__content {\n padding-bottom: 0;\n}\n.el-collapse-item__header {\n height: 36px;\n font-size: 14px;\n font-weight: 700;\n color: #606266;\n}\n.emoji-pack-card {\n margin-top: 5px;\n}\n.emoji-pack-metadata {\n .el-form-item {\n margin-bottom: 10px;\n }\n}\n.has-background .el-collapse-item__header {\n background: #f6f6f6;\n}\n.no-background .el-collapse-item__header {\n background: white;\n}\n.save-pack-button {\n margin-bottom: 5px\n}\n</style>\n","import { render, staticRenderFns } from \"./EmojiPack.vue?vue&type=template&id=6c71f0ca&\"\nimport script from \"./EmojiPack.vue?vue&type=script&lang=js&\"\nexport * from \"./EmojiPack.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmojiPack.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"EmojiPack.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-collapse-item',{staticClass:\"has-background\",attrs:{\"title\":_vm.name,\"name\":_vm.name}},[(_vm.isLocal)?_c('el-form',{staticClass:\"emoji-pack-metadata\",attrs:{\"label-width\":\"120px\",\"label-position\":\"left\",\"size\":\"small\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.sharePack')}},[_c('el-switch',{model:{value:(_vm.share),callback:function ($$v) {_vm.share=$$v},expression:\"share\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.homepage')}},[_c('el-input',{model:{value:(_vm.homepage),callback:function ($$v) {_vm.homepage=$$v},expression:\"homepage\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.description')}},[_c('el-input',{attrs:{\"type\":\"textarea\"},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.license')}},[_c('el-input',{model:{value:(_vm.license),callback:function ($$v) {_vm.license=$$v},expression:\"license\"}})],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.fallbackSrc')}},[_c('el-input',{model:{value:(_vm.fallbackSrc),callback:function ($$v) {_vm.fallbackSrc=$$v},expression:\"fallbackSrc\"}})],1),_vm._v(\" \"),(_vm.fallbackSrc && _vm.fallbackSrc.trim() !== '')?_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.fallbackSrcSha')}},[_vm._v(\"\\n \"+_vm._s(_vm.pack.pack[\"fallback-src-sha256\"])+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('el-form-item',{staticClass:\"save-pack-button\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.savePackMetadata}},[_vm._v(_vm._s(_vm.$t('settings.savePackMetadata')))]),_vm._v(\" \"),_c('el-button',{on:{\"click\":_vm.deletePack}},[_vm._v(_vm._s(_vm.$t('settings.deletePack')))])],1),_vm._v(\" \"),_c('el-form-item',[(_vm.pack.pack['can-download'])?_c('el-link',{attrs:{\"href\":(\"//\" + _vm.host + \"/api/pleroma/emoji/packs/\" + _vm.name + \"/download_shared\"),\"underline\":false,\"type\":\"primary\",\"target\":\"_blank\"}},[_c('el-button',{staticClass:\"download-archive\"},[_vm._v(_vm._s(_vm.$t('settings.downloadPackArchive')))])],1):_vm._e()],1)],1):_vm._e(),_vm._v(\" \"),(!_vm.isLocal)?_c('el-form',{staticClass:\"emoji-pack-metadata\",attrs:{\"label-width\":\"120px\",\"label-position\":\"left\",\"size\":\"small\"}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.sharePack')}},[_c('el-switch',{attrs:{\"disabled\":\"\"},model:{value:(_vm.share),callback:function ($$v) {_vm.share=$$v},expression:\"share\"}})],1),_vm._v(\" \"),(_vm.homepage)?_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.homepage')}},[_c('span',[_vm._v(_vm._s(_vm.homepage))])]):_vm._e(),_vm._v(\" \"),(_vm.description)?_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.description')}},[_c('span',[_vm._v(_vm._s(_vm.description))])]):_vm._e(),_vm._v(\" \"),(_vm.license)?_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.license')}},[_c('span',[_vm._v(_vm._s(_vm.license))])]):_vm._e(),_vm._v(\" \"),(_vm.fallbackSrc)?_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.fallbackSrc')}},[_c('span',[_vm._v(_vm._s(_vm.fallbackSrc))])]):_vm._e(),_vm._v(\" \"),(_vm.fallbackSrc && _vm.fallbackSrc.trim() !== '')?_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.fallbackSrcSha')}},[_vm._v(\"\\n \"+_vm._s(_vm.pack.pack[\"fallback-src-sha256\"])+\"\\n \")]):_vm._e(),_vm._v(\" \"),_c('el-form-item',[(_vm.pack.pack['can-download'])?_c('el-link',{attrs:{\"href\":(\"//\" + _vm.host + \"/api/pleroma/emoji/packs/\" + _vm.name + \"/download_shared\"),\"underline\":false,\"type\":\"primary\",\"target\":\"_blank\"}},[_c('el-button',{staticClass:\"download-archive\"},[_vm._v(_vm._s(_vm.$t('settings.downloadPackArchive')))])],1):_vm._e()],1)],1):_vm._e(),_vm._v(\" \"),_c('el-collapse',{staticClass:\"contents-collapse\",model:{value:(_vm.showPackContent),callback:function ($$v) {_vm.showPackContent=$$v},expression:\"showPackContent\"}},[(_vm.isLocal)?_c('el-collapse-item',{staticClass:\"no-background\",attrs:{\"title\":_vm.$t('settings.addNewEmoji'),\"name\":\"addEmoji\"}},[_c('new-emoji-uploader',{attrs:{\"pack-name\":_vm.name}})],1):_vm._e(),_vm._v(\" \"),(Object.keys(_vm.pack.files).length > 0)?_c('el-collapse-item',{staticClass:\"no-background\",attrs:{\"title\":_vm.$t('settings.manageEmoji'),\"name\":\"manageEmoji\"}},_vm._l((_vm.pack.files),function(file,ename){return _c('single-emoji-editor',{key:ename,attrs:{\"host\":_vm.host,\"pack-name\":_vm.name,\"name\":ename,\"file\":file,\"is-local\":_vm.isLocal}})}),1):_vm._e(),_vm._v(\" \"),(!_vm.isLocal)?_c('el-collapse-item',{staticClass:\"no-background\",attrs:{\"title\":_vm.$t('settings.downloadPack'),\"name\":\"downloadPack\"}},[_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.thisWillDownload'))+\" \\\"\"+_vm._s(_vm.name)+\"\\\" \"+_vm._s(_vm.$t('settings.downloadToCurrentInstance'))+\"\\n \\\"\"+_vm._s(_vm.downloadSharedAs.trim() === '' ? _vm.name : _vm.downloadSharedAs)+\"\\\" (\"+_vm._s(_vm.$t('settings.canBeChanged'))+\").\\n \"+_vm._s(_vm.$t('settings.willBeUsable'))+\".\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"download-shared-pack\"},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('settings.downloadAsOptional')},model:{value:(_vm.downloadSharedAs),callback:function ($$v) {_vm.downloadSharedAs=$$v},expression:\"downloadSharedAs\"}}),_vm._v(\" \"),_c('el-button',{staticClass:\"download-shared-pack-button\",attrs:{\"type\":\"primary\"},on:{\"click\":_vm.downloadFromInstance}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.downloadSharedPack'))+\"\\n \")])],1)]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div>\n <div class=\"button-container\">\n <el-button type=\"primary\" @click=\"reloadEmoji\">{{ $t('settings.reloadEmoji') }}</el-button>\n <el-tooltip :content=\"$t('settings.importEmojiTooltip')\" effects=\"dark\" placement=\"bottom\">\n <el-button type=\"primary\" @click=\"importFromFS\">\n {{ $t('settings.importPacks') }}\n </el-button>\n </el-tooltip>\n </div>\n <div class=\"line\"/>\n <el-form :label-width=\"labelWidth\">\n <el-form-item :label=\"$t('settings.localPacks')\">\n <el-button type=\"primary\" @click=\"refreshLocalPacks\">{{ $t('settings.refreshLocalPacks') }}</el-button>\n </el-form-item>\n <el-form-item :label=\"$t('settings.createLocalPack')\">\n <div class=\"create-pack\">\n <el-input v-model=\"newPackName\" :placeholder=\"$t('users.name')\" />\n <el-button\n :disabled=\"newPackName.trim() === ''\"\n class=\"create-pack-button\"\n @click=\"createLocalPack\">\n {{ $t('users.create') }}\n </el-button>\n </div>\n </el-form-item>\n <el-form-item v-if=\"Object.keys(localPacks).length > 0\" :label=\"$t('settings.packs')\">\n <el-collapse v-for=\"(pack, name) in localPacks\" :key=\"name\" v-model=\"activeLocalPack\">\n <emoji-pack :name=\"name\" :pack=\"pack\" :host=\"$store.getters.authHost\" :is-local=\"true\" />\n </el-collapse>\n </el-form-item>\n <div class=\"line\"/>\n <el-form-item :label=\"$t('settings.remotePacks')\">\n <div class=\"create-pack\">\n <el-input\n v-model=\"remoteInstanceAddress\"\n :placeholder=\"$t('settings.remoteInstanceAddress')\" />\n <el-button\n :disabled=\"remoteInstanceAddress.trim() === ''\"\n class=\"create-pack-button\"\n @click=\"refreshRemotePacks\">\n {{ $t('settings.refreshRemote') }}\n </el-button>\n </div>\n </el-form-item>\n <el-form-item v-if=\"Object.keys(remotePacks).length > 0\" :label=\"$t('settings.packs')\">\n <el-collapse v-for=\"(pack, name) in remotePacks\" :key=\"name\" v-model=\"activeRemotePack\">\n <emoji-pack :name=\"name\" :pack=\"pack\" :host=\"$store.getters.authHost\" :is-local=\"false\" />\n </el-collapse>\n </el-form-item>\n </el-form>\n </div>\n</template>\n\n<script>\nimport EmojiPack from './components/EmojiPack'\n\nexport default {\n components: { EmojiPack },\n data() {\n return {\n remoteInstanceAddress: '',\n newPackName: '',\n activeLocalPack: [],\n activeRemotePack: []\n }\n },\n computed: {\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n labelWidth() {\n return this.isMobile ? '100px' : '210px'\n },\n localPacks() {\n return this.$store.state.emojiPacks.localPacks\n },\n remotePacks() {\n return this.$store.state.emojiPacks.remotePacks\n }\n },\n mounted() {\n this.refreshLocalPacks()\n },\n methods: {\n createLocalPack() {\n this.$store.dispatch('CreatePack', { name: this.newPackName })\n .then(() => {\n this.newPackName = ''\n\n this.$store.dispatch('SetLocalEmojiPacks')\n this.$store.dispatch('ReloadEmoji')\n })\n },\n refreshLocalPacks() {\n this.$store.dispatch('SetLocalEmojiPacks')\n },\n refreshRemotePacks() {\n this.$store.dispatch('SetRemoteEmojiPacks', { remoteInstance: this.remoteInstanceAddress })\n },\n reloadEmoji() {\n this.$store.dispatch('ReloadEmoji')\n },\n importFromFS() {\n this.$store.dispatch('ImportFromFS')\n .then(() => {\n this.$store.dispatch('SetLocalEmojiPacks')\n this.$store.dispatch('ReloadEmoji')\n })\n }\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss'>\n.button-container {\n margin: 0 0 22px 20px;\n}\n.create-pack {\n display: flex;\n justify-content: space-between\n}\n.create-pack-button {\n margin-left: 10px;\n}\n.line {\n width: 100%;\n height: 0;\n border: 1px solid #eee;\n margin-bottom: 22px;\n }\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7857651a&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&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 null,\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"button-container\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.reloadEmoji}},[_vm._v(_vm._s(_vm.$t('settings.reloadEmoji')))]),_vm._v(\" \"),_c('el-tooltip',{attrs:{\"content\":_vm.$t('settings.importEmojiTooltip'),\"effects\":\"dark\",\"placement\":\"bottom\"}},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.importFromFS}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.importPacks'))+\"\\n \")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form',{attrs:{\"label-width\":_vm.labelWidth}},[_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.localPacks')}},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.refreshLocalPacks}},[_vm._v(_vm._s(_vm.$t('settings.refreshLocalPacks')))])],1),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.createLocalPack')}},[_c('div',{staticClass:\"create-pack\"},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('users.name')},model:{value:(_vm.newPackName),callback:function ($$v) {_vm.newPackName=$$v},expression:\"newPackName\"}}),_vm._v(\" \"),_c('el-button',{staticClass:\"create-pack-button\",attrs:{\"disabled\":_vm.newPackName.trim() === ''},on:{\"click\":_vm.createLocalPack}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('users.create'))+\"\\n \")])],1)]),_vm._v(\" \"),(Object.keys(_vm.localPacks).length > 0)?_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.packs')}},_vm._l((_vm.localPacks),function(pack,name){return _c('el-collapse',{key:name,model:{value:(_vm.activeLocalPack),callback:function ($$v) {_vm.activeLocalPack=$$v},expression:\"activeLocalPack\"}},[_c('emoji-pack',{attrs:{\"name\":name,\"pack\":pack,\"host\":_vm.$store.getters.authHost,\"is-local\":true}})],1)}),1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"line\"}),_vm._v(\" \"),_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.remotePacks')}},[_c('div',{staticClass:\"create-pack\"},[_c('el-input',{attrs:{\"placeholder\":_vm.$t('settings.remoteInstanceAddress')},model:{value:(_vm.remoteInstanceAddress),callback:function ($$v) {_vm.remoteInstanceAddress=$$v},expression:\"remoteInstanceAddress\"}}),_vm._v(\" \"),_c('el-button',{staticClass:\"create-pack-button\",attrs:{\"disabled\":_vm.remoteInstanceAddress.trim() === ''},on:{\"click\":_vm.refreshRemotePacks}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.refreshRemote'))+\"\\n \")])],1)]),_vm._v(\" \"),(Object.keys(_vm.remotePacks).length > 0)?_c('el-form-item',{attrs:{\"label\":_vm.$t('settings.packs')}},_vm._l((_vm.remotePacks),function(pack,name){return _c('el-collapse',{key:name,model:{value:(_vm.activeRemotePack),callback:function ($$v) {_vm.activeRemotePack=$$v},expression:\"activeRemotePack\"}},[_c('emoji-pack',{attrs:{\"name\":name,\"pack\":pack,\"host\":_vm.$store.getters.authHost,\"is-local\":false}})],1)}),1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js?cacheDirectory!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","<template>\n <div class=\"settings-container\">\n <h1>{{ $t('settings.settings') }}</h1>\n <el-tabs :tab-position=\"tabPosition\">\n <el-tab-pane :label=\"$t('settings.activityPub')\">\n <activity-pub/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.auth')\">\n <authentication/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.autoLinker')\">\n <auto-linker/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.esshd')\">\n <esshd/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.captcha')\">\n <captcha/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.database')\">\n <database/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.endpoint')\">\n <endpoint/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.emojiPacks')\">\n <emoji-packs/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.frontend')\">\n <frontend/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.gopher')\">\n <gopher/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.http')\">\n <http/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.instance')\">\n <instance/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.jobQueue')\">\n <job-queue/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.logger')\">\n <logger/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.mailer')\">\n <mailer/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.mediaProxy')\">\n <media-proxy/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.metadata')\">\n <metadata/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.mrf')\">\n <mrf/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.rateLimiters')\">\n <rate-limiters/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.relays')\">\n <relays/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.upload')\">\n <upload/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.webPush')\">\n <web-push/>\n </el-tab-pane>\n <el-tab-pane :label=\"$t('settings.other')\">\n <other/>\n </el-tab-pane>\n </el-tabs>\n </div>\n</template>\n\n<script>\nimport { ActivityPub, Authentication, AutoLinker, Captcha, Database, Endpoint, Esshd, Frontend, Gopher, Http, Instance, JobQueue, Logger, Mailer, MediaProxy, Metadata, Mrf, Other, RateLimiters, Relays, Upload, WebPush } from './components'\nimport EmojiPacks from '../emojiPacks/index'\n\nexport default {\n components: { ActivityPub, Authentication, AutoLinker, Captcha, Database, Endpoint, EmojiPacks, Esshd, Frontend, Gopher, Http, Instance, JobQueue, Logger, Mailer, MediaProxy, Metadata, Mrf, Other, RateLimiters, Relays, Upload, WebPush },\n computed: {\n isMobile() {\n return this.$store.state.app.device === 'mobile'\n },\n tabPosition() {\n return this.isMobile ? 'top' : 'left'\n }\n },\n mounted: function() {\n this.$store.dispatch('FetchSettings')\n }\n}\n</script>\n\n<style rel='stylesheet/scss' lang='scss' scoped>\n .settings-container {\n .el-tabs {\n margin-top: 20px\n }\n h1 {\n margin: 22px 0 0 15px;\n }\n }\n</style>\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=c56a6d00&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=c56a6d00&rel=stylesheet%2Fscss&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 \"c56a6d00\",\n null\n \n)\n\ncomponent.options.__file = \"index.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewEmojiUploader.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--7-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--7-2!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewEmojiUploader.vue?vue&type=style&index=0&lang=css&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Metadata.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Metadata.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinker.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutoLinker.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Instance.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Instance.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Other.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Other.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MRF.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MRF.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Frontend.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Frontend.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JobQueue.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./JobQueue.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logger.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityPub.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActivityPub.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js??ref--11-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gopher.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Gopher.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPack.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js??ref--11-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/lib/index.js??ref--11-2!../../../../node_modules/sass-loader/lib/loader.js??ref--11-3!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmojiPack.vue?vue&type=style&index=0&rel=stylesheet%2Fscss&lang=scss&\""],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/runtime.46db235c.js b/priv/static/adminfe/static/js/runtime.46db235c.js
deleted file mode 100644
index 898c5b505..000000000
--- a/priv/static/adminfe/static/js/runtime.46db235c.js
+++ /dev/null
@@ -1,2 +0,0 @@
-!function(e){function n(n){for(var r,c,a=n[0],f=n[1],i=n[2],d=0,l=[];d<a.length;d++)c=a[d],u[c]&&l.push(u[c][0]),u[c]=0;for(r in f)Object.prototype.hasOwnProperty.call(f,r)&&(e[r]=f[r]);for(h&&h(n);l.length;)l.shift()();return o.push.apply(o,i||[]),t()}function t(){for(var e,n=0;n<o.length;n++){for(var t=o[n],r=!0,c=1;c<t.length;c++){var f=t[c];0!==u[f]&&(r=!1)}r&&(o.splice(n--,1),e=a(a.s=t[0]))}return e}var r={},c={runtime:0},u={runtime:0},o=[];function a(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var n=[];c[e]?n.push(c[e]):0!==c[e]&&{"chunk-23b2":1,"chunk-0cb6":1,"chunk-15fa":1,"chunk-18e1":1,"chunk-3d1c":1,"chunk-7c6b":1,"chunk-2943":1,"chunk-4df4":1,"chunk-7f8e":1,"chunk-538a":1}[e]&&n.push(c[e]=new Promise(function(n,t){for(var r=({}[e]||e)+"."+{"7zzA":"31d6cfe0",JEtC:"31d6cfe0","chunk-0620":"31d6cfe0","chunk-23b2":"723b6cc5","chunk-0cb6":"8d811a09","chunk-15fa":"6e185c68","chunk-18e1":"5bd2ca85","chunk-3d1c":"b2eb7234","chunk-7c6b":"c7882778","chunk-7fe2":"31d6cfe0","chunk-2943":"1b6fd9a7","chunk-df62":"31d6cfe0","chunk-4df4":"e217dea0","chunk-7f8e":"b6944d38",oAJy:"31d6cfe0","chunk-16d0":"31d6cfe0","chunk-538a":"062aa087"}[e]+".css",c=a.p+r,u=document.getElementsByTagName("link"),o=0;o<u.length;o++){var f=(d=u[o]).getAttribute("data-href")||d.getAttribute("href");if("stylesheet"===d.rel&&(f===r||f===c))return n()}var i=document.getElementsByTagName("style");for(o=0;o<i.length;o++){var d;if((f=(d=i[o]).getAttribute("data-href"))===r||f===c)return n()}var h=document.createElement("link");h.rel="stylesheet",h.type="text/css",h.onload=n,h.onerror=function(n){var r=n&&n.target&&n.target.src||c,u=new Error("Loading CSS chunk "+e+" failed.\n("+r+")");u.request=r,t(u)},h.href=c,document.getElementsByTagName("head")[0].appendChild(h)}).then(function(){c[e]=0}));var t=u[e];if(0!==t)if(t)n.push(t[2]);else{var r=new Promise(function(n,r){t=u[e]=[n,r]});n.push(t[2]=r);var o,f=document.createElement("script");f.charset="utf-8",f.timeout=120,a.nc&&f.setAttribute("nonce",a.nc),f.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{"7zzA":"e1ae1c94",JEtC:"f9ba4594","chunk-0620":"c765c190","chunk-23b2":"442bb8df","chunk-0cb6":"b9f32e0c","chunk-15fa":"34dcb9d8","chunk-18e1":"f8bb78f3","chunk-3d1c":"3334d3f1","chunk-7c6b":"5240e052","chunk-7fe2":"458f9da5","chunk-2943":"8ab5d0d9","chunk-df62":"6c5105a6","chunk-4df4":"9655f394","chunk-7f8e":"c1eb619d",oAJy:"840fb1c2","chunk-16d0":"6ce78978","chunk-538a":"04530055"}[e]+".js"}(e),o=function(n){f.onerror=f.onload=null,clearTimeout(i);var t=u[e];if(0!==t){if(t){var r=n&&("load"===n.type?"missing":n.type),c=n&&n.target&&n.target.src,o=new Error("Loading chunk "+e+" failed.\n("+r+": "+c+")");o.type=r,o.request=c,t[1](o)}u[e]=void 0}};var i=setTimeout(function(){o({type:"timeout",target:f})},12e4);f.onerror=f.onload=o,document.head.appendChild(f)}return Promise.all(n)},a.m=e,a.c=r,a.d=function(e,n,t){a.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,n){if(1&n&&(e=a(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)a.d(t,r,function(n){return e[n]}.bind(null,r));return t},a.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(n,"a",n),n},a.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},a.p="",a.oe=function(e){throw console.error(e),e};var f=window.webpackJsonp=window.webpackJsonp||[],i=f.push.bind(f);f.push=n,f=f.slice();for(var d=0;d<f.length;d++)n(f[d]);var h=i;t()}([]);
-//# sourceMappingURL=runtime.46db235c.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/runtime.46db235c.js.map b/priv/static/adminfe/static/js/runtime.46db235c.js.map
deleted file mode 100644
index 33791c005..000000000
--- a/priv/static/adminfe/static/js/runtime.46db235c.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","runtime","exports","module","l","e","promises","chunk-23b2","chunk-0cb6","chunk-15fa","chunk-18e1","chunk-3d1c","chunk-7c6b","chunk-2943","chunk-4df4","chunk-7f8e","chunk-538a","Promise","resolve","reject","href","7zzA","JEtC","chunk-0620","chunk-7fe2","chunk-df62","oAJy","chunk-16d0","fullhref","p","existingLinkTags","document","getElementsByTagName","dataHref","tag","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","jsonpScriptSrc","clearTimeout","chunk","errorType","realSrc","error","undefined","setTimeout","head","all","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice"],"mappings":"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","file":"static/js/runtime.46db235c.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"runtime\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"7zzA\":\"e1ae1c94\",\"JEtC\":\"f9ba4594\",\"chunk-0620\":\"c765c190\",\"chunk-23b2\":\"442bb8df\",\"chunk-0cb6\":\"b9f32e0c\",\"chunk-15fa\":\"34dcb9d8\",\"chunk-18e1\":\"f8bb78f3\",\"chunk-3d1c\":\"3334d3f1\",\"chunk-7c6b\":\"5240e052\",\"chunk-7fe2\":\"458f9da5\",\"chunk-2943\":\"8ab5d0d9\",\"chunk-df62\":\"6c5105a6\",\"chunk-4df4\":\"9655f394\",\"chunk-7f8e\":\"c1eb619d\",\"oAJy\":\"840fb1c2\",\"chunk-16d0\":\"6ce78978\",\"chunk-538a\":\"04530055\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-23b2\":1,\"chunk-0cb6\":1,\"chunk-15fa\":1,\"chunk-18e1\":1,\"chunk-3d1c\":1,\"chunk-7c6b\":1,\"chunk-2943\":1,\"chunk-4df4\":1,\"chunk-7f8e\":1,\"chunk-538a\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"\" + ({}[chunkId]||chunkId) + \".\" + {\"7zzA\":\"31d6cfe0\",\"JEtC\":\"31d6cfe0\",\"chunk-0620\":\"31d6cfe0\",\"chunk-23b2\":\"723b6cc5\",\"chunk-0cb6\":\"8d811a09\",\"chunk-15fa\":\"6e185c68\",\"chunk-18e1\":\"5bd2ca85\",\"chunk-3d1c\":\"b2eb7234\",\"chunk-7c6b\":\"c7882778\",\"chunk-7fe2\":\"31d6cfe0\",\"chunk-2943\":\"1b6fd9a7\",\"chunk-df62\":\"31d6cfe0\",\"chunk-4df4\":\"e217dea0\",\"chunk-7f8e\":\"b6944d38\",\"oAJy\":\"31d6cfe0\",\"chunk-16d0\":\"31d6cfe0\",\"chunk-538a\":\"062aa087\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.request = request;\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\tvar error = new Error('Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')');\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""} \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/runtime.d6d1aaab.js b/priv/static/adminfe/static/js/runtime.d6d1aaab.js
new file mode 100644
index 000000000..ca1a91002
--- /dev/null
+++ b/priv/static/adminfe/static/js/runtime.d6d1aaab.js
@@ -0,0 +1,2 @@
+!function(e){function n(n){for(var r,c,a=n[0],f=n[1],i=n[2],d=0,l=[];d<a.length;d++)c=a[d],u[c]&&l.push(u[c][0]),u[c]=0;for(r in f)Object.prototype.hasOwnProperty.call(f,r)&&(e[r]=f[r]);for(h&&h(n);l.length;)l.shift()();return o.push.apply(o,i||[]),t()}function t(){for(var e,n=0;n<o.length;n++){for(var t=o[n],r=!0,c=1;c<t.length;c++){var f=t[c];0!==u[f]&&(r=!1)}r&&(o.splice(n--,1),e=a(a.s=t[0]))}return e}var r={},c={runtime:0},u={runtime:0},o=[];function a(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var n=[];c[e]?n.push(c[e]):0!==c[e]&&{"chunk-d01a":1,"chunk-15fa":1,"chunk-18e1":1,"chunk-1c46":1,"chunk-f3c9":1,"chunk-7de9":1,"chunk-0cc4":1,"chunk-7f8e":1,"chunk-a601":1,"chunk-9bb0":1}[e]&&n.push(c[e]=new Promise(function(n,t){for(var r=({}[e]||e)+"."+{"7zzA":"31d6cfe0",JEtC:"31d6cfe0",ZhIB:"31d6cfe0","chunk-d01a":"03fe0a3f","chunk-15fa":"2246593e","chunk-18e1":"ed715f8d","chunk-1c46":"f36071a4","chunk-7fe2":"31d6cfe0","chunk-f3c9":"155bfc51","chunk-df62":"31d6cfe0","chunk-7de9":"889d1da1","chunk-0cc4":"571d0025","chunk-7f8e":"d508c376","chunk-a601":"62c86eea",oAJy:"31d6cfe0","chunk-16d0":"31d6cfe0","chunk-9bb0":"2a82c722"}[e]+".css",c=a.p+r,u=document.getElementsByTagName("link"),o=0;o<u.length;o++){var f=(d=u[o]).getAttribute("data-href")||d.getAttribute("href");if("stylesheet"===d.rel&&(f===r||f===c))return n()}var i=document.getElementsByTagName("style");for(o=0;o<i.length;o++){var d;if((f=(d=i[o]).getAttribute("data-href"))===r||f===c)return n()}var h=document.createElement("link");h.rel="stylesheet",h.type="text/css",h.onload=n,h.onerror=function(n){var r=n&&n.target&&n.target.src||c,u=new Error("Loading CSS chunk "+e+" failed.\n("+r+")");u.request=r,t(u)},h.href=c,document.getElementsByTagName("head")[0].appendChild(h)}).then(function(){c[e]=0}));var t=u[e];if(0!==t)if(t)n.push(t[2]);else{var r=new Promise(function(n,r){t=u[e]=[n,r]});n.push(t[2]=r);var o,f=document.createElement("script");f.charset="utf-8",f.timeout=120,a.nc&&f.setAttribute("nonce",a.nc),f.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{"7zzA":"e1ae1c94",JEtC:"f9ba4594",ZhIB:"861df339","chunk-d01a":"970cf312","chunk-15fa":"10871dbf","chunk-18e1":"9f7c9b0f","chunk-1c46":"b92c7c1b","chunk-7fe2":"458f9da5","chunk-f3c9":"b3de53e2","chunk-df62":"6c5105a6","chunk-7de9":"7b8cda50","chunk-0cc4":"35b47d0a","chunk-7f8e":"2c3e63e9","chunk-a601":"cc880efe",oAJy:"840fb1c2","chunk-16d0":"6ce78978","chunk-9bb0":"9c56835f"}[e]+".js"}(e),o=function(n){f.onerror=f.onload=null,clearTimeout(i);var t=u[e];if(0!==t){if(t){var r=n&&("load"===n.type?"missing":n.type),c=n&&n.target&&n.target.src,o=new Error("Loading chunk "+e+" failed.\n("+r+": "+c+")");o.type=r,o.request=c,t[1](o)}u[e]=void 0}};var i=setTimeout(function(){o({type:"timeout",target:f})},12e4);f.onerror=f.onload=o,document.head.appendChild(f)}return Promise.all(n)},a.m=e,a.c=r,a.d=function(e,n,t){a.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,n){if(1&n&&(e=a(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)a.d(t,r,function(n){return e[n]}.bind(null,r));return t},a.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(n,"a",n),n},a.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},a.p="",a.oe=function(e){throw console.error(e),e};var f=window.webpackJsonp=window.webpackJsonp||[],i=f.push.bind(f);f.push=n,f=f.slice();for(var d=0;d<f.length;d++)n(f[d]);var h=i;t()}([]);
+//# sourceMappingURL=runtime.d6d1aaab.js.map \ No newline at end of file
diff --git a/priv/static/adminfe/static/js/runtime.d6d1aaab.js.map b/priv/static/adminfe/static/js/runtime.d6d1aaab.js.map
new file mode 100644
index 000000000..b938f1ba6
--- /dev/null
+++ b/priv/static/adminfe/static/js/runtime.d6d1aaab.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["webpack:///webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","runtime","exports","module","l","e","promises","chunk-d01a","chunk-15fa","chunk-18e1","chunk-1c46","chunk-f3c9","chunk-7de9","chunk-0cc4","chunk-7f8e","chunk-a601","chunk-9bb0","Promise","resolve","reject","href","7zzA","JEtC","ZhIB","chunk-7fe2","chunk-df62","oAJy","chunk-16d0","fullhref","p","existingLinkTags","document","getElementsByTagName","dataHref","tag","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","jsonpScriptSrc","clearTimeout","chunk","errorType","realSrc","error","undefined","setTimeout","head","all","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice"],"mappings":"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","file":"static/js/runtime.d6d1aaab.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"runtime\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"runtime\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"7zzA\":\"e1ae1c94\",\"JEtC\":\"f9ba4594\",\"ZhIB\":\"861df339\",\"chunk-d01a\":\"970cf312\",\"chunk-15fa\":\"10871dbf\",\"chunk-18e1\":\"9f7c9b0f\",\"chunk-1c46\":\"b92c7c1b\",\"chunk-7fe2\":\"458f9da5\",\"chunk-f3c9\":\"b3de53e2\",\"chunk-df62\":\"6c5105a6\",\"chunk-7de9\":\"7b8cda50\",\"chunk-0cc4\":\"35b47d0a\",\"chunk-7f8e\":\"2c3e63e9\",\"chunk-a601\":\"cc880efe\",\"oAJy\":\"840fb1c2\",\"chunk-16d0\":\"6ce78978\",\"chunk-9bb0\":\"9c56835f\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-d01a\":1,\"chunk-15fa\":1,\"chunk-18e1\":1,\"chunk-1c46\":1,\"chunk-f3c9\":1,\"chunk-7de9\":1,\"chunk-0cc4\":1,\"chunk-7f8e\":1,\"chunk-a601\":1,\"chunk-9bb0\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"\" + ({}[chunkId]||chunkId) + \".\" + {\"7zzA\":\"31d6cfe0\",\"JEtC\":\"31d6cfe0\",\"ZhIB\":\"31d6cfe0\",\"chunk-d01a\":\"03fe0a3f\",\"chunk-15fa\":\"2246593e\",\"chunk-18e1\":\"ed715f8d\",\"chunk-1c46\":\"f36071a4\",\"chunk-7fe2\":\"31d6cfe0\",\"chunk-f3c9\":\"155bfc51\",\"chunk-df62\":\"31d6cfe0\",\"chunk-7de9\":\"889d1da1\",\"chunk-0cc4\":\"571d0025\",\"chunk-7f8e\":\"d508c376\",\"chunk-a601\":\"62c86eea\",\"oAJy\":\"31d6cfe0\",\"chunk-16d0\":\"31d6cfe0\",\"chunk-9bb0\":\"2a82c722\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.request = request;\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\tvar error = new Error('Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')');\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""} \ No newline at end of file