From: FloatingGhost Date: Tue, 14 Jun 2022 16:10:31 +0000 (+0100) Subject: update pleroma-fe X-Git-Url: https://git.squeep.com/?a=commitdiff_plain;h=1f1c7363dfeb48433961d55a5e2088754638edf5;p=akkoma update pleroma-fe --- diff --git a/priv/static/index.html b/priv/static/index.html index 5a32014f4..ea41fd795 100644 --- a/priv/static/index.html +++ b/priv/static/index.html @@ -1 +1 @@ -Pleroma
\ No newline at end of file +Pleroma
\ No newline at end of file diff --git a/priv/static/static/js/2.eb2c361cdcbd8c4f7638.js b/priv/static/static/js/2.55d5f2926c7b22177236.js similarity index 55% rename from priv/static/static/js/2.eb2c361cdcbd8c4f7638.js rename to priv/static/static/js/2.55d5f2926c7b22177236.js index 046fcc4b4..97fa80653 100644 --- a/priv/static/static/js/2.eb2c361cdcbd8c4f7638.js +++ b/priv/static/static/js/2.55d5f2926c7b22177236.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{628:function(e,t,l){},629:function(e,t,l){},630:function(e,t,l){},631:function(e,t,l){},632:function(e,t,l){},633:function(e,t,l){},634:function(e,t,l){},635:function(e,t,l){},636:function(e,t,l){},637:function(e,t,l){},638:function(e,t,l){},639:function(e,t,l){},644:function(e,t,l){},645:function(e,t,l){},646:function(e,t,l){},647:function(e,t,l){},648:function(e,t,l){},649:function(e,t,l){},650:function(e,t,l){},651:function(e,t,l){},652:function(e,t,l){},653:function(e,t,l){},654:function(e,t,l){},656:function(e,t,l){"use strict";l(628)},657:function(e,t,l){"use strict";l(629)},658:function(e,t,l){"use strict";l(630)},659:function(e,t,l){"use strict";l(631)},660:function(e,t,l){"use strict";l(632)},661:function(e,t,l){"use strict";l(633)},662:function(e,t,l){"use strict";l(634)},663:function(e,t,l){},664:function(e,t,l){"use strict";l(635)},665:function(e,t,l){"use strict";l(636)},666:function(e,t,l){"use strict";l(637)},670:function(e,t,l){"use strict";l(638)},671:function(e,t,l){"use strict";l(639)},695:function(e,t,l){"use strict";l(644)},698:function(e,t,l){"use strict";l(645)},699:function(e,t,l){"use strict";l(646)},700:function(e,t,l){"use strict";l(647)},701:function(e,t,l){"use strict";l(648)},702:function(e,t,l){"use strict";l(649)},703:function(e,t,l){"use strict";l(650)},704:function(e,t,l){"use strict";l(651)},705:function(e,t,l){"use strict";l(652)},706:function(e,t,l){"use strict";l(653)},707:function(e,t,l){"use strict";l(654)},708:function(e,t,l){"use strict";l.r(t);var a=l(0);const n=["label"],s=["label"],o=["label"],c=["label"],i=["label"],r=["label"],b=["label"],u=["label"],d=["label"];var O=l(71);const p=["label"],j={class:"setting-item"},m={class:"setting-item"},h={class:"setting-item"},f={class:"setting-item"},g={class:"setting-item"},k={class:"setting-item"};var v=l(5),y=l.n(v);const w={class:"importer"},_={key:2},V=Object(a.l)(" "+Object(a.O)(" ")+" "),$={key:3},C=Object(a.l)(" "+Object(a.O)(" ")+" ");var T=l(6),x=l(3);T.c.add(x.r,x.rb);var L={props:{submitHandler:{type:Function,required:!0},submitButtonLabel:{type:String},successMessage:{type:String},errorMessage:{type:String}},data:function(){return{file:null,error:!1,success:!1,submitting:!1}},methods:{change:function(){this.file=this.$refs.input.files[0]},submit:function(){var e=this;this.dismiss(),this.submitting=!0,this.submitHandler(this.file).then((function(){e.success=!0})).catch((function(){e.error=!0})).finally((function(){e.submitting=!1}))},dismiss:function(){this.success=!1,this.error=!1}}},S=(l(656),l(4)),D=l.n(S);var P=D()(L,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("FAIcon");return Object(a.D)(),Object(a.j)("div",w,[Object(a.k)("form",null,[Object(a.k)("input",{ref:"input",type:"file",onChange:t[0]||(t[0]=(...t)=>e.change&&e.change(...t))},null,544)]),e.submitting?(Object(a.D)(),Object(a.h)(c,{key:0,class:"importer-uploading",spin:"",icon:"circle-notch"})):(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",onClick:t[1]||(t[1]=(...t)=>e.submit&&e.submit(...t))},Object(a.O)(e.submitButtonLabel||e.$t("importer.submit")),1)),e.success?(Object(a.D)(),Object(a.j)("div",_,[Object(a.k)("button",{class:"button-unstyled",onClick:t[2]||(t[2]=(...t)=>e.dismiss&&e.dismiss(...t))},[Object(a.m)(c,{icon:"times"})]),V,Object(a.k)("span",null,Object(a.O)(e.successMessage||e.$t("importer.success")),1)])):e.error?(Object(a.D)(),Object(a.j)("div",$,[Object(a.k)("button",{class:"button-unstyled",onClick:t[3]||(t[3]=(...t)=>e.dismiss&&e.dismiss(...t))},[Object(a.m)(c,{icon:"times"})]),C,Object(a.k)("span",null,Object(a.O)(e.errorMessage||e.$t("importer.error")),1)])):Object(a.i)("",!0)])}]]);const U={class:"exporter"},I={key:0};T.c.add(x.r);var B={props:{getContent:{type:Function,required:!0},filename:{type:String,default:"export.csv"},exportButtonLabel:{type:String},processingMessage:{type:String}},data:function(){return{processing:!1}},methods:{process:function(){var e=this;this.processing=!0,this.getContent().then((function(t){var l=document.createElement("a");l.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(t)),l.setAttribute("download",e.filename),l.style.display="none",document.body.appendChild(l),l.click(),document.body.removeChild(l),setTimeout((function(){e.processing=!1}),2e3)}))}}};l(657);var F=D()(B,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("FAIcon");return Object(a.D)(),Object(a.j)("div",U,[e.processing?(Object(a.D)(),Object(a.j)("div",I,[Object(a.m)(c,{icon:"circle-notch",size:"lg",spin:""}),Object(a.k)("span",null,Object(a.O)(e.processingMessage||e.$t("exporter.processing")),1)])):(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",onClick:t[0]||(t[0]=(...t)=>e.process&&e.process(...t))},Object(a.O)(e.exportButtonLabel||e.$t("exporter.export")),1))])}]]),E=l(51),M=l(8);function A(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}var R={data:function(){return{activeTab:"profile",newDomainToMute:""}},created:function(){this.$store.dispatch("fetchTokens")},components:{Importer:P,Exporter:F,Checkbox:E.a},computed:function(e){for(var t=1;te.term=t),placeholder:e.placeholder,class:"autosuggest-input",onClick:t[1]||(t[1]=(...t)=>e.onInputClick&&e.onInputClick(...t))},null,8,oe),[[a.S,e.term]]),e.resultsVisible&&e.filtered.length>0?(Object(a.D)(),Object(a.j)("div",ce,[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.filtered,t=>Object(a.I)(e.$slots,"default",{item:t})),256))])):Object(a.i)("",!0)])),[[c,e.onClickOutside]])}]]);const be={class:"block-card-content-container"},ue=["disabled"],de=["disabled"];var Oe=l(53),pe={props:["userId"],data:function(){return{progress:!1}},computed:{user:function(){return this.$store.getters.findUser(this.userId)},relationship:function(){return this.$store.getters.relationship(this.userId)},blocked:function(){return this.relationship.blocking}},components:{BasicUserCard:Oe.a},methods:{unblockUser:function(){var e=this;this.progress=!0,this.$store.dispatch("unblockUser",this.user.id).then((function(){e.progress=!1}))},blockUser:function(){var e=this;this.progress=!0,this.$store.dispatch("blockUser",this.user.id).then((function(){e.progress=!1}))}}};l(659);var je=D()(pe,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("basic-user-card");return Object(a.D)(),Object(a.h)(c,{user:e.user},{default:Object(a.V)(()=>[Object(a.k)("div",be,[e.blocked?(Object(a.D)(),Object(a.j)("button",{key:0,class:"btn button-default",disabled:e.progress,onClick:t[0]||(t[0]=(...t)=>e.unblockUser&&e.unblockUser(...t))},[e.progress?(Object(a.D)(),Object(a.j)(a.a,{key:0},[Object(a.l)(Object(a.O)(e.$t("user_card.unblock_progress")),1)],64)):(Object(a.D)(),Object(a.j)(a.a,{key:1},[Object(a.l)(Object(a.O)(e.$t("user_card.unblock")),1)],64))],8,ue)):(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",disabled:e.progress,onClick:t[1]||(t[1]=(...t)=>e.blockUser&&e.blockUser(...t))},[e.progress?(Object(a.D)(),Object(a.j)(a.a,{key:0},[Object(a.l)(Object(a.O)(e.$t("user_card.block_progress")),1)],64)):(Object(a.D)(),Object(a.j)(a.a,{key:1},[Object(a.l)(Object(a.O)(e.$t("user_card.block")),1)],64))],8,de))])]),_:1},8,["user"])}]]);const me={class:"mute-card-content-container"},he=["disabled"],fe=["disabled"];var ge={props:["userId"],data:function(){return{progress:!1}},computed:{user:function(){return this.$store.getters.findUser(this.userId)},relationship:function(){return this.$store.getters.relationship(this.userId)},muted:function(){return this.relationship.muting}},components:{BasicUserCard:Oe.a},methods:{unmuteUser:function(){var e=this;this.progress=!0,this.$store.dispatch("unmuteUser",this.userId).then((function(){e.progress=!1}))},muteUser:function(){var e=this;this.progress=!0,this.$store.dispatch("muteUser",this.userId).then((function(){e.progress=!1}))}}};l(660);var ke=D()(ge,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("basic-user-card");return Object(a.D)(),Object(a.h)(c,{user:e.user},{default:Object(a.V)(()=>[Object(a.k)("div",me,[e.muted?(Object(a.D)(),Object(a.j)("button",{key:0,class:"btn button-default",disabled:e.progress,onClick:t[0]||(t[0]=(...t)=>e.unmuteUser&&e.unmuteUser(...t))},[e.progress?(Object(a.D)(),Object(a.j)(a.a,{key:0},[Object(a.l)(Object(a.O)(e.$t("user_card.unmute_progress")),1)],64)):(Object(a.D)(),Object(a.j)(a.a,{key:1},[Object(a.l)(Object(a.O)(e.$t("user_card.unmute")),1)],64))],8,he)):(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",disabled:e.progress,onClick:t[1]||(t[1]=(...t)=>e.muteUser&&e.muteUser(...t))},[e.progress?(Object(a.D)(),Object(a.j)(a.a,{key:0},[Object(a.l)(Object(a.O)(e.$t("user_card.mute_progress")),1)],64)):(Object(a.D)(),Object(a.j)(a.a,{key:1},[Object(a.l)(Object(a.O)(e.$t("user_card.mute")),1)],64))],8,fe))])]),_:1},8,["user"])}]]);const ve={class:"domain-mute-card"},ye={class:"domain-mute-card-domain"};var we=l(104),_e={props:["domain"],components:{ProgressButton:we.a},computed:{user:function(){return this.$store.state.users.currentUser},muted:function(){return this.user.domainMutes.includes(this.domain)}},methods:{unmuteDomain:function(){return this.$store.dispatch("unmuteDomain",this.domain)},muteDomain:function(){return this.$store.dispatch("muteDomain",this.domain)}}};l(661);var Ve=D()(_e,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("ProgressButton");return Object(a.D)(),Object(a.j)("div",ve,[Object(a.k)("div",ye,Object(a.O)(e.domain),1),e.muted?(Object(a.D)(),Object(a.h)(c,{key:0,click:e.unmuteDomain,class:"btn button-default"},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("domain_mute_card.unmute_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("domain_mute_card.unmute"))+" ",1)]),_:1},8,["click"])):(Object(a.D)(),Object(a.h)(c,{key:1,click:e.muteDomain,class:"btn button-default"},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("domain_mute_card.mute_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("domain_mute_card.mute"))+" ",1)]),_:1},8,["click"]))])}]]);const $e={class:"selectable-list"},Ce={key:0,class:"selectable-list-header"},Te={class:"selectable-list-checkbox-wrapper"},xe={class:"selectable-list-header-actions"},Le={class:"selectable-list-checkbox-wrapper"};var Se={components:{List:l(69).a,Checkbox:E.a},props:{items:{type:Array,default:function(){return[]}},getKey:{type:Function,default:function(e){return e.id}}},data:function(){return{selected:[]}},computed:{allKeys:function(){return this.items.map(this.getKey)},filteredSelected:function(){var e=this;return this.allKeys.filter((function(t){return-1!==e.selected.indexOf(t)}))},allSelected:function(){return this.filteredSelected.length===this.items.length},noneSelected:function(){return 0===this.filteredSelected.length},someSelected:function(){return!this.allSelected&&!this.noneSelected}},methods:{isSelected:function(e){return-1!==this.filteredSelected.indexOf(this.getKey(e))},toggle:function(e,t){var l=this.getKey(t);e!==this.isSelected(l)&&(e?this.selected.push(l):this.selected.splice(this.selected.indexOf(l),1))},toggleAll:function(e){this.selected=e?this.allKeys.slice(0):[]}}};l(662);var De=D()(Se,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("Checkbox"),i=Object(a.J)("List");return Object(a.D)(),Object(a.j)("div",$e,[e.items.length>0?(Object(a.D)(),Object(a.j)("div",Ce,[Object(a.k)("div",Te,[Object(a.m)(c,{"model-value":e.allSelected,indeterminate:e.someSelected,"onUpdate:modelValue":e.toggleAll},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("selectable_list.select_all")),1)]),_:1},8,["model-value","indeterminate","onUpdate:modelValue"])]),Object(a.k)("div",xe,[Object(a.I)(e.$slots,"header",{selected:e.filteredSelected})])])):Object(a.i)("",!0),Object(a.m)(i,{items:e.items,"get-key":e.getKey},{item:Object(a.V)(({item:t})=>[Object(a.k)("div",{class:Object(a.w)(["selectable-list-item-inner",{"selectable-list-item-selected-inner":e.isSelected(t)}])},[Object(a.k)("div",Le,[Object(a.m)(c,{"model-value":e.isSelected(t),"onUpdate:modelValue":l=>e.toggle(l,t)},null,8,["model-value","onUpdate:modelValue"])]),Object(a.I)(e.$slots,"item",{item:t})],2)]),empty:Object(a.V)(()=>[Object(a.I)(e.$slots,"empty")]),_:3},8,["items","get-key"])])}]]),Pe=l(12),Ue=l.n(Pe),Ie=l(300),Be=l.n(Ie),Fe=l(301),Ee=(l(663),l(68));function Me(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function Ae(e){for(var t=1;t[Object(a.k)("div",{label:e.$t("settings.blocks_tab")},[Object(a.k)("div",N,[Object(a.m)(i,{filter:e.filterUnblockedUsers,query:e.queryUserIds,placeholder:e.$t("settings.search_user_to_block")},{default:Object(a.V)(e=>[Object(a.m)(c,{"user-id":e.item},null,8,["user-id"])]),_:1},8,["filter","query","placeholder"])]),Object(a.m)(b,{refresh:!0,"get-key":e=>e},{header:Object(a.V)(({selected:t})=>[Object(a.k)("div",q,[t.length>0?(Object(a.D)(),Object(a.h)(r,{key:0,class:"btn button-default bulk-action-button",click:()=>e.blockUsers(t)},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.block_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.block"))+" ",1)]),_:2},1032,["click"])):Object(a.i)("",!0),t.length>0?(Object(a.D)(),Object(a.h)(r,{key:1,class:"btn button-default",click:()=>e.unblockUsers(t)},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.unblock_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.unblock"))+" ",1)]),_:2},1032,["click"])):Object(a.i)("",!0)])]),item:Object(a.V)(({item:e})=>[Object(a.m)(c,{"user-id":e},null,8,["user-id"])]),empty:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.no_blocks")),1)]),_:1},8,["get-key"])],8,J),Object(a.k)("div",{label:e.$t("settings.mutes_tab")},[Object(a.m)(j,null,{default:Object(a.V)(()=>[Object(a.k)("div",H,[Object(a.k)("div",z,[Object(a.m)(i,{filter:e.filterUnMutedUsers,query:e.queryUserIds,placeholder:e.$t("settings.search_user_to_mute")},{default:Object(a.V)(e=>[Object(a.m)(u,{"user-id":e.item},null,8,["user-id"])]),_:1},8,["filter","query","placeholder"])]),Object(a.m)(d,{refresh:!0,"get-key":e=>e},{header:Object(a.V)(({selected:t})=>[Object(a.k)("div",K,[t.length>0?(Object(a.D)(),Object(a.h)(r,{key:0,class:"btn button-default",click:()=>e.muteUsers(t)},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.mute_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.mute"))+" ",1)]),_:2},1032,["click"])):Object(a.i)("",!0),t.length>0?(Object(a.D)(),Object(a.h)(r,{key:1,class:"btn button-default",click:()=>e.unmuteUsers(t)},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.unmute_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.unmute"))+" ",1)]),_:2},1032,["click"])):Object(a.i)("",!0)])]),item:Object(a.V)(({item:e})=>[Object(a.m)(u,{"user-id":e},null,8,["user-id"])]),empty:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.no_mutes")),1)]),_:1},8,["get-key"])]),Object(a.k)("div",{label:e.$t("settings.domain_mutes")},[Object(a.k)("div",Z,[Object(a.m)(i,{filter:e.filterUnMutedDomains,query:e.queryKnownDomains,placeholder:e.$t("settings.type_domains_to_mute")},{default:Object(a.V)(e=>[Object(a.m)(O,{domain:e.item},null,8,["domain"])]),_:1},8,["filter","query","placeholder"])]),Object(a.m)(p,{refresh:!0,"get-key":e=>e},{header:Object(a.V)(({selected:t})=>[Object(a.k)("div",Q,[t.length>0?(Object(a.D)(),Object(a.h)(r,{key:0,class:"btn button-default",click:()=>e.unmuteDomains(t)},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("domain_mute_card.unmute_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("domain_mute_card.unmute"))+" ",1)]),_:2},1032,["click"])):Object(a.i)("",!0)])]),item:Object(a.V)(({item:e})=>[Object(a.m)(O,{domain:e},null,8,["domain"])]),empty:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.no_mutes")),1)]),_:1},8,["get-key"])],8,Y)]),_:1})],8,G)]),_:1})}]]);const He=["label"],ze={class:"setting-item"},Ke={class:"setting-list"},Ye={class:"select-multiple"},Ze={class:"label"},Qe={class:"option-list"},Xe={key:0,class:"setting-item"},et={class:"setting-list"},tt={class:"setting-item"};const lt={key:0,class:"BooleanSetting"},at={key:0,class:"label"},nt=Object(a.l)(" "+Object(a.O)(" ")+" ");var st=l(625),ot=l.n(st),ct=l(39),it=l.n(ct);const rt={key:0,class:"ModifiedIndicator"},bt=Object(a.l)("   "),ut={class:"modified-tooltip"};var dt=l(24);T.c.add(x.yb);var Ot={components:{Popover:dt.default},props:["changed"]};l(665);var pt=D()(Ot,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("FAIcon"),i=Object(a.J)("Popover");return l.changed?(Object(a.D)(),Object(a.j)("span",rt,[Object(a.m)(i,{trigger:"hover"},{trigger:Object(a.V)(()=>[bt,Object(a.m)(c,{icon:"wrench","aria-label":e.$t("settings.setting_changed")},null,8,["aria-label"])]),content:Object(a.V)(()=>[Object(a.k)("div",ut,Object(a.O)(e.$t("settings.setting_changed")),1)]),_:1})])):Object(a.i)("",!0)}]]);const jt={key:0,class:"ServerSideIndicator"},mt=Object(a.l)("   "),ht={class:"serverside-tooltip"};T.c.add(x.eb);var ft={components:{Popover:dt.default},props:["serverSide"]};l(666);var gt=D()(ft,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("FAIcon"),i=Object(a.J)("Popover");return l.serverSide?(Object(a.D)(),Object(a.j)("span",jt,[Object(a.m)(i,{trigger:"hover"},{trigger:Object(a.V)(()=>[mt,Object(a.m)(c,{icon:"server","aria-label":e.$t("settings.setting_server_side")},null,8,["aria-label"])]),content:Object(a.V)(()=>[Object(a.k)("div",ht,Object(a.O)(e.$t("settings.setting_server_side")),1)]),_:1})])):Object(a.i)("",!0)}]]),kt={components:{Checkbox:E.a,ModifiedIndicator:pt,ServerSideIndicator:gt},props:["path","disabled","expert"],computed:{pathDefault:function(){var e=this.path.split("."),t=ot()(e),l=t[0],a=t.slice(1);return[l+"DefaultValue"].concat(Ue()(a)).join(".")},state:function(){var e=ee()(this.$parent,this.path);return void 0===e?this.defaultState:e},defaultState:function(){return ee()(this.$parent,this.pathDefault)},isServerSide:function(){return this.path.startsWith("serverSide_")},isChanged:function(){return!this.path.startsWith("serverSide_")&&this.state!==this.defaultState},matchesExpertLevel:function(){return(this.expert||0)<=this.$parent.expertLevel}},methods:{update:function(e){it()(this.$parent,this.path,e)}}};var vt=D()(kt,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("ModifiedIndicator"),i=Object(a.J)("ServerSideIndicator"),r=Object(a.J)("Checkbox");return e.matchesExpertLevel?(Object(a.D)(),Object(a.j)("label",lt,[Object(a.m)(r,{"model-value":e.state,disabled:e.disabled,"onUpdate:modelValue":e.update},{default:Object(a.V)(()=>[e.$slots.default?(Object(a.D)(),Object(a.j)("span",at,[Object(a.I)(e.$slots,"default")])):Object(a.i)("",!0),nt,Object(a.m)(c,{changed:e.isChanged},null,8,["changed"]),Object(a.m)(i,{"server-side":e.isServerSide},null,8,["server-side"])]),_:3},8,["model-value","disabled","onUpdate:modelValue"])])):Object(a.i)("",!0)}]]),yt=l(11),wt=l.n(yt),_t=l(121),Vt=l(220);function $t(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function Ct(e){for(var t=1;t[Object(a.l)(Object(a.O)(e.$t("settings.notification_setting_block_from_strangers")),1)]),_:1})]),Object(a.k)("li",Ye,[Object(a.k)("span",Ze,Object(a.O)(e.$t("settings.notification_visibility")),1),Object(a.k)("ul",Qe,[Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.likes"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_likes")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.repeats"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_repeats")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.follows"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_follows")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.mentions"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_mentions")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.moves"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_moves")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.emojiReactions"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_emoji_reactions")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.polls"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_polls")),1)]),_:1})])])])])]),e.expertLevel>0?(Object(a.D)(),Object(a.j)("div",Xe,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.notification_setting_privacy")),1),Object(a.k)("ul",et,[Object(a.k)("li",null,[Object(a.m)(c,{path:"webPushNotifications",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.enable_web_push_notifications")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"serverSide_webPushHideContents",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_setting_hide_notification_contents")),1)]),_:1})])])])):Object(a.i)("",!0),Object(a.k)("div",tt,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.notification_mutes")),1),Object(a.k)("p",null,Object(a.O)(e.$t("settings.notification_blocks")),1)])],8,He)}]]);const Dt=["label"],Pt={class:"setting-item"},Ut={class:"setting-list"},It={key:0,class:"setting-item"},Bt={class:"setting-list"};var Ft=l(667),Et=l.n(Ft),Mt=l(49),At=l.n(Mt);const Rt={key:0,class:"ChoiceSetting"},Wt=Object(a.l)(" "+Object(a.O)(" ")+" "),Jt=["value"];var Nt=l(52),qt={components:{Select:Nt.a,ModifiedIndicator:pt,ServerSideIndicator:gt},props:["path","disabled","options","expert"],computed:{pathDefault:function(){var e=this.path.split("."),t=ot()(e),l=t[0],a=t.slice(1);return[l+"DefaultValue"].concat(Ue()(a)).join(".")},state:function(){var e=ee()(this.$parent,this.path);return void 0===e?this.defaultState:e},defaultState:function(){return ee()(this.$parent,this.pathDefault)},isServerSide:function(){return this.path.startsWith("serverSide_")},isChanged:function(){return!this.path.startsWith("serverSide_")&&this.state!==this.defaultState},matchesExpertLevel:function(){return(this.expert||0)<=this.$parent.expertLevel}},methods:{update:function(e){it()(this.$parent,this.path,e)}}};l(670);var Gt=D()(qt,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("Select"),i=Object(a.J)("ModifiedIndicator"),r=Object(a.J)("ServerSideIndicator");return e.matchesExpertLevel?(Object(a.D)(),Object(a.j)("label",Rt,[Object(a.I)(e.$slots,"default"),Wt,Object(a.m)(c,{"model-value":e.state,disabled:e.disabled,"onUpdate:modelValue":e.update},{default:Object(a.V)(()=>[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.options,t=>(Object(a.D)(),Object(a.j)("option",{key:t.key,value:t.value},Object(a.O)(t.label)+" "+Object(a.O)(t.value===e.defaultState?e.$t("settings.instance_default_simple"):""),9,Jt))),128))]),_:1},8,["model-value","disabled","onUpdate:modelValue"]),Object(a.m)(i,{changed:e.isChanged},null,8,["changed"]),Object(a.m)(r,{"server-side":e.isServerSide},null,8,["server-side"])])):Object(a.i)("",!0)}]]);const Ht={key:0,class:"IntegerSetting"},zt=["for"],Kt=["id","disabled","min","value"],Yt=Object(a.l)(" "+Object(a.O)(" ")+" ");var Zt={components:{ModifiedIndicator:pt},props:{path:String,disabled:Boolean,min:Number,expert:[Number,String]},computed:{pathDefault:function(){var e=this.path.split("."),t=ot()(e),l=t[0],a=t.slice(1);return[l+"DefaultValue"].concat(Ue()(a)).join(".")},state:function(){var e=ee()(this.$parent,this.path);return void 0===e?this.defaultState:e},defaultState:function(){return ee()(this.$parent,this.pathDefault)},isChanged:function(){return this.state!==this.defaultState},matchesExpertLevel:function(){return(this.expert||0)<=this.$parent.expertLevel}},methods:{update:function(e){it()(this.$parent,this.path,parseInt(e.target.value))}}};var Qt=D()(Zt,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("ModifiedIndicator");return e.matchesExpertLevel?(Object(a.D)(),Object(a.j)("span",Ht,[Object(a.k)("label",{for:e.path},[Object(a.I)(e.$slots,"default")],8,zt),Object(a.k)("input",{id:e.path,class:"number-input",type:"number",step:"1",disabled:e.disabled,min:e.min||0,value:e.state,onChange:t[0]||(t[0]=(...t)=>e.update&&e.update(...t))},null,40,Kt),Yt,Object(a.m)(c,{changed:e.isChanged},null,8,["changed"])])):Object(a.i)("",!0)}]]);function Xt(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function el(e){for(var t=1;t0}))})}}}),watch:{notificationVisibility:{handler:function(e){this.$store.dispatch("setOption",{name:"notificationVisibility",value:this.$store.getters.mergedConfig.notificationVisibility})},deep:!0},replyVisibility:function(){this.$store.dispatch("queueFlushAll")}}};var ll=D()(tl,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("BooleanSetting"),i=Object(a.J)("ChoiceSetting"),r=Object(a.J)("IntegerSetting");return Object(a.D)(),Object(a.j)("div",{label:e.$t("settings.filtering")},[Object(a.k)("div",Pt,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.posts")),1),Object(a.k)("ul",Ut,[Object(a.k)("li",null,[Object(a.m)(c,{path:"hideFilteredStatuses"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_filtered_statuses")),1)]),_:1}),Object(a.k)("ul",{class:Object(a.w)(["setting-list suboptions",[{disabled:!e.streaming}]])},[Object(a.k)("li",null,[Object(a.m)(c,{disabled:e.hideFilteredStatuses,path:"hideWordFilteredPosts"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_wordfiltered_statuses")),1)]),_:1},8,["disabled"])]),Object(a.k)("li",null,[e.user?(Object(a.D)(),Object(a.h)(c,{key:0,disabled:e.hideFilteredStatuses,path:"hideMutedThreads"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_muted_threads")),1)]),_:1},8,["disabled"])):Object(a.i)("",!0)]),Object(a.k)("li",null,[e.user?(Object(a.D)(),Object(a.h)(c,{key:0,disabled:e.hideFilteredStatuses,path:"hideMutedPosts"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_muted_posts")),1)]),_:1},8,["disabled"])):Object(a.i)("",!0)])],2)]),Object(a.k)("li",null,[Object(a.m)(c,{path:"muteBotStatuses"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.mute_bot_posts")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"hidePostStats"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_post_stats")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"hideBotIndication"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_bot_indication")),1)]),_:1})]),e.user?(Object(a.D)(),Object(a.h)(i,{key:0,id:"replyVisibility",path:"replyVisibility",options:e.replyVisibilityOptions},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.replies_in_timeline")),1)]),_:1},8,["options"])):Object(a.i)("",!0),Object(a.k)("li",null,[Object(a.k)("h3",null,Object(a.O)(e.$t("settings.wordfilter")),1),Object(a.W)(Object(a.k)("textarea",{id:"muteWords","onUpdate:modelValue":t[0]||(t[0]=t=>e.muteWordsString=t),class:"resize-height"},null,512),[[a.S,e.muteWordsString]]),Object(a.k)("div",null,Object(a.O)(e.$t("settings.filtering_explanation")),1)]),Object(a.k)("h3",null,Object(a.O)(e.$t("settings.attachments")),1),Object(a.k)("li",null,[Object(a.m)(r,{path:"maxThumbnails",expert:"1",min:0},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.max_thumbnails")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"hideAttachments"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_attachments_in_tl")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"hideAttachmentsInConv"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_attachments_in_convo")),1)]),_:1})])])]),e.expertLevel>0?(Object(a.D)(),Object(a.j)("div",It,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.user_profiles")),1),Object(a.k)("ul",Bt,[Object(a.k)("li",null,[Object(a.m)(c,{path:"hideUserStats"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_user_stats")),1)]),_:1})])])])):Object(a.i)("",!0)],8,Dt)}]]);const al=["label"],nl={class:"setting-item"},sl={key:0},ol={class:"setting-item"},cl={key:0},il={key:1},rl={key:2},bl={class:"setting-item"},ul={class:"oauth-tokens"},dl=Object(a.k)("th",null,null,-1),Ol={class:"actions"},pl=["onClick"],jl={class:"setting-item"},ml={key:0},hl={key:1},fl={key:2},gl={key:3};const kl={key:0,class:"setting-item mfa-settings"},vl={class:"mfa-heading"},yl={key:0,class:"setting-item"},wl=Object(a.k)("br",null,null,-1),_l={key:0},Vl={key:2},$l={class:"warning"},Cl={key:1},Tl={key:0},xl={key:1},Ll={class:"setup-otp"},Sl={class:"qr-code"},Dl={class:"verify"},Pl={class:"confirm-otp-actions"},Ul={key:0,class:"alert error"};var Il=l(13),Bl=l.n(Il),Fl=l(10),El=l.n(Fl);const Ml={class:"mfa-backup-codes"},Al={key:0},Rl={key:1},Wl={class:"alert warning"},Jl={class:"backup-codes"};var Nl={props:{backupCodes:{type:Object,default:function(){return{inProgress:!1,codes:[]}}}},data:function(){return{}},computed:{inProgress:function(){return this.backupCodes.inProgress},ready:function(){return this.backupCodes.codes.length>0},displayTitle:function(){return this.inProgress||this.ready}}};l(671);var ql=D()(Nl,[["render",function(e,t,l,n,s,o){return Object(a.D)(),Object(a.j)("div",Ml,[e.displayTitle?(Object(a.D)(),Object(a.j)("h4",Al,Object(a.O)(e.$t("settings.mfa.recovery_codes")),1)):Object(a.i)("",!0),e.inProgress?(Object(a.D)(),Object(a.j)("i",Rl,Object(a.O)(e.$t("settings.mfa.waiting_a_recovery_codes")),1)):Object(a.i)("",!0),e.ready?(Object(a.D)(),Object(a.j)(a.a,{key:2},[Object(a.k)("p",Wl,Object(a.O)(e.$t("settings.mfa.recovery_codes_warning")),1),Object(a.k)("ul",Jl,[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.backupCodes.codes,e=>(Object(a.D)(),Object(a.j)("li",{key:e},Object(a.O)(e),1))),128))])],64)):Object(a.i)("",!0)])}]]);const Gl={class:"method-item"},Hl=["disabled"],zl={key:1,class:"alert error"};const Kl=["disabled"],Yl=["disabled"];var Zl={props:["disabled"],data:function(){return{}},methods:{confirm:function(){this.$emit("confirm")},cancel:function(){this.$emit("cancel")}}};var Ql=D()(Zl,[["render",function(e,t,l,n,s,o){return Object(a.D)(),Object(a.j)("div",null,[Object(a.I)(e.$slots,"default"),Object(a.k)("button",{class:"btn button-default",disabled:e.disabled,onClick:t[0]||(t[0]=(...t)=>e.confirm&&e.confirm(...t))},Object(a.O)(e.$t("general.confirm")),9,Kl),Object(a.k)("button",{class:"btn button-default",disabled:e.disabled,onClick:t[1]||(t[1]=(...t)=>e.cancel&&e.cancel(...t))},Object(a.O)(e.$t("general.cancel")),9,Yl)])}]]);function Xl(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}var ea={props:["settings"],data:function(){return{error:!1,currentPassword:"",deactivate:!1,inProgress:!1}},components:{confirm:Ql},computed:function(e){for(var t=1;te.doActivate&&e.doActivate(...t))},Object(a.O)(e.$t("general.enable")),1)),e.isActivated?(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",disabled:e.deactivate,onClick:t[1]||(t[1]=(...t)=>e.doDeactivate&&e.doDeactivate(...t))},Object(a.O)(e.$t("general.disable")),9,Hl)):Object(a.i)("",!0)]),e.deactivate?(Object(a.D)(),Object(a.h)(c,{key:0,disabled:e.inProgress,onConfirm:e.confirmDeactivate,onCancel:e.cancelDeactivate},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.enter_current_password_to_confirm"))+": ",1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[2]||(t[2]=t=>e.currentPassword=t),type:"password"},null,512),[[a.S,e.currentPassword]])]),_:1},8,["disabled","onConfirm","onCancel"])):Object(a.i)("",!0),e.error?(Object(a.D)(),Object(a.j)("div",zl,Object(a.O)(e.error),1)):Object(a.i)("",!0)])}]]),qrcode:l(672).a,confirm:Ql},computed:function(e){for(var t=1;t0},confirmNewBackupCodes:function(){return this.backupCodes.getNewCodes}},Object(M.e)({backendInteractor:function(e){return e.api.backendInteractor}})),methods:{activateOTP:function(){this.settings.enabled||(this.setupState.state="getBackupcodes",this.fetchBackupCodes())},fetchBackupCodes:function(){var e=this;return this.backupCodes.inProgress=!0,this.backupCodes.codes=[],this.backendInteractor.generateMfaBackupCodes().then((function(t){e.backupCodes.codes=t.codes,e.backupCodes.inProgress=!1}))},getBackupCodes:function(){this.backupCodes.getNewCodes=!0},confirmBackupCodes:function(){var e=this;this.fetchBackupCodes().then((function(t){e.backupCodes.getNewCodes=!1}))},cancelBackupCodes:function(){this.backupCodes.getNewCodes=!1},setupOTP:function(){var e=this;this.setupState.state="setupOTP",this.setupState.setupOTPState="prepare",this.backendInteractor.mfaSetupOTP().then((function(t){e.otpSettings=t,e.setupState.setupOTPState="confirm"}))},doConfirmOTP:function(){var e=this;this.error=null,this.backendInteractor.mfaConfirmOTP({token:this.otpConfirmToken,password:this.currentPassword}).then((function(t){t.error?e.error=t.error:e.completeSetup()}))},completeSetup:function(){this.setupState.setupOTPState="complete",this.setupState.state="complete",this.currentPassword=null,this.error=null,this.fetchSettings()},cancelSetup:function(){this.setupState.setupOTPState="",this.setupState.state="",this.currentPassword=null,this.error=null},fetchSettings:function(){var e=this;return Bl()(El.a.mark((function t(){var l;return El.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.backendInteractor.settingsMFA();case 2:if(!(l=t.sent).error){t.next=5;break}return t.abrupt("return");case 5:return e.settings=l.settings,e.settings.available=!0,t.abrupt("return",l);case 8:case"end":return t.stop()}}),t)})))()}},mounted:function(){var e=this;this.fetchSettings().then((function(){e.readyInit=!0}))}};l(695);var aa=D()(la,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("totp-item"),i=Object(a.J)("recovery-codes"),r=Object(a.J)("confirm"),b=Object(a.J)("qrcode");return e.readyInit&&e.settings.available?(Object(a.D)(),Object(a.j)("div",kl,[Object(a.k)("div",vl,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.mfa.title")),1)]),Object(a.k)("div",null,[e.setupInProgress?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("div",yl,[Object(a.k)("h3",null,Object(a.O)(e.$t("settings.mfa.authentication_methods")),1),Object(a.m)(c,{settings:e.settings,onDeactivate:e.fetchSettings,onActivate:e.activateOTP},null,8,["settings","onDeactivate","onActivate"]),wl,e.settings.enabled?(Object(a.D)(),Object(a.j)("div",_l,[e.confirmNewBackupCodes?Object(a.i)("",!0):(Object(a.D)(),Object(a.h)(i,{key:0,"backup-codes":e.backupCodes},null,8,["backup-codes"])),e.confirmNewBackupCodes?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",onClick:t[0]||(t[0]=(...t)=>e.getBackupCodes&&e.getBackupCodes(...t))},Object(a.O)(e.$t("settings.mfa.generate_new_recovery_codes")),1)),e.confirmNewBackupCodes?(Object(a.D)(),Object(a.j)("div",Vl,[Object(a.m)(r,{disabled:e.backupCodes.inProgress,onConfirm:e.confirmBackupCodes,onCancel:e.cancelBackupCodes},{default:Object(a.V)(()=>[Object(a.k)("p",$l,Object(a.O)(e.$t("settings.mfa.warning_of_generate_new_codes")),1)]),_:1},8,["disabled","onConfirm","onCancel"])])):Object(a.i)("",!0)])):Object(a.i)("",!0)])),e.setupInProgress?(Object(a.D)(),Object(a.j)("div",Cl,[Object(a.k)("h3",null,Object(a.O)(e.$t("settings.mfa.setup_otp")),1),e.setupOTPInProgress?Object(a.i)("",!0):(Object(a.D)(),Object(a.h)(i,{key:0,"backup-codes":e.backupCodes},null,8,["backup-codes"])),e.canSetupOTP?(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",onClick:t[1]||(t[1]=(...t)=>e.cancelSetup&&e.cancelSetup(...t))},Object(a.O)(e.$t("general.cancel")),1)):Object(a.i)("",!0),e.canSetupOTP?(Object(a.D)(),Object(a.j)("button",{key:2,class:"btn button-default",onClick:t[2]||(t[2]=(...t)=>e.setupOTP&&e.setupOTP(...t))},Object(a.O)(e.$t("settings.mfa.setup_otp")),1)):Object(a.i)("",!0),e.setupOTPInProgress?(Object(a.D)(),Object(a.j)(a.a,{key:3},[e.prepareOTP?(Object(a.D)(),Object(a.j)("i",Tl,Object(a.O)(e.$t("settings.mfa.wait_pre_setup_otp")),1)):Object(a.i)("",!0),e.confirmOTP?(Object(a.D)(),Object(a.j)("div",xl,[Object(a.k)("div",Ll,[Object(a.k)("div",Sl,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.mfa.scan.title")),1),Object(a.k)("p",null,Object(a.O)(e.$t("settings.mfa.scan.desc")),1),Object(a.m)(b,{value:e.otpSettings.provisioning_uri,options:{width:200}},null,8,["value"]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.mfa.scan.secret_code"))+": "+Object(a.O)(e.otpSettings.key),1)]),Object(a.k)("div",Dl,[Object(a.k)("h4",null,Object(a.O)(e.$t("general.verify")),1),Object(a.k)("p",null,Object(a.O)(e.$t("settings.mfa.verify.desc")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[3]||(t[3]=t=>e.otpConfirmToken=t),type:"text"},null,512),[[a.S,e.otpConfirmToken]]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.enter_current_password_to_confirm"))+":",1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[4]||(t[4]=t=>e.currentPassword=t),type:"password"},null,512),[[a.S,e.currentPassword]]),Object(a.k)("div",Pl,[Object(a.k)("button",{class:"btn button-default",onClick:t[5]||(t[5]=(...t)=>e.doConfirmOTP&&e.doConfirmOTP(...t))},Object(a.O)(e.$t("settings.mfa.confirm_and_enable")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[6]||(t[6]=(...t)=>e.cancelSetup&&e.cancelSetup(...t))},Object(a.O)(e.$t("general.cancel")),1)]),e.error?(Object(a.D)(),Object(a.j)("div",Ul,Object(a.O)(e.error),1)):Object(a.i)("",!0)])])])):Object(a.i)("",!0)],64)):Object(a.i)("",!0)])):Object(a.i)("",!0)])])):Object(a.i)("",!0)}]]),na=l(38),sa={data:function(){return{newEmail:"",changeEmailError:!1,changeEmailPassword:"",changedEmail:!1,deletingAccount:!1,deleteAccountConfirmPasswordInput:"",deleteAccountError:!1,changePasswordInputs:["","",""],changedPassword:!1,changePasswordError:!1}},created:function(){this.$store.dispatch("fetchTokens")},components:{ProgressButton:we.a,Mfa:aa,Checkbox:E.a},computed:{user:function(){return this.$store.state.users.currentUser},pleromaBackend:function(){return this.$store.state.instance.pleromaBackend},oauthTokens:function(){var e=this;return this.$store.state.oauthTokens.tokens.map((function(t){return{id:t.id,appName:t.app_name,validUntil:new Date(t.valid_until).toLocaleDateString(na.a.internalToBrowserLocale(e.$i18n.locale))}}))}},methods:{confirmDelete:function(){this.deletingAccount=!0},deleteAccount:function(){var e=this;this.$store.state.api.backendInteractor.deleteAccount({password:this.deleteAccountConfirmPasswordInput}).then((function(t){"success"===t.status?(e.$store.dispatch("logout"),e.$router.push({name:"root"})):e.deleteAccountError=t.error}))},changePassword:function(){var e=this,t={password:this.changePasswordInputs[0],newPassword:this.changePasswordInputs[1],newPasswordConfirmation:this.changePasswordInputs[2]};this.$store.state.api.backendInteractor.changePassword(t).then((function(t){"success"===t.status?(e.changedPassword=!0,e.changePasswordError=!1,e.logout()):(e.changedPassword=!1,e.changePasswordError=t.error)}))},changeEmail:function(){var e=this,t={email:this.newEmail,password:this.changeEmailPassword};this.$store.state.api.backendInteractor.changeEmail(t).then((function(t){"success"===t.status?(e.changedEmail=!0,e.changeEmailError=!1):(e.changedEmail=!1,e.changeEmailError=t.error)}))},logout:function(){this.$store.dispatch("logout"),this.$router.replace("/")},revokeToken:function(e){window.confirm("".concat(this.$i18n.t("settings.revoke_token"),"?"))&&this.$store.dispatch("revokeToken",e)}}};var oa=D()(sa,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("mfa");return Object(a.D)(),Object(a.j)("div",{label:e.$t("settings.security_tab")},[Object(a.k)("div",nl,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.change_email")),1),Object(a.k)("div",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.new_email")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[0]||(t[0]=t=>e.newEmail=t),type:"email",autocomplete:"email"},null,512),[[a.S,e.newEmail]])]),Object(a.k)("div",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.current_password")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[1]||(t[1]=t=>e.changeEmailPassword=t),type:"password",autocomplete:"current-password"},null,512),[[a.S,e.changeEmailPassword]])]),Object(a.k)("button",{class:"btn button-default",onClick:t[2]||(t[2]=(...t)=>e.changeEmail&&e.changeEmail(...t))},Object(a.O)(e.$t("settings.save")),1),e.changedEmail?(Object(a.D)(),Object(a.j)("p",sl,Object(a.O)(e.$t("settings.changed_email")),1)):Object(a.i)("",!0),!1!==e.changeEmailError?(Object(a.D)(),Object(a.j)(a.a,{key:1},[Object(a.k)("p",null,Object(a.O)(e.$t("settings.change_email_error")),1),Object(a.k)("p",null,Object(a.O)(e.changeEmailError),1)],64)):Object(a.i)("",!0)]),Object(a.k)("div",ol,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.change_password")),1),Object(a.k)("div",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.current_password")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[3]||(t[3]=t=>e.changePasswordInputs[0]=t),type:"password"},null,512),[[a.S,e.changePasswordInputs[0]]])]),Object(a.k)("div",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.new_password")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[4]||(t[4]=t=>e.changePasswordInputs[1]=t),type:"password"},null,512),[[a.S,e.changePasswordInputs[1]]])]),Object(a.k)("div",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.confirm_new_password")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[5]||(t[5]=t=>e.changePasswordInputs[2]=t),type:"password"},null,512),[[a.S,e.changePasswordInputs[2]]])]),Object(a.k)("button",{class:"btn button-default",onClick:t[6]||(t[6]=(...t)=>e.changePassword&&e.changePassword(...t))},Object(a.O)(e.$t("settings.save")),1),e.changedPassword?(Object(a.D)(),Object(a.j)("p",cl,Object(a.O)(e.$t("settings.changed_password")),1)):!1!==e.changePasswordError?(Object(a.D)(),Object(a.j)("p",il,Object(a.O)(e.$t("settings.change_password_error")),1)):Object(a.i)("",!0),e.changePasswordError?(Object(a.D)(),Object(a.j)("p",rl,Object(a.O)(e.changePasswordError),1)):Object(a.i)("",!0)]),Object(a.k)("div",bl,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.oauth_tokens")),1),Object(a.k)("table",ul,[Object(a.k)("thead",null,[Object(a.k)("tr",null,[Object(a.k)("th",null,Object(a.O)(e.$t("settings.app_name")),1),Object(a.k)("th",null,Object(a.O)(e.$t("settings.valid_until")),1),dl])]),Object(a.k)("tbody",null,[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.oauthTokens,t=>(Object(a.D)(),Object(a.j)("tr",{key:t.id},[Object(a.k)("td",null,Object(a.O)(t.appName),1),Object(a.k)("td",null,Object(a.O)(t.validUntil),1),Object(a.k)("td",Ol,[Object(a.k)("button",{class:"btn button-default",onClick:l=>e.revokeToken(t.id)},Object(a.O)(e.$t("settings.revoke_token")),9,pl)])]))),128))])])]),Object(a.m)(c),Object(a.k)("div",jl,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.delete_account")),1),e.deletingAccount?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("p",ml,Object(a.O)(e.$t("settings.delete_account_description")),1)),e.deletingAccount?(Object(a.D)(),Object(a.j)("div",hl,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.delete_account_instructions")),1),Object(a.k)("p",null,Object(a.O)(e.$t("login.password")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[7]||(t[7]=t=>e.deleteAccountConfirmPasswordInput=t),type:"password"},null,512),[[a.S,e.deleteAccountConfirmPasswordInput]]),Object(a.k)("button",{class:"btn button-default",onClick:t[8]||(t[8]=(...t)=>e.deleteAccount&&e.deleteAccount(...t))},Object(a.O)(e.$t("settings.delete_account")),1)])):Object(a.i)("",!0),!1!==e.deleteAccountError?(Object(a.D)(),Object(a.j)("p",fl,Object(a.O)(e.$t("settings.delete_account_error")),1)):Object(a.i)("",!0),e.deleteAccountError?(Object(a.D)(),Object(a.j)("p",gl,Object(a.O)(e.deleteAccountError),1)):Object(a.i)("",!0),e.deletingAccount?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("button",{key:4,class:"btn button-default",onClick:t[9]||(t[9]=(...t)=>e.confirmDelete&&e.confirmDelete(...t))},Object(a.O)(e.$t("settings.save")),1))])],8,al)}]]);const ca={class:"profile-tab"},ia={class:"setting-item"},ra={key:0},ba={key:1},ua=["onUpdate:modelValue","placeholder"],da=["onUpdate:modelValue","placeholder"],Oa=["onClick"],pa=["disabled"],ja={class:"setting-item"},ma={class:"visibility-notice"},ha={class:"current-avatar-container"},fa=["src"],ga=["title"],ka={class:"setting-item"},va={class:"banner-background-preview"},ya=["src"],wa=["title"],_a=["src"],Va={class:"setting-item"},$a={class:"banner-background-preview"},Ca=["src"],Ta=["title"],xa=["src"],La={class:"setting-item"},Sa={class:"setting-list"};var Da=l(75),Pa=l.n(Da),Ua=l(122),Ia=l.n(Ua);const Ba={class:"image-cropper"},Fa={key:0},Ea={class:"image-cropper-image-container"},Ma=["src"],Aa={class:"image-cropper-buttons-wrapper"},Ra=["disabled","textContent"],Wa=["disabled","textContent"],Ja=["disabled","textContent"],Na=["accept"];var qa=l(28),Ga=l.n(qa),Ha=l(696),za=l.n(Ha);l(697);T.c.add(x.r);var Ka={props:{trigger:{type:[String,window.Element],required:!0},submitHandler:{type:Function,required:!0},cropperOptions:{type:Object,default:function(){return{aspectRatio:1,autoCropArea:1,viewMode:1,movable:!1,zoomable:!1,guides:!1}}},mimes:{type:String,default:"image/png, image/gif, image/jpeg, image/bmp, image/x-icon"},saveButtonLabel:{type:String},saveWithoutCroppingButtonlabel:{type:String},cancelButtonLabel:{type:String}},data:function(){return{cropper:void 0,dataUrl:void 0,filename:void 0,submitting:!1}},computed:{saveText:function(){return this.saveButtonLabel||this.$t("image_cropper.save")},saveWithoutCroppingText:function(){return this.saveWithoutCroppingButtonlabel||this.$t("image_cropper.save_without_cropping")},cancelText:function(){return this.cancelButtonLabel||this.$t("image_cropper.cancel")}},methods:{destroy:function(){this.cropper&&this.cropper.destroy(),this.$refs.input.value="",this.dataUrl=void 0,this.$emit("close")},submit:function(){var e=this,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.submitting=!0,this.submitHandler(t&&this.cropper,this.file).then((function(){return e.destroy()})).finally((function(){e.submitting=!1}))},pickImage:function(){this.$refs.input.click()},createCropper:function(){this.cropper=new za.a(this.$refs.img,this.cropperOptions)},getTriggerDOM:function(){return"object"===Ga()(this.trigger)?this.trigger:document.querySelector(this.trigger)},readFile:function(){var e=this,t=this.$refs.input;if(null!=t.files&&null!=t.files[0]){this.file=t.files[0];var l=new window.FileReader;l.onload=function(t){e.dataUrl=t.target.result,e.$emit("open")},l.readAsDataURL(this.file),this.$emit("changed",this.file,l)}}},mounted:function(){var e=this.getTriggerDOM();e?e.addEventListener("click",this.pickImage):this.$emit("error","No image make trigger found.","user"),this.$refs.input.addEventListener("change",this.readFile)},beforeUnmount:function(){var e=this.getTriggerDOM();e&&e.removeEventListener("click",this.pickImage),this.$refs.input.removeEventListener("change",this.readFile)}};l(698);var Ya=D()(Ka,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("FAIcon");return Object(a.D)(),Object(a.j)("div",Ba,[e.dataUrl?(Object(a.D)(),Object(a.j)("div",Fa,[Object(a.k)("div",Ea,[Object(a.k)("img",{ref:"img",src:e.dataUrl,alt:"",onLoad:t[0]||(t[0]=Object(a.Y)((...t)=>e.createCropper&&e.createCropper(...t),["stop"]))},null,40,Ma)]),Object(a.k)("div",Aa,[Object(a.k)("button",{class:"button-default btn",type:"button",disabled:e.submitting,onClick:t[1]||(t[1]=t=>e.submit()),textContent:Object(a.O)(e.saveText)},null,8,Ra),Object(a.k)("button",{class:"button-default btn",type:"button",disabled:e.submitting,onClick:t[2]||(t[2]=(...t)=>e.destroy&&e.destroy(...t)),textContent:Object(a.O)(e.cancelText)},null,8,Wa),Object(a.k)("button",{class:"button-default btn",type:"button",disabled:e.submitting,onClick:t[3]||(t[3]=t=>e.submit(!1)),textContent:Object(a.O)(e.saveWithoutCroppingText)},null,8,Ja),e.submitting?(Object(a.D)(),Object(a.h)(c,{key:0,spin:"",icon:"circle-notch"})):Object(a.i)("",!0)])])):Object(a.i)("",!0),Object(a.k)("input",{ref:"input",type:"file",class:"image-cropper-img-input",accept:e.mimes},null,8,Na)])}]]),Za=l(175),Qa=l(96),Xa=l(310),en=l(167),tn=l(174);function ln(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function an(e){for(var t=1;tthis.$store.state.instance[e+"limit"]){var n=Qa.a.fileSizeFormat(a.size),s=Qa.a.fileSizeFormat(this.$store.state.instance[e+"limit"]);this.$store.dispatch("pushGlobalNotice",{messageKey:"upload.error.message",messageArgs:[this.$t("upload.error.file_too_big",{filesize:n.num,filesizeunit:n.unit,allowedsize:s.num,allowedsizeunit:s.unit})],level:"error"})}else{var o=new FileReader;o.onload=function(t){var n=t.target.result;l[e+"Preview"]=n,l[e]=a},o.readAsDataURL(a)}},resetAvatar:function(){window.confirm(this.$t("settings.reset_avatar_confirm"))&&this.submitAvatar(void 0,"")},resetBanner:function(){window.confirm(this.$t("settings.reset_banner_confirm"))&&this.submitBanner("")},resetBackground:function(){window.confirm(this.$t("settings.reset_background_confirm"))&&this.submitBackground("")},submitAvatar:function(e,t){var l=this;return new Promise((function(a,n){function s(e,t){l.$store.state.api.backendInteractor.updateProfileImages({avatar:e,avatarName:t}).then((function(e){l.$store.commit("addNewUsers",[e]),l.$store.commit("setCurrentUser",e),a()})).catch((function(e){l.displayUploadError(e),n(e)}))}e?e.getCroppedCanvas().toBlob((function(e){return s(e,t.name)}),t.type):s(t,t.name)}))},submitBanner:function(e){var t=this;(this.bannerPreview||""===e)&&(this.bannerUploading=!0,this.$store.state.api.backendInteractor.updateProfileImages({banner:e}).then((function(e){t.$store.commit("addNewUsers",[e]),t.$store.commit("setCurrentUser",e),t.bannerPreview=null})).catch(this.displayUploadError).finally((function(){t.bannerUploading=!1})))},submitBackground:function(e){var t=this;(this.backgroundPreview||""===e)&&(this.backgroundUploading=!0,this.$store.state.api.backendInteractor.updateProfileImages({background:e}).then((function(e){t.$store.commit("addNewUsers",[e]),t.$store.commit("setCurrentUser",e),t.backgroundPreview=null})).catch(this.displayUploadError).finally((function(){t.backgroundUploading=!1})))},displayUploadError:function(e){this.$store.dispatch("pushGlobalNotice",{messageKey:"upload.error.message",messageArgs:[e.message],level:"error"})}}};l(699);var sn=D()(nn,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("EmojiInput"),i=Object(a.J)("Checkbox"),r=Object(a.J)("FAIcon"),b=Object(a.J)("interface-language-switcher"),u=Object(a.J)("image-cropper"),d=Object(a.J)("BooleanSetting");return Object(a.D)(),Object(a.j)("div",ca,[Object(a.k)("div",ia,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.name_bio")),1),Object(a.k)("p",null,Object(a.O)(e.$t("settings.name")),1),Object(a.m)(c,{modelValue:e.newName,"onUpdate:modelValue":t[1]||(t[1]=t=>e.newName=t),"enable-emoji-picker":"",suggest:e.emojiSuggestor},{default:Object(a.V)(()=>[Object(a.W)(Object(a.k)("input",{id:"username","onUpdate:modelValue":t[0]||(t[0]=t=>e.newName=t),class:"name-changer"},null,512),[[a.S,e.newName]])]),_:1},8,["modelValue","suggest"]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.bio")),1),Object(a.m)(c,{modelValue:e.newBio,"onUpdate:modelValue":t[3]||(t[3]=t=>e.newBio=t),"enable-emoji-picker":"",suggest:e.emojiUserSuggestor},{default:Object(a.V)(()=>[Object(a.W)(Object(a.k)("textarea",{"onUpdate:modelValue":t[2]||(t[2]=t=>e.newBio=t),class:"bio resize-height"},null,512),[[a.S,e.newBio]])]),_:1},8,["modelValue","suggest"]),"admin"===e.role||"moderator"===e.role?(Object(a.D)(),Object(a.j)("p",ra,[Object(a.m)(i,{modelValue:e.showRole,"onUpdate:modelValue":t[4]||(t[4]=t=>e.showRole=t)},{default:Object(a.V)(()=>["admin"===e.role?(Object(a.D)(),Object(a.j)(a.a,{key:0},[Object(a.l)(Object(a.O)(e.$t("settings.show_admin_badge")),1)],64)):Object(a.i)("",!0),"moderator"===e.role?(Object(a.D)(),Object(a.j)(a.a,{key:1},[Object(a.l)(Object(a.O)(e.$t("settings.show_moderator_badge")),1)],64)):Object(a.i)("",!0)]),_:1},8,["modelValue"])])):Object(a.i)("",!0),e.maxFields>0?(Object(a.D)(),Object(a.j)("div",ba,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.profile_fields.label")),1),(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.newFields,(t,l)=>(Object(a.D)(),Object(a.j)("div",{key:l,class:"profile-fields"},[Object(a.m)(c,{modelValue:e.newFields[l].name,"onUpdate:modelValue":t=>e.newFields[l].name=t,"enable-emoji-picker":"","hide-emoji-button":"",suggest:e.userSuggestor},{default:Object(a.V)(()=>[Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t=>e.newFields[l].name=t,placeholder:e.$t("settings.profile_fields.name")},null,8,ua),[[a.S,e.newFields[l].name]])]),_:2},1032,["modelValue","onUpdate:modelValue","suggest"]),Object(a.m)(c,{modelValue:e.newFields[l].value,"onUpdate:modelValue":t=>e.newFields[l].value=t,"enable-emoji-picker":"","hide-emoji-button":"",suggest:e.userSuggestor},{default:Object(a.V)(()=>[Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t=>e.newFields[l].value=t,placeholder:e.$t("settings.profile_fields.value")},null,8,da),[[a.S,e.newFields[l].value]])]),_:2},1032,["modelValue","onUpdate:modelValue","suggest"]),Object(a.k)("button",{class:"delete-field button-unstyled -hover-highlight",onClick:t=>e.deleteField(l)},[e.newFields.length>1?(Object(a.D)(),Object(a.h)(r,{key:0,icon:"times"})):Object(a.i)("",!0)],8,Oa)]))),128)),e.newFields.lengthe.addField&&e.addField(...t))},[Object(a.m)(r,{icon:"plus"}),Object(a.l)(" "+Object(a.O)(e.$t("settings.profile_fields.add_field")),1)])):Object(a.i)("",!0)])):Object(a.i)("",!0),Object(a.k)("p",null,[Object(a.m)(i,{modelValue:e.bot,"onUpdate:modelValue":t[6]||(t[6]=t=>e.bot=t)},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.bot")),1)]),_:1},8,["modelValue"])]),Object(a.k)("p",null,[Object(a.m)(b,{"prompt-text":e.$t("settings.email_language"),language:e.emailLanguage,"set-language":t=>e.emailLanguage=t},null,8,["prompt-text","language","set-language"])]),Object(a.k)("button",{disabled:e.newName&&0===e.newName.length,class:"btn button-default",onClick:t[7]||(t[7]=(...t)=>e.updateProfile&&e.updateProfile(...t))},Object(a.O)(e.$t("settings.save")),9,pa)]),Object(a.k)("div",ja,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.avatar")),1),Object(a.k)("p",ma,Object(a.O)(e.$t("settings.avatar_size_instruction")),1),Object(a.k)("div",ha,[Object(a.k)("img",{src:e.user.profile_image_url_original,class:"current-avatar"},null,8,fa),!e.isDefaultAvatar&&e.pickAvatarBtnVisible?(Object(a.D)(),Object(a.j)("button",{key:0,title:e.$t("settings.reset_avatar"),onClick:t[8]||(t[8]=(...t)=>e.resetAvatar&&e.resetAvatar(...t)),class:"button-unstyled reset-button"},[Object(a.m)(r,{icon:"times",type:"button"})],8,ga)):Object(a.i)("",!0)]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.set_new_avatar")),1),Object(a.W)(Object(a.k)("button",{id:"pick-avatar",class:"button-default btn",type:"button"},Object(a.O)(e.$t("settings.upload_a_photo")),513),[[a.T,e.pickAvatarBtnVisible]]),Object(a.m)(u,{trigger:"#pick-avatar","submit-handler":e.submitAvatar,onOpen:t[9]||(t[9]=t=>e.pickAvatarBtnVisible=!1),onClose:t[10]||(t[10]=t=>e.pickAvatarBtnVisible=!0)},null,8,["submit-handler"])]),Object(a.k)("div",ka,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.profile_banner")),1),Object(a.k)("div",va,[Object(a.k)("img",{src:e.user.cover_photo},null,8,ya),e.isDefaultBanner?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("button",{key:0,class:"button-unstyled reset-button",title:e.$t("settings.reset_profile_banner"),onClick:t[11]||(t[11]=(...t)=>e.resetBanner&&e.resetBanner(...t))},[Object(a.m)(r,{icon:"times",type:"button"})],8,wa))]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.set_new_profile_banner")),1),e.bannerPreview?(Object(a.D)(),Object(a.j)("img",{key:0,class:"banner-background-preview",src:e.bannerPreview},null,8,_a)):Object(a.i)("",!0),Object(a.k)("div",null,[Object(a.k)("input",{type:"file",onChange:t[12]||(t[12]=t=>e.uploadFile("banner",t))},null,32)]),e.bannerUploading?(Object(a.D)(),Object(a.h)(r,{key:1,class:"uploading",spin:"",icon:"circle-notch"})):e.bannerPreview?(Object(a.D)(),Object(a.j)("button",{key:2,class:"btn button-default",onClick:t[13]||(t[13]=t=>e.submitBanner(e.banner))},Object(a.O)(e.$t("settings.save")),1)):Object(a.i)("",!0)]),Object(a.k)("div",Va,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.profile_background")),1),Object(a.k)("div",$a,[Object(a.k)("img",{src:e.user.background_image},null,8,Ca),e.isDefaultBackground?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("button",{key:0,class:"button-unstyled reset-button",title:e.$t("settings.reset_profile_background"),onClick:t[14]||(t[14]=(...t)=>e.resetBackground&&e.resetBackground(...t))},[Object(a.m)(r,{icon:"times",type:"button"})],8,Ta))]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.set_new_profile_background")),1),e.backgroundPreview?(Object(a.D)(),Object(a.j)("img",{key:0,class:"banner-background-preview",src:e.backgroundPreview},null,8,xa)):Object(a.i)("",!0),Object(a.k)("div",null,[Object(a.k)("input",{type:"file",onChange:t[15]||(t[15]=t=>e.uploadFile("background",t))},null,32)]),e.backgroundUploading?(Object(a.D)(),Object(a.h)(r,{key:1,class:"uploading",spin:"",icon:"circle-notch"})):e.backgroundPreview?(Object(a.D)(),Object(a.j)("button",{key:2,class:"btn button-default",onClick:t[16]||(t[16]=t=>e.submitBackground(e.background))},Object(a.O)(e.$t("settings.save")),1)):Object(a.i)("",!0)]),Object(a.k)("div",La,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.account_privacy")),1),Object(a.k)("ul",Sa,[Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_locked"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.lock_account_description")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_discoverable"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.discoverable")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_allowFollowingMove"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.allow_following_move")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_hideFavorites"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_favorites_description")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_hideFollowers"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_followers_description")),1)]),_:1}),Object(a.k)("ul",{class:Object(a.w)(["setting-list suboptions",[{disabled:!e.serverSide_hideFollowers}]])},[Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_hideFollowersCount",disabled:!e.serverSide_hideFollowers},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_followers_count_description")),1)]),_:1},8,["disabled"])])],2)]),Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_hideFollows"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_follows_description")),1)]),_:1}),Object(a.k)("ul",{class:Object(a.w)(["setting-list suboptions",[{disabled:!e.serverSide_hideFollows}]])},[Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_hideFollowsCount",disabled:!e.serverSide_hideFollows},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_follows_count_description")),1)]),_:1},8,["disabled"])])],2)])])])])}]]);const on=["label"],cn={class:"setting-item"},rn={class:"setting-list"},bn={key:0},un={key:1},dn={key:2},On={class:"setting-item"},pn={class:"setting-list"},jn={key:0,class:"setting-list suboptions"},mn={class:"setting-list suboptions"},hn={key:0,class:"unavailable"},fn={class:"setting-list suboptions"},gn={key:0},kn={key:1},vn={key:2},yn={key:3},wn={key:0,class:"setting-item"},_n={class:"setting-list"},Vn={for:"default-vis"},$n={key:0};function Cn(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}T.c.add(x.I);var Tn={data:function(){var e=this;return{subjectLineOptions:["email","noop","masto"].map((function(t){return{key:t,value:t,label:e.$t("settings.subject_line_".concat("masto"===t?"mastodon":t))}})),conversationDisplayOptions:["tree","linear"].map((function(t){return{key:t,value:t,label:e.$t("settings.conversation_display_".concat(t))}})),conversationOtherRepliesButtonOptions:["below","inside"].map((function(t){return{key:t,value:t,label:e.$t("settings.conversation_other_replies_button_".concat(t))}})),mentionLinkDisplayOptions:["short","full_for_remote","full"].map((function(t){return{key:t,value:t,label:e.$t("settings.mention_link_display_".concat(t))}})),thirdColumnModeOptions:["none","notifications","postform"].map((function(t){return{key:t,value:t,label:e.$t("settings.third_column_mode_".concat(t))}})),loopSilentAvailable:Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype,"mozHasAudio")||Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype,"webkitAudioDecodedByteCount")||Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype,"audioTracks")}},components:{BooleanSetting:vt,ChoiceSetting:Gt,IntegerSetting:Qt,InterfaceLanguageSwitcher:tn.a,ScopeSelector:Za.a,ServerSideIndicator:gt},computed:function(e){for(var t=1;te.language=t},null,8,["prompt-text","language","set-language"])]),e.instanceSpecificPanelPresent?(Object(a.D)(),Object(a.j)("li",bn,[Object(a.m)(i,{path:"hideISP"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_isp")),1)]),_:1})])):Object(a.i)("",!0),Object(a.k)("li",null,[Object(a.m)(i,{path:"sidebarRight"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.right_sidebar")),1)]),_:1})]),e.instanceWallpaperUsed?(Object(a.D)(),Object(a.j)("li",un,[Object(a.m)(i,{path:"hideInstanceWallpaper"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_wallpaper")),1)]),_:1})])):Object(a.i)("",!0),Object(a.k)("li",null,[Object(a.m)(i,{path:"stopGifs"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.stop_gifs")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"streaming"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.streaming")),1)]),_:1}),Object(a.k)("ul",{class:Object(a.w)(["setting-list suboptions",[{disabled:!e.streaming}]])},[Object(a.k)("li",null,[Object(a.m)(i,{path:"pauseOnUnfocused",disabled:!e.streaming},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.pause_on_unfocused")),1)]),_:1},8,["disabled"])])],2)]),Object(a.k)("li",null,[Object(a.m)(i,{path:"useStreamingApi",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.useStreamingApi")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"virtualScrolling",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.virtual_scrolling")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"disableStickyHeaders"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.disable_sticky_headers")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"showScrollbars"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.show_scrollbars")),1)]),_:1})]),Object(a.k)("li",null,[e.user?(Object(a.D)(),Object(a.h)(r,{key:0,id:"thirdColumnMode",path:"thirdColumnMode",options:e.thirdColumnModeOptions},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.third_column_mode")),1)]),_:1},8,["options"])):Object(a.i)("",!0)]),Object(a.k)("li",null,[Object(a.m)(i,{path:"minimalScopesMode"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.minimal_scopes_mode")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"sensitiveByDefault"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.sensitive_by_default")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"sensitiveIfSubject"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.sensitive_if_subject")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"renderMisskeyMarkdown"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.render_mfm")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"alwaysShowNewPostButton",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.always_show_post_button")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"autohideFloatingPostButton",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.autohide_floating_post_button")),1)]),_:1})]),e.instanceShoutboxPresent?(Object(a.D)(),Object(a.j)("li",dn,[Object(a.m)(i,{path:"hideShoutbox",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_shoutbox")),1)]),_:1})])):Object(a.i)("",!0)])]),Object(a.k)("div",On,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.post_look_feel")),1),Object(a.k)("ul",pn,[Object(a.k)("li",null,[Object(a.m)(r,{id:"conversationDisplay",path:"conversationDisplay",options:e.conversationDisplayOptions},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.conversation_display")),1)]),_:1},8,["options"])]),"linear"!==e.conversationDisplay?(Object(a.D)(),Object(a.j)("ul",jn,[Object(a.k)("li",null,[Object(a.m)(i,{path:"conversationTreeAdvanced"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.tree_advanced")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"conversationTreeFadeAncestors",expert:1},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.tree_fade_ancestors")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(b,{path:"maxDepthInThread",min:3,expert:1},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.max_depth_in_thread")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(r,{id:"conversationOtherRepliesButton",path:"conversationOtherRepliesButton",options:e.conversationOtherRepliesButtonOptions,expert:1},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.conversation_other_replies_button")),1)]),_:1},8,["options"])])])):Object(a.i)("",!0),Object(a.k)("li",null,[Object(a.m)(i,{path:"collapseMessageWithSubject"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.collapse_subject")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"emojiReactionsOnTimeline",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.emoji_reactions_on_timeline")),1)]),_:1})]),Object(a.k)("li",null,[e.user?(Object(a.D)(),Object(a.h)(i,{key:0,path:"serverSide_stripRichContent",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.no_rich_text_description")),1)]),_:1})):Object(a.i)("",!0)]),Object(a.k)("h3",null,Object(a.O)(e.$t("settings.attachments")),1),Object(a.k)("li",null,[Object(a.m)(i,{path:"useContainFit",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.use_contain_fit")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"hideNsfw"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.nsfw_clickthrough")),1)]),_:1})]),Object(a.k)("ul",mn,[Object(a.k)("li",null,[Object(a.m)(i,{path:"preloadImage",expert:"1",disabled:!e.hideNsfw},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.preload_images")),1)]),_:1},8,["disabled"])]),Object(a.k)("li",null,[Object(a.m)(i,{path:"useOneClickNsfw",expert:"1",disabled:!e.hideNsfw},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.use_one_click_nsfw")),1)]),_:1},8,["disabled"])])]),Object(a.k)("li",null,[Object(a.m)(i,{path:"loopVideo",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.loop_video")),1)]),_:1}),Object(a.k)("ul",{class:Object(a.w)(["setting-list suboptions",[{disabled:!e.streaming}]])},[Object(a.k)("li",null,[Object(a.m)(i,{path:"loopVideoSilentOnly",expert:"1",disabled:!e.loopVideo||!e.loopSilentAvailable},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.loop_video_silent_only")),1)]),_:1},8,["disabled"]),e.loopSilentAvailable?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("div",hn,[Object(a.m)(u,{icon:"globe"}),Object(a.l)("! "+Object(a.O)(e.$t("settings.limited_availability")),1)]))])],2)]),Object(a.k)("li",null,[Object(a.m)(i,{path:"playVideosInModal",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.play_videos_in_modal")),1)]),_:1})]),Object(a.k)("h3",null,Object(a.O)(e.$t("settings.mention_links")),1),Object(a.k)("li",null,[Object(a.m)(r,{id:"mentionLinkDisplay",path:"mentionLinkDisplay",options:e.mentionLinkDisplayOptions},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.mention_link_display")),1)]),_:1},8,["options"])]),Object(a.k)("ul",fn,["short"===e.mentionLinkDisplay?(Object(a.D)(),Object(a.j)("li",gn,[Object(a.m)(i,{path:"mentionLinkShowTooltip",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.mention_link_show_tooltip")),1)]),_:1})])):Object(a.i)("",!0)]),Object(a.k)("li",null,[Object(a.m)(i,{path:"useAtIcon",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.use_at_icon")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"mentionLinkShowAvatar"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.mention_link_show_avatar")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"mentionLinkFadeDomain",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.mention_link_fade_domain")),1)]),_:1})]),e.user?(Object(a.D)(),Object(a.j)("li",kn,[Object(a.m)(i,{path:"mentionLinkBoldenYou",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.mention_link_bolden_you")),1)]),_:1})])):Object(a.i)("",!0),e.expertLevel>0?(Object(a.D)(),Object(a.j)("h3",vn,Object(a.O)(e.$t("settings.fun")),1)):Object(a.i)("",!0),Object(a.k)("li",null,[Object(a.m)(i,{path:"greentext",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.greentext")),1)]),_:1})]),e.user?(Object(a.D)(),Object(a.j)("li",yn,[Object(a.m)(i,{path:"mentionLinkShowYous",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.show_yous")),1)]),_:1})])):Object(a.i)("",!0)])]),e.user?(Object(a.D)(),Object(a.j)("div",wn,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.composing")),1),Object(a.k)("ul",_n,[Object(a.k)("li",null,[Object(a.k)("label",Vn,[Object(a.l)(Object(a.O)(e.$t("settings.default_vis"))+" ",1),Object(a.m)(d,{"server-side":!0}),Object(a.m)(O,{class:"scope-selector","show-all":!0,"user-default":e.serverSide_defaultScope,"initial-scope":e.serverSide_defaultScope,"on-scope-change":e.changeDefaultScope},null,8,["user-default","initial-scope","on-scope-change"])])]),Object(a.k)("li",null,[Object(a.m)(i,{path:"sensitiveByDefault"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.sensitive_by_default")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"scopeCopy",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.scope_copy")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"alwaysShowSubjectInput",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.subject_input_always_show")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(r,{id:"subjectLineBehavior",path:"subjectLineBehavior",options:e.subjectLineOptions,expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.subject_line_behavior")),1)]),_:1},8,["options"])]),e.postFormats.length>0?(Object(a.D)(),Object(a.j)("li",$n,[Object(a.m)(r,{id:"postContentType",path:"postContentType",options:e.postContentOptions},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.post_status_content_type")),1)]),_:1},8,["options"])])):Object(a.i)("",!0),Object(a.k)("li",null,[Object(a.m)(i,{path:"minimalScopesMode",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.minimal_scopes_mode")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"alwaysShowNewPostButton",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.always_show_post_button")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"autohideFloatingPostButton",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.autohide_floating_post_button")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"padEmoji",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.pad_emoji")),1)]),_:1})])])])):Object(a.i)("",!0)],8,on)}]]);const Ln=["label"],Sn={class:"setting-item"},Dn={class:"setting-list"},Pn={class:"option-list"},Un=["href"],In={class:"option-list"},Bn=["href"];var Fn={data:function(){var e=this.$store.state.instance;return{backendVersion:e.backendVersion,frontendVersion:e.frontendVersion}},computed:{frontendVersionLink:function(){return"https://git.pleroma.social/pleroma/pleroma-fe/commit/"+this.frontendVersion},backendVersionLink:function(){return"https://git.pleroma.social/pleroma/pleroma/commit/"+(e=this.backendVersion,(t=e.match(/-g(\w+)/i))?t[1]:"");var e,t}}};var En=D()(Fn,[["render",function(e,t,l,n,s,o){return Object(a.D)(),Object(a.j)("div",{label:e.$t("settings.version.title")},[Object(a.k)("div",Sn,[Object(a.k)("ul",Dn,[Object(a.k)("li",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.version.backend_version")),1),Object(a.k)("ul",Pn,[Object(a.k)("li",null,[Object(a.k)("a",{href:e.backendVersionLink,target:"_blank"},Object(a.O)(e.backendVersion),9,Un)])])]),Object(a.k)("li",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.version.frontend_version")),1),Object(a.k)("ul",In,[Object(a.k)("li",null,[Object(a.k)("a",{href:e.frontendVersionLink,target:"_blank"},Object(a.O)(e.frontendVersion),9,Bn)])])])])])],8,Ln)}]]);const Mn={class:"theme-tab"},An={class:"presets-container"},Rn={class:"save-load"},Wn={key:0,class:"theme-warning"},Jn={class:"alert warning"},Nn={class:"buttons"},qn={class:"top"},Gn={class:"presets"},Hn={for:"preset-switcher",class:"select"},zn=["value"],Kn={class:"export-import"},Yn={class:"save-load-options"},Zn={class:"keep-option"},Qn={class:"keep-option"},Xn={class:"keep-option"},es={class:"keep-option"},ts={class:"keep-option"},ls=["label"],as={class:"tab-header"},ns={class:"tab-header-buttons"},ss={class:"color-item"},os={class:"color-item"},cs={class:"color-item"},is={class:"color-item"},rs=["label"],bs={class:"tab-header"},us={class:"color-item"},ds={class:"color-item"},Os={class:"color-item"},ps={class:"color-item"},js={class:"color-item"},ms={class:"color-item"},hs={class:"color-item"},fs={class:"color-item"},gs={class:"color-item"},ks={class:"color-item"},vs={class:"color-item"},ys={class:"color-item"},ws={class:"color-item"},_s={class:"color-item"},Vs={class:"color-item"},$s={class:"color-item"},Cs={class:"color-item"},Ts={class:"color-item"},xs=["label"],Ls={class:"tab-header"},Ss=["label"],Ds={class:"tab-header shadow-selector"},Ps={class:"select-container"},Us=["value"],Is={class:"override"},Bs={for:"override",class:"label"},Fs=Object(a.l)(" "+Object(a.O)(" ")+" "),Es=Object(a.k)("label",{class:"checkbox-label",for:"override"},null,-1),Ms={key:0},As=Object(a.k)("code",null,"filter: drop-shadow()",-1),Rs=Object(a.k)("code",null,"drop-shadow",-1),Ws=Object(a.k)("code",null,"spread-radius",-1),Js=Object(a.k)("code",null,"inset",-1),Ns=Object(a.k)("code",null,"box-shadow",-1),qs=["label"],Gs={class:"tab-header"},Hs={class:"apply-container"},zs=["disabled"];var Ks=l(18),Ys=l(43),Zs=l(138),Qs=l(36),Xs=l(54);const eo=["for"],to={class:"input color-input-field"},lo=["id","value","disabled"],ao=["id","value","disabled"],no={key:1,class:"transparentIndicator"};var so={components:{Checkbox:E.a},props:{name:{required:!0,type:String},label:{required:!0,type:String},modelValue:{required:!1,type:String,default:void 0},fallback:{required:!1,type:String,default:void 0},disabled:{required:!1,type:Boolean,default:!1},showOptionalTickbox:{required:!1,type:Boolean,default:!0}},emits:["update:modelValue"],computed:{present:function(){return void 0!==this.modelValue},validColor:function(){return Object(Ks.f)(this.modelValue||this.fallback)},transparentColor:function(){return"transparent"===this.modelValue},computedColor:function(){return this.modelValue&&this.modelValue.startsWith("--")}}};l(700),l(701);var oo=D()(so,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("Checkbox");return Object(a.D)(),Object(a.j)("div",{class:Object(a.w)(["color-input style-control",{disabled:!o.present||l.disabled}])},[Object(a.k)("label",{for:l.name,class:"label"},Object(a.O)(l.label),9,eo),void 0!==l.fallback&&l.showOptionalTickbox?(Object(a.D)(),Object(a.h)(c,{key:0,"model-value":o.present,disabled:l.disabled,class:"opt","onUpdate:modelValue":t[0]||(t[0]=t=>e.$emit("update:modelValue",void 0===l.modelValue?l.fallback:void 0))},null,8,["model-value","disabled"])):Object(a.i)("",!0),Object(a.k)("div",to,[Object(a.k)("input",{id:l.name+"-t",class:"textColor unstyled",type:"text",value:l.modelValue||l.fallback,disabled:!o.present||l.disabled,onInput:t[1]||(t[1]=t=>e.$emit("update:modelValue",t.target.value))},null,40,lo),o.validColor?(Object(a.D)(),Object(a.j)("input",{key:0,id:l.name,class:"nativeColor unstyled",type:"color",value:l.modelValue||l.fallback,disabled:!o.present||l.disabled,onInput:t[2]||(t[2]=t=>e.$emit("update:modelValue",t.target.value))},null,40,ao)):Object(a.i)("",!0),o.transparentColor?(Object(a.D)(),Object(a.j)("div",no)):Object(a.i)("",!0),o.computedColor?(Object(a.D)(),Object(a.j)("div",{key:2,class:"computedIndicator",style:Object(a.x)({backgroundColor:l.fallback})},null,4)):Object(a.i)("",!0)])],2)}]]);const co=["for"],io=["id","checked"],ro=["for"],bo=["id","value","disabled","max","min","step"],uo=["id","value","disabled","max","min","step"];var Oo={props:["name","modelValue","fallback","disabled","label","max","min","step","hardMin","hardMax"],emits:["update:modelValue"],computed:{present:function(){return void 0!==this.modelValue}}};var po=D()(Oo,[["render",function(e,t,l,n,s,o){return Object(a.D)(),Object(a.j)("div",{class:Object(a.w)(["range-control style-control",{disabled:!o.present||l.disabled}])},[Object(a.k)("label",{for:l.name,class:"label"},Object(a.O)(l.label),9,co),void 0!==l.fallback?(Object(a.D)(),Object(a.j)("input",{key:0,id:l.name+"-o",class:"opt",type:"checkbox",checked:o.present,onChange:t[0]||(t[0]=t=>e.$emit("update:modelValue",o.present?void 0:l.fallback))},null,40,io)):Object(a.i)("",!0),void 0!==l.fallback?(Object(a.D)(),Object(a.j)("label",{key:1,class:"opt-l",for:l.name+"-o"},null,8,ro)):Object(a.i)("",!0),Object(a.k)("input",{id:l.name,class:"input-number",type:"range",value:l.modelValue||l.fallback,disabled:!o.present||l.disabled,max:l.max||l.hardMax||100,min:l.min||l.hardMin||0,step:l.step||1,onInput:t[1]||(t[1]=t=>e.$emit("update:modelValue",t.target.value))},null,40,bo),Object(a.k)("input",{id:l.name,class:"input-number",type:"number",value:l.modelValue||l.fallback,disabled:!o.present||l.disabled,max:l.hardMax,min:l.hardMin,step:l.step||1,onInput:t[2]||(t[2]=t=>e.$emit("update:modelValue",t.target.value))},null,40,uo)],2)}]]);const jo=["for"],mo=["id","value","disabled"];var ho={components:{Checkbox:E.a},props:["name","modelValue","fallback","disabled"],emits:["update:modelValue"],computed:{present:function(){return void 0!==this.modelValue}}};var fo=D()(ho,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("Checkbox");return Object(a.D)(),Object(a.j)("div",{class:Object(a.w)(["opacity-control style-control",{disabled:!o.present||l.disabled}])},[Object(a.k)("label",{for:l.name,class:"label"},Object(a.O)(e.$t("settings.style.common.opacity")),9,jo),void 0!==l.fallback?(Object(a.D)(),Object(a.h)(c,{key:0,"model-value":o.present,disabled:l.disabled,class:"opt","onUpdate:modelValue":t[0]||(t[0]=t=>e.$emit("update:modelValue",o.present?void 0:l.fallback))},null,8,["model-value","disabled"])):Object(a.i)("",!0),Object(a.k)("input",{id:l.name,class:"input-number",type:"number",value:l.modelValue||l.fallback,disabled:!o.present||l.disabled,max:"1",min:"0",step:".05",onInput:t[1]||(t[1]=t=>e.$emit("update:modelValue",t.target.value))},null,40,mo)],2)}]]);const go={class:"shadow-preview-container"},ko=["disabled"],vo=["disabled"],yo={class:"wrap"},wo=["disabled"],_o={class:"preview-window"},Vo=["disabled"],$o=["disabled"],Co={class:"wrap"},To=["disabled"],xo={class:"shadow-tweak"},Lo=["disabled"],So=["value"],Do=["disabled"],Po=["disabled"],Uo=["disabled"],Io=["disabled"],Bo=["disabled"],Fo={for:"inset",class:"label"},Eo=["disabled"],Mo=Object(a.k)("label",{class:"checkbox-label",for:"inset"},null,-1),Ao=["disabled"],Ro={for:"spread",class:"label"},Wo=["disabled"],Jo=["disabled"],No=["disabled"],qo={for:"spread",class:"label"},Go=["disabled"],Ho=["disabled"],zo=Object(a.k)("code",null,"--variable,mod",-1);function Ko(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function Yo(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};return Yo({x:0,y:0,blur:0,spread:0,inset:!1,color:"#000000",alpha:1},e)},Qo={props:["modelValue","fallback","ready"],emits:["update:modelValue"],data:function(){return{selectedId:0,cValue:(this.modelValue||this.fallback||[]).map(Zo)}},components:{ColorInput:oo,OpacityInput:fo,Select:Nt.a},methods:{add:function(){this.cValue.push(Zo(this.selected)),this.selectedId=this.cValue.length-1},del:function(){this.cValue.splice(this.selectedId,1),this.selectedId=0===this.cValue.length?void 0:Math.max(this.selectedId-1,0)},moveUp:function(){var e=this.cValue.splice(this.selectedId,1)[0];this.cValue.splice(this.selectedId-1,0,e),this.selectedId-=1},moveDn:function(){var e=this.cValue.splice(this.selectedId,1)[0];this.cValue.splice(this.selectedId+1,0,e),this.selectedId+=1}},beforeUpdate:function(){this.cValue=this.modelValue||this.fallback},computed:{anyShadows:function(){return this.cValue.length>0},anyShadowsFallback:function(){return this.fallback.length>0},selected:function(){return this.ready&&this.anyShadows?this.cValue[this.selectedId]:Zo({})},currentFallback:function(){return this.ready&&this.anyShadowsFallback?this.fallback[this.selectedId]:Zo({})},moveUpValid:function(){return this.ready&&this.selectedId>0},moveDnValid:function(){return this.ready&&this.selectedIde.selected.y=t),disabled:!e.present,class:"input-number",type:"number"},null,8,vo),[[a.S,e.selected.y]]),Object(a.k)("div",yo,[Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[1]||(t[1]=t=>e.selected.y=t),disabled:!e.present,class:"input-range",type:"range",max:"20",min:"-20"},null,8,wo),[[a.S,e.selected.y]])])],8,ko),Object(a.k)("div",_o,[Object(a.k)("div",{class:"preview-block",style:Object(a.x)(e.style)},null,4)]),Object(a.k)("div",{disabled:!e.present,class:"x-shift-control"},[Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[2]||(t[2]=t=>e.selected.x=t),disabled:!e.present,class:"input-number",type:"number"},null,8,$o),[[a.S,e.selected.x]]),Object(a.k)("div",Co,[Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[3]||(t[3]=t=>e.selected.x=t),disabled:!e.present,class:"input-range",type:"range",max:"20",min:"-20"},null,8,To),[[a.S,e.selected.x]])])],8,Vo)]),Object(a.k)("div",xo,[Object(a.k)("div",{disabled:e.usingFallback,class:"id-control style-control"},[Object(a.m)(c,{id:"shadow-switcher",modelValue:e.selectedId,"onUpdate:modelValue":t[4]||(t[4]=t=>e.selectedId=t),class:"shadow-switcher",disabled:!e.ready||e.usingFallback},{default:Object(a.V)(()=>[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.cValue,(t,l)=>(Object(a.D)(),Object(a.j)("option",{key:l,value:l},Object(a.O)(e.$t("settings.style.shadows.shadow_id",{value:l})),9,So))),128))]),_:1},8,["modelValue","disabled"]),Object(a.k)("button",{class:"btn button-default",disabled:!e.ready||!e.present,onClick:t[5]||(t[5]=(...t)=>e.del&&e.del(...t))},[Object(a.m)(i,{"fixed-width":"",icon:"times"})],8,Do),Object(a.k)("button",{class:"btn button-default",disabled:!e.moveUpValid,onClick:t[6]||(t[6]=(...t)=>e.moveUp&&e.moveUp(...t))},[Object(a.m)(i,{"fixed-width":"",icon:"chevron-up"})],8,Po),Object(a.k)("button",{class:"btn button-default",disabled:!e.moveDnValid,onClick:t[7]||(t[7]=(...t)=>e.moveDn&&e.moveDn(...t))},[Object(a.m)(i,{"fixed-width":"",icon:"chevron-down"})],8,Uo),Object(a.k)("button",{class:"btn button-default",disabled:e.usingFallback,onClick:t[8]||(t[8]=(...t)=>e.add&&e.add(...t))},[Object(a.m)(i,{"fixed-width":"",icon:"plus"})],8,Io)],8,Lo),Object(a.k)("div",{disabled:!e.present,class:"inset-control style-control"},[Object(a.k)("label",Fo,Object(a.O)(e.$t("settings.style.shadows.inset")),1),Object(a.W)(Object(a.k)("input",{id:"inset","onUpdate:modelValue":t[9]||(t[9]=t=>e.selected.inset=t),disabled:!e.present,name:"inset",class:"input-inset",type:"checkbox"},null,8,Eo),[[a.R,e.selected.inset]]),Mo],8,Bo),Object(a.k)("div",{disabled:!e.present,class:"blur-control style-control"},[Object(a.k)("label",Ro,Object(a.O)(e.$t("settings.style.shadows.blur")),1),Object(a.W)(Object(a.k)("input",{id:"blur","onUpdate:modelValue":t[10]||(t[10]=t=>e.selected.blur=t),disabled:!e.present,name:"blur",class:"input-range",type:"range",max:"20",min:"0"},null,8,Wo),[[a.S,e.selected.blur]]),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[11]||(t[11]=t=>e.selected.blur=t),disabled:!e.present,class:"input-number",type:"number",min:"0"},null,8,Jo),[[a.S,e.selected.blur]])],8,Ao),Object(a.k)("div",{disabled:!e.present,class:"spread-control style-control"},[Object(a.k)("label",qo,Object(a.O)(e.$t("settings.style.shadows.spread")),1),Object(a.W)(Object(a.k)("input",{id:"spread","onUpdate:modelValue":t[12]||(t[12]=t=>e.selected.spread=t),disabled:!e.present,name:"spread",class:"input-range",type:"range",max:"20",min:"-20"},null,8,Go),[[a.S,e.selected.spread]]),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[13]||(t[13]=t=>e.selected.spread=t),disabled:!e.present,class:"input-number",type:"number"},null,8,Ho),[[a.S,e.selected.spread]])],8,No),Object(a.m)(r,{modelValue:e.selected.color,"onUpdate:modelValue":t[14]||(t[14]=t=>e.selected.color=t),disabled:!e.present,label:e.$t("settings.style.common.color"),fallback:e.currentFallback.color,"show-optional-tickbox":!1,name:"shadow"},null,8,["modelValue","disabled","label","fallback"]),Object(a.m)(b,{modelValue:e.selected.alpha,"onUpdate:modelValue":t[15]||(t[15]=t=>e.selected.alpha=t),disabled:!e.present},null,8,["modelValue","disabled"]),Object(a.m)(u,{scope:"global",keypath:"settings.style.shadows.hintV3",tag:"p"},{default:Object(a.V)(()=>[zo]),_:1})])],2)}]]);const ec=["for"],tc=["id","checked"],lc=["for"],ac=Object(a.l)(" "+Object(a.O)(" ")+" "),nc=["value"],sc=["id"];var oc={components:{Select:Nt.a},props:["name","label","modelValue","fallback","options","no-inherit"],emits:["update:modelValue"],data:function(){return{lValue:this.modelValue,availableOptions:[this.noInherit?"":"inherit","custom"].concat(Ue()(this.options||[]),["serif","monospace","sans-serif"]).filter((function(e){return e}))}},beforeUpdate:function(){this.lValue=this.modelValue},computed:{present:function(){return void 0!==this.lValue},dValue:function(){return this.lValue||this.fallback||{}},family:{get:function(){return this.dValue.family},set:function(e){it()(this.lValue,"family",e),this.$emit("update:modelValue",this.lValue)}},isCustom:function(){return"custom"===this.preset},preset:{get:function(){return"serif"===this.family||"sans-serif"===this.family||"monospace"===this.family||"inherit"===this.family?this.family:"custom"},set:function(e){this.family="custom"===e?"":e}}}};l(703);var cc=D()(oc,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("Select");return Object(a.D)(),Object(a.j)("div",{class:Object(a.w)(["font-control style-control",{custom:e.isCustom}])},[Object(a.k)("label",{for:"custom"===e.preset?e.name:e.name+"-font-switcher",class:"label"},Object(a.O)(e.label),9,ec),void 0!==e.fallback?(Object(a.D)(),Object(a.j)("input",{key:0,id:e.name+"-o",class:"opt exlcude-disabled",type:"checkbox",checked:e.present,onChange:t[0]||(t[0]=t=>e.$emit("update:modelValue",void 0===e.modelValue?e.fallback:void 0))},null,40,tc)):Object(a.i)("",!0),void 0!==e.fallback?(Object(a.D)(),Object(a.j)("label",{key:1,class:"opt-l",for:e.name+"-o"},null,8,lc)):Object(a.i)("",!0),ac,Object(a.m)(c,{id:e.name+"-font-switcher",modelValue:e.preset,"onUpdate:modelValue":t[1]||(t[1]=t=>e.preset=t),disabled:!e.present,class:"font-switcher"},{default:Object(a.V)(()=>[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.availableOptions,t=>(Object(a.D)(),Object(a.j)("option",{key:t,value:t},Object(a.O)("custom"===t?e.$t("settings.style.fonts.custom"):t),9,nc))),128))]),_:1},8,["id","modelValue","disabled"]),e.isCustom?Object(a.W)((Object(a.D)(),Object(a.j)("input",{key:2,id:e.name,"onUpdate:modelValue":t[2]||(t[2]=t=>e.family=t),class:"custom-font",type:"text"},null,8,sc)),[[a.S,e.family]]):Object(a.i)("",!0)],2)}]]);const ic={key:0,class:"contrast-ratio"},rc=["title"],bc={key:0},uc={key:1},dc={key:2},Oc=["title"],pc={key:0},jc={key:1},mc={key:2};T.c.add(x.a,x.z,x.pb);var hc={props:{large:{required:!1,type:Boolean,default:!1},contrast:{required:!1,type:Object,default:function(){return{}}}},computed:{hint:function(){var e=this.contrast.aaa?"aaa":this.contrast.aa?"aa":"bad",t=this.$t("settings.style.common.contrast.level.".concat(e)),l=this.$t("settings.style.common.contrast.context.text"),a=this.contrast.text;return this.$t("settings.style.common.contrast.hint",{level:t,context:l,ratio:a})},hint_18pt:function(){var e=this.contrast.laaa?"aaa":this.contrast.laa?"aa":"bad",t=this.$t("settings.style.common.contrast.level.".concat(e)),l=this.$t("settings.style.common.contrast.context.18pt"),a=this.contrast.text;return this.$t("settings.style.common.contrast.hint",{level:t,context:l,ratio:a})}}};l(704);var fc=D()(hc,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("FAIcon");return l.contrast?(Object(a.D)(),Object(a.j)("span",ic,[Object(a.k)("span",{title:o.hint,class:"rating"},[l.contrast.aaa?(Object(a.D)(),Object(a.j)("span",bc,[Object(a.m)(c,{icon:"thumbs-up"})])):Object(a.i)("",!0),!l.contrast.aaa&&l.contrast.aa?(Object(a.D)(),Object(a.j)("span",uc,[Object(a.m)(c,{icon:"adjust"})])):Object(a.i)("",!0),l.contrast.aaa||l.contrast.aa?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("span",dc,[Object(a.m)(c,{icon:"exclamation-triangle"})]))],8,rc),l.contrast&&l.large?(Object(a.D)(),Object(a.j)("span",{key:0,class:"rating",title:o.hint_18pt},[l.contrast.laaa?(Object(a.D)(),Object(a.j)("span",pc,[Object(a.m)(c,{icon:"thumbs-up"})])):Object(a.i)("",!0),!l.contrast.laaa&&l.contrast.laa?(Object(a.D)(),Object(a.j)("span",jc,[Object(a.m)(c,{icon:"adjust"})])):Object(a.i)("",!0),l.contrast.laaa||l.contrast.laa?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("span",mc,[Object(a.m)(c,{icon:"exclamation-triangle"})]))],8,Oc)):Object(a.i)("",!0)])):Object(a.i)("",!0)}]]);const gc={class:"preview-container"},kc=Object(a.k)("div",{class:"underlay underlay-preview"},null,-1),vc={class:"panel dummy"},yc={class:"panel-heading"},wc={class:"title"},_c=Object(a.k)("span",{class:"badge badge-notification"}," 99 ",-1),Vc={class:"faint"},$c={class:"alert error"},Cc={class:"btn button-default"},Tc={class:"panel-body theme-preview-content"},xc={class:"post"},Lc=Object(a.k)("div",{class:"avatar still-image"}," ( ͡° ͜ʖ ͡°) ",-1),Sc={class:"content"},Dc={style:{"font-family":"var(--postCodeFont)"}},Pc={style:{color:"var(--link)"}},Uc={class:"icons"},Ic={class:"after-post"},Bc=Object(a.k)("div",{class:"avatar-alt"}," :^) ",-1),Fc={class:"content"},Ec={style:{color:"var(--faintLink)"}},Mc=Object(a.k)("div",{class:"separator"},null,-1),Ac={class:"alert error"},Rc=["value"],Wc={class:"actions"},Jc={class:"checkbox"},Nc=Object(a.k)("input",{id:"preview_checkbox",checked:"very yes",type:"checkbox"},null,-1),qc={for:"preview_checkbox"},Gc={class:"btn button-default"};T.c.add(x.rb,x.jb,x.Z,x.Y);var Hc={};l(705);var zc=D()(Hc,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("i18n-t"),i=Object(a.J)("FAIcon");return Object(a.D)(),Object(a.j)("div",gc,[kc,Object(a.k)("div",vc,[Object(a.k)("div",yc,[Object(a.k)("div",wc,[Object(a.l)(Object(a.O)(e.$t("settings.style.preview.header"))+" ",1),_c]),Object(a.k)("span",Vc,Object(a.O)(e.$t("settings.style.preview.header_faint")),1),Object(a.k)("span",$c,Object(a.O)(e.$t("settings.style.preview.error")),1),Object(a.k)("button",Cc,Object(a.O)(e.$t("settings.style.preview.button")),1)]),Object(a.k)("div",Tc,[Object(a.k)("div",xc,[Lc,Object(a.k)("div",Sc,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.preview.content")),1),Object(a.m)(c,{scope:"global",keypath:"settings.style.preview.text"},{default:Object(a.V)(()=>[Object(a.k)("code",Dc,Object(a.O)(e.$t("settings.style.preview.mono")),1),Object(a.k)("a",Pc,Object(a.O)(e.$t("settings.style.preview.link")),1)]),_:1}),Object(a.k)("div",Uc,[Object(a.m)(i,{"fixed-width":"",style:{color:"var(--cBlue)"},class:"fa-scale-110 fa-old-padding",icon:"reply"}),Object(a.m)(i,{"fixed-width":"",style:{color:"var(--cGreen)"},class:"fa-scale-110 fa-old-padding",icon:"retweet"}),Object(a.m)(i,{"fixed-width":"",style:{color:"var(--cOrange)"},class:"fa-scale-110 fa-old-padding",icon:"star"}),Object(a.m)(i,{"fixed-width":"",style:{color:"var(--cRed)"},class:"fa-scale-110 fa-old-padding",icon:"times"})])])]),Object(a.k)("div",Ic,[Bc,Object(a.k)("div",Fc,[Object(a.m)(c,{keypath:"settings.style.preview.fine_print",tag:"span",class:"faint",scope:"global"},{default:Object(a.V)(()=>[Object(a.k)("a",Ec,Object(a.O)(e.$t("settings.style.preview.faint_link")),1)]),_:1})])]),Mc,Object(a.k)("span",Ac,Object(a.O)(e.$t("settings.style.preview.error")),1),Object(a.k)("input",{value:e.$t("settings.style.preview.input"),type:"text"},null,8,Rc),Object(a.k)("div",Wc,[Object(a.k)("span",Jc,[Nc,Object(a.k)("label",qc,Object(a.O)(e.$t("settings.style.preview.checkbox")),1)]),Object(a.k)("button",Gc,Object(a.O)(e.$t("settings.style.preview.button")),1)])])])])}]]);function Kc(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function Yc(e){for(var t=1;tXs.a)return e(t+"future_version_imported")+" "+e(o?t+"snapshot_missing":t+"snapshot_present");if(nXs.a)return e(t+"fe_downgraded")+" "+e(o?t+"migration_snapshot_ok":t+"migration_snapshot_gone");if(n=4.5,aaa:l>=7,laa:l>=3,laaa:l>=4.5},e}),{})}catch(e){console.warn("Failure computing contrasts",e)}},previewRules:function(){return this.preview.rules?[].concat(Ue()(Object.values(this.preview.rules)),["color: var(--text)","font-family: var(--interfaceFont, sans-serif)"]).join(";"):""},shadowsAvailable:function(){return Object.keys(Ys.a).sort()},currentShadowOverriden:{get:function(){return!!this.currentShadow},set:function(e){e?this.shadowsLocal[this.shadowSelected]=this.currentShadowFallback.map((function(e){return Object.assign({},e)})):delete this.shadowsLocal[this.shadowSelected]}},currentShadowFallback:function(){return(this.previewTheme.shadows||{})[this.shadowSelected]},currentShadow:{get:function(){return this.shadowsLocal[this.shadowSelected]},set:function(e){this.shadowsLocal[this.shadowSelected]=e}},themeValid:function(){return!this.shadowsInvalid&&!this.colorsInvalid&&!this.radiiInvalid},exportedTheme:function(){var e=!(this.keepFonts||this.keepShadows||this.keepOpacity||this.keepRoundness||this.keepColor),t={themeEngineVersion:Xs.a};return(this.keepFonts||e)&&(t.fonts=this.fontsLocal),(this.keepShadows||e)&&(t.shadows=this.shadowsLocal),(this.keepOpacity||e)&&(t.opacity=this.currentOpacity),(this.keepColor||e)&&(t.colors=this.currentColors),(this.keepRoundness||e)&&(t.radii=this.currentRadii),{_pleroma_theme_version:2,theme:Yc({themeEngineVersion:Xs.a},this.previewTheme),source:t}},isActive:function(){var e=this.$parent;return!!e&&e.isActive("theme")}},components:{ColorInput:oo,OpacityInput:fo,RangeInput:po,ContrastRatio:fc,ShadowControl:Xo,FontControl:cc,TabSwitcher:O.a,Preview:zc,Checkbox:E.a,Select:Nt.a},methods:{loadTheme:function(e,t){var l=e.theme,a=e.source,n=e._pleroma_theme_version,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.dismissWarning(),!a&&!l)throw new Error("Can't load theme: empty");var o="localStorage"!==t||l.colors?n:"l1",c=(l||{}).themeEngineVersion,i=(a||{}).themeEngineVersion||2,r=i===Xs.a,b=void 0!==l&&void 0!==a&&i!==c,u=a&&s||!l;r&&!b||u||"l1"===o||"defaults"===t||(b&&"localStorage"===t?this.themeWarning={origin:t,themeEngineVersion:i,type:"snapshot_source_mismatch"}:l?r||(this.themeWarning={origin:t,noActionsPossible:!a,themeEngineVersion:i,type:"wrong_version"}):this.themeWarning={origin:t,noActionsPossible:!0,themeEngineVersion:i,type:"no_snapshot_old_version"}),this.normalizeLocalState(l,o,a,u)},forceLoadLocalStorage:function(){this.loadThemeFromLocalStorage(!0)},dismissWarning:function(){this.themeWarning=void 0,this.tempImportFile=void 0},forceLoad:function(){switch(this.themeWarning.origin){case"localStorage":this.loadThemeFromLocalStorage(!0);break;case"file":this.onImport(this.tempImportFile,!0)}this.dismissWarning()},forceSnapshot:function(){switch(this.themeWarning.origin){case"localStorage":this.loadThemeFromLocalStorage(!1,!0);break;case"file":console.error("Forcing snapshot from file is not supported yet")}this.dismissWarning()},loadThemeFromLocalStorage:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=this.$store.getters.mergedConfig,a=l.customTheme,n=l.customThemeSource;a||n?this.loadTheme({theme:a,source:t?a:n},"localStorage",e):this.loadTheme(this.$store.state.instance.themeData,"defaults",e)},setCustomTheme:function(){this.$store.dispatch("setOption",{name:"customTheme",value:Yc({themeEngineVersion:Xs.a},this.previewTheme)}),this.$store.dispatch("setOption",{name:"customThemeSource",value:{themeEngineVersion:Xs.a,shadows:this.shadowsLocal,fonts:this.fontsLocal,opacity:this.currentOpacity,colors:this.currentColors,radii:this.currentRadii}})},updatePreviewColorsAndShadows:function(){this.previewColors=Object(Ys.e)({opacity:this.currentOpacity,colors:this.currentColors}),this.previewShadows=Object(Ys.h)({shadows:this.shadowsLocal,opacity:this.previewTheme.opacity,themeEngineVersion:this.engineVersion},this.previewColors.theme.colors,this.previewColors.mod)},importTheme:function(){this.themeImporter.importData()},exportTheme:function(){this.themeExporter.exportData()},onImport:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.tempImportFile=e,this.loadTheme(e,"file",t)},onImportFailure:function(e){this.$store.dispatch("pushGlobalNotice",{messageKey:"settings.invalid_theme_imported",level:"error"})},importValidator:function(e){var t=e._pleroma_theme_version;return t>=1||t<=2},clearAll:function(){this.loadThemeFromLocalStorage()},clearV1:function(){var e=this;Object.keys(this.$data).filter((function(e){return e.endsWith("ColorLocal")||e.endsWith("OpacityLocal")})).filter((function(e){return!Zc.includes(e)})).forEach((function(t){e.$data[t]=void 0}))},clearRoundness:function(){var e=this;Object.keys(this.$data).filter((function(e){return e.endsWith("RadiusLocal")})).forEach((function(t){e.$data[t]=void 0}))},clearOpacity:function(){var e=this;Object.keys(this.$data).filter((function(e){return e.endsWith("OpacityLocal")})).forEach((function(t){e.$data[t]=void 0}))},clearShadows:function(){this.shadowsLocal={}},clearFonts:function(){this.fontsLocal={}},normalizeLocalState:function(e){var t,l=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];void 0!==n&&(s||n.themeEngineVersion===Xs.a)?(t=n,a=n.themeEngineVersion):t=e;var o=t.radii||t,c=t.opacity,i=t.shadows||{},r=t.fonts||{},b=t.themeEngineVersion?t.colors||t:Object(Ys.c)(t.colors||t);if(0===a&&(t.version&&(a=t.version),void 0===b.text&&void 0!==b.fg&&(a=1),void 0!==b.text&&void 0!==b.fg&&(a=2)),this.engineVersion=a,1===a&&(this.fgColorLocal=Object(Ks.i)(b.btn),this.textColorLocal=Object(Ks.i)(b.fg)),!this.keepColor){this.clearV1();var u=new Set(1!==a?Object.keys(Qs.c):[]);1!==a&&"l1"!==a||u.add("bg").add("link").add("cRed").add("cBlue").add("cGreen").add("cOrange"),u.forEach((function(e){var t=b[e],a=Object(Ks.i)(b[e]);l[e+"ColorLocal"]="#aN"===a?t:a}))}c&&!this.keepOpacity&&(this.clearOpacity(),Object.entries(c).forEach((function(e){var t=wt()(e,2),a=t[0],n=t[1];null==n||Number.isNaN(n)||(l[a+"OpacityLocal"]=n)}))),this.keepRoundness||(this.clearRoundness(),Object.entries(o).forEach((function(e){var t=wt()(e,2),a=t[0],n=t[1],s=a.endsWith("Radius")?a.split("Radius")[0]:a;l[s+"RadiusLocal"]=n}))),this.keepShadows||(this.clearShadows(),this.shadowsLocal=2===a?Object(Ys.m)(i,this.previewTheme.opacity):i,this.shadowSelected=this.shadowsAvailable[0]),this.keepFonts||(this.clearFonts(),this.fontsLocal=r)}},watch:{currentRadii:function(){try{this.previewRadii=Object(Ys.g)({radii:this.currentRadii}),this.radiiInvalid=!1}catch(e){this.radiiInvalid=!0,console.warn(e)}},shadowsLocal:{handler:function(){if(1!==Object.getOwnPropertyNames(this.previewColors).length)try{this.updatePreviewColorsAndShadows(),this.shadowsInvalid=!1}catch(e){this.shadowsInvalid=!0,console.warn(e)}},deep:!0},fontsLocal:{handler:function(){try{this.previewFonts=Object(Ys.f)({fonts:this.fontsLocal}),this.fontsInvalid=!1}catch(e){this.fontsInvalid=!0,console.warn(e)}},deep:!0},currentColors:function(){try{this.updatePreviewColorsAndShadows(),this.colorsInvalid=!1,this.shadowsInvalid=!1}catch(e){this.colorsInvalid=!0,this.shadowsInvalid=!0,console.warn(e)}},currentOpacity:function(){try{this.updatePreviewColorsAndShadows()}catch(e){console.warn(e)}},selected:function(){var e=this;this.selectedTheme=Object.entries(this.availableStyles).find((function(t){var l=wt()(t,2),a=(l[0],l[1]);return Array.isArray(a)?(console.log(a[0]===e.selected,e.selected),a[0]===e.selected):a.name===e.selected}))[1]},selectedTheme:function(){this.dismissWarning(),1===this.selectedVersion?(this.keepRoundness||this.clearRoundness(),this.keepShadows||this.clearShadows(),this.keepOpacity||this.clearOpacity(),this.keepColor||(this.clearV1(),this.bgColorLocal=this.selectedTheme[1],this.fgColorLocal=this.selectedTheme[2],this.textColorLocal=this.selectedTheme[3],this.linkColorLocal=this.selectedTheme[4],this.cRedColorLocal=this.selectedTheme[5],this.cGreenColorLocal=this.selectedTheme[6],this.cBlueColorLocal=this.selectedTheme[7],this.cOrangeColorLocal=this.selectedTheme[8])):this.selectedVersion>=2&&this.normalizeLocalState(this.selectedTheme.theme,2,this.selectedTheme.source)}}};l(706);var Xc=D()(Qc,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("Select"),i=Object(a.J)("Checkbox"),r=Object(a.J)("preview"),b=Object(a.J)("ColorInput"),u=Object(a.J)("OpacityInput"),d=Object(a.J)("ContrastRatio"),O=Object(a.J)("RangeInput"),p=Object(a.J)("ShadowControl"),j=Object(a.J)("i18n-t"),m=Object(a.J)("FontControl"),h=Object(a.J)("tab-switcher");return Object(a.D)(),Object(a.j)("div",Mn,[Object(a.k)("div",An,[Object(a.k)("div",Rn,[e.themeWarning?(Object(a.D)(),Object(a.j)("div",Wn,[Object(a.k)("div",Jn,Object(a.O)(e.themeWarningHelp),1),Object(a.k)("div",Nn,["snapshot_source_mismatch"===e.themeWarning.type?(Object(a.D)(),Object(a.j)(a.a,{key:0},[Object(a.k)("button",{class:"btn button-default",onClick:t[0]||(t[0]=(...t)=>e.forceLoad&&e.forceLoad(...t))},Object(a.O)(e.$t("settings.style.switcher.use_source")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[1]||(t[1]=(...t)=>e.forceSnapshot&&e.forceSnapshot(...t))},Object(a.O)(e.$t("settings.style.switcher.use_snapshot")),1)],64)):e.themeWarning.noActionsPossible?(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",onClick:t[2]||(t[2]=(...t)=>e.dismissWarning&&e.dismissWarning(...t))},Object(a.O)(e.$t("general.dismiss")),1)):(Object(a.D)(),Object(a.j)(a.a,{key:2},[Object(a.k)("button",{class:"btn button-default",onClick:t[3]||(t[3]=(...t)=>e.forceLoad&&e.forceLoad(...t))},Object(a.O)(e.$t("settings.style.switcher.load_theme")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[4]||(t[4]=(...t)=>e.dismissWarning&&e.dismissWarning(...t))},Object(a.O)(e.$t("settings.style.switcher.keep_as_is")),1)],64))])])):Object(a.i)("",!0),Object(a.k)("div",qn,[Object(a.k)("div",Gn,[Object(a.l)(Object(a.O)(e.$t("settings.presets"))+" ",1),Object(a.k)("label",Hn,[Object(a.m)(c,{id:"preset-switcher",modelValue:e.selected,"onUpdate:modelValue":t[5]||(t[5]=t=>e.selected=t),class:"preset-switcher"},{default:Object(a.V)(()=>[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.availableStyles,e=>(Object(a.D)(),Object(a.j)("option",{key:e.name,value:e.name||e[0],style:Object(a.x)({backgroundColor:e[1]||(e.theme||e.source).colors.bg,color:e[3]||(e.theme||e.source).colors.text})},Object(a.O)(e[0]||e.name),13,zn))),128))]),_:1},8,["modelValue"])])]),Object(a.k)("div",Kn,[Object(a.k)("button",{class:"btn button-default",onClick:t[6]||(t[6]=(...t)=>e.importTheme&&e.importTheme(...t))},Object(a.O)(e.$t("settings.import_theme")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[7]||(t[7]=(...t)=>e.exportTheme&&e.exportTheme(...t))},Object(a.O)(e.$t("settings.export_theme")),1)])])]),Object(a.k)("div",Yn,[Object(a.k)("span",Zn,[Object(a.m)(i,{modelValue:e.keepColor,"onUpdate:modelValue":t[8]||(t[8]=t=>e.keepColor=t)},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.style.switcher.keep_color")),1)]),_:1},8,["modelValue"])]),Object(a.k)("span",Qn,[Object(a.m)(i,{modelValue:e.keepShadows,"onUpdate:modelValue":t[9]||(t[9]=t=>e.keepShadows=t)},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.style.switcher.keep_shadows")),1)]),_:1},8,["modelValue"])]),Object(a.k)("span",Xn,[Object(a.m)(i,{modelValue:e.keepOpacity,"onUpdate:modelValue":t[10]||(t[10]=t=>e.keepOpacity=t)},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.style.switcher.keep_opacity")),1)]),_:1},8,["modelValue"])]),Object(a.k)("span",es,[Object(a.m)(i,{modelValue:e.keepRoundness,"onUpdate:modelValue":t[11]||(t[11]=t=>e.keepRoundness=t)},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.style.switcher.keep_roundness")),1)]),_:1},8,["modelValue"])]),Object(a.k)("span",ts,[Object(a.m)(i,{modelValue:e.keepFonts,"onUpdate:modelValue":t[12]||(t[12]=t=>e.keepFonts=t)},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.style.switcher.keep_fonts")),1)]),_:1},8,["modelValue"])]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.style.switcher.save_load_hint")),1)])]),Object(a.m)(r,{style:Object(a.x)(e.previewRules)},null,8,["style"]),(Object(a.D)(),Object(a.h)(a.b,null,[Object(a.m)(h,{key:"style-tweak"},{default:Object(a.V)(()=>[Object(a.k)("div",{label:e.$t("settings.style.common_colors._tab_label"),class:"color-container"},[Object(a.k)("div",as,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.theme_help")),1),Object(a.k)("div",ns,[Object(a.k)("button",{class:"btn button-default",onClick:t[13]||(t[13]=(...t)=>e.clearOpacity&&e.clearOpacity(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_opacity")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[14]||(t[14]=(...t)=>e.clearV1&&e.clearV1(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_all")),1)])]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.theme_help_v2_1")),1),Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.common_colors.main")),1),Object(a.k)("div",ss,[Object(a.m)(b,{modelValue:e.bgColorLocal,"onUpdate:modelValue":t[15]||(t[15]=t=>e.bgColorLocal=t),name:"bgColor",label:e.$t("settings.background")},null,8,["modelValue","label"]),Object(a.m)(u,{modelValue:e.bgOpacityLocal,"onUpdate:modelValue":t[16]||(t[16]=t=>e.bgOpacityLocal=t),name:"bgOpacity",fallback:e.previewTheme.opacity.bg},null,8,["modelValue","fallback"]),Object(a.m)(b,{modelValue:e.textColorLocal,"onUpdate:modelValue":t[17]||(t[17]=t=>e.textColorLocal=t),name:"textColor",label:e.$t("settings.text")},null,8,["modelValue","label"]),Object(a.m)(d,{contrast:e.previewContrast.bgText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.accentColorLocal,"onUpdate:modelValue":t[18]||(t[18]=t=>e.accentColorLocal=t),name:"accentColor",fallback:e.previewTheme.colors.link,label:e.$t("settings.accent"),"show-optional-tickbox":void 0!==e.linkColorLocal},null,8,["modelValue","fallback","label","show-optional-tickbox"]),Object(a.m)(b,{modelValue:e.linkColorLocal,"onUpdate:modelValue":t[19]||(t[19]=t=>e.linkColorLocal=t),name:"linkColor",fallback:e.previewTheme.colors.accent,label:e.$t("settings.links"),"show-optional-tickbox":void 0!==e.accentColorLocal},null,8,["modelValue","fallback","label","show-optional-tickbox"]),Object(a.m)(d,{contrast:e.previewContrast.bgLink},null,8,["contrast"])]),Object(a.k)("div",os,[Object(a.m)(b,{modelValue:e.fgColorLocal,"onUpdate:modelValue":t[20]||(t[20]=t=>e.fgColorLocal=t),name:"fgColor",label:e.$t("settings.foreground")},null,8,["modelValue","label"]),Object(a.m)(b,{modelValue:e.fgTextColorLocal,"onUpdate:modelValue":t[21]||(t[21]=t=>e.fgTextColorLocal=t),name:"fgTextColor",label:e.$t("settings.text"),fallback:e.previewTheme.colors.fgText},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.fgLinkColorLocal,"onUpdate:modelValue":t[22]||(t[22]=t=>e.fgLinkColorLocal=t),name:"fgLinkColor",label:e.$t("settings.links"),fallback:e.previewTheme.colors.fgLink},null,8,["modelValue","label","fallback"]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.style.common_colors.foreground_hint")),1)]),Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.common_colors.rgbo")),1),Object(a.k)("div",cs,[Object(a.m)(b,{modelValue:e.cRedColorLocal,"onUpdate:modelValue":t[23]||(t[23]=t=>e.cRedColorLocal=t),name:"cRedColor",label:e.$t("settings.cRed")},null,8,["modelValue","label"]),Object(a.m)(d,{contrast:e.previewContrast.bgCRed},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.cBlueColorLocal,"onUpdate:modelValue":t[24]||(t[24]=t=>e.cBlueColorLocal=t),name:"cBlueColor",label:e.$t("settings.cBlue")},null,8,["modelValue","label"]),Object(a.m)(d,{contrast:e.previewContrast.bgCBlue},null,8,["contrast"])]),Object(a.k)("div",is,[Object(a.m)(b,{modelValue:e.cGreenColorLocal,"onUpdate:modelValue":t[25]||(t[25]=t=>e.cGreenColorLocal=t),name:"cGreenColor",label:e.$t("settings.cGreen")},null,8,["modelValue","label"]),Object(a.m)(d,{contrast:e.previewContrast.bgCGreen},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.cOrangeColorLocal,"onUpdate:modelValue":t[26]||(t[26]=t=>e.cOrangeColorLocal=t),name:"cOrangeColor",label:e.$t("settings.cOrange")},null,8,["modelValue","label"]),Object(a.m)(d,{contrast:e.previewContrast.bgCOrange},null,8,["contrast"])]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.theme_help_v2_2")),1)],8,ls),Object(a.k)("div",{label:e.$t("settings.style.advanced_colors._tab_label"),class:"color-container"},[Object(a.k)("div",bs,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.theme_help")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[27]||(t[27]=(...t)=>e.clearOpacity&&e.clearOpacity(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_opacity")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[28]||(t[28]=(...t)=>e.clearV1&&e.clearV1(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_all")),1)]),Object(a.k)("div",us,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.post")),1),Object(a.m)(b,{modelValue:e.postLinkColorLocal,"onUpdate:modelValue":t[29]||(t[29]=t=>e.postLinkColorLocal=t),name:"postLinkColor",fallback:e.previewTheme.colors.accent,label:e.$t("settings.links")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.postLink},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.postGreentextColorLocal,"onUpdate:modelValue":t[30]||(t[30]=t=>e.postGreentextColorLocal=t),name:"postGreentextColor",fallback:e.previewTheme.colors.cGreen,label:e.$t("settings.greentext")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.postGreentext},null,8,["contrast"]),Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.alert")),1),Object(a.m)(b,{modelValue:e.alertErrorColorLocal,"onUpdate:modelValue":t[31]||(t[31]=t=>e.alertErrorColorLocal=t),name:"alertError",label:e.$t("settings.style.advanced_colors.alert_error"),fallback:e.previewTheme.colors.alertError},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.alertErrorTextColorLocal,"onUpdate:modelValue":t[32]||(t[32]=t=>e.alertErrorTextColorLocal=t),name:"alertErrorText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.alertErrorText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.alertErrorText,large:""},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.alertWarningColorLocal,"onUpdate:modelValue":t[33]||(t[33]=t=>e.alertWarningColorLocal=t),name:"alertWarning",label:e.$t("settings.style.advanced_colors.alert_warning"),fallback:e.previewTheme.colors.alertWarning},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.alertWarningTextColorLocal,"onUpdate:modelValue":t[34]||(t[34]=t=>e.alertWarningTextColorLocal=t),name:"alertWarningText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.alertWarningText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.alertWarningText,large:""},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.alertNeutralColorLocal,"onUpdate:modelValue":t[35]||(t[35]=t=>e.alertNeutralColorLocal=t),name:"alertNeutral",label:e.$t("settings.style.advanced_colors.alert_neutral"),fallback:e.previewTheme.colors.alertNeutral},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.alertNeutralTextColorLocal,"onUpdate:modelValue":t[36]||(t[36]=t=>e.alertNeutralTextColorLocal=t),name:"alertNeutralText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.alertNeutralText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.alertNeutralText,large:""},null,8,["contrast"]),Object(a.m)(u,{modelValue:e.alertOpacityLocal,"onUpdate:modelValue":t[37]||(t[37]=t=>e.alertOpacityLocal=t),name:"alertOpacity",fallback:e.previewTheme.opacity.alert},null,8,["modelValue","fallback"])]),Object(a.k)("div",ds,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.badge")),1),Object(a.m)(b,{modelValue:e.badgeNotificationColorLocal,"onUpdate:modelValue":t[38]||(t[38]=t=>e.badgeNotificationColorLocal=t),name:"badgeNotification",label:e.$t("settings.style.advanced_colors.badge_notification"),fallback:e.previewTheme.colors.badgeNotification},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.badgeNotificationTextColorLocal,"onUpdate:modelValue":t[39]||(t[39]=t=>e.badgeNotificationTextColorLocal=t),name:"badgeNotificationText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.badgeNotificationText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.badgeNotificationText,large:""},null,8,["contrast"])]),Object(a.k)("div",Os,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.panel_header")),1),Object(a.m)(b,{modelValue:e.panelColorLocal,"onUpdate:modelValue":t[40]||(t[40]=t=>e.panelColorLocal=t),name:"panelColor",fallback:e.previewTheme.colors.panel,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(u,{modelValue:e.panelOpacityLocal,"onUpdate:modelValue":t[41]||(t[41]=t=>e.panelOpacityLocal=t),name:"panelOpacity",fallback:e.previewTheme.opacity.panel,disabled:"transparent"===e.panelColorLocal},null,8,["modelValue","fallback","disabled"]),Object(a.m)(b,{modelValue:e.panelTextColorLocal,"onUpdate:modelValue":t[42]||(t[42]=t=>e.panelTextColorLocal=t),name:"panelTextColor",fallback:e.previewTheme.colors.panelText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.panelText,large:""},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.panelLinkColorLocal,"onUpdate:modelValue":t[43]||(t[43]=t=>e.panelLinkColorLocal=t),name:"panelLinkColor",fallback:e.previewTheme.colors.panelLink,label:e.$t("settings.links")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.panelLink,large:""},null,8,["contrast"])]),Object(a.k)("div",ps,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.top_bar")),1),Object(a.m)(b,{modelValue:e.topBarColorLocal,"onUpdate:modelValue":t[44]||(t[44]=t=>e.topBarColorLocal=t),name:"topBarColor",fallback:e.previewTheme.colors.topBar,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.topBarTextColorLocal,"onUpdate:modelValue":t[45]||(t[45]=t=>e.topBarTextColorLocal=t),name:"topBarTextColor",fallback:e.previewTheme.colors.topBarText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.topBarText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.topBarLinkColorLocal,"onUpdate:modelValue":t[46]||(t[46]=t=>e.topBarLinkColorLocal=t),name:"topBarLinkColor",fallback:e.previewTheme.colors.topBarLink,label:e.$t("settings.links")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.topBarLink},null,8,["contrast"])]),Object(a.k)("div",js,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.inputs")),1),Object(a.m)(b,{modelValue:e.inputColorLocal,"onUpdate:modelValue":t[47]||(t[47]=t=>e.inputColorLocal=t),name:"inputColor",fallback:e.previewTheme.colors.input,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(u,{modelValue:e.inputOpacityLocal,"onUpdate:modelValue":t[48]||(t[48]=t=>e.inputOpacityLocal=t),name:"inputOpacity",fallback:e.previewTheme.opacity.input,disabled:"transparent"===e.inputColorLocal},null,8,["modelValue","fallback","disabled"]),Object(a.m)(b,{modelValue:e.inputTextColorLocal,"onUpdate:modelValue":t[49]||(t[49]=t=>e.inputTextColorLocal=t),name:"inputTextColor",fallback:e.previewTheme.colors.inputText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.inputText},null,8,["contrast"])]),Object(a.k)("div",ms,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.buttons")),1),Object(a.m)(b,{modelValue:e.btnColorLocal,"onUpdate:modelValue":t[50]||(t[50]=t=>e.btnColorLocal=t),name:"btnColor",fallback:e.previewTheme.colors.btn,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(u,{modelValue:e.btnOpacityLocal,"onUpdate:modelValue":t[51]||(t[51]=t=>e.btnOpacityLocal=t),name:"btnOpacity",fallback:e.previewTheme.opacity.btn,disabled:"transparent"===e.btnColorLocal},null,8,["modelValue","fallback","disabled"]),Object(a.m)(b,{modelValue:e.btnTextColorLocal,"onUpdate:modelValue":t[52]||(t[52]=t=>e.btnTextColorLocal=t),name:"btnTextColor",fallback:e.previewTheme.colors.btnText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.btnPanelTextColorLocal,"onUpdate:modelValue":t[53]||(t[53]=t=>e.btnPanelTextColorLocal=t),name:"btnPanelTextColor",fallback:e.previewTheme.colors.btnPanelText,label:e.$t("settings.style.advanced_colors.panel_header")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnPanelText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.btnTopBarTextColorLocal,"onUpdate:modelValue":t[54]||(t[54]=t=>e.btnTopBarTextColorLocal=t),name:"btnTopBarTextColor",fallback:e.previewTheme.colors.btnTopBarText,label:e.$t("settings.style.advanced_colors.top_bar")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnTopBarText},null,8,["contrast"]),Object(a.k)("h5",null,Object(a.O)(e.$t("settings.style.advanced_colors.pressed")),1),Object(a.m)(b,{modelValue:e.btnPressedColorLocal,"onUpdate:modelValue":t[55]||(t[55]=t=>e.btnPressedColorLocal=t),name:"btnPressedColor",fallback:e.previewTheme.colors.btnPressed,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.btnPressedTextColorLocal,"onUpdate:modelValue":t[56]||(t[56]=t=>e.btnPressedTextColorLocal=t),name:"btnPressedTextColor",fallback:e.previewTheme.colors.btnPressedText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnPressedText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.btnPressedPanelTextColorLocal,"onUpdate:modelValue":t[57]||(t[57]=t=>e.btnPressedPanelTextColorLocal=t),name:"btnPressedPanelTextColor",fallback:e.previewTheme.colors.btnPressedPanelText,label:e.$t("settings.style.advanced_colors.panel_header")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnPressedPanelText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.btnPressedTopBarTextColorLocal,"onUpdate:modelValue":t[58]||(t[58]=t=>e.btnPressedTopBarTextColorLocal=t),name:"btnPressedTopBarTextColor",fallback:e.previewTheme.colors.btnPressedTopBarText,label:e.$t("settings.style.advanced_colors.top_bar")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnPressedTopBarText},null,8,["contrast"]),Object(a.k)("h5",null,Object(a.O)(e.$t("settings.style.advanced_colors.disabled")),1),Object(a.m)(b,{modelValue:e.btnDisabledColorLocal,"onUpdate:modelValue":t[59]||(t[59]=t=>e.btnDisabledColorLocal=t),name:"btnDisabledColor",fallback:e.previewTheme.colors.btnDisabled,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.btnDisabledTextColorLocal,"onUpdate:modelValue":t[60]||(t[60]=t=>e.btnDisabledTextColorLocal=t),name:"btnDisabledTextColor",fallback:e.previewTheme.colors.btnDisabledText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.btnDisabledPanelTextColorLocal,"onUpdate:modelValue":t[61]||(t[61]=t=>e.btnDisabledPanelTextColorLocal=t),name:"btnDisabledPanelTextColor",fallback:e.previewTheme.colors.btnDisabledPanelText,label:e.$t("settings.style.advanced_colors.panel_header")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.btnDisabledTopBarTextColorLocal,"onUpdate:modelValue":t[62]||(t[62]=t=>e.btnDisabledTopBarTextColorLocal=t),name:"btnDisabledTopBarTextColor",fallback:e.previewTheme.colors.btnDisabledTopBarText,label:e.$t("settings.style.advanced_colors.top_bar")},null,8,["modelValue","fallback","label"]),Object(a.k)("h5",null,Object(a.O)(e.$t("settings.style.advanced_colors.toggled")),1),Object(a.m)(b,{modelValue:e.btnToggledColorLocal,"onUpdate:modelValue":t[63]||(t[63]=t=>e.btnToggledColorLocal=t),name:"btnToggledColor",fallback:e.previewTheme.colors.btnToggled,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.btnToggledTextColorLocal,"onUpdate:modelValue":t[64]||(t[64]=t=>e.btnToggledTextColorLocal=t),name:"btnToggledTextColor",fallback:e.previewTheme.colors.btnToggledText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnToggledText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.btnToggledPanelTextColorLocal,"onUpdate:modelValue":t[65]||(t[65]=t=>e.btnToggledPanelTextColorLocal=t),name:"btnToggledPanelTextColor",fallback:e.previewTheme.colors.btnToggledPanelText,label:e.$t("settings.style.advanced_colors.panel_header")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnToggledPanelText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.btnToggledTopBarTextColorLocal,"onUpdate:modelValue":t[66]||(t[66]=t=>e.btnToggledTopBarTextColorLocal=t),name:"btnToggledTopBarTextColor",fallback:e.previewTheme.colors.btnToggledTopBarText,label:e.$t("settings.style.advanced_colors.top_bar")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnToggledTopBarText},null,8,["contrast"])]),Object(a.k)("div",hs,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.tabs")),1),Object(a.m)(b,{modelValue:e.tabColorLocal,"onUpdate:modelValue":t[67]||(t[67]=t=>e.tabColorLocal=t),name:"tabColor",fallback:e.previewTheme.colors.tab,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.tabTextColorLocal,"onUpdate:modelValue":t[68]||(t[68]=t=>e.tabTextColorLocal=t),name:"tabTextColor",fallback:e.previewTheme.colors.tabText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.tabText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.tabActiveTextColorLocal,"onUpdate:modelValue":t[69]||(t[69]=t=>e.tabActiveTextColorLocal=t),name:"tabActiveTextColor",fallback:e.previewTheme.colors.tabActiveText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.tabActiveText},null,8,["contrast"])]),Object(a.k)("div",fs,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.borders")),1),Object(a.m)(b,{modelValue:e.borderColorLocal,"onUpdate:modelValue":t[70]||(t[70]=t=>e.borderColorLocal=t),name:"borderColor",fallback:e.previewTheme.colors.border,label:e.$t("settings.style.common.color")},null,8,["modelValue","fallback","label"]),Object(a.m)(u,{modelValue:e.borderOpacityLocal,"onUpdate:modelValue":t[71]||(t[71]=t=>e.borderOpacityLocal=t),name:"borderOpacity",fallback:e.previewTheme.opacity.border,disabled:"transparent"===e.borderColorLocal},null,8,["modelValue","fallback","disabled"])]),Object(a.k)("div",gs,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.faint_text")),1),Object(a.m)(b,{modelValue:e.faintColorLocal,"onUpdate:modelValue":t[72]||(t[72]=t=>e.faintColorLocal=t),name:"faintColor",fallback:e.previewTheme.colors.faint,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.faintLinkColorLocal,"onUpdate:modelValue":t[73]||(t[73]=t=>e.faintLinkColorLocal=t),name:"faintLinkColor",fallback:e.previewTheme.colors.faintLink,label:e.$t("settings.links")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.panelFaintColorLocal,"onUpdate:modelValue":t[74]||(t[74]=t=>e.panelFaintColorLocal=t),name:"panelFaintColor",fallback:e.previewTheme.colors.panelFaint,label:e.$t("settings.style.advanced_colors.panel_header")},null,8,["modelValue","fallback","label"]),Object(a.m)(u,{modelValue:e.faintOpacityLocal,"onUpdate:modelValue":t[75]||(t[75]=t=>e.faintOpacityLocal=t),name:"faintOpacity",fallback:e.previewTheme.opacity.faint},null,8,["modelValue","fallback"])]),Object(a.k)("div",ks,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.underlay")),1),Object(a.m)(b,{modelValue:e.underlayColorLocal,"onUpdate:modelValue":t[76]||(t[76]=t=>e.underlayColorLocal=t),name:"underlay",label:e.$t("settings.style.advanced_colors.underlay"),fallback:e.previewTheme.colors.underlay},null,8,["modelValue","label","fallback"]),Object(a.m)(u,{modelValue:e.underlayOpacityLocal,"onUpdate:modelValue":t[77]||(t[77]=t=>e.underlayOpacityLocal=t),name:"underlayOpacity",fallback:e.previewTheme.opacity.underlay,disabled:"transparent"===e.underlayOpacityLocal},null,8,["modelValue","fallback","disabled"])]),Object(a.k)("div",vs,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.wallpaper")),1),Object(a.m)(b,{modelValue:e.wallpaperColorLocal,"onUpdate:modelValue":t[78]||(t[78]=t=>e.wallpaperColorLocal=t),name:"wallpaper",label:e.$t("settings.style.advanced_colors.wallpaper"),fallback:e.previewTheme.colors.wallpaper},null,8,["modelValue","label","fallback"])]),Object(a.k)("div",ys,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.poll")),1),Object(a.m)(b,{modelValue:e.pollColorLocal,"onUpdate:modelValue":t[79]||(t[79]=t=>e.pollColorLocal=t),name:"poll",label:e.$t("settings.background"),fallback:e.previewTheme.colors.poll},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.pollTextColorLocal,"onUpdate:modelValue":t[80]||(t[80]=t=>e.pollTextColorLocal=t),name:"pollText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.pollText},null,8,["modelValue","label","fallback"])]),Object(a.k)("div",ws,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.icons")),1),Object(a.m)(b,{modelValue:e.iconColorLocal,"onUpdate:modelValue":t[81]||(t[81]=t=>e.iconColorLocal=t),name:"icon",label:e.$t("settings.style.advanced_colors.icons"),fallback:e.previewTheme.colors.icon},null,8,["modelValue","label","fallback"])]),Object(a.k)("div",_s,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.highlight")),1),Object(a.m)(b,{modelValue:e.highlightColorLocal,"onUpdate:modelValue":t[82]||(t[82]=t=>e.highlightColorLocal=t),name:"highlight",label:e.$t("settings.background"),fallback:e.previewTheme.colors.highlight},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.highlightTextColorLocal,"onUpdate:modelValue":t[83]||(t[83]=t=>e.highlightTextColorLocal=t),name:"highlightText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.highlightText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.highlightText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.highlightLinkColorLocal,"onUpdate:modelValue":t[84]||(t[84]=t=>e.highlightLinkColorLocal=t),name:"highlightLink",label:e.$t("settings.links"),fallback:e.previewTheme.colors.highlightLink},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.highlightLink},null,8,["contrast"])]),Object(a.k)("div",Vs,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.popover")),1),Object(a.m)(b,{modelValue:e.popoverColorLocal,"onUpdate:modelValue":t[85]||(t[85]=t=>e.popoverColorLocal=t),name:"popover",label:e.$t("settings.background"),fallback:e.previewTheme.colors.popover},null,8,["modelValue","label","fallback"]),Object(a.m)(u,{modelValue:e.popoverOpacityLocal,"onUpdate:modelValue":t[86]||(t[86]=t=>e.popoverOpacityLocal=t),name:"popoverOpacity",fallback:e.previewTheme.opacity.popover,disabled:"transparent"===e.popoverOpacityLocal},null,8,["modelValue","fallback","disabled"]),Object(a.m)(b,{modelValue:e.popoverTextColorLocal,"onUpdate:modelValue":t[87]||(t[87]=t=>e.popoverTextColorLocal=t),name:"popoverText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.popoverText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.popoverText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.popoverLinkColorLocal,"onUpdate:modelValue":t[88]||(t[88]=t=>e.popoverLinkColorLocal=t),name:"popoverLink",label:e.$t("settings.links"),fallback:e.previewTheme.colors.popoverLink},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.popoverLink},null,8,["contrast"])]),Object(a.k)("div",$s,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.selectedPost")),1),Object(a.m)(b,{modelValue:e.selectedPostColorLocal,"onUpdate:modelValue":t[89]||(t[89]=t=>e.selectedPostColorLocal=t),name:"selectedPost",label:e.$t("settings.background"),fallback:e.previewTheme.colors.selectedPost},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.selectedPostTextColorLocal,"onUpdate:modelValue":t[90]||(t[90]=t=>e.selectedPostTextColorLocal=t),name:"selectedPostText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.selectedPostText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.selectedPostText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.selectedPostLinkColorLocal,"onUpdate:modelValue":t[91]||(t[91]=t=>e.selectedPostLinkColorLocal=t),name:"selectedPostLink",label:e.$t("settings.links"),fallback:e.previewTheme.colors.selectedPostLink},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.selectedPostLink},null,8,["contrast"])]),Object(a.k)("div",Cs,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.selectedMenu")),1),Object(a.m)(b,{modelValue:e.selectedMenuColorLocal,"onUpdate:modelValue":t[92]||(t[92]=t=>e.selectedMenuColorLocal=t),name:"selectedMenu",label:e.$t("settings.background"),fallback:e.previewTheme.colors.selectedMenu},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.selectedMenuTextColorLocal,"onUpdate:modelValue":t[93]||(t[93]=t=>e.selectedMenuTextColorLocal=t),name:"selectedMenuText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.selectedMenuText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.selectedMenuText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.selectedMenuLinkColorLocal,"onUpdate:modelValue":t[94]||(t[94]=t=>e.selectedMenuLinkColorLocal=t),name:"selectedMenuLink",label:e.$t("settings.links"),fallback:e.previewTheme.colors.selectedMenuLink},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.selectedMenuLink},null,8,["contrast"])]),Object(a.k)("div",Ts,[Object(a.k)("h4",null,Object(a.O)(e.$t("chats.chats")),1),Object(a.m)(b,{modelValue:e.chatBgColorLocal,"onUpdate:modelValue":t[95]||(t[95]=t=>e.chatBgColorLocal=t),name:"chatBgColor",fallback:e.previewTheme.colors.bg,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.k)("h5",null,Object(a.O)(e.$t("settings.style.advanced_colors.chat.incoming")),1),Object(a.m)(b,{modelValue:e.chatMessageIncomingBgColorLocal,"onUpdate:modelValue":t[96]||(t[96]=t=>e.chatMessageIncomingBgColorLocal=t),name:"chatMessageIncomingBgColor",fallback:e.previewTheme.colors.bg,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.chatMessageIncomingTextColorLocal,"onUpdate:modelValue":t[97]||(t[97]=t=>e.chatMessageIncomingTextColorLocal=t),name:"chatMessageIncomingTextColor",fallback:e.previewTheme.colors.text,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.chatMessageIncomingLinkColorLocal,"onUpdate:modelValue":t[98]||(t[98]=t=>e.chatMessageIncomingLinkColorLocal=t),name:"chatMessageIncomingLinkColor",fallback:e.previewTheme.colors.link,label:e.$t("settings.links")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.chatMessageIncomingBorderColorLocal,"onUpdate:modelValue":t[99]||(t[99]=t=>e.chatMessageIncomingBorderColorLocal=t),name:"chatMessageIncomingBorderLinkColor",fallback:e.previewTheme.colors.fg,label:e.$t("settings.style.advanced_colors.chat.border")},null,8,["modelValue","fallback","label"]),Object(a.k)("h5",null,Object(a.O)(e.$t("settings.style.advanced_colors.chat.outgoing")),1),Object(a.m)(b,{modelValue:e.chatMessageOutgoingBgColorLocal,"onUpdate:modelValue":t[100]||(t[100]=t=>e.chatMessageOutgoingBgColorLocal=t),name:"chatMessageOutgoingBgColor",fallback:e.previewTheme.colors.bg,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.chatMessageOutgoingTextColorLocal,"onUpdate:modelValue":t[101]||(t[101]=t=>e.chatMessageOutgoingTextColorLocal=t),name:"chatMessageOutgoingTextColor",fallback:e.previewTheme.colors.text,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.chatMessageOutgoingLinkColorLocal,"onUpdate:modelValue":t[102]||(t[102]=t=>e.chatMessageOutgoingLinkColorLocal=t),name:"chatMessageOutgoingLinkColor",fallback:e.previewTheme.colors.link,label:e.$t("settings.links")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.chatMessageOutgoingBorderColorLocal,"onUpdate:modelValue":t[103]||(t[103]=t=>e.chatMessageOutgoingBorderColorLocal=t),name:"chatMessageOutgoingBorderLinkColor",fallback:e.previewTheme.colors.bg,label:e.$t("settings.style.advanced_colors.chat.border")},null,8,["modelValue","fallback","label"])])],8,rs),Object(a.k)("div",{label:e.$t("settings.style.radii._tab_label"),class:"radius-container"},[Object(a.k)("div",Ls,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.radii_help")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[104]||(t[104]=(...t)=>e.clearRoundness&&e.clearRoundness(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_all")),1)]),Object(a.m)(O,{modelValue:e.btnRadiusLocal,"onUpdate:modelValue":t[105]||(t[105]=t=>e.btnRadiusLocal=t),name:"btnRadius",label:e.$t("settings.btnRadius"),fallback:e.previewTheme.radii.btn,max:"16","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.inputRadiusLocal,"onUpdate:modelValue":t[106]||(t[106]=t=>e.inputRadiusLocal=t),name:"inputRadius",label:e.$t("settings.inputRadius"),fallback:e.previewTheme.radii.input,max:"9","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.checkboxRadiusLocal,"onUpdate:modelValue":t[107]||(t[107]=t=>e.checkboxRadiusLocal=t),name:"checkboxRadius",label:e.$t("settings.checkboxRadius"),fallback:e.previewTheme.radii.checkbox,max:"16","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.panelRadiusLocal,"onUpdate:modelValue":t[108]||(t[108]=t=>e.panelRadiusLocal=t),name:"panelRadius",label:e.$t("settings.panelRadius"),fallback:e.previewTheme.radii.panel,max:"50","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.avatarRadiusLocal,"onUpdate:modelValue":t[109]||(t[109]=t=>e.avatarRadiusLocal=t),name:"avatarRadius",label:e.$t("settings.avatarRadius"),fallback:e.previewTheme.radii.avatar,max:"28","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.avatarAltRadiusLocal,"onUpdate:modelValue":t[110]||(t[110]=t=>e.avatarAltRadiusLocal=t),name:"avatarAltRadius",label:e.$t("settings.avatarAltRadius"),fallback:e.previewTheme.radii.avatarAlt,max:"28","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.attachmentRadiusLocal,"onUpdate:modelValue":t[111]||(t[111]=t=>e.attachmentRadiusLocal=t),name:"attachmentRadius",label:e.$t("settings.attachmentRadius"),fallback:e.previewTheme.radii.attachment,max:"50","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.tooltipRadiusLocal,"onUpdate:modelValue":t[112]||(t[112]=t=>e.tooltipRadiusLocal=t),name:"tooltipRadius",label:e.$t("settings.tooltipRadius"),fallback:e.previewTheme.radii.tooltip,max:"50","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.chatMessageRadiusLocal,"onUpdate:modelValue":t[113]||(t[113]=t=>e.chatMessageRadiusLocal=t),name:"chatMessageRadius",label:e.$t("settings.chatMessageRadius"),fallback:e.previewTheme.radii.chatMessage||2,max:"50","hard-min":"0"},null,8,["modelValue","label","fallback"])],8,xs),Object(a.k)("div",{label:e.$t("settings.style.shadows._tab_label"),class:"shadow-container"},[Object(a.k)("div",Ds,[Object(a.k)("div",Ps,[Object(a.l)(Object(a.O)(e.$t("settings.style.shadows.component"))+" "+Object(a.O)(" ")+" ",1),Object(a.m)(c,{id:"shadow-switcher",modelValue:e.shadowSelected,"onUpdate:modelValue":t[114]||(t[114]=t=>e.shadowSelected=t),class:"shadow-switcher"},{default:Object(a.V)(()=>[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.shadowsAvailable,t=>(Object(a.D)(),Object(a.j)("option",{key:t,value:t},Object(a.O)(e.$t("settings.style.shadows.components."+t)),9,Us))),128))]),_:1},8,["modelValue"])]),Object(a.k)("div",Is,[Object(a.k)("label",Bs,Object(a.O)(e.$t("settings.style.shadows.override")),1),Fs,Object(a.W)(Object(a.k)("input",{id:"override","onUpdate:modelValue":t[115]||(t[115]=t=>e.currentShadowOverriden=t),name:"override",class:"input-override",type:"checkbox"},null,512),[[a.R,e.currentShadowOverriden]]),Es]),Object(a.k)("button",{class:"btn button-default",onClick:t[116]||(t[116]=(...t)=>e.clearShadows&&e.clearShadows(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_all")),1)]),Object(a.m)(p,{modelValue:e.currentShadow,"onUpdate:modelValue":t[117]||(t[117]=t=>e.currentShadow=t),ready:!!e.currentShadowFallback,fallback:e.currentShadowFallback},null,8,["modelValue","ready","fallback"]),"avatar"===e.shadowSelected||"avatarStatus"===e.shadowSelected?(Object(a.D)(),Object(a.j)("div",Ms,[Object(a.m)(j,{scope:"global",keypath:"settings.style.shadows.filter_hint.always_drop_shadow",tag:"p"},{default:Object(a.V)(()=>[As]),_:1}),Object(a.k)("p",null,Object(a.O)(e.$t("settings.style.shadows.filter_hint.avatar_inset")),1),Object(a.m)(j,{scope:"global",keypath:"settings.style.shadows.filter_hint.drop_shadow_syntax",tag:"p"},{default:Object(a.V)(()=>[Rs,Ws,Js]),_:1}),Object(a.m)(j,{scope:"global",keypath:"settings.style.shadows.filter_hint.inset_classic",tag:"p"},{default:Object(a.V)(()=>[Ns]),_:1}),Object(a.k)("p",null,Object(a.O)(e.$t("settings.style.shadows.filter_hint.spread_zero")),1)])):Object(a.i)("",!0)],8,Ss),Object(a.k)("div",{label:e.$t("settings.style.fonts._tab_label"),class:"fonts-container"},[Object(a.k)("div",Gs,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.style.fonts.help")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[118]||(t[118]=(...t)=>e.clearFonts&&e.clearFonts(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_all")),1)]),Object(a.m)(m,{modelValue:e.fontsLocal.interface,"onUpdate:modelValue":t[119]||(t[119]=t=>e.fontsLocal.interface=t),name:"ui",label:e.$t("settings.style.fonts.components.interface"),fallback:e.previewTheme.fonts.interface,"no-inherit":"1"},null,8,["modelValue","label","fallback"]),Object(a.m)(m,{modelValue:e.fontsLocal.input,"onUpdate:modelValue":t[120]||(t[120]=t=>e.fontsLocal.input=t),name:"input",label:e.$t("settings.style.fonts.components.input"),fallback:e.previewTheme.fonts.input},null,8,["modelValue","label","fallback"]),Object(a.m)(m,{modelValue:e.fontsLocal.post,"onUpdate:modelValue":t[121]||(t[121]=t=>e.fontsLocal.post=t),name:"post",label:e.$t("settings.style.fonts.components.post"),fallback:e.previewTheme.fonts.post},null,8,["modelValue","label","fallback"]),Object(a.m)(m,{modelValue:e.fontsLocal.postCode,"onUpdate:modelValue":t[122]||(t[122]=t=>e.fontsLocal.postCode=t),name:"postCode",label:e.$t("settings.style.fonts.components.postCode"),fallback:e.previewTheme.fonts.postCode},null,8,["modelValue","label","fallback"])],8,qs)]),_:1})],1024)),e.isActive?(Object(a.D)(),Object(a.h)(a.c,{key:0,to:"#unscrolled-content"},[Object(a.k)("div",Hs,[Object(a.k)("button",{class:"btn button-default submit",disabled:!e.themeValid,onClick:t[123]||(t[123]=(...t)=>e.setCustomTheme&&e.setCustomTheme(...t))},Object(a.O)(e.$t("general.apply")),9,zs),Object(a.k)("button",{class:"btn button-default",onClick:t[124]||(t[124]=(...t)=>e.clearAll&&e.clearAll(...t))},Object(a.O)(e.$t("settings.style.switcher.reset")),1)])])):Object(a.i)("",!0)])}]]);T.c.add(x.yb,x.ub,x.G,x.R,x.i,x.u,x.C,x.L);var ei={components:{TabSwitcher:O.a,DataImportExportTab:W,MutesAndBlocksTab:Ge,NotificationsTab:St,FilteringTab:ll,SecurityTab:oa,ProfileTab:sn,GeneralTab:xn,VersionTab:En,ThemeTab:Xc},computed:{isLoggedIn:function(){return!!this.$store.state.users.currentUser},open:function(){return"hidden"!==this.$store.state.interface.settingsModalState},bodyLock:function(){return"visible"===this.$store.state.interface.settingsModalState}},methods:{onOpen:function(){var e=this.$store.state.interface.settingsModalTargetTab;if(e){var t=this.$refs.tabSwitcher.$slots.default().findIndex((function(t){return t.props&&t.props["data-tab-name"]===e}));t>=0&&this.$refs.tabSwitcher.setTab(t)}this.$store.dispatch("clearSettingsModalTargetTab")}},mounted:function(){this.onOpen()},watch:{open:function(e){e&&this.onOpen()}}};l(707);const ti=D()(ei,[["render",function(e,t,l,O,p,j){const m=Object(a.J)("GeneralTab"),h=Object(a.J)("ProfileTab"),f=Object(a.J)("SecurityTab"),g=Object(a.J)("FilteringTab"),k=Object(a.J)("ThemeTab"),v=Object(a.J)("NotificationsTab"),y=Object(a.J)("DataImportExportTab"),w=Object(a.J)("MutesAndBlocksTab"),_=Object(a.J)("VersionTab"),V=Object(a.J)("tab-switcher");return Object(a.D)(),Object(a.h)(V,{ref:"tabSwitcher",class:"settings_tab-switcher","side-tab-bar":!0,"scrollable-tabs":!0,"body-scroll-lock":e.bodyLock},{default:Object(a.V)(()=>[Object(a.k)("div",{label:e.$t("settings.general"),icon:"wrench","data-tab-name":"general"},[Object(a.m)(m)],8,n),e.isLoggedIn?(Object(a.D)(),Object(a.j)("div",{key:0,label:e.$t("settings.profile_tab"),icon:"user","data-tab-name":"profile"},[Object(a.m)(h)],8,s)):Object(a.i)("",!0),e.isLoggedIn?(Object(a.D)(),Object(a.j)("div",{key:1,label:e.$t("settings.security_tab"),icon:"lock","data-tab-name":"security"},[Object(a.m)(f)],8,o)):Object(a.i)("",!0),Object(a.k)("div",{label:e.$t("settings.filtering"),icon:"filter","data-tab-name":"filtering"},[Object(a.m)(g)],8,c),Object(a.k)("div",{label:e.$t("settings.theme"),icon:"paint-brush","data-tab-name":"theme"},[Object(a.m)(k)],8,i),e.isLoggedIn?(Object(a.D)(),Object(a.j)("div",{key:2,label:e.$t("settings.notifications"),icon:"bell","data-tab-name":"notifications"},[Object(a.m)(v)],8,r)):Object(a.i)("",!0),e.isLoggedIn?(Object(a.D)(),Object(a.j)("div",{key:3,label:e.$t("settings.data_import_export_tab"),icon:"download","data-tab-name":"dataImportExport"},[Object(a.m)(y)],8,b)):Object(a.i)("",!0),e.isLoggedIn?(Object(a.D)(),Object(a.j)("div",{key:4,label:e.$t("settings.mutes_and_blocks"),fullHeight:!0,icon:"eye-slash","data-tab-name":"mutesAndBlocks"},[Object(a.m)(w)],8,u)):Object(a.i)("",!0),Object(a.k)("div",{label:e.$t("settings.version.title"),icon:"info","data-tab-name":"version"},[Object(a.m)(_)],8,d)]),_:1},8,["body-scroll-lock"])}]]);t.default=ti}}]); -//# sourceMappingURL=2.eb2c361cdcbd8c4f7638.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{628:function(e,t,l){},629:function(e,t,l){},630:function(e,t,l){},631:function(e,t,l){},632:function(e,t,l){},633:function(e,t,l){},634:function(e,t,l){},635:function(e,t,l){},636:function(e,t,l){},637:function(e,t,l){},638:function(e,t,l){},639:function(e,t,l){},644:function(e,t,l){},645:function(e,t,l){},646:function(e,t,l){},647:function(e,t,l){},648:function(e,t,l){},649:function(e,t,l){},650:function(e,t,l){},651:function(e,t,l){},652:function(e,t,l){},653:function(e,t,l){},654:function(e,t,l){},656:function(e,t,l){"use strict";l(628)},657:function(e,t,l){"use strict";l(629)},658:function(e,t,l){"use strict";l(630)},659:function(e,t,l){"use strict";l(631)},660:function(e,t,l){"use strict";l(632)},661:function(e,t,l){"use strict";l(633)},662:function(e,t,l){"use strict";l(634)},663:function(e,t,l){},664:function(e,t,l){"use strict";l(635)},665:function(e,t,l){"use strict";l(636)},666:function(e,t,l){"use strict";l(637)},670:function(e,t,l){"use strict";l(638)},671:function(e,t,l){"use strict";l(639)},695:function(e,t,l){"use strict";l(644)},698:function(e,t,l){"use strict";l(645)},699:function(e,t,l){"use strict";l(646)},700:function(e,t,l){"use strict";l(647)},701:function(e,t,l){"use strict";l(648)},702:function(e,t,l){"use strict";l(649)},703:function(e,t,l){"use strict";l(650)},704:function(e,t,l){"use strict";l(651)},705:function(e,t,l){"use strict";l(652)},706:function(e,t,l){"use strict";l(653)},707:function(e,t,l){"use strict";l(654)},708:function(e,t,l){"use strict";l.r(t);var a=l(0);const n=["label"],s=["label"],o=["label"],c=["label"],i=["label"],r=["label"],b=["label"],u=["label"],d=["label"];var O=l(71);const p=["label"],j={class:"setting-item"},m={class:"setting-item"},h={class:"setting-item"},f={class:"setting-item"},g={class:"setting-item"},k={class:"setting-item"};var v=l(5),y=l.n(v);const w={class:"importer"},_={key:2},V=Object(a.l)(" "+Object(a.O)(" ")+" "),$={key:3},C=Object(a.l)(" "+Object(a.O)(" ")+" ");var T=l(6),x=l(3);T.c.add(x.r,x.rb);var L={props:{submitHandler:{type:Function,required:!0},submitButtonLabel:{type:String},successMessage:{type:String},errorMessage:{type:String}},data:function(){return{file:null,error:!1,success:!1,submitting:!1}},methods:{change:function(){this.file=this.$refs.input.files[0]},submit:function(){var e=this;this.dismiss(),this.submitting=!0,this.submitHandler(this.file).then((function(){e.success=!0})).catch((function(){e.error=!0})).finally((function(){e.submitting=!1}))},dismiss:function(){this.success=!1,this.error=!1}}},S=(l(656),l(4)),D=l.n(S);var P=D()(L,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("FAIcon");return Object(a.D)(),Object(a.j)("div",w,[Object(a.k)("form",null,[Object(a.k)("input",{ref:"input",type:"file",onChange:t[0]||(t[0]=(...t)=>e.change&&e.change(...t))},null,544)]),e.submitting?(Object(a.D)(),Object(a.h)(c,{key:0,class:"importer-uploading",spin:"",icon:"circle-notch"})):(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",onClick:t[1]||(t[1]=(...t)=>e.submit&&e.submit(...t))},Object(a.O)(e.submitButtonLabel||e.$t("importer.submit")),1)),e.success?(Object(a.D)(),Object(a.j)("div",_,[Object(a.k)("button",{class:"button-unstyled",onClick:t[2]||(t[2]=(...t)=>e.dismiss&&e.dismiss(...t))},[Object(a.m)(c,{icon:"times"})]),V,Object(a.k)("span",null,Object(a.O)(e.successMessage||e.$t("importer.success")),1)])):e.error?(Object(a.D)(),Object(a.j)("div",$,[Object(a.k)("button",{class:"button-unstyled",onClick:t[3]||(t[3]=(...t)=>e.dismiss&&e.dismiss(...t))},[Object(a.m)(c,{icon:"times"})]),C,Object(a.k)("span",null,Object(a.O)(e.errorMessage||e.$t("importer.error")),1)])):Object(a.i)("",!0)])}]]);const U={class:"exporter"},I={key:0};T.c.add(x.r);var B={props:{getContent:{type:Function,required:!0},filename:{type:String,default:"export.csv"},exportButtonLabel:{type:String},processingMessage:{type:String}},data:function(){return{processing:!1}},methods:{process:function(){var e=this;this.processing=!0,this.getContent().then((function(t){var l=document.createElement("a");l.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(t)),l.setAttribute("download",e.filename),l.style.display="none",document.body.appendChild(l),l.click(),document.body.removeChild(l),setTimeout((function(){e.processing=!1}),2e3)}))}}};l(657);var F=D()(B,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("FAIcon");return Object(a.D)(),Object(a.j)("div",U,[e.processing?(Object(a.D)(),Object(a.j)("div",I,[Object(a.m)(c,{icon:"circle-notch",size:"lg",spin:""}),Object(a.k)("span",null,Object(a.O)(e.processingMessage||e.$t("exporter.processing")),1)])):(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",onClick:t[0]||(t[0]=(...t)=>e.process&&e.process(...t))},Object(a.O)(e.exportButtonLabel||e.$t("exporter.export")),1))])}]]),E=l(51),A=l(8);function M(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}var R={data:function(){return{activeTab:"profile",newDomainToMute:""}},created:function(){this.$store.dispatch("fetchTokens")},components:{Importer:P,Exporter:F,Checkbox:E.a},computed:function(e){for(var t=1;te.term=t),placeholder:e.placeholder,class:"autosuggest-input",onClick:t[1]||(t[1]=(...t)=>e.onInputClick&&e.onInputClick(...t))},null,8,oe),[[a.S,e.term]]),e.resultsVisible&&e.filtered.length>0?(Object(a.D)(),Object(a.j)("div",ce,[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.filtered,t=>Object(a.I)(e.$slots,"default",{item:t})),256))])):Object(a.i)("",!0)])),[[c,e.onClickOutside]])}]]);const be={class:"block-card-content-container"},ue=["disabled"],de=["disabled"];var Oe=l(53),pe={props:["userId"],data:function(){return{progress:!1}},computed:{user:function(){return this.$store.getters.findUser(this.userId)},relationship:function(){return this.$store.getters.relationship(this.userId)},blocked:function(){return this.relationship.blocking}},components:{BasicUserCard:Oe.a},methods:{unblockUser:function(){var e=this;this.progress=!0,this.$store.dispatch("unblockUser",this.user.id).then((function(){e.progress=!1}))},blockUser:function(){var e=this;this.progress=!0,this.$store.dispatch("blockUser",this.user.id).then((function(){e.progress=!1}))}}};l(659);var je=D()(pe,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("basic-user-card");return Object(a.D)(),Object(a.h)(c,{user:e.user},{default:Object(a.V)(()=>[Object(a.k)("div",be,[e.blocked?(Object(a.D)(),Object(a.j)("button",{key:0,class:"btn button-default",disabled:e.progress,onClick:t[0]||(t[0]=(...t)=>e.unblockUser&&e.unblockUser(...t))},[e.progress?(Object(a.D)(),Object(a.j)(a.a,{key:0},[Object(a.l)(Object(a.O)(e.$t("user_card.unblock_progress")),1)],64)):(Object(a.D)(),Object(a.j)(a.a,{key:1},[Object(a.l)(Object(a.O)(e.$t("user_card.unblock")),1)],64))],8,ue)):(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",disabled:e.progress,onClick:t[1]||(t[1]=(...t)=>e.blockUser&&e.blockUser(...t))},[e.progress?(Object(a.D)(),Object(a.j)(a.a,{key:0},[Object(a.l)(Object(a.O)(e.$t("user_card.block_progress")),1)],64)):(Object(a.D)(),Object(a.j)(a.a,{key:1},[Object(a.l)(Object(a.O)(e.$t("user_card.block")),1)],64))],8,de))])]),_:1},8,["user"])}]]);const me={class:"mute-card-content-container"},he=["disabled"],fe=["disabled"];var ge={props:["userId"],data:function(){return{progress:!1}},computed:{user:function(){return this.$store.getters.findUser(this.userId)},relationship:function(){return this.$store.getters.relationship(this.userId)},muted:function(){return this.relationship.muting}},components:{BasicUserCard:Oe.a},methods:{unmuteUser:function(){var e=this;this.progress=!0,this.$store.dispatch("unmuteUser",this.userId).then((function(){e.progress=!1}))},muteUser:function(){var e=this;this.progress=!0,this.$store.dispatch("muteUser",this.userId).then((function(){e.progress=!1}))}}};l(660);var ke=D()(ge,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("basic-user-card");return Object(a.D)(),Object(a.h)(c,{user:e.user},{default:Object(a.V)(()=>[Object(a.k)("div",me,[e.muted?(Object(a.D)(),Object(a.j)("button",{key:0,class:"btn button-default",disabled:e.progress,onClick:t[0]||(t[0]=(...t)=>e.unmuteUser&&e.unmuteUser(...t))},[e.progress?(Object(a.D)(),Object(a.j)(a.a,{key:0},[Object(a.l)(Object(a.O)(e.$t("user_card.unmute_progress")),1)],64)):(Object(a.D)(),Object(a.j)(a.a,{key:1},[Object(a.l)(Object(a.O)(e.$t("user_card.unmute")),1)],64))],8,he)):(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",disabled:e.progress,onClick:t[1]||(t[1]=(...t)=>e.muteUser&&e.muteUser(...t))},[e.progress?(Object(a.D)(),Object(a.j)(a.a,{key:0},[Object(a.l)(Object(a.O)(e.$t("user_card.mute_progress")),1)],64)):(Object(a.D)(),Object(a.j)(a.a,{key:1},[Object(a.l)(Object(a.O)(e.$t("user_card.mute")),1)],64))],8,fe))])]),_:1},8,["user"])}]]);const ve={class:"domain-mute-card"},ye={class:"domain-mute-card-domain"};var we=l(104),_e={props:["domain"],components:{ProgressButton:we.a},computed:{user:function(){return this.$store.state.users.currentUser},muted:function(){return this.user.domainMutes.includes(this.domain)}},methods:{unmuteDomain:function(){return this.$store.dispatch("unmuteDomain",this.domain)},muteDomain:function(){return this.$store.dispatch("muteDomain",this.domain)}}};l(661);var Ve=D()(_e,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("ProgressButton");return Object(a.D)(),Object(a.j)("div",ve,[Object(a.k)("div",ye,Object(a.O)(e.domain),1),e.muted?(Object(a.D)(),Object(a.h)(c,{key:0,click:e.unmuteDomain,class:"btn button-default"},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("domain_mute_card.unmute_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("domain_mute_card.unmute"))+" ",1)]),_:1},8,["click"])):(Object(a.D)(),Object(a.h)(c,{key:1,click:e.muteDomain,class:"btn button-default"},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("domain_mute_card.mute_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("domain_mute_card.mute"))+" ",1)]),_:1},8,["click"]))])}]]);const $e={class:"selectable-list"},Ce={key:0,class:"selectable-list-header"},Te={class:"selectable-list-checkbox-wrapper"},xe={class:"selectable-list-header-actions"},Le={class:"selectable-list-checkbox-wrapper"};var Se={components:{List:l(69).a,Checkbox:E.a},props:{items:{type:Array,default:function(){return[]}},getKey:{type:Function,default:function(e){return e.id}}},data:function(){return{selected:[]}},computed:{allKeys:function(){return this.items.map(this.getKey)},filteredSelected:function(){var e=this;return this.allKeys.filter((function(t){return-1!==e.selected.indexOf(t)}))},allSelected:function(){return this.filteredSelected.length===this.items.length},noneSelected:function(){return 0===this.filteredSelected.length},someSelected:function(){return!this.allSelected&&!this.noneSelected}},methods:{isSelected:function(e){return-1!==this.filteredSelected.indexOf(this.getKey(e))},toggle:function(e,t){var l=this.getKey(t);e!==this.isSelected(l)&&(e?this.selected.push(l):this.selected.splice(this.selected.indexOf(l),1))},toggleAll:function(e){this.selected=e?this.allKeys.slice(0):[]}}};l(662);var De=D()(Se,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("Checkbox"),i=Object(a.J)("List");return Object(a.D)(),Object(a.j)("div",$e,[e.items.length>0?(Object(a.D)(),Object(a.j)("div",Ce,[Object(a.k)("div",Te,[Object(a.m)(c,{"model-value":e.allSelected,indeterminate:e.someSelected,"onUpdate:modelValue":e.toggleAll},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("selectable_list.select_all")),1)]),_:1},8,["model-value","indeterminate","onUpdate:modelValue"])]),Object(a.k)("div",xe,[Object(a.I)(e.$slots,"header",{selected:e.filteredSelected})])])):Object(a.i)("",!0),Object(a.m)(i,{items:e.items,"get-key":e.getKey},{item:Object(a.V)(({item:t})=>[Object(a.k)("div",{class:Object(a.w)(["selectable-list-item-inner",{"selectable-list-item-selected-inner":e.isSelected(t)}])},[Object(a.k)("div",Le,[Object(a.m)(c,{"model-value":e.isSelected(t),"onUpdate:modelValue":l=>e.toggle(l,t)},null,8,["model-value","onUpdate:modelValue"])]),Object(a.I)(e.$slots,"item",{item:t})],2)]),empty:Object(a.V)(()=>[Object(a.I)(e.$slots,"empty")]),_:3},8,["items","get-key"])])}]]),Pe=l(12),Ue=l.n(Pe),Ie=l(300),Be=l.n(Ie),Fe=l(301),Ee=(l(663),l(68));function Ae(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function Me(e){for(var t=1;t[Object(a.k)("div",{label:e.$t("settings.blocks_tab")},[Object(a.k)("div",N,[Object(a.m)(i,{filter:e.filterUnblockedUsers,query:e.queryUserIds,placeholder:e.$t("settings.search_user_to_block")},{default:Object(a.V)(e=>[Object(a.m)(c,{"user-id":e.item},null,8,["user-id"])]),_:1},8,["filter","query","placeholder"])]),Object(a.m)(b,{refresh:!0,"get-key":e=>e},{header:Object(a.V)(({selected:t})=>[Object(a.k)("div",q,[t.length>0?(Object(a.D)(),Object(a.h)(r,{key:0,class:"btn button-default bulk-action-button",click:()=>e.blockUsers(t)},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.block_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.block"))+" ",1)]),_:2},1032,["click"])):Object(a.i)("",!0),t.length>0?(Object(a.D)(),Object(a.h)(r,{key:1,class:"btn button-default",click:()=>e.unblockUsers(t)},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.unblock_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.unblock"))+" ",1)]),_:2},1032,["click"])):Object(a.i)("",!0)])]),item:Object(a.V)(({item:e})=>[Object(a.m)(c,{"user-id":e},null,8,["user-id"])]),empty:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.no_blocks")),1)]),_:1},8,["get-key"])],8,J),Object(a.k)("div",{label:e.$t("settings.mutes_tab")},[Object(a.m)(j,null,{default:Object(a.V)(()=>[Object(a.k)("div",H,[Object(a.k)("div",z,[Object(a.m)(i,{filter:e.filterUnMutedUsers,query:e.queryUserIds,placeholder:e.$t("settings.search_user_to_mute")},{default:Object(a.V)(e=>[Object(a.m)(u,{"user-id":e.item},null,8,["user-id"])]),_:1},8,["filter","query","placeholder"])]),Object(a.m)(d,{refresh:!0,"get-key":e=>e},{header:Object(a.V)(({selected:t})=>[Object(a.k)("div",K,[t.length>0?(Object(a.D)(),Object(a.h)(r,{key:0,class:"btn button-default",click:()=>e.muteUsers(t)},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.mute_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.mute"))+" ",1)]),_:2},1032,["click"])):Object(a.i)("",!0),t.length>0?(Object(a.D)(),Object(a.h)(r,{key:1,class:"btn button-default",click:()=>e.unmuteUsers(t)},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.unmute_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("user_card.unmute"))+" ",1)]),_:2},1032,["click"])):Object(a.i)("",!0)])]),item:Object(a.V)(({item:e})=>[Object(a.m)(u,{"user-id":e},null,8,["user-id"])]),empty:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.no_mutes")),1)]),_:1},8,["get-key"])]),Object(a.k)("div",{label:e.$t("settings.domain_mutes")},[Object(a.k)("div",Z,[Object(a.m)(i,{filter:e.filterUnMutedDomains,query:e.queryKnownDomains,placeholder:e.$t("settings.type_domains_to_mute")},{default:Object(a.V)(e=>[Object(a.m)(O,{domain:e.item},null,8,["domain"])]),_:1},8,["filter","query","placeholder"])]),Object(a.m)(p,{refresh:!0,"get-key":e=>e},{header:Object(a.V)(({selected:t})=>[Object(a.k)("div",Q,[t.length>0?(Object(a.D)(),Object(a.h)(r,{key:0,class:"btn button-default",click:()=>e.unmuteDomains(t)},{progress:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("domain_mute_card.unmute_progress")),1)]),default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("domain_mute_card.unmute"))+" ",1)]),_:2},1032,["click"])):Object(a.i)("",!0)])]),item:Object(a.V)(({item:e})=>[Object(a.m)(O,{domain:e},null,8,["domain"])]),empty:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.no_mutes")),1)]),_:1},8,["get-key"])],8,Y)]),_:1})],8,G)]),_:1})}]]);const He=["label"],ze={class:"setting-item"},Ke={class:"setting-list"},Ye={class:"select-multiple"},Ze={class:"label"},Qe={class:"option-list"},Xe={key:0,class:"setting-item"},et={class:"setting-list"},tt={class:"setting-item"};const lt={key:0,class:"BooleanSetting"},at={key:0,class:"label"},nt=Object(a.l)(" "+Object(a.O)(" ")+" ");var st=l(625),ot=l.n(st),ct=l(39),it=l.n(ct);const rt={key:0,class:"ModifiedIndicator"},bt=Object(a.l)("   "),ut={class:"modified-tooltip"};var dt=l(24);T.c.add(x.yb);var Ot={components:{Popover:dt.default},props:["changed"]};l(665);var pt=D()(Ot,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("FAIcon"),i=Object(a.J)("Popover");return l.changed?(Object(a.D)(),Object(a.j)("span",rt,[Object(a.m)(i,{trigger:"hover"},{trigger:Object(a.V)(()=>[bt,Object(a.m)(c,{icon:"wrench","aria-label":e.$t("settings.setting_changed")},null,8,["aria-label"])]),content:Object(a.V)(()=>[Object(a.k)("div",ut,Object(a.O)(e.$t("settings.setting_changed")),1)]),_:1})])):Object(a.i)("",!0)}]]);const jt={key:0,class:"ServerSideIndicator"},mt=Object(a.l)("   "),ht={class:"serverside-tooltip"};T.c.add(x.eb);var ft={components:{Popover:dt.default},props:["serverSide"]};l(666);var gt=D()(ft,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("FAIcon"),i=Object(a.J)("Popover");return l.serverSide?(Object(a.D)(),Object(a.j)("span",jt,[Object(a.m)(i,{trigger:"hover"},{trigger:Object(a.V)(()=>[mt,Object(a.m)(c,{icon:"server","aria-label":e.$t("settings.setting_server_side")},null,8,["aria-label"])]),content:Object(a.V)(()=>[Object(a.k)("div",ht,Object(a.O)(e.$t("settings.setting_server_side")),1)]),_:1})])):Object(a.i)("",!0)}]]),kt={components:{Checkbox:E.a,ModifiedIndicator:pt,ServerSideIndicator:gt},props:["path","disabled","expert"],computed:{pathDefault:function(){var e=this.path.split("."),t=ot()(e),l=t[0],a=t.slice(1);return[l+"DefaultValue"].concat(Ue()(a)).join(".")},state:function(){var e=ee()(this.$parent,this.path);return void 0===e?this.defaultState:e},defaultState:function(){return ee()(this.$parent,this.pathDefault)},isServerSide:function(){return this.path.startsWith("serverSide_")},isChanged:function(){return!this.path.startsWith("serverSide_")&&this.state!==this.defaultState},matchesExpertLevel:function(){return(this.expert||0)<=this.$parent.expertLevel}},methods:{update:function(e){it()(this.$parent,this.path,e)}}};var vt=D()(kt,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("ModifiedIndicator"),i=Object(a.J)("ServerSideIndicator"),r=Object(a.J)("Checkbox");return e.matchesExpertLevel?(Object(a.D)(),Object(a.j)("label",lt,[Object(a.m)(r,{"model-value":e.state,disabled:e.disabled,"onUpdate:modelValue":e.update},{default:Object(a.V)(()=>[e.$slots.default?(Object(a.D)(),Object(a.j)("span",at,[Object(a.I)(e.$slots,"default")])):Object(a.i)("",!0),nt,Object(a.m)(c,{changed:e.isChanged},null,8,["changed"]),Object(a.m)(i,{"server-side":e.isServerSide},null,8,["server-side"])]),_:3},8,["model-value","disabled","onUpdate:modelValue"])])):Object(a.i)("",!0)}]]),yt=l(11),wt=l.n(yt),_t=l(121),Vt=l(220);function $t(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function Ct(e){for(var t=1;t[Object(a.l)(Object(a.O)(e.$t("settings.notification_setting_block_from_strangers")),1)]),_:1})]),Object(a.k)("li",Ye,[Object(a.k)("span",Ze,Object(a.O)(e.$t("settings.notification_visibility")),1),Object(a.k)("ul",Qe,[Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.likes"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_likes")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.repeats"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_repeats")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.follows"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_follows")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.mentions"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_mentions")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.moves"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_moves")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.emojiReactions"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_emoji_reactions")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"notificationVisibility.polls"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_visibility_polls")),1)]),_:1})])])])])]),e.expertLevel>0?(Object(a.D)(),Object(a.j)("div",Xe,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.notification_setting_privacy")),1),Object(a.k)("ul",et,[Object(a.k)("li",null,[Object(a.m)(c,{path:"webPushNotifications",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.enable_web_push_notifications")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"serverSide_webPushHideContents",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.notification_setting_hide_notification_contents")),1)]),_:1})])])])):Object(a.i)("",!0),Object(a.k)("div",tt,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.notification_mutes")),1),Object(a.k)("p",null,Object(a.O)(e.$t("settings.notification_blocks")),1)])],8,He)}]]);const Dt=["label"],Pt={class:"setting-item"},Ut={class:"setting-list"},It={key:0,class:"setting-item"},Bt={class:"setting-list"};var Ft=l(667),Et=l.n(Ft),At=l(49),Mt=l.n(At);const Rt={key:0,class:"ChoiceSetting"},Wt=Object(a.l)(" "+Object(a.O)(" ")+" "),Jt=["value"];var Nt=l(52),qt={components:{Select:Nt.a,ModifiedIndicator:pt,ServerSideIndicator:gt},props:["path","disabled","options","expert"],computed:{pathDefault:function(){var e=this.path.split("."),t=ot()(e),l=t[0],a=t.slice(1);return[l+"DefaultValue"].concat(Ue()(a)).join(".")},state:function(){var e=ee()(this.$parent,this.path);return void 0===e?this.defaultState:e},defaultState:function(){return ee()(this.$parent,this.pathDefault)},isServerSide:function(){return this.path.startsWith("serverSide_")},isChanged:function(){return!this.path.startsWith("serverSide_")&&this.state!==this.defaultState},matchesExpertLevel:function(){return(this.expert||0)<=this.$parent.expertLevel}},methods:{update:function(e){it()(this.$parent,this.path,e)}}};l(670);var Gt=D()(qt,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("Select"),i=Object(a.J)("ModifiedIndicator"),r=Object(a.J)("ServerSideIndicator");return e.matchesExpertLevel?(Object(a.D)(),Object(a.j)("label",Rt,[Object(a.I)(e.$slots,"default"),Wt,Object(a.m)(c,{"model-value":e.state,disabled:e.disabled,"onUpdate:modelValue":e.update},{default:Object(a.V)(()=>[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.options,t=>(Object(a.D)(),Object(a.j)("option",{key:t.key,value:t.value},Object(a.O)(t.label)+" "+Object(a.O)(t.value===e.defaultState?e.$t("settings.instance_default_simple"):""),9,Jt))),128))]),_:1},8,["model-value","disabled","onUpdate:modelValue"]),Object(a.m)(i,{changed:e.isChanged},null,8,["changed"]),Object(a.m)(r,{"server-side":e.isServerSide},null,8,["server-side"])])):Object(a.i)("",!0)}]]);const Ht={key:0,class:"IntegerSetting"},zt=["for"],Kt=["id","disabled","min","value"],Yt=Object(a.l)(" "+Object(a.O)(" ")+" ");var Zt={components:{ModifiedIndicator:pt},props:{path:String,disabled:Boolean,min:Number,expert:[Number,String]},computed:{pathDefault:function(){var e=this.path.split("."),t=ot()(e),l=t[0],a=t.slice(1);return[l+"DefaultValue"].concat(Ue()(a)).join(".")},state:function(){var e=ee()(this.$parent,this.path);return void 0===e?this.defaultState:e},defaultState:function(){return ee()(this.$parent,this.pathDefault)},isChanged:function(){return this.state!==this.defaultState},matchesExpertLevel:function(){return(this.expert||0)<=this.$parent.expertLevel}},methods:{update:function(e){it()(this.$parent,this.path,parseInt(e.target.value))}}};var Qt=D()(Zt,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("ModifiedIndicator");return e.matchesExpertLevel?(Object(a.D)(),Object(a.j)("span",Ht,[Object(a.k)("label",{for:e.path},[Object(a.I)(e.$slots,"default")],8,zt),Object(a.k)("input",{id:e.path,class:"number-input",type:"number",step:"1",disabled:e.disabled,min:e.min||0,value:e.state,onChange:t[0]||(t[0]=(...t)=>e.update&&e.update(...t))},null,40,Kt),Yt,Object(a.m)(c,{changed:e.isChanged},null,8,["changed"])])):Object(a.i)("",!0)}]]);function Xt(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function el(e){for(var t=1;t0}))})}}}),watch:{notificationVisibility:{handler:function(e){this.$store.dispatch("setOption",{name:"notificationVisibility",value:this.$store.getters.mergedConfig.notificationVisibility})},deep:!0},replyVisibility:function(){this.$store.dispatch("queueFlushAll")}}};var ll=D()(tl,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("BooleanSetting"),i=Object(a.J)("ChoiceSetting"),r=Object(a.J)("IntegerSetting");return Object(a.D)(),Object(a.j)("div",{label:e.$t("settings.filtering")},[Object(a.k)("div",Pt,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.posts")),1),Object(a.k)("ul",Ut,[Object(a.k)("li",null,[Object(a.m)(c,{path:"hideFilteredStatuses"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_filtered_statuses")),1)]),_:1}),Object(a.k)("ul",{class:Object(a.w)(["setting-list suboptions",[{disabled:!e.streaming}]])},[Object(a.k)("li",null,[Object(a.m)(c,{disabled:e.hideFilteredStatuses,path:"hideWordFilteredPosts"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_wordfiltered_statuses")),1)]),_:1},8,["disabled"])]),Object(a.k)("li",null,[e.user?(Object(a.D)(),Object(a.h)(c,{key:0,disabled:e.hideFilteredStatuses,path:"hideMutedThreads"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_muted_threads")),1)]),_:1},8,["disabled"])):Object(a.i)("",!0)]),Object(a.k)("li",null,[e.user?(Object(a.D)(),Object(a.h)(c,{key:0,disabled:e.hideFilteredStatuses,path:"hideMutedPosts"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_muted_posts")),1)]),_:1},8,["disabled"])):Object(a.i)("",!0)])],2)]),Object(a.k)("li",null,[Object(a.m)(c,{path:"muteBotStatuses"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.mute_bot_posts")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"hidePostStats"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_post_stats")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"hideBotIndication"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_bot_indication")),1)]),_:1})]),e.user?(Object(a.D)(),Object(a.h)(i,{key:0,id:"replyVisibility",path:"replyVisibility",options:e.replyVisibilityOptions},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.replies_in_timeline")),1)]),_:1},8,["options"])):Object(a.i)("",!0),Object(a.k)("li",null,[Object(a.k)("h3",null,Object(a.O)(e.$t("settings.wordfilter")),1),Object(a.W)(Object(a.k)("textarea",{id:"muteWords","onUpdate:modelValue":t[0]||(t[0]=t=>e.muteWordsString=t),class:"resize-height"},null,512),[[a.S,e.muteWordsString]]),Object(a.k)("div",null,Object(a.O)(e.$t("settings.filtering_explanation")),1)]),Object(a.k)("h3",null,Object(a.O)(e.$t("settings.attachments")),1),Object(a.k)("li",null,[Object(a.m)(r,{path:"maxThumbnails",expert:"1",min:0},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.max_thumbnails")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"hideAttachments"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_attachments_in_tl")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(c,{path:"hideAttachmentsInConv"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_attachments_in_convo")),1)]),_:1})])])]),e.expertLevel>0?(Object(a.D)(),Object(a.j)("div",It,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.user_profiles")),1),Object(a.k)("ul",Bt,[Object(a.k)("li",null,[Object(a.m)(c,{path:"hideUserStats"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_user_stats")),1)]),_:1})])])])):Object(a.i)("",!0)],8,Dt)}]]);const al=["label"],nl={class:"setting-item"},sl={key:0},ol={class:"setting-item"},cl={key:0},il={key:1},rl={key:2},bl={class:"setting-item"},ul={class:"oauth-tokens"},dl=Object(a.k)("th",null,null,-1),Ol={class:"actions"},pl=["onClick"],jl={class:"setting-item"},ml={key:0},hl={key:1},fl={key:2},gl={key:3};const kl={key:0,class:"setting-item mfa-settings"},vl={class:"mfa-heading"},yl={key:0,class:"setting-item"},wl=Object(a.k)("br",null,null,-1),_l={key:0},Vl={key:2},$l={class:"warning"},Cl={key:1},Tl={key:0},xl={key:1},Ll={class:"setup-otp"},Sl={class:"qr-code"},Dl={class:"verify"},Pl={class:"confirm-otp-actions"},Ul={key:0,class:"alert error"};var Il=l(13),Bl=l.n(Il),Fl=l(10),El=l.n(Fl);const Al={class:"mfa-backup-codes"},Ml={key:0},Rl={key:1},Wl={class:"alert warning"},Jl={class:"backup-codes"};var Nl={props:{backupCodes:{type:Object,default:function(){return{inProgress:!1,codes:[]}}}},data:function(){return{}},computed:{inProgress:function(){return this.backupCodes.inProgress},ready:function(){return this.backupCodes.codes.length>0},displayTitle:function(){return this.inProgress||this.ready}}};l(671);var ql=D()(Nl,[["render",function(e,t,l,n,s,o){return Object(a.D)(),Object(a.j)("div",Al,[e.displayTitle?(Object(a.D)(),Object(a.j)("h4",Ml,Object(a.O)(e.$t("settings.mfa.recovery_codes")),1)):Object(a.i)("",!0),e.inProgress?(Object(a.D)(),Object(a.j)("i",Rl,Object(a.O)(e.$t("settings.mfa.waiting_a_recovery_codes")),1)):Object(a.i)("",!0),e.ready?(Object(a.D)(),Object(a.j)(a.a,{key:2},[Object(a.k)("p",Wl,Object(a.O)(e.$t("settings.mfa.recovery_codes_warning")),1),Object(a.k)("ul",Jl,[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.backupCodes.codes,e=>(Object(a.D)(),Object(a.j)("li",{key:e},Object(a.O)(e),1))),128))])],64)):Object(a.i)("",!0)])}]]);const Gl={class:"method-item"},Hl=["disabled"],zl={key:1,class:"alert error"};const Kl=["disabled"],Yl=["disabled"];var Zl={props:["disabled"],data:function(){return{}},methods:{confirm:function(){this.$emit("confirm")},cancel:function(){this.$emit("cancel")}}};var Ql=D()(Zl,[["render",function(e,t,l,n,s,o){return Object(a.D)(),Object(a.j)("div",null,[Object(a.I)(e.$slots,"default"),Object(a.k)("button",{class:"btn button-default",disabled:e.disabled,onClick:t[0]||(t[0]=(...t)=>e.confirm&&e.confirm(...t))},Object(a.O)(e.$t("general.confirm")),9,Kl),Object(a.k)("button",{class:"btn button-default",disabled:e.disabled,onClick:t[1]||(t[1]=(...t)=>e.cancel&&e.cancel(...t))},Object(a.O)(e.$t("general.cancel")),9,Yl)])}]]);function Xl(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}var ea={props:["settings"],data:function(){return{error:!1,currentPassword:"",deactivate:!1,inProgress:!1}},components:{confirm:Ql},computed:function(e){for(var t=1;te.doActivate&&e.doActivate(...t))},Object(a.O)(e.$t("general.enable")),1)),e.isActivated?(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",disabled:e.deactivate,onClick:t[1]||(t[1]=(...t)=>e.doDeactivate&&e.doDeactivate(...t))},Object(a.O)(e.$t("general.disable")),9,Hl)):Object(a.i)("",!0)]),e.deactivate?(Object(a.D)(),Object(a.h)(c,{key:0,disabled:e.inProgress,onConfirm:e.confirmDeactivate,onCancel:e.cancelDeactivate},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.enter_current_password_to_confirm"))+": ",1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[2]||(t[2]=t=>e.currentPassword=t),type:"password"},null,512),[[a.S,e.currentPassword]])]),_:1},8,["disabled","onConfirm","onCancel"])):Object(a.i)("",!0),e.error?(Object(a.D)(),Object(a.j)("div",zl,Object(a.O)(e.error),1)):Object(a.i)("",!0)])}]]),qrcode:l(672).a,confirm:Ql},computed:function(e){for(var t=1;t0},confirmNewBackupCodes:function(){return this.backupCodes.getNewCodes}},Object(A.e)({backendInteractor:function(e){return e.api.backendInteractor}})),methods:{activateOTP:function(){this.settings.enabled||(this.setupState.state="getBackupcodes",this.fetchBackupCodes())},fetchBackupCodes:function(){var e=this;return this.backupCodes.inProgress=!0,this.backupCodes.codes=[],this.backendInteractor.generateMfaBackupCodes().then((function(t){e.backupCodes.codes=t.codes,e.backupCodes.inProgress=!1}))},getBackupCodes:function(){this.backupCodes.getNewCodes=!0},confirmBackupCodes:function(){var e=this;this.fetchBackupCodes().then((function(t){e.backupCodes.getNewCodes=!1}))},cancelBackupCodes:function(){this.backupCodes.getNewCodes=!1},setupOTP:function(){var e=this;this.setupState.state="setupOTP",this.setupState.setupOTPState="prepare",this.backendInteractor.mfaSetupOTP().then((function(t){e.otpSettings=t,e.setupState.setupOTPState="confirm"}))},doConfirmOTP:function(){var e=this;this.error=null,this.backendInteractor.mfaConfirmOTP({token:this.otpConfirmToken,password:this.currentPassword}).then((function(t){t.error?e.error=t.error:e.completeSetup()}))},completeSetup:function(){this.setupState.setupOTPState="complete",this.setupState.state="complete",this.currentPassword=null,this.error=null,this.fetchSettings()},cancelSetup:function(){this.setupState.setupOTPState="",this.setupState.state="",this.currentPassword=null,this.error=null},fetchSettings:function(){var e=this;return Bl()(El.a.mark((function t(){var l;return El.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.backendInteractor.settingsMFA();case 2:if(!(l=t.sent).error){t.next=5;break}return t.abrupt("return");case 5:return e.settings=l.settings,e.settings.available=!0,t.abrupt("return",l);case 8:case"end":return t.stop()}}),t)})))()}},mounted:function(){var e=this;this.fetchSettings().then((function(){e.readyInit=!0}))}};l(695);var aa=D()(la,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("totp-item"),i=Object(a.J)("recovery-codes"),r=Object(a.J)("confirm"),b=Object(a.J)("qrcode");return e.readyInit&&e.settings.available?(Object(a.D)(),Object(a.j)("div",kl,[Object(a.k)("div",vl,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.mfa.title")),1)]),Object(a.k)("div",null,[e.setupInProgress?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("div",yl,[Object(a.k)("h3",null,Object(a.O)(e.$t("settings.mfa.authentication_methods")),1),Object(a.m)(c,{settings:e.settings,onDeactivate:e.fetchSettings,onActivate:e.activateOTP},null,8,["settings","onDeactivate","onActivate"]),wl,e.settings.enabled?(Object(a.D)(),Object(a.j)("div",_l,[e.confirmNewBackupCodes?Object(a.i)("",!0):(Object(a.D)(),Object(a.h)(i,{key:0,"backup-codes":e.backupCodes},null,8,["backup-codes"])),e.confirmNewBackupCodes?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",onClick:t[0]||(t[0]=(...t)=>e.getBackupCodes&&e.getBackupCodes(...t))},Object(a.O)(e.$t("settings.mfa.generate_new_recovery_codes")),1)),e.confirmNewBackupCodes?(Object(a.D)(),Object(a.j)("div",Vl,[Object(a.m)(r,{disabled:e.backupCodes.inProgress,onConfirm:e.confirmBackupCodes,onCancel:e.cancelBackupCodes},{default:Object(a.V)(()=>[Object(a.k)("p",$l,Object(a.O)(e.$t("settings.mfa.warning_of_generate_new_codes")),1)]),_:1},8,["disabled","onConfirm","onCancel"])])):Object(a.i)("",!0)])):Object(a.i)("",!0)])),e.setupInProgress?(Object(a.D)(),Object(a.j)("div",Cl,[Object(a.k)("h3",null,Object(a.O)(e.$t("settings.mfa.setup_otp")),1),e.setupOTPInProgress?Object(a.i)("",!0):(Object(a.D)(),Object(a.h)(i,{key:0,"backup-codes":e.backupCodes},null,8,["backup-codes"])),e.canSetupOTP?(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",onClick:t[1]||(t[1]=(...t)=>e.cancelSetup&&e.cancelSetup(...t))},Object(a.O)(e.$t("general.cancel")),1)):Object(a.i)("",!0),e.canSetupOTP?(Object(a.D)(),Object(a.j)("button",{key:2,class:"btn button-default",onClick:t[2]||(t[2]=(...t)=>e.setupOTP&&e.setupOTP(...t))},Object(a.O)(e.$t("settings.mfa.setup_otp")),1)):Object(a.i)("",!0),e.setupOTPInProgress?(Object(a.D)(),Object(a.j)(a.a,{key:3},[e.prepareOTP?(Object(a.D)(),Object(a.j)("i",Tl,Object(a.O)(e.$t("settings.mfa.wait_pre_setup_otp")),1)):Object(a.i)("",!0),e.confirmOTP?(Object(a.D)(),Object(a.j)("div",xl,[Object(a.k)("div",Ll,[Object(a.k)("div",Sl,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.mfa.scan.title")),1),Object(a.k)("p",null,Object(a.O)(e.$t("settings.mfa.scan.desc")),1),Object(a.m)(b,{value:e.otpSettings.provisioning_uri,options:{width:200}},null,8,["value"]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.mfa.scan.secret_code"))+": "+Object(a.O)(e.otpSettings.key),1)]),Object(a.k)("div",Dl,[Object(a.k)("h4",null,Object(a.O)(e.$t("general.verify")),1),Object(a.k)("p",null,Object(a.O)(e.$t("settings.mfa.verify.desc")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[3]||(t[3]=t=>e.otpConfirmToken=t),type:"text"},null,512),[[a.S,e.otpConfirmToken]]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.enter_current_password_to_confirm"))+":",1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[4]||(t[4]=t=>e.currentPassword=t),type:"password"},null,512),[[a.S,e.currentPassword]]),Object(a.k)("div",Pl,[Object(a.k)("button",{class:"btn button-default",onClick:t[5]||(t[5]=(...t)=>e.doConfirmOTP&&e.doConfirmOTP(...t))},Object(a.O)(e.$t("settings.mfa.confirm_and_enable")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[6]||(t[6]=(...t)=>e.cancelSetup&&e.cancelSetup(...t))},Object(a.O)(e.$t("general.cancel")),1)]),e.error?(Object(a.D)(),Object(a.j)("div",Ul,Object(a.O)(e.error),1)):Object(a.i)("",!0)])])])):Object(a.i)("",!0)],64)):Object(a.i)("",!0)])):Object(a.i)("",!0)])])):Object(a.i)("",!0)}]]),na=l(38),sa={data:function(){return{newEmail:"",changeEmailError:!1,changeEmailPassword:"",changedEmail:!1,deletingAccount:!1,deleteAccountConfirmPasswordInput:"",deleteAccountError:!1,changePasswordInputs:["","",""],changedPassword:!1,changePasswordError:!1}},created:function(){this.$store.dispatch("fetchTokens")},components:{ProgressButton:we.a,Mfa:aa,Checkbox:E.a},computed:{user:function(){return this.$store.state.users.currentUser},pleromaBackend:function(){return this.$store.state.instance.pleromaBackend},oauthTokens:function(){var e=this;return this.$store.state.oauthTokens.tokens.map((function(t){return{id:t.id,appName:t.app_name,validUntil:new Date(t.valid_until).toLocaleDateString(na.a.internalToBrowserLocale(e.$i18n.locale))}}))}},methods:{confirmDelete:function(){this.deletingAccount=!0},deleteAccount:function(){var e=this;this.$store.state.api.backendInteractor.deleteAccount({password:this.deleteAccountConfirmPasswordInput}).then((function(t){"success"===t.status?(e.$store.dispatch("logout"),e.$router.push({name:"root"})):e.deleteAccountError=t.error}))},changePassword:function(){var e=this,t={password:this.changePasswordInputs[0],newPassword:this.changePasswordInputs[1],newPasswordConfirmation:this.changePasswordInputs[2]};this.$store.state.api.backendInteractor.changePassword(t).then((function(t){"success"===t.status?(e.changedPassword=!0,e.changePasswordError=!1,e.logout()):(e.changedPassword=!1,e.changePasswordError=t.error)}))},changeEmail:function(){var e=this,t={email:this.newEmail,password:this.changeEmailPassword};this.$store.state.api.backendInteractor.changeEmail(t).then((function(t){"success"===t.status?(e.changedEmail=!0,e.changeEmailError=!1):(e.changedEmail=!1,e.changeEmailError=t.error)}))},logout:function(){this.$store.dispatch("logout"),this.$router.replace("/")},revokeToken:function(e){window.confirm("".concat(this.$i18n.t("settings.revoke_token"),"?"))&&this.$store.dispatch("revokeToken",e)}}};var oa=D()(sa,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("mfa");return Object(a.D)(),Object(a.j)("div",{label:e.$t("settings.security_tab")},[Object(a.k)("div",nl,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.change_email")),1),Object(a.k)("div",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.new_email")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[0]||(t[0]=t=>e.newEmail=t),type:"email",autocomplete:"email"},null,512),[[a.S,e.newEmail]])]),Object(a.k)("div",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.current_password")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[1]||(t[1]=t=>e.changeEmailPassword=t),type:"password",autocomplete:"current-password"},null,512),[[a.S,e.changeEmailPassword]])]),Object(a.k)("button",{class:"btn button-default",onClick:t[2]||(t[2]=(...t)=>e.changeEmail&&e.changeEmail(...t))},Object(a.O)(e.$t("settings.save")),1),e.changedEmail?(Object(a.D)(),Object(a.j)("p",sl,Object(a.O)(e.$t("settings.changed_email")),1)):Object(a.i)("",!0),!1!==e.changeEmailError?(Object(a.D)(),Object(a.j)(a.a,{key:1},[Object(a.k)("p",null,Object(a.O)(e.$t("settings.change_email_error")),1),Object(a.k)("p",null,Object(a.O)(e.changeEmailError),1)],64)):Object(a.i)("",!0)]),Object(a.k)("div",ol,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.change_password")),1),Object(a.k)("div",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.current_password")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[3]||(t[3]=t=>e.changePasswordInputs[0]=t),type:"password"},null,512),[[a.S,e.changePasswordInputs[0]]])]),Object(a.k)("div",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.new_password")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[4]||(t[4]=t=>e.changePasswordInputs[1]=t),type:"password"},null,512),[[a.S,e.changePasswordInputs[1]]])]),Object(a.k)("div",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.confirm_new_password")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[5]||(t[5]=t=>e.changePasswordInputs[2]=t),type:"password"},null,512),[[a.S,e.changePasswordInputs[2]]])]),Object(a.k)("button",{class:"btn button-default",onClick:t[6]||(t[6]=(...t)=>e.changePassword&&e.changePassword(...t))},Object(a.O)(e.$t("settings.save")),1),e.changedPassword?(Object(a.D)(),Object(a.j)("p",cl,Object(a.O)(e.$t("settings.changed_password")),1)):!1!==e.changePasswordError?(Object(a.D)(),Object(a.j)("p",il,Object(a.O)(e.$t("settings.change_password_error")),1)):Object(a.i)("",!0),e.changePasswordError?(Object(a.D)(),Object(a.j)("p",rl,Object(a.O)(e.changePasswordError),1)):Object(a.i)("",!0)]),Object(a.k)("div",bl,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.oauth_tokens")),1),Object(a.k)("table",ul,[Object(a.k)("thead",null,[Object(a.k)("tr",null,[Object(a.k)("th",null,Object(a.O)(e.$t("settings.app_name")),1),Object(a.k)("th",null,Object(a.O)(e.$t("settings.valid_until")),1),dl])]),Object(a.k)("tbody",null,[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.oauthTokens,t=>(Object(a.D)(),Object(a.j)("tr",{key:t.id},[Object(a.k)("td",null,Object(a.O)(t.appName),1),Object(a.k)("td",null,Object(a.O)(t.validUntil),1),Object(a.k)("td",Ol,[Object(a.k)("button",{class:"btn button-default",onClick:l=>e.revokeToken(t.id)},Object(a.O)(e.$t("settings.revoke_token")),9,pl)])]))),128))])])]),Object(a.m)(c),Object(a.k)("div",jl,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.delete_account")),1),e.deletingAccount?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("p",ml,Object(a.O)(e.$t("settings.delete_account_description")),1)),e.deletingAccount?(Object(a.D)(),Object(a.j)("div",hl,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.delete_account_instructions")),1),Object(a.k)("p",null,Object(a.O)(e.$t("login.password")),1),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[7]||(t[7]=t=>e.deleteAccountConfirmPasswordInput=t),type:"password"},null,512),[[a.S,e.deleteAccountConfirmPasswordInput]]),Object(a.k)("button",{class:"btn button-default",onClick:t[8]||(t[8]=(...t)=>e.deleteAccount&&e.deleteAccount(...t))},Object(a.O)(e.$t("settings.delete_account")),1)])):Object(a.i)("",!0),!1!==e.deleteAccountError?(Object(a.D)(),Object(a.j)("p",fl,Object(a.O)(e.$t("settings.delete_account_error")),1)):Object(a.i)("",!0),e.deleteAccountError?(Object(a.D)(),Object(a.j)("p",gl,Object(a.O)(e.deleteAccountError),1)):Object(a.i)("",!0),e.deletingAccount?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("button",{key:4,class:"btn button-default",onClick:t[9]||(t[9]=(...t)=>e.confirmDelete&&e.confirmDelete(...t))},Object(a.O)(e.$t("settings.save")),1))])],8,al)}]]);const ca={class:"profile-tab"},ia={class:"setting-item"},ra={key:0},ba={key:1},ua=["onUpdate:modelValue","placeholder"],da=["onUpdate:modelValue","placeholder"],Oa=["onClick"],pa=["disabled"],ja={class:"setting-item"},ma={class:"visibility-notice"},ha={class:"current-avatar-container"},fa=["src"],ga=["title"],ka={class:"setting-item"},va={class:"banner-background-preview"},ya=["src"],wa=["title"],_a=["src"],Va={class:"setting-item"},$a={class:"banner-background-preview"},Ca=["src"],Ta=["title"],xa=["src"],La={class:"setting-item"},Sa={class:"setting-list"};var Da=l(75),Pa=l.n(Da),Ua=l(122),Ia=l.n(Ua);const Ba={class:"image-cropper"},Fa={key:0},Ea={class:"image-cropper-image-container"},Aa=["src"],Ma={class:"image-cropper-buttons-wrapper"},Ra=["disabled","textContent"],Wa=["disabled","textContent"],Ja=["disabled","textContent"],Na=["accept"];var qa=l(28),Ga=l.n(qa),Ha=l(696),za=l.n(Ha);l(697);T.c.add(x.r);var Ka={props:{trigger:{type:[String,window.Element],required:!0},submitHandler:{type:Function,required:!0},cropperOptions:{type:Object,default:function(){return{aspectRatio:1,autoCropArea:1,viewMode:1,movable:!1,zoomable:!1,guides:!1}}},mimes:{type:String,default:"image/png, image/gif, image/jpeg, image/bmp, image/x-icon"},saveButtonLabel:{type:String},saveWithoutCroppingButtonlabel:{type:String},cancelButtonLabel:{type:String}},data:function(){return{cropper:void 0,dataUrl:void 0,filename:void 0,submitting:!1}},computed:{saveText:function(){return this.saveButtonLabel||this.$t("image_cropper.save")},saveWithoutCroppingText:function(){return this.saveWithoutCroppingButtonlabel||this.$t("image_cropper.save_without_cropping")},cancelText:function(){return this.cancelButtonLabel||this.$t("image_cropper.cancel")}},methods:{destroy:function(){this.cropper&&this.cropper.destroy(),this.$refs.input.value="",this.dataUrl=void 0,this.$emit("close")},submit:function(){var e=this,t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.submitting=!0,this.submitHandler(t&&this.cropper,this.file).then((function(){return e.destroy()})).finally((function(){e.submitting=!1}))},pickImage:function(){this.$refs.input.click()},createCropper:function(){this.cropper=new za.a(this.$refs.img,this.cropperOptions)},getTriggerDOM:function(){return"object"===Ga()(this.trigger)?this.trigger:document.querySelector(this.trigger)},readFile:function(){var e=this,t=this.$refs.input;if(null!=t.files&&null!=t.files[0]){this.file=t.files[0];var l=new window.FileReader;l.onload=function(t){e.dataUrl=t.target.result,e.$emit("open")},l.readAsDataURL(this.file),this.$emit("changed",this.file,l)}}},mounted:function(){var e=this.getTriggerDOM();e?e.addEventListener("click",this.pickImage):this.$emit("error","No image make trigger found.","user"),this.$refs.input.addEventListener("change",this.readFile)},beforeUnmount:function(){var e=this.getTriggerDOM();e&&e.removeEventListener("click",this.pickImage),this.$refs.input.removeEventListener("change",this.readFile)}};l(698);var Ya=D()(Ka,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("FAIcon");return Object(a.D)(),Object(a.j)("div",Ba,[e.dataUrl?(Object(a.D)(),Object(a.j)("div",Fa,[Object(a.k)("div",Ea,[Object(a.k)("img",{ref:"img",src:e.dataUrl,alt:"",onLoad:t[0]||(t[0]=Object(a.Y)((...t)=>e.createCropper&&e.createCropper(...t),["stop"]))},null,40,Aa)]),Object(a.k)("div",Ma,[Object(a.k)("button",{class:"button-default btn",type:"button",disabled:e.submitting,onClick:t[1]||(t[1]=t=>e.submit()),textContent:Object(a.O)(e.saveText)},null,8,Ra),Object(a.k)("button",{class:"button-default btn",type:"button",disabled:e.submitting,onClick:t[2]||(t[2]=(...t)=>e.destroy&&e.destroy(...t)),textContent:Object(a.O)(e.cancelText)},null,8,Wa),Object(a.k)("button",{class:"button-default btn",type:"button",disabled:e.submitting,onClick:t[3]||(t[3]=t=>e.submit(!1)),textContent:Object(a.O)(e.saveWithoutCroppingText)},null,8,Ja),e.submitting?(Object(a.D)(),Object(a.h)(c,{key:0,spin:"",icon:"circle-notch"})):Object(a.i)("",!0)])])):Object(a.i)("",!0),Object(a.k)("input",{ref:"input",type:"file",class:"image-cropper-img-input",accept:e.mimes},null,8,Na)])}]]),Za=l(175),Qa=l(96),Xa=l(310),en=l(167),tn=l(174);function ln(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function an(e){for(var t=1;tthis.$store.state.instance[e+"limit"]){var n=Qa.a.fileSizeFormat(a.size),s=Qa.a.fileSizeFormat(this.$store.state.instance[e+"limit"]);this.$store.dispatch("pushGlobalNotice",{messageKey:"upload.error.message",messageArgs:[this.$t("upload.error.file_too_big",{filesize:n.num,filesizeunit:n.unit,allowedsize:s.num,allowedsizeunit:s.unit})],level:"error"})}else{var o=new FileReader;o.onload=function(t){var n=t.target.result;l[e+"Preview"]=n,l[e]=a},o.readAsDataURL(a)}},resetAvatar:function(){window.confirm(this.$t("settings.reset_avatar_confirm"))&&this.submitAvatar(void 0,"")},resetBanner:function(){window.confirm(this.$t("settings.reset_banner_confirm"))&&this.submitBanner("")},resetBackground:function(){window.confirm(this.$t("settings.reset_background_confirm"))&&this.submitBackground("")},submitAvatar:function(e,t){var l=this;return new Promise((function(a,n){function s(e,t){l.$store.state.api.backendInteractor.updateProfileImages({avatar:e,avatarName:t}).then((function(e){l.$store.commit("addNewUsers",[e]),l.$store.commit("setCurrentUser",e),a()})).catch((function(e){l.displayUploadError(e),n(e)}))}e?e.getCroppedCanvas().toBlob((function(e){return s(e,t.name)}),t.type):s(t,t.name)}))},submitBanner:function(e){var t=this;(this.bannerPreview||""===e)&&(this.bannerUploading=!0,this.$store.state.api.backendInteractor.updateProfileImages({banner:e}).then((function(e){t.$store.commit("addNewUsers",[e]),t.$store.commit("setCurrentUser",e),t.bannerPreview=null})).catch(this.displayUploadError).finally((function(){t.bannerUploading=!1})))},submitBackground:function(e){var t=this;(this.backgroundPreview||""===e)&&(this.backgroundUploading=!0,this.$store.state.api.backendInteractor.updateProfileImages({background:e}).then((function(e){t.$store.commit("addNewUsers",[e]),t.$store.commit("setCurrentUser",e),t.backgroundPreview=null})).catch(this.displayUploadError).finally((function(){t.backgroundUploading=!1})))},displayUploadError:function(e){this.$store.dispatch("pushGlobalNotice",{messageKey:"upload.error.message",messageArgs:[e.message],level:"error"})}}};l(699);var sn=D()(nn,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("EmojiInput"),i=Object(a.J)("Checkbox"),r=Object(a.J)("FAIcon"),b=Object(a.J)("interface-language-switcher"),u=Object(a.J)("image-cropper"),d=Object(a.J)("BooleanSetting");return Object(a.D)(),Object(a.j)("div",ca,[Object(a.k)("div",ia,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.name_bio")),1),Object(a.k)("p",null,Object(a.O)(e.$t("settings.name")),1),Object(a.m)(c,{modelValue:e.newName,"onUpdate:modelValue":t[1]||(t[1]=t=>e.newName=t),"enable-emoji-picker":"",suggest:e.emojiSuggestor},{default:Object(a.V)(()=>[Object(a.W)(Object(a.k)("input",{id:"username","onUpdate:modelValue":t[0]||(t[0]=t=>e.newName=t),class:"name-changer"},null,512),[[a.S,e.newName]])]),_:1},8,["modelValue","suggest"]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.bio")),1),Object(a.m)(c,{modelValue:e.newBio,"onUpdate:modelValue":t[3]||(t[3]=t=>e.newBio=t),"enable-emoji-picker":"",suggest:e.emojiUserSuggestor},{default:Object(a.V)(()=>[Object(a.W)(Object(a.k)("textarea",{"onUpdate:modelValue":t[2]||(t[2]=t=>e.newBio=t),class:"bio resize-height"},null,512),[[a.S,e.newBio]])]),_:1},8,["modelValue","suggest"]),"admin"===e.role||"moderator"===e.role?(Object(a.D)(),Object(a.j)("p",ra,[Object(a.m)(i,{modelValue:e.showRole,"onUpdate:modelValue":t[4]||(t[4]=t=>e.showRole=t)},{default:Object(a.V)(()=>["admin"===e.role?(Object(a.D)(),Object(a.j)(a.a,{key:0},[Object(a.l)(Object(a.O)(e.$t("settings.show_admin_badge")),1)],64)):Object(a.i)("",!0),"moderator"===e.role?(Object(a.D)(),Object(a.j)(a.a,{key:1},[Object(a.l)(Object(a.O)(e.$t("settings.show_moderator_badge")),1)],64)):Object(a.i)("",!0)]),_:1},8,["modelValue"])])):Object(a.i)("",!0),e.maxFields>0?(Object(a.D)(),Object(a.j)("div",ba,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.profile_fields.label")),1),(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.newFields,(t,l)=>(Object(a.D)(),Object(a.j)("div",{key:l,class:"profile-fields"},[Object(a.m)(c,{modelValue:e.newFields[l].name,"onUpdate:modelValue":t=>e.newFields[l].name=t,"enable-emoji-picker":"","hide-emoji-button":"",suggest:e.userSuggestor},{default:Object(a.V)(()=>[Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t=>e.newFields[l].name=t,placeholder:e.$t("settings.profile_fields.name")},null,8,ua),[[a.S,e.newFields[l].name]])]),_:2},1032,["modelValue","onUpdate:modelValue","suggest"]),Object(a.m)(c,{modelValue:e.newFields[l].value,"onUpdate:modelValue":t=>e.newFields[l].value=t,"enable-emoji-picker":"","hide-emoji-button":"",suggest:e.userSuggestor},{default:Object(a.V)(()=>[Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t=>e.newFields[l].value=t,placeholder:e.$t("settings.profile_fields.value")},null,8,da),[[a.S,e.newFields[l].value]])]),_:2},1032,["modelValue","onUpdate:modelValue","suggest"]),Object(a.k)("button",{class:"delete-field button-unstyled -hover-highlight",onClick:t=>e.deleteField(l)},[e.newFields.length>1?(Object(a.D)(),Object(a.h)(r,{key:0,icon:"times"})):Object(a.i)("",!0)],8,Oa)]))),128)),e.newFields.lengthe.addField&&e.addField(...t))},[Object(a.m)(r,{icon:"plus"}),Object(a.l)(" "+Object(a.O)(e.$t("settings.profile_fields.add_field")),1)])):Object(a.i)("",!0)])):Object(a.i)("",!0),Object(a.k)("p",null,[Object(a.m)(i,{modelValue:e.bot,"onUpdate:modelValue":t[6]||(t[6]=t=>e.bot=t)},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.bot")),1)]),_:1},8,["modelValue"])]),Object(a.k)("p",null,[Object(a.m)(b,{"prompt-text":e.$t("settings.email_language"),language:e.emailLanguage,"set-language":t=>e.emailLanguage=t},null,8,["prompt-text","language","set-language"])]),Object(a.k)("button",{disabled:e.newName&&0===e.newName.length,class:"btn button-default",onClick:t[7]||(t[7]=(...t)=>e.updateProfile&&e.updateProfile(...t))},Object(a.O)(e.$t("settings.save")),9,pa)]),Object(a.k)("div",ja,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.avatar")),1),Object(a.k)("p",ma,Object(a.O)(e.$t("settings.avatar_size_instruction")),1),Object(a.k)("div",ha,[Object(a.k)("img",{src:e.user.profile_image_url_original,class:"current-avatar"},null,8,fa),!e.isDefaultAvatar&&e.pickAvatarBtnVisible?(Object(a.D)(),Object(a.j)("button",{key:0,title:e.$t("settings.reset_avatar"),onClick:t[8]||(t[8]=(...t)=>e.resetAvatar&&e.resetAvatar(...t)),class:"button-unstyled reset-button"},[Object(a.m)(r,{icon:"times",type:"button"})],8,ga)):Object(a.i)("",!0)]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.set_new_avatar")),1),Object(a.W)(Object(a.k)("button",{id:"pick-avatar",class:"button-default btn",type:"button"},Object(a.O)(e.$t("settings.upload_a_photo")),513),[[a.T,e.pickAvatarBtnVisible]]),Object(a.m)(u,{trigger:"#pick-avatar","submit-handler":e.submitAvatar,onOpen:t[9]||(t[9]=t=>e.pickAvatarBtnVisible=!1),onClose:t[10]||(t[10]=t=>e.pickAvatarBtnVisible=!0)},null,8,["submit-handler"])]),Object(a.k)("div",ka,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.profile_banner")),1),Object(a.k)("div",va,[Object(a.k)("img",{src:e.user.cover_photo},null,8,ya),e.isDefaultBanner?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("button",{key:0,class:"button-unstyled reset-button",title:e.$t("settings.reset_profile_banner"),onClick:t[11]||(t[11]=(...t)=>e.resetBanner&&e.resetBanner(...t))},[Object(a.m)(r,{icon:"times",type:"button"})],8,wa))]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.set_new_profile_banner")),1),e.bannerPreview?(Object(a.D)(),Object(a.j)("img",{key:0,class:"banner-background-preview",src:e.bannerPreview},null,8,_a)):Object(a.i)("",!0),Object(a.k)("div",null,[Object(a.k)("input",{type:"file",onChange:t[12]||(t[12]=t=>e.uploadFile("banner",t))},null,32)]),e.bannerUploading?(Object(a.D)(),Object(a.h)(r,{key:1,class:"uploading",spin:"",icon:"circle-notch"})):e.bannerPreview?(Object(a.D)(),Object(a.j)("button",{key:2,class:"btn button-default",onClick:t[13]||(t[13]=t=>e.submitBanner(e.banner))},Object(a.O)(e.$t("settings.save")),1)):Object(a.i)("",!0)]),Object(a.k)("div",Va,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.profile_background")),1),Object(a.k)("div",$a,[Object(a.k)("img",{src:e.user.background_image},null,8,Ca),e.isDefaultBackground?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("button",{key:0,class:"button-unstyled reset-button",title:e.$t("settings.reset_profile_background"),onClick:t[14]||(t[14]=(...t)=>e.resetBackground&&e.resetBackground(...t))},[Object(a.m)(r,{icon:"times",type:"button"})],8,Ta))]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.set_new_profile_background")),1),e.backgroundPreview?(Object(a.D)(),Object(a.j)("img",{key:0,class:"banner-background-preview",src:e.backgroundPreview},null,8,xa)):Object(a.i)("",!0),Object(a.k)("div",null,[Object(a.k)("input",{type:"file",onChange:t[15]||(t[15]=t=>e.uploadFile("background",t))},null,32)]),e.backgroundUploading?(Object(a.D)(),Object(a.h)(r,{key:1,class:"uploading",spin:"",icon:"circle-notch"})):e.backgroundPreview?(Object(a.D)(),Object(a.j)("button",{key:2,class:"btn button-default",onClick:t[16]||(t[16]=t=>e.submitBackground(e.background))},Object(a.O)(e.$t("settings.save")),1)):Object(a.i)("",!0)]),Object(a.k)("div",La,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.account_privacy")),1),Object(a.k)("ul",Sa,[Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_locked"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.lock_account_description")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_discoverable"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.discoverable")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_allowFollowingMove"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.allow_following_move")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_hideFavorites"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_favorites_description")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_hideFollowers"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_followers_description")),1)]),_:1}),Object(a.k)("ul",{class:Object(a.w)(["setting-list suboptions",[{disabled:!e.serverSide_hideFollowers}]])},[Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_hideFollowersCount",disabled:!e.serverSide_hideFollowers},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_followers_count_description")),1)]),_:1},8,["disabled"])])],2)]),Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_hideFollows"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_follows_description")),1)]),_:1}),Object(a.k)("ul",{class:Object(a.w)(["setting-list suboptions",[{disabled:!e.serverSide_hideFollows}]])},[Object(a.k)("li",null,[Object(a.m)(d,{path:"serverSide_hideFollowsCount",disabled:!e.serverSide_hideFollows},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_follows_count_description")),1)]),_:1},8,["disabled"])])],2)])])])])}]]);const on=["label"],cn={class:"setting-item"},rn={class:"setting-list"},bn={key:0},un={key:1},dn={key:2},On={class:"setting-item"},pn={class:"setting-list"},jn={key:0,class:"setting-list suboptions"},mn={class:"setting-list suboptions"},hn={key:0,class:"unavailable"},fn={class:"setting-list suboptions"},gn={key:0},kn={key:1},vn={key:2},yn={key:3},wn={key:0,class:"setting-item"},_n={class:"setting-list"},Vn={for:"default-vis"},$n={key:0};function Cn(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}T.c.add(x.I);var Tn={data:function(){var e=this;return{subjectLineOptions:["email","noop","masto"].map((function(t){return{key:t,value:t,label:e.$t("settings.subject_line_".concat("masto"===t?"mastodon":t))}})),conversationDisplayOptions:["tree","linear"].map((function(t){return{key:t,value:t,label:e.$t("settings.conversation_display_".concat(t))}})),conversationOtherRepliesButtonOptions:["below","inside"].map((function(t){return{key:t,value:t,label:e.$t("settings.conversation_other_replies_button_".concat(t))}})),mentionLinkDisplayOptions:["short","full_for_remote","full"].map((function(t){return{key:t,value:t,label:e.$t("settings.mention_link_display_".concat(t))}})),thirdColumnModeOptions:["none","notifications","postform"].map((function(t){return{key:t,value:t,label:e.$t("settings.third_column_mode_".concat(t))}})),loopSilentAvailable:Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype,"mozHasAudio")||Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype,"webkitAudioDecodedByteCount")||Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype,"audioTracks")}},components:{BooleanSetting:vt,ChoiceSetting:Gt,IntegerSetting:Qt,InterfaceLanguageSwitcher:tn.a,ScopeSelector:Za.a,ServerSideIndicator:gt},computed:function(e){for(var t=1;te.language=t},null,8,["prompt-text","language","set-language"])]),e.instanceSpecificPanelPresent?(Object(a.D)(),Object(a.j)("li",bn,[Object(a.m)(i,{path:"hideISP"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_isp")),1)]),_:1})])):Object(a.i)("",!0),Object(a.k)("li",null,[Object(a.m)(i,{path:"sidebarRight"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.right_sidebar")),1)]),_:1})]),e.instanceWallpaperUsed?(Object(a.D)(),Object(a.j)("li",un,[Object(a.m)(i,{path:"hideInstanceWallpaper"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_wallpaper")),1)]),_:1})])):Object(a.i)("",!0),Object(a.k)("li",null,[Object(a.m)(i,{path:"stopGifs"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.stop_gifs")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"streaming"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.streaming")),1)]),_:1}),Object(a.k)("ul",{class:Object(a.w)(["setting-list suboptions",[{disabled:!e.streaming}]])},[Object(a.k)("li",null,[Object(a.m)(i,{path:"pauseOnUnfocused",disabled:!e.streaming},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.pause_on_unfocused")),1)]),_:1},8,["disabled"])])],2)]),Object(a.k)("li",null,[Object(a.m)(i,{path:"useStreamingApi",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.useStreamingApi")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"virtualScrolling",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.virtual_scrolling")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"disableStickyHeaders"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.disable_sticky_headers")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"showScrollbars"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.show_scrollbars")),1)]),_:1})]),Object(a.k)("li",null,[e.user?(Object(a.D)(),Object(a.h)(r,{key:0,id:"thirdColumnMode",path:"thirdColumnMode",options:e.thirdColumnModeOptions},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.third_column_mode")),1)]),_:1},8,["options"])):Object(a.i)("",!0)]),Object(a.k)("li",null,[Object(a.m)(i,{path:"minimalScopesMode"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.minimal_scopes_mode")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"sensitiveByDefault"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.sensitive_by_default")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"sensitiveIfSubject"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.sensitive_if_subject")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"renderMisskeyMarkdown"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.render_mfm")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"alwaysShowNewPostButton",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.always_show_post_button")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"autohideFloatingPostButton",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.autohide_floating_post_button")),1)]),_:1})]),e.instanceShoutboxPresent?(Object(a.D)(),Object(a.j)("li",dn,[Object(a.m)(i,{path:"hideShoutbox",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.hide_shoutbox")),1)]),_:1})])):Object(a.i)("",!0)])]),Object(a.k)("div",On,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.post_look_feel")),1),Object(a.k)("ul",pn,[Object(a.k)("li",null,[Object(a.m)(r,{id:"conversationDisplay",path:"conversationDisplay",options:e.conversationDisplayOptions},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.conversation_display")),1)]),_:1},8,["options"])]),"linear"!==e.conversationDisplay?(Object(a.D)(),Object(a.j)("ul",jn,[Object(a.k)("li",null,[Object(a.m)(i,{path:"conversationTreeAdvanced"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.tree_advanced")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"conversationTreeFadeAncestors",expert:1},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.tree_fade_ancestors")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(b,{path:"maxDepthInThread",min:3,expert:1},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.max_depth_in_thread")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(r,{id:"conversationOtherRepliesButton",path:"conversationOtherRepliesButton",options:e.conversationOtherRepliesButtonOptions,expert:1},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.conversation_other_replies_button")),1)]),_:1},8,["options"])])])):Object(a.i)("",!0),Object(a.k)("li",null,[Object(a.m)(i,{path:"collapseMessageWithSubject"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.collapse_subject")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"emojiReactionsOnTimeline",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.emoji_reactions_on_timeline")),1)]),_:1})]),Object(a.k)("li",null,[e.user?(Object(a.D)(),Object(a.h)(i,{key:0,path:"serverSide_stripRichContent",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.no_rich_text_description")),1)]),_:1})):Object(a.i)("",!0)]),Object(a.k)("h3",null,Object(a.O)(e.$t("settings.attachments")),1),Object(a.k)("li",null,[Object(a.m)(i,{path:"useContainFit",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.use_contain_fit")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"hideNsfw"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.nsfw_clickthrough")),1)]),_:1})]),Object(a.k)("ul",mn,[Object(a.k)("li",null,[Object(a.m)(i,{path:"preloadImage",expert:"1",disabled:!e.hideNsfw},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.preload_images")),1)]),_:1},8,["disabled"])]),Object(a.k)("li",null,[Object(a.m)(i,{path:"useOneClickNsfw",expert:"1",disabled:!e.hideNsfw},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.use_one_click_nsfw")),1)]),_:1},8,["disabled"])])]),Object(a.k)("li",null,[Object(a.m)(i,{path:"loopVideo",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.loop_video")),1)]),_:1}),Object(a.k)("ul",{class:Object(a.w)(["setting-list suboptions",[{disabled:!e.streaming}]])},[Object(a.k)("li",null,[Object(a.m)(i,{path:"loopVideoSilentOnly",expert:"1",disabled:!e.loopVideo||!e.loopSilentAvailable},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.loop_video_silent_only")),1)]),_:1},8,["disabled"]),e.loopSilentAvailable?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("div",hn,[Object(a.m)(u,{icon:"globe"}),Object(a.l)("! "+Object(a.O)(e.$t("settings.limited_availability")),1)]))])],2)]),Object(a.k)("li",null,[Object(a.m)(i,{path:"playVideosInModal",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.play_videos_in_modal")),1)]),_:1})]),Object(a.k)("h3",null,Object(a.O)(e.$t("settings.mention_links")),1),Object(a.k)("li",null,[Object(a.m)(r,{id:"mentionLinkDisplay",path:"mentionLinkDisplay",options:e.mentionLinkDisplayOptions},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.mention_link_display")),1)]),_:1},8,["options"])]),Object(a.k)("ul",fn,["short"===e.mentionLinkDisplay?(Object(a.D)(),Object(a.j)("li",gn,[Object(a.m)(i,{path:"mentionLinkShowTooltip",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.mention_link_show_tooltip")),1)]),_:1})])):Object(a.i)("",!0)]),Object(a.k)("li",null,[Object(a.m)(i,{path:"useAtIcon",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.use_at_icon")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"mentionLinkShowAvatar"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.mention_link_show_avatar")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"mentionLinkFadeDomain",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.mention_link_fade_domain")),1)]),_:1})]),e.user?(Object(a.D)(),Object(a.j)("li",kn,[Object(a.m)(i,{path:"mentionLinkBoldenYou",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.mention_link_bolden_you")),1)]),_:1})])):Object(a.i)("",!0),e.expertLevel>0?(Object(a.D)(),Object(a.j)("h3",vn,Object(a.O)(e.$t("settings.fun")),1)):Object(a.i)("",!0),Object(a.k)("li",null,[Object(a.m)(i,{path:"greentext",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.greentext")),1)]),_:1})]),e.user?(Object(a.D)(),Object(a.j)("li",yn,[Object(a.m)(i,{path:"mentionLinkShowYous",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.show_yous")),1)]),_:1})])):Object(a.i)("",!0)])]),e.user?(Object(a.D)(),Object(a.j)("div",wn,[Object(a.k)("h2",null,Object(a.O)(e.$t("settings.composing")),1),Object(a.k)("ul",_n,[Object(a.k)("li",null,[Object(a.k)("label",Vn,[Object(a.l)(Object(a.O)(e.$t("settings.default_vis"))+" ",1),Object(a.m)(d,{"server-side":!0}),Object(a.m)(O,{class:"scope-selector","show-all":!0,"user-default":e.serverSide_defaultScope,"initial-scope":e.serverSide_defaultScope,"on-scope-change":e.changeDefaultScope},null,8,["user-default","initial-scope","on-scope-change"])])]),Object(a.k)("li",null,[Object(a.m)(i,{path:"sensitiveByDefault"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.sensitive_by_default")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"scopeCopy",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.scope_copy")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"alwaysShowSubjectInput",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.subject_input_always_show")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(r,{id:"subjectLineBehavior",path:"subjectLineBehavior",options:e.subjectLineOptions,expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.subject_line_behavior")),1)]),_:1},8,["options"])]),e.postFormats.length>0?(Object(a.D)(),Object(a.j)("li",$n,[Object(a.m)(r,{id:"postContentType",path:"postContentType",options:e.postContentOptions},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.post_status_content_type")),1)]),_:1},8,["options"])])):Object(a.i)("",!0),Object(a.k)("li",null,[Object(a.m)(i,{path:"minimalScopesMode",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.minimal_scopes_mode")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"alwaysShowNewPostButton",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.always_show_post_button")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"autohideFloatingPostButton",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.autohide_floating_post_button")),1)]),_:1})]),Object(a.k)("li",null,[Object(a.m)(i,{path:"padEmoji",expert:"1"},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.pad_emoji")),1)]),_:1})])])])):Object(a.i)("",!0)],8,on)}]]);const Ln=["label"],Sn={class:"setting-item"},Dn={class:"setting-list"},Pn={class:"option-list"},Un=["href"],In={class:"option-list"},Bn=["href"];var Fn={data:function(){var e=this.$store.state.instance;return{backendVersion:e.backendVersion,frontendVersion:e.frontendVersion}},computed:{frontendVersionLink:function(){return"https://akkoma.dev/AkkomaGang/pleroma-fe/commit/"+this.frontendVersion},backendVersionLink:function(){return"https://akkoma.dev/AkkomaGang/akkoma/commit/"+(e=this.backendVersion,(t=e.match(/-g(\w+)/i))?t[1]:"");var e,t}}};var En=D()(Fn,[["render",function(e,t,l,n,s,o){return Object(a.D)(),Object(a.j)("div",{label:e.$t("settings.version.title")},[Object(a.k)("div",Sn,[Object(a.k)("ul",Dn,[Object(a.k)("li",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.version.backend_version")),1),Object(a.k)("ul",Pn,[Object(a.k)("li",null,[Object(a.k)("a",{href:e.backendVersionLink,target:"_blank"},Object(a.O)(e.backendVersion),9,Un)])])]),Object(a.k)("li",null,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.version.frontend_version")),1),Object(a.k)("ul",In,[Object(a.k)("li",null,[Object(a.k)("a",{href:e.frontendVersionLink,target:"_blank"},Object(a.O)(e.frontendVersion),9,Bn)])])])])])],8,Ln)}]]);const An={class:"theme-tab"},Mn={class:"presets-container"},Rn={class:"save-load"},Wn={key:0,class:"theme-warning"},Jn={class:"alert warning"},Nn={class:"buttons"},qn={class:"top"},Gn={class:"presets"},Hn={for:"preset-switcher",class:"select"},zn=["value"],Kn={class:"export-import"},Yn={class:"save-load-options"},Zn={class:"keep-option"},Qn={class:"keep-option"},Xn={class:"keep-option"},es={class:"keep-option"},ts={class:"keep-option"},ls=["label"],as={class:"tab-header"},ns={class:"tab-header-buttons"},ss={class:"color-item"},os={class:"color-item"},cs={class:"color-item"},is={class:"color-item"},rs=["label"],bs={class:"tab-header"},us={class:"color-item"},ds={class:"color-item"},Os={class:"color-item"},ps={class:"color-item"},js={class:"color-item"},ms={class:"color-item"},hs={class:"color-item"},fs={class:"color-item"},gs={class:"color-item"},ks={class:"color-item"},vs={class:"color-item"},ys={class:"color-item"},ws={class:"color-item"},_s={class:"color-item"},Vs={class:"color-item"},$s={class:"color-item"},Cs={class:"color-item"},Ts={class:"color-item"},xs=["label"],Ls={class:"tab-header"},Ss=["label"],Ds={class:"tab-header shadow-selector"},Ps={class:"select-container"},Us=["value"],Is={class:"override"},Bs={for:"override",class:"label"},Fs=Object(a.l)(" "+Object(a.O)(" ")+" "),Es=Object(a.k)("label",{class:"checkbox-label",for:"override"},null,-1),As={key:0},Ms=Object(a.k)("code",null,"filter: drop-shadow()",-1),Rs=Object(a.k)("code",null,"drop-shadow",-1),Ws=Object(a.k)("code",null,"spread-radius",-1),Js=Object(a.k)("code",null,"inset",-1),Ns=Object(a.k)("code",null,"box-shadow",-1),qs=["label"],Gs={class:"tab-header"},Hs={class:"apply-container"},zs=["disabled"];var Ks=l(18),Ys=l(43),Zs=l(138),Qs=l(36),Xs=l(54);const eo=["for"],to={class:"input color-input-field"},lo=["id","value","disabled"],ao=["id","value","disabled"],no={key:1,class:"transparentIndicator"};var so={components:{Checkbox:E.a},props:{name:{required:!0,type:String},label:{required:!0,type:String},modelValue:{required:!1,type:String,default:void 0},fallback:{required:!1,type:String,default:void 0},disabled:{required:!1,type:Boolean,default:!1},showOptionalTickbox:{required:!1,type:Boolean,default:!0}},emits:["update:modelValue"],computed:{present:function(){return void 0!==this.modelValue},validColor:function(){return Object(Ks.f)(this.modelValue||this.fallback)},transparentColor:function(){return"transparent"===this.modelValue},computedColor:function(){return this.modelValue&&this.modelValue.startsWith("--")}}};l(700),l(701);var oo=D()(so,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("Checkbox");return Object(a.D)(),Object(a.j)("div",{class:Object(a.w)(["color-input style-control",{disabled:!o.present||l.disabled}])},[Object(a.k)("label",{for:l.name,class:"label"},Object(a.O)(l.label),9,eo),void 0!==l.fallback&&l.showOptionalTickbox?(Object(a.D)(),Object(a.h)(c,{key:0,"model-value":o.present,disabled:l.disabled,class:"opt","onUpdate:modelValue":t[0]||(t[0]=t=>e.$emit("update:modelValue",void 0===l.modelValue?l.fallback:void 0))},null,8,["model-value","disabled"])):Object(a.i)("",!0),Object(a.k)("div",to,[Object(a.k)("input",{id:l.name+"-t",class:"textColor unstyled",type:"text",value:l.modelValue||l.fallback,disabled:!o.present||l.disabled,onInput:t[1]||(t[1]=t=>e.$emit("update:modelValue",t.target.value))},null,40,lo),o.validColor?(Object(a.D)(),Object(a.j)("input",{key:0,id:l.name,class:"nativeColor unstyled",type:"color",value:l.modelValue||l.fallback,disabled:!o.present||l.disabled,onInput:t[2]||(t[2]=t=>e.$emit("update:modelValue",t.target.value))},null,40,ao)):Object(a.i)("",!0),o.transparentColor?(Object(a.D)(),Object(a.j)("div",no)):Object(a.i)("",!0),o.computedColor?(Object(a.D)(),Object(a.j)("div",{key:2,class:"computedIndicator",style:Object(a.x)({backgroundColor:l.fallback})},null,4)):Object(a.i)("",!0)])],2)}]]);const co=["for"],io=["id","checked"],ro=["for"],bo=["id","value","disabled","max","min","step"],uo=["id","value","disabled","max","min","step"];var Oo={props:["name","modelValue","fallback","disabled","label","max","min","step","hardMin","hardMax"],emits:["update:modelValue"],computed:{present:function(){return void 0!==this.modelValue}}};var po=D()(Oo,[["render",function(e,t,l,n,s,o){return Object(a.D)(),Object(a.j)("div",{class:Object(a.w)(["range-control style-control",{disabled:!o.present||l.disabled}])},[Object(a.k)("label",{for:l.name,class:"label"},Object(a.O)(l.label),9,co),void 0!==l.fallback?(Object(a.D)(),Object(a.j)("input",{key:0,id:l.name+"-o",class:"opt",type:"checkbox",checked:o.present,onChange:t[0]||(t[0]=t=>e.$emit("update:modelValue",o.present?void 0:l.fallback))},null,40,io)):Object(a.i)("",!0),void 0!==l.fallback?(Object(a.D)(),Object(a.j)("label",{key:1,class:"opt-l",for:l.name+"-o"},null,8,ro)):Object(a.i)("",!0),Object(a.k)("input",{id:l.name,class:"input-number",type:"range",value:l.modelValue||l.fallback,disabled:!o.present||l.disabled,max:l.max||l.hardMax||100,min:l.min||l.hardMin||0,step:l.step||1,onInput:t[1]||(t[1]=t=>e.$emit("update:modelValue",t.target.value))},null,40,bo),Object(a.k)("input",{id:l.name,class:"input-number",type:"number",value:l.modelValue||l.fallback,disabled:!o.present||l.disabled,max:l.hardMax,min:l.hardMin,step:l.step||1,onInput:t[2]||(t[2]=t=>e.$emit("update:modelValue",t.target.value))},null,40,uo)],2)}]]);const jo=["for"],mo=["id","value","disabled"];var ho={components:{Checkbox:E.a},props:["name","modelValue","fallback","disabled"],emits:["update:modelValue"],computed:{present:function(){return void 0!==this.modelValue}}};var fo=D()(ho,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("Checkbox");return Object(a.D)(),Object(a.j)("div",{class:Object(a.w)(["opacity-control style-control",{disabled:!o.present||l.disabled}])},[Object(a.k)("label",{for:l.name,class:"label"},Object(a.O)(e.$t("settings.style.common.opacity")),9,jo),void 0!==l.fallback?(Object(a.D)(),Object(a.h)(c,{key:0,"model-value":o.present,disabled:l.disabled,class:"opt","onUpdate:modelValue":t[0]||(t[0]=t=>e.$emit("update:modelValue",o.present?void 0:l.fallback))},null,8,["model-value","disabled"])):Object(a.i)("",!0),Object(a.k)("input",{id:l.name,class:"input-number",type:"number",value:l.modelValue||l.fallback,disabled:!o.present||l.disabled,max:"1",min:"0",step:".05",onInput:t[1]||(t[1]=t=>e.$emit("update:modelValue",t.target.value))},null,40,mo)],2)}]]);const go={class:"shadow-preview-container"},ko=["disabled"],vo=["disabled"],yo={class:"wrap"},wo=["disabled"],_o={class:"preview-window"},Vo=["disabled"],$o=["disabled"],Co={class:"wrap"},To=["disabled"],xo={class:"shadow-tweak"},Lo=["disabled"],So=["value"],Do=["disabled"],Po=["disabled"],Uo=["disabled"],Io=["disabled"],Bo=["disabled"],Fo={for:"inset",class:"label"},Eo=["disabled"],Ao=Object(a.k)("label",{class:"checkbox-label",for:"inset"},null,-1),Mo=["disabled"],Ro={for:"spread",class:"label"},Wo=["disabled"],Jo=["disabled"],No=["disabled"],qo={for:"spread",class:"label"},Go=["disabled"],Ho=["disabled"],zo=Object(a.k)("code",null,"--variable,mod",-1);function Ko(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function Yo(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{};return Yo({x:0,y:0,blur:0,spread:0,inset:!1,color:"#000000",alpha:1},e)},Qo={props:["modelValue","fallback","ready"],emits:["update:modelValue"],data:function(){return{selectedId:0,cValue:(this.modelValue||this.fallback||[]).map(Zo)}},components:{ColorInput:oo,OpacityInput:fo,Select:Nt.a},methods:{add:function(){this.cValue.push(Zo(this.selected)),this.selectedId=this.cValue.length-1},del:function(){this.cValue.splice(this.selectedId,1),this.selectedId=0===this.cValue.length?void 0:Math.max(this.selectedId-1,0)},moveUp:function(){var e=this.cValue.splice(this.selectedId,1)[0];this.cValue.splice(this.selectedId-1,0,e),this.selectedId-=1},moveDn:function(){var e=this.cValue.splice(this.selectedId,1)[0];this.cValue.splice(this.selectedId+1,0,e),this.selectedId+=1}},beforeUpdate:function(){this.cValue=this.modelValue||this.fallback},computed:{anyShadows:function(){return this.cValue.length>0},anyShadowsFallback:function(){return this.fallback.length>0},selected:function(){return this.ready&&this.anyShadows?this.cValue[this.selectedId]:Zo({})},currentFallback:function(){return this.ready&&this.anyShadowsFallback?this.fallback[this.selectedId]:Zo({})},moveUpValid:function(){return this.ready&&this.selectedId>0},moveDnValid:function(){return this.ready&&this.selectedIde.selected.y=t),disabled:!e.present,class:"input-number",type:"number"},null,8,vo),[[a.S,e.selected.y]]),Object(a.k)("div",yo,[Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[1]||(t[1]=t=>e.selected.y=t),disabled:!e.present,class:"input-range",type:"range",max:"20",min:"-20"},null,8,wo),[[a.S,e.selected.y]])])],8,ko),Object(a.k)("div",_o,[Object(a.k)("div",{class:"preview-block",style:Object(a.x)(e.style)},null,4)]),Object(a.k)("div",{disabled:!e.present,class:"x-shift-control"},[Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[2]||(t[2]=t=>e.selected.x=t),disabled:!e.present,class:"input-number",type:"number"},null,8,$o),[[a.S,e.selected.x]]),Object(a.k)("div",Co,[Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[3]||(t[3]=t=>e.selected.x=t),disabled:!e.present,class:"input-range",type:"range",max:"20",min:"-20"},null,8,To),[[a.S,e.selected.x]])])],8,Vo)]),Object(a.k)("div",xo,[Object(a.k)("div",{disabled:e.usingFallback,class:"id-control style-control"},[Object(a.m)(c,{id:"shadow-switcher",modelValue:e.selectedId,"onUpdate:modelValue":t[4]||(t[4]=t=>e.selectedId=t),class:"shadow-switcher",disabled:!e.ready||e.usingFallback},{default:Object(a.V)(()=>[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.cValue,(t,l)=>(Object(a.D)(),Object(a.j)("option",{key:l,value:l},Object(a.O)(e.$t("settings.style.shadows.shadow_id",{value:l})),9,So))),128))]),_:1},8,["modelValue","disabled"]),Object(a.k)("button",{class:"btn button-default",disabled:!e.ready||!e.present,onClick:t[5]||(t[5]=(...t)=>e.del&&e.del(...t))},[Object(a.m)(i,{"fixed-width":"",icon:"times"})],8,Do),Object(a.k)("button",{class:"btn button-default",disabled:!e.moveUpValid,onClick:t[6]||(t[6]=(...t)=>e.moveUp&&e.moveUp(...t))},[Object(a.m)(i,{"fixed-width":"",icon:"chevron-up"})],8,Po),Object(a.k)("button",{class:"btn button-default",disabled:!e.moveDnValid,onClick:t[7]||(t[7]=(...t)=>e.moveDn&&e.moveDn(...t))},[Object(a.m)(i,{"fixed-width":"",icon:"chevron-down"})],8,Uo),Object(a.k)("button",{class:"btn button-default",disabled:e.usingFallback,onClick:t[8]||(t[8]=(...t)=>e.add&&e.add(...t))},[Object(a.m)(i,{"fixed-width":"",icon:"plus"})],8,Io)],8,Lo),Object(a.k)("div",{disabled:!e.present,class:"inset-control style-control"},[Object(a.k)("label",Fo,Object(a.O)(e.$t("settings.style.shadows.inset")),1),Object(a.W)(Object(a.k)("input",{id:"inset","onUpdate:modelValue":t[9]||(t[9]=t=>e.selected.inset=t),disabled:!e.present,name:"inset",class:"input-inset",type:"checkbox"},null,8,Eo),[[a.R,e.selected.inset]]),Ao],8,Bo),Object(a.k)("div",{disabled:!e.present,class:"blur-control style-control"},[Object(a.k)("label",Ro,Object(a.O)(e.$t("settings.style.shadows.blur")),1),Object(a.W)(Object(a.k)("input",{id:"blur","onUpdate:modelValue":t[10]||(t[10]=t=>e.selected.blur=t),disabled:!e.present,name:"blur",class:"input-range",type:"range",max:"20",min:"0"},null,8,Wo),[[a.S,e.selected.blur]]),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[11]||(t[11]=t=>e.selected.blur=t),disabled:!e.present,class:"input-number",type:"number",min:"0"},null,8,Jo),[[a.S,e.selected.blur]])],8,Mo),Object(a.k)("div",{disabled:!e.present,class:"spread-control style-control"},[Object(a.k)("label",qo,Object(a.O)(e.$t("settings.style.shadows.spread")),1),Object(a.W)(Object(a.k)("input",{id:"spread","onUpdate:modelValue":t[12]||(t[12]=t=>e.selected.spread=t),disabled:!e.present,name:"spread",class:"input-range",type:"range",max:"20",min:"-20"},null,8,Go),[[a.S,e.selected.spread]]),Object(a.W)(Object(a.k)("input",{"onUpdate:modelValue":t[13]||(t[13]=t=>e.selected.spread=t),disabled:!e.present,class:"input-number",type:"number"},null,8,Ho),[[a.S,e.selected.spread]])],8,No),Object(a.m)(r,{modelValue:e.selected.color,"onUpdate:modelValue":t[14]||(t[14]=t=>e.selected.color=t),disabled:!e.present,label:e.$t("settings.style.common.color"),fallback:e.currentFallback.color,"show-optional-tickbox":!1,name:"shadow"},null,8,["modelValue","disabled","label","fallback"]),Object(a.m)(b,{modelValue:e.selected.alpha,"onUpdate:modelValue":t[15]||(t[15]=t=>e.selected.alpha=t),disabled:!e.present},null,8,["modelValue","disabled"]),Object(a.m)(u,{scope:"global",keypath:"settings.style.shadows.hintV3",tag:"p"},{default:Object(a.V)(()=>[zo]),_:1})])],2)}]]);const ec=["for"],tc=["id","checked"],lc=["for"],ac=Object(a.l)(" "+Object(a.O)(" ")+" "),nc=["value"],sc=["id"];var oc={components:{Select:Nt.a},props:["name","label","modelValue","fallback","options","no-inherit"],emits:["update:modelValue"],data:function(){return{lValue:this.modelValue,availableOptions:[this.noInherit?"":"inherit","custom"].concat(Ue()(this.options||[]),["serif","monospace","sans-serif"]).filter((function(e){return e}))}},beforeUpdate:function(){this.lValue=this.modelValue},computed:{present:function(){return void 0!==this.lValue},dValue:function(){return this.lValue||this.fallback||{}},family:{get:function(){return this.dValue.family},set:function(e){it()(this.lValue,"family",e),this.$emit("update:modelValue",this.lValue)}},isCustom:function(){return"custom"===this.preset},preset:{get:function(){return"serif"===this.family||"sans-serif"===this.family||"monospace"===this.family||"inherit"===this.family?this.family:"custom"},set:function(e){this.family="custom"===e?"":e}}}};l(703);var cc=D()(oc,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("Select");return Object(a.D)(),Object(a.j)("div",{class:Object(a.w)(["font-control style-control",{custom:e.isCustom}])},[Object(a.k)("label",{for:"custom"===e.preset?e.name:e.name+"-font-switcher",class:"label"},Object(a.O)(e.label),9,ec),void 0!==e.fallback?(Object(a.D)(),Object(a.j)("input",{key:0,id:e.name+"-o",class:"opt exlcude-disabled",type:"checkbox",checked:e.present,onChange:t[0]||(t[0]=t=>e.$emit("update:modelValue",void 0===e.modelValue?e.fallback:void 0))},null,40,tc)):Object(a.i)("",!0),void 0!==e.fallback?(Object(a.D)(),Object(a.j)("label",{key:1,class:"opt-l",for:e.name+"-o"},null,8,lc)):Object(a.i)("",!0),ac,Object(a.m)(c,{id:e.name+"-font-switcher",modelValue:e.preset,"onUpdate:modelValue":t[1]||(t[1]=t=>e.preset=t),disabled:!e.present,class:"font-switcher"},{default:Object(a.V)(()=>[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.availableOptions,t=>(Object(a.D)(),Object(a.j)("option",{key:t,value:t},Object(a.O)("custom"===t?e.$t("settings.style.fonts.custom"):t),9,nc))),128))]),_:1},8,["id","modelValue","disabled"]),e.isCustom?Object(a.W)((Object(a.D)(),Object(a.j)("input",{key:2,id:e.name,"onUpdate:modelValue":t[2]||(t[2]=t=>e.family=t),class:"custom-font",type:"text"},null,8,sc)),[[a.S,e.family]]):Object(a.i)("",!0)],2)}]]);const ic={key:0,class:"contrast-ratio"},rc=["title"],bc={key:0},uc={key:1},dc={key:2},Oc=["title"],pc={key:0},jc={key:1},mc={key:2};T.c.add(x.a,x.z,x.pb);var hc={props:{large:{required:!1,type:Boolean,default:!1},contrast:{required:!1,type:Object,default:function(){return{}}}},computed:{hint:function(){var e=this.contrast.aaa?"aaa":this.contrast.aa?"aa":"bad",t=this.$t("settings.style.common.contrast.level.".concat(e)),l=this.$t("settings.style.common.contrast.context.text"),a=this.contrast.text;return this.$t("settings.style.common.contrast.hint",{level:t,context:l,ratio:a})},hint_18pt:function(){var e=this.contrast.laaa?"aaa":this.contrast.laa?"aa":"bad",t=this.$t("settings.style.common.contrast.level.".concat(e)),l=this.$t("settings.style.common.contrast.context.18pt"),a=this.contrast.text;return this.$t("settings.style.common.contrast.hint",{level:t,context:l,ratio:a})}}};l(704);var fc=D()(hc,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("FAIcon");return l.contrast?(Object(a.D)(),Object(a.j)("span",ic,[Object(a.k)("span",{title:o.hint,class:"rating"},[l.contrast.aaa?(Object(a.D)(),Object(a.j)("span",bc,[Object(a.m)(c,{icon:"thumbs-up"})])):Object(a.i)("",!0),!l.contrast.aaa&&l.contrast.aa?(Object(a.D)(),Object(a.j)("span",uc,[Object(a.m)(c,{icon:"adjust"})])):Object(a.i)("",!0),l.contrast.aaa||l.contrast.aa?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("span",dc,[Object(a.m)(c,{icon:"exclamation-triangle"})]))],8,rc),l.contrast&&l.large?(Object(a.D)(),Object(a.j)("span",{key:0,class:"rating",title:o.hint_18pt},[l.contrast.laaa?(Object(a.D)(),Object(a.j)("span",pc,[Object(a.m)(c,{icon:"thumbs-up"})])):Object(a.i)("",!0),!l.contrast.laaa&&l.contrast.laa?(Object(a.D)(),Object(a.j)("span",jc,[Object(a.m)(c,{icon:"adjust"})])):Object(a.i)("",!0),l.contrast.laaa||l.contrast.laa?Object(a.i)("",!0):(Object(a.D)(),Object(a.j)("span",mc,[Object(a.m)(c,{icon:"exclamation-triangle"})]))],8,Oc)):Object(a.i)("",!0)])):Object(a.i)("",!0)}]]);const gc={class:"preview-container"},kc=Object(a.k)("div",{class:"underlay underlay-preview"},null,-1),vc={class:"panel dummy"},yc={class:"panel-heading"},wc={class:"title"},_c=Object(a.k)("span",{class:"badge badge-notification"}," 99 ",-1),Vc={class:"faint"},$c={class:"alert error"},Cc={class:"btn button-default"},Tc={class:"panel-body theme-preview-content"},xc={class:"post"},Lc=Object(a.k)("div",{class:"avatar still-image"}," ( ͡° ͜ʖ ͡°) ",-1),Sc={class:"content"},Dc={style:{"font-family":"var(--postCodeFont)"}},Pc={style:{color:"var(--link)"}},Uc={class:"icons"},Ic={class:"after-post"},Bc=Object(a.k)("div",{class:"avatar-alt"}," :^) ",-1),Fc={class:"content"},Ec={style:{color:"var(--faintLink)"}},Ac=Object(a.k)("div",{class:"separator"},null,-1),Mc={class:"alert error"},Rc=["value"],Wc={class:"actions"},Jc={class:"checkbox"},Nc=Object(a.k)("input",{id:"preview_checkbox",checked:"very yes",type:"checkbox"},null,-1),qc={for:"preview_checkbox"},Gc={class:"btn button-default"};T.c.add(x.rb,x.jb,x.Z,x.Y);var Hc={};l(705);var zc=D()(Hc,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("i18n-t"),i=Object(a.J)("FAIcon");return Object(a.D)(),Object(a.j)("div",gc,[kc,Object(a.k)("div",vc,[Object(a.k)("div",yc,[Object(a.k)("div",wc,[Object(a.l)(Object(a.O)(e.$t("settings.style.preview.header"))+" ",1),_c]),Object(a.k)("span",Vc,Object(a.O)(e.$t("settings.style.preview.header_faint")),1),Object(a.k)("span",$c,Object(a.O)(e.$t("settings.style.preview.error")),1),Object(a.k)("button",Cc,Object(a.O)(e.$t("settings.style.preview.button")),1)]),Object(a.k)("div",Tc,[Object(a.k)("div",xc,[Lc,Object(a.k)("div",Sc,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.preview.content")),1),Object(a.m)(c,{scope:"global",keypath:"settings.style.preview.text"},{default:Object(a.V)(()=>[Object(a.k)("code",Dc,Object(a.O)(e.$t("settings.style.preview.mono")),1),Object(a.k)("a",Pc,Object(a.O)(e.$t("settings.style.preview.link")),1)]),_:1}),Object(a.k)("div",Uc,[Object(a.m)(i,{"fixed-width":"",style:{color:"var(--cBlue)"},class:"fa-scale-110 fa-old-padding",icon:"reply"}),Object(a.m)(i,{"fixed-width":"",style:{color:"var(--cGreen)"},class:"fa-scale-110 fa-old-padding",icon:"retweet"}),Object(a.m)(i,{"fixed-width":"",style:{color:"var(--cOrange)"},class:"fa-scale-110 fa-old-padding",icon:"star"}),Object(a.m)(i,{"fixed-width":"",style:{color:"var(--cRed)"},class:"fa-scale-110 fa-old-padding",icon:"times"})])])]),Object(a.k)("div",Ic,[Bc,Object(a.k)("div",Fc,[Object(a.m)(c,{keypath:"settings.style.preview.fine_print",tag:"span",class:"faint",scope:"global"},{default:Object(a.V)(()=>[Object(a.k)("a",Ec,Object(a.O)(e.$t("settings.style.preview.faint_link")),1)]),_:1})])]),Ac,Object(a.k)("span",Mc,Object(a.O)(e.$t("settings.style.preview.error")),1),Object(a.k)("input",{value:e.$t("settings.style.preview.input"),type:"text"},null,8,Rc),Object(a.k)("div",Wc,[Object(a.k)("span",Jc,[Nc,Object(a.k)("label",qc,Object(a.O)(e.$t("settings.style.preview.checkbox")),1)]),Object(a.k)("button",Gc,Object(a.O)(e.$t("settings.style.preview.button")),1)])])])])}]]);function Kc(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,a)}return l}function Yc(e){for(var t=1;tXs.a)return e(t+"future_version_imported")+" "+e(o?t+"snapshot_missing":t+"snapshot_present");if(nXs.a)return e(t+"fe_downgraded")+" "+e(o?t+"migration_snapshot_ok":t+"migration_snapshot_gone");if(n=4.5,aaa:l>=7,laa:l>=3,laaa:l>=4.5},e}),{})}catch(e){console.warn("Failure computing contrasts",e)}},previewRules:function(){return this.preview.rules?[].concat(Ue()(Object.values(this.preview.rules)),["color: var(--text)","font-family: var(--interfaceFont, sans-serif)"]).join(";"):""},shadowsAvailable:function(){return Object.keys(Ys.a).sort()},currentShadowOverriden:{get:function(){return!!this.currentShadow},set:function(e){e?this.shadowsLocal[this.shadowSelected]=this.currentShadowFallback.map((function(e){return Object.assign({},e)})):delete this.shadowsLocal[this.shadowSelected]}},currentShadowFallback:function(){return(this.previewTheme.shadows||{})[this.shadowSelected]},currentShadow:{get:function(){return this.shadowsLocal[this.shadowSelected]},set:function(e){this.shadowsLocal[this.shadowSelected]=e}},themeValid:function(){return!this.shadowsInvalid&&!this.colorsInvalid&&!this.radiiInvalid},exportedTheme:function(){var e=!(this.keepFonts||this.keepShadows||this.keepOpacity||this.keepRoundness||this.keepColor),t={themeEngineVersion:Xs.a};return(this.keepFonts||e)&&(t.fonts=this.fontsLocal),(this.keepShadows||e)&&(t.shadows=this.shadowsLocal),(this.keepOpacity||e)&&(t.opacity=this.currentOpacity),(this.keepColor||e)&&(t.colors=this.currentColors),(this.keepRoundness||e)&&(t.radii=this.currentRadii),{_pleroma_theme_version:2,theme:Yc({themeEngineVersion:Xs.a},this.previewTheme),source:t}},isActive:function(){var e=this.$parent;return!!e&&e.isActive("theme")}},components:{ColorInput:oo,OpacityInput:fo,RangeInput:po,ContrastRatio:fc,ShadowControl:Xo,FontControl:cc,TabSwitcher:O.a,Preview:zc,Checkbox:E.a,Select:Nt.a},methods:{loadTheme:function(e,t){var l=e.theme,a=e.source,n=e._pleroma_theme_version,s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.dismissWarning(),!a&&!l)throw new Error("Can't load theme: empty");var o="localStorage"!==t||l.colors?n:"l1",c=(l||{}).themeEngineVersion,i=(a||{}).themeEngineVersion||2,r=i===Xs.a,b=void 0!==l&&void 0!==a&&i!==c,u=a&&s||!l;r&&!b||u||"l1"===o||"defaults"===t||(b&&"localStorage"===t?this.themeWarning={origin:t,themeEngineVersion:i,type:"snapshot_source_mismatch"}:l?r||(this.themeWarning={origin:t,noActionsPossible:!a,themeEngineVersion:i,type:"wrong_version"}):this.themeWarning={origin:t,noActionsPossible:!0,themeEngineVersion:i,type:"no_snapshot_old_version"}),this.normalizeLocalState(l,o,a,u)},forceLoadLocalStorage:function(){this.loadThemeFromLocalStorage(!0)},dismissWarning:function(){this.themeWarning=void 0,this.tempImportFile=void 0},forceLoad:function(){switch(this.themeWarning.origin){case"localStorage":this.loadThemeFromLocalStorage(!0);break;case"file":this.onImport(this.tempImportFile,!0)}this.dismissWarning()},forceSnapshot:function(){switch(this.themeWarning.origin){case"localStorage":this.loadThemeFromLocalStorage(!1,!0);break;case"file":console.error("Forcing snapshot from file is not supported yet")}this.dismissWarning()},loadThemeFromLocalStorage:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=this.$store.getters.mergedConfig,a=l.customTheme,n=l.customThemeSource;a||n?this.loadTheme({theme:a,source:t?a:n},"localStorage",e):this.loadTheme(this.$store.state.instance.themeData,"defaults",e)},setCustomTheme:function(){this.$store.dispatch("setOption",{name:"customTheme",value:Yc({themeEngineVersion:Xs.a},this.previewTheme)}),this.$store.dispatch("setOption",{name:"customThemeSource",value:{themeEngineVersion:Xs.a,shadows:this.shadowsLocal,fonts:this.fontsLocal,opacity:this.currentOpacity,colors:this.currentColors,radii:this.currentRadii}})},updatePreviewColorsAndShadows:function(){this.previewColors=Object(Ys.e)({opacity:this.currentOpacity,colors:this.currentColors}),this.previewShadows=Object(Ys.h)({shadows:this.shadowsLocal,opacity:this.previewTheme.opacity,themeEngineVersion:this.engineVersion},this.previewColors.theme.colors,this.previewColors.mod)},importTheme:function(){this.themeImporter.importData()},exportTheme:function(){this.themeExporter.exportData()},onImport:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.tempImportFile=e,this.loadTheme(e,"file",t)},onImportFailure:function(e){this.$store.dispatch("pushGlobalNotice",{messageKey:"settings.invalid_theme_imported",level:"error"})},importValidator:function(e){var t=e._pleroma_theme_version;return t>=1||t<=2},clearAll:function(){this.loadThemeFromLocalStorage()},clearV1:function(){var e=this;Object.keys(this.$data).filter((function(e){return e.endsWith("ColorLocal")||e.endsWith("OpacityLocal")})).filter((function(e){return!Zc.includes(e)})).forEach((function(t){e.$data[t]=void 0}))},clearRoundness:function(){var e=this;Object.keys(this.$data).filter((function(e){return e.endsWith("RadiusLocal")})).forEach((function(t){e.$data[t]=void 0}))},clearOpacity:function(){var e=this;Object.keys(this.$data).filter((function(e){return e.endsWith("OpacityLocal")})).forEach((function(t){e.$data[t]=void 0}))},clearShadows:function(){this.shadowsLocal={}},clearFonts:function(){this.fontsLocal={}},normalizeLocalState:function(e){var t,l=this,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2?arguments[2]:void 0,s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];void 0!==n&&(s||n.themeEngineVersion===Xs.a)?(t=n,a=n.themeEngineVersion):t=e;var o=t.radii||t,c=t.opacity,i=t.shadows||{},r=t.fonts||{},b=t.themeEngineVersion?t.colors||t:Object(Ys.c)(t.colors||t);if(0===a&&(t.version&&(a=t.version),void 0===b.text&&void 0!==b.fg&&(a=1),void 0!==b.text&&void 0!==b.fg&&(a=2)),this.engineVersion=a,1===a&&(this.fgColorLocal=Object(Ks.i)(b.btn),this.textColorLocal=Object(Ks.i)(b.fg)),!this.keepColor){this.clearV1();var u=new Set(1!==a?Object.keys(Qs.c):[]);1!==a&&"l1"!==a||u.add("bg").add("link").add("cRed").add("cBlue").add("cGreen").add("cOrange"),u.forEach((function(e){var t=b[e],a=Object(Ks.i)(b[e]);l[e+"ColorLocal"]="#aN"===a?t:a}))}c&&!this.keepOpacity&&(this.clearOpacity(),Object.entries(c).forEach((function(e){var t=wt()(e,2),a=t[0],n=t[1];null==n||Number.isNaN(n)||(l[a+"OpacityLocal"]=n)}))),this.keepRoundness||(this.clearRoundness(),Object.entries(o).forEach((function(e){var t=wt()(e,2),a=t[0],n=t[1],s=a.endsWith("Radius")?a.split("Radius")[0]:a;l[s+"RadiusLocal"]=n}))),this.keepShadows||(this.clearShadows(),this.shadowsLocal=2===a?Object(Ys.m)(i,this.previewTheme.opacity):i,this.shadowSelected=this.shadowsAvailable[0]),this.keepFonts||(this.clearFonts(),this.fontsLocal=r)}},watch:{currentRadii:function(){try{this.previewRadii=Object(Ys.g)({radii:this.currentRadii}),this.radiiInvalid=!1}catch(e){this.radiiInvalid=!0,console.warn(e)}},shadowsLocal:{handler:function(){if(1!==Object.getOwnPropertyNames(this.previewColors).length)try{this.updatePreviewColorsAndShadows(),this.shadowsInvalid=!1}catch(e){this.shadowsInvalid=!0,console.warn(e)}},deep:!0},fontsLocal:{handler:function(){try{this.previewFonts=Object(Ys.f)({fonts:this.fontsLocal}),this.fontsInvalid=!1}catch(e){this.fontsInvalid=!0,console.warn(e)}},deep:!0},currentColors:function(){try{this.updatePreviewColorsAndShadows(),this.colorsInvalid=!1,this.shadowsInvalid=!1}catch(e){this.colorsInvalid=!0,this.shadowsInvalid=!0,console.warn(e)}},currentOpacity:function(){try{this.updatePreviewColorsAndShadows()}catch(e){console.warn(e)}},selected:function(){var e=this;this.selectedTheme=Object.entries(this.availableStyles).find((function(t){var l=wt()(t,2),a=(l[0],l[1]);return Array.isArray(a)?(console.log(a[0]===e.selected,e.selected),a[0]===e.selected):a.name===e.selected}))[1]},selectedTheme:function(){this.dismissWarning(),1===this.selectedVersion?(this.keepRoundness||this.clearRoundness(),this.keepShadows||this.clearShadows(),this.keepOpacity||this.clearOpacity(),this.keepColor||(this.clearV1(),this.bgColorLocal=this.selectedTheme[1],this.fgColorLocal=this.selectedTheme[2],this.textColorLocal=this.selectedTheme[3],this.linkColorLocal=this.selectedTheme[4],this.cRedColorLocal=this.selectedTheme[5],this.cGreenColorLocal=this.selectedTheme[6],this.cBlueColorLocal=this.selectedTheme[7],this.cOrangeColorLocal=this.selectedTheme[8])):this.selectedVersion>=2&&this.normalizeLocalState(this.selectedTheme.theme,2,this.selectedTheme.source)}}};l(706);var Xc=D()(Qc,[["render",function(e,t,l,n,s,o){const c=Object(a.J)("Select"),i=Object(a.J)("Checkbox"),r=Object(a.J)("preview"),b=Object(a.J)("ColorInput"),u=Object(a.J)("OpacityInput"),d=Object(a.J)("ContrastRatio"),O=Object(a.J)("RangeInput"),p=Object(a.J)("ShadowControl"),j=Object(a.J)("i18n-t"),m=Object(a.J)("FontControl"),h=Object(a.J)("tab-switcher");return Object(a.D)(),Object(a.j)("div",An,[Object(a.k)("div",Mn,[Object(a.k)("div",Rn,[e.themeWarning?(Object(a.D)(),Object(a.j)("div",Wn,[Object(a.k)("div",Jn,Object(a.O)(e.themeWarningHelp),1),Object(a.k)("div",Nn,["snapshot_source_mismatch"===e.themeWarning.type?(Object(a.D)(),Object(a.j)(a.a,{key:0},[Object(a.k)("button",{class:"btn button-default",onClick:t[0]||(t[0]=(...t)=>e.forceLoad&&e.forceLoad(...t))},Object(a.O)(e.$t("settings.style.switcher.use_source")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[1]||(t[1]=(...t)=>e.forceSnapshot&&e.forceSnapshot(...t))},Object(a.O)(e.$t("settings.style.switcher.use_snapshot")),1)],64)):e.themeWarning.noActionsPossible?(Object(a.D)(),Object(a.j)("button",{key:1,class:"btn button-default",onClick:t[2]||(t[2]=(...t)=>e.dismissWarning&&e.dismissWarning(...t))},Object(a.O)(e.$t("general.dismiss")),1)):(Object(a.D)(),Object(a.j)(a.a,{key:2},[Object(a.k)("button",{class:"btn button-default",onClick:t[3]||(t[3]=(...t)=>e.forceLoad&&e.forceLoad(...t))},Object(a.O)(e.$t("settings.style.switcher.load_theme")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[4]||(t[4]=(...t)=>e.dismissWarning&&e.dismissWarning(...t))},Object(a.O)(e.$t("settings.style.switcher.keep_as_is")),1)],64))])])):Object(a.i)("",!0),Object(a.k)("div",qn,[Object(a.k)("div",Gn,[Object(a.l)(Object(a.O)(e.$t("settings.presets"))+" ",1),Object(a.k)("label",Hn,[Object(a.m)(c,{id:"preset-switcher",modelValue:e.selected,"onUpdate:modelValue":t[5]||(t[5]=t=>e.selected=t),class:"preset-switcher"},{default:Object(a.V)(()=>[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.availableStyles,e=>(Object(a.D)(),Object(a.j)("option",{key:e.name,value:e.name||e[0],style:Object(a.x)({backgroundColor:e[1]||(e.theme||e.source).colors.bg,color:e[3]||(e.theme||e.source).colors.text})},Object(a.O)(e[0]||e.name),13,zn))),128))]),_:1},8,["modelValue"])])]),Object(a.k)("div",Kn,[Object(a.k)("button",{class:"btn button-default",onClick:t[6]||(t[6]=(...t)=>e.importTheme&&e.importTheme(...t))},Object(a.O)(e.$t("settings.import_theme")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[7]||(t[7]=(...t)=>e.exportTheme&&e.exportTheme(...t))},Object(a.O)(e.$t("settings.export_theme")),1)])])]),Object(a.k)("div",Yn,[Object(a.k)("span",Zn,[Object(a.m)(i,{modelValue:e.keepColor,"onUpdate:modelValue":t[8]||(t[8]=t=>e.keepColor=t)},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.style.switcher.keep_color")),1)]),_:1},8,["modelValue"])]),Object(a.k)("span",Qn,[Object(a.m)(i,{modelValue:e.keepShadows,"onUpdate:modelValue":t[9]||(t[9]=t=>e.keepShadows=t)},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.style.switcher.keep_shadows")),1)]),_:1},8,["modelValue"])]),Object(a.k)("span",Xn,[Object(a.m)(i,{modelValue:e.keepOpacity,"onUpdate:modelValue":t[10]||(t[10]=t=>e.keepOpacity=t)},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.style.switcher.keep_opacity")),1)]),_:1},8,["modelValue"])]),Object(a.k)("span",es,[Object(a.m)(i,{modelValue:e.keepRoundness,"onUpdate:modelValue":t[11]||(t[11]=t=>e.keepRoundness=t)},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.style.switcher.keep_roundness")),1)]),_:1},8,["modelValue"])]),Object(a.k)("span",ts,[Object(a.m)(i,{modelValue:e.keepFonts,"onUpdate:modelValue":t[12]||(t[12]=t=>e.keepFonts=t)},{default:Object(a.V)(()=>[Object(a.l)(Object(a.O)(e.$t("settings.style.switcher.keep_fonts")),1)]),_:1},8,["modelValue"])]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.style.switcher.save_load_hint")),1)])]),Object(a.m)(r,{style:Object(a.x)(e.previewRules)},null,8,["style"]),(Object(a.D)(),Object(a.h)(a.b,null,[Object(a.m)(h,{key:"style-tweak"},{default:Object(a.V)(()=>[Object(a.k)("div",{label:e.$t("settings.style.common_colors._tab_label"),class:"color-container"},[Object(a.k)("div",as,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.theme_help")),1),Object(a.k)("div",ns,[Object(a.k)("button",{class:"btn button-default",onClick:t[13]||(t[13]=(...t)=>e.clearOpacity&&e.clearOpacity(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_opacity")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[14]||(t[14]=(...t)=>e.clearV1&&e.clearV1(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_all")),1)])]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.theme_help_v2_1")),1),Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.common_colors.main")),1),Object(a.k)("div",ss,[Object(a.m)(b,{modelValue:e.bgColorLocal,"onUpdate:modelValue":t[15]||(t[15]=t=>e.bgColorLocal=t),name:"bgColor",label:e.$t("settings.background")},null,8,["modelValue","label"]),Object(a.m)(u,{modelValue:e.bgOpacityLocal,"onUpdate:modelValue":t[16]||(t[16]=t=>e.bgOpacityLocal=t),name:"bgOpacity",fallback:e.previewTheme.opacity.bg},null,8,["modelValue","fallback"]),Object(a.m)(b,{modelValue:e.textColorLocal,"onUpdate:modelValue":t[17]||(t[17]=t=>e.textColorLocal=t),name:"textColor",label:e.$t("settings.text")},null,8,["modelValue","label"]),Object(a.m)(d,{contrast:e.previewContrast.bgText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.accentColorLocal,"onUpdate:modelValue":t[18]||(t[18]=t=>e.accentColorLocal=t),name:"accentColor",fallback:e.previewTheme.colors.link,label:e.$t("settings.accent"),"show-optional-tickbox":void 0!==e.linkColorLocal},null,8,["modelValue","fallback","label","show-optional-tickbox"]),Object(a.m)(b,{modelValue:e.linkColorLocal,"onUpdate:modelValue":t[19]||(t[19]=t=>e.linkColorLocal=t),name:"linkColor",fallback:e.previewTheme.colors.accent,label:e.$t("settings.links"),"show-optional-tickbox":void 0!==e.accentColorLocal},null,8,["modelValue","fallback","label","show-optional-tickbox"]),Object(a.m)(d,{contrast:e.previewContrast.bgLink},null,8,["contrast"])]),Object(a.k)("div",os,[Object(a.m)(b,{modelValue:e.fgColorLocal,"onUpdate:modelValue":t[20]||(t[20]=t=>e.fgColorLocal=t),name:"fgColor",label:e.$t("settings.foreground")},null,8,["modelValue","label"]),Object(a.m)(b,{modelValue:e.fgTextColorLocal,"onUpdate:modelValue":t[21]||(t[21]=t=>e.fgTextColorLocal=t),name:"fgTextColor",label:e.$t("settings.text"),fallback:e.previewTheme.colors.fgText},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.fgLinkColorLocal,"onUpdate:modelValue":t[22]||(t[22]=t=>e.fgLinkColorLocal=t),name:"fgLinkColor",label:e.$t("settings.links"),fallback:e.previewTheme.colors.fgLink},null,8,["modelValue","label","fallback"]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.style.common_colors.foreground_hint")),1)]),Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.common_colors.rgbo")),1),Object(a.k)("div",cs,[Object(a.m)(b,{modelValue:e.cRedColorLocal,"onUpdate:modelValue":t[23]||(t[23]=t=>e.cRedColorLocal=t),name:"cRedColor",label:e.$t("settings.cRed")},null,8,["modelValue","label"]),Object(a.m)(d,{contrast:e.previewContrast.bgCRed},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.cBlueColorLocal,"onUpdate:modelValue":t[24]||(t[24]=t=>e.cBlueColorLocal=t),name:"cBlueColor",label:e.$t("settings.cBlue")},null,8,["modelValue","label"]),Object(a.m)(d,{contrast:e.previewContrast.bgCBlue},null,8,["contrast"])]),Object(a.k)("div",is,[Object(a.m)(b,{modelValue:e.cGreenColorLocal,"onUpdate:modelValue":t[25]||(t[25]=t=>e.cGreenColorLocal=t),name:"cGreenColor",label:e.$t("settings.cGreen")},null,8,["modelValue","label"]),Object(a.m)(d,{contrast:e.previewContrast.bgCGreen},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.cOrangeColorLocal,"onUpdate:modelValue":t[26]||(t[26]=t=>e.cOrangeColorLocal=t),name:"cOrangeColor",label:e.$t("settings.cOrange")},null,8,["modelValue","label"]),Object(a.m)(d,{contrast:e.previewContrast.bgCOrange},null,8,["contrast"])]),Object(a.k)("p",null,Object(a.O)(e.$t("settings.theme_help_v2_2")),1)],8,ls),Object(a.k)("div",{label:e.$t("settings.style.advanced_colors._tab_label"),class:"color-container"},[Object(a.k)("div",bs,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.theme_help")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[27]||(t[27]=(...t)=>e.clearOpacity&&e.clearOpacity(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_opacity")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[28]||(t[28]=(...t)=>e.clearV1&&e.clearV1(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_all")),1)]),Object(a.k)("div",us,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.post")),1),Object(a.m)(b,{modelValue:e.postLinkColorLocal,"onUpdate:modelValue":t[29]||(t[29]=t=>e.postLinkColorLocal=t),name:"postLinkColor",fallback:e.previewTheme.colors.accent,label:e.$t("settings.links")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.postLink},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.postGreentextColorLocal,"onUpdate:modelValue":t[30]||(t[30]=t=>e.postGreentextColorLocal=t),name:"postGreentextColor",fallback:e.previewTheme.colors.cGreen,label:e.$t("settings.greentext")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.postGreentext},null,8,["contrast"]),Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.alert")),1),Object(a.m)(b,{modelValue:e.alertErrorColorLocal,"onUpdate:modelValue":t[31]||(t[31]=t=>e.alertErrorColorLocal=t),name:"alertError",label:e.$t("settings.style.advanced_colors.alert_error"),fallback:e.previewTheme.colors.alertError},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.alertErrorTextColorLocal,"onUpdate:modelValue":t[32]||(t[32]=t=>e.alertErrorTextColorLocal=t),name:"alertErrorText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.alertErrorText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.alertErrorText,large:""},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.alertWarningColorLocal,"onUpdate:modelValue":t[33]||(t[33]=t=>e.alertWarningColorLocal=t),name:"alertWarning",label:e.$t("settings.style.advanced_colors.alert_warning"),fallback:e.previewTheme.colors.alertWarning},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.alertWarningTextColorLocal,"onUpdate:modelValue":t[34]||(t[34]=t=>e.alertWarningTextColorLocal=t),name:"alertWarningText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.alertWarningText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.alertWarningText,large:""},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.alertNeutralColorLocal,"onUpdate:modelValue":t[35]||(t[35]=t=>e.alertNeutralColorLocal=t),name:"alertNeutral",label:e.$t("settings.style.advanced_colors.alert_neutral"),fallback:e.previewTheme.colors.alertNeutral},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.alertNeutralTextColorLocal,"onUpdate:modelValue":t[36]||(t[36]=t=>e.alertNeutralTextColorLocal=t),name:"alertNeutralText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.alertNeutralText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.alertNeutralText,large:""},null,8,["contrast"]),Object(a.m)(u,{modelValue:e.alertOpacityLocal,"onUpdate:modelValue":t[37]||(t[37]=t=>e.alertOpacityLocal=t),name:"alertOpacity",fallback:e.previewTheme.opacity.alert},null,8,["modelValue","fallback"])]),Object(a.k)("div",ds,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.badge")),1),Object(a.m)(b,{modelValue:e.badgeNotificationColorLocal,"onUpdate:modelValue":t[38]||(t[38]=t=>e.badgeNotificationColorLocal=t),name:"badgeNotification",label:e.$t("settings.style.advanced_colors.badge_notification"),fallback:e.previewTheme.colors.badgeNotification},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.badgeNotificationTextColorLocal,"onUpdate:modelValue":t[39]||(t[39]=t=>e.badgeNotificationTextColorLocal=t),name:"badgeNotificationText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.badgeNotificationText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.badgeNotificationText,large:""},null,8,["contrast"])]),Object(a.k)("div",Os,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.panel_header")),1),Object(a.m)(b,{modelValue:e.panelColorLocal,"onUpdate:modelValue":t[40]||(t[40]=t=>e.panelColorLocal=t),name:"panelColor",fallback:e.previewTheme.colors.panel,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(u,{modelValue:e.panelOpacityLocal,"onUpdate:modelValue":t[41]||(t[41]=t=>e.panelOpacityLocal=t),name:"panelOpacity",fallback:e.previewTheme.opacity.panel,disabled:"transparent"===e.panelColorLocal},null,8,["modelValue","fallback","disabled"]),Object(a.m)(b,{modelValue:e.panelTextColorLocal,"onUpdate:modelValue":t[42]||(t[42]=t=>e.panelTextColorLocal=t),name:"panelTextColor",fallback:e.previewTheme.colors.panelText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.panelText,large:""},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.panelLinkColorLocal,"onUpdate:modelValue":t[43]||(t[43]=t=>e.panelLinkColorLocal=t),name:"panelLinkColor",fallback:e.previewTheme.colors.panelLink,label:e.$t("settings.links")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.panelLink,large:""},null,8,["contrast"])]),Object(a.k)("div",ps,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.top_bar")),1),Object(a.m)(b,{modelValue:e.topBarColorLocal,"onUpdate:modelValue":t[44]||(t[44]=t=>e.topBarColorLocal=t),name:"topBarColor",fallback:e.previewTheme.colors.topBar,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.topBarTextColorLocal,"onUpdate:modelValue":t[45]||(t[45]=t=>e.topBarTextColorLocal=t),name:"topBarTextColor",fallback:e.previewTheme.colors.topBarText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.topBarText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.topBarLinkColorLocal,"onUpdate:modelValue":t[46]||(t[46]=t=>e.topBarLinkColorLocal=t),name:"topBarLinkColor",fallback:e.previewTheme.colors.topBarLink,label:e.$t("settings.links")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.topBarLink},null,8,["contrast"])]),Object(a.k)("div",js,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.inputs")),1),Object(a.m)(b,{modelValue:e.inputColorLocal,"onUpdate:modelValue":t[47]||(t[47]=t=>e.inputColorLocal=t),name:"inputColor",fallback:e.previewTheme.colors.input,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(u,{modelValue:e.inputOpacityLocal,"onUpdate:modelValue":t[48]||(t[48]=t=>e.inputOpacityLocal=t),name:"inputOpacity",fallback:e.previewTheme.opacity.input,disabled:"transparent"===e.inputColorLocal},null,8,["modelValue","fallback","disabled"]),Object(a.m)(b,{modelValue:e.inputTextColorLocal,"onUpdate:modelValue":t[49]||(t[49]=t=>e.inputTextColorLocal=t),name:"inputTextColor",fallback:e.previewTheme.colors.inputText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.inputText},null,8,["contrast"])]),Object(a.k)("div",ms,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.buttons")),1),Object(a.m)(b,{modelValue:e.btnColorLocal,"onUpdate:modelValue":t[50]||(t[50]=t=>e.btnColorLocal=t),name:"btnColor",fallback:e.previewTheme.colors.btn,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(u,{modelValue:e.btnOpacityLocal,"onUpdate:modelValue":t[51]||(t[51]=t=>e.btnOpacityLocal=t),name:"btnOpacity",fallback:e.previewTheme.opacity.btn,disabled:"transparent"===e.btnColorLocal},null,8,["modelValue","fallback","disabled"]),Object(a.m)(b,{modelValue:e.btnTextColorLocal,"onUpdate:modelValue":t[52]||(t[52]=t=>e.btnTextColorLocal=t),name:"btnTextColor",fallback:e.previewTheme.colors.btnText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.btnPanelTextColorLocal,"onUpdate:modelValue":t[53]||(t[53]=t=>e.btnPanelTextColorLocal=t),name:"btnPanelTextColor",fallback:e.previewTheme.colors.btnPanelText,label:e.$t("settings.style.advanced_colors.panel_header")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnPanelText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.btnTopBarTextColorLocal,"onUpdate:modelValue":t[54]||(t[54]=t=>e.btnTopBarTextColorLocal=t),name:"btnTopBarTextColor",fallback:e.previewTheme.colors.btnTopBarText,label:e.$t("settings.style.advanced_colors.top_bar")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnTopBarText},null,8,["contrast"]),Object(a.k)("h5",null,Object(a.O)(e.$t("settings.style.advanced_colors.pressed")),1),Object(a.m)(b,{modelValue:e.btnPressedColorLocal,"onUpdate:modelValue":t[55]||(t[55]=t=>e.btnPressedColorLocal=t),name:"btnPressedColor",fallback:e.previewTheme.colors.btnPressed,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.btnPressedTextColorLocal,"onUpdate:modelValue":t[56]||(t[56]=t=>e.btnPressedTextColorLocal=t),name:"btnPressedTextColor",fallback:e.previewTheme.colors.btnPressedText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnPressedText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.btnPressedPanelTextColorLocal,"onUpdate:modelValue":t[57]||(t[57]=t=>e.btnPressedPanelTextColorLocal=t),name:"btnPressedPanelTextColor",fallback:e.previewTheme.colors.btnPressedPanelText,label:e.$t("settings.style.advanced_colors.panel_header")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnPressedPanelText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.btnPressedTopBarTextColorLocal,"onUpdate:modelValue":t[58]||(t[58]=t=>e.btnPressedTopBarTextColorLocal=t),name:"btnPressedTopBarTextColor",fallback:e.previewTheme.colors.btnPressedTopBarText,label:e.$t("settings.style.advanced_colors.top_bar")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnPressedTopBarText},null,8,["contrast"]),Object(a.k)("h5",null,Object(a.O)(e.$t("settings.style.advanced_colors.disabled")),1),Object(a.m)(b,{modelValue:e.btnDisabledColorLocal,"onUpdate:modelValue":t[59]||(t[59]=t=>e.btnDisabledColorLocal=t),name:"btnDisabledColor",fallback:e.previewTheme.colors.btnDisabled,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.btnDisabledTextColorLocal,"onUpdate:modelValue":t[60]||(t[60]=t=>e.btnDisabledTextColorLocal=t),name:"btnDisabledTextColor",fallback:e.previewTheme.colors.btnDisabledText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.btnDisabledPanelTextColorLocal,"onUpdate:modelValue":t[61]||(t[61]=t=>e.btnDisabledPanelTextColorLocal=t),name:"btnDisabledPanelTextColor",fallback:e.previewTheme.colors.btnDisabledPanelText,label:e.$t("settings.style.advanced_colors.panel_header")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.btnDisabledTopBarTextColorLocal,"onUpdate:modelValue":t[62]||(t[62]=t=>e.btnDisabledTopBarTextColorLocal=t),name:"btnDisabledTopBarTextColor",fallback:e.previewTheme.colors.btnDisabledTopBarText,label:e.$t("settings.style.advanced_colors.top_bar")},null,8,["modelValue","fallback","label"]),Object(a.k)("h5",null,Object(a.O)(e.$t("settings.style.advanced_colors.toggled")),1),Object(a.m)(b,{modelValue:e.btnToggledColorLocal,"onUpdate:modelValue":t[63]||(t[63]=t=>e.btnToggledColorLocal=t),name:"btnToggledColor",fallback:e.previewTheme.colors.btnToggled,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.btnToggledTextColorLocal,"onUpdate:modelValue":t[64]||(t[64]=t=>e.btnToggledTextColorLocal=t),name:"btnToggledTextColor",fallback:e.previewTheme.colors.btnToggledText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnToggledText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.btnToggledPanelTextColorLocal,"onUpdate:modelValue":t[65]||(t[65]=t=>e.btnToggledPanelTextColorLocal=t),name:"btnToggledPanelTextColor",fallback:e.previewTheme.colors.btnToggledPanelText,label:e.$t("settings.style.advanced_colors.panel_header")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnToggledPanelText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.btnToggledTopBarTextColorLocal,"onUpdate:modelValue":t[66]||(t[66]=t=>e.btnToggledTopBarTextColorLocal=t),name:"btnToggledTopBarTextColor",fallback:e.previewTheme.colors.btnToggledTopBarText,label:e.$t("settings.style.advanced_colors.top_bar")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.btnToggledTopBarText},null,8,["contrast"])]),Object(a.k)("div",hs,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.tabs")),1),Object(a.m)(b,{modelValue:e.tabColorLocal,"onUpdate:modelValue":t[67]||(t[67]=t=>e.tabColorLocal=t),name:"tabColor",fallback:e.previewTheme.colors.tab,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.tabTextColorLocal,"onUpdate:modelValue":t[68]||(t[68]=t=>e.tabTextColorLocal=t),name:"tabTextColor",fallback:e.previewTheme.colors.tabText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.tabText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.tabActiveTextColorLocal,"onUpdate:modelValue":t[69]||(t[69]=t=>e.tabActiveTextColorLocal=t),name:"tabActiveTextColor",fallback:e.previewTheme.colors.tabActiveText,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(d,{contrast:e.previewContrast.tabActiveText},null,8,["contrast"])]),Object(a.k)("div",fs,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.borders")),1),Object(a.m)(b,{modelValue:e.borderColorLocal,"onUpdate:modelValue":t[70]||(t[70]=t=>e.borderColorLocal=t),name:"borderColor",fallback:e.previewTheme.colors.border,label:e.$t("settings.style.common.color")},null,8,["modelValue","fallback","label"]),Object(a.m)(u,{modelValue:e.borderOpacityLocal,"onUpdate:modelValue":t[71]||(t[71]=t=>e.borderOpacityLocal=t),name:"borderOpacity",fallback:e.previewTheme.opacity.border,disabled:"transparent"===e.borderColorLocal},null,8,["modelValue","fallback","disabled"])]),Object(a.k)("div",gs,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.faint_text")),1),Object(a.m)(b,{modelValue:e.faintColorLocal,"onUpdate:modelValue":t[72]||(t[72]=t=>e.faintColorLocal=t),name:"faintColor",fallback:e.previewTheme.colors.faint,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.faintLinkColorLocal,"onUpdate:modelValue":t[73]||(t[73]=t=>e.faintLinkColorLocal=t),name:"faintLinkColor",fallback:e.previewTheme.colors.faintLink,label:e.$t("settings.links")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.panelFaintColorLocal,"onUpdate:modelValue":t[74]||(t[74]=t=>e.panelFaintColorLocal=t),name:"panelFaintColor",fallback:e.previewTheme.colors.panelFaint,label:e.$t("settings.style.advanced_colors.panel_header")},null,8,["modelValue","fallback","label"]),Object(a.m)(u,{modelValue:e.faintOpacityLocal,"onUpdate:modelValue":t[75]||(t[75]=t=>e.faintOpacityLocal=t),name:"faintOpacity",fallback:e.previewTheme.opacity.faint},null,8,["modelValue","fallback"])]),Object(a.k)("div",ks,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.underlay")),1),Object(a.m)(b,{modelValue:e.underlayColorLocal,"onUpdate:modelValue":t[76]||(t[76]=t=>e.underlayColorLocal=t),name:"underlay",label:e.$t("settings.style.advanced_colors.underlay"),fallback:e.previewTheme.colors.underlay},null,8,["modelValue","label","fallback"]),Object(a.m)(u,{modelValue:e.underlayOpacityLocal,"onUpdate:modelValue":t[77]||(t[77]=t=>e.underlayOpacityLocal=t),name:"underlayOpacity",fallback:e.previewTheme.opacity.underlay,disabled:"transparent"===e.underlayOpacityLocal},null,8,["modelValue","fallback","disabled"])]),Object(a.k)("div",vs,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.wallpaper")),1),Object(a.m)(b,{modelValue:e.wallpaperColorLocal,"onUpdate:modelValue":t[78]||(t[78]=t=>e.wallpaperColorLocal=t),name:"wallpaper",label:e.$t("settings.style.advanced_colors.wallpaper"),fallback:e.previewTheme.colors.wallpaper},null,8,["modelValue","label","fallback"])]),Object(a.k)("div",ys,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.poll")),1),Object(a.m)(b,{modelValue:e.pollColorLocal,"onUpdate:modelValue":t[79]||(t[79]=t=>e.pollColorLocal=t),name:"poll",label:e.$t("settings.background"),fallback:e.previewTheme.colors.poll},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.pollTextColorLocal,"onUpdate:modelValue":t[80]||(t[80]=t=>e.pollTextColorLocal=t),name:"pollText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.pollText},null,8,["modelValue","label","fallback"])]),Object(a.k)("div",ws,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.icons")),1),Object(a.m)(b,{modelValue:e.iconColorLocal,"onUpdate:modelValue":t[81]||(t[81]=t=>e.iconColorLocal=t),name:"icon",label:e.$t("settings.style.advanced_colors.icons"),fallback:e.previewTheme.colors.icon},null,8,["modelValue","label","fallback"])]),Object(a.k)("div",_s,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.highlight")),1),Object(a.m)(b,{modelValue:e.highlightColorLocal,"onUpdate:modelValue":t[82]||(t[82]=t=>e.highlightColorLocal=t),name:"highlight",label:e.$t("settings.background"),fallback:e.previewTheme.colors.highlight},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.highlightTextColorLocal,"onUpdate:modelValue":t[83]||(t[83]=t=>e.highlightTextColorLocal=t),name:"highlightText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.highlightText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.highlightText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.highlightLinkColorLocal,"onUpdate:modelValue":t[84]||(t[84]=t=>e.highlightLinkColorLocal=t),name:"highlightLink",label:e.$t("settings.links"),fallback:e.previewTheme.colors.highlightLink},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.highlightLink},null,8,["contrast"])]),Object(a.k)("div",Vs,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.popover")),1),Object(a.m)(b,{modelValue:e.popoverColorLocal,"onUpdate:modelValue":t[85]||(t[85]=t=>e.popoverColorLocal=t),name:"popover",label:e.$t("settings.background"),fallback:e.previewTheme.colors.popover},null,8,["modelValue","label","fallback"]),Object(a.m)(u,{modelValue:e.popoverOpacityLocal,"onUpdate:modelValue":t[86]||(t[86]=t=>e.popoverOpacityLocal=t),name:"popoverOpacity",fallback:e.previewTheme.opacity.popover,disabled:"transparent"===e.popoverOpacityLocal},null,8,["modelValue","fallback","disabled"]),Object(a.m)(b,{modelValue:e.popoverTextColorLocal,"onUpdate:modelValue":t[87]||(t[87]=t=>e.popoverTextColorLocal=t),name:"popoverText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.popoverText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.popoverText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.popoverLinkColorLocal,"onUpdate:modelValue":t[88]||(t[88]=t=>e.popoverLinkColorLocal=t),name:"popoverLink",label:e.$t("settings.links"),fallback:e.previewTheme.colors.popoverLink},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.popoverLink},null,8,["contrast"])]),Object(a.k)("div",$s,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.selectedPost")),1),Object(a.m)(b,{modelValue:e.selectedPostColorLocal,"onUpdate:modelValue":t[89]||(t[89]=t=>e.selectedPostColorLocal=t),name:"selectedPost",label:e.$t("settings.background"),fallback:e.previewTheme.colors.selectedPost},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.selectedPostTextColorLocal,"onUpdate:modelValue":t[90]||(t[90]=t=>e.selectedPostTextColorLocal=t),name:"selectedPostText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.selectedPostText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.selectedPostText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.selectedPostLinkColorLocal,"onUpdate:modelValue":t[91]||(t[91]=t=>e.selectedPostLinkColorLocal=t),name:"selectedPostLink",label:e.$t("settings.links"),fallback:e.previewTheme.colors.selectedPostLink},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.selectedPostLink},null,8,["contrast"])]),Object(a.k)("div",Cs,[Object(a.k)("h4",null,Object(a.O)(e.$t("settings.style.advanced_colors.selectedMenu")),1),Object(a.m)(b,{modelValue:e.selectedMenuColorLocal,"onUpdate:modelValue":t[92]||(t[92]=t=>e.selectedMenuColorLocal=t),name:"selectedMenu",label:e.$t("settings.background"),fallback:e.previewTheme.colors.selectedMenu},null,8,["modelValue","label","fallback"]),Object(a.m)(b,{modelValue:e.selectedMenuTextColorLocal,"onUpdate:modelValue":t[93]||(t[93]=t=>e.selectedMenuTextColorLocal=t),name:"selectedMenuText",label:e.$t("settings.text"),fallback:e.previewTheme.colors.selectedMenuText},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.selectedMenuText},null,8,["contrast"]),Object(a.m)(b,{modelValue:e.selectedMenuLinkColorLocal,"onUpdate:modelValue":t[94]||(t[94]=t=>e.selectedMenuLinkColorLocal=t),name:"selectedMenuLink",label:e.$t("settings.links"),fallback:e.previewTheme.colors.selectedMenuLink},null,8,["modelValue","label","fallback"]),Object(a.m)(d,{contrast:e.previewContrast.selectedMenuLink},null,8,["contrast"])]),Object(a.k)("div",Ts,[Object(a.k)("h4",null,Object(a.O)(e.$t("chats.chats")),1),Object(a.m)(b,{modelValue:e.chatBgColorLocal,"onUpdate:modelValue":t[95]||(t[95]=t=>e.chatBgColorLocal=t),name:"chatBgColor",fallback:e.previewTheme.colors.bg,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.k)("h5",null,Object(a.O)(e.$t("settings.style.advanced_colors.chat.incoming")),1),Object(a.m)(b,{modelValue:e.chatMessageIncomingBgColorLocal,"onUpdate:modelValue":t[96]||(t[96]=t=>e.chatMessageIncomingBgColorLocal=t),name:"chatMessageIncomingBgColor",fallback:e.previewTheme.colors.bg,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.chatMessageIncomingTextColorLocal,"onUpdate:modelValue":t[97]||(t[97]=t=>e.chatMessageIncomingTextColorLocal=t),name:"chatMessageIncomingTextColor",fallback:e.previewTheme.colors.text,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.chatMessageIncomingLinkColorLocal,"onUpdate:modelValue":t[98]||(t[98]=t=>e.chatMessageIncomingLinkColorLocal=t),name:"chatMessageIncomingLinkColor",fallback:e.previewTheme.colors.link,label:e.$t("settings.links")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.chatMessageIncomingBorderColorLocal,"onUpdate:modelValue":t[99]||(t[99]=t=>e.chatMessageIncomingBorderColorLocal=t),name:"chatMessageIncomingBorderLinkColor",fallback:e.previewTheme.colors.fg,label:e.$t("settings.style.advanced_colors.chat.border")},null,8,["modelValue","fallback","label"]),Object(a.k)("h5",null,Object(a.O)(e.$t("settings.style.advanced_colors.chat.outgoing")),1),Object(a.m)(b,{modelValue:e.chatMessageOutgoingBgColorLocal,"onUpdate:modelValue":t[100]||(t[100]=t=>e.chatMessageOutgoingBgColorLocal=t),name:"chatMessageOutgoingBgColor",fallback:e.previewTheme.colors.bg,label:e.$t("settings.background")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.chatMessageOutgoingTextColorLocal,"onUpdate:modelValue":t[101]||(t[101]=t=>e.chatMessageOutgoingTextColorLocal=t),name:"chatMessageOutgoingTextColor",fallback:e.previewTheme.colors.text,label:e.$t("settings.text")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.chatMessageOutgoingLinkColorLocal,"onUpdate:modelValue":t[102]||(t[102]=t=>e.chatMessageOutgoingLinkColorLocal=t),name:"chatMessageOutgoingLinkColor",fallback:e.previewTheme.colors.link,label:e.$t("settings.links")},null,8,["modelValue","fallback","label"]),Object(a.m)(b,{modelValue:e.chatMessageOutgoingBorderColorLocal,"onUpdate:modelValue":t[103]||(t[103]=t=>e.chatMessageOutgoingBorderColorLocal=t),name:"chatMessageOutgoingBorderLinkColor",fallback:e.previewTheme.colors.bg,label:e.$t("settings.style.advanced_colors.chat.border")},null,8,["modelValue","fallback","label"])])],8,rs),Object(a.k)("div",{label:e.$t("settings.style.radii._tab_label"),class:"radius-container"},[Object(a.k)("div",Ls,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.radii_help")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[104]||(t[104]=(...t)=>e.clearRoundness&&e.clearRoundness(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_all")),1)]),Object(a.m)(O,{modelValue:e.btnRadiusLocal,"onUpdate:modelValue":t[105]||(t[105]=t=>e.btnRadiusLocal=t),name:"btnRadius",label:e.$t("settings.btnRadius"),fallback:e.previewTheme.radii.btn,max:"16","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.inputRadiusLocal,"onUpdate:modelValue":t[106]||(t[106]=t=>e.inputRadiusLocal=t),name:"inputRadius",label:e.$t("settings.inputRadius"),fallback:e.previewTheme.radii.input,max:"9","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.checkboxRadiusLocal,"onUpdate:modelValue":t[107]||(t[107]=t=>e.checkboxRadiusLocal=t),name:"checkboxRadius",label:e.$t("settings.checkboxRadius"),fallback:e.previewTheme.radii.checkbox,max:"16","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.panelRadiusLocal,"onUpdate:modelValue":t[108]||(t[108]=t=>e.panelRadiusLocal=t),name:"panelRadius",label:e.$t("settings.panelRadius"),fallback:e.previewTheme.radii.panel,max:"50","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.avatarRadiusLocal,"onUpdate:modelValue":t[109]||(t[109]=t=>e.avatarRadiusLocal=t),name:"avatarRadius",label:e.$t("settings.avatarRadius"),fallback:e.previewTheme.radii.avatar,max:"28","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.avatarAltRadiusLocal,"onUpdate:modelValue":t[110]||(t[110]=t=>e.avatarAltRadiusLocal=t),name:"avatarAltRadius",label:e.$t("settings.avatarAltRadius"),fallback:e.previewTheme.radii.avatarAlt,max:"28","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.attachmentRadiusLocal,"onUpdate:modelValue":t[111]||(t[111]=t=>e.attachmentRadiusLocal=t),name:"attachmentRadius",label:e.$t("settings.attachmentRadius"),fallback:e.previewTheme.radii.attachment,max:"50","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.tooltipRadiusLocal,"onUpdate:modelValue":t[112]||(t[112]=t=>e.tooltipRadiusLocal=t),name:"tooltipRadius",label:e.$t("settings.tooltipRadius"),fallback:e.previewTheme.radii.tooltip,max:"50","hard-min":"0"},null,8,["modelValue","label","fallback"]),Object(a.m)(O,{modelValue:e.chatMessageRadiusLocal,"onUpdate:modelValue":t[113]||(t[113]=t=>e.chatMessageRadiusLocal=t),name:"chatMessageRadius",label:e.$t("settings.chatMessageRadius"),fallback:e.previewTheme.radii.chatMessage||2,max:"50","hard-min":"0"},null,8,["modelValue","label","fallback"])],8,xs),Object(a.k)("div",{label:e.$t("settings.style.shadows._tab_label"),class:"shadow-container"},[Object(a.k)("div",Ds,[Object(a.k)("div",Ps,[Object(a.l)(Object(a.O)(e.$t("settings.style.shadows.component"))+" "+Object(a.O)(" ")+" ",1),Object(a.m)(c,{id:"shadow-switcher",modelValue:e.shadowSelected,"onUpdate:modelValue":t[114]||(t[114]=t=>e.shadowSelected=t),class:"shadow-switcher"},{default:Object(a.V)(()=>[(Object(a.D)(!0),Object(a.j)(a.a,null,Object(a.H)(e.shadowsAvailable,t=>(Object(a.D)(),Object(a.j)("option",{key:t,value:t},Object(a.O)(e.$t("settings.style.shadows.components."+t)),9,Us))),128))]),_:1},8,["modelValue"])]),Object(a.k)("div",Is,[Object(a.k)("label",Bs,Object(a.O)(e.$t("settings.style.shadows.override")),1),Fs,Object(a.W)(Object(a.k)("input",{id:"override","onUpdate:modelValue":t[115]||(t[115]=t=>e.currentShadowOverriden=t),name:"override",class:"input-override",type:"checkbox"},null,512),[[a.R,e.currentShadowOverriden]]),Es]),Object(a.k)("button",{class:"btn button-default",onClick:t[116]||(t[116]=(...t)=>e.clearShadows&&e.clearShadows(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_all")),1)]),Object(a.m)(p,{modelValue:e.currentShadow,"onUpdate:modelValue":t[117]||(t[117]=t=>e.currentShadow=t),ready:!!e.currentShadowFallback,fallback:e.currentShadowFallback},null,8,["modelValue","ready","fallback"]),"avatar"===e.shadowSelected||"avatarStatus"===e.shadowSelected?(Object(a.D)(),Object(a.j)("div",As,[Object(a.m)(j,{scope:"global",keypath:"settings.style.shadows.filter_hint.always_drop_shadow",tag:"p"},{default:Object(a.V)(()=>[Ms]),_:1}),Object(a.k)("p",null,Object(a.O)(e.$t("settings.style.shadows.filter_hint.avatar_inset")),1),Object(a.m)(j,{scope:"global",keypath:"settings.style.shadows.filter_hint.drop_shadow_syntax",tag:"p"},{default:Object(a.V)(()=>[Rs,Ws,Js]),_:1}),Object(a.m)(j,{scope:"global",keypath:"settings.style.shadows.filter_hint.inset_classic",tag:"p"},{default:Object(a.V)(()=>[Ns]),_:1}),Object(a.k)("p",null,Object(a.O)(e.$t("settings.style.shadows.filter_hint.spread_zero")),1)])):Object(a.i)("",!0)],8,Ss),Object(a.k)("div",{label:e.$t("settings.style.fonts._tab_label"),class:"fonts-container"},[Object(a.k)("div",Gs,[Object(a.k)("p",null,Object(a.O)(e.$t("settings.style.fonts.help")),1),Object(a.k)("button",{class:"btn button-default",onClick:t[118]||(t[118]=(...t)=>e.clearFonts&&e.clearFonts(...t))},Object(a.O)(e.$t("settings.style.switcher.clear_all")),1)]),Object(a.m)(m,{modelValue:e.fontsLocal.interface,"onUpdate:modelValue":t[119]||(t[119]=t=>e.fontsLocal.interface=t),name:"ui",label:e.$t("settings.style.fonts.components.interface"),fallback:e.previewTheme.fonts.interface,"no-inherit":"1"},null,8,["modelValue","label","fallback"]),Object(a.m)(m,{modelValue:e.fontsLocal.input,"onUpdate:modelValue":t[120]||(t[120]=t=>e.fontsLocal.input=t),name:"input",label:e.$t("settings.style.fonts.components.input"),fallback:e.previewTheme.fonts.input},null,8,["modelValue","label","fallback"]),Object(a.m)(m,{modelValue:e.fontsLocal.post,"onUpdate:modelValue":t[121]||(t[121]=t=>e.fontsLocal.post=t),name:"post",label:e.$t("settings.style.fonts.components.post"),fallback:e.previewTheme.fonts.post},null,8,["modelValue","label","fallback"]),Object(a.m)(m,{modelValue:e.fontsLocal.postCode,"onUpdate:modelValue":t[122]||(t[122]=t=>e.fontsLocal.postCode=t),name:"postCode",label:e.$t("settings.style.fonts.components.postCode"),fallback:e.previewTheme.fonts.postCode},null,8,["modelValue","label","fallback"])],8,qs)]),_:1})],1024)),e.isActive?(Object(a.D)(),Object(a.h)(a.c,{key:0,to:"#unscrolled-content"},[Object(a.k)("div",Hs,[Object(a.k)("button",{class:"btn button-default submit",disabled:!e.themeValid,onClick:t[123]||(t[123]=(...t)=>e.setCustomTheme&&e.setCustomTheme(...t))},Object(a.O)(e.$t("general.apply")),9,zs),Object(a.k)("button",{class:"btn button-default",onClick:t[124]||(t[124]=(...t)=>e.clearAll&&e.clearAll(...t))},Object(a.O)(e.$t("settings.style.switcher.reset")),1)])])):Object(a.i)("",!0)])}]]);T.c.add(x.yb,x.ub,x.G,x.R,x.i,x.u,x.C,x.L);var ei={components:{TabSwitcher:O.a,DataImportExportTab:W,MutesAndBlocksTab:Ge,NotificationsTab:St,FilteringTab:ll,SecurityTab:oa,ProfileTab:sn,GeneralTab:xn,VersionTab:En,ThemeTab:Xc},computed:{isLoggedIn:function(){return!!this.$store.state.users.currentUser},open:function(){return"hidden"!==this.$store.state.interface.settingsModalState},bodyLock:function(){return"visible"===this.$store.state.interface.settingsModalState}},methods:{onOpen:function(){var e=this.$store.state.interface.settingsModalTargetTab;if(e){var t=this.$refs.tabSwitcher.$slots.default().findIndex((function(t){return t.props&&t.props["data-tab-name"]===e}));t>=0&&this.$refs.tabSwitcher.setTab(t)}this.$store.dispatch("clearSettingsModalTargetTab")}},mounted:function(){this.onOpen()},watch:{open:function(e){e&&this.onOpen()}}};l(707);const ti=D()(ei,[["render",function(e,t,l,O,p,j){const m=Object(a.J)("GeneralTab"),h=Object(a.J)("ProfileTab"),f=Object(a.J)("SecurityTab"),g=Object(a.J)("FilteringTab"),k=Object(a.J)("ThemeTab"),v=Object(a.J)("NotificationsTab"),y=Object(a.J)("DataImportExportTab"),w=Object(a.J)("MutesAndBlocksTab"),_=Object(a.J)("VersionTab"),V=Object(a.J)("tab-switcher");return Object(a.D)(),Object(a.h)(V,{ref:"tabSwitcher",class:"settings_tab-switcher","side-tab-bar":!0,"scrollable-tabs":!0,"body-scroll-lock":e.bodyLock},{default:Object(a.V)(()=>[Object(a.k)("div",{label:e.$t("settings.general"),icon:"wrench","data-tab-name":"general"},[Object(a.m)(m)],8,n),e.isLoggedIn?(Object(a.D)(),Object(a.j)("div",{key:0,label:e.$t("settings.profile_tab"),icon:"user","data-tab-name":"profile"},[Object(a.m)(h)],8,s)):Object(a.i)("",!0),e.isLoggedIn?(Object(a.D)(),Object(a.j)("div",{key:1,label:e.$t("settings.security_tab"),icon:"lock","data-tab-name":"security"},[Object(a.m)(f)],8,o)):Object(a.i)("",!0),Object(a.k)("div",{label:e.$t("settings.filtering"),icon:"filter","data-tab-name":"filtering"},[Object(a.m)(g)],8,c),Object(a.k)("div",{label:e.$t("settings.theme"),icon:"paint-brush","data-tab-name":"theme"},[Object(a.m)(k)],8,i),e.isLoggedIn?(Object(a.D)(),Object(a.j)("div",{key:2,label:e.$t("settings.notifications"),icon:"bell","data-tab-name":"notifications"},[Object(a.m)(v)],8,r)):Object(a.i)("",!0),e.isLoggedIn?(Object(a.D)(),Object(a.j)("div",{key:3,label:e.$t("settings.data_import_export_tab"),icon:"download","data-tab-name":"dataImportExport"},[Object(a.m)(y)],8,b)):Object(a.i)("",!0),e.isLoggedIn?(Object(a.D)(),Object(a.j)("div",{key:4,label:e.$t("settings.mutes_and_blocks"),fullHeight:!0,icon:"eye-slash","data-tab-name":"mutesAndBlocks"},[Object(a.m)(w)],8,u)):Object(a.i)("",!0),Object(a.k)("div",{label:e.$t("settings.version.title"),icon:"info","data-tab-name":"version"},[Object(a.m)(_)],8,d)]),_:1},8,["body-scroll-lock"])}]]);t.default=ti}}]); +//# sourceMappingURL=2.55d5f2926c7b22177236.js.map \ No newline at end of file diff --git a/priv/static/static/js/2.eb2c361cdcbd8c4f7638.js.map b/priv/static/static/js/2.55d5f2926c7b22177236.js.map similarity index 72% rename from priv/static/static/js/2.eb2c361cdcbd8c4f7638.js.map rename to priv/static/static/js/2.55d5f2926c7b22177236.js.map index 5f31e87cf..465c1ba5d 100644 --- a/priv/static/static/js/2.eb2c361cdcbd8c4f7638.js.map +++ b/priv/static/static/js/2.55d5f2926c7b22177236.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./src/components/importer/importer.vue?d395","webpack:///./src/components/exporter/exporter.vue?537f","webpack:///./src/components/autosuggest/autosuggest.vue?8acb","webpack:///./src/components/block_card/block_card.vue?a8c3","webpack:///./src/components/mute_card/mute_card.vue?336c","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?e2f9","webpack:///./src/components/selectable_list/selectable_list.vue?793a","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss?8059","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue?669b","webpack:///./src/components/settings_modal/helpers/server_side_indicator.vue?f8f8","webpack:///./src/components/settings_modal/helpers/choice_setting.vue?2690","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?e13c","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?6215","webpack:///./src/components/image_cropper/image_cropper.vue?75b0","webpack:///./src/components/settings_modal/tabs/profile_tab.scss?3d82","webpack:///./src/components/color_input/color_input.scss?2d00","webpack:///./src/components/color_input/color_input.vue?c3ff","webpack:///./src/components/shadow_control/shadow_control.vue?4f4d","webpack:///./src/components/font_control/font_control.vue?a4dd","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?232d","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?5bb1","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.scss?36c1","webpack:///./src/components/settings_modal/settings_modal_content.scss?5d58","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue","webpack:///./src/components/importer/importer.vue","webpack:///./src/components/importer/importer.js","webpack:///./src/components/importer/importer.vue?12a4","webpack:///./src/components/exporter/exporter.vue","webpack:///./src/components/exporter/exporter.js","webpack:///./src/components/exporter/exporter.vue?bc56","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.js","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue?1279","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue","webpack:///./src/components/autosuggest/autosuggest.vue","webpack:///./src/components/autosuggest/autosuggest.js","webpack:///./src/components/autosuggest/autosuggest.vue?c3ac","webpack:///./src/components/block_card/block_card.vue","webpack:///./src/components/block_card/block_card.js","webpack:///./src/components/block_card/block_card.vue?2c3e","webpack:///./src/components/mute_card/mute_card.vue","webpack:///./src/components/mute_card/mute_card.js","webpack:///./src/components/mute_card/mute_card.vue?640c","webpack:///./src/components/domain_mute_card/domain_mute_card.vue","webpack:///./src/components/domain_mute_card/domain_mute_card.js","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?4954","webpack:///./src/components/selectable_list/selectable_list.vue","webpack:///./src/components/selectable_list/selectable_list.js","webpack:///./src/components/selectable_list/selectable_list.vue?e339","webpack:///./src/hocs/with_subscription/with_subscription.jsx","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.js","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue?0036","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue","webpack:///./src/components/settings_modal/helpers/boolean_setting.vue","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue?185b","webpack:///./src/components/settings_modal/helpers/server_side_indicator.vue","webpack:///./src/components/settings_modal/helpers/server_side_indicator.vue?5efa","webpack:///./src/components/settings_modal/helpers/boolean_setting.js","webpack:///./src/components/settings_modal/helpers/boolean_setting.vue?de4a","webpack:///./src/components/settings_modal/helpers/shared_computed_object.js","webpack:///./src/components/settings_modal/tabs/notifications_tab.js","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue?656b","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue","webpack:///./src/components/settings_modal/helpers/choice_setting.vue","webpack:///./src/components/settings_modal/helpers/choice_setting.js","webpack:///./src/components/settings_modal/helpers/choice_setting.vue?4d79","webpack:///./src/components/settings_modal/helpers/integer_setting.vue","webpack:///./src/components/settings_modal/helpers/integer_setting.js","webpack:///./src/components/settings_modal/helpers/integer_setting.vue?11fa","webpack:///./src/components/settings_modal/tabs/filtering_tab.js","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue?75c6","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?02be","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.js","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue?7300","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue?3e9f","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?4581","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.js","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue?f4d0","webpack:///./src/components/settings_modal/tabs/profile_tab.vue","webpack:///./src/components/image_cropper/image_cropper.vue","webpack:///./src/components/image_cropper/image_cropper.js","webpack:///./src/components/image_cropper/image_cropper.vue?aa5f","webpack:///./src/components/settings_modal/tabs/profile_tab.js","webpack:///./src/components/settings_modal/tabs/profile_tab.vue?650d","webpack:///./src/components/settings_modal/tabs/general_tab.vue","webpack:///./src/components/settings_modal/tabs/general_tab.js","webpack:///./src/components/settings_modal/tabs/general_tab.vue?5ffb","webpack:///./src/components/settings_modal/tabs/version_tab.vue","webpack:///./src/services/version/version.service.js","webpack:///./src/components/settings_modal/tabs/version_tab.js","webpack:///./src/components/settings_modal/tabs/version_tab.vue?2afb","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue","webpack:///./src/components/color_input/color_input.vue","webpack:///./src/components/color_input/color_input.vue?602f","webpack:///./src/components/range_input/range_input.vue","webpack:///./src/components/range_input/range_input.vue?4741","webpack:///./src/components/opacity_input/opacity_input.vue","webpack:///./src/components/opacity_input/opacity_input.vue?db4a","webpack:///./src/components/shadow_control/shadow_control.vue","webpack:///./src/components/shadow_control/shadow_control.js","webpack:///./src/components/shadow_control/shadow_control.vue?74ae","webpack:///./src/components/font_control/font_control.vue","webpack:///./src/components/font_control/font_control.js","webpack:///./src/components/font_control/font_control.vue?6c0b","webpack:///./src/components/contrast_ratio/contrast_ratio.vue","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?a879","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?166c","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.js","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue?0d26","webpack:///./src/components/settings_modal/settings_modal_content.js","webpack:///./src/components/settings_modal/settings_modal_content.vue?5ef5","webpack:///./src/components/settings_modal/settings_modal_content.vue"],"names":["class","library","add","faCircleNotch","faTimes","Importer","props","submitHandler","type","Function","required","submitButtonLabel","String","successMessage","errorMessage","data","file","error","success","submitting","methods","change","this","$refs","input","files","submit","dismiss","then","ref","spin","icon","$t","Exporter","getContent","filename","default","exportButtonLabel","processingMessage","processing","process","content","fileToDownload","document","createElement","setAttribute","encodeURIComponent","style","display","body","appendChild","click","removeChild","setTimeout","size","DataImportExportTab","activeTab","newDomainToMute","created","$store","dispatch","components","Checkbox","computed","mapState","backendInteractor","state","api","user","users","currentUser","getFollowsContent","exportFriends","id","generateExportableUsersContent","getBlocksContent","fetchBlocks","getMutesContent","fetchMutes","importFollows","status","Error","importBlocks","importMutes","map","is_local","screen_name","location","hostname","join","label","submit-handler","success-message","error-message","get-content","export-button-label","query","filter","placeholder","term","timeout","results","resultsVisible","filtered","watch","val","fetchResults","clearTimeout","onInputClick","onClickOutside","length","item","BlockCard","progress","getters","findUser","userId","relationship","blocked","blocking","BasicUserCard","unblockUser","blockUser","disabled","MuteCard","muted","muting","unmuteUser","muteUser","DomainMuteCard","ProgressButton","domainMutes","includes","domain","unmuteDomain","muteDomain","SelectableList","List","items","Array","getKey","selected","allKeys","filteredSelected","key","indexOf","allSelected","noneSelected","someSelected","isSelected","toggle","checked","push","splice","toggleAll","value","slice","model-value","indeterminate","get-key","empty","withSubscription","fetch","select","childPropName","additionalPropNames","WrappedComponent","Object","keys","getComponentProps","v","concat","loading","fetchedData","$props","refresh","isEmpty","fetchData","render","children","$slots","BlockList","get","MuteList","DomainMuteList","MutesAndBlocks","TabSwitcher","Autosuggest","knownDomains","instance","activateTab","tabName","filterUnblockedUsers","userIds","reject","filterUnMutedUsers","queryUserIds","blockUsers","ids","unblockUsers","muteUsers","unmuteUsers","filterUnMutedDomains","urls","url","queryKnownDomains","Promise","resolve","toLowerCase","unmuteDomains","domains","scrollable-tabs","user-id","row","i","header","faWrench","Popover","trigger","aria-label","faServer","ModifiedIndicator","ServerSideIndicator","pathDefault","path","split","firstSegment","rest","$parent","undefined","defaultState","isServerSide","startsWith","isChanged","matchesExpertLevel","expert","expertLevel","update","e","changed","server-side","SharedComputedObject","configDefaultState","defaultConfig","reduce","acc","mergedConfig","set","name","serverSideConfigDefaultState","serverSideConfig","useStreamingApi","console","NotificationsTab","notificationSettings","notification_settings","BooleanSetting","updateNotificationSettings","settings","Select","options","option","Boolean","min","Number","parseInt","target","for","step","FilteringTab","muteWordsStringLocal","muteWords","replyVisibilityOptions","mode","ChoiceSetting","IntegerSetting","muteWordsString","word","notificationVisibility","handler","deep","replyVisibility","streaming","hideFilteredStatuses","backupCodes","inProgress","codes","ready","displayTitle","code","Confirm","confirm","$emit","cancel","currentPassword","deactivate","isActivated","totp","doActivate","cancelDeactivate","doDeactivate","confirmDeactivate","mfaDisableOTP","password","res","Mfa","available","enabled","setupState","setupOTPState","getNewCodes","otpSettings","provisioning_uri","otpConfirmToken","readyInit","RecoveryCodes","VueQrcode","canSetupOTP","setupInProgress","backupCodesPrepared","setupOTPInProgress","completedOTP","prepareOTP","confirmOTP","confirmNewBackupCodes","activateOTP","fetchBackupCodes","generateMfaBackupCodes","getBackupCodes","confirmBackupCodes","cancelBackupCodes","setupOTP","mfaSetupOTP","doConfirmOTP","mfaConfirmOTP","token","completeSetup","fetchSettings","cancelSetup","settingsMFA","result","mounted","backup-codes","width","SecurityTab","newEmail","changeEmailError","changeEmailPassword","changedEmail","deletingAccount","deleteAccountConfirmPasswordInput","deleteAccountError","changePasswordInputs","changedPassword","changePasswordError","pleromaBackend","oauthTokens","tokens","oauthToken","appName","app_name","validUntil","Date","valid_until","toLocaleDateString","localeService","internalToBrowserLocale","$i18n","locale","confirmDelete","deleteAccount","$router","changePassword","params","newPassword","newPasswordConfirmation","logout","changeEmail","email","replace","revokeToken","window","t","autocomplete","ImageCropper","Element","cropperOptions","aspectRatio","autoCropArea","viewMode","movable","zoomable","guides","mimes","saveButtonLabel","saveWithoutCroppingButtonlabel","cancelButtonLabel","cropper","dataUrl","saveText","saveWithoutCroppingText","cancelText","destroy","cropping","pickImage","createCropper","Cropper","img","getTriggerDOM","querySelector","readFile","fileInput","reader","FileReader","onload","readAsDataURL","addEventListener","beforeUnmount","removeEventListener","src","alt","accept","faPlus","ProfileTab","newName","name_unescaped","newBio","unescape","description","newLocked","locked","newFields","fields","field","showRole","show_role","role","bot","pickAvatarBtnVisible","bannerUploading","backgroundUploading","banner","bannerPreview","background","backgroundPreview","emailLanguage","language","ScopeSelector","EmojiInput","InterfaceLanguageSwitcher","emojiUserSuggestor","suggestor","emoji","customEmoji","store","emojiSuggestor","userSuggestor","fieldsLimits","maxFields","defaultAvatar","server","defaultBanner","isDefaultAvatar","baseAvatar","profile_image_url","isDefaultBanner","baseBanner","cover_photo","isDefaultBackground","background_image","avatarImgSrc","profile_image_url_original","bannerImgSrc","updateProfile","note","display_name","fields_attributes","el","internalToBackendLocale","merge","commit","changeVis","visibility","newDefaultScope","addField","deleteField","index","event","$delete","uploadFile","slot","filesize","fileSizeFormatService","fileSizeFormat","allowedsize","messageKey","messageArgs","num","filesizeunit","unit","allowedsizeunit","level","resetAvatar","submitAvatar","resetBanner","submitBanner","resetBackground","submitBackground","that","updateAvatar","avatar","avatarName","updateProfileImages","displayUploadError","getCroppedCanvas","toBlob","message","enable-emoji-picker","suggest","_","hide-emoji-button","prompt-text","set-language","title","$event","serverSide_hideFollowers","serverSide_hideFollows","faGlobe","GeneralTab","subjectLineOptions","conversationDisplayOptions","conversationOtherRepliesButtonOptions","mentionLinkDisplayOptions","thirdColumnModeOptions","loopSilentAvailable","getOwnPropertyDescriptor","HTMLVideoElement","prototype","HTMLMediaElement","postFormats","postContentOptions","format","instanceSpecificPanelPresent","showInstanceSpecificPanel","instanceWallpaperUsed","instanceShoutboxPresent","shoutAvailable","interfaceLanguage","changeDefaultScope","conversationDisplay","hideNsfw","loopVideo","mentionLinkDisplay","show-all","user-default","serverSide_defaultScope","initial-scope","on-scope-change","VersionTab","backendVersion","frontendVersion","frontendVersionLink","backendVersionLink","versionString","matches","match","href","modelValue","fallback","showOptionalTickbox","emits","present","validColor","hex2rgb","transparentColor","computedColor","max","hardMax","hardMin","faChevronDown","faChevronUp","toModel","object","x","y","blur","spread","inset","color","alpha","selectedId","cValue","ColorInput","OpacityInput","del","Math","moveUp","moveDn","beforeUpdate","anyShadows","anyShadowsFallback","currentFallback","moveUpValid","moveDnValid","usingFallback","rgb","boxShadow","getCssShadow","shadow","fixed-width","show-optional-tickbox","scope","keypath","tag","lValue","availableOptions","noInherit","dValue","family","isCustom","preset","faAdjust","faExclamationTriangle","faThumbsUp","large","contrast","hint","levelVal","aaa","aa","context","ratio","text","hint_18pt","laaa","laa","faStar","faRetweet","faReply","v1OnlyNames","themeImporter","newImporter","validator","importValidator","onImport","onImportFailure","themeExporter","newExporter","getExportedObject","exportedTheme","availableStyles","selectedTheme","theme","themeWarning","tempImportFile","engineVersion","previewShadows","previewColors","previewRadii","previewFonts","shadowsInvalid","colorsInvalid","radiiInvalid","keepColor","keepShadows","keepOpacity","keepRoundness","keepFonts","SLOT_INHERITANCE","OPACITIES","shadowSelected","shadowsLocal","fontsLocal","btnRadiusLocal","inputRadiusLocal","checkboxRadiusLocal","panelRadiusLocal","avatarRadiusLocal","avatarAltRadiusLocal","attachmentRadiusLocal","tooltipRadiusLocal","chatMessageRadiusLocal","self","getThemes","promises","all","entries","k","themes","themesComplete","loadThemeFromLocalStorage","shadowsAvailable","themeWarningHelp","pre","origin","themeEngineVersion","noActionsPossible","CURRENT_VERSION","selectedVersion","isArray","currentColors","currentOpacity","currentRadii","btn","checkbox","panel","avatarAlt","tooltip","attachment","chatMessage","preview","composePreset","previewTheme","colors","opacity","radii","shadows","fonts","previewContrast","bg","colorsConverted","ratios","slotIsBaseText","textColor","layer","variant","opacitySlot","getOpacitySlot","textColors","layers","getLayers","textColorKey","newKey","toUpperCase","getContrastRatioLayers","toPrecision","warn","previewRules","rules","values","DEFAULT_SHADOWS","sort","currentShadowOverriden","currentShadow","currentShadowFallback","assign","themeValid","saveEverything","source","_pleroma_theme_version","isActive","tabSwitcher","RangeInput","ContrastRatio","ShadowControl","FontControl","Preview","loadTheme","fileVersion","forceUseSource","dismissWarning","version","snapshotEngineVersion","versionsMatch","sourceSnapshotMismatch","forcedSourceLoad","normalizeLocalState","forceLoadLocalStorage","forceLoad","forceSnapshot","confirmLoadSource","customTheme","customThemeSource","themeData","setCustomTheme","updatePreviewColorsAndShadows","generateColors","generateShadows","mod","importTheme","importData","exportTheme","exportData","parsed","forceSource","clearAll","clearV1","$data","endsWith","forEach","clearRoundness","clearOpacity","clearShadows","clearFonts","colors2to3","fg","fgColorLocal","rgb2hex","textColorLocal","Set","hex","isNaN","shadows2to3","generateRadii","getOwnPropertyNames","generateFonts","fontsInvalid","find","s","log","bgColorLocal","linkColorLocal","cRedColorLocal","cGreenColorLocal","cBlueColorLocal","cOrangeColorLocal","bgOpacityLocal","bgText","accentColorLocal","link","accent","bgLink","fgTextColorLocal","fgText","fgLinkColorLocal","fgLink","bgCRed","bgCBlue","bgCGreen","bgCOrange","postLinkColorLocal","postLink","postGreentextColorLocal","cGreen","postGreentext","alertErrorColorLocal","alertError","alertErrorTextColorLocal","alertErrorText","alertWarningColorLocal","alertWarning","alertWarningTextColorLocal","alertWarningText","alertNeutralColorLocal","alertNeutral","alertNeutralTextColorLocal","alertNeutralText","alertOpacityLocal","alert","badgeNotificationColorLocal","badgeNotification","badgeNotificationTextColorLocal","badgeNotificationText","panelColorLocal","panelOpacityLocal","panelTextColorLocal","panelText","panelLinkColorLocal","panelLink","topBarColorLocal","topBar","topBarTextColorLocal","topBarText","topBarLinkColorLocal","topBarLink","inputColorLocal","inputOpacityLocal","inputTextColorLocal","inputText","btnColorLocal","btnOpacityLocal","btnTextColorLocal","btnText","btnPanelTextColorLocal","btnPanelText","btnTopBarTextColorLocal","btnTopBarText","btnPressedColorLocal","btnPressed","btnPressedTextColorLocal","btnPressedText","btnPressedPanelTextColorLocal","btnPressedPanelText","btnPressedTopBarTextColorLocal","btnPressedTopBarText","btnDisabledColorLocal","btnDisabled","btnDisabledTextColorLocal","btnDisabledText","btnDisabledPanelTextColorLocal","btnDisabledPanelText","btnDisabledTopBarTextColorLocal","btnDisabledTopBarText","btnToggledColorLocal","btnToggled","btnToggledTextColorLocal","btnToggledText","btnToggledPanelTextColorLocal","btnToggledPanelText","btnToggledTopBarTextColorLocal","btnToggledTopBarText","tabColorLocal","tab","tabTextColorLocal","tabText","tabActiveTextColorLocal","tabActiveText","borderColorLocal","border","borderOpacityLocal","faintColorLocal","faint","faintLinkColorLocal","faintLink","panelFaintColorLocal","panelFaint","faintOpacityLocal","underlayColorLocal","underlay","underlayOpacityLocal","wallpaperColorLocal","wallpaper","pollColorLocal","poll","pollTextColorLocal","pollText","iconColorLocal","highlightColorLocal","highlight","highlightTextColorLocal","highlightText","highlightLinkColorLocal","highlightLink","popoverColorLocal","popover","popoverOpacityLocal","popoverTextColorLocal","popoverText","popoverLinkColorLocal","popoverLink","selectedPostColorLocal","selectedPost","selectedPostTextColorLocal","selectedPostText","selectedPostLinkColorLocal","selectedPostLink","selectedMenuColorLocal","selectedMenu","selectedMenuTextColorLocal","selectedMenuText","selectedMenuLinkColorLocal","selectedMenuLink","chatBgColorLocal","chatMessageIncomingBgColorLocal","chatMessageIncomingTextColorLocal","chatMessageIncomingLinkColorLocal","chatMessageIncomingBorderColorLocal","chatMessageOutgoingBgColorLocal","chatMessageOutgoingTextColorLocal","chatMessageOutgoingLinkColorLocal","chatMessageOutgoingBorderColorLocal","hard-min","interface","no-inherit","post","postCode","to","faUser","faFilter","faPaintBrush","faBell","faDownload","faEyeSlash","faInfo","SettingsModalContent","MutesAndBlocksTab","ThemeTab","isLoggedIn","open","settingsModalState","bodyLock","onOpen","targetTab","settingsModalTargetTab","tabIndex","findIndex","elm","setTab","side-tab-bar","body-scroll-lock","data-tab-name","fullHeight"],"mappings":"olBAAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,uDCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,sMCISA,MAAM,gB,GASNA,MAAM,gB,GAQNA,MAAM,gB,GASNA,MAAM,gB,GAQNA,MAAM,gB,GASNA,MAAM,gB,6BC9CRA,MAAM,Y,wBA6BE,IACT,YAAG,KAAM,K,wBAWA,IACT,YAAG,KAAM,K,kBCrCfC,IAAQC,IACNC,IACAC,MAGF,IAqCeC,EArCE,CACfC,MAAO,CACLC,cAAe,CACbC,KAAMC,SACNC,UAAU,GAEZC,kBAAmB,CAAEH,KAAMI,QAC3BC,eAAgB,CAAEL,KAAMI,QACxBE,aAAc,CAAEN,KAAMI,SAExBG,KAVe,WAWb,MAAO,CACLC,KAAM,KACNC,OAAO,EACPC,SAAS,EACTC,YAAY,IAGhBC,QAAS,CACPC,OADO,WAELC,KAAKN,KAAOM,KAAKC,MAAMC,MAAMC,MAAM,IAErCC,OAJO,WAIG,WACRJ,KAAKK,UACLL,KAAKH,YAAa,EAClBG,KAAKf,cAAce,KAAKN,MACrBY,MAAK,WAAQ,EAAKV,SAAU,KAD/B,OAES,WAAQ,EAAKD,OAAQ,KAF9B,SAGW,WAAQ,EAAKE,YAAa,MAEvCQ,QAZO,WAaLL,KAAKJ,SAAU,EACfI,KAAKL,OAAQ,K,yBClCJ,MAFkB,IAAgB,EAAQ,CAAC,CAAC,S,yEFNzD,YA6CM,MA7CN,EA6CM,CA5CJ,YAMO,aALL,YAIC,SAHCY,IAAI,QACJrB,KAAK,OACJ,SAAM,oBAAE,EAAAa,QAAA,EAAAA,UAAA,K,YAIL,EAAU,Y,cADlB,YAKE,G,MAHArB,MAAM,qBACN8B,KAAA,GACAC,KAAK,mB,cAEP,YAMS,U,MAJP/B,MAAM,qBACL,QAAK,oBAAE,EAAA0B,QAAA,EAAAA,UAAA,K,YAEL,EAAAf,mBAAqB,EAAAqB,GAAG,oBAAD,IAEjB,EAAO,S,cAAlB,YAWM,SAVJ,YAOS,UANPhC,MAAM,kBACL,QAAK,oBAAE,EAAA2B,SAAA,EAAAA,WAAA,K,CAER,YAEE,GADAI,KAAK,Y,EAIT,YAA2D,wBAAlD,EAAAlB,gBAAkB,EAAAmB,GAAG,qBAAD,MAEf,EAAK,O,cAArB,YAWM,SAVJ,YAOS,UANPhC,MAAM,kBACL,QAAK,oBAAE,EAAA2B,SAAA,EAAAA,WAAA,K,CAER,YAEE,GADAI,KAAK,Y,EAIT,YAAuD,wBAA9C,EAAAjB,cAAgB,EAAAkB,GAAG,mBAAD,M,kCG3C1BhC,MAAM,Y,UCEbC,IAAQC,IACNC,KAGF,IAqCe8B,EArCE,CACf3B,MAAO,CACL4B,WAAY,CACV1B,KAAMC,SACNC,UAAU,GAEZyB,SAAU,CACR3B,KAAMI,OACNwB,QAAS,cAEXC,kBAAmB,CAAE7B,KAAMI,QAC3B0B,kBAAmB,CAAE9B,KAAMI,SAE7BG,KAbe,WAcb,MAAO,CACLwB,YAAY,IAGhBnB,QAAS,CACPoB,QADO,WACI,WACTlB,KAAKiB,YAAa,EAClBjB,KAAKY,aACFN,MAAK,SAACa,GACL,IAAMC,EAAiBC,SAASC,cAAc,KAC9CF,EAAeG,aAAa,OAAQ,iCAAmCC,mBAAmBL,IAC1FC,EAAeG,aAAa,WAAY,EAAKV,UAC7CO,EAAeK,MAAMC,QAAU,OAC/BL,SAASM,KAAKC,YAAYR,GAC1BA,EAAeS,QACfR,SAASM,KAAKG,YAAYV,GAE1BW,YAAW,WAAQ,EAAKd,YAAa,IAAS,W,OC7BzC,MAFkB,IAAgB,EAAQ,CAAC,CAAC,S,yEFNzD,YAiBM,MAjBN,EAiBM,CAhBO,EAAU,Y,cAArB,YAQM,SAPJ,YAIE,GAHAR,KAAK,eACLuB,KAAK,KACLxB,KAAA,KAGF,YAAiE,wBAAxD,EAAAQ,mBAAqB,EAAAN,GAAG,wBAAD,O,cAElC,YAMS,U,MAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAAwC,SAAA,EAAAA,WAAA,K,YAEL,EAAAH,mBAAqB,EAAAL,GAAG,oBAAD,U,6OGXhC,IAyEeuB,EAzEa,CAC1BxC,KAD0B,WAExB,MAAO,CACLyC,UAAW,UACXC,gBAAiB,KAGrBC,QAP0B,WAQxBpC,KAAKqC,OAAOC,SAAS,gBAEvBC,WAAY,CACVxD,WACA4B,WACA6B,cAEFC,S,iWAAU,CAAF,GACHC,YAAS,CACVC,kBAAmB,SAACC,GAAD,OAAWA,EAAMC,IAAIF,mBACxCG,KAAM,SAACF,GAAD,OAAWA,EAAMG,MAAMC,gBAGjClD,QAAS,CACPmD,kBADO,WAEL,OAAOjD,KAAK2C,kBAAkBO,cAAc,CAAEC,GAAInD,KAAK8C,KAAKK,KACzD7C,KAAKN,KAAKoD,iCAEfC,iBALO,WAML,OAAOrD,KAAK2C,kBAAkBW,cAC3BhD,KAAKN,KAAKoD,iCAEfG,gBATO,WAUL,OAAOvD,KAAK2C,kBAAkBa,aAC3BlD,KAAKN,KAAKoD,iCAEfK,cAbO,SAaQ/D,GACb,OAAOM,KAAK2C,kBAAkBc,cAAc,CAAE/D,SAC3CY,MAAK,SAACoD,GACL,IAAKA,EACH,MAAM,IAAIC,MAAM,cAIxBC,aArBO,SAqBOlE,GACZ,OAAOM,KAAK2C,kBAAkBiB,aAAa,CAAElE,SAC1CY,MAAK,SAACoD,GACL,IAAKA,EACH,MAAM,IAAIC,MAAM,cAIxBE,YA7BO,SA6BMnE,GACX,OAAOM,KAAK2C,kBAAkBkB,YAAY,CAAEnE,SACzCY,MAAK,SAACoD,GACL,IAAKA,EACH,MAAM,IAAIC,MAAM,cAIxBP,+BArCO,SAqCyBL,GAE9B,OAAOA,EAAMe,KAAI,SAAChB,GAEhB,OAAIA,GAAQA,EAAKiB,SAGRjB,EAAKkB,YAAc,IAAMC,SAASC,SAEpCpB,EAAKkB,eACXG,KAAK,SClEC,MAFkB,IAAgB,EAAQ,CAAC,CAAC,S,qGRJzD,YAsDM,OArDHC,MAAO,EAAA1D,GAAG,oC,CAEX,YAQM,MARN,EAQM,CAPJ,YAA2C,sBAApC,EAAAA,GAAG,2BAAD,GACT,YAA4D,qBAAtD,EAAAA,GAAG,8CAAD,GACR,YAIE,GAHC2D,iBAAgB,EAAAZ,cAChBa,kBAAiB,EAAA5D,GAAG,6BACpB6D,gBAAe,EAAA7D,GAAG,iC,+DAGvB,YAOM,MAPN,EAOM,CANJ,YAA2C,sBAApC,EAAAA,GAAG,2BAAD,GACT,YAIE,GAHC8D,cAAa,EAAAvB,kBACdpC,SAAS,cACR4D,sBAAqB,EAAA/D,GAAG,kC,gDAG7B,YAQM,MARN,EAQM,CAPJ,YAA0C,sBAAnC,EAAAA,GAAG,0BAAD,GACT,YAAyD,qBAAnD,EAAAA,GAAG,2CAAD,GACR,YAIE,GAHC2D,iBAAgB,EAAAT,aAChBU,kBAAiB,EAAA5D,GAAG,4BACpB6D,gBAAe,EAAA7D,GAAG,gC,+DAGvB,YAOM,MAPN,EAOM,CANJ,YAA0C,sBAAnC,EAAAA,GAAG,0BAAD,GACT,YAIE,GAHC8D,cAAa,EAAAnB,iBACdxC,SAAS,aACR4D,sBAAqB,EAAA/D,GAAG,iC,gDAG7B,YAQM,MARN,EAQM,CAPJ,YAAyC,sBAAlC,EAAAA,GAAG,yBAAD,GACT,YAAwD,qBAAlD,EAAAA,GAAG,0CAAD,GACR,YAIE,GAHC2D,iBAAgB,EAAAR,YAChBS,kBAAiB,EAAA5D,GAAG,2BACpB6D,gBAAe,EAAA7D,GAAG,+B,+DAGvB,YAOM,MAPN,EAOM,CANJ,YAAyC,sBAAlC,EAAAA,GAAG,yBAAD,GACT,YAIE,GAHC8D,cAAa,EAAAjB,gBACd1C,SAAS,YACR4D,sBAAqB,EAAA/D,GAAG,gC,+ES9CtBhC,MAAM,sB,GAkBFA,MAAM,gB,eAkCR0F,MAAM,S,GACJ1F,MAAM,sB,GAkBFA,MAAM,gB,eAiCVA,MAAM,oB,GAkBFA,MAAM,gB,yEC7HrBA,MAAM,e,6BAUJA,MAAM,uBCbZ,IAEe,IACbM,MAAO,CACL0F,MAAO,CACLxF,KAAMC,SACNC,UAAU,GAEZuF,OAAQ,CACNzF,KAAMC,UAERyF,YAAa,CACX1F,KAAMI,OACNwB,QAAS,cAGbrB,KAda,WAeX,MAAO,CACLoF,KAAM,GACNC,QAAS,KACTC,QAAS,GACTC,gBAAgB,IAGpBvC,SAAU,CACRwC,SADQ,WAEN,OAAOjF,KAAK2E,OAAS3E,KAAK2E,OAAO3E,KAAK+E,SAAW/E,KAAK+E,UAG1DG,MAAO,CACLL,KADK,SACCM,GACJnF,KAAKoF,aAAaD,KAGtBrF,QAAS,CACPsF,aADO,SACOP,GAAM,WAClBQ,aAAarF,KAAK8E,SAClB9E,KAAK8E,QAAU/C,YAAW,WACxB,EAAKgD,QAAU,GACXF,GACF,EAAKH,MAAMG,GAAMvE,MAAK,SAACyE,GAAc,EAAKA,QAAUA,OAxCjC,MA4CzBO,aAVO,WAWLtF,KAAKgF,gBAAiB,GAExBO,eAbO,WAcLvF,KAAKgF,gBAAiB,K,OCvCb,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,6FFNzD,YAmBM,MAnBN,GAmBM,C,YAfJ,YAKC,S,qCAJU,EAAI,QACZJ,YAAa,EAAAA,YACdlG,MAAM,oBACL,QAAK,oBAAE,EAAA4G,cAAA,EAAAA,gBAAA,K,iBAHC,EAAAT,QAMH,EAAAG,gBAAkB,EAAAC,SAASO,OAAS,G,cAD5C,YAQM,MARN,GAQM,E,gBAJJ,YAGE,qBAFe,EAAAP,SAARQ,GADT,YAGE,oBADCA,KAAMA,K,mCAfM,EAAAF,sB,UGAZ7G,MAAM,gC,6CCqCAgH,GArCG,CAChB1G,MAAO,CAAC,UACRS,KAFgB,WAGd,MAAO,CACLkG,UAAU,IAGdlD,SAAU,CACRK,KADQ,WAEN,OAAO9C,KAAKqC,OAAOuD,QAAQC,SAAS7F,KAAK8F,SAE3CC,aAJQ,WAKN,OAAO/F,KAAKqC,OAAOuD,QAAQG,aAAa/F,KAAK8F,SAE/CE,QAPQ,WAQN,OAAOhG,KAAK+F,aAAaE,WAG7B1D,WAAY,CACV2D,oBAEFpG,QAAS,CACPqG,YADO,WACQ,WACbnG,KAAK2F,UAAW,EAChB3F,KAAKqC,OAAOC,SAAS,cAAetC,KAAK8C,KAAKK,IAAI7C,MAAK,WACrD,EAAKqF,UAAW,MAGpBS,UAPO,WAOM,WACXpG,KAAK2F,UAAW,EAChB3F,KAAKqC,OAAOC,SAAS,YAAatC,KAAK8C,KAAKK,IAAI7C,MAAK,WACnD,EAAKqF,UAAW,Q,OCxBT,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,kFFNzD,YA6BkB,GA7BA7C,KAAM,EAAAA,MAAI,C,oBAC1B,IA2BM,CA3BN,YA2BM,MA3BN,GA2BM,CAzBI,EAAO,S,cADf,YAYS,U,MAVPpE,MAAM,qBACL2H,SAAU,EAAAV,SACV,QAAK,oBAAE,EAAAQ,aAAA,EAAAA,eAAA,K,CAEQ,EAAQ,U,cAAxB,YAEW,a,wBADN,EAAAzF,GAAG,+BAAD,I,oBAEP,YAEW,a,wBADN,EAAAA,GAAG,sBAAD,I,4BAGT,YAYS,U,MAVPhC,MAAM,qBACL2H,SAAU,EAAAV,SACV,QAAK,oBAAE,EAAAS,WAAA,EAAAA,aAAA,K,CAEQ,EAAQ,U,cAAxB,YAEW,a,wBADN,EAAA1F,GAAG,6BAAD,I,oBAEP,YAEW,a,wBADN,EAAAA,GAAG,oBAAD,I,gDGxBNhC,MAAM,+B,gCCAf,IAqCe4H,GArCE,CACftH,MAAO,CAAC,UACRS,KAFe,WAGb,MAAO,CACLkG,UAAU,IAGdlD,SAAU,CACRK,KADQ,WAEN,OAAO9C,KAAKqC,OAAOuD,QAAQC,SAAS7F,KAAK8F,SAE3CC,aAJQ,WAKN,OAAO/F,KAAKqC,OAAOuD,QAAQG,aAAa/F,KAAK8F,SAE/CS,MAPQ,WAQN,OAAOvG,KAAK+F,aAAaS,SAG7BjE,WAAY,CACV2D,oBAEFpG,QAAS,CACP2G,WADO,WACO,WACZzG,KAAK2F,UAAW,EAChB3F,KAAKqC,OAAOC,SAAS,aAActC,KAAK8F,QAAQxF,MAAK,WACnD,EAAKqF,UAAW,MAGpBe,SAPO,WAOK,WACV1G,KAAK2F,UAAW,EAChB3F,KAAKqC,OAAOC,SAAS,WAAYtC,KAAK8F,QAAQxF,MAAK,WACjD,EAAKqF,UAAW,Q,OCxBT,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,kFFNzD,YA6BkB,GA7BA7C,KAAM,EAAAA,MAAI,C,oBAC1B,IA2BM,CA3BN,YA2BM,MA3BN,GA2BM,CAzBI,EAAK,O,cADb,YAYS,U,MAVPpE,MAAM,qBACL2H,SAAU,EAAAV,SACV,QAAK,oBAAE,EAAAc,YAAA,EAAAA,cAAA,K,CAEQ,EAAQ,U,cAAxB,YAEW,a,wBADN,EAAA/F,GAAG,8BAAD,I,oBAEP,YAEW,a,wBADN,EAAAA,GAAG,qBAAD,I,4BAGT,YAYS,U,MAVPhC,MAAM,qBACL2H,SAAU,EAAAV,SACV,QAAK,oBAAE,EAAAe,UAAA,EAAAA,YAAA,K,CAEQ,EAAQ,U,cAAxB,YAEW,a,wBADN,EAAAhG,GAAG,4BAAD,I,oBAEP,YAEW,a,wBADN,EAAAA,GAAG,mBAAD,I,gDGzBRhC,MAAM,oB,IACJA,MAAM,2B,cCuBAiI,GAvBQ,CACrB3H,MAAO,CAAC,UACRuD,WAAY,CACVqE,qBAEFnE,SAAU,CACRK,KADQ,WAEN,OAAO9C,KAAKqC,OAAOO,MAAMG,MAAMC,aAEjCuD,MAJQ,WAKN,OAAOvG,KAAK8C,KAAK+D,YAAYC,SAAS9G,KAAK+G,UAG/CjH,QAAS,CACPkH,aADO,WAEL,OAAOhH,KAAKqC,OAAOC,SAAS,eAAgBtC,KAAK+G,SAEnDE,WAJO,WAKL,OAAOjH,KAAKqC,OAAOC,SAAS,aAActC,KAAK+G,W,OCXtC,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,iFFNzD,YAwBM,MAxBN,GAwBM,CAvBJ,YAEM,MAFN,GAEM,YADD,EAAAA,QAAM,GAGH,EAAK,O,cADb,YASiB,G,MAPdlF,MAAO,EAAAmF,aACRtI,MAAM,sB,CAGWiH,SAAQ,YACvB,IAA4C,C,wBAAzC,EAAAjF,GAAG,qCAAD,K,oBAFP,IAAmC,C,wBAAhC,EAAAA,GAAG,4BAA6B,IACnC,K,kCAIF,YASiB,G,MAPdmB,MAAO,EAAAoF,WACRvI,MAAM,sB,CAGWiH,SAAQ,YACvB,IAA0C,C,wBAAvC,EAAAjF,GAAG,mCAAD,K,oBAFP,IAAiC,C,wBAA9B,EAAAA,GAAG,0BAA2B,IACjC,K,mCGpBChC,MAAM,mB,UAGPA,MAAM,0B,IAEDA,MAAM,oC,IASNA,MAAM,kC,IAgBFA,MAAM,oC,ICkCNwI,GA9DQ,CACrB3E,WAAY,CACV4E,K,MAAAA,EACA3E,cAEFxD,MAAO,CACLoI,MAAO,CACLlI,KAAMmI,MACNvG,QAAS,iBAAM,KAEjBwG,OAAQ,CACNpI,KAAMC,SACN2B,QAAS,SAAA2E,GAAI,OAAIA,EAAKtC,MAG1B1D,KAfqB,WAgBnB,MAAO,CACL8H,SAAU,KAGd9E,SAAU,CACR+E,QADQ,WAEN,OAAOxH,KAAKoH,MAAMtD,IAAI9D,KAAKsH,SAE7BG,iBAJQ,WAIY,WAClB,OAAOzH,KAAKwH,QAAQ7C,QAAO,SAAA+C,GAAG,OAAoC,IAAhC,EAAKH,SAASI,QAAQD,OAE1DE,YAPQ,WAQN,OAAO5H,KAAKyH,iBAAiBjC,SAAWxF,KAAKoH,MAAM5B,QAErDqC,aAVQ,WAWN,OAAwC,IAAjC7H,KAAKyH,iBAAiBjC,QAE/BsC,aAbQ,WAcN,OAAQ9H,KAAK4H,cAAgB5H,KAAK6H,eAGtC/H,QAAS,CACPiI,WADO,SACKtC,GACV,OAA6D,IAAtDzF,KAAKyH,iBAAiBE,QAAQ3H,KAAKsH,OAAO7B,KAEnDuC,OAJO,SAICC,EAASxC,GACf,IAAMiC,EAAM1H,KAAKsH,OAAO7B,GAEpBwC,IADejI,KAAK+H,WAAWL,KAE7BO,EACFjI,KAAKuH,SAASW,KAAKR,GAEnB1H,KAAKuH,SAASY,OAAOnI,KAAKuH,SAASI,QAAQD,GAAM,KAIvDU,UAfO,SAeIC,GAEPrI,KAAKuH,SADHc,EACcrI,KAAKwH,QAAQc,MAAM,GAEnB,M,OClDT,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,iGFNzD,YA8CM,MA9CN,GA8CM,CA5CI,EAAAlB,MAAM5B,OAAS,G,cADvB,YAmBM,MAnBN,GAmBM,CAfJ,YAQM,MARN,GAQM,CAPJ,YAMW,GALR+C,cAAa,EAAAX,YACbY,cAAe,EAAAV,aACf,sBAAoB,EAAAM,W,qBAErB,IAAsC,C,wBAAnC,EAAA1H,GAAG,+BAAD,K,gEAGT,YAKM,MALN,GAKM,CAJJ,YAGE,mBADC6G,SAAU,EAAAE,wB,mBAIjB,YAwBO,GAvBJL,MAAO,EAAAA,MACPqB,UAAS,EAAAnB,Q,CAEO7B,KAAI,YACnB,EADsBA,UAAI,CAC1B,YAcM,OAbJ/G,MAAK,aAAC,6BAA4B,uCACe,EAAAqJ,WAAWtC,O,CAE5D,YAKM,MALN,GAKM,CAJJ,YAGE,GAFC8C,cAAa,EAAAR,WAAWtC,GACxB,sBAAoBwC,GAAW,EAAAD,OAAOC,EAASxC,I,gDAGpD,YAGE,iBADCA,KAAMA,K,KAIIiD,MAAK,YACpB,IAAqB,CAArB,YAAqB,oB,4qBGhC7B/J,IAAQC,IACNC,KAGF,IA0Ee8J,GA1EU,SAAC,GAAD,IACvBC,EADuB,EACvBA,MACAC,EAFuB,EAEvBA,OAFuB,IAGvBC,qBAHuB,MAGP,UAHO,MAIvBC,2BAJuB,MAID,GAJC,SAKnB,SAACC,GACL,IACMhK,EADgBiK,OAAOC,KAAKC,aAAkBH,IACxBrE,QAAO,SAAAyE,GAAC,OAAIA,IAAMN,KAAeO,OAAON,GAEpE,MAAO,CACL/J,MAAO,GAAF,YACAA,GADA,CAEH,YAEFS,KALK,WAMH,MAAO,CACL6J,SAAS,EACT3J,OAAO,IAGX8C,SAAU,CACR8G,YADQ,WAEN,OAAOV,EAAO7I,KAAKwJ,OAAQxJ,KAAKqC,UAGpCD,QAhBK,YAiBCpC,KAAKyJ,SAAWC,KAAQ1J,KAAKuJ,eAC/BvJ,KAAK2J,aAGT7J,QAAS,CACP6J,UADO,WACM,WACN3J,KAAKsJ,UACRtJ,KAAKsJ,SAAU,EACftJ,KAAKL,OAAQ,EACbiJ,EAAM5I,KAAKwJ,OAAQxJ,KAAKqC,QACrB/B,MAAK,WACJ,EAAKgJ,SAAU,KAFnB,OAIS,WACL,EAAK3J,OAAQ,EACb,EAAK2J,SAAU,QAKzBM,OArCK,WAsCH,GAAK5J,KAAKL,OAAUK,KAAKsJ,QAcvB,gCACa,6BADb,CAEKtJ,KAAKL,MAAL,yBACeK,KAAK2J,UADpB,MACqC,eADrC,CACoD3J,KAAKU,GAAG,2BAD5D,+BAEqB,gBAFrB,QAfL,I,EAAM1B,EAAQ,SACTgB,KAAKwJ,QADC,UAERV,EAAgB9I,KAAKuJ,cAElBM,EAAW7J,KAAK8J,OACtB,gCACa,qBADb,eAE0B9K,G,EACnB6K,E,6FAAAA,EAHP,2BAGOA,aC3DTE,GAAYpB,GAAiB,CACjCC,MAAO,SAAC5J,EAAOqD,GAAR,OAAmBA,EAAOC,SAAS,gBAC1CuG,OAAQ,SAAC7J,EAAOqD,GAAR,OAAmB2H,KAAI3H,EAAOO,MAAMG,MAAMC,YAAa,WAAY,KAC3E8F,cAAe,SAHCH,CAIfzB,IAEG+C,GAAWtB,GAAiB,CAChCC,MAAO,SAAC5J,EAAOqD,GAAR,OAAmBA,EAAOC,SAAS,eAC1CuG,OAAQ,SAAC7J,EAAOqD,GAAR,OAAmB2H,KAAI3H,EAAOO,MAAMG,MAAMC,YAAa,UAAW,KAC1E8F,cAAe,SAHAH,CAIdzB,IAEGgD,GAAiBvB,GAAiB,CACtCC,MAAO,SAAC5J,EAAOqD,GAAR,OAAmBA,EAAOC,SAAS,qBAC1CuG,OAAQ,SAAC7J,EAAOqD,GAAR,OAAmB2H,KAAI3H,EAAOO,MAAMG,MAAMC,YAAa,cAAe,KAC9E8F,cAAe,SAHMH,CAIpBzB,IA0GYiD,GAxGQ,CACrB1K,KADqB,WAEnB,MAAO,CACLyC,UAAW,YAGfE,QANqB,WAOnBpC,KAAKqC,OAAOC,SAAS,eACrBtC,KAAKqC,OAAOC,SAAS,oBAEvBC,WAAY,CACV6H,gBACAL,aACAE,YACAC,kBACAxE,aACAY,YACAK,kBACAC,oBACAyD,eACA7H,cAEFC,SAAU,CACR6H,aADQ,WAEN,OAAOtK,KAAKqC,OAAOO,MAAM2H,SAASD,cAEpCxH,KAJQ,WAKN,OAAO9C,KAAKqC,OAAOO,MAAMG,MAAMC,cAGnClD,QAAS,CACP2D,cADO,SACQ/D,GACb,OAAOM,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkBc,cAAc,CAAE/D,SAC5DY,MAAK,SAACoD,GACL,IAAKA,EACH,MAAM,IAAIC,MAAM,cAIxBC,aATO,SASOlE,GACZ,OAAOM,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkBiB,aAAa,CAAElE,SAC3DY,MAAK,SAACoD,GACL,IAAKA,EACH,MAAM,IAAIC,MAAM,cAIxBP,+BAjBO,SAiByBL,GAE9B,OAAOA,EAAMe,KAAI,SAAChB,GAEhB,OAAIA,GAAQA,EAAKiB,SAGRjB,EAAKkB,YAAc,IAAMC,SAASC,SAEpCpB,EAAKkB,eACXG,KAAK,OAEVqG,YA7BO,SA6BMC,GACXzK,KAAKkC,UAAYuI,GAEnBC,qBAhCO,SAgCeC,GAAS,WAC7B,OAAOC,KAAOD,GAAS,SAAC7E,GAEtB,OADqB,EAAKzD,OAAOuD,QAAQG,aAAa,EAAKD,QACvCG,UAAYH,IAAW,EAAKhD,KAAKK,OAGzD0H,mBAtCO,SAsCaF,GAAS,WAC3B,OAAOC,KAAOD,GAAS,SAAC7E,GAEtB,OADqB,EAAKzD,OAAOuD,QAAQG,aAAa,EAAKD,QACvCU,QAAUV,IAAW,EAAKhD,KAAKK,OAGvD2H,aA5CO,SA4COpG,GACZ,OAAO1E,KAAKqC,OAAOC,SAAS,cAAe,CAAEoC,UAC1CpE,MAAK,SAACyC,GAAD,OAAWe,KAAIf,EAAO,UAEhCgI,WAhDO,SAgDKC,GACV,OAAOhL,KAAKqC,OAAOC,SAAS,aAAc0I,IAE5CC,aAnDO,SAmDOD,GACZ,OAAOhL,KAAKqC,OAAOC,SAAS,eAAgB0I,IAE9CE,UAtDO,SAsDIF,GACT,OAAOhL,KAAKqC,OAAOC,SAAS,YAAa0I,IAE3CG,YAzDO,SAyDMH,GACX,OAAOhL,KAAKqC,OAAOC,SAAS,cAAe0I,IAE7CI,qBA5DO,SA4DeC,GAAM,WAC1B,OAAOA,EAAK1G,QAAO,SAAA2G,GAAG,OAAK,EAAKxI,KAAK+D,YAAYC,SAASwE,OAE5DC,kBA/DO,SA+DY7G,GAAO,WACxB,OAAO,IAAI8G,SAAQ,SAACC,EAASb,GAC3Ba,EAAQ,EAAKnB,aAAa3F,QAAO,SAAA2G,GAAG,OAAIA,EAAII,cAAc5E,SAASpC,WAGvEiH,cApEO,SAoEQC,GACb,OAAO5L,KAAKqC,OAAOC,SAAS,gBAAiBsJ,M,OCzHpC,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,sTlBNzD,YAsJe,GArJZC,mBAAiB,EAClBnN,MAAM,wB,qBAEN,IAiDM,CAjDN,YAiDM,OAjDA0F,MAAO,EAAA1D,GAAG,wB,CACd,YAYM,MAZN,EAYM,CAXJ,YAUc,GATXiE,OAAQ,EAAA+F,qBACRhG,MAAO,EAAAoG,aACPlG,YAAa,EAAAlE,GAAG,kC,qBAKb,GAHiB,CACnB,YAEE,GADCoL,UAASC,EAAItG,M,iEAKtB,YAkCY,GAjCTgE,SAAS,EACThB,UAASuD,GAAKA,G,CAEEC,OAAM,YACrB,EADwB1E,cAAQ,CAChC,YAqBM,MArBN,EAqBM,CAnBIA,EAAS/B,OAAS,G,cAD1B,YASiB,G,MAPf9G,MAAM,wCACLmD,MAAK,IAAQ,EAAAkJ,WAAWxD,I,CAGR5B,SAAQ,YACvB,IAAoC,C,wBAAjC,EAAAjF,GAAG,6BAAD,K,oBAFP,IAA2B,C,wBAAxB,EAAAA,GAAG,oBAAqB,IAC3B,K,yCAKM6G,EAAS/B,OAAS,G,cAD1B,YASiB,G,MAPf9G,MAAM,qBACLmD,MAAK,IAAQ,EAAAoJ,aAAa1D,I,CAGV5B,SAAQ,YACvB,IAAsC,C,wBAAnC,EAAAjF,GAAG,+BAAD,K,oBAFP,IAA6B,C,wBAA1B,EAAAA,GAAG,sBAAuB,IAC7B,K,6CAMW+E,KAAI,YACnB,EADsBA,UAAI,CAC1B,YAA6B,GAAjBqG,UAASrG,GAAI,sBAEViD,MAAK,YACpB,IAA8B,C,wBAA3B,EAAAhI,GAAG,uBAAD,K,0BAKX,YA8FM,OA9FA0D,MAAO,EAAA1D,GAAG,uB,CACd,YA4Fe,Q,oBA3Fb,IAiDM,CAjDN,YAiDM,MAjDN,EAiDM,CAhDJ,YAYM,MAZN,EAYM,CAXJ,YAUc,GATXiE,OAAQ,EAAAkG,mBACRnG,MAAO,EAAAoG,aACPlG,YAAa,EAAAlE,GAAG,iC,qBAKb,GAHiB,CACnB,YAEE,GADCoL,UAASC,EAAItG,M,iEAKtB,YAkCW,GAjCRgE,SAAS,EACThB,UAASuD,GAAKA,G,CAEEC,OAAM,YACrB,EADwB1E,cAAQ,CAChC,YAqBM,MArBN,EAqBM,CAnBIA,EAAS/B,OAAS,G,cAD1B,YASiB,G,MAPf9G,MAAM,qBACLmD,MAAK,IAAQ,EAAAqJ,UAAU3D,I,CAGP5B,SAAQ,YACvB,IAAmC,C,wBAAhC,EAAAjF,GAAG,4BAAD,K,oBAFP,IAA0B,C,wBAAvB,EAAAA,GAAG,mBAAoB,IAC1B,K,yCAKM6G,EAAS/B,OAAS,G,cAD1B,YASiB,G,MAPf9G,MAAM,qBACLmD,MAAK,IAAQ,EAAAsJ,YAAY5D,I,CAGT5B,SAAQ,YACvB,IAAqC,C,wBAAlC,EAAAjF,GAAG,8BAAD,K,oBAFP,IAA4B,C,wBAAzB,EAAAA,GAAG,qBAAsB,IAC5B,K,6CAMW+E,KAAI,YACnB,EADsBA,UAAI,CAC1B,YAA4B,GAAjBqG,UAASrG,GAAI,sBAETiD,MAAK,YACpB,IAA6B,C,wBAA1B,EAAAhI,GAAG,sBAAD,K,sBAKX,YAuCM,OAvCA0D,MAAO,EAAA1D,GAAG,0B,CACd,YAYM,MAZN,EAYM,CAXJ,YAUc,GATXiE,OAAQ,EAAAyG,qBACR1G,MAAO,EAAA6G,kBACP3G,YAAa,EAAAlE,GAAG,kC,qBAKb,GAHiB,CACnB,YAEE,GADCqG,OAAQgF,EAAItG,M,gEAKrB,YAwBiB,GAvBdgE,SAAS,EACThB,UAASuD,GAAKA,G,CAEEC,OAAM,YACrB,EADwB1E,cAAQ,CAChC,YAWM,MAXN,EAWM,CATIA,EAAS/B,OAAS,G,cAD1B,YASiB,G,MAPf9G,MAAM,qBACLmD,MAAK,IAAQ,EAAA8J,cAAcpE,I,CAGX5B,SAAQ,YACvB,IAA4C,C,wBAAzC,EAAAjF,GAAG,qCAAD,K,oBAFP,IAAmC,C,wBAAhC,EAAAA,GAAG,4BAA6B,IACnC,K,6CAMW+E,KAAI,YACnB,EADsBA,UAAI,CAC1B,YAAiC,GAAhBsB,OAAQtB,GAAI,qBAEdiD,MAAK,YACpB,IAA6B,C,wBAA1B,EAAAhI,GAAG,sBAAD,K,2EmB/IVhC,MAAM,gB,IAELA,MAAM,gB,IAMJA,MAAM,mB,IACFA,MAAM,S,IACRA,MAAM,e,UA2CdA,MAAM,gB,IAGFA,MAAM,gB,IAmBPA,MAAM,gB,gBC1EXA,MAAM,kB,UASFA,MAAM,S,eAGD,IACP,YAAG,KAAM,K,6DCbXA,MAAM,qB,eAKqB,O,IAQlBA,MAAM,oB,aAanBC,IAAQC,IACNsN,MAGa,QACb3J,WAAY,CAAE4J,oBACdnN,MAAO,CAAC,Y,OC1BK,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,oFDLjD,EAAO,S,cADf,YAoBO,OApBP,GAoBO,CAhBL,YAeU,GAdRoN,QAAQ,SAAO,CAEEA,QAAO,YAAC,IAEvB,C,GAAA,YAGE,GAFA3L,KAAK,SACJ4L,aAAY,EAAA3L,GAAG,6B,yBAGHS,QAAO,YACtB,IAEM,CAFN,YAEM,MAFN,GAEM,YADD,EAAAT,GAAG,6BAAD,K,gDEdXhC,MAAM,uB,eAKqB,O,IAQlBA,MAAM,sBAanBC,IAAQC,IACN0N,MAGa,QACb/J,WAAY,CAAE4J,oBACdnN,MAAO,CAAC,e,OC1BK,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,oFDLjD,EAAU,Y,cADlB,YAoBO,OApBP,GAoBO,CAhBL,YAeU,GAdRoN,QAAQ,SAAO,CAEEA,QAAO,YAAC,IAEvB,C,GAAA,YAGE,GAFA3L,KAAK,SACJ4L,aAAY,EAAA3L,GAAG,iC,yBAGHS,QAAO,YACtB,IAEM,CAFN,YAEM,MAFN,GAEM,YADD,EAAAT,GAAG,iCAAD,K,gCEbA,IACb6B,WAAY,CACVC,aACA+J,qBACAC,wBAEFxN,MAAO,CACL,OACA,WACA,UAEFyD,SAAU,CACRgK,YADQ,WAEN,MAAgCzM,KAAK0M,KAAKC,MAAM,KAAhD,UAAOC,EAAP,KAAwBC,EAAxB,WACA,MAAO,CAACD,EAAe,gBAAhB,YAAmCC,IAAM1I,KAAK,MAEvDvB,MALQ,WAMN,IAAMyF,EAAQ,KAAIrI,KAAK8M,QAAS9M,KAAK0M,MACrC,YAAcK,IAAV1E,EACKrI,KAAKgN,aAEL3E,GAGX2E,aAbQ,WAcN,OAAO,KAAIhN,KAAK8M,QAAS9M,KAAKyM,cAEhCQ,aAhBQ,WAiBN,OAAOjN,KAAK0M,KAAKQ,WAAW,gBAE9BC,UAnBQ,WAoBN,OAAQnN,KAAK0M,KAAKQ,WAAW,gBAAkBlN,KAAK4C,QAAU5C,KAAKgN,cAErEI,mBAtBQ,WAuBN,OAAQpN,KAAKqN,QAAU,IAAMrN,KAAK8M,QAAQQ,cAG9CxN,QAAS,CACPyN,OADO,SACCC,GACN,KAAIxN,KAAK8M,QAAS9M,KAAK0M,KAAMc,MCpCpB,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,qINHjD,EAAkB,oB,cAD1B,YAiBQ,QAjBR,GAiBQ,CAbN,YAY2G,GAXxGjF,cAAa,EAAA3F,MACbyD,SAAU,EAAAA,SACV,sBAAmB,EAAAkH,Q,qBAEpB,IAKO,CAJG,EAAAzD,OAAOhJ,S,cADjB,YAKO,OALP,GAKO,CADL,YAAQ,uB,sBAGV,YAA0C,GAAtB2M,QAAS,EAAAN,WAAS,oBAAI,YAAmD,GAA7BO,cAAa,EAAAT,cAAY,0B,gsBOd/F,IAiDeU,GAjDc,qBAAC,UAC5B7K,KAD2B,WAEzB,OAAO9C,KAAKqC,OAAOO,MAAMG,MAAMC,cAG9BiG,OAAOC,KAAK0E,MACZ9J,KAAI,SAAA4D,GAAG,MAAI,CACVA,EAAM,eACN,WACE,OAAO1H,KAAKqC,OAAOuD,QAAQiI,cAAcnG,QAG5CoG,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYW,EAAZ,eAAC,MAA4B0F,GAA7B,UAAmCrG,EAAMW,MAAU,KAE1DY,OAAOC,KAAK0E,MACZ9J,KAAI,SAAA4D,GAAG,MAAI,CAACA,EAAK,CAChBsC,IADgB,WACP,OAAOhK,KAAKqC,OAAOuD,QAAQoI,aAAatG,IACjDuG,IAFgB,SAEX5F,GACHrI,KAAKqC,OAAOC,SAAS,YAAa,CAAE4L,KAAMxG,EAAKW,gBAGlDyF,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYW,EAAZ,eAAC,MAA4B0F,GAA7B,UAAmCrG,EAAMW,MAAU,KAC1DY,OAAOC,KAAKiF,MACZrK,KAAI,SAAA4D,GAAG,MAAI,CAAC,cAAgBA,EAAK,CAChCsC,IADgC,WACvB,OAAOhK,KAAKqC,OAAOO,MAAMwL,iBAAiB1G,IACnDuG,IAFgC,SAE3B5F,GACHrI,KAAKqC,OAAOC,SAAS,sBAAuB,CAAE4L,KAAMxG,EAAKW,gBAG5DyF,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYW,EAAZ,eAAC,MAA4B0F,GAA7B,UAAmCrG,EAAMW,MAAU,KA7BlC,IA+B3BgG,gBAAiB,CACfrE,IADe,WACN,OAAOhK,KAAKqC,OAAOuD,QAAQoI,aAAaK,iBACjDJ,IAFe,SAEV5F,GAAO,YACMA,EACZrI,KAAKqC,OAAOC,SAAS,sBACrBtC,KAAKqC,OAAOC,SAAS,wBAEjBhC,MAAK,WACX,EAAK+B,OAAOC,SAAS,YAAa,CAAE4L,KAAM,kBAAmB7F,aAD/D,OAES,SAACmF,GACRc,QAAQ3O,MAAM,4CAA6C6N,GAC3D,EAAKnL,OAAOC,SAAS,uBACrB,EAAKD,OAAOC,SAAS,YAAa,CAAE4L,KAAM,kBAAmB7F,OAAO,Y,+NC3C5E,IAyBekG,GAzBU,CACvB9O,KADuB,WAErB,MAAO,CACLyC,UAAW,UACXsM,qBAAsBxO,KAAKqC,OAAOO,MAAMG,MAAMC,YAAYyL,sBAC1DtM,gBAAiB,KAGrBI,WAAY,CACVmM,mBAEFjM,S,mWAAU,EACRK,KADQ,WAEN,OAAO9C,KAAKqC,OAAOO,MAAMG,MAAMC,cAE9B2K,MAEL7N,QAAS,CACP6O,2BADO,WAEL3O,KAAKqC,OAAOO,MAAMC,IAAIF,kBACnBgM,2BAA2B,CAAEC,SAAU5O,KAAKwO,0BChBtC,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,iFVJzD,YAgFM,OAhFApK,MAAO,EAAA1D,GAAG,2B,CACd,YAiDM,MAjDN,GAiDM,CAhDJ,YAA0D,sBAAnD,EAAAA,GAAG,0CAAD,GACT,YA8CK,KA9CL,GA8CK,CA7CH,YAIK,WAHH,YAEiB,GAFDgM,KAAK,8CAA4C,C,oBAC/D,IAA8D,C,wBAA3D,EAAAhM,GAAG,uDAAD,K,QAGT,YAuCK,KAvCL,GAuCK,CAtCH,YAAuE,OAAvE,GAAuE,YAAhD,EAAAA,GAAG,qCAAD,GACzB,YAoCK,KApCL,GAoCK,CAnCH,YAIK,WAHH,YAEiB,GAFDgM,KAAK,gCAA8B,C,oBACjD,IAAkD,C,wBAA/C,EAAAhM,GAAG,2CAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,kCAAgC,C,oBACnD,IAAoD,C,wBAAjD,EAAAhM,GAAG,6CAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,kCAAgC,C,oBACnD,IAAoD,C,wBAAjD,EAAAhM,GAAG,6CAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,mCAAiC,C,oBACpD,IAAqD,C,wBAAlD,EAAAhM,GAAG,8CAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,gCAA8B,C,oBACjD,IAAkD,C,wBAA/C,EAAAhM,GAAG,2CAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,yCAAuC,C,oBAC1D,IAA4D,C,wBAAzD,EAAAhM,GAAG,qDAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,gCAA8B,C,oBACjD,IAAkD,C,wBAA/C,EAAAhM,GAAG,2CAAD,K,gBAST,EAAA4M,YAAc,G,cADtB,YAuBM,MAvBN,GAuBM,CAnBJ,YAA0D,sBAAnD,EAAA5M,GAAG,0CAAD,GACT,YAiBK,KAjBL,GAiBK,CAhBH,YAOK,WANH,YAKiB,GAJfgM,KAAK,uBACLW,OAAO,K,qBAEP,IAAkD,C,wBAA/C,EAAA3M,GAAG,2CAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,iCACLW,OAAO,K,qBAEP,IAAoE,C,wBAAjE,EAAA3M,GAAG,6DAAD,K,gCAKb,YAGM,MAHN,GAGM,CAFJ,YAA8C,qBAAxC,EAAAA,GAAG,gCAAD,GACR,YAA+C,qBAAzC,EAAAA,GAAG,iCAAD,M,iCW7ELhC,MAAM,gB,IAELA,MAAM,gB,UA6FVA,MAAM,gB,IAGFA,MAAM,gB,6DCjGZA,MAAM,iB,eAEE,IACR,YAAG,KAAM,K,0BCFE,IACb6D,WAAY,CACVsM,YACAtC,qBACAC,wBAEFxN,MAAO,CACL,OACA,WACA,UACA,UAEFyD,SAAU,CACRgK,YADQ,WAEN,MAAgCzM,KAAK0M,KAAKC,MAAM,KAAhD,UAAOC,EAAP,KAAwBC,EAAxB,WACA,MAAO,CAACD,EAAe,gBAAhB,YAAmCC,IAAM1I,KAAK,MAEvDvB,MALQ,WAMN,IAAMyF,EAAQ,KAAIrI,KAAK8M,QAAS9M,KAAK0M,MACrC,YAAcK,IAAV1E,EACKrI,KAAKgN,aAEL3E,GAGX2E,aAbQ,WAcN,OAAO,KAAIhN,KAAK8M,QAAS9M,KAAKyM,cAEhCQ,aAhBQ,WAiBN,OAAOjN,KAAK0M,KAAKQ,WAAW,gBAE9BC,UAnBQ,WAoBN,OAAQnN,KAAK0M,KAAKQ,WAAW,gBAAkBlN,KAAK4C,QAAU5C,KAAKgN,cAErEI,mBAtBQ,WAuBN,OAAQpN,KAAKqN,QAAU,IAAMrN,KAAK8M,QAAQQ,cAG9CxN,QAAS,CACPyN,OADO,SACCC,GACN,KAAIxN,KAAK8M,QAAS9M,KAAK0M,KAAMc,M,OCnCpB,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,mIFLjD,EAAkB,oB,cAD1B,YAsBQ,QAtBR,GAsBQ,CAlBN,YAAQ,oB,GAER,YAaS,GAZNjF,cAAa,EAAA3F,MACbyD,SAAU,EAAAA,SACV,sBAAmB,EAAAkH,Q,qBAGlB,IAAyB,E,gBAD3B,YAOS,qBANU,EAAAuB,QAAVC,I,cADT,YAOS,UALNrH,IAAKqH,EAAOrH,IACZW,MAAO0G,EAAO1G,O,YAEZ0G,EAAO3K,OAAQ,IAClB,YAAG2K,EAAO1G,QAAU,EAAA2E,aAAe,EAAAtM,GAAG,oCAAsC,IAAvC,Q,iEAGzC,YAA0C,GAAtB+M,QAAS,EAAAN,WAAS,oBACtC,YAAmD,GAA7BO,cAAa,EAAAT,cAAY,2B,uCGnB/CvO,MAAM,kB,6DAcL,IACD,YAAG,KAAM,KChBE,QACb6D,WAAY,CACVgK,sBAEFvN,MAAO,CACL0N,KAAMpN,OACN+G,SAAU2I,QACVC,IAAKC,OACL7B,OAAQ,CAAC6B,OAAQ5P,SAEnBmD,SAAU,CACRgK,YADQ,WAEN,MAAgCzM,KAAK0M,KAAKC,MAAM,KAAhD,UAAOC,EAAP,KAAwBC,EAAxB,WACA,MAAO,CAACD,EAAe,gBAAhB,YAAmCC,IAAM1I,KAAK,MAEvDvB,MALQ,WAMN,IAAMyF,EAAQ,KAAIrI,KAAK8M,QAAS9M,KAAK0M,MACrC,YAAcK,IAAV1E,EACKrI,KAAKgN,aAEL3E,GAGX2E,aAbQ,WAcN,OAAO,KAAIhN,KAAK8M,QAAS9M,KAAKyM,cAEhCU,UAhBQ,WAiBN,OAAOnN,KAAK4C,QAAU5C,KAAKgN,cAE7BI,mBAnBQ,WAoBN,OAAQpN,KAAKqN,QAAU,IAAMrN,KAAK8M,QAAQQ,cAG9CxN,QAAS,CACPyN,OADO,SACCC,GACN,KAAIxN,KAAK8M,QAAS9M,KAAK0M,KAAMyC,SAAS3B,EAAE4B,OAAO/G,WC9BtC,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,sEFHjD,EAAkB,oB,cAD1B,YAmBO,OAnBP,GAmBO,CAfL,YAEQ,SAFAgH,IAAK,EAAA3C,MAAI,CACf,YAAQ,qB,MAEV,YASC,SAREvJ,GAAI,EAAAuJ,KACLhO,MAAM,eACNQ,KAAK,SACLoQ,KAAK,IACJjJ,SAAU,EAAAA,SACV4I,IAAK,EAAAA,KAAO,EACZ5G,MAAO,EAAAzF,MACP,SAAM,oBAAE,EAAA2K,QAAA,EAAAA,UAAA,K,eAGX,YAA0C,GAAtBE,QAAS,EAAAN,WAAS,uB,4lBGZ1C,IAgDeoC,GAhDM,CACnB9P,KADmB,WACX,WACN,MAAO,CACL+P,qBAAsBxP,KAAKqC,OAAOuD,QAAQoI,aAAayB,UAAUtL,KAAK,MACtEuL,uBAAwB,CAAC,MAAO,YAAa,QAAQ5L,KAAI,SAAA6L,GAAI,MAAK,CAChEjI,IAAKiI,EACLtH,MAAOsH,EACPvL,MAAO,EAAK1D,GAAL,oCAAqCiP,UAIlDpN,WAAY,CACVmM,kBACAkB,iBACAC,mBAEFpN,SAAU,SACLkL,MADG,IAENmC,gBAAiB,CACf9F,IADe,WAEb,OAAOhK,KAAKwP,sBAEdvB,IAJe,SAIV5F,GACHrI,KAAKwP,qBAAuBnH,EAC5BrI,KAAKqC,OAAOC,SAAS,YAAa,CAChC4L,KAAM,YACN7F,MAAO,KAAOA,EAAMsE,MAAM,OAAO,SAACoD,GAAD,OAAU,KAAKA,GAAMvK,OAAS,WAMvEN,MAAO,CACL8K,uBAAwB,CACtBC,QADsB,SACb5H,GACPrI,KAAKqC,OAAOC,SAAS,YAAa,CAChC4L,KAAM,yBACN7F,MAAOrI,KAAKqC,OAAOuD,QAAQoI,aAAagC,0BAG5CE,MAAM,GAERC,gBAVK,WAWHnQ,KAAKqC,OAAOC,SAAS,oBC3CZ,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,gJRJzD,YA2GM,OA3GA8B,MAAO,EAAA1D,GAAG,uB,CACd,YA4FM,MA5FN,GA4FM,CA3FJ,YAAmC,sBAA5B,EAAAA,GAAG,mBAAD,GACT,YAyFK,KAzFL,GAyFK,CAxFH,YAmCK,WAlCH,YAEiB,GAFDgM,KAAK,wBAAsB,C,oBACzC,IAA2C,C,wBAAxC,EAAAhM,GAAG,oCAAD,K,MAEP,YA8BK,MA7BHhC,MAAK,aAAC,0BAAyB,YACV,EAAA0R,e,CAErB,YAOK,WANH,YAKiB,GAJd/J,SAAU,EAAAgK,qBACX3D,KAAK,yB,qBAEL,IAA+C,C,wBAA5C,EAAAhM,GAAG,wCAAD,K,uBAGT,YAQK,WANK,EAAI,M,cADZ,YAMiB,G,MAJd2F,SAAU,EAAAgK,qBACX3D,KAAK,oB,qBAEL,IAAuC,C,wBAApC,EAAAhM,GAAG,gCAAD,K,2CAGT,YAQK,WANK,EAAI,M,cADZ,YAMiB,G,MAJd2F,SAAU,EAAAgK,qBACX3D,KAAK,kB,qBAEL,IAAqC,C,wBAAlC,EAAAhM,GAAG,8BAAD,K,iDAKb,YAIK,WAHH,YAEiB,GAFDgM,KAAK,mBAAiB,C,oBACpC,IAAmC,C,wBAAhC,EAAAhM,GAAG,4BAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,iBAAe,C,oBAClC,IAAoC,C,wBAAjC,EAAAhM,GAAG,6BAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,qBAAmB,C,oBACtC,IAAwC,C,wBAArC,EAAAhM,GAAG,iCAAD,K,QAID,EAAI,M,cADZ,YAOgB,G,MALdyC,GAAG,kBACHuJ,KAAK,kBACJoC,QAAS,EAAAY,wB,qBAEV,IAAwC,C,wBAArC,EAAAhP,GAAG,iCAAD,K,wCAEP,YAQK,WAPH,YAAwC,sBAAjC,EAAAA,GAAG,wBAAD,G,YACT,YAIE,YAHAyC,GAAG,Y,qCACM,EAAe,mBACxBzE,MAAM,iB,gBADG,EAAAoR,mBAGX,YAAqD,uBAA7C,EAAApP,GAAG,mCAAD,KAEZ,YAAyC,sBAAlC,EAAAA,GAAG,yBAAD,GACT,YAQK,WAPH,YAMiB,GALfgM,KAAK,gBACLW,OAAO,IACN4B,IAAK,G,qBAEN,IAAmC,C,wBAAhC,EAAAvO,GAAG,4BAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,mBAAiB,C,oBACpC,IAA2C,C,wBAAxC,EAAAhM,GAAG,oCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,yBAAuB,C,oBAC1C,IAA8C,C,wBAA3C,EAAAhM,GAAG,uCAAD,K,YAML,EAAA4M,YAAc,G,cADtB,YAYM,MAZN,GAYM,CARJ,YAA2C,sBAApC,EAAA5M,GAAG,2BAAD,GACT,YAMK,KANL,GAMK,CALH,YAIK,WAHH,YAEiB,GAFDgM,KAAK,iBAAe,C,oBAClC,IAAoC,C,wBAAjC,EAAAhM,GAAG,6BAAD,K,kESrGRhC,MAAM,gB,eAiCNA,MAAM,gB,qCAwCNA,MAAM,gB,IAEFA,MAAM,gB,GAKP,YAAM,mB,IAUFA,MAAM,W,mBAabA,MAAM,gB,4DCtGXA,MAAM,6B,IAEDA,MAAM,e,UAOPA,MAAM,gB,GASN,YAAI,mB,0BAsBKA,MAAM,W,qCAsCNA,MAAM,a,IACJA,MAAM,W,IAaNA,MAAM,U,IAaJA,MAAM,uB,UAgBTA,MAAM,e,sDC3HjBA,MAAM,oB,0BAMJA,MAAM,iB,IAGLA,MAAM,gBCVD,QACbM,MAAO,CACLsR,YAAa,CACXpR,KAAM+J,OACNnI,QAAS,iBAAO,CACdyP,YAAY,EACZC,MAAO,OAIb/Q,KAAM,iBAAO,IACbgD,SAAU,CACR8N,WADQ,WACQ,OAAOvQ,KAAKsQ,YAAYC,YACxCE,MAFQ,WAEG,OAAOzQ,KAAKsQ,YAAYE,MAAMhL,OAAS,GAClDkL,aAHQ,WAGU,OAAO1Q,KAAKuQ,YAAcvQ,KAAKyQ,S,OCLtC,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2CFNzD,YAkBM,MAlBN,GAkBM,CAjBM,EAAY,c,cAAtB,YAEK,oBADA,EAAA/P,GAAG,gCAAD,I,mBAEE,EAAU,Y,cAAnB,YAA0E,mBAAlD,EAAAA,GAAG,0CAAD,I,mBACV,EAAK,O,cAArB,YAYW,aAXT,YAEI,IAFJ,GAEI,YADC,EAAAA,GAAG,wCAAD,GAEP,YAOK,KAPL,GAOK,E,gBANH,YAKK,qBAJY,EAAA4P,YAAYE,MAApBG,I,cADT,YAKK,MAHFjJ,IAAKiJ,GAAI,YAEPA,GAAI,K,iDGbRjS,MAAM,e,0BAkCTA,MAAM,e,sCCpCZ,IAQekS,GARC,CACd5R,MAAO,CAAC,YACRS,KAAM,iBAAO,IACbK,QAAS,CACP+Q,QADO,WACM7Q,KAAK8Q,MAAM,YACxBC,OAFO,WAEK/Q,KAAK8Q,MAAM,aCEZ,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2CCJzD,YAgBM,YAfJ,YAAQ,oBACR,YAMS,UALPpS,MAAM,qBACL2H,SAAU,EAAAA,SACV,QAAK,oBAAE,EAAAwK,SAAA,EAAAA,WAAA,K,YAEL,EAAAnQ,GAAG,oBAAD,MAEP,YAMS,UALPhC,MAAM,qBACL2H,SAAU,EAAAA,SACV,QAAK,oBAAE,EAAA0K,QAAA,EAAAA,UAAA,K,YAEL,EAAArQ,GAAG,mBAAD,Y,+NCZI,QACb1B,MAAO,CAAC,YACRS,KAAM,iBAAO,CACXE,OAAO,EACPqR,gBAAiB,GACjBC,YAAY,EACZV,YAAY,IAEdhO,WAAY,CACV,QAAWqO,IAEbnO,S,mWAAU,EACRyO,YADQ,WAEN,OAAOlR,KAAK4O,SAASuC,OAEpBzO,YAAS,CACVC,kBAAmB,SAACC,GAAD,OAAWA,EAAMC,IAAIF,sBAG5C7C,QAAS,CACPsR,WADO,WAELpR,KAAK8Q,MAAM,aAEbO,iBAJO,WAIerR,KAAKiR,YAAa,GACxCK,aALO,WAMLtR,KAAKL,MAAQ,KACbK,KAAKiR,YAAa,GAEpBM,kBATO,WASc,WACnBvR,KAAKL,MAAQ,KACbK,KAAKuQ,YAAa,EAClBvQ,KAAK2C,kBAAkB6O,cAAc,CACnCC,SAAUzR,KAAKgR,kBAEd1Q,MAAK,SAACoR,GACL,EAAKnB,YAAa,EACdmB,EAAI/R,MACN,EAAKA,MAAQ+R,EAAI/R,OAGnB,EAAKsR,YAAa,EAClB,EAAKH,MAAM,qB,+NCtCrB,IAoJea,GApJH,CACVlS,KAAM,iBAAO,CACXmP,SAAU,CACRgD,WAAW,EACXC,SAAS,EACTV,MAAM,GAERW,WAAY,CACVlP,MAAO,GACPmP,cAAe,IAEjBzB,YAAa,CACX0B,aAAa,EACbzB,YAAY,EACZC,MAAO,IAETyB,YAAa,CACXC,iBAAkB,GAClBxK,IAAK,IAEPsJ,gBAAiB,KACjBmB,gBAAiB,KACjBxS,MAAO,KACPyS,WAAW,IAEb7P,WAAY,CACV,iBAAkB8P,GAClB,YC5B6B,IAAgB,GAAQ,CAAC,CAAC,S,0ENJzD,YAuCM,YAtCJ,YAkBM,MAlBN,GAkBM,CAjBJ,YAA6C,0BAAlC,EAAA3R,GAAG,qBAAD,GAEJ,EAAAwQ,Y,kCADT,YAMS,U,MAJPxS,MAAM,qBACL,QAAK,oBAAE,EAAA0S,YAAA,EAAAA,cAAA,K,YAEL,EAAA1Q,GAAG,mBAAD,IAIC,EAAW,a,cADnB,YAOS,U,MALPhC,MAAM,qBACL2H,SAAU,EAAA4K,WACV,QAAK,oBAAE,EAAAK,cAAA,EAAAA,gBAAA,K,YAEL,EAAA5Q,GAAG,oBAAD,O,qBAKD,EAAU,Y,cADlB,YAWU,G,MATP2F,SAAU,EAAAkK,WACV,UAAS,EAAAgB,kBACT,SAAQ,EAAAF,kB,qBAET,IAAsD,C,wBAAnD,EAAA3Q,GAAG,+CAAgD,KACtD,G,YAAA,YAGC,S,qCAFU,EAAe,mBACxBxB,KAAK,Y,gBADI,EAAA8R,qB,gEAKL,EAAK,O,cADb,YAKM,MALN,GAKM,YADD,EAAArR,OAAK,I,yBKJV,O,OAAU2S,EACV,QAAW1B,IAEbnO,S,mWAAU,EACR8P,YADQ,WAEN,OACGvS,KAAKwS,iBAAmBxS,KAAKyS,qBAC5BzS,KAAK4O,SAASiD,WACZ7R,KAAK4O,SAASuC,OAASnR,KAAK0S,oBAEpCF,gBAPQ,WAQN,MAAiC,KAA1BxS,KAAK8R,WAAWlP,OAA0C,aAA1B5C,KAAK8R,WAAWlP,OAEzD8P,mBAVQ,WAWN,MAAiC,aAA1B1S,KAAK8R,WAAWlP,QAAyB5C,KAAK2S,cAEvDC,WAbQ,WAcN,MAAyC,YAAlC5S,KAAK8R,WAAWC,eAEzBc,WAhBQ,WAiBN,MAAyC,YAAlC7S,KAAK8R,WAAWC,eAEzBY,aAnBQ,WAoBN,MAAyC,cAAlC3S,KAAK8R,WAAWC,eAEzBU,oBAtBQ,WAuBN,OAAQzS,KAAKsQ,YAAYC,YAAcvQ,KAAKsQ,YAAYE,MAAMhL,OAAS,GAEzEsN,sBAzBQ,WA0BN,OAAO9S,KAAKsQ,YAAY0B,cAEvBtP,YAAS,CACVC,kBAAmB,SAACC,GAAD,OAAWA,EAAMC,IAAIF,sBAI5C7C,QAAS,CACPiT,YADO,WAEA/S,KAAK4O,SAASiD,UACjB7R,KAAK8R,WAAWlP,MAAQ,iBACxB5C,KAAKgT,qBAGTA,iBAPO,WAOa,WAIlB,OAHAhT,KAAKsQ,YAAYC,YAAa,EAC9BvQ,KAAKsQ,YAAYE,MAAQ,GAElBxQ,KAAK2C,kBAAkBsQ,yBAC3B3S,MAAK,SAACoR,GACL,EAAKpB,YAAYE,MAAQkB,EAAIlB,MAC7B,EAAKF,YAAYC,YAAa,MAGpC2C,eAjBO,WAkBLlT,KAAKsQ,YAAY0B,aAAc,GAEjCmB,mBApBO,WAoBe,WACpBnT,KAAKgT,mBAAmB1S,MAAK,SAACoR,GAC5B,EAAKpB,YAAY0B,aAAc,MAGnCoB,kBAzBO,WA0BLpT,KAAKsQ,YAAY0B,aAAc,GAIjCqB,SA9BO,WA8BK,WACVrT,KAAK8R,WAAWlP,MAAQ,WACxB5C,KAAK8R,WAAWC,cAAgB,UAChC/R,KAAK2C,kBAAkB2Q,cACpBhT,MAAK,SAACoR,GACL,EAAKO,YAAcP,EACnB,EAAKI,WAAWC,cAAgB,cAGtCwB,aAvCO,WAuCS,WACdvT,KAAKL,MAAQ,KACbK,KAAK2C,kBAAkB6Q,cAAc,CACnCC,MAAOzT,KAAKmS,gBACZV,SAAUzR,KAAKgR,kBAEd1Q,MAAK,SAACoR,GACDA,EAAI/R,MACN,EAAKA,MAAQ+R,EAAI/R,MAGnB,EAAK+T,oBAIXA,cAtDO,WAuDL1T,KAAK8R,WAAWC,cAAgB,WAChC/R,KAAK8R,WAAWlP,MAAQ,WACxB5C,KAAKgR,gBAAkB,KACvBhR,KAAKL,MAAQ,KACbK,KAAK2T,iBAEPC,YA7DO,WA8DL5T,KAAK8R,WAAWC,cAAgB,GAChC/R,KAAK8R,WAAWlP,MAAQ,GACxB5C,KAAKgR,gBAAkB,KACvBhR,KAAKL,MAAQ,MAKTgU,cAtEC,WAsEgB,uIACF,EAAKhR,kBAAkBkR,cADrB,YACjBC,EADiB,QAEVnU,MAFU,wDAGrB,EAAKiP,SAAWkF,EAAOlF,SACvB,EAAKA,SAASgD,WAAY,EAJL,kBAKdkC,GALc,+CAQzBC,QA9IU,WA8IC,WACT/T,KAAK2T,gBAAgBrT,MAAK,WACxB,EAAK8R,WAAY,O,OE7IR,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,+IXLjD,EAAAA,WAAa,EAAAxD,SAASgD,W,cAD9B,YAqIM,MArIN,GAqIM,CAjIJ,YAEM,MAFN,GAEM,CADJ,YAAuC,sBAAhC,EAAAlR,GAAG,uBAAD,KAGX,YA4HM,YA1HK,EAAA8R,gB,kCADT,YAuCM,MAvCN,GAuCM,CAlCJ,YAAwD,sBAAjD,EAAA9R,GAAG,wCAAD,GACT,YAIE,GAHCkO,SAAU,EAAAA,SACV,aAAY,EAAA+E,cACZ,WAAU,EAAAZ,a,iDAEb,GAEW,EAAAnE,SAAgB,S,cAA3B,YAyBM,UAtBK,EAAAkE,sB,kCADT,YAGE,G,MADCkB,eAAc,EAAA1D,a,0BAGR,EAAAwC,sB,kCADT,YAMS,U,MAJPpU,MAAM,qBACL,QAAK,oBAAE,EAAAwU,gBAAA,EAAAA,kBAAA,K,YAEL,EAAAxS,GAAG,6CAAD,IAGI,EAAqB,uB,cAAhC,YAUM,UATJ,YAQU,GAPP2F,SAAU,EAAAiK,YAAYC,WACtB,UAAS,EAAA4C,mBACT,SAAQ,EAAAC,mB,qBAET,IAEI,CAFJ,YAEI,IAFJ,GAEI,YADC,EAAA1S,GAAG,+CAAD,K,2FAOJ,EAAe,iB,cAA1B,YAiFM,UA9EJ,YAA2C,sBAApC,EAAAA,GAAG,2BAAD,GAGA,EAAAgS,mB,kCADT,YAGE,G,MADCsB,eAAc,EAAA1D,a,0BAIT,EAAW,a,cADnB,YAMS,U,MAJP5R,MAAM,qBACL,QAAK,oBAAE,EAAAkV,aAAA,EAAAA,eAAA,K,YAEL,EAAAlT,GAAG,mBAAD,I,mBAIC,EAAW,a,cADnB,YAMS,U,MAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAA2U,UAAA,EAAAA,YAAA,K,YAEL,EAAA3S,GAAG,2BAAD,I,mBAGS,EAAkB,oB,cAAlC,YAsDW,aArDA,EAAU,Y,cAAnB,YAAoE,mBAA5C,EAAAA,GAAG,oCAAD,I,mBAEf,EAAU,Y,cAArB,YAkDM,UAjDJ,YAgDM,MAhDN,GAgDM,CA/CJ,YAWM,MAXN,GAWM,CAVJ,YAA4C,sBAArC,EAAAA,GAAG,4BAAD,GACT,YAAyC,qBAAnC,EAAAA,GAAG,2BAAD,GACR,YAGE,GAFC2H,MAAO,EAAA4J,YAAYC,iBACnBpD,QAAS,CAAEmF,MAAO,M,kBAErB,YAGI,qBAFC,EAAAvT,GAAG,kCAAmC,KACzC,YAAG,EAAAuR,YAAYvK,KAAG,KAItB,YAiCM,MAjCN,GAiCM,CAhCJ,YAAmC,sBAA5B,EAAAhH,GAAG,mBAAD,GACT,YAA2C,qBAArC,EAAAA,GAAG,6BAAD,G,YACR,YAGC,S,qCAFU,EAAe,mBACxBxB,KAAK,Q,gBADI,EAAAiT,mBAIX,YAA8D,qBAAxD,EAAAzR,GAAG,+CAAgD,IAAC,G,YAC1D,YAGC,S,qCAFU,EAAe,mBACxBxB,KAAK,Y,gBADI,EAAA8R,mBAGX,YAaM,MAbN,GAaM,CAZJ,YAKS,UAJPtS,MAAM,qBACL,QAAK,oBAAE,EAAA6U,cAAA,EAAAA,gBAAA,K,YAEL,EAAA7S,GAAG,oCAAD,GAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAAkV,aAAA,EAAAA,eAAA,K,YAEL,EAAAlT,GAAG,mBAAD,KAID,EAAK,O,cADb,YAKM,MALN,GAKM,YADD,EAAAf,OAAK,I,iIYpBXuU,GArGK,CAClBzU,KADkB,WAEhB,MAAO,CACL0U,SAAU,GACVC,kBAAkB,EAClBC,oBAAqB,GACrBC,cAAc,EACdC,iBAAiB,EACjBC,kCAAmC,GACnCC,oBAAoB,EACpBC,qBAAsB,CAAE,GAAI,GAAI,IAChCC,iBAAiB,EACjBC,qBAAqB,IAGzBxS,QAfkB,WAgBhBpC,KAAKqC,OAAOC,SAAS,gBAEvBC,WAAY,CACVqE,oBACA+K,OACAnP,cAEFC,SAAU,CACRK,KADQ,WAEN,OAAO9C,KAAKqC,OAAOO,MAAMG,MAAMC,aAEjC6R,eAJQ,WAKN,OAAO7U,KAAKqC,OAAOO,MAAM2H,SAASsK,gBAEpCC,YAPQ,WAOO,WACb,OAAO9U,KAAKqC,OAAOO,MAAMkS,YAAYC,OAAOjR,KAAI,SAAAkR,GAC9C,MAAO,CACL7R,GAAI6R,EAAW7R,GACf8R,QAASD,EAAWE,SACpBC,WAAY,IAAIC,KAAKJ,EAAWK,aAAaC,mBAAmBC,KAAcC,wBAAwB,EAAKC,MAAMC,eAKzH5V,QAAS,CACP6V,cADO,WAEL3V,KAAKuU,iBAAkB,GAEzBqB,cAJO,WAIU,WACf5V,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkBiT,cAAc,CAAEnE,SAAUzR,KAAKwU,oCACpElU,MAAK,SAACoR,GACc,YAAfA,EAAIhO,QACN,EAAKrB,OAAOC,SAAS,UACrB,EAAKuT,QAAQ3N,KAAK,CAAEgG,KAAM,UAE1B,EAAKuG,mBAAqB/C,EAAI/R,UAItCmW,eAfO,WAeW,WACVC,EAAS,CACbtE,SAAUzR,KAAK0U,qBAAqB,GACpCsB,YAAahW,KAAK0U,qBAAqB,GACvCuB,wBAAyBjW,KAAK0U,qBAAqB,IAErD1U,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkBmT,eAAeC,GACpDzV,MAAK,SAACoR,GACc,YAAfA,EAAIhO,QACN,EAAKiR,iBAAkB,EACvB,EAAKC,qBAAsB,EAC3B,EAAKsB,WAEL,EAAKvB,iBAAkB,EACvB,EAAKC,oBAAsBlD,EAAI/R,WAIvCwW,YAjCO,WAiCQ,WACPJ,EAAS,CACbK,MAAOpW,KAAKmU,SACZ1C,SAAUzR,KAAKqU,qBAEjBrU,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkBwT,YAAYJ,GACjDzV,MAAK,SAACoR,GACc,YAAfA,EAAIhO,QACN,EAAK4Q,cAAe,EACpB,EAAKF,kBAAmB,IAExB,EAAKE,cAAe,EACpB,EAAKF,iBAAmB1C,EAAI/R,WAIpCuW,OAjDO,WAkDLlW,KAAKqC,OAAOC,SAAS,UACrBtC,KAAK6V,QAAQQ,QAAQ,MAEvBC,YArDO,SAqDMnT,GACPoT,OAAO1F,QAAP,UAAkB7Q,KAAKyV,MAAMe,EAAE,yBAA/B,OACFxW,KAAKqC,OAAOC,SAAS,cAAea,MC7F7B,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,sEdJzD,YAyIM,OAzIAiB,MAAO,EAAA1D,GAAG,0B,CACd,YA+BM,MA/BN,GA+BM,CA9BJ,YAA0C,sBAAnC,EAAAA,GAAG,0BAAD,GACT,YAOM,YANJ,YAAqC,qBAA/B,EAAAA,GAAG,uBAAD,G,YACR,YAIC,S,qCAHU,EAAQ,YACjBxB,KAAK,QACLuX,aAAa,S,gBAFJ,EAAAtC,cAKb,YAOM,YANJ,YAA4C,qBAAtC,EAAAzT,GAAG,8BAAD,G,YACR,YAIC,S,qCAHU,EAAmB,uBAC5BxB,KAAK,WACLuX,aAAa,oB,gBAFJ,EAAApC,yBAKb,YAKS,UAJP3V,MAAM,qBACL,QAAK,oBAAE,EAAAyX,aAAA,EAAAA,eAAA,K,YAEL,EAAAzV,GAAG,kBAAD,GAEE,EAAY,c,cAArB,YAEI,mBADC,EAAAA,GAAG,2BAAD,I,oBAE8B,IAArB,EAAA0T,kB,cAAhB,YAGW,aAFT,YAA8C,qBAAxC,EAAA1T,GAAG,gCAAD,GACR,YAA6B,qBAAvB,EAAA0T,kBAAgB,I,0BAI1B,YAsCM,MAtCN,GAsCM,CArCJ,YAA6C,sBAAtC,EAAA1T,GAAG,6BAAD,GACT,YAMM,YALJ,YAA4C,qBAAtC,EAAAA,GAAG,8BAAD,G,YACR,YAGC,S,qCAFU,EAAAgU,qBAAqB,GAAD,GAC7BxV,KAAK,Y,gBADI,EAAAwV,qBAAqB,QAIlC,YAMM,YALJ,YAAwC,qBAAlC,EAAAhU,GAAG,0BAAD,G,YACR,YAGC,S,qCAFU,EAAAgU,qBAAqB,GAAD,GAC7BxV,KAAK,Y,gBADI,EAAAwV,qBAAqB,QAIlC,YAMM,YALJ,YAAgD,qBAA1C,EAAAhU,GAAG,kCAAD,G,YACR,YAGC,S,qCAFU,EAAAgU,qBAAqB,GAAD,GAC7BxV,KAAK,Y,gBADI,EAAAwV,qBAAqB,QAIlC,YAKS,UAJPhW,MAAM,qBACL,QAAK,oBAAE,EAAAoX,gBAAA,EAAAA,kBAAA,K,YAEL,EAAApV,GAAG,kBAAD,GAEE,EAAe,iB,cAAxB,YAEI,mBADC,EAAAA,GAAG,8BAAD,KAE+B,IAAxB,EAAAkU,qB,cAAd,YAEI,mBADC,EAAAlU,GAAG,mCAAD,I,mBAEE,EAAmB,qB,cAA5B,YAEI,mBADC,EAAAkU,qBAAmB,I,qBAI1B,YA4BM,MA5BN,GA4BM,CA3BJ,YAA0C,sBAAnC,EAAAlU,GAAG,0BAAD,GACT,YAyBQ,QAzBR,GAyBQ,CAxBN,YAMQ,cALN,YAIK,WAHH,YAAsC,sBAA/B,EAAAA,GAAG,sBAAD,GACT,YAAyC,sBAAlC,EAAAA,GAAG,yBAAD,GACT,OAGJ,YAgBQ,e,gBAfN,YAcK,qBAbkB,EAAAoU,YAAdE,I,cADT,YAcK,MAZFtN,IAAKsN,EAAW7R,I,CAEjB,YAAiC,sBAA1B6R,EAAWC,SAAO,GACzB,YAAoC,sBAA7BD,EAAWG,YAAU,GAC5B,YAOK,KAPL,GAOK,CANH,YAKS,UAJPzW,MAAM,qBACL,QAAK,GAAE,EAAA4X,YAAYtB,EAAW7R,K,YAE5B,EAAAzC,GAAG,0BAAD,Y,YAOjB,YAAO,GACP,YAgCM,MAhCN,GAgCM,CA/BJ,YAA4C,sBAArC,EAAAA,GAAG,4BAAD,GACC,EAAA6T,gB,kCAAV,YAEI,mBADC,EAAA7T,GAAG,wCAAD,IAEI,EAAe,iB,cAA1B,YAaM,UAZJ,YAAuD,qBAAjD,EAAAA,GAAG,yCAAD,GACR,YAAiC,qBAA3B,EAAAA,GAAG,mBAAD,G,YACR,YAGC,S,qCAFU,EAAiC,qCAC1CxB,KAAK,Y,gBADI,EAAAsV,qCAGX,YAKS,UAJP9V,MAAM,qBACL,QAAK,oBAAE,EAAAkX,eAAA,EAAAA,iBAAA,K,YAEL,EAAAlV,GAAG,4BAAD,M,oBAGuB,IAAvB,EAAA+T,oB,cAAT,YAEI,mBADC,EAAA/T,GAAG,kCAAD,I,mBAEE,EAAkB,oB,cAA3B,YAEI,mBADC,EAAA+T,oBAAkB,I,mBAGd,EAAAF,gB,kCADT,YAMS,U,MAJP7V,MAAM,qBACL,QAAK,oBAAE,EAAAiX,eAAA,EAAAA,iBAAA,K,YAEL,EAAAjV,GAAG,kBAAD,O,oBetINhC,MAAM,e,IACJA,MAAM,gB,2IAwGNA,MAAM,gB,IAENA,MAAM,qB,IAGJA,MAAM,4B,4BAiCRA,MAAM,gB,IAEJA,MAAM,6B,uCAwCRA,MAAM,gB,IAEJA,MAAM,6B,uCAwCRA,MAAM,gB,IAELA,MAAM,gB,uDCrOTA,MAAM,iB,eAEFA,MAAM,iC,eAQNA,MAAM,iC,4JCJjBC,IAAQC,IACNC,KAGF,IAuHe6X,GAvHM,CACnB1X,MAAO,CACLoN,QAAS,CACPlN,KAAM,CAACI,OAAQiX,OAAOI,SACtBvX,UAAU,GAEZH,cAAe,CACbC,KAAMC,SACNC,UAAU,GAEZwX,eAAgB,CACd1X,KAAM+J,OADQ,mBAGZ,MAAO,CACL4N,YAAa,EACbC,aAAc,EACdC,SAAU,EACVC,SAAS,EACTC,UAAU,EACVC,QAAQ,KAIdC,MAAO,CACLjY,KAAMI,OACNwB,QAAS,6DAEXsW,gBAAiB,CACflY,KAAMI,QAER+X,+BAAgC,CAC9BnY,KAAMI,QAERgY,kBAAmB,CACjBpY,KAAMI,SAGVG,KArCmB,WAsCjB,MAAO,CACL8X,aAASxK,EACTyK,aAASzK,EACTlM,cAAUkM,EACVlN,YAAY,IAGhB4C,SAAU,CACRgV,SADQ,WAEN,OAAOzX,KAAKoX,iBAAmBpX,KAAKU,GAAG,uBAEzCgX,wBAJQ,WAKN,OAAO1X,KAAKqX,gCAAkCrX,KAAKU,GAAG,wCAExDiX,WAPQ,WAQN,OAAO3X,KAAKsX,mBAAqBtX,KAAKU,GAAG,0BAG7CZ,QAAS,CACP8X,QADO,WAED5X,KAAKuX,SACPvX,KAAKuX,QAAQK,UAEf5X,KAAKC,MAAMC,MAAMmI,MAAQ,GACzBrI,KAAKwX,aAAUzK,EACf/M,KAAK8Q,MAAM,UAEb1Q,OATO,WASkB,WAAjByX,IAAiB,yDACvB7X,KAAKH,YAAa,EAClBG,KAAKf,cAAc4Y,GAAY7X,KAAKuX,QAASvX,KAAKN,MAC/CY,MAAK,kBAAM,EAAKsX,aADnB,SAEW,WACP,EAAK/X,YAAa,MAGxBiY,UAjBO,WAkBL9X,KAAKC,MAAMC,MAAM2B,SAEnBkW,cApBO,WAqBL/X,KAAKuX,QAAU,IAAIS,KAAQhY,KAAKC,MAAMgY,IAAKjY,KAAK4W,iBAElDsB,cAvBO,WAwBL,MAA+B,WAAxB,KAAOlY,KAAKoM,SAAuBpM,KAAKoM,QAAU/K,SAAS8W,cAAcnY,KAAKoM,UAEvFgM,SA1BO,WA0BK,WACJC,EAAYrY,KAAKC,MAAMC,MAC7B,GAAuB,MAAnBmY,EAAUlY,OAAuC,MAAtBkY,EAAUlY,MAAM,GAAY,CACzDH,KAAKN,KAAO2Y,EAAUlY,MAAM,GAC5B,IAAImY,EAAS,IAAI/B,OAAOgC,WACxBD,EAAOE,OAAS,SAAChL,GACf,EAAKgK,QAAUhK,EAAE4B,OAAO0E,OACxB,EAAKhD,MAAM,SAEbwH,EAAOG,cAAczY,KAAKN,MAC1BM,KAAK8Q,MAAM,UAAW9Q,KAAKN,KAAM4Y,MAIvCvE,QAhGmB,WAkGjB,IAAM3H,EAAUpM,KAAKkY,gBAChB9L,EAGHA,EAAQsM,iBAAiB,QAAS1Y,KAAK8X,WAFvC9X,KAAK8Q,MAAM,QAAS,+BAAgC,QAKpC9Q,KAAKC,MAAMC,MACnBwY,iBAAiB,SAAU1Y,KAAKoY,WAE5CO,cAAe,WAEb,IAAMvM,EAAUpM,KAAKkY,gBACjB9L,GACFA,EAAQwM,oBAAoB,QAAS5Y,KAAK8X,WAE1B9X,KAAKC,MAAMC,MACnB0Y,oBAAoB,SAAU5Y,KAAKoY,Y,OCrHlC,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,yEFNzD,YA6CM,MA7CN,GA6CM,CA5CO,EAAO,S,cAAlB,YAqCM,UApCJ,YAOM,MAPN,GAOM,CANJ,YAKC,OAJC7X,IAAI,MACHsY,IAAK,EAAArB,QACNsB,IAAI,GACH,OAAI,gCAAO,EAAAf,eAAA,EAAAA,iBAAA,GAAa,Y,cAG7B,YA2BM,MA3BN,GA2BM,CA1BJ,YAME,UALArZ,MAAM,qBACNQ,KAAK,SACJmH,SAAU,EAAAxG,WACV,QAAK,eAAE,EAAAO,U,YACR,YAAiB,a,WAEnB,YAME,UALA1B,MAAM,qBACNQ,KAAK,SACJmH,SAAU,EAAAxG,WACV,QAAK,oBAAE,EAAA+X,SAAA,EAAAA,WAAA,I,YACR,YAAmB,e,WAErB,YAME,UALAlZ,MAAM,qBACNQ,KAAK,SACJmH,SAAU,EAAAxG,WACV,QAAK,eAAE,EAAAO,QAAO,I,YACf,YAAgC,4B,WAG1B,EAAU,Y,cADlB,YAIE,G,MAFAI,KAAA,GACAC,KAAK,kB,2CAIX,YAKC,SAJCF,IAAI,QACJrB,KAAK,OACLR,MAAM,0BACLqa,OAAQ,EAAA5B,O,uoBGtBfxY,IAAQC,IACNE,KACAka,IACAna,KAGF,IAyOeoa,GAzOI,CACjBxZ,KADiB,WAEf,MAAO,CACLyZ,QAASlZ,KAAKqC,OAAOO,MAAMG,MAAMC,YAAYmW,eAC7CC,OAAQC,KAASrZ,KAAKqC,OAAOO,MAAMG,MAAMC,YAAYsW,aACrDC,UAAWvZ,KAAKqC,OAAOO,MAAMG,MAAMC,YAAYwW,OAC/CC,UAAWzZ,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY0W,OAAO5V,KAAI,SAAA6V,GAAK,MAAK,CAAEzL,KAAMyL,EAAMzL,KAAM7F,MAAOsR,EAAMtR,UACrGuR,SAAU5Z,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY6W,UAC9CC,KAAM9Z,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY8W,KAC1CC,IAAK/Z,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY+W,IACzCC,sBAAsB,EACtBC,iBAAiB,EACjBC,qBAAqB,EACrBC,OAAQ,KACRC,cAAe,KACfC,WAAY,KACZC,kBAAmB,KACnBC,cAAeva,KAAKqC,OAAOO,MAAMG,MAAMC,YAAYwX,UAAY,KAGnEjY,WAAY,CACVkY,mBACA/D,gBACAgE,gBACArQ,eACAzD,oBACApE,aACAkM,kBACAiM,gCAEFlY,SAAU,OACRK,KADQ,WAEN,OAAO9C,KAAKqC,OAAOO,MAAMG,MAAMC,cAE9B2K,MAJG,IAKNiN,mBALQ,WAMN,OAAOC,aAAU,CACfC,MAAO,GAAF,YACA9a,KAAKqC,OAAOO,MAAM2H,SAASuQ,OAD3B,KAEA9a,KAAKqC,OAAOO,MAAM2H,SAASwQ,cAEhCC,MAAOhb,KAAKqC,UAGhB4Y,eAdQ,WAeN,OAAOJ,aAAU,CAAEC,MAAO,GAAF,YACnB9a,KAAKqC,OAAOO,MAAM2H,SAASuQ,OADR,KAEnB9a,KAAKqC,OAAOO,MAAM2H,SAASwQ,iBAGlCG,cApBQ,WAqBN,OAAOL,aAAU,CAAEG,MAAOhb,KAAKqC,UAEjC8Y,aAvBQ,WAwBN,OAAOnb,KAAKqC,OAAOO,MAAM2H,SAAS4Q,cAEpCC,UA1BQ,WA2BN,OAAOpb,KAAKmb,aAAenb,KAAKmb,aAAaC,UAAY,GAE3DC,cA7BQ,WA8BN,OAAOrb,KAAKqC,OAAOO,MAAM2H,SAAS+Q,OAAStb,KAAKqC,OAAOO,MAAM2H,SAAS8Q,eAExEE,cAhCQ,WAiCN,OAAOvb,KAAKqC,OAAOO,MAAM2H,SAAS+Q,OAAStb,KAAKqC,OAAOO,MAAM2H,SAASgR,eAExEC,gBAnCQ,WAoCN,IAAMC,EAAazb,KAAKqC,OAAOO,MAAM2H,SAAS8Q,cAC9C,OAASrb,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY0Y,mBAC7C1b,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY0Y,kBAAkB5U,SAAS2U,IAEjEE,gBAxCQ,WAyCN,IAAMC,EAAa5b,KAAKqC,OAAOO,MAAM2H,SAASgR,cAC9C,OAASvb,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY6Y,aAC7C7b,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY6Y,YAAY/U,SAAS8U,IAE3DE,oBA7CQ,WA8CN,OAAS9b,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY+Y,kBAE/CC,aAhDQ,WAiDN,IAAMnD,EAAM7Y,KAAKqC,OAAOO,MAAMG,MAAMC,YAAYiZ,2BAChD,OAASpD,GAAO7Y,KAAKqb,eAEvBa,aApDQ,WAqDN,IAAMrD,EAAM7Y,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY6Y,YAChD,OAAShD,GAAO7Y,KAAKub,iBAGzBzb,QAAS,CACPqc,cADO,WACU,WACTpG,EAAS,CACbqG,KAAMpc,KAAKoZ,OACXI,OAAQxZ,KAAKuZ,UAGb8C,aAAcrc,KAAKkZ,QACnBoD,kBAAmBtc,KAAKyZ,UAAU9U,QAAO,SAAA4X,GAAE,OAAU,MAANA,KAC/CxC,IAAK/Z,KAAK+Z,IACVF,UAAW7Z,KAAK4Z,UAId5Z,KAAKua,gBACPxE,EAAOyE,SAAWjF,KAAciH,wBAAwBxc,KAAKua,gBAG/Dva,KAAKqC,OAAOO,MAAMC,IAAIF,kBACnBwZ,cAAc,CAAEpG,WAChBzV,MAAK,SAACwC,GACL,EAAK2W,UAAUtR,OAAOrF,EAAK4W,OAAOlU,QAClCiX,KAAM,EAAKhD,UAAW3W,EAAK4W,QAC3B,EAAKrX,OAAOqa,OAAO,cAAe,CAAC5Z,IACnC,EAAKT,OAAOqa,OAAO,iBAAkB5Z,OAG3C6Z,UA3BO,SA2BIC,GACT5c,KAAK6c,gBAAkBD,GAEzBE,SA9BO,WA+BL,OAAI9c,KAAKyZ,UAAUjU,OAASxF,KAAKob,YAC/Bpb,KAAKyZ,UAAUvR,KAAK,CAAEgG,KAAM,GAAI7F,MAAO,MAChC,IAIX0U,YArCO,SAqCMC,EAAOC,GAClBjd,KAAKkd,QAAQld,KAAKyZ,UAAWuD,IAE/BG,WAxCO,SAwCKC,EAAM5P,GAAG,WACb9N,EAAO8N,EAAE4B,OAAOjP,MAAM,GAC5B,GAAKT,EACL,GAAIA,EAAKsC,KAAOhC,KAAKqC,OAAOO,MAAM2H,SAAS6S,EAAO,SAAlD,CACE,IAAMC,EAAWC,KAAsBC,eAAe7d,EAAKsC,MACrDwb,EAAcF,KAAsBC,eAAevd,KAAKqC,OAAOO,MAAM2H,SAAS6S,EAAO,UAC3Fpd,KAAKqC,OAAOC,SAAS,mBAAoB,CACvCmb,WAAY,uBACZC,YAAa,CACX1d,KAAKU,GAAG,4BAA6B,CACnC2c,SAAUA,EAASM,IACnBC,aAAcP,EAASQ,KACvBL,YAAaA,EAAYG,IACzBG,gBAAiBN,EAAYK,QAGjCE,MAAO,cAbX,CAkBA,IAAMzF,EAAS,IAAIC,WACnBD,EAAOE,OAAS,YAAgB,IACxBP,EADwB,EAAb7I,OACE0E,OACnB,EAAKsJ,EAAO,WAAanF,EACzB,EAAKmF,GAAQ1d,GAEf4Y,EAAOG,cAAc/Y,KAEvBse,YArEO,WAsEazH,OAAO1F,QAAQ7Q,KAAKU,GAAG,mCAEvCV,KAAKie,kBAAalR,EAAW,KAGjCmR,YA3EO,WA4Ea3H,OAAO1F,QAAQ7Q,KAAKU,GAAG,mCAEvCV,KAAKme,aAAa,KAGtBC,gBAjFO,WAkFa7H,OAAO1F,QAAQ7Q,KAAKU,GAAG,uCAEvCV,KAAKqe,iBAAiB,KAG1BJ,aAvFO,SAuFO1G,EAAS7X,GACrB,IAAM4e,EAAOte,KACb,OAAO,IAAIwL,SAAQ,SAACC,EAASb,GAC3B,SAAS2T,EAAcC,EAAQC,GAC7BH,EAAKjc,OAAOO,MAAMC,IAAIF,kBAAkB+b,oBAAoB,CAAEF,SAAQC,eACnEne,MAAK,SAACwC,GACLwb,EAAKjc,OAAOqa,OAAO,cAAe,CAAC5Z,IACnCwb,EAAKjc,OAAOqa,OAAO,iBAAkB5Z,GACrC2I,OAJJ,OAMS,SAAC9L,GACN2e,EAAKK,mBAAmBhf,GACxBiL,EAAOjL,MAIT4X,EACFA,EAAQqH,mBAAmBC,QAAO,SAACpf,GAAD,OAAU8e,EAAa9e,EAAMC,EAAKwO,QAAOxO,EAAKR,MAEhFqf,EAAa7e,EAAMA,EAAKwO,UAI9BiQ,aA9GO,SA8GOhE,GAAQ,YACfna,KAAKoa,eAA4B,KAAXD,KAE3Bna,KAAKia,iBAAkB,EACvBja,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkB+b,oBAAoB,CAAEvE,WAC3D7Z,MAAK,SAACwC,GACL,EAAKT,OAAOqa,OAAO,cAAe,CAAC5Z,IACnC,EAAKT,OAAOqa,OAAO,iBAAkB5Z,GACrC,EAAKsX,cAAgB,QAJzB,MAMSpa,KAAK2e,oBANd,SAOW,WAAQ,EAAK1E,iBAAkB,OAE5CoE,iBA3HO,SA2HWhE,GAAY,YACvBra,KAAKsa,mBAAoC,KAAfD,KAE/Bra,KAAKka,qBAAsB,EAC3Bla,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkB+b,oBAAoB,CAAErE,eAC3D/Z,MAAK,SAACb,GACL,EAAK4C,OAAOqa,OAAO,cAAe,CAACjd,IACnC,EAAK4C,OAAOqa,OAAO,iBAAkBjd,GACrC,EAAK6a,kBAAoB,QAJ7B,MAMSta,KAAK2e,oBANd,SAOW,WAAQ,EAAKzE,qBAAsB,OAEhDyE,mBAxIO,SAwIahf,GAClBK,KAAKqC,OAAOC,SAAS,mBAAoB,CACvCmb,WAAY,uBACZC,YAAa,CAAC/d,EAAMmf,SACpBf,MAAO,a,OCtPA,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2OLNzD,YAgSM,MAhSN,GAgSM,CA/RJ,YAuGM,MAvGN,GAuGM,CAtGJ,YAAsC,sBAA/B,EAAArd,GAAG,sBAAD,GACT,YAAgC,qBAA1B,EAAAA,GAAG,kBAAD,GACR,YAUa,G,WATF,EAAAwY,Q,qCAAA,EAAO,WAChB6F,sBAAA,GACCC,QAAS,EAAA/D,gB,qBAEV,IAIC,C,YAJD,YAIC,SAHC9X,GAAG,W,qCACM,EAAO,WAChBzE,MAAM,gB,gBADG,EAAAwa,a,iCAIb,YAA+B,qBAAzB,EAAAxY,GAAG,iBAAD,GACR,YASa,G,WARF,EAAA0Y,O,qCAAA,EAAM,UACf2F,sBAAA,GACCC,QAAS,EAAApE,oB,qBAEV,IAGE,C,YAHF,YAGE,Y,qCAFS,EAAM,UACflc,MAAM,qB,gBADG,EAAA0a,Y,iCAIK,UAAT,EAAAU,MAA6B,cAAT,EAAAA,M,cAA7B,YASI,QARF,YAOW,G,WAPQ,EAAAF,S,qCAAA,EAAQ,a,qBACzB,IAEW,CAFc,UAAT,EAAAE,M,cAAhB,YAEW,a,wBADN,EAAApZ,GAAG,8BAAD,I,wBAEkB,cAAT,EAAAoZ,M,cAAhB,YAEW,a,wBADN,EAAApZ,GAAG,kCAAD,I,uEAIA,EAAA0a,UAAY,G,cAAvB,YAgDM,UA/CJ,YAAgD,qBAA1C,EAAA1a,GAAG,kCAAD,I,gBACR,YAqCM,qBApCa,EAAA+Y,UAAS,CAAlBwF,EAAGjT,K,cADb,YAqCM,OAnCHtE,IAAKsE,EACNtN,MAAM,kB,CAEN,YAUa,G,WATF,EAAA+a,UAAUzN,GAAGkC,K,yBAAb,EAAAuL,UAAUzN,GAAO,OAC1B+S,sBAAA,GACAG,oBAAA,GACCF,QAAS,EAAA9D,e,qBAEV,IAGC,C,YAHD,YAGC,S,yBAFU,EAAAzB,UAAUzN,GAAO,OACzBpH,YAAa,EAAAlE,GAAG,iC,iBADR,EAAA+Y,UAAUzN,GAAGkC,U,0DAI1B,YAUa,G,WATF,EAAAuL,UAAUzN,GAAG3D,M,yBAAb,EAAAoR,UAAUzN,GAAQ,QAC3B+S,sBAAA,GACAG,oBAAA,GACCF,QAAS,EAAA9D,e,qBAEV,IAGC,C,YAHD,YAGC,S,yBAFU,EAAAzB,UAAUzN,GAAQ,QAC1BpH,YAAa,EAAAlE,GAAG,kC,iBADR,EAAA+Y,UAAUzN,GAAG3D,W,0DAI1B,YASS,UARP3J,MAAM,gDACL,QAAK,GAAE,EAAAqe,YAAY/Q,I,CAIZ,EAAAyN,UAAUjU,OAAS,G,cAD3B,YAGE,G,MADA/E,KAAK,W,oCAKH,EAAAgZ,UAAUjU,OAAS,EAAA4V,W,cAD3B,YAOS,U,MALP1c,MAAM,mDACL,QAAK,oBAAE,EAAAoe,UAAA,EAAAA,YAAA,K,CAER,YAAsB,GAAdrc,KAAK,S,YAAS,IACtB,YAAG,EAAAC,GAAG,sCAAD,M,yCAGT,YAII,UAHF,YAEW,G,WAFQ,EAAAqZ,I,qCAAA,EAAG,Q,qBACpB,IAAwB,C,wBAArB,EAAArZ,GAAG,iBAAD,K,yBAGT,YAMI,UALF,YAIE,GAHCye,cAAa,EAAAze,GAAG,2BAChB8Z,SAAU,EAAAD,cACV6E,eAAcja,GAAO,EAAAoV,cAAgBpV,G,oDAG1C,YAMS,UALNkB,SAAU,EAAA6S,SAA8B,IAAnB,EAAAA,QAAQ1T,OAC9B9G,MAAM,qBACL,QAAK,oBAAE,EAAAyd,eAAA,EAAAA,iBAAA,K,YAEL,EAAAzb,GAAG,kBAAD,QAGT,YAqCM,MArCN,GAqCM,CApCJ,YAAoC,sBAA7B,EAAAA,GAAG,oBAAD,GACT,YAEI,IAFJ,GAEI,YADC,EAAAA,GAAG,qCAAD,GAEP,YAgBM,MAhBN,GAgBM,CAfJ,YAGC,OAFEmY,IAAK,EAAA/V,KAAKmZ,2BACXvd,MAAM,kB,YAGC,EAAA8c,iBAAmB,EAAAxB,sB,cAD5B,YAUS,U,MARNqF,MAAO,EAAA3e,GAAG,yBACV,QAAK,oBAAE,EAAAsd,aAAA,EAAAA,eAAA,IACRtf,MAAM,gC,CAEN,YAGE,GAFA+B,KAAK,QACLvB,KAAK,Y,4BAIX,YAA0C,qBAApC,EAAAwB,GAAG,4BAAD,G,YACR,YAOS,UALPyC,GAAG,cACHzE,MAAM,qBACNQ,KAAK,U,YAEF,EAAAwB,GAAG,4BAAD,M,KALG,EAAAsZ,wBAOV,YAKE,GAJA5N,QAAQ,eACP/H,iBAAgB,EAAA4Z,aAChB,OAAI,eAAE,EAAAjE,sBAAqB,GAC3B,QAAK,iBAAE,EAAAA,sBAAqB,I,6BAGjC,YAyCM,MAzCN,GAyCM,CAxCJ,YAA4C,sBAArC,EAAAtZ,GAAG,4BAAD,GACT,YAaM,MAbN,GAaM,CAZJ,YAA6B,OAAvBmY,IAAK,EAAA/V,KAAK+Y,a,WAEP,EAAAF,gB,kCADT,YAUS,U,MARPjd,MAAM,+BACL2gB,MAAO,EAAA3e,GAAG,iCACV,QAAK,sBAAE,EAAAwd,aAAA,EAAAA,eAAA,K,CAER,YAGE,GAFAzd,KAAK,QACLvB,KAAK,Y,SAIX,YAAkD,qBAA5C,EAAAwB,GAAG,oCAAD,GAEA,EAAa,e,cADrB,YAIC,O,MAFChC,MAAM,4BACLma,IAAK,EAAAuB,e,+BAER,YAKM,YAJJ,YAGC,SAFClb,KAAK,OACJ,SAAM,iBAAE,EAAAie,WAAW,SAAUmC,K,WAI1B,EAAe,iB,cADvB,YAKE,G,MAHA5gB,MAAM,YACN8B,KAAA,GACAC,KAAK,kBAGM,EAAa,e,cAD1B,YAMS,U,MAJP/B,MAAM,qBACL,QAAK,iBAAE,EAAAyf,aAAa,EAAAhE,U,YAElB,EAAAzZ,GAAG,kBAAD,I,qBAGT,YAyCM,MAzCN,GAyCM,CAxCJ,YAAgD,sBAAzC,EAAAA,GAAG,gCAAD,GACT,YAaM,MAbN,GAaM,CAZJ,YAAkC,OAA5BmY,IAAK,EAAA/V,KAAKiZ,kB,WAEP,EAAAD,oB,kCADT,YAUS,U,MARPpd,MAAM,+BACL2gB,MAAO,EAAA3e,GAAG,qCACV,QAAK,sBAAE,EAAA0d,iBAAA,EAAAA,mBAAA,K,CAER,YAGE,GAFA3d,KAAK,QACLvB,KAAK,Y,SAIX,YAAsD,qBAAhD,EAAAwB,GAAG,wCAAD,GAEA,EAAiB,mB,cADzB,YAIC,O,MAFChC,MAAM,4BACLma,IAAK,EAAAyB,mB,+BAER,YAKM,YAJJ,YAGC,SAFCpb,KAAK,OACJ,SAAM,iBAAE,EAAAie,WAAW,aAAcmC,K,WAI9B,EAAmB,qB,cAD3B,YAKE,G,MAHA5gB,MAAM,YACN8B,KAAA,GACAC,KAAK,kBAGM,EAAiB,mB,cAD9B,YAMS,U,MAJP/B,MAAM,qBACL,QAAK,iBAAE,EAAA2f,iBAAiB,EAAAhE,c,YAEtB,EAAA3Z,GAAG,kBAAD,I,qBAGT,YA4DM,MA5DN,GA4DM,CA3DJ,YAA6C,sBAAtC,EAAAA,GAAG,6BAAD,GACT,YAyDK,KAzDL,GAyDK,CAxDH,YAIK,WAHH,YAEiB,GAFDgM,KAAK,qBAAmB,C,oBACtC,IAA6C,C,wBAA1C,EAAAhM,GAAG,sCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,2BAAyB,C,oBAC5C,IAAiC,C,wBAA9B,EAAAhM,GAAG,0BAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,iCAA+B,C,oBAClD,IAAyC,C,wBAAtC,EAAAhM,GAAG,kCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,4BAA0B,C,oBAC7C,IAA+C,C,wBAA5C,EAAAhM,GAAG,wCAAD,K,QAGT,YAiBK,WAhBH,YAEiB,GAFDgM,KAAK,4BAA0B,C,oBAC7C,IAA+C,C,wBAA5C,EAAAhM,GAAG,wCAAD,K,MAEP,YAYK,MAXHhC,MAAK,aAAC,0BAAyB,YACV,EAAA6gB,8B,CAErB,YAOK,WANH,YAKiB,GAJf7S,KAAK,gCACJrG,UAAW,EAAAkZ,0B,qBAEZ,IAAqD,C,wBAAlD,EAAA7e,GAAG,8CAAD,K,6BAKb,YAiBK,WAhBH,YAEiB,GAFDgM,KAAK,0BAAwB,C,oBAC3C,IAA6C,C,wBAA1C,EAAAhM,GAAG,sCAAD,K,MAEP,YAYK,MAXHhC,MAAK,aAAC,0BAAyB,YACV,EAAA8gB,4B,CAErB,YAOK,WANH,YAKiB,GAJf9S,KAAK,8BACJrG,UAAW,EAAAmZ,wB,qBAEZ,IAAmD,C,wBAAhD,EAAA9e,GAAG,4CAAD,K,8DMxRZhC,MAAM,gB,IAELA,MAAM,gB,qCAgIPA,MAAM,gB,IAELA,MAAM,gB,UAYNA,MAAM,2B,IAuEJA,MAAM,2B,UAyCFA,MAAM,e,IA0BZA,MAAM,2B,sDAgEVA,MAAM,gB,IAGFA,MAAM,gB,IAEC2Q,IAAI,e,0OCpVrB1Q,IAAQC,IACN6gB,KAGF,IA6EeC,GA7EI,CACjBjgB,KADiB,WACT,WACN,MAAO,CACLkgB,mBAAoB,CAAC,QAAS,OAAQ,SAAS7b,KAAI,SAAA6L,GAAI,MAAK,CAC1DjI,IAAKiI,EACLtH,MAAOsH,EACPvL,MAAO,EAAK1D,GAAL,gCAA0C,UAATiP,EAAmB,WAAaA,QAE1EiQ,2BAA4B,CAAC,OAAQ,UAAU9b,KAAI,SAAA6L,GAAI,MAAK,CAC1DjI,IAAKiI,EACLtH,MAAOsH,EACPvL,MAAO,EAAK1D,GAAL,wCAAyCiP,QAElDkQ,sCAAuC,CAAC,QAAS,UAAU/b,KAAI,SAAA6L,GAAI,MAAK,CACtEjI,IAAKiI,EACLtH,MAAOsH,EACPvL,MAAO,EAAK1D,GAAL,qDAAsDiP,QAE/DmQ,0BAA2B,CAAC,QAAS,kBAAmB,QAAQhc,KAAI,SAAA6L,GAAI,MAAK,CAC3EjI,IAAKiI,EACLtH,MAAOsH,EACPvL,MAAO,EAAK1D,GAAL,wCAAyCiP,QAElDoQ,uBAAwB,CAAC,OAAQ,gBAAiB,YAAYjc,KAAI,SAAA6L,GAAI,MAAK,CACzEjI,IAAKiI,EACLtH,MAAOsH,EACPvL,MAAO,EAAK1D,GAAL,qCAAsCiP,QAE/CqQ,oBAEA/W,OAAOgX,yBAAyBC,iBAAiBC,UAAW,gBAE5DlX,OAAOgX,yBAAyBG,iBAAiBD,UAAW,gCAE5DlX,OAAOgX,yBAAyBG,iBAAiBD,UAAW,iBAGhE5d,WAAY,CACVmM,kBACAkB,iBACAC,kBACA8K,+BACAF,mBACAjO,wBAEF/J,S,mWAAU,EACR4d,YADQ,WAEN,OAAOrgB,KAAKqC,OAAOO,MAAM2H,SAAS8V,aAAe,IAEnDC,mBAJQ,WAIc,WACpB,OAAOtgB,KAAKqgB,YAAYvc,KAAI,SAAAyc,GAAM,MAAK,CACrC7Y,IAAK6Y,EACLlY,MAAOkY,EACPnc,MAAO,EAAK1D,GAAL,oCAAqC6f,EAArC,YAGXC,6BAXQ,WAW0B,OAAOxgB,KAAKqC,OAAOO,MAAM2H,SAASkW,2BACpEC,sBAZQ,WAaN,OAAO1gB,KAAKqC,OAAOO,MAAM2H,SAAS8P,aAC/Bra,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY+Y,kBAEzC4E,wBAhBQ,WAgBqB,OAAO3gB,KAAKqC,OAAOO,MAAM2H,SAASqW,gBAC/DpG,SAAU,CACRxQ,IAAK,WAAc,OAAOhK,KAAKqC,OAAOuD,QAAQoI,aAAa6S,mBAC3D5S,IAAK,SAAU9I,GACbnF,KAAKqC,OAAOC,SAAS,YAAa,CAAE4L,KAAM,oBAAqB7F,MAAOlD,OAGvEwI,MAEL7N,QAAS,CACPghB,mBADO,SACazY,GAClBrI,KAAKqC,OAAOC,SAAS,sBAAuB,CAAE4L,KAAM,eAAgB7F,aClF3D,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,yRFJzD,YAsbM,OAtbAjE,MAAO,EAAA1D,GAAG,qB,CACd,YAiIM,MAjIN,GAiIM,CAhIJ,YAAuC,sBAAhC,EAAAA,GAAG,uBAAD,GACT,YA8HK,KA9HL,GA8HK,CA7HH,YAMK,WALH,YAIE,GAHCye,cAAa,EAAAze,GAAG,8BAChB8Z,SAAU,EAAAA,SACV4E,eAAcja,GAAO,EAAAqV,SAAWrV,G,oDAG3B,EAA4B,8B,cAAtC,YAIK,SAHH,YAEiB,GAFDuH,KAAK,WAAS,C,oBAC5B,IAA6B,C,wBAA1B,EAAAhM,GAAG,sBAAD,K,4BAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,gBAAc,C,oBACjC,IAAkC,C,wBAA/B,EAAAhM,GAAG,2BAAD,K,QAGC,EAAqB,uB,cAA/B,YAIK,SAHH,YAEiB,GAFDgM,KAAK,yBAAuB,C,oBAC1C,IAAmC,C,wBAAhC,EAAAhM,GAAG,4BAAD,K,4BAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,YAAU,C,oBAC7B,IAA8B,C,wBAA3B,EAAAhM,GAAG,uBAAD,K,QAGT,YAiBK,WAhBH,YAEiB,GAFDgM,KAAK,aAAW,C,oBAC9B,IAA8B,C,wBAA3B,EAAAhM,GAAG,uBAAD,K,MAEP,YAYK,MAXHhC,MAAK,aAAC,0BAAyB,YACV,EAAA0R,e,CAErB,YAOK,WANH,YAKiB,GAJf1D,KAAK,mBACJrG,UAAW,EAAA+J,W,qBAEZ,IAAuC,C,wBAApC,EAAA1P,GAAG,gCAAD,K,6BAKb,YAOK,WANH,YAKiB,GAJfgM,KAAK,kBACLW,OAAO,K,qBAEP,IAAoC,C,wBAAjC,EAAA3M,GAAG,6BAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,mBACLW,OAAO,K,qBAEP,IAAsC,C,wBAAnC,EAAA3M,GAAG,+BAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,wBAAsB,C,oBACzC,IAA2C,C,wBAAxC,EAAAhM,GAAG,oCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,kBAAgB,C,oBACnC,IAAoC,C,wBAAjC,EAAAhM,GAAG,6BAAD,K,QAGT,YASK,WAPK,EAAI,M,cADZ,YAOgB,G,MALdyC,GAAG,kBACHuJ,KAAK,kBACJoC,QAAS,EAAAiR,wB,qBAEV,IAAsC,C,wBAAnC,EAAArf,GAAG,+BAAD,K,0CAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,qBAAmB,C,oBACtC,IAAwC,C,wBAArC,EAAAhM,GAAG,iCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,sBAAoB,C,oBACvC,IAAyC,C,wBAAtC,EAAAhM,GAAG,kCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,sBAAoB,C,oBACvC,IAAyC,C,wBAAtC,EAAAhM,GAAG,kCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,yBAAuB,C,oBAC1C,IAA+B,C,wBAA5B,EAAAhM,GAAG,wBAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,0BACLW,OAAO,K,qBAEP,IAA4C,C,wBAAzC,EAAA3M,GAAG,qCAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,6BACLW,OAAO,K,qBAEP,IAAkD,C,wBAA/C,EAAA3M,GAAG,2CAAD,K,QAGC,EAAuB,yB,cAAjC,YAOK,SANH,YAKiB,GAJfgM,KAAK,eACLW,OAAO,K,qBAEP,IAAkC,C,wBAA/B,EAAA3M,GAAG,2BAAD,K,gCAKb,YAoNM,MApNN,GAoNM,CAnNJ,YAA4C,sBAArC,EAAAA,GAAG,4BAAD,GACT,YAiNK,KAjNL,GAiNK,CAhNH,YAQK,WAPH,YAMgB,GALdyC,GAAG,sBACHuJ,KAAK,sBACJoC,QAAS,EAAA8Q,4B,qBAEV,IAAyC,C,wBAAtC,EAAAlf,GAAG,kCAAD,K,sBAIuB,WAAxB,EAAAqgB,qB,cADR,YAoCK,KApCL,GAoCK,CAhCH,YAIK,WAHH,YAEiB,GAFDrU,KAAK,4BAA0B,C,oBAC7C,IAAkC,C,wBAA/B,EAAAhM,GAAG,2BAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,gCACJW,OAAQ,G,qBAET,IAAwC,C,wBAArC,EAAA3M,GAAG,iCAAD,K,QAGT,YAQK,WAPH,YAMiB,GALfgM,KAAK,mBACJuC,IAAK,EACL5B,OAAQ,G,qBAET,IAAwC,C,wBAArC,EAAA3M,GAAG,iCAAD,K,QAGT,YASK,WARH,YAOgB,GANdyC,GAAG,iCACHuJ,KAAK,iCACJoC,QAAS,EAAA+Q,sCACTxS,OAAQ,G,qBAET,IAAsD,C,wBAAnD,EAAA3M,GAAG,+CAAD,K,4CAIX,YAIK,WAHH,YAEiB,GAFDgM,KAAK,8BAA4B,C,oBAC/C,IAAqC,C,wBAAlC,EAAAhM,GAAG,8BAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,2BACLW,OAAO,K,qBAEP,IAAgD,C,wBAA7C,EAAA3M,GAAG,yCAAD,K,QAGT,YAQK,WANK,EAAI,M,cADZ,YAMiB,G,MAJfgM,KAAK,8BACLW,OAAO,K,qBAEP,IAA6C,C,wBAA1C,EAAA3M,GAAG,sCAAD,K,4BAGT,YAAyC,sBAAlC,EAAAA,GAAG,yBAAD,GACT,YAOK,WANH,YAKiB,GAJfgM,KAAK,gBACLW,OAAO,K,qBAEP,IAAoC,C,wBAAjC,EAAA3M,GAAG,6BAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,YAAU,C,oBAC7B,IAAsC,C,wBAAnC,EAAAhM,GAAG,+BAAD,K,QAGT,YAmBK,KAnBL,GAmBK,CAlBH,YAQK,WAPH,YAMiB,GALfgM,KAAK,eACLW,OAAO,IACNhH,UAAW,EAAA2a,U,qBAEZ,IAAmC,C,wBAAhC,EAAAtgB,GAAG,4BAAD,K,uBAGT,YAQK,WAPH,YAMiB,GALfgM,KAAK,kBACLW,OAAO,IACNhH,UAAW,EAAA2a,U,qBAEZ,IAAuC,C,wBAApC,EAAAtgB,GAAG,gCAAD,K,yBAIX,YA2BK,WA1BH,YAKiB,GAJfgM,KAAK,YACLW,OAAO,K,qBAEP,IAA+B,C,wBAA5B,EAAA3M,GAAG,wBAAD,K,MAEP,YAmBK,MAlBHhC,MAAK,aAAC,0BAAyB,YACV,EAAA0R,e,CAErB,YAcK,WAbH,YAMiB,GALf1D,KAAK,sBACLW,OAAO,IACNhH,UAAW,EAAA4a,YAAc,EAAAjB,qB,qBAE1B,IAA2C,C,wBAAxC,EAAAtf,GAAG,oCAAD,K,qBAGE,EAAAsf,oB,kCADT,YAKM,MALN,GAKM,CADJ,YAAuB,GAAfvf,KAAK,U,YAAU,KAAE,YAAG,EAAAC,GAAG,kCAAD,S,KAKtC,YAOK,WANH,YAKiB,GAJfgM,KAAK,oBACLW,OAAO,K,qBAEP,IAAyC,C,wBAAtC,EAAA3M,GAAG,kCAAD,K,QAGT,YAA2C,sBAApC,EAAAA,GAAG,2BAAD,GACT,YAQK,WAPH,YAMgB,GALdyC,GAAG,qBACHuJ,KAAK,qBACJoC,QAAS,EAAAgR,2B,qBAEV,IAAyC,C,wBAAtC,EAAApf,GAAG,kCAAD,K,sBAGT,YAWK,KAXL,GAWK,CAR8B,UAAvB,EAAAwgB,oB,cAAV,YAOK,SANH,YAKiB,GAJfxU,KAAK,yBACLW,OAAO,K,qBAEP,IAA8C,C,wBAA3C,EAAA3M,GAAG,uCAAD,K,8BAIX,YAOK,WANH,YAKiB,GAJfgM,KAAK,YACLW,OAAO,K,qBAEP,IAAgC,C,wBAA7B,EAAA3M,GAAG,yBAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,yBAAuB,C,oBAC1C,IAA6C,C,wBAA1C,EAAAhM,GAAG,sCAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,wBACLW,OAAO,K,qBAEP,IAA6C,C,wBAA1C,EAAA3M,GAAG,sCAAD,K,QAGC,EAAI,M,cAAd,YAOK,SANH,YAKiB,GAJfgM,KAAK,uBACLW,OAAO,K,qBAEP,IAA4C,C,wBAAzC,EAAA3M,GAAG,qCAAD,K,4BAGC,EAAA4M,YAAc,G,cAAxB,YAEK,oBADA,EAAA5M,GAAG,iBAAD,I,mBAEP,YAOK,WANH,YAKiB,GAJfgM,KAAK,YACLW,OAAO,K,qBAEP,IAA8B,C,wBAA3B,EAAA3M,GAAG,uBAAD,K,QAGC,EAAI,M,cAAd,YAOK,SANH,YAKiB,GAJfgM,KAAK,sBACLW,OAAO,K,qBAEP,IAA8B,C,wBAA3B,EAAA3M,GAAG,uBAAD,K,gCAOL,EAAI,M,cADZ,YA4FM,MA5FN,GA4FM,CAxFJ,YAAuC,sBAAhC,EAAAA,GAAG,uBAAD,GACT,YAsFK,KAtFL,GAsFK,CArFH,YAWK,WAVH,YASQ,QATR,GASQ,C,wBARH,EAAAA,GAAG,yBAA0B,IAAC,eAA2C,GAArBgN,eAAa,IACpE,YAME,GALAhP,MAAM,iBACLyiB,YAAU,EACVC,eAAc,EAAAC,wBACdC,gBAAe,EAAAD,wBACfE,kBAAiB,EAAAT,oB,+DAIxB,YAKK,WAHH,YAEiB,GAFDpU,KAAK,sBAAoB,C,oBACvC,IAAyC,C,wBAAtC,EAAAhM,GAAG,kCAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,YACLW,OAAO,K,qBAEP,IAA+B,C,wBAA5B,EAAA3M,GAAG,wBAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,yBACLW,OAAO,K,qBAEP,IAA8C,C,wBAA3C,EAAA3M,GAAG,uCAAD,K,QAGT,YASK,WARH,YAOgB,GANdyC,GAAG,sBACHuJ,KAAK,sBACJoC,QAAS,EAAA6Q,mBACVtS,OAAO,K,qBAEP,IAA0C,C,wBAAvC,EAAA3M,GAAG,mCAAD,K,sBAGC,EAAA2f,YAAY7a,OAAS,G,cAA/B,YAQK,SAPH,YAMgB,GALdrC,GAAG,kBACHuJ,KAAK,kBACJoC,QAAS,EAAAwR,oB,qBAEV,IAA6C,C,wBAA1C,EAAA5f,GAAG,sCAAD,K,0CAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,oBACLW,OAAO,K,qBAEP,IAAwC,C,wBAArC,EAAA3M,GAAG,iCAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,0BACLW,OAAO,K,qBAEP,IAA4C,C,wBAAzC,EAAA3M,GAAG,qCAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,6BACLW,OAAO,K,qBAEP,IAAkD,C,wBAA/C,EAAA3M,GAAG,2CAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,WACLW,OAAO,K,qBAEP,IAA8B,C,wBAA3B,EAAA3M,GAAG,uBAAD,K,kEGhbRhC,MAAM,gB,IACLA,MAAM,gB,IAGFA,MAAM,e,gBAWNA,MAAM,e,YChBb,ICsBQ8iB,GAlBI,CACjB/hB,KADiB,WAEf,IAAM8K,EAAWvK,KAAKqC,OAAOO,MAAM2H,SACnC,MAAO,CACLkX,eAAgBlX,EAASkX,eACzBC,gBAAiBnX,EAASmX,kBAG9Bjf,SAAU,CACRkf,oBADQ,WAEN,MAbqB,wDAaO3hB,KAAK0hB,iBAEnCE,mBAJQ,WAKN,MAfqB,sDDFEC,ECiBmB7hB,KAAKyhB,gBDf7CK,EAAUD,EAAcE,MADhB,aAEGD,EAAQ,GAAK,IAHH,IAAAD,EAErBC,KEIO,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2CHJzD,YA2BM,OA3BA1d,MAAO,EAAA1D,GAAG,2B,CACd,YAyBM,MAzBN,GAyBM,CAxBJ,YAuBK,KAvBL,GAuBK,CAtBH,YAUK,WATH,YAAmD,qBAA7C,EAAAA,GAAG,qCAAD,GACR,YAOK,KAPL,GAOK,CANH,YAKK,WAJH,YAGyB,KAFtBshB,KAAM,EAAAJ,mBACPxS,OAAO,U,YACL,EAAAqS,gBAAc,YAIxB,YAUK,WATH,YAAoD,qBAA9C,EAAA/gB,GAAG,sCAAD,GACR,YAOK,KAPL,GAOK,CANH,YAKK,WAJH,YAG0B,KAFvBshB,KAAM,EAAAL,oBACPvS,OAAO,U,YACL,EAAAsS,iBAAe,iB,oBIrB1BhjB,MAAM,a,IACJA,MAAM,qB,IACJA,MAAM,a,UAGPA,MAAM,iB,IAEDA,MAAM,iB,IAGNA,MAAM,W,IAuCRA,MAAM,O,IACJA,MAAM,W,IAGP2Q,IAAI,kBACJ3Q,MAAM,U,iBAqBLA,MAAM,iB,IAgBVA,MAAM,qB,IACHA,MAAM,e,IAKNA,MAAM,e,IAKNA,MAAM,e,IAKNA,MAAM,e,IAKNA,MAAM,e,iBAiBLA,MAAM,c,IAEJA,MAAM,sB,IAiBRA,MAAM,c,IAiCNA,MAAM,c,IAqBNA,MAAM,c,IAcNA,MAAM,c,iBAqBNA,MAAM,c,IAeNA,MAAM,c,IAuENA,MAAM,c,IAmBNA,MAAM,c,IAmCNA,MAAM,c,IAuBNA,MAAM,c,IAsBNA,MAAM,c,IAqHNA,MAAM,c,IAuBNA,MAAM,c,IAeNA,MAAM,c,IA0BNA,MAAM,c,IAeNA,MAAM,c,IASNA,MAAM,c,IAeNA,MAAM,c,IASNA,MAAM,c,IAuBNA,MAAM,c,IA6BNA,MAAM,c,IAuBNA,MAAM,c,IAuBNA,MAAM,c,iBAiENA,MAAM,c,iBAuFNA,MAAM,8B,IACJA,MAAM,oB,iBAiBNA,MAAM,Y,IAEP2Q,IAAI,WACJ3Q,MAAM,S,eAGA,IACR,YAAG,KAAM,K,GAQT,YAGE,SAFAA,MAAM,iBACN2Q,IAAI,Y,uBAqBN,YAAkC,YAA5B,yBAAqB,G,GAQ3B,YAAwB,YAAlB,eAAW,G,GACjB,YAA0B,YAApB,iBAAa,G,GACnB,YAAkB,YAAZ,SAAK,G,GAOX,YAAuB,YAAjB,cAAU,G,iBAUf3Q,MAAM,c,IA0CVA,MAAM,mB,uFCj/BRA,MAAM,2B,oEAoBPA,MAAM,wBAcC,QACb6D,WAAY,CACVC,cAEFxD,MAAO,CAELkP,KAAM,CACJ9O,UAAU,EACVF,KAAMI,QAGR8E,MAAO,CACLhF,UAAU,EACVF,KAAMI,QAIR2iB,WAAY,CACV7iB,UAAU,EACVF,KAAMI,OACNwB,aAASiM,GAGXmV,SAAU,CACR9iB,UAAU,EACVF,KAAMI,OACNwB,aAASiM,GAGX1G,SAAU,CACRjH,UAAU,EACVF,KAAM8P,QACNlO,SAAS,GAGXqhB,oBAAqB,CACnB/iB,UAAU,EACVF,KAAM8P,QACNlO,SAAS,IAGbshB,MAAO,CAAC,qBACR3f,SAAU,CACR4f,QADQ,WAEN,YAAkC,IAApBriB,KAAKiiB,YAErBK,WAJQ,WAKN,OAAOC,aAAQviB,KAAKiiB,YAAcjiB,KAAKkiB,WAEzCM,iBAPQ,WAQN,MAA2B,gBAApBxiB,KAAKiiB,YAEdQ,cAVQ,WAWN,OAAOziB,KAAKiiB,YAAcjiB,KAAKiiB,WAAW/U,WAAW,S,cC/F5C,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2EDPzD,YA6CM,OA5CJxO,MAAK,aAAC,4BAA2B,WACZ,EAAA2jB,SAAW,EAAAhc,a,CAEhC,YAKQ,SAJLgJ,IAAK,EAAAnB,KACNxP,MAAM,S,YAEH,EAAA0F,OAAK,WAGkB,IAAb,EAAA8d,UAA4B,EAAAC,qB,cAD3C,YAME,G,MAJC5Z,cAAa,EAAA8Z,QACbhc,SAAU,EAAAA,SACX3H,MAAM,MACL,sBAAiB,eAAE,EAAAoS,MAAM,yBAA2C,IAAf,EAAAmR,WAA6B,EAAAC,cAAWnV,K,uDAEhG,YA2BM,MA3BN,GA2BM,CA1BJ,YAOC,SANE5J,GAAI,EAAA+K,KAAO,KACZxP,MAAM,qBACNQ,KAAK,OACJmJ,MAAO,EAAA4Z,YAAc,EAAAC,SACrB7b,UAAW,EAAAgc,SAAW,EAAAhc,SACtB,QAAK,eAAE,EAAAyK,MAAM,oBAAqBwO,EAAOlQ,OAAO/G,S,YAG3C,EAAU,Y,cADlB,YAQC,S,MANElF,GAAI,EAAA+K,KACLxP,MAAM,uBACNQ,KAAK,QACJmJ,MAAO,EAAA4Z,YAAc,EAAAC,SACrB7b,UAAW,EAAAgc,SAAW,EAAAhc,SACtB,QAAK,eAAE,EAAAyK,MAAM,oBAAqBwO,EAAOlQ,OAAO/G,S,gCAG3C,EAAgB,kB,cADxB,YAGE,MAHF,K,mBAKQ,EAAa,e,cADrB,YAIE,O,MAFA3J,MAAM,oBACL+C,MAAK,6BAAoB,EAAAygB,Y,sLEOnB,QACbljB,MAAO,CACL,OAAQ,aAAc,WAAY,WAAY,QAAS,MAAO,MAAO,OAAQ,UAAW,WAE1FojB,MAAO,CAAC,qBACR3f,SAAU,CACR4f,QADQ,WAEN,YAAkC,IAApBriB,KAAKiiB,cClDV,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2CDJzD,YA6CM,OA5CJvjB,MAAK,aAAC,8BAA6B,WACd,EAAA2jB,SAAW,EAAAhc,a,CAEhC,YAKQ,SAJLgJ,IAAK,EAAAnB,KACNxP,MAAM,S,YAEH,EAAA0F,OAAK,WAGkB,IAAb,EAAA8d,U,cADf,YAOC,S,MALE/e,GAAI,EAAA+K,KAAO,KACZxP,MAAM,MACNQ,KAAK,WACJ+I,QAAS,EAAAoa,QACT,SAAM,eAAE,EAAAvR,MAAM,oBAAsB,EAAAuR,aAAqBtV,EAAX,EAAAmV,Y,qCAGrB,IAAb,EAAAA,U,cADf,YAIE,S,MAFAxjB,MAAM,QACL2Q,IAAK,EAAAnB,KAAO,M,+BAEf,YAUC,SATE/K,GAAI,EAAA+K,KACLxP,MAAM,eACNQ,KAAK,QACJmJ,MAAO,EAAA4Z,YAAc,EAAAC,SACrB7b,UAAW,EAAAgc,SAAW,EAAAhc,SACtBqc,IAAK,EAAAA,KAAO,EAAAC,SAAW,IACvB1T,IAAK,EAAAA,KAAO,EAAA2T,SAAW,EACvBtT,KAAM,EAAAA,MAAQ,EACd,QAAK,eAAE,EAAAwB,MAAM,oBAAqBwO,EAAOlQ,OAAO/G,S,YAEnD,YAUC,SATElF,GAAI,EAAA+K,KACLxP,MAAM,eACNQ,KAAK,SACJmJ,MAAO,EAAA4Z,YAAc,EAAAC,SACrB7b,UAAW,EAAAgc,SAAW,EAAAhc,SACtBqc,IAAK,EAAAC,QACL1T,IAAK,EAAA2T,QACLtT,KAAM,EAAAA,MAAQ,EACd,QAAK,eAAE,EAAAwB,MAAM,oBAAqBwO,EAAOlQ,OAAO/G,S,kEEVxC,QACb9F,WAAY,CACVC,cAEFxD,MAAO,CACL,OAAQ,aAAc,WAAY,YAEpCojB,MAAO,CAAC,qBACR3f,SAAU,CACR4f,QADQ,WAEN,YAAkC,IAApBriB,KAAKiiB,cCrCV,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2EDJzD,YA4BM,OA3BJvjB,MAAK,aAAC,gCAA+B,WAChB,EAAA2jB,SAAW,EAAAhc,a,CAEhC,YAKQ,SAJLgJ,IAAK,EAAAnB,KACNxP,MAAM,S,YAEH,EAAAgC,GAAG,kCAAD,WAGqB,IAAb,EAAAwhB,U,cADf,YAME,G,MAJC3Z,cAAa,EAAA8Z,QACbhc,SAAU,EAAAA,SACX3H,MAAM,MACL,sBAAiB,eAAE,EAAAoS,MAAM,oBAAsB,EAAAuR,aAAqBtV,EAAX,EAAAmV,Y,uDAE5D,YAUC,SATE/e,GAAI,EAAA+K,KACLxP,MAAM,eACNQ,KAAK,SACJmJ,MAAO,EAAA4Z,YAAc,EAAAC,SACrB7b,UAAW,EAAAgc,SAAW,EAAAhc,SACvBqc,IAAI,IACJzT,IAAI,IACJK,KAAK,MACJ,QAAK,eAAE,EAAAwB,MAAM,oBAAqBwO,EAAOlQ,OAAO/G,S,8BEtB9C3J,MAAM,4B,oCAWFA,MAAM,Q,oBAWRA,MAAM,kB,oCAgBJA,MAAM,Q,oBAaVA,MAAM,gB,iHAiEL2Q,IAAI,QACJ3Q,MAAM,S,mBAYR,YAGE,SAFAA,MAAM,iBACN2Q,IAAI,S,6BAQJA,IAAI,SACJ3Q,MAAM,S,oDA2BN2Q,IAAI,SACJ3Q,MAAM,S,mCAsCR,YAA2B,YAArB,kBAAc,G,qkBCtM5BC,IAAQC,IACNikB,IACAC,IACAhkB,KACAka,KAGF,IAAM+J,GAAU,eAACC,EAAD,uDAAU,GAAV,WACdC,EAAG,EACHC,EAAG,EACHC,KAAM,EACNC,OAAQ,EACRC,OAAO,EACPC,MAAO,UACPC,MAAO,GACJP,IAGU,IAKbhkB,MAAO,CACL,aAAc,WAAY,SAE5BojB,MAAO,CAAC,qBACR3iB,KATa,WAUX,MAAO,CACL+jB,WAAY,EAEZC,QAASzjB,KAAKiiB,YAAcjiB,KAAKkiB,UAAY,IAAIpe,IAAIif,MAGzDxgB,WAAY,CACVmhB,cACAC,gBACA9U,aAEF/O,QAAS,CACPlB,IADO,WAELoB,KAAKyjB,OAAOvb,KAAK6a,GAAQ/iB,KAAKuH,WAC9BvH,KAAKwjB,WAAaxjB,KAAKyjB,OAAOje,OAAS,GAEzCoe,IALO,WAML5jB,KAAKyjB,OAAOtb,OAAOnI,KAAKwjB,WAAY,GACpCxjB,KAAKwjB,WAAoC,IAAvBxjB,KAAKyjB,OAAOje,YAAeuH,EAAY8W,KAAKnB,IAAI1iB,KAAKwjB,WAAa,EAAG,IAEzFM,OATO,WAUL,IAAM9M,EAAUhX,KAAKyjB,OAAOtb,OAAOnI,KAAKwjB,WAAY,GAAG,GACvDxjB,KAAKyjB,OAAOtb,OAAOnI,KAAKwjB,WAAa,EAAG,EAAGxM,GAC3ChX,KAAKwjB,YAAc,GAErBO,OAdO,WAeL,IAAM/M,EAAUhX,KAAKyjB,OAAOtb,OAAOnI,KAAKwjB,WAAY,GAAG,GACvDxjB,KAAKyjB,OAAOtb,OAAOnI,KAAKwjB,WAAa,EAAG,EAAGxM,GAC3ChX,KAAKwjB,YAAc,IAGvBQ,aAzCa,WA0CXhkB,KAAKyjB,OAASzjB,KAAKiiB,YAAcjiB,KAAKkiB,UAExCzf,SAAU,CACRwhB,WADQ,WAEN,OAAOjkB,KAAKyjB,OAAOje,OAAS,GAE9B0e,mBAJQ,WAKN,OAAOlkB,KAAKkiB,SAAS1c,OAAS,GAEhC+B,SAPQ,WAQN,OAAIvH,KAAKyQ,OAASzQ,KAAKikB,WACdjkB,KAAKyjB,OAAOzjB,KAAKwjB,YAEjBT,GAAQ,KAGnBoB,gBAdQ,WAeN,OAAInkB,KAAKyQ,OAASzQ,KAAKkkB,mBACdlkB,KAAKkiB,SAASliB,KAAKwjB,YAEnBT,GAAQ,KAGnBqB,YArBQ,WAsBN,OAAOpkB,KAAKyQ,OAASzQ,KAAKwjB,WAAa,GAEzCa,YAxBQ,WAyBN,OAAOrkB,KAAKyQ,OAASzQ,KAAKwjB,WAAaxjB,KAAKyjB,OAAOje,OAAS,GAE9D6c,QA3BQ,WA4BN,OAAOriB,KAAKyQ,YAC8B,IAAjCzQ,KAAKyjB,OAAOzjB,KAAKwjB,cACvBxjB,KAAKskB,eAEVA,cAhCQ,WAiCN,YAAkC,IAApBtkB,KAAKiiB,YAErBsC,IAnCQ,WAoCN,OAAOhC,aAAQviB,KAAKuH,SAAS+b,QAE/B7hB,MAtCQ,WAuCN,OAAOzB,KAAKyQ,MAAQ,CAClB+T,UAAWC,aAAazkB,KAAKkiB,WAC3B,M,OC3GK,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,mLFNzD,YAqNM,OApNJxjB,MAAK,aAAC,iBAAgB,WACD,EAAA2jB,Y,CAErB,YAiDM,MAjDN,GAiDM,CAhDJ,YAoBM,OAnBHhc,UAAW,EAAAgc,QACZ3jB,MAAM,mB,aAEN,YAKC,S,qCAJU,EAAA6I,SAAU,KAClBlB,UAAW,EAAAgc,QACZ3jB,MAAM,eACNQ,KAAK,U,iBAHI,EAAAqI,SAAS2b,KAKpB,YASM,MATN,GASM,C,YARJ,YAOC,S,qCANU,EAAA3b,SAAU,KAClBlB,UAAW,EAAAgc,QACZ3jB,MAAM,cACNQ,KAAK,QACLwjB,IAAI,KACJzT,IAAI,O,iBALK,EAAA1H,SAAS2b,Q,MASxB,YAKM,MALN,GAKM,CAJJ,YAGE,OAFAxkB,MAAM,gBACL+C,MAAK,YAAE,EAAAA,Q,UAGZ,YAoBM,OAnBH4E,UAAW,EAAAgc,QACZ3jB,MAAM,mB,aAEN,YAKC,S,qCAJU,EAAA6I,SAAU,KAClBlB,UAAW,EAAAgc,QACZ3jB,MAAM,eACNQ,KAAK,U,iBAHI,EAAAqI,SAAS0b,KAKpB,YASM,MATN,GASM,C,YARJ,YAOC,S,qCANU,EAAA1b,SAAU,KAClBlB,UAAW,EAAAgc,QACZ3jB,MAAM,cACNQ,KAAK,QACLwjB,IAAI,KACJzT,IAAI,O,iBALK,EAAA1H,SAAS0b,Q,QAW1B,YA6JM,MA7JN,GA6JM,CA5JJ,YA0DM,OAzDH5c,SAAU,EAAAie,cACX5lB,MAAM,4B,CAEN,YAaS,GAZPyE,GAAG,kB,WACM,EAAAqgB,W,qCAAA,EAAU,cACnB9kB,MAAM,kBACL2H,UAAW,EAAAoK,OAAS,EAAA6T,e,qBAGnB,IAAiC,E,gBADnC,YAMS,qBALmB,EAAAb,OAAM,CAAxBiB,EAAQ1H,K,cADlB,YAMS,UAJNtV,IAAKsV,EACL3U,MAAO2U,G,YAEL,EAAAtc,GAAG,mCAAoC,CAAE2H,MAAO2U,KAAK,Q,0CAG5D,YASS,UARPte,MAAM,qBACL2H,UAAW,EAAAoK,QAAU,EAAA4R,QACrB,QAAK,oBAAE,EAAAuB,KAAA,EAAAA,OAAA,K,CAER,YAGE,GAFAe,cAAA,GACAlkB,KAAK,W,MAGT,YASS,UARP/B,MAAM,qBACL2H,UAAW,EAAA+d,YACX,QAAK,oBAAE,EAAAN,QAAA,EAAAA,UAAA,K,CAER,YAGE,GAFAa,cAAA,GACAlkB,KAAK,gB,MAGT,YASS,UARP/B,MAAM,qBACL2H,UAAW,EAAAge,YACX,QAAK,oBAAE,EAAAN,QAAA,EAAAA,UAAA,K,CAER,YAGE,GAFAY,cAAA,GACAlkB,KAAK,kB,MAGT,YASS,UARP/B,MAAM,qBACL2H,SAAU,EAAAie,cACV,QAAK,oBAAE,EAAA1lB,KAAA,EAAAA,OAAA,K,CAER,YAGE,GAFA+lB,cAAA,GACAlkB,KAAK,U,aAIX,YAsBM,OArBH4F,UAAW,EAAAgc,QACZ3jB,MAAM,+B,CAEN,YAKQ,QALR,GAKQ,YADH,EAAAgC,GAAG,iCAAD,G,YAEP,YAOC,SANCyC,GAAG,Q,qCACM,EAAAoE,SAAc,SACtBlB,UAAW,EAAAgc,QACZnU,KAAK,QACLxP,MAAM,cACNQ,KAAK,Y,iBAJI,EAAAqI,SAAS8b,SAMpB,I,MAKF,YA2BM,OA1BHhd,UAAW,EAAAgc,QACZ3jB,MAAM,8B,CAEN,YAKQ,QALR,GAKQ,YADH,EAAAgC,GAAG,gCAAD,G,YAEP,YASC,SARCyC,GAAG,O,uCACM,EAAAoE,SAAa,QACrBlB,UAAW,EAAAgc,QACZnU,KAAK,OACLxP,MAAM,cACNQ,KAAK,QACLwjB,IAAI,KACJzT,IAAI,K,iBANK,EAAA1H,SAAS4b,Q,YAQpB,YAMC,S,uCALU,EAAA5b,SAAa,QACrBlB,UAAW,EAAAgc,QACZ3jB,MAAM,eACNQ,KAAK,SACL+P,IAAI,K,iBAJK,EAAA1H,SAAS4b,S,MAOtB,YA0BM,OAzBH9c,UAAW,EAAAgc,QACZ3jB,MAAM,gC,CAEN,YAKQ,QALR,GAKQ,YADH,EAAAgC,GAAG,kCAAD,G,YAEP,YASC,SARCyC,GAAG,S,uCACM,EAAAoE,SAAe,UACvBlB,UAAW,EAAAgc,QACZnU,KAAK,SACLxP,MAAM,cACNQ,KAAK,QACLwjB,IAAI,KACJzT,IAAI,O,iBANK,EAAA1H,SAAS6b,U,YAQpB,YAKC,S,uCAJU,EAAA7b,SAAe,UACvBlB,UAAW,EAAAgc,QACZ3jB,MAAM,eACNQ,KAAK,U,iBAHI,EAAAqI,SAAS6b,W,MAMtB,YAOE,G,WANS,EAAA7b,SAAS+b,M,uCAAT,EAAA/b,SAAc,SACtBlB,UAAW,EAAAgc,QACXje,MAAO,EAAA1D,GAAG,+BACVwhB,SAAU,EAAAiC,gBAAgBb,MAC1BsB,yBAAuB,EACxB1W,KAAK,U,qDAEP,YAGE,G,WAFS,EAAA3G,SAASgc,M,uCAAT,EAAAhc,SAAc,SACtBlB,UAAW,EAAAgc,S,kCAEd,YAMS,GALPwC,MAAM,SACNC,QAAQ,gCACRC,IAAI,K,qBAEJ,IAA2B,CAA3B,K,+EG5LF,IACF,YAAG,KAAM,K,uBCrBE,QACbxiB,WAAY,CACVsM,aAEF7P,MAAO,CACL,OAAQ,QAAS,aAAc,WAAY,UAAW,cAExDojB,MAAO,CAAC,qBACR3iB,KARa,WASX,MAAO,CACLulB,OAAQhlB,KAAKiiB,WACbgD,iBAAkB,CAChBjlB,KAAKklB,UAAY,GAAK,UACtB,UAFgB,YAGZllB,KAAK8O,SAAW,IAHJ,CAIhB,QACA,YACA,eACAnK,QAAO,SAAAsa,GAAC,OAAIA,OAGlB+E,aArBa,WAsBXhkB,KAAKglB,OAAShlB,KAAKiiB,YAErBxf,SAAU,CACR4f,QADQ,WAEN,YAA8B,IAAhBriB,KAAKglB,QAErBG,OAJQ,WAKN,OAAOnlB,KAAKglB,QAAUhlB,KAAKkiB,UAAY,IAEzCkD,OAAQ,CACNpb,IADM,WAEJ,OAAOhK,KAAKmlB,OAAOC,QAErBnX,IAJM,SAID7E,GACH,KAAIpJ,KAAKglB,OAAQ,SAAU5b,GAC3BpJ,KAAK8Q,MAAM,oBAAqB9Q,KAAKglB,UAGzCK,SAhBQ,WAiBN,MAAuB,WAAhBrlB,KAAKslB,QAEdA,OAAQ,CACNtb,IADM,WAEJ,MAAoB,UAAhBhK,KAAKolB,QACW,eAAhBplB,KAAKolB,QACW,cAAhBplB,KAAKolB,QACW,YAAhBplB,KAAKolB,OACAplB,KAAKolB,OAEL,UAGXnX,IAXM,SAWD7E,GACHpJ,KAAKolB,OAAe,WAANhc,EAAiB,GAAKA,M,OCjD7B,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,yEFNzD,YA6CM,OA5CJ1K,MAAK,aAAC,6BAA4B,QAChB,EAAA2mB,a,CAElB,YAKQ,SAJLhW,IAAgB,WAAX,EAAAiW,OAAsB,EAAApX,KAAO,EAAAA,KAAO,iBAC1CxP,MAAM,S,YAEH,EAAA0F,OAAK,WAGkB,IAAb,EAAA8d,U,cADf,YAOC,S,MALE/e,GAAI,EAAA+K,KAAO,KACZxP,MAAM,uBACNQ,KAAK,WACJ+I,QAAS,EAAAoa,QACT,SAAM,eAAE,EAAAvR,MAAM,yBAA2C,IAAf,EAAAmR,WAA6B,EAAAC,cAAWnV,K,qCAGzD,IAAb,EAAAmV,U,cADf,YAIE,S,MAFAxjB,MAAM,QACL2Q,IAAK,EAAAnB,KAAO,M,kCAGf,YAaS,GAZN/K,GAAI,EAAA+K,KAAO,iB,WACH,EAAAoX,O,qCAAA,EAAM,UACdjf,UAAW,EAAAgc,QACZ3jB,MAAM,iB,qBAGJ,IAAkC,E,gBADpC,YAMS,qBALU,EAAAumB,iBAAVlW,I,cADT,YAMS,UAJNrH,IAAKqH,EACL1G,MAAO0G,G,YAEM,WAAXA,EAAsB,EAAArO,GAAG,+BAAiCqO,GAAM,Q,+CAI/D,EAAQ,S,2BADhB,YAMC,S,MAJE5L,GAAI,EAAA+K,K,qCACI,EAAM,UACfxP,MAAM,cACNQ,KAAK,Q,kBAFI,EAAAkmB,U,2CGvCX1mB,MAAM,kB,4FA0CVC,IAAQC,IACN2mB,IACAC,IACAC,MAGa,QACbzmB,MAAO,CACL0mB,MAAO,CACLtmB,UAAU,EACVF,KAAM8P,QACNlO,SAAS,GAIX6kB,SAAU,CACRvmB,UAAU,EACVF,KAAM+J,OACNnI,QAAS,iBAAO,MAGpB2B,SAAU,CACRmjB,KADQ,WAEN,IAAMC,EAAW7lB,KAAK2lB,SAASG,IAAM,MAAS9lB,KAAK2lB,SAASI,GAAK,KAAO,MAClEhI,EAAQ/d,KAAKU,GAAL,+CAAgDmlB,IACxDG,EAAUhmB,KAAKU,GAAG,+CAClBulB,EAAQjmB,KAAK2lB,SAASO,KAC5B,OAAOlmB,KAAKU,GAAG,sCAAuC,CAAEqd,QAAOiI,UAASC,WAE1EE,UARQ,WASN,IAAMN,EAAW7lB,KAAK2lB,SAASS,KAAO,MAASpmB,KAAK2lB,SAASU,IAAM,KAAO,MACpEtI,EAAQ/d,KAAKU,GAAL,+CAAgDmlB,IACxDG,EAAUhmB,KAAKU,GAAG,+CAClBulB,EAAQjmB,KAAK2lB,SAASO,KAC5B,OAAOlmB,KAAKU,GAAG,sCAAuC,CAAEqd,QAAOiI,UAASC,a,OCtE/D,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2DDLjD,EAAQ,U,cADhB,YAiCO,OAjCP,GAiCO,CA7BL,YAaO,QAZJ5G,MAAO,EAAAuG,KACRlnB,MAAM,U,CAEM,EAAAinB,SAAY,K,cAAxB,YAEO,WADL,YAA2B,GAAnBllB,KAAK,iB,oBAEF,EAAAklB,SAASG,KAAO,EAAAH,SAASI,I,cAAtC,YAEO,WADL,YAAwB,GAAhBtlB,KAAK,c,mBAEF,EAAAklB,SAASG,KAAQ,EAAAH,SAASI,G,kCAAvC,YAEO,WADL,YAAsC,GAA9BtlB,KAAK,6B,MAIT,EAAAklB,UAAY,EAAAD,O,cADpB,YAcO,Q,MAZLhnB,MAAM,SACL2gB,MAAO,EAAA8G,W,CAEI,EAAAR,SAAa,M,cAAzB,YAEO,WADL,YAA2B,GAAnBllB,KAAK,iB,oBAEF,EAAAklB,SAASS,MAAQ,EAAAT,SAASU,K,cAAvC,YAEO,WADL,YAAwB,GAAhB5lB,KAAK,c,mBAEF,EAAAklB,SAASS,MAAS,EAAAT,SAASU,I,kCAAxC,YAEO,WADL,YAAsC,GAA9B5lB,KAAK,6B,8DE9Bd/B,MAAM,qB,GACT,YAAyC,OAApCA,MAAM,6BAA2B,S,IACjCA,MAAM,e,IACJA,MAAM,iB,IACJA,MAAM,S,GAET,YAEO,QAFDA,MAAM,4BAA2B,QAEvC,G,IAEIA,MAAM,S,IAGNA,MAAM,e,IAGJA,MAAM,sB,IAIXA,MAAM,oC,IACJA,MAAM,Q,GACT,YAEM,OAFDA,MAAM,sBAAqB,iBAEhC,G,IACKA,MAAM,W,IAMD+C,MAAA,uC,IAGHA,MAAA,uB,IAKA/C,MAAM,S,IA6BVA,MAAM,c,GACT,YAEM,OAFDA,MAAM,cAAa,SAExB,G,IACKA,MAAM,W,IAOJ+C,MAAA,4B,GAMT,YAAyB,OAApB/C,MAAM,aAAW,S,IAEhBA,MAAM,e,iBAQPA,MAAM,W,IACHA,MAAM,Y,GACV,YAIC,SAHCyE,GAAG,mBACH8E,QAAQ,WACR/I,KAAK,Y,aAEAmQ,IAAI,oB,IAEL3Q,MAAM,sBAkBxBC,IAAQC,IACNE,KACAwnB,KACAC,IACAC,KAGa,U,OCzHA,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,iGDNzD,YA8GM,MA9GN,GA8GM,CA7GJ,GACA,YA2GM,MA3GN,GA2GM,CA1GJ,YAgBM,MAhBN,GAgBM,CAfJ,YAKM,MALN,GAKM,C,wBAJD,EAAA9lB,GAAG,kCAAmC,IACzC,QAIF,YAEO,OAFP,GAEO,YADF,EAAAA,GAAG,wCAAD,GAEP,YAEO,OAFP,GAEO,YADF,EAAAA,GAAG,iCAAD,GAEP,YAES,SAFT,GAES,YADJ,EAAAA,GAAG,kCAAD,KAGT,YAwFM,MAxFN,GAwFM,CAvFJ,YA6CM,MA7CN,GA6CM,CA5CJ,GAGA,YAwCM,MAxCN,GAwCM,CAvCJ,YAEK,sBADA,EAAAA,GAAG,mCAAD,GAGP,YAOS,GAPDmkB,MAAM,SAASC,QAAQ,+B,qBAC7B,IAEO,CAFP,YAEO,OAFP,GAEO,YADF,EAAApkB,GAAG,gCAAD,GAEP,YAEI,IAFJ,GAEI,YADC,EAAAA,GAAG,gCAAD,K,MAIT,YAyBM,MAzBN,GAyBM,CAxBJ,YAKE,GAJAikB,cAAA,GACAljB,MAAA,uBACA/C,MAAM,8BACN+B,KAAK,UAEP,YAKE,GAJAkkB,cAAA,GACAljB,MAAA,wBACA/C,MAAM,8BACN+B,KAAK,YAEP,YAKE,GAJAkkB,cAAA,GACAljB,MAAA,yBACA/C,MAAM,8BACN+B,KAAK,SAEP,YAKE,GAJAkkB,cAAA,GACAljB,MAAA,sBACA/C,MAAM,8BACN+B,KAAK,gBAMb,YAgBM,MAhBN,GAgBM,CAfJ,GAGA,YAWM,MAXN,GAWM,CAVJ,YASS,GARPqkB,QAAQ,oCACRC,IAAI,OACJrmB,MAAM,QACNmmB,MAAM,U,qBAEN,IAEI,CAFJ,YAEI,IAFJ,GAEI,YADC,EAAAnkB,GAAG,sCAAD,K,UAKb,GAEA,YAEO,OAFP,GAEO,YADF,EAAAA,GAAG,iCAAD,GAEP,YAGC,SAFE2H,MAAO,EAAA3H,GAAG,gCACXxB,KAAK,Q,WAGP,YAYM,MAZN,GAYM,CAXJ,YAOO,OAPP,GAOO,CANL,GAKA,YAAiF,QAAjF,GAAiF,YAAhD,EAAAwB,GAAG,oCAAD,KAErC,YAES,SAFT,GAES,YADJ,EAAAA,GAAG,kCAAD,e,qkBEhEjB,IAAM+lB,GAAc,CAClB,KACA,KACA,OACA,OACA,OACA,SACA,QACA,WACA3iB,KAAI,SAAAmb,GAAC,OAAIA,EAAI,gBAUA,IACbxf,KADa,WACL,WACN,iBACEinB,cAAeC,aAAY,CACzBC,UAAW5mB,KAAK6mB,gBAChBC,SAAU9mB,KAAK8mB,SACfC,gBAAiB/mB,KAAK+mB,kBAExBC,cAAeC,aAAY,CACzBpmB,SAAU,gBACVqmB,kBAAmB,kBAAM,EAAKC,iBAEhCC,gBAAiB,GACjB7f,SAAU,GACV8f,cAAernB,KAAKqC,OAAOuD,QAAQoI,aAAasZ,MAChDC,kBAAcxa,EACdya,oBAAgBza,EAChB0a,cAAe,EAEfC,eAAgB,GAChBC,cAAe,GACfC,aAAc,GACdC,aAAc,GAEdC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,EAEdC,WAAW,EACXC,aAAa,EACbC,aAAa,EACbC,eAAe,EACfC,WAAW,GAERpf,OAAOC,KAAKof,MACZxkB,KAAI,SAAA4D,GAAG,MAAI,CAACA,EAAK,OACjBoG,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYvC,EAAZ,eAAC,MAA0B4I,GAA3B,UAAkCrG,EAAM,aAAgBvC,MAAQ,KAEvE8D,OAAOC,KAAKqf,MACZzkB,KAAI,SAAA4D,GAAG,MAAI,CAACA,EAAK,OACjBoG,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYvC,EAAZ,eAAC,MAA0B4I,GAA3B,UAAkCrG,EAAM,eAAkBvC,MAAQ,KAtC9E,IAwCEqjB,oBAAgBzb,EAChB0b,aAAc,GACdC,WAAY,GAEZC,eAAgB,GAChBC,iBAAkB,GAClBC,oBAAqB,GACrBC,iBAAkB,GAClBC,kBAAmB,GACnBC,qBAAsB,GACtBC,sBAAuB,GACvBC,mBAAoB,GACpBC,uBAAwB,MAG5B/mB,QAzDa,WA0DX,IAAMgnB,EAAOppB,KAEbqpB,eACG/oB,MAAK,SAACgpB,GACL,OAAO9d,QAAQ+d,IACbtgB,OAAOugB,QAAQF,GACZxlB,KAAI,4BAAE2lB,EAAF,iBAAcnpB,MAAK,SAAAoR,GAAG,MAAI,CAAC+X,EAAG/X,aAGxCpR,MAAK,SAAAopB,GAAM,OAAIA,EAAO5b,QAAO,SAACC,EAAD,GAAiB,gBAAV0b,EAAU,KAAPrgB,EAAO,KAC7C,OAAIA,EACF,SACK2E,GADL,UAEG0b,EAAIrgB,IAGA2E,IAER,OACFzN,MAAK,SAACqpB,GACLP,EAAKhC,gBAAkBuC,MAG7B5V,QAjFa,WAkFX/T,KAAK4pB,iCAC8B,IAAxB5pB,KAAKwoB,iBACdxoB,KAAKwoB,eAAiBxoB,KAAK6pB,iBAAiB,KAGhDpnB,SAAU,CACRqnB,iBADQ,WAEN,GAAK9pB,KAAKunB,aAAV,CACA,IAAM/Q,EAAIxW,KAAKU,GACTqpB,EAAM,gCACZ,EAKI/pB,KAAKunB,aAJPyC,EADF,EACEA,OACAC,EAFF,EAEEA,mBACA/qB,EAHF,EAGEA,KACAgrB,EAJF,EAIEA,kBAEF,GAAe,SAAXF,EAAmB,CAErB,GAA2B,IAAvBC,GAAqC,kBAAT/qB,EAC9B,OAAOsX,EAAEuT,EAAM,eAEjB,GAAIE,EAAqBE,KACvB,OAAO3T,EAAEuT,EAAM,2BAA6B,IAGpCvT,EADJ0T,EACMH,EAAM,mBACNA,EAAM,oBAGlB,GAAIE,EAAqBE,KACvB,OAAO3T,EAAEuT,EAAM,2BAA6B,IAGpCvT,EADJ0T,EACMH,EAAM,mBACNA,EAAM,yBAGb,GAAe,iBAAXC,EAA2B,CACpC,GAAa,6BAAT9qB,EACF,OAAOsX,EAAEuT,EAAM,4BAGjB,GAA2B,IAAvBE,EACF,OAAOzT,EAAEuT,EAAM,oBAGjB,GAAIE,EAAqBE,KACvB,OAAO3T,EAAEuT,EAAM,iBAAmB,IAG1BvT,EADJ0T,EACMH,EAAM,wBACNA,EAAM,2BAIlB,GAAIE,EAAqBE,KACvB,OAAO3T,EAAEuT,EAAM,eAAiB,IAGxBvT,EADJ0T,EACMH,EAAM,wBACNA,EAAM,8BAKtBK,gBA5DQ,WA6DN,OAAO/iB,MAAMgjB,QAAQrqB,KAAKqnB,eAAiB,EAAI,GAEjDiD,cA/DQ,WA+DS,WACf,OAAOrhB,OAAOC,KAAKof,MAChBxkB,KAAI,SAAA4D,GAAG,MAAI,CAACA,EAAK,EAAKA,EAAM,kBAC5BoG,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYvC,EAAZ,eAAC,MAA0B4I,GAA3B,UAAkCrG,EAAOvC,MAAQ,KAE7DolB,eApEQ,WAoEU,WAChB,OAAOthB,OAAOC,KAAKqf,MAChBzkB,KAAI,SAAA4D,GAAG,MAAI,CAACA,EAAK,EAAKA,EAAM,oBAC5BoG,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYvC,EAAZ,eAAC,MAA0B4I,GAA3B,UAAkCrG,EAAOvC,MAAQ,KAE7DqlB,aAzEQ,WA0EN,MAAO,CACLC,IAAKzqB,KAAK2oB,eACVzoB,MAAOF,KAAK4oB,iBACZ8B,SAAU1qB,KAAK6oB,oBACf8B,MAAO3qB,KAAK8oB,iBACZtK,OAAQxe,KAAK+oB,kBACb6B,UAAW5qB,KAAKgpB,qBAChB6B,QAAS7qB,KAAKkpB,mBACd4B,WAAY9qB,KAAKipB,sBACjB8B,YAAa/qB,KAAKmpB,yBAGtB6B,QAtFQ,WAuFN,OAAOC,aAAcjrB,KAAK2nB,cAAe3nB,KAAK4nB,aAAc5nB,KAAK0nB,eAAgB1nB,KAAK6nB,eAExFqD,aAzFQ,WA0FN,OAAKlrB,KAAKgrB,QAAQ1D,MAAM6D,OACjBnrB,KAAKgrB,QAAQ1D,MADmB,CAAE6D,OAAQ,GAAIC,QAAS,GAAIC,MAAO,GAAIC,QAAS,GAAIC,MAAO,KAInGC,gBA9FQ,WA+FN,IACE,IAAKxrB,KAAKkrB,aAAaC,OAAOM,GAAI,MAAO,GACzC,IAAMN,EAASnrB,KAAKkrB,aAAaC,OAC3BC,EAAUprB,KAAKkrB,aAAaE,QAClC,IAAKD,EAAOM,GAAI,MAAO,GACvB,IASMC,EAAkBziB,OAAOugB,QAAQ2B,GAAQrd,QAAO,SAACC,EAAD,OA5MxCuV,EA4MwC,YAAO5b,EAAP,KAAYW,EAAZ,eAAC,MAA4B0F,GAA7B,UAAmCrG,GA5M3E4b,EA4M8Fjb,GA3MxG6E,WAAW,OAAmB,gBAAVoW,EACrBA,EAEAf,aAAQe,OAwM4G,IAEjHqI,EAAS1iB,OAAOugB,QAAQlB,MAAkBxa,QAAO,SAACC,EAAD,GAAuB,gBAAhBrG,EAAgB,KAAXW,EAAW,KACtEujB,EAAyB,SAARlkB,GAA0B,SAARA,EAIzC,KAHmBkkB,GACA,WAAjB,KAAOvjB,IAAgC,OAAVA,GAAkBA,EAAMwjB,WAEtC,OAAO9d,EACxB,MAA2B6d,EAAiB,CAAEE,MAAO,MAASzjB,EAAtDyjB,EAAR,EAAQA,MAAOC,EAAf,EAAeA,QACT1R,EAAa0R,GAAWD,EACxBE,EAAcC,aAAe5R,GAC7B6R,EAAa,CACjBxkB,GADc,YAEK,OAAf2S,EAAsB,CAAC,OAAQ,SAAU,QAAS,WAAa,KAG/D8R,EAASC,aACbN,EACAC,GAAWD,EACXE,EACAN,EACAN,GAGF,gBACKrd,GACAme,EAAWpe,QAAO,SAACC,EAAKse,GACzB,IAAMC,EAASV,EACX,KAAOS,EAAa,GAAGE,cAAgBF,EAAa/jB,MAAM,GAC1D+jB,EACJ,gBACKte,GADL,UAEGue,EAASE,aACRd,EAAgBW,GAChBF,EACAT,EAAgBW,QAGnB,OAEJ,IAEH,OAAOpjB,OAAOugB,QAAQmC,GAAQ7d,QAAO,SAACC,EAAD,GAAiB,IAnDvCkY,EAmDuC,YAAVwD,EAAU,KAAPrgB,EAAO,KAAqB,OAAnB2E,EAAI0b,GAnDlC,CACxBvD,MADaD,EAmDwD7c,GAlDzDqjB,YAAY,GAAK,KAE7B1G,GAAIE,GAAS,IACbH,IAAKG,GAAS,EAEdI,IAAKJ,GAAS,EACdG,KAAMH,GAAS,KA4CiElY,IAAO,IACzF,MAAOP,GACPc,QAAQoe,KAAK,8BAA+Blf,KAGhDmf,aA5JQ,WA6JN,OAAK3sB,KAAKgrB,QAAQ4B,MACX,eACF3jB,OAAO4jB,OAAO7sB,KAAKgrB,QAAQ4B,QADzB,CAEL,qBACA,kDACAzoB,KAAK,KALyB,IAOlC0lB,iBApKQ,WAqKN,OAAO5gB,OAAOC,KAAK4jB,MAAiBC,QAEtCC,uBAAwB,CACtBhjB,IADsB,WAEpB,QAAShK,KAAKitB,eAEhBhf,IAJsB,SAIjB9I,GACCA,EACFnF,KAAKyoB,aAAazoB,KAAKwoB,gBAAkBxoB,KAAKktB,sBAAsBppB,KAAI,SAAAmb,GAAC,OAAIhW,OAAOkkB,OAAO,GAAIlO,aAExFjf,KAAKyoB,aAAazoB,KAAKwoB,kBAIpC0E,sBAnLQ,WAoLN,OAAQltB,KAAKkrB,aAAaI,SAAW,IAAItrB,KAAKwoB,iBAEhDyE,cAAe,CACbjjB,IADa,WAEX,OAAOhK,KAAKyoB,aAAazoB,KAAKwoB,iBAEhCva,IAJa,SAIR7E,GACHpJ,KAAKyoB,aAAazoB,KAAKwoB,gBAAkBpf,IAG7CgkB,WA9LQ,WA+LN,OAAQptB,KAAK8nB,iBAAmB9nB,KAAK+nB,gBAAkB/nB,KAAKgoB,cAE9Db,cAjMQ,WAkMN,IAAMkG,IACHrtB,KAAKqoB,WACLroB,KAAKkoB,aACLloB,KAAKmoB,aACLnoB,KAAKooB,eACLpoB,KAAKioB,WAGFqF,EAAS,CACbrD,mBAAoBE,MAwBtB,OArBInqB,KAAKqoB,WAAagF,KACpBC,EAAO/B,MAAQvrB,KAAK0oB,aAElB1oB,KAAKkoB,aAAemF,KACtBC,EAAOhC,QAAUtrB,KAAKyoB,eAEpBzoB,KAAKmoB,aAAekF,KACtBC,EAAOlC,QAAUprB,KAAKuqB,iBAEpBvqB,KAAKioB,WAAaoF,KACpBC,EAAOnC,OAASnrB,KAAKsqB,gBAEnBtqB,KAAKooB,eAAiBiF,KACxBC,EAAOjC,MAAQrrB,KAAKwqB,cAQf,CAEL+C,uBAAwB,EAAGjG,MAPf,IACZ2C,mBAAoBE,MACjBnqB,KAAKkrB,cAK0BoC,WAGtCE,SAxOQ,WAyON,IAAMC,EAAcztB,KAAK8M,QACzB,QAAO2gB,GAAcA,EAAYD,SAAS,WAG9CjrB,WAAY,CACVmhB,cACAC,gBACA+J,cACAC,iBACAC,iBACAC,eACAzjB,gBACA0jB,WACAtrB,aACAqM,aAEF/O,QAAS,CACPiuB,UADO,WAOL/D,GAEA,IANE1C,EAMF,EANEA,MACAgG,EAKF,EALEA,OACwBU,EAI1B,EAJET,uBAGFU,EACA,wDAEA,GADAjuB,KAAKkuB,kBACAZ,IAAWhG,EACd,MAAM,IAAI3jB,MAAM,2BAElB,IAAMwqB,EAAsB,iBAAXnE,GAA8B1C,EAAM6D,OAEjD6C,EADA,KAEEI,GAAyB9G,GAAS,IAAI2C,mBACtCA,GAAsBqD,GAAU,IAAIrD,oBAAsB,EAC1DoE,EAAgBpE,IAAuBE,KACvCmE,OACMvhB,IAAVua,QACava,IAAXugB,GACArD,IAAuBmE,EAIrBG,EAAoBjB,GAAUW,IAAoB3G,EAClD+G,IAAkBC,GACnBC,GACW,OAAZJ,GACW,aAAXnE,IAEEsE,GAAqC,iBAAXtE,EAC5BhqB,KAAKunB,aAAe,CAClByC,SACAC,qBACA/qB,KAAM,4BAEEooB,EAOA+G,IACVruB,KAAKunB,aAAe,CAClByC,SACAE,mBAAoBoD,EACpBrD,qBACA/qB,KAAM,kBAXRc,KAAKunB,aAAe,CAClByC,SACAE,mBAAmB,EACnBD,qBACA/qB,KAAM,4BAWZc,KAAKwuB,oBAAoBlH,EAAO6G,EAASb,EAAQiB,IAEnDE,sBAzDO,WA0DLzuB,KAAK4pB,2BAA0B,IAEjCsE,eA5DO,WA6DLluB,KAAKunB,kBAAexa,EACpB/M,KAAKwnB,oBAAiBza,GAExB2hB,UAhEO,WAkEL,OADmB1uB,KAAKunB,aAAhByC,QAEN,IAAK,eACHhqB,KAAK4pB,2BAA0B,GAC/B,MACF,IAAK,OACH5pB,KAAK8mB,SAAS9mB,KAAKwnB,gBAAgB,GAGvCxnB,KAAKkuB,kBAEPS,cA5EO,WA8EL,OADmB3uB,KAAKunB,aAAhByC,QAEN,IAAK,eACHhqB,KAAK4pB,2BAA0B,GAAO,GACtC,MACF,IAAK,OACHtb,QAAQ3O,MAAM,mDAGlBK,KAAKkuB,kBAEPtE,0BAxFO,WAwFsE,IAAlDgF,EAAkD,wDAAvBD,EAAuB,wDAC3E,EAGI3uB,KAAKqC,OAAOuD,QAAQoI,aAFTsZ,EADf,EACEuH,YACmBvB,EAFrB,EAEEwB,kBAEGxH,GAAUgG,EAQbttB,KAAK+tB,UACH,CACEzG,QACAgG,OAAQqB,EAAgBrH,EAAQgG,GAElC,eACAsB,GAZF5uB,KAAK+tB,UACH/tB,KAAKqC,OAAOO,MAAM2H,SAASwkB,UAC3B,WACAH,IAaNI,eA/GO,WAgHLhvB,KAAKqC,OAAOC,SAAS,YAAa,CAChC4L,KAAM,cACN7F,MAAO,IACL4hB,mBAAoBE,MACjBnqB,KAAKkrB,gBAGZlrB,KAAKqC,OAAOC,SAAS,YAAa,CAChC4L,KAAM,oBACN7F,MAAO,CACL4hB,mBAAoBE,KACpBmB,QAAStrB,KAAKyoB,aACd8C,MAAOvrB,KAAK0oB,WACZ0C,QAASprB,KAAKuqB,eACdY,OAAQnrB,KAAKsqB,cACbe,MAAOrrB,KAAKwqB,iBAIlByE,8BAnIO,WAoILjvB,KAAK2nB,cAAgBuH,aAAe,CAClC9D,QAASprB,KAAKuqB,eACdY,OAAQnrB,KAAKsqB,gBAEftqB,KAAK0nB,eAAiByH,aACpB,CAAE7D,QAAStrB,KAAKyoB,aAAc2C,QAASprB,KAAKkrB,aAAaE,QAASnB,mBAAoBjqB,KAAKynB,eAC3FznB,KAAK2nB,cAAcL,MAAM6D,OACzBnrB,KAAK2nB,cAAcyH,MAGvBC,YA9IO,WA8IUrvB,KAAK0mB,cAAc4I,cACpCC,YA/IO,WA+IUvvB,KAAKgnB,cAAcwI,cACpC1I,SAhJO,SAgJG2I,GAA6B,IAArBC,EAAqB,wDACrC1vB,KAAKwnB,eAAiBiI,EACtBzvB,KAAK+tB,UAAU0B,EAAQ,OAAQC,IAEjC3I,gBApJO,SAoJUjT,GACf9T,KAAKqC,OAAOC,SAAS,mBAAoB,CAAEmb,WAAY,kCAAmCM,MAAO,WAEnG8I,gBAvJO,SAuJU4I,GACf,IAAMtB,EAAUsB,EAAOlC,uBACvB,OAAOY,GAAW,GAAKA,GAAW,GAEpCwB,SA3JO,WA4JL3vB,KAAK4pB,6BAIPgG,QAhKO,WAgKI,WACT3mB,OAAOC,KAAKlJ,KAAK6vB,OACdlrB,QAAO,SAAAsa,GAAC,OAAIA,EAAE6Q,SAAS,eAAiB7Q,EAAE6Q,SAAS,mBACnDnrB,QAAO,SAAAsa,GAAC,OAAKwH,GAAY3f,SAASmY,MAClC8Q,SAAQ,SAAAroB,GACP,EAAKmoB,MAAMnoB,QAAOqF,MAIxBijB,eAzKO,WAyKW,WAChB/mB,OAAOC,KAAKlJ,KAAK6vB,OACdlrB,QAAO,SAAAsa,GAAC,OAAIA,EAAE6Q,SAAS,kBACvBC,SAAQ,SAAAroB,GACP,EAAKmoB,MAAMnoB,QAAOqF,MAIxBkjB,aAjLO,WAiLS,WACdhnB,OAAOC,KAAKlJ,KAAK6vB,OACdlrB,QAAO,SAAAsa,GAAC,OAAIA,EAAE6Q,SAAS,mBACvBC,SAAQ,SAAAroB,GACP,EAAKmoB,MAAMnoB,QAAOqF,MAIxBmjB,aAzLO,WA0LLlwB,KAAKyoB,aAAe,IAGtB0H,WA7LO,WA8LLnwB,KAAK0oB,WAAa,IAgBpB8F,oBA9MO,SA8MclH,GAAiD,IAChEpnB,EADgE,OAA1CiuB,EAA0C,uDAAhC,EAAGb,EAA6B,uCAArBoC,EAAqB,6DAE9C,IAAXpC,IACLoC,GAAepC,EAAOrD,qBAAuBE,OAC/CjqB,EAAQotB,EACRa,EAAUb,EAAOrD,oBAKnB/pB,EAAQonB,EAGV,IAAM+D,EAAQnrB,EAAMmrB,OAASnrB,EACvBkrB,EAAUlrB,EAAMkrB,QAChBE,EAAUprB,EAAMorB,SAAW,GAC3BC,EAAQrrB,EAAMqrB,OAAS,GACvBJ,EAAUjrB,EAAM+pB,mBAElB/pB,EAAMirB,QAAUjrB,EADhBkwB,aAAWlwB,EAAMirB,QAAUjrB,GAuB/B,GApBgB,IAAZiuB,IACEjuB,EAAMiuB,UAASA,EAAUjuB,EAAMiuB,cAER,IAAhBhD,EAAOjF,WAA6C,IAAdiF,EAAOkF,KACtDlC,EAAU,QAGe,IAAhBhD,EAAOjF,WAA6C,IAAdiF,EAAOkF,KACtDlC,EAAU,IAIdnuB,KAAKynB,cAAgB0G,EAGL,IAAZA,IACFnuB,KAAKswB,aAAeC,aAAQpF,EAAOV,KACnCzqB,KAAKwwB,eAAiBD,aAAQpF,EAAOkF,MAGlCrwB,KAAKioB,UAAW,CACnBjoB,KAAK4vB,UACL,IAAM1mB,EAAO,IAAIunB,IAAgB,IAAZtC,EAAgBllB,OAAOC,KAAKof,MAAoB,IACrD,IAAZ6F,GAA6B,OAAZA,GACnBjlB,EACGtK,IAAI,MACJA,IAAI,QACJA,IAAI,QACJA,IAAI,SACJA,IAAI,UACJA,IAAI,WAGTsK,EAAK6mB,SAAQ,SAAAroB,GACX,IAAM4b,EAAQ6H,EAAOzjB,GACfgpB,EAAMH,aAAQpF,EAAOzjB,IAC3B,EAAKA,EAAM,cAAwB,QAARgpB,EAAgBpN,EAAQoN,KAInDtF,IAAYprB,KAAKmoB,cACnBnoB,KAAKiwB,eACLhnB,OAAOugB,QAAQ4B,GAAS2E,SAAQ,YAAY,gBAAVtG,EAAU,KAAPrgB,EAAO,KACtC,MAAOA,GAAmC8F,OAAOyhB,MAAMvnB,KAC3D,EAAKqgB,EAAI,gBAAkBrgB,OAI1BpJ,KAAKooB,gBACRpoB,KAAKgwB,iBACL/mB,OAAOugB,QAAQ6B,GAAO0E,SAAQ,YAAY,gBAAVtG,EAAU,KAAPrgB,EAAO,KAElC1B,EAAM+hB,EAAEqG,SAAS,UAAYrG,EAAE9c,MAAM,UAAU,GAAK8c,EAC1D,EAAK/hB,EAAM,eAAiB0B,MAI3BpJ,KAAKkoB,cACRloB,KAAKkwB,eAEHlwB,KAAKyoB,aADS,IAAZ0F,EACkByC,aAAYtF,EAAStrB,KAAKkrB,aAAaE,SAEvCE,EAEtBtrB,KAAKwoB,eAAiBxoB,KAAK6pB,iBAAiB,IAGzC7pB,KAAKqoB,YACRroB,KAAKmwB,aACLnwB,KAAK0oB,WAAa6C,KAIxBrmB,MAAO,CACLslB,aADK,WAEH,IACExqB,KAAK4nB,aAAeiJ,aAAc,CAAExF,MAAOrrB,KAAKwqB,eAChDxqB,KAAKgoB,cAAe,EACpB,MAAOxa,GACPxN,KAAKgoB,cAAe,EACpB1Z,QAAQoe,KAAKlf,KAGjBib,aAAc,CACZxY,QADY,WAEV,GAA8D,IAA1DhH,OAAO6nB,oBAAoB9wB,KAAK2nB,eAAeniB,OACnD,IACExF,KAAKivB,gCACLjvB,KAAK8nB,gBAAiB,EACtB,MAAOta,GACPxN,KAAK8nB,gBAAiB,EACtBxZ,QAAQoe,KAAKlf,KAGjB0C,MAAM,GAERwY,WAAY,CACVzY,QADU,WAER,IACEjQ,KAAK6nB,aAAekJ,aAAc,CAAExF,MAAOvrB,KAAK0oB,aAChD1oB,KAAKgxB,cAAe,EACpB,MAAOxjB,GACPxN,KAAKgxB,cAAe,EACpB1iB,QAAQoe,KAAKlf,KAGjB0C,MAAM,GAERoa,cAnCK,WAoCH,IACEtqB,KAAKivB,gCACLjvB,KAAK+nB,eAAgB,EACrB/nB,KAAK8nB,gBAAiB,EACtB,MAAOta,GACPxN,KAAK+nB,eAAgB,EACrB/nB,KAAK8nB,gBAAiB,EACtBxZ,QAAQoe,KAAKlf,KAGjB+c,eA9CK,WA+CH,IACEvqB,KAAKivB,gCACL,MAAOzhB,GACPc,QAAQoe,KAAKlf,KAGjBjG,SArDK,WAqDO,WACVvH,KAAKqnB,cAAgBpe,OAAOugB,QAAQxpB,KAAKonB,iBAAiB6J,MAAK,YAAY,gBAAPC,GAAO,WACzE,OAAI7pB,MAAMgjB,QAAQ6G,IAChB5iB,QAAQ6iB,IAAID,EAAE,KAAO,EAAK3pB,SAAU,EAAKA,UAClC2pB,EAAE,KAAO,EAAK3pB,UAEd2pB,EAAEhjB,OAAS,EAAK3G,YAExB,IAEL8f,cA/DK,WAgEHrnB,KAAKkuB,iBACwB,IAAzBluB,KAAKoqB,iBACFpqB,KAAKooB,eACRpoB,KAAKgwB,iBAGFhwB,KAAKkoB,aACRloB,KAAKkwB,eAGFlwB,KAAKmoB,aACRnoB,KAAKiwB,eAGFjwB,KAAKioB,YACRjoB,KAAK4vB,UAEL5vB,KAAKoxB,aAAepxB,KAAKqnB,cAAc,GACvCrnB,KAAKswB,aAAetwB,KAAKqnB,cAAc,GACvCrnB,KAAKwwB,eAAiBxwB,KAAKqnB,cAAc,GACzCrnB,KAAKqxB,eAAiBrxB,KAAKqnB,cAAc,GACzCrnB,KAAKsxB,eAAiBtxB,KAAKqnB,cAAc,GACzCrnB,KAAKuxB,iBAAmBvxB,KAAKqnB,cAAc,GAC3CrnB,KAAKwxB,gBAAkBxxB,KAAKqnB,cAAc,GAC1CrnB,KAAKyxB,kBAAoBzxB,KAAKqnB,cAAc,KAErCrnB,KAAKoqB,iBAAmB,GACjCpqB,KAAKwuB,oBAAoBxuB,KAAKqnB,cAAcC,MAAO,EAAGtnB,KAAKqnB,cAAciG,W,OC3wBlE,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,mWlBNzD,YAkhCM,MAlhCN,GAkhCM,CAjhCJ,YAsHM,MAtHN,GAsHM,CArHJ,YAwFM,MAxFN,GAwFM,CAtFI,EAAY,c,cADpB,YA6CM,MA7CN,GA6CM,CAzCJ,YAEM,MAFN,GAEM,YADD,EAAAxD,kBAAgB,GAErB,YAqCM,MArCN,GAqCM,CApCkC,6BAAtB,EAAAvC,aAAaroB,M,cAA7B,YAaW,aAZT,YAKS,UAJPR,MAAM,qBACL,QAAK,oBAAE,EAAAgwB,WAAA,EAAAA,aAAA,K,YAEL,EAAAhuB,GAAG,uCAAD,GAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAAiwB,eAAA,EAAAA,iBAAA,K,YAEL,EAAAjuB,GAAG,yCAAD,I,KAGY,EAAA6mB,aAA8B,mB,cACjD,YAKS,U,MAJP7oB,MAAM,qBACL,QAAK,oBAAE,EAAAwvB,gBAAA,EAAAA,kBAAA,K,YAEL,EAAAxtB,GAAG,oBAAD,K,cAGT,YAaW,aAZT,YAKS,UAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAAgwB,WAAA,EAAAA,aAAA,K,YAEL,EAAAhuB,GAAG,uCAAD,GAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAAwvB,gBAAA,EAAAA,kBAAA,K,YAEL,EAAAxtB,GAAG,uCAAD,I,6BAKb,YAwCM,MAxCN,GAwCM,CAvCJ,YAwBM,MAxBN,GAwBM,C,wBAvBD,EAAAA,GAAG,qBAAsB,IAC5B,eAqBQ,QArBR,GAqBQ,CAjBN,YAgBS,GAfPyC,GAAG,kB,WACM,EAAAoE,S,qCAAA,EAAQ,YACjB7I,MAAM,mB,qBAGJ,IAAgC,E,gBADlC,YAUS,qBATS,EAAA0oB,gBAAT3lB,I,cADT,YAUS,UARNiG,IAAKjG,EAAMyM,KACX7F,MAAO5G,EAAMyM,MAAQzM,EAAM,GAC3BA,MAAK,a,gBAAyC,EAAK,KAAQ,EAAM,OAAS,EAAM,QAAQ,OAAO,G,MAA+B,EAAK,KAAQ,EAAM,OAAS,EAAM,QAAQ,OAAO,Q,YAK7KA,EAAM,IAAMA,EAAMyM,MAAI,S,mCAKjC,YAaM,MAbN,GAaM,CAZJ,YAKS,UAJPxP,MAAM,qBACL,QAAK,oBAAE,EAAA2wB,aAAA,EAAAA,eAAA,K,YAEL,EAAA3uB,GAAG,0BAAD,GAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAA6wB,aAAA,EAAAA,eAAA,K,YAEL,EAAA7uB,GAAG,0BAAD,SAKb,YA2BM,MA3BN,GA2BM,CA1BJ,YAIO,OAJP,GAIO,CAHL,YAEW,G,WAFQ,EAAAunB,U,qCAAA,EAAS,c,qBAC1B,IAA8C,C,wBAA3C,EAAAvnB,GAAG,uCAAD,K,yBAGT,YAIO,OAJP,GAIO,CAHL,YAEW,G,WAFQ,EAAAwnB,Y,qCAAA,EAAW,gB,qBAC5B,IAAgD,C,wBAA7C,EAAAxnB,GAAG,yCAAD,K,yBAGT,YAIO,OAJP,GAIO,CAHL,YAEW,G,WAFQ,EAAAynB,Y,uCAAA,EAAW,gB,qBAC5B,IAAgD,C,wBAA7C,EAAAznB,GAAG,yCAAD,K,yBAGT,YAIO,OAJP,GAIO,CAHL,YAEW,G,WAFQ,EAAA0nB,c,uCAAA,EAAa,kB,qBAC9B,IAAkD,C,wBAA/C,EAAA1nB,GAAG,2CAAD,K,yBAGT,YAIO,OAJP,GAIO,CAHL,YAEW,G,WAFQ,EAAA2nB,U,uCAAA,EAAS,c,qBAC1B,IAA8C,C,wBAA3C,EAAA3nB,GAAG,uCAAD,K,yBAGT,YAAyD,qBAAnD,EAAAA,GAAG,2CAAD,OAIZ,YAAiC,GAAvBe,MAAK,YAAE,EAAAkrB,e,iCAEjB,YAi4Ba,UAh4BX,YA+3Be,GA/3BDjlB,IAAI,eAAa,C,oBAC7B,IA0GM,CA1GN,YA0GM,OAzGHtD,MAAO,EAAA1D,GAAG,2CACXhC,MAAM,mB,CAEN,YAgBM,MAhBN,GAgBM,CAfJ,YAAsC,qBAAhC,EAAAgC,GAAG,wBAAD,GACR,YAaM,MAbN,GAaM,CAZJ,YAKS,UAJPhC,MAAM,qBACL,QAAK,sBAAE,EAAAuxB,cAAA,EAAAA,gBAAA,K,YAEL,EAAAvvB,GAAG,0CAAD,GAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,sBAAE,EAAAkxB,SAAA,EAAAA,WAAA,K,YAEL,EAAAlvB,GAAG,sCAAD,OAIX,YAA2C,qBAArC,EAAAA,GAAG,6BAAD,GACR,YAAsD,sBAA/C,EAAAA,GAAG,sCAAD,GACT,YAgCM,MAhCN,GAgCM,CA/BJ,YAIE,G,WAHS,EAAA0wB,a,uCAAA,EAAY,gBACrBljB,KAAK,UACJ9J,MAAO,EAAA1D,GAAG,wB,+BAEb,YAIE,G,WAHS,EAAAgxB,e,uCAAA,EAAc,kBACvBxjB,KAAK,YACJgU,SAAU,EAAAgJ,aAAaE,QAAQK,I,kCAElC,YAIE,G,WAHS,EAAA+E,e,uCAAA,EAAc,kBACvBtiB,KAAK,YACJ9J,MAAO,EAAA1D,GAAG,kB,+BAEb,YAAoD,GAApCilB,SAAU,EAAA6F,gBAAgBmG,Q,qBAC1C,YAME,G,WALS,EAAAC,iB,uCAAA,EAAgB,oBACzB1jB,KAAK,cACJgU,SAAU,EAAAgJ,aAAaC,OAAO0G,KAC9BztB,MAAO,EAAA1D,GAAG,mBACVkkB,6BAAiD,IAAnB,EAAAyM,gB,kEAEjC,YAME,G,WALS,EAAAA,e,uCAAA,EAAc,kBACvBnjB,KAAK,YACJgU,SAAU,EAAAgJ,aAAaC,OAAO2G,OAC9B1tB,MAAO,EAAA1D,GAAG,kBACVkkB,6BAAmD,IAArB,EAAAgN,kB,kEAEjC,YAAoD,GAApCjM,SAAU,EAAA6F,gBAAgBuG,Q,uBAE5C,YAmBM,MAnBN,GAmBM,CAlBJ,YAIE,G,WAHS,EAAAzB,a,uCAAA,EAAY,gBACrBpiB,KAAK,UACJ9J,MAAO,EAAA1D,GAAG,wB,+BAEb,YAKE,G,WAJS,EAAAsxB,iB,uCAAA,EAAgB,oBACzB9jB,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO8G,Q,0CAEjC,YAKE,G,WAJS,EAAAC,iB,uCAAA,EAAgB,oBACzBhkB,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,kBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOgH,Q,0CAEjC,YAA+D,qBAAzD,EAAAzxB,GAAG,iDAAD,KAEV,YAAsD,sBAA/C,EAAAA,GAAG,sCAAD,GACT,YAaM,MAbN,GAaM,CAZJ,YAIE,G,WAHS,EAAA4wB,e,uCAAA,EAAc,kBACvBpjB,KAAK,YACJ9J,MAAO,EAAA1D,GAAG,kB,+BAEb,YAAoD,GAApCilB,SAAU,EAAA6F,gBAAgB4G,Q,qBAC1C,YAIE,G,WAHS,EAAAZ,gB,uCAAA,EAAe,mBACxBtjB,KAAK,aACJ9J,MAAO,EAAA1D,GAAG,mB,+BAEb,YAAqD,GAArCilB,SAAU,EAAA6F,gBAAgB6G,S,uBAE5C,YAaM,MAbN,GAaM,CAZJ,YAIE,G,WAHS,EAAAd,iB,uCAAA,EAAgB,oBACzBrjB,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,oB,+BAEb,YAAsD,GAAtCilB,SAAU,EAAA6F,gBAAgB8G,U,qBAC1C,YAIE,G,WAHS,EAAAb,kB,uCAAA,EAAiB,qBAC1BvjB,KAAK,eACJ9J,MAAO,EAAA1D,GAAG,qB,+BAEb,YAAuD,GAAvCilB,SAAU,EAAA6F,gBAAgB+G,W,uBAE5C,YAA2C,qBAArC,EAAA7xB,GAAG,6BAAD,I,MAGV,YA+jBM,OA9jBH0D,MAAO,EAAA1D,GAAG,6CACXhC,MAAM,mB,CAEN,YAcM,MAdN,GAcM,CAbJ,YAAsC,qBAAhC,EAAAgC,GAAG,wBAAD,GACR,YAKS,UAJPhC,MAAM,qBACL,QAAK,sBAAE,EAAAuxB,cAAA,EAAAA,gBAAA,K,YAEL,EAAAvvB,GAAG,0CAAD,GAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,sBAAE,EAAAkxB,SAAA,EAAAA,WAAA,K,YAEL,EAAAlvB,GAAG,sCAAD,KAGT,YAsEM,MAtEN,GAsEM,CArEJ,YAAwD,sBAAjD,EAAAA,GAAG,wCAAD,GACT,YAKE,G,WAJS,EAAA8xB,mB,uCAAA,EAAkB,sBAC3BtkB,KAAK,gBACJgU,SAAU,EAAAgJ,aAAaC,OAAO2G,OAC9B1tB,MAAO,EAAA1D,GAAG,mB,0CAEb,YAAsD,GAAtCilB,SAAU,EAAA6F,gBAAgBiH,U,qBAC1C,YAKE,G,WAJS,EAAAC,wB,uCAAA,EAAuB,2BAChCxkB,KAAK,qBACJgU,SAAU,EAAAgJ,aAAaC,OAAOwH,OAC9BvuB,MAAO,EAAA1D,GAAG,uB,0CAEb,YAA2D,GAA3CilB,SAAU,EAAA6F,gBAAgBoH,e,qBAC1C,YAAyD,sBAAlD,EAAAlyB,GAAG,yCAAD,GACT,YAKE,G,WAJS,EAAAmyB,qB,uCAAA,EAAoB,wBAC7B3kB,KAAK,aACJ9J,MAAO,EAAA1D,GAAG,8CACVwhB,SAAU,EAAAgJ,aAAaC,OAAO2H,Y,0CAEjC,YAKE,G,WAJS,EAAAC,yB,uCAAA,EAAwB,4BACjC7kB,KAAK,iBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO6H,gB,0CAEjC,YAGE,GAFCrN,SAAU,EAAA6F,gBAAgBwH,eAC3BtN,MAAA,I,qBAEF,YAKE,G,WAJS,EAAAuN,uB,uCAAA,EAAsB,0BAC/B/kB,KAAK,eACJ9J,MAAO,EAAA1D,GAAG,gDACVwhB,SAAU,EAAAgJ,aAAaC,OAAO+H,c,0CAEjC,YAKE,G,WAJS,EAAAC,2B,uCAAA,EAA0B,8BACnCjlB,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOiI,kB,0CAEjC,YAGE,GAFCzN,SAAU,EAAA6F,gBAAgB4H,iBAC3B1N,MAAA,I,qBAEF,YAKE,G,WAJS,EAAA2N,uB,uCAAA,EAAsB,0BAC/BnlB,KAAK,eACJ9J,MAAO,EAAA1D,GAAG,gDACVwhB,SAAU,EAAAgJ,aAAaC,OAAOmI,c,0CAEjC,YAKE,G,WAJS,EAAAC,2B,uCAAA,EAA0B,8BACnCrlB,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOqI,kB,0CAEjC,YAGE,GAFC7N,SAAU,EAAA6F,gBAAgBgI,iBAC3B9N,MAAA,I,qBAEF,YAIE,G,WAHS,EAAA+N,kB,uCAAA,EAAiB,qBAC1BvlB,KAAK,eACJgU,SAAU,EAAAgJ,aAAaE,QAAQsI,O,oCAGpC,YAkBM,MAlBN,GAkBM,CAjBJ,YAAyD,sBAAlD,EAAAhzB,GAAG,yCAAD,GACT,YAKE,G,WAJS,EAAAizB,4B,uCAAA,EAA2B,+BACpCzlB,KAAK,oBACJ9J,MAAO,EAAA1D,GAAG,qDACVwhB,SAAU,EAAAgJ,aAAaC,OAAOyI,mB,0CAEjC,YAKE,G,WAJS,EAAAC,gC,uCAAA,EAA+B,mCACxC3lB,KAAK,wBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO2I,uB,0CAEjC,YAGE,GAFCnO,SAAU,EAAA6F,gBAAgBsI,sBAC3BpO,MAAA,I,uBAGJ,YAkCM,MAlCN,GAkCM,CAjCJ,YAAgE,sBAAzD,EAAAhlB,GAAG,gDAAD,GACT,YAKE,G,WAJS,EAAAqzB,gB,uCAAA,EAAe,mBACxB7lB,KAAK,aACJgU,SAAU,EAAAgJ,aAAaC,OAAOR,MAC9BvmB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAAszB,kB,uCAAA,EAAiB,qBAC1B9lB,KAAK,eACJgU,SAAU,EAAAgJ,aAAaE,QAAQT,MAC/BtkB,SAA8B,gBAApB,EAAA0tB,iB,6CAEb,YAKE,G,WAJS,EAAAE,oB,uCAAA,EAAmB,uBAC5B/lB,KAAK,iBACJgU,SAAU,EAAAgJ,aAAaC,OAAO+I,UAC9B9vB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAGE,GAFCilB,SAAU,EAAA6F,gBAAgB0I,UAC3BxO,MAAA,I,qBAEF,YAKE,G,WAJS,EAAAyO,oB,uCAAA,EAAmB,uBAC5BjmB,KAAK,iBACJgU,SAAU,EAAAgJ,aAAaC,OAAOiJ,UAC9BhwB,MAAO,EAAA1D,GAAG,mB,0CAEb,YAGE,GAFCilB,SAAU,EAAA6F,gBAAgB4I,UAC3B1O,MAAA,I,uBAGJ,YAsBM,MAtBN,GAsBM,CArBJ,YAA2D,sBAApD,EAAAhlB,GAAG,2CAAD,GACT,YAKE,G,WAJS,EAAA2zB,iB,uCAAA,EAAgB,oBACzBnmB,KAAK,cACJgU,SAAU,EAAAgJ,aAAaC,OAAOmJ,OAC9BlwB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAA6zB,qB,uCAAA,EAAoB,wBAC7BrmB,KAAK,kBACJgU,SAAU,EAAAgJ,aAAaC,OAAOqJ,WAC9BpwB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAAwD,GAAxCilB,SAAU,EAAA6F,gBAAgBgJ,Y,qBAC1C,YAKE,G,WAJS,EAAAC,qB,uCAAA,EAAoB,wBAC7BvmB,KAAK,kBACJgU,SAAU,EAAAgJ,aAAaC,OAAOuJ,WAC9BtwB,MAAO,EAAA1D,GAAG,mB,0CAEb,YAAwD,GAAxCilB,SAAU,EAAA6F,gBAAgBkJ,Y,uBAE5C,YAqBM,MArBN,GAqBM,CApBJ,YAA0D,sBAAnD,EAAAh0B,GAAG,0CAAD,GACT,YAKE,G,WAJS,EAAAi0B,gB,uCAAA,EAAe,mBACxBzmB,KAAK,aACJgU,SAAU,EAAAgJ,aAAaC,OAAOjrB,MAC9BkE,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAAk0B,kB,uCAAA,EAAiB,qBAC1B1mB,KAAK,eACJgU,SAAU,EAAAgJ,aAAaE,QAAQlrB,MAC/BmG,SAA8B,gBAApB,EAAAsuB,iB,6CAEb,YAKE,G,WAJS,EAAAE,oB,uCAAA,EAAmB,uBAC5B3mB,KAAK,iBACJgU,SAAU,EAAAgJ,aAAaC,OAAO2J,UAC9B1wB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAAuD,GAAvCilB,SAAU,EAAA6F,gBAAgBsJ,W,uBAE5C,YAoHM,MApHN,GAoHM,CAnHJ,YAA2D,sBAApD,EAAAp0B,GAAG,2CAAD,GACT,YAKE,G,WAJS,EAAAq0B,c,uCAAA,EAAa,iBACtB7mB,KAAK,WACJgU,SAAU,EAAAgJ,aAAaC,OAAOV,IAC9BrmB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAAs0B,gB,uCAAA,EAAe,mBACxB9mB,KAAK,aACJgU,SAAU,EAAAgJ,aAAaE,QAAQX,IAC/BpkB,SAA4B,gBAAlB,EAAA0uB,e,6CAEb,YAKE,G,WAJS,EAAAE,kB,uCAAA,EAAiB,qBAC1B/mB,KAAK,eACJgU,SAAU,EAAAgJ,aAAaC,OAAO+J,QAC9B9wB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAAqD,GAArCilB,SAAU,EAAA6F,gBAAgB0J,S,qBAC1C,YAKE,G,WAJS,EAAAC,uB,uCAAA,EAAsB,0BAC/BjnB,KAAK,oBACJgU,SAAU,EAAAgJ,aAAaC,OAAOiK,aAC9BhxB,MAAO,EAAA1D,GAAG,gD,0CAEb,YAA0D,GAA1CilB,SAAU,EAAA6F,gBAAgB4J,c,qBAC1C,YAKE,G,WAJS,EAAAC,wB,uCAAA,EAAuB,2BAChCnnB,KAAK,qBACJgU,SAAU,EAAAgJ,aAAaC,OAAOmK,cAC9BlxB,MAAO,EAAA1D,GAAG,2C,0CAEb,YAA2D,GAA3CilB,SAAU,EAAA6F,gBAAgB8J,e,qBAC1C,YAA2D,sBAApD,EAAA50B,GAAG,2CAAD,GACT,YAKE,G,WAJS,EAAA60B,qB,uCAAA,EAAoB,wBAC7BrnB,KAAK,kBACJgU,SAAU,EAAAgJ,aAAaC,OAAOqK,WAC9BpxB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAA+0B,yB,uCAAA,EAAwB,4BACjCvnB,KAAK,sBACJgU,SAAU,EAAAgJ,aAAaC,OAAOuK,eAC9BtxB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAA4D,GAA5CilB,SAAU,EAAA6F,gBAAgBkK,gB,qBAC1C,YAKE,G,WAJS,EAAAC,8B,uCAAA,EAA6B,iCACtCznB,KAAK,2BACJgU,SAAU,EAAAgJ,aAAaC,OAAOyK,oBAC9BxxB,MAAO,EAAA1D,GAAG,gD,0CAEb,YAAiE,GAAjDilB,SAAU,EAAA6F,gBAAgBoK,qB,qBAC1C,YAKE,G,WAJS,EAAAC,+B,uCAAA,EAA8B,kCACvC3nB,KAAK,4BACJgU,SAAU,EAAAgJ,aAAaC,OAAO2K,qBAC9B1xB,MAAO,EAAA1D,GAAG,2C,0CAEb,YAAkE,GAAlDilB,SAAU,EAAA6F,gBAAgBsK,sB,qBAC1C,YAA4D,sBAArD,EAAAp1B,GAAG,4CAAD,GACT,YAKE,G,WAJS,EAAAq1B,sB,uCAAA,EAAqB,yBAC9B7nB,KAAK,mBACJgU,SAAU,EAAAgJ,aAAaC,OAAO6K,YAC9B5xB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAAu1B,0B,uCAAA,EAAyB,6BAClC/nB,KAAK,uBACJgU,SAAU,EAAAgJ,aAAaC,OAAO+K,gBAC9B9xB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAKE,G,WAJS,EAAAy1B,+B,uCAAA,EAA8B,kCACvCjoB,KAAK,4BACJgU,SAAU,EAAAgJ,aAAaC,OAAOiL,qBAC9BhyB,MAAO,EAAA1D,GAAG,gD,0CAEb,YAKE,G,WAJS,EAAA21B,gC,uCAAA,EAA+B,mCACxCnoB,KAAK,6BACJgU,SAAU,EAAAgJ,aAAaC,OAAOmL,sBAC9BlyB,MAAO,EAAA1D,GAAG,2C,0CAEb,YAA2D,sBAApD,EAAAA,GAAG,2CAAD,GACT,YAKE,G,WAJS,EAAA61B,qB,uCAAA,EAAoB,wBAC7BroB,KAAK,kBACJgU,SAAU,EAAAgJ,aAAaC,OAAOqL,WAC9BpyB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAA+1B,yB,uCAAA,EAAwB,4BACjCvoB,KAAK,sBACJgU,SAAU,EAAAgJ,aAAaC,OAAOuL,eAC9BtyB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAA4D,GAA5CilB,SAAU,EAAA6F,gBAAgBkL,gB,qBAC1C,YAKE,G,WAJS,EAAAC,8B,uCAAA,EAA6B,iCACtCzoB,KAAK,2BACJgU,SAAU,EAAAgJ,aAAaC,OAAOyL,oBAC9BxyB,MAAO,EAAA1D,GAAG,gD,0CAEb,YAAiE,GAAjDilB,SAAU,EAAA6F,gBAAgBoL,qB,qBAC1C,YAKE,G,WAJS,EAAAC,+B,uCAAA,EAA8B,kCACvC3oB,KAAK,4BACJgU,SAAU,EAAAgJ,aAAaC,OAAO2L,qBAC9B1yB,MAAO,EAAA1D,GAAG,2C,0CAEb,YAAkE,GAAlDilB,SAAU,EAAA6F,gBAAgBsL,sB,uBAE5C,YAsBM,MAtBN,GAsBM,CArBJ,YAAwD,sBAAjD,EAAAp2B,GAAG,wCAAD,GACT,YAKE,G,WAJS,EAAAq2B,c,uCAAA,EAAa,iBACtB7oB,KAAK,WACJgU,SAAU,EAAAgJ,aAAaC,OAAO6L,IAC9B5yB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAAu2B,kB,uCAAA,EAAiB,qBAC1B/oB,KAAK,eACJgU,SAAU,EAAAgJ,aAAaC,OAAO+L,QAC9B9yB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAAqD,GAArCilB,SAAU,EAAA6F,gBAAgB0L,S,qBAC1C,YAKE,G,WAJS,EAAAC,wB,uCAAA,EAAuB,2BAChCjpB,KAAK,qBACJgU,SAAU,EAAAgJ,aAAaC,OAAOiM,cAC9BhzB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAA2D,GAA3CilB,SAAU,EAAA6F,gBAAgB4L,e,uBAE5C,YAcM,MAdN,GAcM,CAbJ,YAA2D,sBAApD,EAAA12B,GAAG,2CAAD,GACT,YAKE,G,WAJS,EAAA22B,iB,uCAAA,EAAgB,oBACzBnpB,KAAK,cACJgU,SAAU,EAAAgJ,aAAaC,OAAOmM,OAC9BlzB,MAAO,EAAA1D,GAAG,gC,0CAEb,YAKE,G,WAJS,EAAA62B,mB,uCAAA,EAAkB,sBAC3BrpB,KAAK,gBACJgU,SAAU,EAAAgJ,aAAaE,QAAQkM,OAC/BjxB,SAA+B,gBAArB,EAAAgxB,kB,+CAGf,YAyBM,MAzBN,GAyBM,CAxBJ,YAA8D,sBAAvD,EAAA32B,GAAG,8CAAD,GACT,YAKE,G,WAJS,EAAA82B,gB,uCAAA,EAAe,mBACxBtpB,KAAK,aACJgU,SAAU,EAAAgJ,aAAaC,OAAOsM,MAC9BrzB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAKE,G,WAJS,EAAAg3B,oB,uCAAA,EAAmB,uBAC5BxpB,KAAK,iBACJgU,SAAU,EAAAgJ,aAAaC,OAAOwM,UAC9BvzB,MAAO,EAAA1D,GAAG,mB,0CAEb,YAKE,G,WAJS,EAAAk3B,qB,uCAAA,EAAoB,wBAC7B1pB,KAAK,kBACJgU,SAAU,EAAAgJ,aAAaC,OAAO0M,WAC9BzzB,MAAO,EAAA1D,GAAG,gD,0CAEb,YAIE,G,WAHS,EAAAo3B,kB,uCAAA,EAAiB,qBAC1B5pB,KAAK,eACJgU,SAAU,EAAAgJ,aAAaE,QAAQqM,O,oCAGpC,YAcM,MAdN,GAcM,CAbJ,YAA4D,sBAArD,EAAA/2B,GAAG,4CAAD,GACT,YAKE,G,WAJS,EAAAq3B,mB,uCAAA,EAAkB,sBAC3B7pB,KAAK,WACJ9J,MAAO,EAAA1D,GAAG,2CACVwhB,SAAU,EAAAgJ,aAAaC,OAAO6M,U,0CAEjC,YAKE,G,WAJS,EAAAC,qB,uCAAA,EAAoB,wBAC7B/pB,KAAK,kBACJgU,SAAU,EAAAgJ,aAAaE,QAAQ4M,SAC/B3xB,SAAmC,gBAAzB,EAAA4xB,sB,+CAGf,YAQM,MARN,GAQM,CAPJ,YAA6D,sBAAtD,EAAAv3B,GAAG,6CAAD,GACT,YAKE,G,WAJS,EAAAw3B,oB,uCAAA,EAAmB,uBAC5BhqB,KAAK,YACJ9J,MAAO,EAAA1D,GAAG,4CACVwhB,SAAU,EAAAgJ,aAAaC,OAAOgN,W,4CAGnC,YAcM,MAdN,GAcM,CAbJ,YAAwD,sBAAjD,EAAAz3B,GAAG,wCAAD,GACT,YAKE,G,WAJS,EAAA03B,e,uCAAA,EAAc,kBACvBlqB,KAAK,OACJ9J,MAAO,EAAA1D,GAAG,uBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOkN,M,0CAEjC,YAKE,G,WAJS,EAAAC,mB,uCAAA,EAAkB,sBAC3BpqB,KAAK,WACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOoN,U,4CAGnC,YAQM,MARN,GAQM,CAPJ,YAAyD,sBAAlD,EAAA73B,GAAG,yCAAD,GACT,YAKE,G,WAJS,EAAA83B,e,uCAAA,EAAc,kBACvBtqB,KAAK,OACJ9J,MAAO,EAAA1D,GAAG,wCACVwhB,SAAU,EAAAgJ,aAAaC,OAAO1qB,M,4CAGnC,YAsBM,MAtBN,GAsBM,CArBJ,YAA6D,sBAAtD,EAAAC,GAAG,6CAAD,GACT,YAKE,G,WAJS,EAAA+3B,oB,uCAAA,EAAmB,uBAC5BvqB,KAAK,YACJ9J,MAAO,EAAA1D,GAAG,uBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOuN,W,0CAEjC,YAKE,G,WAJS,EAAAC,wB,uCAAA,EAAuB,2BAChCzqB,KAAK,gBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOyN,e,0CAEjC,YAA2D,GAA3CjT,SAAU,EAAA6F,gBAAgBoN,e,qBAC1C,YAKE,G,WAJS,EAAAC,wB,uCAAA,EAAuB,2BAChC3qB,KAAK,gBACJ9J,MAAO,EAAA1D,GAAG,kBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO2N,e,0CAEjC,YAA2D,GAA3CnT,SAAU,EAAA6F,gBAAgBsN,e,uBAE5C,YA4BM,MA5BN,GA4BM,CA3BJ,YAA2D,sBAApD,EAAAp4B,GAAG,2CAAD,GACT,YAKE,G,WAJS,EAAAq4B,kB,uCAAA,EAAiB,qBAC1B7qB,KAAK,UACJ9J,MAAO,EAAA1D,GAAG,uBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO6N,S,0CAEjC,YAKE,G,WAJS,EAAAC,oB,uCAAA,EAAmB,uBAC5B/qB,KAAK,iBACJgU,SAAU,EAAAgJ,aAAaE,QAAQ4N,QAC/B3yB,SAAkC,gBAAxB,EAAA4yB,qB,6CAEb,YAKE,G,WAJS,EAAAC,sB,uCAAA,EAAqB,yBAC9BhrB,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOgO,a,0CAEjC,YAAyD,GAAzCxT,SAAU,EAAA6F,gBAAgB2N,a,qBAC1C,YAKE,G,WAJS,EAAAC,sB,uCAAA,EAAqB,yBAC9BlrB,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,kBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOkO,a,0CAEjC,YAAyD,GAAzC1T,SAAU,EAAA6F,gBAAgB6N,a,uBAE5C,YAsBM,MAtBN,GAsBM,CArBJ,YAAgE,sBAAzD,EAAA34B,GAAG,gDAAD,GACT,YAKE,G,WAJS,EAAA44B,uB,uCAAA,EAAsB,0BAC/BprB,KAAK,eACJ9J,MAAO,EAAA1D,GAAG,uBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOoO,c,0CAEjC,YAKE,G,WAJS,EAAAC,2B,uCAAA,EAA0B,8BACnCtrB,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOsO,kB,0CAEjC,YAA8D,GAA9C9T,SAAU,EAAA6F,gBAAgBiO,kB,qBAC1C,YAKE,G,WAJS,EAAAC,2B,uCAAA,EAA0B,8BACnCxrB,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,kBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOwO,kB,0CAEjC,YAA8D,GAA9ChU,SAAU,EAAA6F,gBAAgBmO,kB,uBAE5C,YAsBM,MAtBN,GAsBM,CArBJ,YAAgE,sBAAzD,EAAAj5B,GAAG,gDAAD,GACT,YAKE,G,WAJS,EAAAk5B,uB,uCAAA,EAAsB,0BAC/B1rB,KAAK,eACJ9J,MAAO,EAAA1D,GAAG,uBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO0O,c,0CAEjC,YAKE,G,WAJS,EAAAC,2B,uCAAA,EAA0B,8BACnC5rB,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO4O,kB,0CAEjC,YAA8D,GAA9CpU,SAAU,EAAA6F,gBAAgBuO,kB,qBAC1C,YAKE,G,WAJS,EAAAC,2B,uCAAA,EAA0B,8BACnC9rB,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,kBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO8O,kB,0CAEjC,YAA8D,GAA9CtU,SAAU,EAAA6F,gBAAgByO,kB,uBAE5C,YA0DM,MA1DN,GA0DM,CAzDJ,YAAgC,sBAAzB,EAAAv5B,GAAG,gBAAD,GACT,YAKE,G,WAJS,EAAAw5B,iB,uCAAA,EAAgB,oBACzBhsB,KAAK,cACJgU,SAAU,EAAAgJ,aAAaC,OAAOM,GAC9BrnB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAAiE,sBAA1D,EAAAA,GAAG,iDAAD,GACT,YAKE,G,WAJS,EAAAy5B,gC,uCAAA,EAA+B,mCACxCjsB,KAAK,6BACJgU,SAAU,EAAAgJ,aAAaC,OAAOM,GAC9BrnB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAA05B,kC,uCAAA,EAAiC,qCAC1ClsB,KAAK,+BACJgU,SAAU,EAAAgJ,aAAaC,OAAOjF,KAC9B9hB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAKE,G,WAJS,EAAA25B,kC,uCAAA,EAAiC,qCAC1CnsB,KAAK,+BACJgU,SAAU,EAAAgJ,aAAaC,OAAO0G,KAC9BztB,MAAO,EAAA1D,GAAG,mB,0CAEb,YAKE,G,WAJS,EAAA45B,oC,uCAAA,EAAmC,uCAC5CpsB,KAAK,qCACJgU,SAAU,EAAAgJ,aAAaC,OAAOkF,GAC9BjsB,MAAO,EAAA1D,GAAG,+C,0CAEb,YAAiE,sBAA1D,EAAAA,GAAG,iDAAD,GACT,YAKE,G,WAJS,EAAA65B,gC,yCAAA,EAA+B,mCACxCrsB,KAAK,6BACJgU,SAAU,EAAAgJ,aAAaC,OAAOM,GAC9BrnB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAA85B,kC,yCAAA,EAAiC,qCAC1CtsB,KAAK,+BACJgU,SAAU,EAAAgJ,aAAaC,OAAOjF,KAC9B9hB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAKE,G,WAJS,EAAA+5B,kC,yCAAA,EAAiC,qCAC1CvsB,KAAK,+BACJgU,SAAU,EAAAgJ,aAAaC,OAAO0G,KAC9BztB,MAAO,EAAA1D,GAAG,mB,0CAEb,YAKE,G,WAJS,EAAAg6B,oC,yCAAA,EAAmC,uCAC5CxsB,KAAK,qCACJgU,SAAU,EAAAgJ,aAAaC,OAAOM,GAC9BrnB,MAAO,EAAA1D,GAAG,+C,mDAKjB,YAqFM,OApFH0D,MAAO,EAAA1D,GAAG,mCACXhC,MAAM,oB,CAEN,YAQM,MARN,GAQM,CAPJ,YAAsC,qBAAhC,EAAAgC,GAAG,wBAAD,GACR,YAKS,UAJPhC,MAAM,qBACL,QAAK,wBAAE,EAAAsxB,gBAAA,EAAAA,kBAAA,K,YAEL,EAAAtvB,GAAG,sCAAD,KAGT,YAOE,G,WANS,EAAAioB,e,yCAAA,EAAc,kBACvBza,KAAK,YACJ9J,MAAO,EAAA1D,GAAG,sBACVwhB,SAAU,EAAAgJ,aAAaG,MAAMZ,IAC9B/H,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAA/R,iB,yCAAA,EAAgB,oBACzB1a,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,wBACVwhB,SAAU,EAAAgJ,aAAaG,MAAMnrB,MAC9BwiB,IAAI,IACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAA9R,oB,yCAAA,EAAmB,uBAC5B3a,KAAK,iBACJ9J,MAAO,EAAA1D,GAAG,2BACVwhB,SAAU,EAAAgJ,aAAaG,MAAMX,SAC9BhI,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAA7R,iB,yCAAA,EAAgB,oBACzB5a,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,wBACVwhB,SAAU,EAAAgJ,aAAaG,MAAMV,MAC9BjI,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAA5R,kB,yCAAA,EAAiB,qBAC1B7a,KAAK,eACJ9J,MAAO,EAAA1D,GAAG,yBACVwhB,SAAU,EAAAgJ,aAAaG,MAAM7M,OAC9BkE,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAA3R,qB,yCAAA,EAAoB,wBAC7B9a,KAAK,kBACJ9J,MAAO,EAAA1D,GAAG,4BACVwhB,SAAU,EAAAgJ,aAAaG,MAAMT,UAC9BlI,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAA1R,sB,yCAAA,EAAqB,yBAC9B/a,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,6BACVwhB,SAAU,EAAAgJ,aAAaG,MAAMP,WAC9BpI,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAAzR,mB,yCAAA,EAAkB,sBAC3Bhb,KAAK,gBACJ9J,MAAO,EAAA1D,GAAG,0BACVwhB,SAAU,EAAAgJ,aAAaG,MAAMR,QAC9BnI,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAAxR,uB,yCAAA,EAAsB,0BAC/Bjb,KAAK,oBACJ9J,MAAO,EAAA1D,GAAG,8BACVwhB,SAAU,EAAAgJ,aAAaG,MAAMN,aAAe,EAC7CrI,IAAI,KACJiY,WAAS,K,iDAIb,YAiFM,OAhFHv2B,MAAO,EAAA1D,GAAG,qCACXhC,MAAM,oB,CAEN,YA4CM,MA5CN,GA4CM,CA3CJ,YAgBM,MAhBN,GAgBM,C,wBAfD,EAAAgC,GAAG,qCAAsC,IAC5C,YAAG,KAAM,IACT,eAYS,GAXPyC,GAAG,kB,WACM,EAAAqlB,e,yCAAA,EAAc,kBACvB9pB,MAAM,mB,qBAGJ,IAAkC,E,gBADpC,YAMS,qBALU,EAAAmrB,iBAAVnF,I,cADT,YAMS,UAJNhd,IAAKgd,EACLrc,MAAOqc,G,YAEL,EAAAhkB,GAAG,qCAAuCgkB,IAAM,Q,iCAIzD,YAmBM,MAnBN,GAmBM,CAlBJ,YAKQ,QALR,GAKQ,YADH,EAAAhkB,GAAG,oCAAD,G,eAGP,YAMC,SALCyC,GAAG,W,yCACM,EAAsB,0BAC/B+K,KAAK,WACLxP,MAAM,iBACNQ,KAAK,Y,gBAHI,EAAA8tB,0BAKX,KAKF,YAKS,UAJPtuB,MAAM,qBACL,QAAK,wBAAE,EAAAwxB,cAAA,EAAAA,gBAAA,K,YAEL,EAAAxvB,GAAG,sCAAD,KAGT,YAIE,G,WAHS,EAAAusB,c,yCAAA,EAAa,iBACrBxc,QAAS,EAAAyc,sBACThL,SAAU,EAAAgL,uB,0CAEiB,WAAnB,EAAA1E,gBAAkD,iBAAnB,EAAAA,gB,cAA1C,YA0BM,UAzBJ,YAMS,GALP3D,MAAM,SACNC,QAAQ,wDACRC,IAAI,K,qBAEJ,IAAkC,CAAlC,K,MAEF,YAAkE,qBAA5D,EAAArkB,GAAG,oDAAD,GACR,YAQS,GAPPmkB,MAAM,SACNC,QAAQ,wDACRC,IAAI,K,qBAEJ,IAAwB,CAAxB,GACA,GACA,K,MAEF,YAMS,GALPF,MAAM,SACNC,QAAQ,mDACRC,IAAI,K,qBAEJ,IAAuB,CAAvB,K,MAEF,YAAiE,qBAA3D,EAAArkB,GAAG,mDAAD,M,0BAIZ,YAsCM,OArCH0D,MAAO,EAAA1D,GAAG,mCACXhC,MAAM,mB,CAEN,YAQM,MARN,GAQM,CAPJ,YAA4C,qBAAtC,EAAAgC,GAAG,8BAAD,GACR,YAKS,UAJPhC,MAAM,qBACL,QAAK,wBAAE,EAAAyxB,YAAA,EAAAA,cAAA,K,YAEL,EAAAzvB,GAAG,sCAAD,KAGT,YAME,G,WALS,EAAAgoB,WAAWkS,U,yCAAX,EAAAlS,WAAoB,aAC7Bxa,KAAK,KACJ9J,MAAO,EAAA1D,GAAG,6CACVwhB,SAAU,EAAAgJ,aAAaK,MAAMqP,UAC9BC,aAAW,K,0CAEb,YAKE,G,WAJS,EAAAnS,WAAWxoB,M,yCAAX,EAAAwoB,WAAgB,SACzBxa,KAAK,QACJ9J,MAAO,EAAA1D,GAAG,yCACVwhB,SAAU,EAAAgJ,aAAaK,MAAMrrB,O,0CAEhC,YAKE,G,WAJS,EAAAwoB,WAAWoS,K,yCAAX,EAAApS,WAAe,QACxBxa,KAAK,OACJ9J,MAAO,EAAA1D,GAAG,wCACVwhB,SAAU,EAAAgJ,aAAaK,MAAMuP,M,0CAEhC,YAKE,G,WAJS,EAAApS,WAAWqS,S,yCAAX,EAAArS,WAAmB,YAC5Bxa,KAAK,WACJ9J,MAAO,EAAA1D,GAAG,4CACVwhB,SAAU,EAAAgJ,aAAaK,MAAMwP,U,iEAO9B,EAAQ,U,cADhB,YAmBW,K,MAjBTC,GAAG,uB,CAEH,YAcM,MAdN,GAcM,CAbJ,YAMS,UALPt8B,MAAM,4BACL2H,UAAW,EAAA+mB,WACX,QAAK,wBAAE,EAAA4B,gBAAA,EAAAA,kBAAA,K,YAEL,EAAAtuB,GAAG,kBAAD,MAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,wBAAE,EAAAixB,UAAA,EAAAA,YAAA,K,YAEL,EAAAjvB,GAAG,kCAAD,Q,yBmBv/Bf/B,IAAQC,IACNsN,KACA+uB,KACAC,IACAC,IACAC,IACAC,IACAC,IACAC,KAGF,IAoDeC,GApDc,CAC3Bj5B,WAAY,CACV6H,gBAEAnI,sBACAw5B,qBACAltB,oBACAgB,gBACA2E,eACA+E,cACAyG,cACA8B,cACAka,aAEFj5B,SAAU,CACRk5B,WADQ,WAEN,QAAS37B,KAAKqC,OAAOO,MAAMG,MAAMC,aAEnC44B,KAJQ,WAKN,MAA0D,WAAnD57B,KAAKqC,OAAOO,MAAZ,UAA4Bi5B,oBAErCC,SAPQ,WAQN,MAA0D,YAAnD97B,KAAKqC,OAAOO,MAAZ,UAA4Bi5B,qBAGvC/7B,QAAS,CACPi8B,OADO,WAEL,IAAMC,EAAYh8B,KAAKqC,OAAOO,MAAZ,UAA4Bq5B,uBAE9C,GAAID,EAAW,CACb,IAAME,EAAWl8B,KAAKC,MAAMwtB,YAAY3jB,OAAvB,UAAwCqyB,WAAU,SAAAC,GACjE,OAAOA,EAAIp9B,OAASo9B,EAAIp9B,MAAM,mBAAqBg9B,KAEjDE,GAAY,GACdl8B,KAAKC,MAAMwtB,YAAY4O,OAAOH,GAKlCl8B,KAAKqC,OAAOC,SAAS,iCAGzByR,QA1C2B,WA2CzB/T,KAAK+7B,UAEP72B,MAAO,CACL02B,KAAM,SAAUvzB,GACVA,GAAOrI,KAAK+7B,Y,OC3EtB,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,S,kWCNzD,YA4Ee,GA3Ebx7B,IAAI,cACJ7B,MAAM,wBACL49B,gBAAc,EACdzwB,mBAAiB,EACjB0wB,mBAAkB,EAAAT,U,qBAEnB,IAMM,CANN,YAMM,OALH13B,MAAO,EAAA1D,GAAG,oBACXD,KAAK,SACL+7B,gBAAc,W,CAEd,YAAc,I,KAGR,EAAU,Y,cADlB,YAOM,O,MALHp4B,MAAO,EAAA1D,GAAG,wBACXD,KAAK,OACL+7B,gBAAc,W,CAEd,YAAc,I,yBAGR,EAAU,Y,cADlB,YAOM,O,MALHp4B,MAAO,EAAA1D,GAAG,yBACXD,KAAK,OACL+7B,gBAAc,Y,CAEd,YAAe,I,yBAEjB,YAMM,OALHp4B,MAAO,EAAA1D,GAAG,sBACXD,KAAK,SACL+7B,gBAAc,a,CAEd,YAAgB,I,KAElB,YAMM,OALHp4B,MAAO,EAAA1D,GAAG,kBACXD,KAAK,cACL+7B,gBAAc,S,CAEd,YAAY,I,KAGN,EAAU,Y,cADlB,YAOM,O,MALHp4B,MAAO,EAAA1D,GAAG,0BACXD,KAAK,OACL+7B,gBAAc,iB,CAEd,YAAoB,I,yBAGd,EAAU,Y,cADlB,YAOM,O,MALHp4B,MAAO,EAAA1D,GAAG,mCACXD,KAAK,WACL+7B,gBAAc,oB,CAEd,YAAuB,I,yBAGjB,EAAU,Y,cADlB,YAQM,O,MANHp4B,MAAO,EAAA1D,GAAG,6BACV+7B,YAAY,EACbh8B,KAAK,YACL+7B,gBAAc,kB,CAEd,YAAqB,I,yBAEvB,YAMM,OALHp4B,MAAO,EAAA1D,GAAG,0BACXD,KAAK,OACL+7B,gBAAc,W,CAEd,YAAc,I,wCDlEL","file":"static/js/2.eb2c361cdcbd8c4f7638.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./importer.vue?vue&type=style&index=0&id=24f20fa0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./exporter.vue?vue&type=style&index=0&id=6357fe6a&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./autosuggest.vue?vue&type=style&index=0&id=105e6799&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./block_card.vue?vue&type=style&index=0&id=0f5ac826&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./mute_card.vue?vue&type=style&index=0&id=5e3199a7&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./domain_mute_card.vue?vue&type=style&index=0&id=0b8ac930&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./selectable_list.vue?vue&type=style&index=0&id=356e33d2&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js!../../../../node_modules/sass-loader/lib/loader.js!./mutes_and_blocks_tab.scss?vue&type=style&index=0&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js!../../../../node_modules/sass-loader/lib/loader.js!../../../../node_modules/vue-loader/dist/index.js??ref--2!./modified_indicator.vue?vue&type=style&index=0&id=be0aa34e&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js!../../../../node_modules/sass-loader/lib/loader.js!../../../../node_modules/vue-loader/dist/index.js??ref--2!./server_side_indicator.vue?vue&type=style&index=0&id=35bf7f91&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js!../../../../node_modules/sass-loader/lib/loader.js!../../../../node_modules/vue-loader/dist/index.js??ref--2!./choice_setting.vue?vue&type=style&index=0&id=36cf5d2e&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js!../../../../../node_modules/sass-loader/lib/loader.js!../../../../../node_modules/vue-loader/dist/index.js??ref--2!./mfa_backup_codes.vue?vue&type=style&index=0&id=1284fe74&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js!../../../../../node_modules/sass-loader/lib/loader.js!../../../../../node_modules/vue-loader/dist/index.js??ref--2!./mfa.vue?vue&type=style&index=0&id=c62074fa&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./image_cropper.vue?vue&type=style&index=0&id=0bac39f0&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js!../../../../node_modules/sass-loader/lib/loader.js!./profile_tab.scss?vue&type=style&index=0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!./color_input.scss?vue&type=style&index=0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./color_input.vue?vue&type=style&index=1&id=54780100&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./shadow_control.vue?vue&type=style&index=0&id=02a2d813&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./font_control.vue?vue&type=style&index=0&id=ceed00ba&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./contrast_ratio.vue?vue&type=style&index=0&id=6d90b7c4&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js!../../../../../node_modules/sass-loader/lib/loader.js!../../../../../node_modules/vue-loader/dist/index.js??ref--2!./preview.vue?vue&type=style&index=0&id=1d72aedf&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js!../../../../../node_modules/sass-loader/lib/loader.js!./theme_tab.scss?vue&type=style&index=0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!./settings_modal_content.scss?vue&type=style&index=0&lang=scss\"","\n\n\n\n","\n\n\n\n\n","import { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faCircleNotch,\n faTimes\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCircleNotch,\n faTimes\n)\n\nconst Importer = {\n props: {\n submitHandler: {\n type: Function,\n required: true\n },\n submitButtonLabel: { type: String },\n successMessage: { type: String },\n errorMessage: { type: String }\n },\n data () {\n return {\n file: null,\n error: false,\n success: false,\n submitting: false\n }\n },\n methods: {\n change () {\n this.file = this.$refs.input.files[0]\n },\n submit () {\n this.dismiss()\n this.submitting = true\n this.submitHandler(this.file)\n .then(() => { this.success = true })\n .catch(() => { this.error = true })\n .finally(() => { this.submitting = false })\n },\n dismiss () {\n this.success = false\n this.error = false\n }\n }\n}\n\nexport default Importer\n","import { render } from \"./importer.vue?vue&type=template&id=24f20fa0\"\nimport script from \"./importer.js?vue&type=script&lang=js\"\nexport * from \"./importer.js?vue&type=script&lang=js\"\n\nimport \"./importer.vue?vue&type=style&index=0&id=24f20fa0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { library } from '@fortawesome/fontawesome-svg-core'\nimport { faCircleNotch } from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCircleNotch\n)\n\nconst Exporter = {\n props: {\n getContent: {\n type: Function,\n required: true\n },\n filename: {\n type: String,\n default: 'export.csv'\n },\n exportButtonLabel: { type: String },\n processingMessage: { type: String }\n },\n data () {\n return {\n processing: false\n }\n },\n methods: {\n process () {\n this.processing = true\n this.getContent()\n .then((content) => {\n const fileToDownload = document.createElement('a')\n fileToDownload.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(content))\n fileToDownload.setAttribute('download', this.filename)\n fileToDownload.style.display = 'none'\n document.body.appendChild(fileToDownload)\n fileToDownload.click()\n document.body.removeChild(fileToDownload)\n // Add delay before hiding processing state since browser takes some time to handle file download\n setTimeout(() => { this.processing = false }, 2000)\n })\n }\n }\n}\n\nexport default Exporter\n","import { render } from \"./exporter.vue?vue&type=template&id=6357fe6a\"\nimport script from \"./exporter.js?vue&type=script&lang=js\"\nexport * from \"./exporter.js?vue&type=script&lang=js\"\n\nimport \"./exporter.vue?vue&type=style&index=0&id=6357fe6a&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import Importer from 'src/components/importer/importer.vue'\nimport Exporter from 'src/components/exporter/exporter.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport { mapState } from 'vuex'\n\nconst DataImportExportTab = {\n data () {\n return {\n activeTab: 'profile',\n newDomainToMute: ''\n }\n },\n created () {\n this.$store.dispatch('fetchTokens')\n },\n components: {\n Importer,\n Exporter,\n Checkbox\n },\n computed: {\n ...mapState({\n backendInteractor: (state) => state.api.backendInteractor,\n user: (state) => state.users.currentUser\n })\n },\n methods: {\n getFollowsContent () {\n return this.backendInteractor.exportFriends({ id: this.user.id })\n .then(this.generateExportableUsersContent)\n },\n getBlocksContent () {\n return this.backendInteractor.fetchBlocks()\n .then(this.generateExportableUsersContent)\n },\n getMutesContent () {\n return this.backendInteractor.fetchMutes()\n .then(this.generateExportableUsersContent)\n },\n importFollows (file) {\n return this.backendInteractor.importFollows({ file })\n .then((status) => {\n if (!status) {\n throw new Error('failed')\n }\n })\n },\n importBlocks (file) {\n return this.backendInteractor.importBlocks({ file })\n .then((status) => {\n if (!status) {\n throw new Error('failed')\n }\n })\n },\n importMutes (file) {\n return this.backendInteractor.importMutes({ file })\n .then((status) => {\n if (!status) {\n throw new Error('failed')\n }\n })\n },\n generateExportableUsersContent (users) {\n // Get addresses\n return users.map((user) => {\n // check is it's a local user\n if (user && user.is_local) {\n // append the instance address\n // eslint-disable-next-line no-undef\n return user.screen_name + '@' + location.hostname\n }\n return user.screen_name\n }).join('\\n')\n }\n }\n}\n\nexport default DataImportExportTab\n","import { render } from \"./data_import_export_tab.vue?vue&type=template&id=492b1b68\"\nimport script from \"./data_import_export_tab.js?vue&type=script&lang=js\"\nexport * from \"./data_import_export_tab.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n\n","const debounceMilliseconds = 500\n\nexport default {\n props: {\n query: { // function to query results and return a promise\n type: Function,\n required: true\n },\n filter: { // function to filter results in real time\n type: Function\n },\n placeholder: {\n type: String,\n default: 'Search...'\n }\n },\n data () {\n return {\n term: '',\n timeout: null,\n results: [],\n resultsVisible: false\n }\n },\n computed: {\n filtered () {\n return this.filter ? this.filter(this.results) : this.results\n }\n },\n watch: {\n term (val) {\n this.fetchResults(val)\n }\n },\n methods: {\n fetchResults (term) {\n clearTimeout(this.timeout)\n this.timeout = setTimeout(() => {\n this.results = []\n if (term) {\n this.query(term).then((results) => { this.results = results })\n }\n }, debounceMilliseconds)\n },\n onInputClick () {\n this.resultsVisible = true\n },\n onClickOutside () {\n this.resultsVisible = false\n }\n }\n}\n","import { render } from \"./autosuggest.vue?vue&type=template&id=105e6799\"\nimport script from \"./autosuggest.js?vue&type=script&lang=js\"\nexport * from \"./autosuggest.js?vue&type=script&lang=js\"\n\nimport \"./autosuggest.vue?vue&type=style&index=0&id=105e6799&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import BasicUserCard from '../basic_user_card/basic_user_card.vue'\n\nconst BlockCard = {\n props: ['userId'],\n data () {\n return {\n progress: false\n }\n },\n computed: {\n user () {\n return this.$store.getters.findUser(this.userId)\n },\n relationship () {\n return this.$store.getters.relationship(this.userId)\n },\n blocked () {\n return this.relationship.blocking\n }\n },\n components: {\n BasicUserCard\n },\n methods: {\n unblockUser () {\n this.progress = true\n this.$store.dispatch('unblockUser', this.user.id).then(() => {\n this.progress = false\n })\n },\n blockUser () {\n this.progress = true\n this.$store.dispatch('blockUser', this.user.id).then(() => {\n this.progress = false\n })\n }\n }\n}\n\nexport default BlockCard\n","import { render } from \"./block_card.vue?vue&type=template&id=0f5ac826\"\nimport script from \"./block_card.js?vue&type=script&lang=js\"\nexport * from \"./block_card.js?vue&type=script&lang=js\"\n\nimport \"./block_card.vue?vue&type=style&index=0&id=0f5ac826&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import BasicUserCard from '../basic_user_card/basic_user_card.vue'\n\nconst MuteCard = {\n props: ['userId'],\n data () {\n return {\n progress: false\n }\n },\n computed: {\n user () {\n return this.$store.getters.findUser(this.userId)\n },\n relationship () {\n return this.$store.getters.relationship(this.userId)\n },\n muted () {\n return this.relationship.muting\n }\n },\n components: {\n BasicUserCard\n },\n methods: {\n unmuteUser () {\n this.progress = true\n this.$store.dispatch('unmuteUser', this.userId).then(() => {\n this.progress = false\n })\n },\n muteUser () {\n this.progress = true\n this.$store.dispatch('muteUser', this.userId).then(() => {\n this.progress = false\n })\n }\n }\n}\n\nexport default MuteCard\n","import { render } from \"./mute_card.vue?vue&type=template&id=5e3199a7\"\nimport script from \"./mute_card.js?vue&type=script&lang=js\"\nexport * from \"./mute_card.js?vue&type=script&lang=js\"\n\nimport \"./mute_card.vue?vue&type=style&index=0&id=5e3199a7&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import ProgressButton from '../progress_button/progress_button.vue'\n\nconst DomainMuteCard = {\n props: ['domain'],\n components: {\n ProgressButton\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n muted () {\n return this.user.domainMutes.includes(this.domain)\n }\n },\n methods: {\n unmuteDomain () {\n return this.$store.dispatch('unmuteDomain', this.domain)\n },\n muteDomain () {\n return this.$store.dispatch('muteDomain', this.domain)\n }\n }\n}\n\nexport default DomainMuteCard\n","import { render } from \"./domain_mute_card.vue?vue&type=template&id=0b8ac930\"\nimport script from \"./domain_mute_card.js?vue&type=script&lang=js\"\nexport * from \"./domain_mute_card.js?vue&type=script&lang=js\"\n\nimport \"./domain_mute_card.vue?vue&type=style&index=0&id=0b8ac930&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import List from '../list/list.vue'\nimport Checkbox from '../checkbox/checkbox.vue'\n\nconst SelectableList = {\n components: {\n List,\n Checkbox\n },\n props: {\n items: {\n type: Array,\n default: () => []\n },\n getKey: {\n type: Function,\n default: item => item.id\n }\n },\n data () {\n return {\n selected: []\n }\n },\n computed: {\n allKeys () {\n return this.items.map(this.getKey)\n },\n filteredSelected () {\n return this.allKeys.filter(key => this.selected.indexOf(key) !== -1)\n },\n allSelected () {\n return this.filteredSelected.length === this.items.length\n },\n noneSelected () {\n return this.filteredSelected.length === 0\n },\n someSelected () {\n return !this.allSelected && !this.noneSelected\n }\n },\n methods: {\n isSelected (item) {\n return this.filteredSelected.indexOf(this.getKey(item)) !== -1\n },\n toggle (checked, item) {\n const key = this.getKey(item)\n const oldChecked = this.isSelected(key)\n if (checked !== oldChecked) {\n if (checked) {\n this.selected.push(key)\n } else {\n this.selected.splice(this.selected.indexOf(key), 1)\n }\n }\n },\n toggleAll (value) {\n if (value) {\n this.selected = this.allKeys.slice(0)\n } else {\n this.selected = []\n }\n }\n }\n}\n\nexport default SelectableList\n","import { render } from \"./selectable_list.vue?vue&type=template&id=356e33d2\"\nimport script from \"./selectable_list.js?vue&type=script&lang=js\"\nexport * from \"./selectable_list.js?vue&type=script&lang=js\"\n\nimport \"./selectable_list.vue?vue&type=style&index=0&id=356e33d2&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// eslint-disable-next-line no-unused\nimport { h } from 'vue'\nimport isEmpty from 'lodash/isEmpty'\nimport { getComponentProps } from '../../services/component_utils/component_utils'\nimport './with_subscription.scss'\n\nimport { FontAwesomeIcon as FAIcon } from '@fortawesome/vue-fontawesome'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCircleNotch\n)\n\nconst withSubscription = ({\n fetch, // function to fetch entries and return a promise\n select, // function to select data from store\n childPropName = 'content', // name of the prop to be passed into the wrapped component\n additionalPropNames = [] // additional prop name list of the wrapper component\n}) => (WrappedComponent) => {\n const originalProps = Object.keys(getComponentProps(WrappedComponent))\n const props = originalProps.filter(v => v !== childPropName).concat(additionalPropNames)\n\n return {\n props: [\n ...props,\n 'refresh' // boolean saying to force-fetch data whenever created\n ],\n data () {\n return {\n loading: false,\n error: false\n }\n },\n computed: {\n fetchedData () {\n return select(this.$props, this.$store)\n }\n },\n created () {\n if (this.refresh || isEmpty(this.fetchedData)) {\n this.fetchData()\n }\n },\n methods: {\n fetchData () {\n if (!this.loading) {\n this.loading = true\n this.error = false\n fetch(this.$props, this.$store)\n .then(() => {\n this.loading = false\n })\n .catch(() => {\n this.error = true\n this.loading = false\n })\n }\n }\n },\n render () {\n if (!this.error && !this.loading) {\n const props = {\n ...this.$props,\n [childPropName]: this.fetchedData\n }\n const children = this.$slots\n return (\n
\n \n {children}\n \n
\n )\n } else {\n return (\n
\n {this.error\n ? {this.$t('general.generic_error')}\n : \n }\n
\n )\n }\n }\n }\n}\n\nexport default withSubscription\n","import get from 'lodash/get'\nimport map from 'lodash/map'\nimport reject from 'lodash/reject'\nimport Autosuggest from 'src/components/autosuggest/autosuggest.vue'\nimport TabSwitcher from 'src/components/tab_switcher/tab_switcher.jsx'\nimport BlockCard from 'src/components/block_card/block_card.vue'\nimport MuteCard from 'src/components/mute_card/mute_card.vue'\nimport DomainMuteCard from 'src/components/domain_mute_card/domain_mute_card.vue'\nimport SelectableList from 'src/components/selectable_list/selectable_list.vue'\nimport ProgressButton from 'src/components/progress_button/progress_button.vue'\nimport withSubscription from 'src/components/../hocs/with_subscription/with_subscription'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\n\nconst BlockList = withSubscription({\n fetch: (props, $store) => $store.dispatch('fetchBlocks'),\n select: (props, $store) => get($store.state.users.currentUser, 'blockIds', []),\n childPropName: 'items'\n})(SelectableList)\n\nconst MuteList = withSubscription({\n fetch: (props, $store) => $store.dispatch('fetchMutes'),\n select: (props, $store) => get($store.state.users.currentUser, 'muteIds', []),\n childPropName: 'items'\n})(SelectableList)\n\nconst DomainMuteList = withSubscription({\n fetch: (props, $store) => $store.dispatch('fetchDomainMutes'),\n select: (props, $store) => get($store.state.users.currentUser, 'domainMutes', []),\n childPropName: 'items'\n})(SelectableList)\n\nconst MutesAndBlocks = {\n data () {\n return {\n activeTab: 'profile'\n }\n },\n created () {\n this.$store.dispatch('fetchTokens')\n this.$store.dispatch('getKnownDomains')\n },\n components: {\n TabSwitcher,\n BlockList,\n MuteList,\n DomainMuteList,\n BlockCard,\n MuteCard,\n DomainMuteCard,\n ProgressButton,\n Autosuggest,\n Checkbox\n },\n computed: {\n knownDomains () {\n return this.$store.state.instance.knownDomains\n },\n user () {\n return this.$store.state.users.currentUser\n }\n },\n methods: {\n importFollows (file) {\n return this.$store.state.api.backendInteractor.importFollows({ file })\n .then((status) => {\n if (!status) {\n throw new Error('failed')\n }\n })\n },\n importBlocks (file) {\n return this.$store.state.api.backendInteractor.importBlocks({ file })\n .then((status) => {\n if (!status) {\n throw new Error('failed')\n }\n })\n },\n generateExportableUsersContent (users) {\n // Get addresses\n return users.map((user) => {\n // check is it's a local user\n if (user && user.is_local) {\n // append the instance address\n // eslint-disable-next-line no-undef\n return user.screen_name + '@' + location.hostname\n }\n return user.screen_name\n }).join('\\n')\n },\n activateTab (tabName) {\n this.activeTab = tabName\n },\n filterUnblockedUsers (userIds) {\n return reject(userIds, (userId) => {\n const relationship = this.$store.getters.relationship(this.userId)\n return relationship.blocking || userId === this.user.id\n })\n },\n filterUnMutedUsers (userIds) {\n return reject(userIds, (userId) => {\n const relationship = this.$store.getters.relationship(this.userId)\n return relationship.muting || userId === this.user.id\n })\n },\n queryUserIds (query) {\n return this.$store.dispatch('searchUsers', { query })\n .then((users) => map(users, 'id'))\n },\n blockUsers (ids) {\n return this.$store.dispatch('blockUsers', ids)\n },\n unblockUsers (ids) {\n return this.$store.dispatch('unblockUsers', ids)\n },\n muteUsers (ids) {\n return this.$store.dispatch('muteUsers', ids)\n },\n unmuteUsers (ids) {\n return this.$store.dispatch('unmuteUsers', ids)\n },\n filterUnMutedDomains (urls) {\n return urls.filter(url => !this.user.domainMutes.includes(url))\n },\n queryKnownDomains (query) {\n return new Promise((resolve, reject) => {\n resolve(this.knownDomains.filter(url => url.toLowerCase().includes(query)))\n })\n },\n unmuteDomains (domains) {\n return this.$store.dispatch('unmuteDomains', domains)\n }\n }\n}\n\nexport default MutesAndBlocks\n","import { render } from \"./mutes_and_blocks_tab.vue?vue&type=template&id=d98eb706\"\nimport script from \"./mutes_and_blocks_tab.js?vue&type=script&lang=js\"\nexport * from \"./mutes_and_blocks_tab.js?vue&type=script&lang=js\"\n\nimport \"./mutes_and_blocks_tab.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n","\n\n\n\n\n","import { render } from \"./modified_indicator.vue?vue&type=template&id=be0aa34e\"\nimport script from \"./modified_indicator.vue?vue&type=script&lang=js\"\nexport * from \"./modified_indicator.vue?vue&type=script&lang=js\"\n\nimport \"./modified_indicator.vue?vue&type=style&index=0&id=be0aa34e&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./server_side_indicator.vue?vue&type=template&id=35bf7f91\"\nimport script from \"./server_side_indicator.vue?vue&type=script&lang=js\"\nexport * from \"./server_side_indicator.vue?vue&type=script&lang=js\"\n\nimport \"./server_side_indicator.vue?vue&type=style&index=0&id=35bf7f91&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { get, set } from 'lodash'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport ModifiedIndicator from './modified_indicator.vue'\nimport ServerSideIndicator from './server_side_indicator.vue'\nexport default {\n components: {\n Checkbox,\n ModifiedIndicator,\n ServerSideIndicator\n },\n props: [\n 'path',\n 'disabled',\n 'expert'\n ],\n computed: {\n pathDefault () {\n const [firstSegment, ...rest] = this.path.split('.')\n return [firstSegment + 'DefaultValue', ...rest].join('.')\n },\n state () {\n const value = get(this.$parent, this.path)\n if (value === undefined) {\n return this.defaultState\n } else {\n return value\n }\n },\n defaultState () {\n return get(this.$parent, this.pathDefault)\n },\n isServerSide () {\n return this.path.startsWith('serverSide_')\n },\n isChanged () {\n return !this.path.startsWith('serverSide_') && this.state !== this.defaultState\n },\n matchesExpertLevel () {\n return (this.expert || 0) <= this.$parent.expertLevel\n }\n },\n methods: {\n update (e) {\n set(this.$parent, this.path, e)\n }\n }\n}\n","import { render } from \"./boolean_setting.vue?vue&type=template&id=12d9142b\"\nimport script from \"./boolean_setting.js?vue&type=script&lang=js\"\nexport * from \"./boolean_setting.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defaultState as configDefaultState } from 'src/modules/config.js'\nimport { defaultState as serverSideConfigDefaultState } from 'src/modules/serverSideConfig.js'\n\nconst SharedComputedObject = () => ({\n user () {\n return this.$store.state.users.currentUser\n },\n // Getting values for default properties\n ...Object.keys(configDefaultState)\n .map(key => [\n key + 'DefaultValue',\n function () {\n return this.$store.getters.defaultConfig[key]\n }\n ])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n // Generating computed values for vuex properties\n ...Object.keys(configDefaultState)\n .map(key => [key, {\n get () { return this.$store.getters.mergedConfig[key] },\n set (value) {\n this.$store.dispatch('setOption', { name: key, value })\n }\n }])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n ...Object.keys(serverSideConfigDefaultState)\n .map(key => ['serverSide_' + key, {\n get () { return this.$store.state.serverSideConfig[key] },\n set (value) {\n this.$store.dispatch('setServerSideOption', { name: key, value })\n }\n }])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n // Special cases (need to transform values or perform actions first)\n useStreamingApi: {\n get () { return this.$store.getters.mergedConfig.useStreamingApi },\n set (value) {\n const promise = value\n ? this.$store.dispatch('enableMastoSockets')\n : this.$store.dispatch('disableMastoSockets')\n\n promise.then(() => {\n this.$store.dispatch('setOption', { name: 'useStreamingApi', value })\n }).catch((e) => {\n console.error('Failed starting MastoAPI Streaming socket', e)\n this.$store.dispatch('disableMastoSockets')\n this.$store.dispatch('setOption', { name: 'useStreamingApi', value: false })\n })\n }\n }\n})\n\nexport default SharedComputedObject\n","import BooleanSetting from '../helpers/boolean_setting.vue'\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\n\nconst NotificationsTab = {\n data () {\n return {\n activeTab: 'profile',\n notificationSettings: this.$store.state.users.currentUser.notification_settings,\n newDomainToMute: ''\n }\n },\n components: {\n BooleanSetting\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n ...SharedComputedObject()\n },\n methods: {\n updateNotificationSettings () {\n this.$store.state.api.backendInteractor\n .updateNotificationSettings({ settings: this.notificationSettings })\n }\n }\n}\n\nexport default NotificationsTab\n","import { render } from \"./notifications_tab.vue?vue&type=template&id=e4b944ee\"\nimport script from \"./notifications_tab.js?vue&type=script&lang=js\"\nexport * from \"./notifications_tab.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","\n\n\n\n\n","import { get, set } from 'lodash'\nimport Select from 'src/components/select/select.vue'\nimport ModifiedIndicator from './modified_indicator.vue'\nimport ServerSideIndicator from './server_side_indicator.vue'\nexport default {\n components: {\n Select,\n ModifiedIndicator,\n ServerSideIndicator\n },\n props: [\n 'path',\n 'disabled',\n 'options',\n 'expert'\n ],\n computed: {\n pathDefault () {\n const [firstSegment, ...rest] = this.path.split('.')\n return [firstSegment + 'DefaultValue', ...rest].join('.')\n },\n state () {\n const value = get(this.$parent, this.path)\n if (value === undefined) {\n return this.defaultState\n } else {\n return value\n }\n },\n defaultState () {\n return get(this.$parent, this.pathDefault)\n },\n isServerSide () {\n return this.path.startsWith('serverSide_')\n },\n isChanged () {\n return !this.path.startsWith('serverSide_') && this.state !== this.defaultState\n },\n matchesExpertLevel () {\n return (this.expert || 0) <= this.$parent.expertLevel\n }\n },\n methods: {\n update (e) {\n set(this.$parent, this.path, e)\n }\n }\n}\n","import { render } from \"./choice_setting.vue?vue&type=template&id=36cf5d2e\"\nimport script from \"./choice_setting.js?vue&type=script&lang=js\"\nexport * from \"./choice_setting.js?vue&type=script&lang=js\"\n\nimport \"./choice_setting.vue?vue&type=style&index=0&id=36cf5d2e&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { get, set } from 'lodash'\nimport ModifiedIndicator from './modified_indicator.vue'\nexport default {\n components: {\n ModifiedIndicator\n },\n props: {\n path: String,\n disabled: Boolean,\n min: Number,\n expert: [Number, String]\n },\n computed: {\n pathDefault () {\n const [firstSegment, ...rest] = this.path.split('.')\n return [firstSegment + 'DefaultValue', ...rest].join('.')\n },\n state () {\n const value = get(this.$parent, this.path)\n if (value === undefined) {\n return this.defaultState\n } else {\n return value\n }\n },\n defaultState () {\n return get(this.$parent, this.pathDefault)\n },\n isChanged () {\n return this.state !== this.defaultState\n },\n matchesExpertLevel () {\n return (this.expert || 0) <= this.$parent.expertLevel\n }\n },\n methods: {\n update (e) {\n set(this.$parent, this.path, parseInt(e.target.value))\n }\n }\n}\n","import { render } from \"./integer_setting.vue?vue&type=template&id=481281d5\"\nimport script from \"./integer_setting.js?vue&type=script&lang=js\"\nexport * from \"./integer_setting.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { filter, trim } from 'lodash'\nimport BooleanSetting from '../helpers/boolean_setting.vue'\nimport ChoiceSetting from '../helpers/choice_setting.vue'\nimport IntegerSetting from '../helpers/integer_setting.vue'\n\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\n\nconst FilteringTab = {\n data () {\n return {\n muteWordsStringLocal: this.$store.getters.mergedConfig.muteWords.join('\\n'),\n replyVisibilityOptions: ['all', 'following', 'self'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.reply_visibility_${mode}`)\n }))\n }\n },\n components: {\n BooleanSetting,\n ChoiceSetting,\n IntegerSetting\n },\n computed: {\n ...SharedComputedObject(),\n muteWordsString: {\n get () {\n return this.muteWordsStringLocal\n },\n set (value) {\n this.muteWordsStringLocal = value\n this.$store.dispatch('setOption', {\n name: 'muteWords',\n value: filter(value.split('\\n'), (word) => trim(word).length > 0)\n })\n }\n }\n },\n // Updating nested properties\n watch: {\n notificationVisibility: {\n handler (value) {\n this.$store.dispatch('setOption', {\n name: 'notificationVisibility',\n value: this.$store.getters.mergedConfig.notificationVisibility\n })\n },\n deep: true\n },\n replyVisibility () {\n this.$store.dispatch('queueFlushAll')\n }\n }\n}\n\nexport default FilteringTab\n","import { render } from \"./filtering_tab.vue?vue&type=template&id=19e8a013\"\nimport script from \"./filtering_tab.js?vue&type=script&lang=js\"\nexport * from \"./filtering_tab.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n","\n\n\n","export default {\n props: {\n backupCodes: {\n type: Object,\n default: () => ({\n inProgress: false,\n codes: []\n })\n }\n },\n data: () => ({}),\n computed: {\n inProgress () { return this.backupCodes.inProgress },\n ready () { return this.backupCodes.codes.length > 0 },\n displayTitle () { return this.inProgress || this.ready }\n }\n}\n","import { render } from \"./mfa_backup_codes.vue?vue&type=template&id=1284fe74\"\nimport script from \"./mfa_backup_codes.js?vue&type=script&lang=js\"\nexport * from \"./mfa_backup_codes.js?vue&type=script&lang=js\"\n\nimport \"./mfa_backup_codes.vue?vue&type=style&index=0&id=1284fe74&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","const Confirm = {\n props: ['disabled'],\n data: () => ({}),\n methods: {\n confirm () { this.$emit('confirm') },\n cancel () { this.$emit('cancel') }\n }\n}\nexport default Confirm\n","import { render } from \"./confirm.vue?vue&type=template&id=232a09eb\"\nimport script from \"./confirm.js?vue&type=script&lang=js\"\nexport * from \"./confirm.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import Confirm from './confirm.vue'\nimport { mapState } from 'vuex'\n\nexport default {\n props: ['settings'],\n data: () => ({\n error: false,\n currentPassword: '',\n deactivate: false,\n inProgress: false // progress peform request to disable otp method\n }),\n components: {\n 'confirm': Confirm\n },\n computed: {\n isActivated () {\n return this.settings.totp\n },\n ...mapState({\n backendInteractor: (state) => state.api.backendInteractor\n })\n },\n methods: {\n doActivate () {\n this.$emit('activate')\n },\n cancelDeactivate () { this.deactivate = false },\n doDeactivate () {\n this.error = null\n this.deactivate = true\n },\n confirmDeactivate () { // confirm deactivate TOTP method\n this.error = null\n this.inProgress = true\n this.backendInteractor.mfaDisableOTP({\n password: this.currentPassword\n })\n .then((res) => {\n this.inProgress = false\n if (res.error) {\n this.error = res.error\n return\n }\n this.deactivate = false\n this.$emit('deactivate')\n })\n }\n }\n}\n","import RecoveryCodes from './mfa_backup_codes.vue'\nimport TOTP from './mfa_totp.vue'\nimport Confirm from './confirm.vue'\nimport VueQrcode from '@chenfengyuan/vue-qrcode'\nimport { mapState } from 'vuex'\n\nconst Mfa = {\n data: () => ({\n settings: { // current settings of MFA\n available: false,\n enabled: false,\n totp: false\n },\n setupState: { // setup mfa\n state: '', // state of setup. '' -> 'getBackupCodes' -> 'setupOTP' -> 'complete'\n setupOTPState: '' // state of setup otp. '' -> 'prepare' -> 'confirm' -> 'complete'\n },\n backupCodes: {\n getNewCodes: false,\n inProgress: false, // progress of fetch codes\n codes: []\n },\n otpSettings: { // pre-setup setting of OTP. secret key, qrcode url.\n provisioning_uri: '',\n key: ''\n },\n currentPassword: null,\n otpConfirmToken: null,\n error: null,\n readyInit: false\n }),\n components: {\n 'recovery-codes': RecoveryCodes,\n 'totp-item': TOTP,\n 'qrcode': VueQrcode,\n 'confirm': Confirm\n },\n computed: {\n canSetupOTP () {\n return (\n (this.setupInProgress && this.backupCodesPrepared) ||\n this.settings.enabled\n ) && !this.settings.totp && !this.setupOTPInProgress\n },\n setupInProgress () {\n return this.setupState.state !== '' && this.setupState.state !== 'complete'\n },\n setupOTPInProgress () {\n return this.setupState.state === 'setupOTP' && !this.completedOTP\n },\n prepareOTP () {\n return this.setupState.setupOTPState === 'prepare'\n },\n confirmOTP () {\n return this.setupState.setupOTPState === 'confirm'\n },\n completedOTP () {\n return this.setupState.setupOTPState === 'completed'\n },\n backupCodesPrepared () {\n return !this.backupCodes.inProgress && this.backupCodes.codes.length > 0\n },\n confirmNewBackupCodes () {\n return this.backupCodes.getNewCodes\n },\n ...mapState({\n backendInteractor: (state) => state.api.backendInteractor\n })\n },\n\n methods: {\n activateOTP () {\n if (!this.settings.enabled) {\n this.setupState.state = 'getBackupcodes'\n this.fetchBackupCodes()\n }\n },\n fetchBackupCodes () {\n this.backupCodes.inProgress = true\n this.backupCodes.codes = []\n\n return this.backendInteractor.generateMfaBackupCodes()\n .then((res) => {\n this.backupCodes.codes = res.codes\n this.backupCodes.inProgress = false\n })\n },\n getBackupCodes () { // get a new backup codes\n this.backupCodes.getNewCodes = true\n },\n confirmBackupCodes () { // confirm getting new backup codes\n this.fetchBackupCodes().then((res) => {\n this.backupCodes.getNewCodes = false\n })\n },\n cancelBackupCodes () { // cancel confirm form of new backup codes\n this.backupCodes.getNewCodes = false\n },\n\n // Setup OTP\n setupOTP () { // prepare setup OTP\n this.setupState.state = 'setupOTP'\n this.setupState.setupOTPState = 'prepare'\n this.backendInteractor.mfaSetupOTP()\n .then((res) => {\n this.otpSettings = res\n this.setupState.setupOTPState = 'confirm'\n })\n },\n doConfirmOTP () { // handler confirm enable OTP\n this.error = null\n this.backendInteractor.mfaConfirmOTP({\n token: this.otpConfirmToken,\n password: this.currentPassword\n })\n .then((res) => {\n if (res.error) {\n this.error = res.error\n return\n }\n this.completeSetup()\n })\n },\n\n completeSetup () {\n this.setupState.setupOTPState = 'complete'\n this.setupState.state = 'complete'\n this.currentPassword = null\n this.error = null\n this.fetchSettings()\n },\n cancelSetup () { // cancel setup\n this.setupState.setupOTPState = ''\n this.setupState.state = ''\n this.currentPassword = null\n this.error = null\n },\n // end Setup OTP\n\n // fetch settings from server\n async fetchSettings () {\n let result = await this.backendInteractor.settingsMFA()\n if (result.error) return\n this.settings = result.settings\n this.settings.available = true\n return result\n }\n },\n mounted () {\n this.fetchSettings().then(() => {\n this.readyInit = true\n })\n }\n}\nexport default Mfa\n","import { render } from \"./mfa_totp.vue?vue&type=template&id=5466d3a1\"\nimport script from \"./mfa_totp.js?vue&type=script&lang=js\"\nexport * from \"./mfa_totp.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./mfa.vue?vue&type=template&id=c62074fa\"\nimport script from \"./mfa.js?vue&type=script&lang=js\"\nexport * from \"./mfa.js?vue&type=script&lang=js\"\n\nimport \"./mfa.vue?vue&type=style&index=0&id=c62074fa&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import ProgressButton from 'src/components/progress_button/progress_button.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport Mfa from './mfa.vue'\nimport localeService from 'src/services/locale/locale.service.js'\n\nconst SecurityTab = {\n data () {\n return {\n newEmail: '',\n changeEmailError: false,\n changeEmailPassword: '',\n changedEmail: false,\n deletingAccount: false,\n deleteAccountConfirmPasswordInput: '',\n deleteAccountError: false,\n changePasswordInputs: [ '', '', '' ],\n changedPassword: false,\n changePasswordError: false\n }\n },\n created () {\n this.$store.dispatch('fetchTokens')\n },\n components: {\n ProgressButton,\n Mfa,\n Checkbox\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n pleromaBackend () {\n return this.$store.state.instance.pleromaBackend\n },\n oauthTokens () {\n return this.$store.state.oauthTokens.tokens.map(oauthToken => {\n return {\n id: oauthToken.id,\n appName: oauthToken.app_name,\n validUntil: new Date(oauthToken.valid_until).toLocaleDateString(localeService.internalToBrowserLocale(this.$i18n.locale))\n }\n })\n }\n },\n methods: {\n confirmDelete () {\n this.deletingAccount = true\n },\n deleteAccount () {\n this.$store.state.api.backendInteractor.deleteAccount({ password: this.deleteAccountConfirmPasswordInput })\n .then((res) => {\n if (res.status === 'success') {\n this.$store.dispatch('logout')\n this.$router.push({ name: 'root' })\n } else {\n this.deleteAccountError = res.error\n }\n })\n },\n changePassword () {\n const params = {\n password: this.changePasswordInputs[0],\n newPassword: this.changePasswordInputs[1],\n newPasswordConfirmation: this.changePasswordInputs[2]\n }\n this.$store.state.api.backendInteractor.changePassword(params)\n .then((res) => {\n if (res.status === 'success') {\n this.changedPassword = true\n this.changePasswordError = false\n this.logout()\n } else {\n this.changedPassword = false\n this.changePasswordError = res.error\n }\n })\n },\n changeEmail () {\n const params = {\n email: this.newEmail,\n password: this.changeEmailPassword\n }\n this.$store.state.api.backendInteractor.changeEmail(params)\n .then((res) => {\n if (res.status === 'success') {\n this.changedEmail = true\n this.changeEmailError = false\n } else {\n this.changedEmail = false\n this.changeEmailError = res.error\n }\n })\n },\n logout () {\n this.$store.dispatch('logout')\n this.$router.replace('/')\n },\n revokeToken (id) {\n if (window.confirm(`${this.$i18n.t('settings.revoke_token')}?`)) {\n this.$store.dispatch('revokeToken', id)\n }\n }\n }\n}\n\nexport default SecurityTab\n","import { render } from \"./security_tab.vue?vue&type=template&id=dc4ec0ae\"\nimport script from \"./security_tab.js?vue&type=script&lang=js\"\nexport * from \"./security_tab.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n\n","import Cropper from 'cropperjs'\nimport 'cropperjs/dist/cropper.css'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCircleNotch\n)\n\nconst ImageCropper = {\n props: {\n trigger: {\n type: [String, window.Element],\n required: true\n },\n submitHandler: {\n type: Function,\n required: true\n },\n cropperOptions: {\n type: Object,\n default () {\n return {\n aspectRatio: 1,\n autoCropArea: 1,\n viewMode: 1,\n movable: false,\n zoomable: false,\n guides: false\n }\n }\n },\n mimes: {\n type: String,\n default: 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon'\n },\n saveButtonLabel: {\n type: String\n },\n saveWithoutCroppingButtonlabel: {\n type: String\n },\n cancelButtonLabel: {\n type: String\n }\n },\n data () {\n return {\n cropper: undefined,\n dataUrl: undefined,\n filename: undefined,\n submitting: false\n }\n },\n computed: {\n saveText () {\n return this.saveButtonLabel || this.$t('image_cropper.save')\n },\n saveWithoutCroppingText () {\n return this.saveWithoutCroppingButtonlabel || this.$t('image_cropper.save_without_cropping')\n },\n cancelText () {\n return this.cancelButtonLabel || this.$t('image_cropper.cancel')\n }\n },\n methods: {\n destroy () {\n if (this.cropper) {\n this.cropper.destroy()\n }\n this.$refs.input.value = ''\n this.dataUrl = undefined\n this.$emit('close')\n },\n submit (cropping = true) {\n this.submitting = true\n this.submitHandler(cropping && this.cropper, this.file)\n .then(() => this.destroy())\n .finally(() => {\n this.submitting = false\n })\n },\n pickImage () {\n this.$refs.input.click()\n },\n createCropper () {\n this.cropper = new Cropper(this.$refs.img, this.cropperOptions)\n },\n getTriggerDOM () {\n return typeof this.trigger === 'object' ? this.trigger : document.querySelector(this.trigger)\n },\n readFile () {\n const fileInput = this.$refs.input\n if (fileInput.files != null && fileInput.files[0] != null) {\n this.file = fileInput.files[0]\n let reader = new window.FileReader()\n reader.onload = (e) => {\n this.dataUrl = e.target.result\n this.$emit('open')\n }\n reader.readAsDataURL(this.file)\n this.$emit('changed', this.file, reader)\n }\n }\n },\n mounted () {\n // listen for click event on trigger\n const trigger = this.getTriggerDOM()\n if (!trigger) {\n this.$emit('error', 'No image make trigger found.', 'user')\n } else {\n trigger.addEventListener('click', this.pickImage)\n }\n // listen for input file changes\n const fileInput = this.$refs.input\n fileInput.addEventListener('change', this.readFile)\n },\n beforeUnmount: function () {\n // remove the event listeners\n const trigger = this.getTriggerDOM()\n if (trigger) {\n trigger.removeEventListener('click', this.pickImage)\n }\n const fileInput = this.$refs.input\n fileInput.removeEventListener('change', this.readFile)\n }\n}\n\nexport default ImageCropper\n","import { render } from \"./image_cropper.vue?vue&type=template&id=0bac39f0\"\nimport script from \"./image_cropper.js?vue&type=script&lang=js\"\nexport * from \"./image_cropper.js?vue&type=script&lang=js\"\n\nimport \"./image_cropper.vue?vue&type=style&index=0&id=0bac39f0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import unescape from 'lodash/unescape'\nimport merge from 'lodash/merge'\nimport ImageCropper from 'src/components/image_cropper/image_cropper.vue'\nimport ScopeSelector from 'src/components/scope_selector/scope_selector.vue'\nimport fileSizeFormatService from 'src/components/../services/file_size_format/file_size_format.js'\nimport ProgressButton from 'src/components/progress_button/progress_button.vue'\nimport EmojiInput from 'src/components/emoji_input/emoji_input.vue'\nimport suggestor from 'src/components/emoji_input/suggestor.js'\nimport Autosuggest from 'src/components/autosuggest/autosuggest.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport InterfaceLanguageSwitcher from 'src/components/interface_language_switcher/interface_language_switcher.vue'\nimport BooleanSetting from '../helpers/boolean_setting.vue'\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\nimport localeService from 'src/services/locale/locale.service.js'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faTimes,\n faPlus,\n faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faTimes,\n faPlus,\n faCircleNotch\n)\n\nconst ProfileTab = {\n data () {\n return {\n newName: this.$store.state.users.currentUser.name_unescaped,\n newBio: unescape(this.$store.state.users.currentUser.description),\n newLocked: this.$store.state.users.currentUser.locked,\n newFields: this.$store.state.users.currentUser.fields.map(field => ({ name: field.name, value: field.value })),\n showRole: this.$store.state.users.currentUser.show_role,\n role: this.$store.state.users.currentUser.role,\n bot: this.$store.state.users.currentUser.bot,\n pickAvatarBtnVisible: true,\n bannerUploading: false,\n backgroundUploading: false,\n banner: null,\n bannerPreview: null,\n background: null,\n backgroundPreview: null,\n emailLanguage: this.$store.state.users.currentUser.language || ''\n }\n },\n components: {\n ScopeSelector,\n ImageCropper,\n EmojiInput,\n Autosuggest,\n ProgressButton,\n Checkbox,\n BooleanSetting,\n InterfaceLanguageSwitcher\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n ...SharedComputedObject(),\n emojiUserSuggestor () {\n return suggestor({\n emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ],\n store: this.$store\n })\n },\n emojiSuggestor () {\n return suggestor({ emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ] })\n },\n userSuggestor () {\n return suggestor({ store: this.$store })\n },\n fieldsLimits () {\n return this.$store.state.instance.fieldsLimits\n },\n maxFields () {\n return this.fieldsLimits ? this.fieldsLimits.maxFields : 0\n },\n defaultAvatar () {\n return this.$store.state.instance.server + this.$store.state.instance.defaultAvatar\n },\n defaultBanner () {\n return this.$store.state.instance.server + this.$store.state.instance.defaultBanner\n },\n isDefaultAvatar () {\n const baseAvatar = this.$store.state.instance.defaultAvatar\n return !(this.$store.state.users.currentUser.profile_image_url) ||\n this.$store.state.users.currentUser.profile_image_url.includes(baseAvatar)\n },\n isDefaultBanner () {\n const baseBanner = this.$store.state.instance.defaultBanner\n return !(this.$store.state.users.currentUser.cover_photo) ||\n this.$store.state.users.currentUser.cover_photo.includes(baseBanner)\n },\n isDefaultBackground () {\n return !(this.$store.state.users.currentUser.background_image)\n },\n avatarImgSrc () {\n const src = this.$store.state.users.currentUser.profile_image_url_original\n return (!src) ? this.defaultAvatar : src\n },\n bannerImgSrc () {\n const src = this.$store.state.users.currentUser.cover_photo\n return (!src) ? this.defaultBanner : src\n }\n },\n methods: {\n updateProfile () {\n const params = {\n note: this.newBio,\n locked: this.newLocked,\n // Backend notation.\n /* eslint-disable camelcase */\n display_name: this.newName,\n fields_attributes: this.newFields.filter(el => el != null),\n bot: this.bot,\n show_role: this.showRole\n /* eslint-enable camelcase */\n }\n\n if (this.emailLanguage) {\n params.language = localeService.internalToBackendLocale(this.emailLanguage)\n }\n\n this.$store.state.api.backendInteractor\n .updateProfile({ params })\n .then((user) => {\n this.newFields.splice(user.fields.length)\n merge(this.newFields, user.fields)\n this.$store.commit('addNewUsers', [user])\n this.$store.commit('setCurrentUser', user)\n })\n },\n changeVis (visibility) {\n this.newDefaultScope = visibility\n },\n addField () {\n if (this.newFields.length < this.maxFields) {\n this.newFields.push({ name: '', value: '' })\n return true\n }\n return false\n },\n deleteField (index, event) {\n this.$delete(this.newFields, index)\n },\n uploadFile (slot, e) {\n const file = e.target.files[0]\n if (!file) { return }\n if (file.size > this.$store.state.instance[slot + 'limit']) {\n const filesize = fileSizeFormatService.fileSizeFormat(file.size)\n const allowedsize = fileSizeFormatService.fileSizeFormat(this.$store.state.instance[slot + 'limit'])\n this.$store.dispatch('pushGlobalNotice', {\n messageKey: 'upload.error.message',\n messageArgs: [\n this.$t('upload.error.file_too_big', {\n filesize: filesize.num,\n filesizeunit: filesize.unit,\n allowedsize: allowedsize.num,\n allowedsizeunit: allowedsize.unit\n })\n ],\n level: 'error'\n })\n return\n }\n // eslint-disable-next-line no-undef\n const reader = new FileReader()\n reader.onload = ({ target }) => {\n const img = target.result\n this[slot + 'Preview'] = img\n this[slot] = file\n }\n reader.readAsDataURL(file)\n },\n resetAvatar () {\n const confirmed = window.confirm(this.$t('settings.reset_avatar_confirm'))\n if (confirmed) {\n this.submitAvatar(undefined, '')\n }\n },\n resetBanner () {\n const confirmed = window.confirm(this.$t('settings.reset_banner_confirm'))\n if (confirmed) {\n this.submitBanner('')\n }\n },\n resetBackground () {\n const confirmed = window.confirm(this.$t('settings.reset_background_confirm'))\n if (confirmed) {\n this.submitBackground('')\n }\n },\n submitAvatar (cropper, file) {\n const that = this\n return new Promise((resolve, reject) => {\n function updateAvatar (avatar, avatarName) {\n that.$store.state.api.backendInteractor.updateProfileImages({ avatar, avatarName })\n .then((user) => {\n that.$store.commit('addNewUsers', [user])\n that.$store.commit('setCurrentUser', user)\n resolve()\n })\n .catch((error) => {\n that.displayUploadError(error)\n reject(error)\n })\n }\n\n if (cropper) {\n cropper.getCroppedCanvas().toBlob((data) => updateAvatar(data, file.name), file.type)\n } else {\n updateAvatar(file, file.name)\n }\n })\n },\n submitBanner (banner) {\n if (!this.bannerPreview && banner !== '') { return }\n\n this.bannerUploading = true\n this.$store.state.api.backendInteractor.updateProfileImages({ banner })\n .then((user) => {\n this.$store.commit('addNewUsers', [user])\n this.$store.commit('setCurrentUser', user)\n this.bannerPreview = null\n })\n .catch(this.displayUploadError)\n .finally(() => { this.bannerUploading = false })\n },\n submitBackground (background) {\n if (!this.backgroundPreview && background !== '') { return }\n\n this.backgroundUploading = true\n this.$store.state.api.backendInteractor.updateProfileImages({ background })\n .then((data) => {\n this.$store.commit('addNewUsers', [data])\n this.$store.commit('setCurrentUser', data)\n this.backgroundPreview = null\n })\n .catch(this.displayUploadError)\n .finally(() => { this.backgroundUploading = false })\n },\n displayUploadError (error) {\n this.$store.dispatch('pushGlobalNotice', {\n messageKey: 'upload.error.message',\n messageArgs: [error.message],\n level: 'error'\n })\n }\n }\n}\n\nexport default ProfileTab\n","import { render } from \"./profile_tab.vue?vue&type=template&id=d5067dba\"\nimport script from \"./profile_tab.js?vue&type=script&lang=js\"\nexport * from \"./profile_tab.js?vue&type=script&lang=js\"\n\nimport \"./profile_tab.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import BooleanSetting from '../helpers/boolean_setting.vue'\nimport ChoiceSetting from '../helpers/choice_setting.vue'\nimport ScopeSelector from 'src/components/scope_selector/scope_selector.vue'\nimport IntegerSetting from '../helpers/integer_setting.vue'\nimport InterfaceLanguageSwitcher from 'src/components/interface_language_switcher/interface_language_switcher.vue'\n\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\nimport ServerSideIndicator from '../helpers/server_side_indicator.vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faGlobe\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faGlobe\n)\n\nconst GeneralTab = {\n data () {\n return {\n subjectLineOptions: ['email', 'noop', 'masto'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.subject_line_${mode === 'masto' ? 'mastodon' : mode}`)\n })),\n conversationDisplayOptions: ['tree', 'linear'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.conversation_display_${mode}`)\n })),\n conversationOtherRepliesButtonOptions: ['below', 'inside'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.conversation_other_replies_button_${mode}`)\n })),\n mentionLinkDisplayOptions: ['short', 'full_for_remote', 'full'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.mention_link_display_${mode}`)\n })),\n thirdColumnModeOptions: ['none', 'notifications', 'postform'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.third_column_mode_${mode}`)\n })),\n loopSilentAvailable:\n // Firefox\n Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype, 'mozHasAudio') ||\n // Chrome-likes\n Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'webkitAudioDecodedByteCount') ||\n // Future spec, still not supported in Nightly 63 as of 08/2018\n Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'audioTracks')\n }\n },\n components: {\n BooleanSetting,\n ChoiceSetting,\n IntegerSetting,\n InterfaceLanguageSwitcher,\n ScopeSelector,\n ServerSideIndicator\n },\n computed: {\n postFormats () {\n return this.$store.state.instance.postFormats || []\n },\n postContentOptions () {\n return this.postFormats.map(format => ({\n key: format,\n value: format,\n label: this.$t(`post_status.content_type[\"${format}\"]`)\n }))\n },\n instanceSpecificPanelPresent () { return this.$store.state.instance.showInstanceSpecificPanel },\n instanceWallpaperUsed () {\n return this.$store.state.instance.background &&\n !this.$store.state.users.currentUser.background_image\n },\n instanceShoutboxPresent () { return this.$store.state.instance.shoutAvailable },\n language: {\n get: function () { return this.$store.getters.mergedConfig.interfaceLanguage },\n set: function (val) {\n this.$store.dispatch('setOption', { name: 'interfaceLanguage', value: val })\n }\n },\n ...SharedComputedObject()\n },\n methods: {\n changeDefaultScope (value) {\n this.$store.dispatch('setServerSideOption', { name: 'defaultScope', value })\n }\n }\n}\n\nexport default GeneralTab\n","import { render } from \"./general_tab.vue?vue&type=template&id=317a4310\"\nimport script from \"./general_tab.js?vue&type=script&lang=js\"\nexport * from \"./general_tab.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n\n","import { render } from \"./color_input.vue?vue&type=template&id=54780100\"\nimport script from \"./color_input.vue?vue&type=script&lang=js\"\nexport * from \"./color_input.vue?vue&type=script&lang=js\"\n\nimport \"./color_input.scss?vue&type=style&index=0&lang=scss\"\nimport \"./color_input.vue?vue&type=style&index=1&id=54780100&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./range_input.vue?vue&type=template&id=7ecff9e8\"\nimport script from \"./range_input.vue?vue&type=script&lang=js\"\nexport * from \"./range_input.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./opacity_input.vue?vue&type=template&id=69949f84\"\nimport script from \"./opacity_input.vue?vue&type=script&lang=js\"\nexport * from \"./opacity_input.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import ColorInput from '../color_input/color_input.vue'\nimport OpacityInput from '../opacity_input/opacity_input.vue'\nimport Select from '../select/select.vue'\nimport { getCssShadow } from '../../services/style_setter/style_setter.js'\nimport { hex2rgb } from '../../services/color_convert/color_convert.js'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faTimes,\n faChevronDown,\n faChevronUp,\n faPlus\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faChevronDown,\n faChevronUp,\n faTimes,\n faPlus\n)\n\nconst toModel = (object = {}) => ({\n x: 0,\n y: 0,\n blur: 0,\n spread: 0,\n inset: false,\n color: '#000000',\n alpha: 1,\n ...object\n})\n\nexport default {\n // 'modelValue' and 'Fallback' can be undefined, but if they are\n // initially vue won't detect it when they become something else\n // therefore i'm using \"ready\" which should be passed as true when\n // data becomes available\n props: [\n 'modelValue', 'fallback', 'ready'\n ],\n emits: ['update:modelValue'],\n data () {\n return {\n selectedId: 0,\n // TODO there are some bugs regarding display of array (it's not getting updated when deleting for some reason)\n cValue: (this.modelValue || this.fallback || []).map(toModel)\n }\n },\n components: {\n ColorInput,\n OpacityInput,\n Select\n },\n methods: {\n add () {\n this.cValue.push(toModel(this.selected))\n this.selectedId = this.cValue.length - 1\n },\n del () {\n this.cValue.splice(this.selectedId, 1)\n this.selectedId = this.cValue.length === 0 ? undefined : Math.max(this.selectedId - 1, 0)\n },\n moveUp () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId - 1, 0, movable)\n this.selectedId -= 1\n },\n moveDn () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId + 1, 0, movable)\n this.selectedId += 1\n }\n },\n beforeUpdate () {\n this.cValue = this.modelValue || this.fallback\n },\n computed: {\n anyShadows () {\n return this.cValue.length > 0\n },\n anyShadowsFallback () {\n return this.fallback.length > 0\n },\n selected () {\n if (this.ready && this.anyShadows) {\n return this.cValue[this.selectedId]\n } else {\n return toModel({})\n }\n },\n currentFallback () {\n if (this.ready && this.anyShadowsFallback) {\n return this.fallback[this.selectedId]\n } else {\n return toModel({})\n }\n },\n moveUpValid () {\n return this.ready && this.selectedId > 0\n },\n moveDnValid () {\n return this.ready && this.selectedId < this.cValue.length - 1\n },\n present () {\n return this.ready &&\n typeof this.cValue[this.selectedId] !== 'undefined' &&\n !this.usingFallback\n },\n usingFallback () {\n return typeof this.modelValue === 'undefined'\n },\n rgb () {\n return hex2rgb(this.selected.color)\n },\n style () {\n return this.ready ? {\n boxShadow: getCssShadow(this.fallback)\n } : {}\n }\n }\n}\n","import { render } from \"./shadow_control.vue?vue&type=template&id=02a2d813\"\nimport script from \"./shadow_control.js?vue&type=script&lang=js\"\nexport * from \"./shadow_control.js?vue&type=script&lang=js\"\n\nimport \"./shadow_control.vue?vue&type=style&index=0&id=02a2d813&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { set } from 'lodash'\nimport Select from '../select/select.vue'\n\nexport default {\n components: {\n Select\n },\n props: [\n 'name', 'label', 'modelValue', 'fallback', 'options', 'no-inherit'\n ],\n emits: ['update:modelValue'],\n data () {\n return {\n lValue: this.modelValue,\n availableOptions: [\n this.noInherit ? '' : 'inherit',\n 'custom',\n ...(this.options || []),\n 'serif',\n 'monospace',\n 'sans-serif'\n ].filter(_ => _)\n }\n },\n beforeUpdate () {\n this.lValue = this.modelValue\n },\n computed: {\n present () {\n return typeof this.lValue !== 'undefined'\n },\n dValue () {\n return this.lValue || this.fallback || {}\n },\n family: {\n get () {\n return this.dValue.family\n },\n set (v) {\n set(this.lValue, 'family', v)\n this.$emit('update:modelValue', this.lValue)\n }\n },\n isCustom () {\n return this.preset === 'custom'\n },\n preset: {\n get () {\n if (this.family === 'serif' ||\n this.family === 'sans-serif' ||\n this.family === 'monospace' ||\n this.family === 'inherit') {\n return this.family\n } else {\n return 'custom'\n }\n },\n set (v) {\n this.family = v === 'custom' ? '' : v\n }\n }\n }\n}\n","import { render } from \"./font_control.vue?vue&type=template&id=ceed00ba\"\nimport script from \"./font_control.js?vue&type=script&lang=js\"\nexport * from \"./font_control.js?vue&type=script&lang=js\"\n\nimport \"./font_control.vue?vue&type=style&index=0&id=ceed00ba&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./contrast_ratio.vue?vue&type=template&id=6d90b7c4\"\nimport script from \"./contrast_ratio.vue?vue&type=script&lang=js\"\nexport * from \"./contrast_ratio.vue?vue&type=script&lang=js\"\n\nimport \"./contrast_ratio.vue?vue&type=style&index=0&id=6d90b7c4&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./preview.vue?vue&type=template&id=1d72aedf\"\nimport script from \"./preview.vue?vue&type=script&lang=js\"\nexport * from \"./preview.vue?vue&type=script&lang=js\"\n\nimport \"./preview.vue?vue&type=style&index=0&id=1d72aedf&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import {\n rgb2hex,\n hex2rgb,\n getContrastRatioLayers\n} from 'src/services/color_convert/color_convert.js'\nimport {\n DEFAULT_SHADOWS,\n generateColors,\n generateShadows,\n generateRadii,\n generateFonts,\n composePreset,\n getThemes,\n shadows2to3,\n colors2to3\n} from 'src/services/style_setter/style_setter.js'\nimport {\n newImporter,\n newExporter\n} from 'src/services/export_import/export_import.js'\nimport {\n SLOT_INHERITANCE\n} from 'src/services/theme_data/pleromafe.js'\nimport {\n CURRENT_VERSION,\n OPACITIES,\n getLayers,\n getOpacitySlot\n} from 'src/services/theme_data/theme_data.service.js'\nimport ColorInput from 'src/components/color_input/color_input.vue'\nimport RangeInput from 'src/components/range_input/range_input.vue'\nimport OpacityInput from 'src/components/opacity_input/opacity_input.vue'\nimport ShadowControl from 'src/components/shadow_control/shadow_control.vue'\nimport FontControl from 'src/components/font_control/font_control.vue'\nimport ContrastRatio from 'src/components/contrast_ratio/contrast_ratio.vue'\nimport TabSwitcher from 'src/components/tab_switcher/tab_switcher.jsx'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport Select from 'src/components/select/select.vue'\n\nimport Preview from './preview.vue'\n\n// List of color values used in v1\nconst v1OnlyNames = [\n 'bg',\n 'fg',\n 'text',\n 'link',\n 'cRed',\n 'cGreen',\n 'cBlue',\n 'cOrange'\n].map(_ => _ + 'ColorLocal')\n\nconst colorConvert = (color) => {\n if (color.startsWith('--') || color === 'transparent') {\n return color\n } else {\n return hex2rgb(color)\n }\n}\n\nexport default {\n data () {\n return {\n themeImporter: newImporter({\n validator: this.importValidator,\n onImport: this.onImport,\n onImportFailure: this.onImportFailure\n }),\n themeExporter: newExporter({\n filename: 'pleroma_theme',\n getExportedObject: () => this.exportedTheme\n }),\n availableStyles: [],\n selected: '',\n selectedTheme: this.$store.getters.mergedConfig.theme,\n themeWarning: undefined,\n tempImportFile: undefined,\n engineVersion: 0,\n\n previewShadows: {},\n previewColors: {},\n previewRadii: {},\n previewFonts: {},\n\n shadowsInvalid: true,\n colorsInvalid: true,\n radiiInvalid: true,\n\n keepColor: false,\n keepShadows: false,\n keepOpacity: false,\n keepRoundness: false,\n keepFonts: false,\n\n ...Object.keys(SLOT_INHERITANCE)\n .map(key => [key, ''])\n .reduce((acc, [key, val]) => ({ ...acc, [ key + 'ColorLocal' ]: val }), {}),\n\n ...Object.keys(OPACITIES)\n .map(key => [key, ''])\n .reduce((acc, [key, val]) => ({ ...acc, [ key + 'OpacityLocal' ]: val }), {}),\n\n shadowSelected: undefined,\n shadowsLocal: {},\n fontsLocal: {},\n\n btnRadiusLocal: '',\n inputRadiusLocal: '',\n checkboxRadiusLocal: '',\n panelRadiusLocal: '',\n avatarRadiusLocal: '',\n avatarAltRadiusLocal: '',\n attachmentRadiusLocal: '',\n tooltipRadiusLocal: '',\n chatMessageRadiusLocal: ''\n }\n },\n created () {\n const self = this\n\n getThemes()\n .then((promises) => {\n return Promise.all(\n Object.entries(promises)\n .map(([k, v]) => v.then(res => [k, res]))\n )\n })\n .then(themes => themes.reduce((acc, [k, v]) => {\n if (v) {\n return {\n ...acc,\n [k]: v\n }\n } else {\n return acc\n }\n }, {}))\n .then((themesComplete) => {\n self.availableStyles = themesComplete\n })\n },\n mounted () {\n this.loadThemeFromLocalStorage()\n if (typeof this.shadowSelected === 'undefined') {\n this.shadowSelected = this.shadowsAvailable[0]\n }\n },\n computed: {\n themeWarningHelp () {\n if (!this.themeWarning) return\n const t = this.$t\n const pre = 'settings.style.switcher.help.'\n const {\n origin,\n themeEngineVersion,\n type,\n noActionsPossible\n } = this.themeWarning\n if (origin === 'file') {\n // Loaded v2 theme from file\n if (themeEngineVersion === 2 && type === 'wrong_version') {\n return t(pre + 'v2_imported')\n }\n if (themeEngineVersion > CURRENT_VERSION) {\n return t(pre + 'future_version_imported') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'snapshot_missing')\n : t(pre + 'snapshot_present')\n )\n }\n if (themeEngineVersion < CURRENT_VERSION) {\n return t(pre + 'future_version_imported') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'snapshot_missing')\n : t(pre + 'snapshot_present')\n )\n }\n } else if (origin === 'localStorage') {\n if (type === 'snapshot_source_mismatch') {\n return t(pre + 'snapshot_source_mismatch')\n }\n // FE upgraded from v2\n if (themeEngineVersion === 2) {\n return t(pre + 'upgraded_from_v2')\n }\n // Admin downgraded FE\n if (themeEngineVersion > CURRENT_VERSION) {\n return t(pre + 'fe_downgraded') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'migration_snapshot_ok')\n : t(pre + 'migration_snapshot_gone')\n )\n }\n // Admin upgraded FE\n if (themeEngineVersion < CURRENT_VERSION) {\n return t(pre + 'fe_upgraded') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'migration_snapshot_ok')\n : t(pre + 'migration_snapshot_gone')\n )\n }\n }\n },\n selectedVersion () {\n return Array.isArray(this.selectedTheme) ? 1 : 2\n },\n currentColors () {\n return Object.keys(SLOT_INHERITANCE)\n .map(key => [key, this[key + 'ColorLocal']])\n .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n },\n currentOpacity () {\n return Object.keys(OPACITIES)\n .map(key => [key, this[key + 'OpacityLocal']])\n .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n },\n currentRadii () {\n return {\n btn: this.btnRadiusLocal,\n input: this.inputRadiusLocal,\n checkbox: this.checkboxRadiusLocal,\n panel: this.panelRadiusLocal,\n avatar: this.avatarRadiusLocal,\n avatarAlt: this.avatarAltRadiusLocal,\n tooltip: this.tooltipRadiusLocal,\n attachment: this.attachmentRadiusLocal,\n chatMessage: this.chatMessageRadiusLocal\n }\n },\n preview () {\n return composePreset(this.previewColors, this.previewRadii, this.previewShadows, this.previewFonts)\n },\n previewTheme () {\n if (!this.preview.theme.colors) return { colors: {}, opacity: {}, radii: {}, shadows: {}, fonts: {} }\n return this.preview.theme\n },\n // This needs optimization maybe\n previewContrast () {\n try {\n if (!this.previewTheme.colors.bg) return {}\n const colors = this.previewTheme.colors\n const opacity = this.previewTheme.opacity\n if (!colors.bg) return {}\n const hints = (ratio) => ({\n text: ratio.toPrecision(3) + ':1',\n // AA level, AAA level\n aa: ratio >= 4.5,\n aaa: ratio >= 7,\n // same but for 18pt+ texts\n laa: ratio >= 3,\n laaa: ratio >= 4.5\n })\n const colorsConverted = Object.entries(colors).reduce((acc, [key, value]) => ({ ...acc, [key]: colorConvert(value) }), {})\n\n const ratios = Object.entries(SLOT_INHERITANCE).reduce((acc, [key, value]) => {\n const slotIsBaseText = key === 'text' || key === 'link'\n const slotIsText = slotIsBaseText || (\n typeof value === 'object' && value !== null && value.textColor\n )\n if (!slotIsText) return acc\n const { layer, variant } = slotIsBaseText ? { layer: 'bg' } : value\n const background = variant || layer\n const opacitySlot = getOpacitySlot(background)\n const textColors = [\n key,\n ...(background === 'bg' ? ['cRed', 'cGreen', 'cBlue', 'cOrange'] : [])\n ]\n\n const layers = getLayers(\n layer,\n variant || layer,\n opacitySlot,\n colorsConverted,\n opacity\n )\n\n return {\n ...acc,\n ...textColors.reduce((acc, textColorKey) => {\n const newKey = slotIsBaseText\n ? 'bg' + textColorKey[0].toUpperCase() + textColorKey.slice(1)\n : textColorKey\n return {\n ...acc,\n [newKey]: getContrastRatioLayers(\n colorsConverted[textColorKey],\n layers,\n colorsConverted[textColorKey]\n )\n }\n }, {})\n }\n }, {})\n\n return Object.entries(ratios).reduce((acc, [k, v]) => { acc[k] = hints(v); return acc }, {})\n } catch (e) {\n console.warn('Failure computing contrasts', e)\n }\n },\n previewRules () {\n if (!this.preview.rules) return ''\n return [\n ...Object.values(this.preview.rules),\n 'color: var(--text)',\n 'font-family: var(--interfaceFont, sans-serif)'\n ].join(';')\n },\n shadowsAvailable () {\n return Object.keys(DEFAULT_SHADOWS).sort()\n },\n currentShadowOverriden: {\n get () {\n return !!this.currentShadow\n },\n set (val) {\n if (val) {\n this.shadowsLocal[this.shadowSelected] = this.currentShadowFallback.map(_ => Object.assign({}, _))\n } else {\n delete this.shadowsLocal[this.shadowSelected]\n }\n }\n },\n currentShadowFallback () {\n return (this.previewTheme.shadows || {})[this.shadowSelected]\n },\n currentShadow: {\n get () {\n return this.shadowsLocal[this.shadowSelected]\n },\n set (v) {\n this.shadowsLocal[this.shadowSelected] = v\n }\n },\n themeValid () {\n return !this.shadowsInvalid && !this.colorsInvalid && !this.radiiInvalid\n },\n exportedTheme () {\n const saveEverything = (\n !this.keepFonts &&\n !this.keepShadows &&\n !this.keepOpacity &&\n !this.keepRoundness &&\n !this.keepColor\n )\n\n const source = {\n themeEngineVersion: CURRENT_VERSION\n }\n\n if (this.keepFonts || saveEverything) {\n source.fonts = this.fontsLocal\n }\n if (this.keepShadows || saveEverything) {\n source.shadows = this.shadowsLocal\n }\n if (this.keepOpacity || saveEverything) {\n source.opacity = this.currentOpacity\n }\n if (this.keepColor || saveEverything) {\n source.colors = this.currentColors\n }\n if (this.keepRoundness || saveEverything) {\n source.radii = this.currentRadii\n }\n\n const theme = {\n themeEngineVersion: CURRENT_VERSION,\n ...this.previewTheme\n }\n\n return {\n // To separate from other random JSON files and possible future source formats\n _pleroma_theme_version: 2, theme, source\n }\n },\n isActive () {\n const tabSwitcher = this.$parent\n return tabSwitcher ? tabSwitcher.isActive('theme') : false\n }\n },\n components: {\n ColorInput,\n OpacityInput,\n RangeInput,\n ContrastRatio,\n ShadowControl,\n FontControl,\n TabSwitcher,\n Preview,\n Checkbox,\n Select\n },\n methods: {\n loadTheme (\n {\n theme,\n source,\n _pleroma_theme_version: fileVersion\n },\n origin,\n forceUseSource = false\n ) {\n this.dismissWarning()\n if (!source && !theme) {\n throw new Error('Can\\'t load theme: empty')\n }\n const version = (origin === 'localStorage' && !theme.colors)\n ? 'l1'\n : fileVersion\n const snapshotEngineVersion = (theme || {}).themeEngineVersion\n const themeEngineVersion = (source || {}).themeEngineVersion || 2\n const versionsMatch = themeEngineVersion === CURRENT_VERSION\n const sourceSnapshotMismatch = (\n theme !== undefined &&\n source !== undefined &&\n themeEngineVersion !== snapshotEngineVersion\n )\n // Force loading of source if user requested it or if snapshot\n // is unavailable\n const forcedSourceLoad = (source && forceUseSource) || !theme\n if (!(versionsMatch && !sourceSnapshotMismatch) &&\n !forcedSourceLoad &&\n version !== 'l1' &&\n origin !== 'defaults'\n ) {\n if (sourceSnapshotMismatch && origin === 'localStorage') {\n this.themeWarning = {\n origin,\n themeEngineVersion,\n type: 'snapshot_source_mismatch'\n }\n } else if (!theme) {\n this.themeWarning = {\n origin,\n noActionsPossible: true,\n themeEngineVersion,\n type: 'no_snapshot_old_version'\n }\n } else if (!versionsMatch) {\n this.themeWarning = {\n origin,\n noActionsPossible: !source,\n themeEngineVersion,\n type: 'wrong_version'\n }\n }\n }\n this.normalizeLocalState(theme, version, source, forcedSourceLoad)\n },\n forceLoadLocalStorage () {\n this.loadThemeFromLocalStorage(true)\n },\n dismissWarning () {\n this.themeWarning = undefined\n this.tempImportFile = undefined\n },\n forceLoad () {\n const { origin } = this.themeWarning\n switch (origin) {\n case 'localStorage':\n this.loadThemeFromLocalStorage(true)\n break\n case 'file':\n this.onImport(this.tempImportFile, true)\n break\n }\n this.dismissWarning()\n },\n forceSnapshot () {\n const { origin } = this.themeWarning\n switch (origin) {\n case 'localStorage':\n this.loadThemeFromLocalStorage(false, true)\n break\n case 'file':\n console.error('Forcing snapshot from file is not supported yet')\n break\n }\n this.dismissWarning()\n },\n loadThemeFromLocalStorage (confirmLoadSource = false, forceSnapshot = false) {\n const {\n customTheme: theme,\n customThemeSource: source\n } = this.$store.getters.mergedConfig\n if (!theme && !source) {\n // Anon user or never touched themes\n this.loadTheme(\n this.$store.state.instance.themeData,\n 'defaults',\n confirmLoadSource\n )\n } else {\n this.loadTheme(\n {\n theme,\n source: forceSnapshot ? theme : source\n },\n 'localStorage',\n confirmLoadSource\n )\n }\n },\n setCustomTheme () {\n this.$store.dispatch('setOption', {\n name: 'customTheme',\n value: {\n themeEngineVersion: CURRENT_VERSION,\n ...this.previewTheme\n }\n })\n this.$store.dispatch('setOption', {\n name: 'customThemeSource',\n value: {\n themeEngineVersion: CURRENT_VERSION,\n shadows: this.shadowsLocal,\n fonts: this.fontsLocal,\n opacity: this.currentOpacity,\n colors: this.currentColors,\n radii: this.currentRadii\n }\n })\n },\n updatePreviewColorsAndShadows () {\n this.previewColors = generateColors({\n opacity: this.currentOpacity,\n colors: this.currentColors\n })\n this.previewShadows = generateShadows(\n { shadows: this.shadowsLocal, opacity: this.previewTheme.opacity, themeEngineVersion: this.engineVersion },\n this.previewColors.theme.colors,\n this.previewColors.mod\n )\n },\n importTheme () { this.themeImporter.importData() },\n exportTheme () { this.themeExporter.exportData() },\n onImport (parsed, forceSource = false) {\n this.tempImportFile = parsed\n this.loadTheme(parsed, 'file', forceSource)\n },\n onImportFailure (result) {\n this.$store.dispatch('pushGlobalNotice', { messageKey: 'settings.invalid_theme_imported', level: 'error' })\n },\n importValidator (parsed) {\n const version = parsed._pleroma_theme_version\n return version >= 1 || version <= 2\n },\n clearAll () {\n this.loadThemeFromLocalStorage()\n },\n\n // Clears all the extra stuff when loading V1 theme\n clearV1 () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('ColorLocal') || _.endsWith('OpacityLocal'))\n .filter(_ => !v1OnlyNames.includes(_))\n .forEach(key => {\n this.$data[key] = undefined\n })\n },\n\n clearRoundness () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('RadiusLocal'))\n .forEach(key => {\n this.$data[key] = undefined\n })\n },\n\n clearOpacity () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('OpacityLocal'))\n .forEach(key => {\n this.$data[key] = undefined\n })\n },\n\n clearShadows () {\n this.shadowsLocal = {}\n },\n\n clearFonts () {\n this.fontsLocal = {}\n },\n\n /**\n * This applies stored theme data onto form. Supports three versions of data:\n * v3 (version >= 3) - newest version of themes which supports snapshots for better compatiblity\n * v2 (version = 2) - newer version of themes.\n * v1 (version = 1) - older version of themes (import from file)\n * v1l (version = l1) - older version of theme (load from local storage)\n * v1 and v1l differ because of way themes were stored/exported.\n * @param {Object} theme - theme data (snapshot)\n * @param {Number} version - version of data. 0 means try to guess based on data. \"l1\" means v1, locastorage type\n * @param {Object} source - theme source - this will be used if compatible\n * @param {Boolean} source - by default source won't be used if version doesn't match since it might render differently\n * this allows importing source anyway\n */\n normalizeLocalState (theme, version = 0, source, forceSource = false) {\n let input\n if (typeof source !== 'undefined') {\n if (forceSource || source.themeEngineVersion === CURRENT_VERSION) {\n input = source\n version = source.themeEngineVersion\n } else {\n input = theme\n }\n } else {\n input = theme\n }\n\n const radii = input.radii || input\n const opacity = input.opacity\n const shadows = input.shadows || {}\n const fonts = input.fonts || {}\n const colors = !input.themeEngineVersion\n ? colors2to3(input.colors || input)\n : input.colors || input\n\n if (version === 0) {\n if (input.version) version = input.version\n // Old v1 naming: fg is text, btn is foreground\n if (typeof colors.text === 'undefined' && typeof colors.fg !== 'undefined') {\n version = 1\n }\n // New v2 naming: text is text, fg is foreground\n if (typeof colors.text !== 'undefined' && typeof colors.fg !== 'undefined') {\n version = 2\n }\n }\n\n this.engineVersion = version\n\n // Stuff that differs between V1 and V2\n if (version === 1) {\n this.fgColorLocal = rgb2hex(colors.btn)\n this.textColorLocal = rgb2hex(colors.fg)\n }\n\n if (!this.keepColor) {\n this.clearV1()\n const keys = new Set(version !== 1 ? Object.keys(SLOT_INHERITANCE) : [])\n if (version === 1 || version === 'l1') {\n keys\n .add('bg')\n .add('link')\n .add('cRed')\n .add('cBlue')\n .add('cGreen')\n .add('cOrange')\n }\n\n keys.forEach(key => {\n const color = colors[key]\n const hex = rgb2hex(colors[key])\n this[key + 'ColorLocal'] = hex === '#aN' ? color : hex\n })\n }\n\n if (opacity && !this.keepOpacity) {\n this.clearOpacity()\n Object.entries(opacity).forEach(([k, v]) => {\n if (typeof v === 'undefined' || v === null || Number.isNaN(v)) return\n this[k + 'OpacityLocal'] = v\n })\n }\n\n if (!this.keepRoundness) {\n this.clearRoundness()\n Object.entries(radii).forEach(([k, v]) => {\n // 'Radius' is kept mostly for v1->v2 localstorage transition\n const key = k.endsWith('Radius') ? k.split('Radius')[0] : k\n this[key + 'RadiusLocal'] = v\n })\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n if (version === 2) {\n this.shadowsLocal = shadows2to3(shadows, this.previewTheme.opacity)\n } else {\n this.shadowsLocal = shadows\n }\n this.shadowSelected = this.shadowsAvailable[0]\n }\n\n if (!this.keepFonts) {\n this.clearFonts()\n this.fontsLocal = fonts\n }\n }\n },\n watch: {\n currentRadii () {\n try {\n this.previewRadii = generateRadii({ radii: this.currentRadii })\n this.radiiInvalid = false\n } catch (e) {\n this.radiiInvalid = true\n console.warn(e)\n }\n },\n shadowsLocal: {\n handler () {\n if (Object.getOwnPropertyNames(this.previewColors).length === 1) return\n try {\n this.updatePreviewColorsAndShadows()\n this.shadowsInvalid = false\n } catch (e) {\n this.shadowsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n fontsLocal: {\n handler () {\n try {\n this.previewFonts = generateFonts({ fonts: this.fontsLocal })\n this.fontsInvalid = false\n } catch (e) {\n this.fontsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n currentColors () {\n try {\n this.updatePreviewColorsAndShadows()\n this.colorsInvalid = false\n this.shadowsInvalid = false\n } catch (e) {\n this.colorsInvalid = true\n this.shadowsInvalid = true\n console.warn(e)\n }\n },\n currentOpacity () {\n try {\n this.updatePreviewColorsAndShadows()\n } catch (e) {\n console.warn(e)\n }\n },\n selected () {\n this.selectedTheme = Object.entries(this.availableStyles).find(([k, s]) => {\n if (Array.isArray(s)) {\n console.log(s[0] === this.selected, this.selected)\n return s[0] === this.selected\n } else {\n return s.name === this.selected\n }\n })[1]\n },\n selectedTheme () {\n this.dismissWarning()\n if (this.selectedVersion === 1) {\n if (!this.keepRoundness) {\n this.clearRoundness()\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n }\n\n if (!this.keepOpacity) {\n this.clearOpacity()\n }\n\n if (!this.keepColor) {\n this.clearV1()\n\n this.bgColorLocal = this.selectedTheme[1]\n this.fgColorLocal = this.selectedTheme[2]\n this.textColorLocal = this.selectedTheme[3]\n this.linkColorLocal = this.selectedTheme[4]\n this.cRedColorLocal = this.selectedTheme[5]\n this.cGreenColorLocal = this.selectedTheme[6]\n this.cBlueColorLocal = this.selectedTheme[7]\n this.cOrangeColorLocal = this.selectedTheme[8]\n }\n } else if (this.selectedVersion >= 2) {\n this.normalizeLocalState(this.selectedTheme.theme, 2, this.selectedTheme.source)\n }\n }\n }\n}\n","import { render } from \"./theme_tab.vue?vue&type=template&id=1128449a\"\nimport script from \"./theme_tab.js?vue&type=script&lang=js\"\nexport * from \"./theme_tab.js?vue&type=script&lang=js\"\n\nimport \"./theme_tab.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import TabSwitcher from 'src/components/tab_switcher/tab_switcher.jsx'\n\nimport DataImportExportTab from './tabs/data_import_export_tab.vue'\nimport MutesAndBlocksTab from './tabs/mutes_and_blocks_tab.vue'\nimport NotificationsTab from './tabs/notifications_tab.vue'\nimport FilteringTab from './tabs/filtering_tab.vue'\nimport SecurityTab from './tabs/security_tab/security_tab.vue'\nimport ProfileTab from './tabs/profile_tab.vue'\nimport GeneralTab from './tabs/general_tab.vue'\nimport VersionTab from './tabs/version_tab.vue'\nimport ThemeTab from './tabs/theme_tab/theme_tab.vue'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faWrench,\n faUser,\n faFilter,\n faPaintBrush,\n faBell,\n faDownload,\n faEyeSlash,\n faInfo\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faWrench,\n faUser,\n faFilter,\n faPaintBrush,\n faBell,\n faDownload,\n faEyeSlash,\n faInfo\n)\n\nconst SettingsModalContent = {\n components: {\n TabSwitcher,\n\n DataImportExportTab,\n MutesAndBlocksTab,\n NotificationsTab,\n FilteringTab,\n SecurityTab,\n ProfileTab,\n GeneralTab,\n VersionTab,\n ThemeTab\n },\n computed: {\n isLoggedIn () {\n return !!this.$store.state.users.currentUser\n },\n open () {\n return this.$store.state.interface.settingsModalState !== 'hidden'\n },\n bodyLock () {\n return this.$store.state.interface.settingsModalState === 'visible'\n }\n },\n methods: {\n onOpen () {\n const targetTab = this.$store.state.interface.settingsModalTargetTab\n // We're being told to open in specific tab\n if (targetTab) {\n const tabIndex = this.$refs.tabSwitcher.$slots.default().findIndex(elm => {\n return elm.props && elm.props['data-tab-name'] === targetTab\n })\n if (tabIndex >= 0) {\n this.$refs.tabSwitcher.setTab(tabIndex)\n }\n }\n // Clear the state of target tab, so that next time settings is opened\n // it doesn't force it.\n this.$store.dispatch('clearSettingsModalTargetTab')\n }\n },\n mounted () {\n this.onOpen()\n },\n watch: {\n open: function (value) {\n if (value) this.onOpen()\n }\n }\n}\n\nexport default SettingsModalContent\n","import { render } from \"./settings_modal_content.vue?vue&type=template&id=6191ca84\"\nimport script from \"./settings_modal_content.js?vue&type=script&lang=js\"\nexport * from \"./settings_modal_content.js?vue&type=script&lang=js\"\n\nimport \"./settings_modal_content.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./src/components/importer/importer.vue?d395","webpack:///./src/components/exporter/exporter.vue?537f","webpack:///./src/components/autosuggest/autosuggest.vue?8acb","webpack:///./src/components/block_card/block_card.vue?a8c3","webpack:///./src/components/mute_card/mute_card.vue?336c","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?e2f9","webpack:///./src/components/selectable_list/selectable_list.vue?793a","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss?8059","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue?669b","webpack:///./src/components/settings_modal/helpers/server_side_indicator.vue?f8f8","webpack:///./src/components/settings_modal/helpers/choice_setting.vue?2690","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?e13c","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?6215","webpack:///./src/components/image_cropper/image_cropper.vue?75b0","webpack:///./src/components/settings_modal/tabs/profile_tab.scss?3d82","webpack:///./src/components/color_input/color_input.scss?2d00","webpack:///./src/components/color_input/color_input.vue?c3ff","webpack:///./src/components/shadow_control/shadow_control.vue?4f4d","webpack:///./src/components/font_control/font_control.vue?a4dd","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?232d","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?5bb1","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.scss?36c1","webpack:///./src/components/settings_modal/settings_modal_content.scss?5d58","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue","webpack:///./src/components/importer/importer.vue","webpack:///./src/components/importer/importer.js","webpack:///./src/components/importer/importer.vue?12a4","webpack:///./src/components/exporter/exporter.vue","webpack:///./src/components/exporter/exporter.js","webpack:///./src/components/exporter/exporter.vue?bc56","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.js","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue?1279","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue","webpack:///./src/components/autosuggest/autosuggest.vue","webpack:///./src/components/autosuggest/autosuggest.js","webpack:///./src/components/autosuggest/autosuggest.vue?c3ac","webpack:///./src/components/block_card/block_card.vue","webpack:///./src/components/block_card/block_card.js","webpack:///./src/components/block_card/block_card.vue?2c3e","webpack:///./src/components/mute_card/mute_card.vue","webpack:///./src/components/mute_card/mute_card.js","webpack:///./src/components/mute_card/mute_card.vue?640c","webpack:///./src/components/domain_mute_card/domain_mute_card.vue","webpack:///./src/components/domain_mute_card/domain_mute_card.js","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?4954","webpack:///./src/components/selectable_list/selectable_list.vue","webpack:///./src/components/selectable_list/selectable_list.js","webpack:///./src/components/selectable_list/selectable_list.vue?e339","webpack:///./src/hocs/with_subscription/with_subscription.jsx","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.js","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue?0036","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue","webpack:///./src/components/settings_modal/helpers/boolean_setting.vue","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue?185b","webpack:///./src/components/settings_modal/helpers/server_side_indicator.vue","webpack:///./src/components/settings_modal/helpers/server_side_indicator.vue?5efa","webpack:///./src/components/settings_modal/helpers/boolean_setting.js","webpack:///./src/components/settings_modal/helpers/boolean_setting.vue?de4a","webpack:///./src/components/settings_modal/helpers/shared_computed_object.js","webpack:///./src/components/settings_modal/tabs/notifications_tab.js","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue?656b","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue","webpack:///./src/components/settings_modal/helpers/choice_setting.vue","webpack:///./src/components/settings_modal/helpers/choice_setting.js","webpack:///./src/components/settings_modal/helpers/choice_setting.vue?4d79","webpack:///./src/components/settings_modal/helpers/integer_setting.vue","webpack:///./src/components/settings_modal/helpers/integer_setting.js","webpack:///./src/components/settings_modal/helpers/integer_setting.vue?11fa","webpack:///./src/components/settings_modal/tabs/filtering_tab.js","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue?75c6","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?02be","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.js","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue?7300","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue?3e9f","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?4581","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.js","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue?f4d0","webpack:///./src/components/settings_modal/tabs/profile_tab.vue","webpack:///./src/components/image_cropper/image_cropper.vue","webpack:///./src/components/image_cropper/image_cropper.js","webpack:///./src/components/image_cropper/image_cropper.vue?aa5f","webpack:///./src/components/settings_modal/tabs/profile_tab.js","webpack:///./src/components/settings_modal/tabs/profile_tab.vue?650d","webpack:///./src/components/settings_modal/tabs/general_tab.vue","webpack:///./src/components/settings_modal/tabs/general_tab.js","webpack:///./src/components/settings_modal/tabs/general_tab.vue?5ffb","webpack:///./src/components/settings_modal/tabs/version_tab.vue","webpack:///./src/services/version/version.service.js","webpack:///./src/components/settings_modal/tabs/version_tab.js","webpack:///./src/components/settings_modal/tabs/version_tab.vue?2afb","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue","webpack:///./src/components/color_input/color_input.vue","webpack:///./src/components/color_input/color_input.vue?602f","webpack:///./src/components/range_input/range_input.vue","webpack:///./src/components/range_input/range_input.vue?4741","webpack:///./src/components/opacity_input/opacity_input.vue","webpack:///./src/components/opacity_input/opacity_input.vue?db4a","webpack:///./src/components/shadow_control/shadow_control.vue","webpack:///./src/components/shadow_control/shadow_control.js","webpack:///./src/components/shadow_control/shadow_control.vue?74ae","webpack:///./src/components/font_control/font_control.vue","webpack:///./src/components/font_control/font_control.js","webpack:///./src/components/font_control/font_control.vue?6c0b","webpack:///./src/components/contrast_ratio/contrast_ratio.vue","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?a879","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?166c","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.js","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue?0d26","webpack:///./src/components/settings_modal/settings_modal_content.js","webpack:///./src/components/settings_modal/settings_modal_content.vue?5ef5","webpack:///./src/components/settings_modal/settings_modal_content.vue"],"names":["class","library","add","faCircleNotch","faTimes","Importer","props","submitHandler","type","Function","required","submitButtonLabel","String","successMessage","errorMessage","data","file","error","success","submitting","methods","change","this","$refs","input","files","submit","dismiss","then","ref","spin","icon","$t","Exporter","getContent","filename","default","exportButtonLabel","processingMessage","processing","process","content","fileToDownload","document","createElement","setAttribute","encodeURIComponent","style","display","body","appendChild","click","removeChild","setTimeout","size","DataImportExportTab","activeTab","newDomainToMute","created","$store","dispatch","components","Checkbox","computed","mapState","backendInteractor","state","api","user","users","currentUser","getFollowsContent","exportFriends","id","generateExportableUsersContent","getBlocksContent","fetchBlocks","getMutesContent","fetchMutes","importFollows","status","Error","importBlocks","importMutes","map","is_local","screen_name","location","hostname","join","label","submit-handler","success-message","error-message","get-content","export-button-label","query","filter","placeholder","term","timeout","results","resultsVisible","filtered","watch","val","fetchResults","clearTimeout","onInputClick","onClickOutside","length","item","BlockCard","progress","getters","findUser","userId","relationship","blocked","blocking","BasicUserCard","unblockUser","blockUser","disabled","MuteCard","muted","muting","unmuteUser","muteUser","DomainMuteCard","ProgressButton","domainMutes","includes","domain","unmuteDomain","muteDomain","SelectableList","List","items","Array","getKey","selected","allKeys","filteredSelected","key","indexOf","allSelected","noneSelected","someSelected","isSelected","toggle","checked","push","splice","toggleAll","value","slice","model-value","indeterminate","get-key","empty","withSubscription","fetch","select","childPropName","additionalPropNames","WrappedComponent","Object","keys","getComponentProps","v","concat","loading","fetchedData","$props","refresh","isEmpty","fetchData","render","children","$slots","BlockList","get","MuteList","DomainMuteList","MutesAndBlocks","TabSwitcher","Autosuggest","knownDomains","instance","activateTab","tabName","filterUnblockedUsers","userIds","reject","filterUnMutedUsers","queryUserIds","blockUsers","ids","unblockUsers","muteUsers","unmuteUsers","filterUnMutedDomains","urls","url","queryKnownDomains","Promise","resolve","toLowerCase","unmuteDomains","domains","scrollable-tabs","user-id","row","i","header","faWrench","Popover","trigger","aria-label","faServer","ModifiedIndicator","ServerSideIndicator","pathDefault","path","split","firstSegment","rest","$parent","undefined","defaultState","isServerSide","startsWith","isChanged","matchesExpertLevel","expert","expertLevel","update","e","changed","server-side","SharedComputedObject","configDefaultState","defaultConfig","reduce","acc","mergedConfig","set","name","serverSideConfigDefaultState","serverSideConfig","useStreamingApi","console","NotificationsTab","notificationSettings","notification_settings","BooleanSetting","updateNotificationSettings","settings","Select","options","option","Boolean","min","Number","parseInt","target","for","step","FilteringTab","muteWordsStringLocal","muteWords","replyVisibilityOptions","mode","ChoiceSetting","IntegerSetting","muteWordsString","word","notificationVisibility","handler","deep","replyVisibility","streaming","hideFilteredStatuses","backupCodes","inProgress","codes","ready","displayTitle","code","Confirm","confirm","$emit","cancel","currentPassword","deactivate","isActivated","totp","doActivate","cancelDeactivate","doDeactivate","confirmDeactivate","mfaDisableOTP","password","res","Mfa","available","enabled","setupState","setupOTPState","getNewCodes","otpSettings","provisioning_uri","otpConfirmToken","readyInit","RecoveryCodes","VueQrcode","canSetupOTP","setupInProgress","backupCodesPrepared","setupOTPInProgress","completedOTP","prepareOTP","confirmOTP","confirmNewBackupCodes","activateOTP","fetchBackupCodes","generateMfaBackupCodes","getBackupCodes","confirmBackupCodes","cancelBackupCodes","setupOTP","mfaSetupOTP","doConfirmOTP","mfaConfirmOTP","token","completeSetup","fetchSettings","cancelSetup","settingsMFA","result","mounted","backup-codes","width","SecurityTab","newEmail","changeEmailError","changeEmailPassword","changedEmail","deletingAccount","deleteAccountConfirmPasswordInput","deleteAccountError","changePasswordInputs","changedPassword","changePasswordError","pleromaBackend","oauthTokens","tokens","oauthToken","appName","app_name","validUntil","Date","valid_until","toLocaleDateString","localeService","internalToBrowserLocale","$i18n","locale","confirmDelete","deleteAccount","$router","changePassword","params","newPassword","newPasswordConfirmation","logout","changeEmail","email","replace","revokeToken","window","t","autocomplete","ImageCropper","Element","cropperOptions","aspectRatio","autoCropArea","viewMode","movable","zoomable","guides","mimes","saveButtonLabel","saveWithoutCroppingButtonlabel","cancelButtonLabel","cropper","dataUrl","saveText","saveWithoutCroppingText","cancelText","destroy","cropping","pickImage","createCropper","Cropper","img","getTriggerDOM","querySelector","readFile","fileInput","reader","FileReader","onload","readAsDataURL","addEventListener","beforeUnmount","removeEventListener","src","alt","accept","faPlus","ProfileTab","newName","name_unescaped","newBio","unescape","description","newLocked","locked","newFields","fields","field","showRole","show_role","role","bot","pickAvatarBtnVisible","bannerUploading","backgroundUploading","banner","bannerPreview","background","backgroundPreview","emailLanguage","language","ScopeSelector","EmojiInput","InterfaceLanguageSwitcher","emojiUserSuggestor","suggestor","emoji","customEmoji","store","emojiSuggestor","userSuggestor","fieldsLimits","maxFields","defaultAvatar","server","defaultBanner","isDefaultAvatar","baseAvatar","profile_image_url","isDefaultBanner","baseBanner","cover_photo","isDefaultBackground","background_image","avatarImgSrc","profile_image_url_original","bannerImgSrc","updateProfile","note","display_name","fields_attributes","el","internalToBackendLocale","merge","commit","changeVis","visibility","newDefaultScope","addField","deleteField","index","event","$delete","uploadFile","slot","filesize","fileSizeFormatService","fileSizeFormat","allowedsize","messageKey","messageArgs","num","filesizeunit","unit","allowedsizeunit","level","resetAvatar","submitAvatar","resetBanner","submitBanner","resetBackground","submitBackground","that","updateAvatar","avatar","avatarName","updateProfileImages","displayUploadError","getCroppedCanvas","toBlob","message","enable-emoji-picker","suggest","_","hide-emoji-button","prompt-text","set-language","title","$event","serverSide_hideFollowers","serverSide_hideFollows","faGlobe","GeneralTab","subjectLineOptions","conversationDisplayOptions","conversationOtherRepliesButtonOptions","mentionLinkDisplayOptions","thirdColumnModeOptions","loopSilentAvailable","getOwnPropertyDescriptor","HTMLVideoElement","prototype","HTMLMediaElement","postFormats","postContentOptions","format","instanceSpecificPanelPresent","showInstanceSpecificPanel","instanceWallpaperUsed","instanceShoutboxPresent","shoutAvailable","interfaceLanguage","changeDefaultScope","conversationDisplay","hideNsfw","loopVideo","mentionLinkDisplay","show-all","user-default","serverSide_defaultScope","initial-scope","on-scope-change","VersionTab","backendVersion","frontendVersion","frontendVersionLink","backendVersionLink","versionString","matches","match","href","modelValue","fallback","showOptionalTickbox","emits","present","validColor","hex2rgb","transparentColor","computedColor","max","hardMax","hardMin","faChevronDown","faChevronUp","toModel","object","x","y","blur","spread","inset","color","alpha","selectedId","cValue","ColorInput","OpacityInput","del","Math","moveUp","moveDn","beforeUpdate","anyShadows","anyShadowsFallback","currentFallback","moveUpValid","moveDnValid","usingFallback","rgb","boxShadow","getCssShadow","shadow","fixed-width","show-optional-tickbox","scope","keypath","tag","lValue","availableOptions","noInherit","dValue","family","isCustom","preset","faAdjust","faExclamationTriangle","faThumbsUp","large","contrast","hint","levelVal","aaa","aa","context","ratio","text","hint_18pt","laaa","laa","faStar","faRetweet","faReply","v1OnlyNames","themeImporter","newImporter","validator","importValidator","onImport","onImportFailure","themeExporter","newExporter","getExportedObject","exportedTheme","availableStyles","selectedTheme","theme","themeWarning","tempImportFile","engineVersion","previewShadows","previewColors","previewRadii","previewFonts","shadowsInvalid","colorsInvalid","radiiInvalid","keepColor","keepShadows","keepOpacity","keepRoundness","keepFonts","SLOT_INHERITANCE","OPACITIES","shadowSelected","shadowsLocal","fontsLocal","btnRadiusLocal","inputRadiusLocal","checkboxRadiusLocal","panelRadiusLocal","avatarRadiusLocal","avatarAltRadiusLocal","attachmentRadiusLocal","tooltipRadiusLocal","chatMessageRadiusLocal","self","getThemes","promises","all","entries","k","themes","themesComplete","loadThemeFromLocalStorage","shadowsAvailable","themeWarningHelp","pre","origin","themeEngineVersion","noActionsPossible","CURRENT_VERSION","selectedVersion","isArray","currentColors","currentOpacity","currentRadii","btn","checkbox","panel","avatarAlt","tooltip","attachment","chatMessage","preview","composePreset","previewTheme","colors","opacity","radii","shadows","fonts","previewContrast","bg","colorsConverted","ratios","slotIsBaseText","textColor","layer","variant","opacitySlot","getOpacitySlot","textColors","layers","getLayers","textColorKey","newKey","toUpperCase","getContrastRatioLayers","toPrecision","warn","previewRules","rules","values","DEFAULT_SHADOWS","sort","currentShadowOverriden","currentShadow","currentShadowFallback","assign","themeValid","saveEverything","source","_pleroma_theme_version","isActive","tabSwitcher","RangeInput","ContrastRatio","ShadowControl","FontControl","Preview","loadTheme","fileVersion","forceUseSource","dismissWarning","version","snapshotEngineVersion","versionsMatch","sourceSnapshotMismatch","forcedSourceLoad","normalizeLocalState","forceLoadLocalStorage","forceLoad","forceSnapshot","confirmLoadSource","customTheme","customThemeSource","themeData","setCustomTheme","updatePreviewColorsAndShadows","generateColors","generateShadows","mod","importTheme","importData","exportTheme","exportData","parsed","forceSource","clearAll","clearV1","$data","endsWith","forEach","clearRoundness","clearOpacity","clearShadows","clearFonts","colors2to3","fg","fgColorLocal","rgb2hex","textColorLocal","Set","hex","isNaN","shadows2to3","generateRadii","getOwnPropertyNames","generateFonts","fontsInvalid","find","s","log","bgColorLocal","linkColorLocal","cRedColorLocal","cGreenColorLocal","cBlueColorLocal","cOrangeColorLocal","bgOpacityLocal","bgText","accentColorLocal","link","accent","bgLink","fgTextColorLocal","fgText","fgLinkColorLocal","fgLink","bgCRed","bgCBlue","bgCGreen","bgCOrange","postLinkColorLocal","postLink","postGreentextColorLocal","cGreen","postGreentext","alertErrorColorLocal","alertError","alertErrorTextColorLocal","alertErrorText","alertWarningColorLocal","alertWarning","alertWarningTextColorLocal","alertWarningText","alertNeutralColorLocal","alertNeutral","alertNeutralTextColorLocal","alertNeutralText","alertOpacityLocal","alert","badgeNotificationColorLocal","badgeNotification","badgeNotificationTextColorLocal","badgeNotificationText","panelColorLocal","panelOpacityLocal","panelTextColorLocal","panelText","panelLinkColorLocal","panelLink","topBarColorLocal","topBar","topBarTextColorLocal","topBarText","topBarLinkColorLocal","topBarLink","inputColorLocal","inputOpacityLocal","inputTextColorLocal","inputText","btnColorLocal","btnOpacityLocal","btnTextColorLocal","btnText","btnPanelTextColorLocal","btnPanelText","btnTopBarTextColorLocal","btnTopBarText","btnPressedColorLocal","btnPressed","btnPressedTextColorLocal","btnPressedText","btnPressedPanelTextColorLocal","btnPressedPanelText","btnPressedTopBarTextColorLocal","btnPressedTopBarText","btnDisabledColorLocal","btnDisabled","btnDisabledTextColorLocal","btnDisabledText","btnDisabledPanelTextColorLocal","btnDisabledPanelText","btnDisabledTopBarTextColorLocal","btnDisabledTopBarText","btnToggledColorLocal","btnToggled","btnToggledTextColorLocal","btnToggledText","btnToggledPanelTextColorLocal","btnToggledPanelText","btnToggledTopBarTextColorLocal","btnToggledTopBarText","tabColorLocal","tab","tabTextColorLocal","tabText","tabActiveTextColorLocal","tabActiveText","borderColorLocal","border","borderOpacityLocal","faintColorLocal","faint","faintLinkColorLocal","faintLink","panelFaintColorLocal","panelFaint","faintOpacityLocal","underlayColorLocal","underlay","underlayOpacityLocal","wallpaperColorLocal","wallpaper","pollColorLocal","poll","pollTextColorLocal","pollText","iconColorLocal","highlightColorLocal","highlight","highlightTextColorLocal","highlightText","highlightLinkColorLocal","highlightLink","popoverColorLocal","popover","popoverOpacityLocal","popoverTextColorLocal","popoverText","popoverLinkColorLocal","popoverLink","selectedPostColorLocal","selectedPost","selectedPostTextColorLocal","selectedPostText","selectedPostLinkColorLocal","selectedPostLink","selectedMenuColorLocal","selectedMenu","selectedMenuTextColorLocal","selectedMenuText","selectedMenuLinkColorLocal","selectedMenuLink","chatBgColorLocal","chatMessageIncomingBgColorLocal","chatMessageIncomingTextColorLocal","chatMessageIncomingLinkColorLocal","chatMessageIncomingBorderColorLocal","chatMessageOutgoingBgColorLocal","chatMessageOutgoingTextColorLocal","chatMessageOutgoingLinkColorLocal","chatMessageOutgoingBorderColorLocal","hard-min","interface","no-inherit","post","postCode","to","faUser","faFilter","faPaintBrush","faBell","faDownload","faEyeSlash","faInfo","SettingsModalContent","MutesAndBlocksTab","ThemeTab","isLoggedIn","open","settingsModalState","bodyLock","onOpen","targetTab","settingsModalTargetTab","tabIndex","findIndex","elm","setTab","side-tab-bar","body-scroll-lock","data-tab-name","fullHeight"],"mappings":"olBAAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,uDCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,iCCAA,Q,sMCISA,MAAM,gB,GASNA,MAAM,gB,GAQNA,MAAM,gB,GASNA,MAAM,gB,GAQNA,MAAM,gB,GASNA,MAAM,gB,6BC9CRA,MAAM,Y,wBA6BE,IACT,YAAG,KAAM,K,wBAWA,IACT,YAAG,KAAM,K,kBCrCfC,IAAQC,IACNC,IACAC,MAGF,IAqCeC,EArCE,CACfC,MAAO,CACLC,cAAe,CACbC,KAAMC,SACNC,UAAU,GAEZC,kBAAmB,CAAEH,KAAMI,QAC3BC,eAAgB,CAAEL,KAAMI,QACxBE,aAAc,CAAEN,KAAMI,SAExBG,KAVe,WAWb,MAAO,CACLC,KAAM,KACNC,OAAO,EACPC,SAAS,EACTC,YAAY,IAGhBC,QAAS,CACPC,OADO,WAELC,KAAKN,KAAOM,KAAKC,MAAMC,MAAMC,MAAM,IAErCC,OAJO,WAIG,WACRJ,KAAKK,UACLL,KAAKH,YAAa,EAClBG,KAAKf,cAAce,KAAKN,MACrBY,MAAK,WAAQ,EAAKV,SAAU,KAD/B,OAES,WAAQ,EAAKD,OAAQ,KAF9B,SAGW,WAAQ,EAAKE,YAAa,MAEvCQ,QAZO,WAaLL,KAAKJ,SAAU,EACfI,KAAKL,OAAQ,K,yBClCJ,MAFkB,IAAgB,EAAQ,CAAC,CAAC,S,yEFNzD,YA6CM,MA7CN,EA6CM,CA5CJ,YAMO,aALL,YAIC,SAHCY,IAAI,QACJrB,KAAK,OACJ,SAAM,oBAAE,EAAAa,QAAA,EAAAA,UAAA,K,YAIL,EAAU,Y,cADlB,YAKE,G,MAHArB,MAAM,qBACN8B,KAAA,GACAC,KAAK,mB,cAEP,YAMS,U,MAJP/B,MAAM,qBACL,QAAK,oBAAE,EAAA0B,QAAA,EAAAA,UAAA,K,YAEL,EAAAf,mBAAqB,EAAAqB,GAAG,oBAAD,IAEjB,EAAO,S,cAAlB,YAWM,SAVJ,YAOS,UANPhC,MAAM,kBACL,QAAK,oBAAE,EAAA2B,SAAA,EAAAA,WAAA,K,CAER,YAEE,GADAI,KAAK,Y,EAIT,YAA2D,wBAAlD,EAAAlB,gBAAkB,EAAAmB,GAAG,qBAAD,MAEf,EAAK,O,cAArB,YAWM,SAVJ,YAOS,UANPhC,MAAM,kBACL,QAAK,oBAAE,EAAA2B,SAAA,EAAAA,WAAA,K,CAER,YAEE,GADAI,KAAK,Y,EAIT,YAAuD,wBAA9C,EAAAjB,cAAgB,EAAAkB,GAAG,mBAAD,M,kCG3C1BhC,MAAM,Y,UCEbC,IAAQC,IACNC,KAGF,IAqCe8B,EArCE,CACf3B,MAAO,CACL4B,WAAY,CACV1B,KAAMC,SACNC,UAAU,GAEZyB,SAAU,CACR3B,KAAMI,OACNwB,QAAS,cAEXC,kBAAmB,CAAE7B,KAAMI,QAC3B0B,kBAAmB,CAAE9B,KAAMI,SAE7BG,KAbe,WAcb,MAAO,CACLwB,YAAY,IAGhBnB,QAAS,CACPoB,QADO,WACI,WACTlB,KAAKiB,YAAa,EAClBjB,KAAKY,aACFN,MAAK,SAACa,GACL,IAAMC,EAAiBC,SAASC,cAAc,KAC9CF,EAAeG,aAAa,OAAQ,iCAAmCC,mBAAmBL,IAC1FC,EAAeG,aAAa,WAAY,EAAKV,UAC7CO,EAAeK,MAAMC,QAAU,OAC/BL,SAASM,KAAKC,YAAYR,GAC1BA,EAAeS,QACfR,SAASM,KAAKG,YAAYV,GAE1BW,YAAW,WAAQ,EAAKd,YAAa,IAAS,W,OC7BzC,MAFkB,IAAgB,EAAQ,CAAC,CAAC,S,yEFNzD,YAiBM,MAjBN,EAiBM,CAhBO,EAAU,Y,cAArB,YAQM,SAPJ,YAIE,GAHAR,KAAK,eACLuB,KAAK,KACLxB,KAAA,KAGF,YAAiE,wBAAxD,EAAAQ,mBAAqB,EAAAN,GAAG,wBAAD,O,cAElC,YAMS,U,MAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAAwC,SAAA,EAAAA,WAAA,K,YAEL,EAAAH,mBAAqB,EAAAL,GAAG,oBAAD,U,6OGXhC,IAyEeuB,EAzEa,CAC1BxC,KAD0B,WAExB,MAAO,CACLyC,UAAW,UACXC,gBAAiB,KAGrBC,QAP0B,WAQxBpC,KAAKqC,OAAOC,SAAS,gBAEvBC,WAAY,CACVxD,WACA4B,WACA6B,cAEFC,S,iWAAU,CAAF,GACHC,YAAS,CACVC,kBAAmB,SAACC,GAAD,OAAWA,EAAMC,IAAIF,mBACxCG,KAAM,SAACF,GAAD,OAAWA,EAAMG,MAAMC,gBAGjClD,QAAS,CACPmD,kBADO,WAEL,OAAOjD,KAAK2C,kBAAkBO,cAAc,CAAEC,GAAInD,KAAK8C,KAAKK,KACzD7C,KAAKN,KAAKoD,iCAEfC,iBALO,WAML,OAAOrD,KAAK2C,kBAAkBW,cAC3BhD,KAAKN,KAAKoD,iCAEfG,gBATO,WAUL,OAAOvD,KAAK2C,kBAAkBa,aAC3BlD,KAAKN,KAAKoD,iCAEfK,cAbO,SAaQ/D,GACb,OAAOM,KAAK2C,kBAAkBc,cAAc,CAAE/D,SAC3CY,MAAK,SAACoD,GACL,IAAKA,EACH,MAAM,IAAIC,MAAM,cAIxBC,aArBO,SAqBOlE,GACZ,OAAOM,KAAK2C,kBAAkBiB,aAAa,CAAElE,SAC1CY,MAAK,SAACoD,GACL,IAAKA,EACH,MAAM,IAAIC,MAAM,cAIxBE,YA7BO,SA6BMnE,GACX,OAAOM,KAAK2C,kBAAkBkB,YAAY,CAAEnE,SACzCY,MAAK,SAACoD,GACL,IAAKA,EACH,MAAM,IAAIC,MAAM,cAIxBP,+BArCO,SAqCyBL,GAE9B,OAAOA,EAAMe,KAAI,SAAChB,GAEhB,OAAIA,GAAQA,EAAKiB,SAGRjB,EAAKkB,YAAc,IAAMC,SAASC,SAEpCpB,EAAKkB,eACXG,KAAK,SClEC,MAFkB,IAAgB,EAAQ,CAAC,CAAC,S,qGRJzD,YAsDM,OArDHC,MAAO,EAAA1D,GAAG,oC,CAEX,YAQM,MARN,EAQM,CAPJ,YAA2C,sBAApC,EAAAA,GAAG,2BAAD,GACT,YAA4D,qBAAtD,EAAAA,GAAG,8CAAD,GACR,YAIE,GAHC2D,iBAAgB,EAAAZ,cAChBa,kBAAiB,EAAA5D,GAAG,6BACpB6D,gBAAe,EAAA7D,GAAG,iC,+DAGvB,YAOM,MAPN,EAOM,CANJ,YAA2C,sBAApC,EAAAA,GAAG,2BAAD,GACT,YAIE,GAHC8D,cAAa,EAAAvB,kBACdpC,SAAS,cACR4D,sBAAqB,EAAA/D,GAAG,kC,gDAG7B,YAQM,MARN,EAQM,CAPJ,YAA0C,sBAAnC,EAAAA,GAAG,0BAAD,GACT,YAAyD,qBAAnD,EAAAA,GAAG,2CAAD,GACR,YAIE,GAHC2D,iBAAgB,EAAAT,aAChBU,kBAAiB,EAAA5D,GAAG,4BACpB6D,gBAAe,EAAA7D,GAAG,gC,+DAGvB,YAOM,MAPN,EAOM,CANJ,YAA0C,sBAAnC,EAAAA,GAAG,0BAAD,GACT,YAIE,GAHC8D,cAAa,EAAAnB,iBACdxC,SAAS,aACR4D,sBAAqB,EAAA/D,GAAG,iC,gDAG7B,YAQM,MARN,EAQM,CAPJ,YAAyC,sBAAlC,EAAAA,GAAG,yBAAD,GACT,YAAwD,qBAAlD,EAAAA,GAAG,0CAAD,GACR,YAIE,GAHC2D,iBAAgB,EAAAR,YAChBS,kBAAiB,EAAA5D,GAAG,2BACpB6D,gBAAe,EAAA7D,GAAG,+B,+DAGvB,YAOM,MAPN,EAOM,CANJ,YAAyC,sBAAlC,EAAAA,GAAG,yBAAD,GACT,YAIE,GAHC8D,cAAa,EAAAjB,gBACd1C,SAAS,YACR4D,sBAAqB,EAAA/D,GAAG,gC,+ES9CtBhC,MAAM,sB,GAkBFA,MAAM,gB,eAkCR0F,MAAM,S,GACJ1F,MAAM,sB,GAkBFA,MAAM,gB,eAiCVA,MAAM,oB,GAkBFA,MAAM,gB,yEC7HrBA,MAAM,e,6BAUJA,MAAM,uBCbZ,IAEe,IACbM,MAAO,CACL0F,MAAO,CACLxF,KAAMC,SACNC,UAAU,GAEZuF,OAAQ,CACNzF,KAAMC,UAERyF,YAAa,CACX1F,KAAMI,OACNwB,QAAS,cAGbrB,KAda,WAeX,MAAO,CACLoF,KAAM,GACNC,QAAS,KACTC,QAAS,GACTC,gBAAgB,IAGpBvC,SAAU,CACRwC,SADQ,WAEN,OAAOjF,KAAK2E,OAAS3E,KAAK2E,OAAO3E,KAAK+E,SAAW/E,KAAK+E,UAG1DG,MAAO,CACLL,KADK,SACCM,GACJnF,KAAKoF,aAAaD,KAGtBrF,QAAS,CACPsF,aADO,SACOP,GAAM,WAClBQ,aAAarF,KAAK8E,SAClB9E,KAAK8E,QAAU/C,YAAW,WACxB,EAAKgD,QAAU,GACXF,GACF,EAAKH,MAAMG,GAAMvE,MAAK,SAACyE,GAAc,EAAKA,QAAUA,OAxCjC,MA4CzBO,aAVO,WAWLtF,KAAKgF,gBAAiB,GAExBO,eAbO,WAcLvF,KAAKgF,gBAAiB,K,OCvCb,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,6FFNzD,YAmBM,MAnBN,GAmBM,C,YAfJ,YAKC,S,qCAJU,EAAI,QACZJ,YAAa,EAAAA,YACdlG,MAAM,oBACL,QAAK,oBAAE,EAAA4G,cAAA,EAAAA,gBAAA,K,iBAHC,EAAAT,QAMH,EAAAG,gBAAkB,EAAAC,SAASO,OAAS,G,cAD5C,YAQM,MARN,GAQM,E,gBAJJ,YAGE,qBAFe,EAAAP,SAARQ,GADT,YAGE,oBADCA,KAAMA,K,mCAfM,EAAAF,sB,UGAZ7G,MAAM,gC,6CCqCAgH,GArCG,CAChB1G,MAAO,CAAC,UACRS,KAFgB,WAGd,MAAO,CACLkG,UAAU,IAGdlD,SAAU,CACRK,KADQ,WAEN,OAAO9C,KAAKqC,OAAOuD,QAAQC,SAAS7F,KAAK8F,SAE3CC,aAJQ,WAKN,OAAO/F,KAAKqC,OAAOuD,QAAQG,aAAa/F,KAAK8F,SAE/CE,QAPQ,WAQN,OAAOhG,KAAK+F,aAAaE,WAG7B1D,WAAY,CACV2D,oBAEFpG,QAAS,CACPqG,YADO,WACQ,WACbnG,KAAK2F,UAAW,EAChB3F,KAAKqC,OAAOC,SAAS,cAAetC,KAAK8C,KAAKK,IAAI7C,MAAK,WACrD,EAAKqF,UAAW,MAGpBS,UAPO,WAOM,WACXpG,KAAK2F,UAAW,EAChB3F,KAAKqC,OAAOC,SAAS,YAAatC,KAAK8C,KAAKK,IAAI7C,MAAK,WACnD,EAAKqF,UAAW,Q,OCxBT,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,kFFNzD,YA6BkB,GA7BA7C,KAAM,EAAAA,MAAI,C,oBAC1B,IA2BM,CA3BN,YA2BM,MA3BN,GA2BM,CAzBI,EAAO,S,cADf,YAYS,U,MAVPpE,MAAM,qBACL2H,SAAU,EAAAV,SACV,QAAK,oBAAE,EAAAQ,aAAA,EAAAA,eAAA,K,CAEQ,EAAQ,U,cAAxB,YAEW,a,wBADN,EAAAzF,GAAG,+BAAD,I,oBAEP,YAEW,a,wBADN,EAAAA,GAAG,sBAAD,I,4BAGT,YAYS,U,MAVPhC,MAAM,qBACL2H,SAAU,EAAAV,SACV,QAAK,oBAAE,EAAAS,WAAA,EAAAA,aAAA,K,CAEQ,EAAQ,U,cAAxB,YAEW,a,wBADN,EAAA1F,GAAG,6BAAD,I,oBAEP,YAEW,a,wBADN,EAAAA,GAAG,oBAAD,I,gDGxBNhC,MAAM,+B,gCCAf,IAqCe4H,GArCE,CACftH,MAAO,CAAC,UACRS,KAFe,WAGb,MAAO,CACLkG,UAAU,IAGdlD,SAAU,CACRK,KADQ,WAEN,OAAO9C,KAAKqC,OAAOuD,QAAQC,SAAS7F,KAAK8F,SAE3CC,aAJQ,WAKN,OAAO/F,KAAKqC,OAAOuD,QAAQG,aAAa/F,KAAK8F,SAE/CS,MAPQ,WAQN,OAAOvG,KAAK+F,aAAaS,SAG7BjE,WAAY,CACV2D,oBAEFpG,QAAS,CACP2G,WADO,WACO,WACZzG,KAAK2F,UAAW,EAChB3F,KAAKqC,OAAOC,SAAS,aAActC,KAAK8F,QAAQxF,MAAK,WACnD,EAAKqF,UAAW,MAGpBe,SAPO,WAOK,WACV1G,KAAK2F,UAAW,EAChB3F,KAAKqC,OAAOC,SAAS,WAAYtC,KAAK8F,QAAQxF,MAAK,WACjD,EAAKqF,UAAW,Q,OCxBT,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,kFFNzD,YA6BkB,GA7BA7C,KAAM,EAAAA,MAAI,C,oBAC1B,IA2BM,CA3BN,YA2BM,MA3BN,GA2BM,CAzBI,EAAK,O,cADb,YAYS,U,MAVPpE,MAAM,qBACL2H,SAAU,EAAAV,SACV,QAAK,oBAAE,EAAAc,YAAA,EAAAA,cAAA,K,CAEQ,EAAQ,U,cAAxB,YAEW,a,wBADN,EAAA/F,GAAG,8BAAD,I,oBAEP,YAEW,a,wBADN,EAAAA,GAAG,qBAAD,I,4BAGT,YAYS,U,MAVPhC,MAAM,qBACL2H,SAAU,EAAAV,SACV,QAAK,oBAAE,EAAAe,UAAA,EAAAA,YAAA,K,CAEQ,EAAQ,U,cAAxB,YAEW,a,wBADN,EAAAhG,GAAG,4BAAD,I,oBAEP,YAEW,a,wBADN,EAAAA,GAAG,mBAAD,I,gDGzBRhC,MAAM,oB,IACJA,MAAM,2B,cCuBAiI,GAvBQ,CACrB3H,MAAO,CAAC,UACRuD,WAAY,CACVqE,qBAEFnE,SAAU,CACRK,KADQ,WAEN,OAAO9C,KAAKqC,OAAOO,MAAMG,MAAMC,aAEjCuD,MAJQ,WAKN,OAAOvG,KAAK8C,KAAK+D,YAAYC,SAAS9G,KAAK+G,UAG/CjH,QAAS,CACPkH,aADO,WAEL,OAAOhH,KAAKqC,OAAOC,SAAS,eAAgBtC,KAAK+G,SAEnDE,WAJO,WAKL,OAAOjH,KAAKqC,OAAOC,SAAS,aAActC,KAAK+G,W,OCXtC,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,iFFNzD,YAwBM,MAxBN,GAwBM,CAvBJ,YAEM,MAFN,GAEM,YADD,EAAAA,QAAM,GAGH,EAAK,O,cADb,YASiB,G,MAPdlF,MAAO,EAAAmF,aACRtI,MAAM,sB,CAGWiH,SAAQ,YACvB,IAA4C,C,wBAAzC,EAAAjF,GAAG,qCAAD,K,oBAFP,IAAmC,C,wBAAhC,EAAAA,GAAG,4BAA6B,IACnC,K,kCAIF,YASiB,G,MAPdmB,MAAO,EAAAoF,WACRvI,MAAM,sB,CAGWiH,SAAQ,YACvB,IAA0C,C,wBAAvC,EAAAjF,GAAG,mCAAD,K,oBAFP,IAAiC,C,wBAA9B,EAAAA,GAAG,0BAA2B,IACjC,K,mCGpBChC,MAAM,mB,UAGPA,MAAM,0B,IAEDA,MAAM,oC,IASNA,MAAM,kC,IAgBFA,MAAM,oC,ICkCNwI,GA9DQ,CACrB3E,WAAY,CACV4E,K,MAAAA,EACA3E,cAEFxD,MAAO,CACLoI,MAAO,CACLlI,KAAMmI,MACNvG,QAAS,iBAAM,KAEjBwG,OAAQ,CACNpI,KAAMC,SACN2B,QAAS,SAAA2E,GAAI,OAAIA,EAAKtC,MAG1B1D,KAfqB,WAgBnB,MAAO,CACL8H,SAAU,KAGd9E,SAAU,CACR+E,QADQ,WAEN,OAAOxH,KAAKoH,MAAMtD,IAAI9D,KAAKsH,SAE7BG,iBAJQ,WAIY,WAClB,OAAOzH,KAAKwH,QAAQ7C,QAAO,SAAA+C,GAAG,OAAoC,IAAhC,EAAKH,SAASI,QAAQD,OAE1DE,YAPQ,WAQN,OAAO5H,KAAKyH,iBAAiBjC,SAAWxF,KAAKoH,MAAM5B,QAErDqC,aAVQ,WAWN,OAAwC,IAAjC7H,KAAKyH,iBAAiBjC,QAE/BsC,aAbQ,WAcN,OAAQ9H,KAAK4H,cAAgB5H,KAAK6H,eAGtC/H,QAAS,CACPiI,WADO,SACKtC,GACV,OAA6D,IAAtDzF,KAAKyH,iBAAiBE,QAAQ3H,KAAKsH,OAAO7B,KAEnDuC,OAJO,SAICC,EAASxC,GACf,IAAMiC,EAAM1H,KAAKsH,OAAO7B,GAEpBwC,IADejI,KAAK+H,WAAWL,KAE7BO,EACFjI,KAAKuH,SAASW,KAAKR,GAEnB1H,KAAKuH,SAASY,OAAOnI,KAAKuH,SAASI,QAAQD,GAAM,KAIvDU,UAfO,SAeIC,GAEPrI,KAAKuH,SADHc,EACcrI,KAAKwH,QAAQc,MAAM,GAEnB,M,OClDT,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,iGFNzD,YA8CM,MA9CN,GA8CM,CA5CI,EAAAlB,MAAM5B,OAAS,G,cADvB,YAmBM,MAnBN,GAmBM,CAfJ,YAQM,MARN,GAQM,CAPJ,YAMW,GALR+C,cAAa,EAAAX,YACbY,cAAe,EAAAV,aACf,sBAAoB,EAAAM,W,qBAErB,IAAsC,C,wBAAnC,EAAA1H,GAAG,+BAAD,K,gEAGT,YAKM,MALN,GAKM,CAJJ,YAGE,mBADC6G,SAAU,EAAAE,wB,mBAIjB,YAwBO,GAvBJL,MAAO,EAAAA,MACPqB,UAAS,EAAAnB,Q,CAEO7B,KAAI,YACnB,EADsBA,UAAI,CAC1B,YAcM,OAbJ/G,MAAK,aAAC,6BAA4B,uCACe,EAAAqJ,WAAWtC,O,CAE5D,YAKM,MALN,GAKM,CAJJ,YAGE,GAFC8C,cAAa,EAAAR,WAAWtC,GACxB,sBAAoBwC,GAAW,EAAAD,OAAOC,EAASxC,I,gDAGpD,YAGE,iBADCA,KAAMA,K,KAIIiD,MAAK,YACpB,IAAqB,CAArB,YAAqB,oB,4qBGhC7B/J,IAAQC,IACNC,KAGF,IA0Ee8J,GA1EU,SAAC,GAAD,IACvBC,EADuB,EACvBA,MACAC,EAFuB,EAEvBA,OAFuB,IAGvBC,qBAHuB,MAGP,UAHO,MAIvBC,2BAJuB,MAID,GAJC,SAKnB,SAACC,GACL,IACMhK,EADgBiK,OAAOC,KAAKC,aAAkBH,IACxBrE,QAAO,SAAAyE,GAAC,OAAIA,IAAMN,KAAeO,OAAON,GAEpE,MAAO,CACL/J,MAAO,GAAF,YACAA,GADA,CAEH,YAEFS,KALK,WAMH,MAAO,CACL6J,SAAS,EACT3J,OAAO,IAGX8C,SAAU,CACR8G,YADQ,WAEN,OAAOV,EAAO7I,KAAKwJ,OAAQxJ,KAAKqC,UAGpCD,QAhBK,YAiBCpC,KAAKyJ,SAAWC,KAAQ1J,KAAKuJ,eAC/BvJ,KAAK2J,aAGT7J,QAAS,CACP6J,UADO,WACM,WACN3J,KAAKsJ,UACRtJ,KAAKsJ,SAAU,EACftJ,KAAKL,OAAQ,EACbiJ,EAAM5I,KAAKwJ,OAAQxJ,KAAKqC,QACrB/B,MAAK,WACJ,EAAKgJ,SAAU,KAFnB,OAIS,WACL,EAAK3J,OAAQ,EACb,EAAK2J,SAAU,QAKzBM,OArCK,WAsCH,GAAK5J,KAAKL,OAAUK,KAAKsJ,QAcvB,gCACa,6BADb,CAEKtJ,KAAKL,MAAL,yBACeK,KAAK2J,UADpB,MACqC,eADrC,CACoD3J,KAAKU,GAAG,2BAD5D,+BAEqB,gBAFrB,QAfL,I,EAAM1B,EAAQ,SACTgB,KAAKwJ,QADC,UAERV,EAAgB9I,KAAKuJ,cAElBM,EAAW7J,KAAK8J,OACtB,gCACa,qBADb,eAE0B9K,G,EACnB6K,E,6FAAAA,EAHP,2BAGOA,aC3DTE,GAAYpB,GAAiB,CACjCC,MAAO,SAAC5J,EAAOqD,GAAR,OAAmBA,EAAOC,SAAS,gBAC1CuG,OAAQ,SAAC7J,EAAOqD,GAAR,OAAmB2H,KAAI3H,EAAOO,MAAMG,MAAMC,YAAa,WAAY,KAC3E8F,cAAe,SAHCH,CAIfzB,IAEG+C,GAAWtB,GAAiB,CAChCC,MAAO,SAAC5J,EAAOqD,GAAR,OAAmBA,EAAOC,SAAS,eAC1CuG,OAAQ,SAAC7J,EAAOqD,GAAR,OAAmB2H,KAAI3H,EAAOO,MAAMG,MAAMC,YAAa,UAAW,KAC1E8F,cAAe,SAHAH,CAIdzB,IAEGgD,GAAiBvB,GAAiB,CACtCC,MAAO,SAAC5J,EAAOqD,GAAR,OAAmBA,EAAOC,SAAS,qBAC1CuG,OAAQ,SAAC7J,EAAOqD,GAAR,OAAmB2H,KAAI3H,EAAOO,MAAMG,MAAMC,YAAa,cAAe,KAC9E8F,cAAe,SAHMH,CAIpBzB,IA0GYiD,GAxGQ,CACrB1K,KADqB,WAEnB,MAAO,CACLyC,UAAW,YAGfE,QANqB,WAOnBpC,KAAKqC,OAAOC,SAAS,eACrBtC,KAAKqC,OAAOC,SAAS,oBAEvBC,WAAY,CACV6H,gBACAL,aACAE,YACAC,kBACAxE,aACAY,YACAK,kBACAC,oBACAyD,eACA7H,cAEFC,SAAU,CACR6H,aADQ,WAEN,OAAOtK,KAAKqC,OAAOO,MAAM2H,SAASD,cAEpCxH,KAJQ,WAKN,OAAO9C,KAAKqC,OAAOO,MAAMG,MAAMC,cAGnClD,QAAS,CACP2D,cADO,SACQ/D,GACb,OAAOM,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkBc,cAAc,CAAE/D,SAC5DY,MAAK,SAACoD,GACL,IAAKA,EACH,MAAM,IAAIC,MAAM,cAIxBC,aATO,SASOlE,GACZ,OAAOM,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkBiB,aAAa,CAAElE,SAC3DY,MAAK,SAACoD,GACL,IAAKA,EACH,MAAM,IAAIC,MAAM,cAIxBP,+BAjBO,SAiByBL,GAE9B,OAAOA,EAAMe,KAAI,SAAChB,GAEhB,OAAIA,GAAQA,EAAKiB,SAGRjB,EAAKkB,YAAc,IAAMC,SAASC,SAEpCpB,EAAKkB,eACXG,KAAK,OAEVqG,YA7BO,SA6BMC,GACXzK,KAAKkC,UAAYuI,GAEnBC,qBAhCO,SAgCeC,GAAS,WAC7B,OAAOC,KAAOD,GAAS,SAAC7E,GAEtB,OADqB,EAAKzD,OAAOuD,QAAQG,aAAa,EAAKD,QACvCG,UAAYH,IAAW,EAAKhD,KAAKK,OAGzD0H,mBAtCO,SAsCaF,GAAS,WAC3B,OAAOC,KAAOD,GAAS,SAAC7E,GAEtB,OADqB,EAAKzD,OAAOuD,QAAQG,aAAa,EAAKD,QACvCU,QAAUV,IAAW,EAAKhD,KAAKK,OAGvD2H,aA5CO,SA4COpG,GACZ,OAAO1E,KAAKqC,OAAOC,SAAS,cAAe,CAAEoC,UAC1CpE,MAAK,SAACyC,GAAD,OAAWe,KAAIf,EAAO,UAEhCgI,WAhDO,SAgDKC,GACV,OAAOhL,KAAKqC,OAAOC,SAAS,aAAc0I,IAE5CC,aAnDO,SAmDOD,GACZ,OAAOhL,KAAKqC,OAAOC,SAAS,eAAgB0I,IAE9CE,UAtDO,SAsDIF,GACT,OAAOhL,KAAKqC,OAAOC,SAAS,YAAa0I,IAE3CG,YAzDO,SAyDMH,GACX,OAAOhL,KAAKqC,OAAOC,SAAS,cAAe0I,IAE7CI,qBA5DO,SA4DeC,GAAM,WAC1B,OAAOA,EAAK1G,QAAO,SAAA2G,GAAG,OAAK,EAAKxI,KAAK+D,YAAYC,SAASwE,OAE5DC,kBA/DO,SA+DY7G,GAAO,WACxB,OAAO,IAAI8G,SAAQ,SAACC,EAASb,GAC3Ba,EAAQ,EAAKnB,aAAa3F,QAAO,SAAA2G,GAAG,OAAIA,EAAII,cAAc5E,SAASpC,WAGvEiH,cApEO,SAoEQC,GACb,OAAO5L,KAAKqC,OAAOC,SAAS,gBAAiBsJ,M,OCzHpC,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,sTlBNzD,YAsJe,GArJZC,mBAAiB,EAClBnN,MAAM,wB,qBAEN,IAiDM,CAjDN,YAiDM,OAjDA0F,MAAO,EAAA1D,GAAG,wB,CACd,YAYM,MAZN,EAYM,CAXJ,YAUc,GATXiE,OAAQ,EAAA+F,qBACRhG,MAAO,EAAAoG,aACPlG,YAAa,EAAAlE,GAAG,kC,qBAKb,GAHiB,CACnB,YAEE,GADCoL,UAASC,EAAItG,M,iEAKtB,YAkCY,GAjCTgE,SAAS,EACThB,UAASuD,GAAKA,G,CAEEC,OAAM,YACrB,EADwB1E,cAAQ,CAChC,YAqBM,MArBN,EAqBM,CAnBIA,EAAS/B,OAAS,G,cAD1B,YASiB,G,MAPf9G,MAAM,wCACLmD,MAAK,IAAQ,EAAAkJ,WAAWxD,I,CAGR5B,SAAQ,YACvB,IAAoC,C,wBAAjC,EAAAjF,GAAG,6BAAD,K,oBAFP,IAA2B,C,wBAAxB,EAAAA,GAAG,oBAAqB,IAC3B,K,yCAKM6G,EAAS/B,OAAS,G,cAD1B,YASiB,G,MAPf9G,MAAM,qBACLmD,MAAK,IAAQ,EAAAoJ,aAAa1D,I,CAGV5B,SAAQ,YACvB,IAAsC,C,wBAAnC,EAAAjF,GAAG,+BAAD,K,oBAFP,IAA6B,C,wBAA1B,EAAAA,GAAG,sBAAuB,IAC7B,K,6CAMW+E,KAAI,YACnB,EADsBA,UAAI,CAC1B,YAA6B,GAAjBqG,UAASrG,GAAI,sBAEViD,MAAK,YACpB,IAA8B,C,wBAA3B,EAAAhI,GAAG,uBAAD,K,0BAKX,YA8FM,OA9FA0D,MAAO,EAAA1D,GAAG,uB,CACd,YA4Fe,Q,oBA3Fb,IAiDM,CAjDN,YAiDM,MAjDN,EAiDM,CAhDJ,YAYM,MAZN,EAYM,CAXJ,YAUc,GATXiE,OAAQ,EAAAkG,mBACRnG,MAAO,EAAAoG,aACPlG,YAAa,EAAAlE,GAAG,iC,qBAKb,GAHiB,CACnB,YAEE,GADCoL,UAASC,EAAItG,M,iEAKtB,YAkCW,GAjCRgE,SAAS,EACThB,UAASuD,GAAKA,G,CAEEC,OAAM,YACrB,EADwB1E,cAAQ,CAChC,YAqBM,MArBN,EAqBM,CAnBIA,EAAS/B,OAAS,G,cAD1B,YASiB,G,MAPf9G,MAAM,qBACLmD,MAAK,IAAQ,EAAAqJ,UAAU3D,I,CAGP5B,SAAQ,YACvB,IAAmC,C,wBAAhC,EAAAjF,GAAG,4BAAD,K,oBAFP,IAA0B,C,wBAAvB,EAAAA,GAAG,mBAAoB,IAC1B,K,yCAKM6G,EAAS/B,OAAS,G,cAD1B,YASiB,G,MAPf9G,MAAM,qBACLmD,MAAK,IAAQ,EAAAsJ,YAAY5D,I,CAGT5B,SAAQ,YACvB,IAAqC,C,wBAAlC,EAAAjF,GAAG,8BAAD,K,oBAFP,IAA4B,C,wBAAzB,EAAAA,GAAG,qBAAsB,IAC5B,K,6CAMW+E,KAAI,YACnB,EADsBA,UAAI,CAC1B,YAA4B,GAAjBqG,UAASrG,GAAI,sBAETiD,MAAK,YACpB,IAA6B,C,wBAA1B,EAAAhI,GAAG,sBAAD,K,sBAKX,YAuCM,OAvCA0D,MAAO,EAAA1D,GAAG,0B,CACd,YAYM,MAZN,EAYM,CAXJ,YAUc,GATXiE,OAAQ,EAAAyG,qBACR1G,MAAO,EAAA6G,kBACP3G,YAAa,EAAAlE,GAAG,kC,qBAKb,GAHiB,CACnB,YAEE,GADCqG,OAAQgF,EAAItG,M,gEAKrB,YAwBiB,GAvBdgE,SAAS,EACThB,UAASuD,GAAKA,G,CAEEC,OAAM,YACrB,EADwB1E,cAAQ,CAChC,YAWM,MAXN,EAWM,CATIA,EAAS/B,OAAS,G,cAD1B,YASiB,G,MAPf9G,MAAM,qBACLmD,MAAK,IAAQ,EAAA8J,cAAcpE,I,CAGX5B,SAAQ,YACvB,IAA4C,C,wBAAzC,EAAAjF,GAAG,qCAAD,K,oBAFP,IAAmC,C,wBAAhC,EAAAA,GAAG,4BAA6B,IACnC,K,6CAMW+E,KAAI,YACnB,EADsBA,UAAI,CAC1B,YAAiC,GAAhBsB,OAAQtB,GAAI,qBAEdiD,MAAK,YACpB,IAA6B,C,wBAA1B,EAAAhI,GAAG,sBAAD,K,2EmB/IVhC,MAAM,gB,IAELA,MAAM,gB,IAMJA,MAAM,mB,IACFA,MAAM,S,IACRA,MAAM,e,UA2CdA,MAAM,gB,IAGFA,MAAM,gB,IAmBPA,MAAM,gB,gBC1EXA,MAAM,kB,UASFA,MAAM,S,eAGD,IACP,YAAG,KAAM,K,6DCbXA,MAAM,qB,eAKqB,O,IAQlBA,MAAM,oB,aAanBC,IAAQC,IACNsN,MAGa,QACb3J,WAAY,CAAE4J,oBACdnN,MAAO,CAAC,Y,OC1BK,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,oFDLjD,EAAO,S,cADf,YAoBO,OApBP,GAoBO,CAhBL,YAeU,GAdRoN,QAAQ,SAAO,CAEEA,QAAO,YAAC,IAEvB,C,GAAA,YAGE,GAFA3L,KAAK,SACJ4L,aAAY,EAAA3L,GAAG,6B,yBAGHS,QAAO,YACtB,IAEM,CAFN,YAEM,MAFN,GAEM,YADD,EAAAT,GAAG,6BAAD,K,gDEdXhC,MAAM,uB,eAKqB,O,IAQlBA,MAAM,sBAanBC,IAAQC,IACN0N,MAGa,QACb/J,WAAY,CAAE4J,oBACdnN,MAAO,CAAC,e,OC1BK,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,oFDLjD,EAAU,Y,cADlB,YAoBO,OApBP,GAoBO,CAhBL,YAeU,GAdRoN,QAAQ,SAAO,CAEEA,QAAO,YAAC,IAEvB,C,GAAA,YAGE,GAFA3L,KAAK,SACJ4L,aAAY,EAAA3L,GAAG,iC,yBAGHS,QAAO,YACtB,IAEM,CAFN,YAEM,MAFN,GAEM,YADD,EAAAT,GAAG,iCAAD,K,gCEbA,IACb6B,WAAY,CACVC,aACA+J,qBACAC,wBAEFxN,MAAO,CACL,OACA,WACA,UAEFyD,SAAU,CACRgK,YADQ,WAEN,MAAgCzM,KAAK0M,KAAKC,MAAM,KAAhD,UAAOC,EAAP,KAAwBC,EAAxB,WACA,MAAO,CAACD,EAAe,gBAAhB,YAAmCC,IAAM1I,KAAK,MAEvDvB,MALQ,WAMN,IAAMyF,EAAQ,KAAIrI,KAAK8M,QAAS9M,KAAK0M,MACrC,YAAcK,IAAV1E,EACKrI,KAAKgN,aAEL3E,GAGX2E,aAbQ,WAcN,OAAO,KAAIhN,KAAK8M,QAAS9M,KAAKyM,cAEhCQ,aAhBQ,WAiBN,OAAOjN,KAAK0M,KAAKQ,WAAW,gBAE9BC,UAnBQ,WAoBN,OAAQnN,KAAK0M,KAAKQ,WAAW,gBAAkBlN,KAAK4C,QAAU5C,KAAKgN,cAErEI,mBAtBQ,WAuBN,OAAQpN,KAAKqN,QAAU,IAAMrN,KAAK8M,QAAQQ,cAG9CxN,QAAS,CACPyN,OADO,SACCC,GACN,KAAIxN,KAAK8M,QAAS9M,KAAK0M,KAAMc,MCpCpB,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,qINHjD,EAAkB,oB,cAD1B,YAiBQ,QAjBR,GAiBQ,CAbN,YAY2G,GAXxGjF,cAAa,EAAA3F,MACbyD,SAAU,EAAAA,SACV,sBAAmB,EAAAkH,Q,qBAEpB,IAKO,CAJG,EAAAzD,OAAOhJ,S,cADjB,YAKO,OALP,GAKO,CADL,YAAQ,uB,sBAGV,YAA0C,GAAtB2M,QAAS,EAAAN,WAAS,oBAAI,YAAmD,GAA7BO,cAAa,EAAAT,cAAY,0B,gsBOd/F,IAiDeU,GAjDc,qBAAC,UAC5B7K,KAD2B,WAEzB,OAAO9C,KAAKqC,OAAOO,MAAMG,MAAMC,cAG9BiG,OAAOC,KAAK0E,MACZ9J,KAAI,SAAA4D,GAAG,MAAI,CACVA,EAAM,eACN,WACE,OAAO1H,KAAKqC,OAAOuD,QAAQiI,cAAcnG,QAG5CoG,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYW,EAAZ,eAAC,MAA4B0F,GAA7B,UAAmCrG,EAAMW,MAAU,KAE1DY,OAAOC,KAAK0E,MACZ9J,KAAI,SAAA4D,GAAG,MAAI,CAACA,EAAK,CAChBsC,IADgB,WACP,OAAOhK,KAAKqC,OAAOuD,QAAQoI,aAAatG,IACjDuG,IAFgB,SAEX5F,GACHrI,KAAKqC,OAAOC,SAAS,YAAa,CAAE4L,KAAMxG,EAAKW,gBAGlDyF,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYW,EAAZ,eAAC,MAA4B0F,GAA7B,UAAmCrG,EAAMW,MAAU,KAC1DY,OAAOC,KAAKiF,MACZrK,KAAI,SAAA4D,GAAG,MAAI,CAAC,cAAgBA,EAAK,CAChCsC,IADgC,WACvB,OAAOhK,KAAKqC,OAAOO,MAAMwL,iBAAiB1G,IACnDuG,IAFgC,SAE3B5F,GACHrI,KAAKqC,OAAOC,SAAS,sBAAuB,CAAE4L,KAAMxG,EAAKW,gBAG5DyF,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYW,EAAZ,eAAC,MAA4B0F,GAA7B,UAAmCrG,EAAMW,MAAU,KA7BlC,IA+B3BgG,gBAAiB,CACfrE,IADe,WACN,OAAOhK,KAAKqC,OAAOuD,QAAQoI,aAAaK,iBACjDJ,IAFe,SAEV5F,GAAO,YACMA,EACZrI,KAAKqC,OAAOC,SAAS,sBACrBtC,KAAKqC,OAAOC,SAAS,wBAEjBhC,MAAK,WACX,EAAK+B,OAAOC,SAAS,YAAa,CAAE4L,KAAM,kBAAmB7F,aAD/D,OAES,SAACmF,GACRc,QAAQ3O,MAAM,4CAA6C6N,GAC3D,EAAKnL,OAAOC,SAAS,uBACrB,EAAKD,OAAOC,SAAS,YAAa,CAAE4L,KAAM,kBAAmB7F,OAAO,Y,+NC3C5E,IAyBekG,GAzBU,CACvB9O,KADuB,WAErB,MAAO,CACLyC,UAAW,UACXsM,qBAAsBxO,KAAKqC,OAAOO,MAAMG,MAAMC,YAAYyL,sBAC1DtM,gBAAiB,KAGrBI,WAAY,CACVmM,mBAEFjM,S,mWAAU,EACRK,KADQ,WAEN,OAAO9C,KAAKqC,OAAOO,MAAMG,MAAMC,cAE9B2K,MAEL7N,QAAS,CACP6O,2BADO,WAEL3O,KAAKqC,OAAOO,MAAMC,IAAIF,kBACnBgM,2BAA2B,CAAEC,SAAU5O,KAAKwO,0BChBtC,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,iFVJzD,YAgFM,OAhFApK,MAAO,EAAA1D,GAAG,2B,CACd,YAiDM,MAjDN,GAiDM,CAhDJ,YAA0D,sBAAnD,EAAAA,GAAG,0CAAD,GACT,YA8CK,KA9CL,GA8CK,CA7CH,YAIK,WAHH,YAEiB,GAFDgM,KAAK,8CAA4C,C,oBAC/D,IAA8D,C,wBAA3D,EAAAhM,GAAG,uDAAD,K,QAGT,YAuCK,KAvCL,GAuCK,CAtCH,YAAuE,OAAvE,GAAuE,YAAhD,EAAAA,GAAG,qCAAD,GACzB,YAoCK,KApCL,GAoCK,CAnCH,YAIK,WAHH,YAEiB,GAFDgM,KAAK,gCAA8B,C,oBACjD,IAAkD,C,wBAA/C,EAAAhM,GAAG,2CAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,kCAAgC,C,oBACnD,IAAoD,C,wBAAjD,EAAAhM,GAAG,6CAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,kCAAgC,C,oBACnD,IAAoD,C,wBAAjD,EAAAhM,GAAG,6CAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,mCAAiC,C,oBACpD,IAAqD,C,wBAAlD,EAAAhM,GAAG,8CAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,gCAA8B,C,oBACjD,IAAkD,C,wBAA/C,EAAAhM,GAAG,2CAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,yCAAuC,C,oBAC1D,IAA4D,C,wBAAzD,EAAAhM,GAAG,qDAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,gCAA8B,C,oBACjD,IAAkD,C,wBAA/C,EAAAhM,GAAG,2CAAD,K,gBAST,EAAA4M,YAAc,G,cADtB,YAuBM,MAvBN,GAuBM,CAnBJ,YAA0D,sBAAnD,EAAA5M,GAAG,0CAAD,GACT,YAiBK,KAjBL,GAiBK,CAhBH,YAOK,WANH,YAKiB,GAJfgM,KAAK,uBACLW,OAAO,K,qBAEP,IAAkD,C,wBAA/C,EAAA3M,GAAG,2CAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,iCACLW,OAAO,K,qBAEP,IAAoE,C,wBAAjE,EAAA3M,GAAG,6DAAD,K,gCAKb,YAGM,MAHN,GAGM,CAFJ,YAA8C,qBAAxC,EAAAA,GAAG,gCAAD,GACR,YAA+C,qBAAzC,EAAAA,GAAG,iCAAD,M,iCW7ELhC,MAAM,gB,IAELA,MAAM,gB,UA6FVA,MAAM,gB,IAGFA,MAAM,gB,6DCjGZA,MAAM,iB,eAEE,IACR,YAAG,KAAM,K,0BCFE,IACb6D,WAAY,CACVsM,YACAtC,qBACAC,wBAEFxN,MAAO,CACL,OACA,WACA,UACA,UAEFyD,SAAU,CACRgK,YADQ,WAEN,MAAgCzM,KAAK0M,KAAKC,MAAM,KAAhD,UAAOC,EAAP,KAAwBC,EAAxB,WACA,MAAO,CAACD,EAAe,gBAAhB,YAAmCC,IAAM1I,KAAK,MAEvDvB,MALQ,WAMN,IAAMyF,EAAQ,KAAIrI,KAAK8M,QAAS9M,KAAK0M,MACrC,YAAcK,IAAV1E,EACKrI,KAAKgN,aAEL3E,GAGX2E,aAbQ,WAcN,OAAO,KAAIhN,KAAK8M,QAAS9M,KAAKyM,cAEhCQ,aAhBQ,WAiBN,OAAOjN,KAAK0M,KAAKQ,WAAW,gBAE9BC,UAnBQ,WAoBN,OAAQnN,KAAK0M,KAAKQ,WAAW,gBAAkBlN,KAAK4C,QAAU5C,KAAKgN,cAErEI,mBAtBQ,WAuBN,OAAQpN,KAAKqN,QAAU,IAAMrN,KAAK8M,QAAQQ,cAG9CxN,QAAS,CACPyN,OADO,SACCC,GACN,KAAIxN,KAAK8M,QAAS9M,KAAK0M,KAAMc,M,OCnCpB,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,mIFLjD,EAAkB,oB,cAD1B,YAsBQ,QAtBR,GAsBQ,CAlBN,YAAQ,oB,GAER,YAaS,GAZNjF,cAAa,EAAA3F,MACbyD,SAAU,EAAAA,SACV,sBAAmB,EAAAkH,Q,qBAGlB,IAAyB,E,gBAD3B,YAOS,qBANU,EAAAuB,QAAVC,I,cADT,YAOS,UALNrH,IAAKqH,EAAOrH,IACZW,MAAO0G,EAAO1G,O,YAEZ0G,EAAO3K,OAAQ,IAClB,YAAG2K,EAAO1G,QAAU,EAAA2E,aAAe,EAAAtM,GAAG,oCAAsC,IAAvC,Q,iEAGzC,YAA0C,GAAtB+M,QAAS,EAAAN,WAAS,oBACtC,YAAmD,GAA7BO,cAAa,EAAAT,cAAY,2B,uCGnB/CvO,MAAM,kB,6DAcL,IACD,YAAG,KAAM,KChBE,QACb6D,WAAY,CACVgK,sBAEFvN,MAAO,CACL0N,KAAMpN,OACN+G,SAAU2I,QACVC,IAAKC,OACL7B,OAAQ,CAAC6B,OAAQ5P,SAEnBmD,SAAU,CACRgK,YADQ,WAEN,MAAgCzM,KAAK0M,KAAKC,MAAM,KAAhD,UAAOC,EAAP,KAAwBC,EAAxB,WACA,MAAO,CAACD,EAAe,gBAAhB,YAAmCC,IAAM1I,KAAK,MAEvDvB,MALQ,WAMN,IAAMyF,EAAQ,KAAIrI,KAAK8M,QAAS9M,KAAK0M,MACrC,YAAcK,IAAV1E,EACKrI,KAAKgN,aAEL3E,GAGX2E,aAbQ,WAcN,OAAO,KAAIhN,KAAK8M,QAAS9M,KAAKyM,cAEhCU,UAhBQ,WAiBN,OAAOnN,KAAK4C,QAAU5C,KAAKgN,cAE7BI,mBAnBQ,WAoBN,OAAQpN,KAAKqN,QAAU,IAAMrN,KAAK8M,QAAQQ,cAG9CxN,QAAS,CACPyN,OADO,SACCC,GACN,KAAIxN,KAAK8M,QAAS9M,KAAK0M,KAAMyC,SAAS3B,EAAE4B,OAAO/G,WC9BtC,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,sEFHjD,EAAkB,oB,cAD1B,YAmBO,OAnBP,GAmBO,CAfL,YAEQ,SAFAgH,IAAK,EAAA3C,MAAI,CACf,YAAQ,qB,MAEV,YASC,SAREvJ,GAAI,EAAAuJ,KACLhO,MAAM,eACNQ,KAAK,SACLoQ,KAAK,IACJjJ,SAAU,EAAAA,SACV4I,IAAK,EAAAA,KAAO,EACZ5G,MAAO,EAAAzF,MACP,SAAM,oBAAE,EAAA2K,QAAA,EAAAA,UAAA,K,eAGX,YAA0C,GAAtBE,QAAS,EAAAN,WAAS,uB,4lBGZ1C,IAgDeoC,GAhDM,CACnB9P,KADmB,WACX,WACN,MAAO,CACL+P,qBAAsBxP,KAAKqC,OAAOuD,QAAQoI,aAAayB,UAAUtL,KAAK,MACtEuL,uBAAwB,CAAC,MAAO,YAAa,QAAQ5L,KAAI,SAAA6L,GAAI,MAAK,CAChEjI,IAAKiI,EACLtH,MAAOsH,EACPvL,MAAO,EAAK1D,GAAL,oCAAqCiP,UAIlDpN,WAAY,CACVmM,kBACAkB,iBACAC,mBAEFpN,SAAU,SACLkL,MADG,IAENmC,gBAAiB,CACf9F,IADe,WAEb,OAAOhK,KAAKwP,sBAEdvB,IAJe,SAIV5F,GACHrI,KAAKwP,qBAAuBnH,EAC5BrI,KAAKqC,OAAOC,SAAS,YAAa,CAChC4L,KAAM,YACN7F,MAAO,KAAOA,EAAMsE,MAAM,OAAO,SAACoD,GAAD,OAAU,KAAKA,GAAMvK,OAAS,WAMvEN,MAAO,CACL8K,uBAAwB,CACtBC,QADsB,SACb5H,GACPrI,KAAKqC,OAAOC,SAAS,YAAa,CAChC4L,KAAM,yBACN7F,MAAOrI,KAAKqC,OAAOuD,QAAQoI,aAAagC,0BAG5CE,MAAM,GAERC,gBAVK,WAWHnQ,KAAKqC,OAAOC,SAAS,oBC3CZ,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,gJRJzD,YA2GM,OA3GA8B,MAAO,EAAA1D,GAAG,uB,CACd,YA4FM,MA5FN,GA4FM,CA3FJ,YAAmC,sBAA5B,EAAAA,GAAG,mBAAD,GACT,YAyFK,KAzFL,GAyFK,CAxFH,YAmCK,WAlCH,YAEiB,GAFDgM,KAAK,wBAAsB,C,oBACzC,IAA2C,C,wBAAxC,EAAAhM,GAAG,oCAAD,K,MAEP,YA8BK,MA7BHhC,MAAK,aAAC,0BAAyB,YACV,EAAA0R,e,CAErB,YAOK,WANH,YAKiB,GAJd/J,SAAU,EAAAgK,qBACX3D,KAAK,yB,qBAEL,IAA+C,C,wBAA5C,EAAAhM,GAAG,wCAAD,K,uBAGT,YAQK,WANK,EAAI,M,cADZ,YAMiB,G,MAJd2F,SAAU,EAAAgK,qBACX3D,KAAK,oB,qBAEL,IAAuC,C,wBAApC,EAAAhM,GAAG,gCAAD,K,2CAGT,YAQK,WANK,EAAI,M,cADZ,YAMiB,G,MAJd2F,SAAU,EAAAgK,qBACX3D,KAAK,kB,qBAEL,IAAqC,C,wBAAlC,EAAAhM,GAAG,8BAAD,K,iDAKb,YAIK,WAHH,YAEiB,GAFDgM,KAAK,mBAAiB,C,oBACpC,IAAmC,C,wBAAhC,EAAAhM,GAAG,4BAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,iBAAe,C,oBAClC,IAAoC,C,wBAAjC,EAAAhM,GAAG,6BAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,qBAAmB,C,oBACtC,IAAwC,C,wBAArC,EAAAhM,GAAG,iCAAD,K,QAID,EAAI,M,cADZ,YAOgB,G,MALdyC,GAAG,kBACHuJ,KAAK,kBACJoC,QAAS,EAAAY,wB,qBAEV,IAAwC,C,wBAArC,EAAAhP,GAAG,iCAAD,K,wCAEP,YAQK,WAPH,YAAwC,sBAAjC,EAAAA,GAAG,wBAAD,G,YACT,YAIE,YAHAyC,GAAG,Y,qCACM,EAAe,mBACxBzE,MAAM,iB,gBADG,EAAAoR,mBAGX,YAAqD,uBAA7C,EAAApP,GAAG,mCAAD,KAEZ,YAAyC,sBAAlC,EAAAA,GAAG,yBAAD,GACT,YAQK,WAPH,YAMiB,GALfgM,KAAK,gBACLW,OAAO,IACN4B,IAAK,G,qBAEN,IAAmC,C,wBAAhC,EAAAvO,GAAG,4BAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,mBAAiB,C,oBACpC,IAA2C,C,wBAAxC,EAAAhM,GAAG,oCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,yBAAuB,C,oBAC1C,IAA8C,C,wBAA3C,EAAAhM,GAAG,uCAAD,K,YAML,EAAA4M,YAAc,G,cADtB,YAYM,MAZN,GAYM,CARJ,YAA2C,sBAApC,EAAA5M,GAAG,2BAAD,GACT,YAMK,KANL,GAMK,CALH,YAIK,WAHH,YAEiB,GAFDgM,KAAK,iBAAe,C,oBAClC,IAAoC,C,wBAAjC,EAAAhM,GAAG,6BAAD,K,kESrGRhC,MAAM,gB,eAiCNA,MAAM,gB,qCAwCNA,MAAM,gB,IAEFA,MAAM,gB,GAKP,YAAM,mB,IAUFA,MAAM,W,mBAabA,MAAM,gB,4DCtGXA,MAAM,6B,IAEDA,MAAM,e,UAOPA,MAAM,gB,GASN,YAAI,mB,0BAsBKA,MAAM,W,qCAsCNA,MAAM,a,IACJA,MAAM,W,IAaNA,MAAM,U,IAaJA,MAAM,uB,UAgBTA,MAAM,e,sDC3HjBA,MAAM,oB,0BAMJA,MAAM,iB,IAGLA,MAAM,gBCVD,QACbM,MAAO,CACLsR,YAAa,CACXpR,KAAM+J,OACNnI,QAAS,iBAAO,CACdyP,YAAY,EACZC,MAAO,OAIb/Q,KAAM,iBAAO,IACbgD,SAAU,CACR8N,WADQ,WACQ,OAAOvQ,KAAKsQ,YAAYC,YACxCE,MAFQ,WAEG,OAAOzQ,KAAKsQ,YAAYE,MAAMhL,OAAS,GAClDkL,aAHQ,WAGU,OAAO1Q,KAAKuQ,YAAcvQ,KAAKyQ,S,OCLtC,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2CFNzD,YAkBM,MAlBN,GAkBM,CAjBM,EAAY,c,cAAtB,YAEK,oBADA,EAAA/P,GAAG,gCAAD,I,mBAEE,EAAU,Y,cAAnB,YAA0E,mBAAlD,EAAAA,GAAG,0CAAD,I,mBACV,EAAK,O,cAArB,YAYW,aAXT,YAEI,IAFJ,GAEI,YADC,EAAAA,GAAG,wCAAD,GAEP,YAOK,KAPL,GAOK,E,gBANH,YAKK,qBAJY,EAAA4P,YAAYE,MAApBG,I,cADT,YAKK,MAHFjJ,IAAKiJ,GAAI,YAEPA,GAAI,K,iDGbRjS,MAAM,e,0BAkCTA,MAAM,e,sCCpCZ,IAQekS,GARC,CACd5R,MAAO,CAAC,YACRS,KAAM,iBAAO,IACbK,QAAS,CACP+Q,QADO,WACM7Q,KAAK8Q,MAAM,YACxBC,OAFO,WAEK/Q,KAAK8Q,MAAM,aCEZ,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2CCJzD,YAgBM,YAfJ,YAAQ,oBACR,YAMS,UALPpS,MAAM,qBACL2H,SAAU,EAAAA,SACV,QAAK,oBAAE,EAAAwK,SAAA,EAAAA,WAAA,K,YAEL,EAAAnQ,GAAG,oBAAD,MAEP,YAMS,UALPhC,MAAM,qBACL2H,SAAU,EAAAA,SACV,QAAK,oBAAE,EAAA0K,QAAA,EAAAA,UAAA,K,YAEL,EAAArQ,GAAG,mBAAD,Y,+NCZI,QACb1B,MAAO,CAAC,YACRS,KAAM,iBAAO,CACXE,OAAO,EACPqR,gBAAiB,GACjBC,YAAY,EACZV,YAAY,IAEdhO,WAAY,CACV,QAAWqO,IAEbnO,S,mWAAU,EACRyO,YADQ,WAEN,OAAOlR,KAAK4O,SAASuC,OAEpBzO,YAAS,CACVC,kBAAmB,SAACC,GAAD,OAAWA,EAAMC,IAAIF,sBAG5C7C,QAAS,CACPsR,WADO,WAELpR,KAAK8Q,MAAM,aAEbO,iBAJO,WAIerR,KAAKiR,YAAa,GACxCK,aALO,WAMLtR,KAAKL,MAAQ,KACbK,KAAKiR,YAAa,GAEpBM,kBATO,WASc,WACnBvR,KAAKL,MAAQ,KACbK,KAAKuQ,YAAa,EAClBvQ,KAAK2C,kBAAkB6O,cAAc,CACnCC,SAAUzR,KAAKgR,kBAEd1Q,MAAK,SAACoR,GACL,EAAKnB,YAAa,EACdmB,EAAI/R,MACN,EAAKA,MAAQ+R,EAAI/R,OAGnB,EAAKsR,YAAa,EAClB,EAAKH,MAAM,qB,+NCtCrB,IAoJea,GApJH,CACVlS,KAAM,iBAAO,CACXmP,SAAU,CACRgD,WAAW,EACXC,SAAS,EACTV,MAAM,GAERW,WAAY,CACVlP,MAAO,GACPmP,cAAe,IAEjBzB,YAAa,CACX0B,aAAa,EACbzB,YAAY,EACZC,MAAO,IAETyB,YAAa,CACXC,iBAAkB,GAClBxK,IAAK,IAEPsJ,gBAAiB,KACjBmB,gBAAiB,KACjBxS,MAAO,KACPyS,WAAW,IAEb7P,WAAY,CACV,iBAAkB8P,GAClB,YC5B6B,IAAgB,GAAQ,CAAC,CAAC,S,0ENJzD,YAuCM,YAtCJ,YAkBM,MAlBN,GAkBM,CAjBJ,YAA6C,0BAAlC,EAAA3R,GAAG,qBAAD,GAEJ,EAAAwQ,Y,kCADT,YAMS,U,MAJPxS,MAAM,qBACL,QAAK,oBAAE,EAAA0S,YAAA,EAAAA,cAAA,K,YAEL,EAAA1Q,GAAG,mBAAD,IAIC,EAAW,a,cADnB,YAOS,U,MALPhC,MAAM,qBACL2H,SAAU,EAAA4K,WACV,QAAK,oBAAE,EAAAK,cAAA,EAAAA,gBAAA,K,YAEL,EAAA5Q,GAAG,oBAAD,O,qBAKD,EAAU,Y,cADlB,YAWU,G,MATP2F,SAAU,EAAAkK,WACV,UAAS,EAAAgB,kBACT,SAAQ,EAAAF,kB,qBAET,IAAsD,C,wBAAnD,EAAA3Q,GAAG,+CAAgD,KACtD,G,YAAA,YAGC,S,qCAFU,EAAe,mBACxBxB,KAAK,Y,gBADI,EAAA8R,qB,gEAKL,EAAK,O,cADb,YAKM,MALN,GAKM,YADD,EAAArR,OAAK,I,yBKJV,O,OAAU2S,EACV,QAAW1B,IAEbnO,S,mWAAU,EACR8P,YADQ,WAEN,OACGvS,KAAKwS,iBAAmBxS,KAAKyS,qBAC5BzS,KAAK4O,SAASiD,WACZ7R,KAAK4O,SAASuC,OAASnR,KAAK0S,oBAEpCF,gBAPQ,WAQN,MAAiC,KAA1BxS,KAAK8R,WAAWlP,OAA0C,aAA1B5C,KAAK8R,WAAWlP,OAEzD8P,mBAVQ,WAWN,MAAiC,aAA1B1S,KAAK8R,WAAWlP,QAAyB5C,KAAK2S,cAEvDC,WAbQ,WAcN,MAAyC,YAAlC5S,KAAK8R,WAAWC,eAEzBc,WAhBQ,WAiBN,MAAyC,YAAlC7S,KAAK8R,WAAWC,eAEzBY,aAnBQ,WAoBN,MAAyC,cAAlC3S,KAAK8R,WAAWC,eAEzBU,oBAtBQ,WAuBN,OAAQzS,KAAKsQ,YAAYC,YAAcvQ,KAAKsQ,YAAYE,MAAMhL,OAAS,GAEzEsN,sBAzBQ,WA0BN,OAAO9S,KAAKsQ,YAAY0B,cAEvBtP,YAAS,CACVC,kBAAmB,SAACC,GAAD,OAAWA,EAAMC,IAAIF,sBAI5C7C,QAAS,CACPiT,YADO,WAEA/S,KAAK4O,SAASiD,UACjB7R,KAAK8R,WAAWlP,MAAQ,iBACxB5C,KAAKgT,qBAGTA,iBAPO,WAOa,WAIlB,OAHAhT,KAAKsQ,YAAYC,YAAa,EAC9BvQ,KAAKsQ,YAAYE,MAAQ,GAElBxQ,KAAK2C,kBAAkBsQ,yBAC3B3S,MAAK,SAACoR,GACL,EAAKpB,YAAYE,MAAQkB,EAAIlB,MAC7B,EAAKF,YAAYC,YAAa,MAGpC2C,eAjBO,WAkBLlT,KAAKsQ,YAAY0B,aAAc,GAEjCmB,mBApBO,WAoBe,WACpBnT,KAAKgT,mBAAmB1S,MAAK,SAACoR,GAC5B,EAAKpB,YAAY0B,aAAc,MAGnCoB,kBAzBO,WA0BLpT,KAAKsQ,YAAY0B,aAAc,GAIjCqB,SA9BO,WA8BK,WACVrT,KAAK8R,WAAWlP,MAAQ,WACxB5C,KAAK8R,WAAWC,cAAgB,UAChC/R,KAAK2C,kBAAkB2Q,cACpBhT,MAAK,SAACoR,GACL,EAAKO,YAAcP,EACnB,EAAKI,WAAWC,cAAgB,cAGtCwB,aAvCO,WAuCS,WACdvT,KAAKL,MAAQ,KACbK,KAAK2C,kBAAkB6Q,cAAc,CACnCC,MAAOzT,KAAKmS,gBACZV,SAAUzR,KAAKgR,kBAEd1Q,MAAK,SAACoR,GACDA,EAAI/R,MACN,EAAKA,MAAQ+R,EAAI/R,MAGnB,EAAK+T,oBAIXA,cAtDO,WAuDL1T,KAAK8R,WAAWC,cAAgB,WAChC/R,KAAK8R,WAAWlP,MAAQ,WACxB5C,KAAKgR,gBAAkB,KACvBhR,KAAKL,MAAQ,KACbK,KAAK2T,iBAEPC,YA7DO,WA8DL5T,KAAK8R,WAAWC,cAAgB,GAChC/R,KAAK8R,WAAWlP,MAAQ,GACxB5C,KAAKgR,gBAAkB,KACvBhR,KAAKL,MAAQ,MAKTgU,cAtEC,WAsEgB,uIACF,EAAKhR,kBAAkBkR,cADrB,YACjBC,EADiB,QAEVnU,MAFU,wDAGrB,EAAKiP,SAAWkF,EAAOlF,SACvB,EAAKA,SAASgD,WAAY,EAJL,kBAKdkC,GALc,+CAQzBC,QA9IU,WA8IC,WACT/T,KAAK2T,gBAAgBrT,MAAK,WACxB,EAAK8R,WAAY,O,OE7IR,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,+IXLjD,EAAAA,WAAa,EAAAxD,SAASgD,W,cAD9B,YAqIM,MArIN,GAqIM,CAjIJ,YAEM,MAFN,GAEM,CADJ,YAAuC,sBAAhC,EAAAlR,GAAG,uBAAD,KAGX,YA4HM,YA1HK,EAAA8R,gB,kCADT,YAuCM,MAvCN,GAuCM,CAlCJ,YAAwD,sBAAjD,EAAA9R,GAAG,wCAAD,GACT,YAIE,GAHCkO,SAAU,EAAAA,SACV,aAAY,EAAA+E,cACZ,WAAU,EAAAZ,a,iDAEb,GAEW,EAAAnE,SAAgB,S,cAA3B,YAyBM,UAtBK,EAAAkE,sB,kCADT,YAGE,G,MADCkB,eAAc,EAAA1D,a,0BAGR,EAAAwC,sB,kCADT,YAMS,U,MAJPpU,MAAM,qBACL,QAAK,oBAAE,EAAAwU,gBAAA,EAAAA,kBAAA,K,YAEL,EAAAxS,GAAG,6CAAD,IAGI,EAAqB,uB,cAAhC,YAUM,UATJ,YAQU,GAPP2F,SAAU,EAAAiK,YAAYC,WACtB,UAAS,EAAA4C,mBACT,SAAQ,EAAAC,mB,qBAET,IAEI,CAFJ,YAEI,IAFJ,GAEI,YADC,EAAA1S,GAAG,+CAAD,K,2FAOJ,EAAe,iB,cAA1B,YAiFM,UA9EJ,YAA2C,sBAApC,EAAAA,GAAG,2BAAD,GAGA,EAAAgS,mB,kCADT,YAGE,G,MADCsB,eAAc,EAAA1D,a,0BAIT,EAAW,a,cADnB,YAMS,U,MAJP5R,MAAM,qBACL,QAAK,oBAAE,EAAAkV,aAAA,EAAAA,eAAA,K,YAEL,EAAAlT,GAAG,mBAAD,I,mBAIC,EAAW,a,cADnB,YAMS,U,MAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAA2U,UAAA,EAAAA,YAAA,K,YAEL,EAAA3S,GAAG,2BAAD,I,mBAGS,EAAkB,oB,cAAlC,YAsDW,aArDA,EAAU,Y,cAAnB,YAAoE,mBAA5C,EAAAA,GAAG,oCAAD,I,mBAEf,EAAU,Y,cAArB,YAkDM,UAjDJ,YAgDM,MAhDN,GAgDM,CA/CJ,YAWM,MAXN,GAWM,CAVJ,YAA4C,sBAArC,EAAAA,GAAG,4BAAD,GACT,YAAyC,qBAAnC,EAAAA,GAAG,2BAAD,GACR,YAGE,GAFC2H,MAAO,EAAA4J,YAAYC,iBACnBpD,QAAS,CAAEmF,MAAO,M,kBAErB,YAGI,qBAFC,EAAAvT,GAAG,kCAAmC,KACzC,YAAG,EAAAuR,YAAYvK,KAAG,KAItB,YAiCM,MAjCN,GAiCM,CAhCJ,YAAmC,sBAA5B,EAAAhH,GAAG,mBAAD,GACT,YAA2C,qBAArC,EAAAA,GAAG,6BAAD,G,YACR,YAGC,S,qCAFU,EAAe,mBACxBxB,KAAK,Q,gBADI,EAAAiT,mBAIX,YAA8D,qBAAxD,EAAAzR,GAAG,+CAAgD,IAAC,G,YAC1D,YAGC,S,qCAFU,EAAe,mBACxBxB,KAAK,Y,gBADI,EAAA8R,mBAGX,YAaM,MAbN,GAaM,CAZJ,YAKS,UAJPtS,MAAM,qBACL,QAAK,oBAAE,EAAA6U,cAAA,EAAAA,gBAAA,K,YAEL,EAAA7S,GAAG,oCAAD,GAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAAkV,aAAA,EAAAA,eAAA,K,YAEL,EAAAlT,GAAG,mBAAD,KAID,EAAK,O,cADb,YAKM,MALN,GAKM,YADD,EAAAf,OAAK,I,iIYpBXuU,GArGK,CAClBzU,KADkB,WAEhB,MAAO,CACL0U,SAAU,GACVC,kBAAkB,EAClBC,oBAAqB,GACrBC,cAAc,EACdC,iBAAiB,EACjBC,kCAAmC,GACnCC,oBAAoB,EACpBC,qBAAsB,CAAE,GAAI,GAAI,IAChCC,iBAAiB,EACjBC,qBAAqB,IAGzBxS,QAfkB,WAgBhBpC,KAAKqC,OAAOC,SAAS,gBAEvBC,WAAY,CACVqE,oBACA+K,OACAnP,cAEFC,SAAU,CACRK,KADQ,WAEN,OAAO9C,KAAKqC,OAAOO,MAAMG,MAAMC,aAEjC6R,eAJQ,WAKN,OAAO7U,KAAKqC,OAAOO,MAAM2H,SAASsK,gBAEpCC,YAPQ,WAOO,WACb,OAAO9U,KAAKqC,OAAOO,MAAMkS,YAAYC,OAAOjR,KAAI,SAAAkR,GAC9C,MAAO,CACL7R,GAAI6R,EAAW7R,GACf8R,QAASD,EAAWE,SACpBC,WAAY,IAAIC,KAAKJ,EAAWK,aAAaC,mBAAmBC,KAAcC,wBAAwB,EAAKC,MAAMC,eAKzH5V,QAAS,CACP6V,cADO,WAEL3V,KAAKuU,iBAAkB,GAEzBqB,cAJO,WAIU,WACf5V,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkBiT,cAAc,CAAEnE,SAAUzR,KAAKwU,oCACpElU,MAAK,SAACoR,GACc,YAAfA,EAAIhO,QACN,EAAKrB,OAAOC,SAAS,UACrB,EAAKuT,QAAQ3N,KAAK,CAAEgG,KAAM,UAE1B,EAAKuG,mBAAqB/C,EAAI/R,UAItCmW,eAfO,WAeW,WACVC,EAAS,CACbtE,SAAUzR,KAAK0U,qBAAqB,GACpCsB,YAAahW,KAAK0U,qBAAqB,GACvCuB,wBAAyBjW,KAAK0U,qBAAqB,IAErD1U,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkBmT,eAAeC,GACpDzV,MAAK,SAACoR,GACc,YAAfA,EAAIhO,QACN,EAAKiR,iBAAkB,EACvB,EAAKC,qBAAsB,EAC3B,EAAKsB,WAEL,EAAKvB,iBAAkB,EACvB,EAAKC,oBAAsBlD,EAAI/R,WAIvCwW,YAjCO,WAiCQ,WACPJ,EAAS,CACbK,MAAOpW,KAAKmU,SACZ1C,SAAUzR,KAAKqU,qBAEjBrU,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkBwT,YAAYJ,GACjDzV,MAAK,SAACoR,GACc,YAAfA,EAAIhO,QACN,EAAK4Q,cAAe,EACpB,EAAKF,kBAAmB,IAExB,EAAKE,cAAe,EACpB,EAAKF,iBAAmB1C,EAAI/R,WAIpCuW,OAjDO,WAkDLlW,KAAKqC,OAAOC,SAAS,UACrBtC,KAAK6V,QAAQQ,QAAQ,MAEvBC,YArDO,SAqDMnT,GACPoT,OAAO1F,QAAP,UAAkB7Q,KAAKyV,MAAMe,EAAE,yBAA/B,OACFxW,KAAKqC,OAAOC,SAAS,cAAea,MC7F7B,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,sEdJzD,YAyIM,OAzIAiB,MAAO,EAAA1D,GAAG,0B,CACd,YA+BM,MA/BN,GA+BM,CA9BJ,YAA0C,sBAAnC,EAAAA,GAAG,0BAAD,GACT,YAOM,YANJ,YAAqC,qBAA/B,EAAAA,GAAG,uBAAD,G,YACR,YAIC,S,qCAHU,EAAQ,YACjBxB,KAAK,QACLuX,aAAa,S,gBAFJ,EAAAtC,cAKb,YAOM,YANJ,YAA4C,qBAAtC,EAAAzT,GAAG,8BAAD,G,YACR,YAIC,S,qCAHU,EAAmB,uBAC5BxB,KAAK,WACLuX,aAAa,oB,gBAFJ,EAAApC,yBAKb,YAKS,UAJP3V,MAAM,qBACL,QAAK,oBAAE,EAAAyX,aAAA,EAAAA,eAAA,K,YAEL,EAAAzV,GAAG,kBAAD,GAEE,EAAY,c,cAArB,YAEI,mBADC,EAAAA,GAAG,2BAAD,I,oBAE8B,IAArB,EAAA0T,kB,cAAhB,YAGW,aAFT,YAA8C,qBAAxC,EAAA1T,GAAG,gCAAD,GACR,YAA6B,qBAAvB,EAAA0T,kBAAgB,I,0BAI1B,YAsCM,MAtCN,GAsCM,CArCJ,YAA6C,sBAAtC,EAAA1T,GAAG,6BAAD,GACT,YAMM,YALJ,YAA4C,qBAAtC,EAAAA,GAAG,8BAAD,G,YACR,YAGC,S,qCAFU,EAAAgU,qBAAqB,GAAD,GAC7BxV,KAAK,Y,gBADI,EAAAwV,qBAAqB,QAIlC,YAMM,YALJ,YAAwC,qBAAlC,EAAAhU,GAAG,0BAAD,G,YACR,YAGC,S,qCAFU,EAAAgU,qBAAqB,GAAD,GAC7BxV,KAAK,Y,gBADI,EAAAwV,qBAAqB,QAIlC,YAMM,YALJ,YAAgD,qBAA1C,EAAAhU,GAAG,kCAAD,G,YACR,YAGC,S,qCAFU,EAAAgU,qBAAqB,GAAD,GAC7BxV,KAAK,Y,gBADI,EAAAwV,qBAAqB,QAIlC,YAKS,UAJPhW,MAAM,qBACL,QAAK,oBAAE,EAAAoX,gBAAA,EAAAA,kBAAA,K,YAEL,EAAApV,GAAG,kBAAD,GAEE,EAAe,iB,cAAxB,YAEI,mBADC,EAAAA,GAAG,8BAAD,KAE+B,IAAxB,EAAAkU,qB,cAAd,YAEI,mBADC,EAAAlU,GAAG,mCAAD,I,mBAEE,EAAmB,qB,cAA5B,YAEI,mBADC,EAAAkU,qBAAmB,I,qBAI1B,YA4BM,MA5BN,GA4BM,CA3BJ,YAA0C,sBAAnC,EAAAlU,GAAG,0BAAD,GACT,YAyBQ,QAzBR,GAyBQ,CAxBN,YAMQ,cALN,YAIK,WAHH,YAAsC,sBAA/B,EAAAA,GAAG,sBAAD,GACT,YAAyC,sBAAlC,EAAAA,GAAG,yBAAD,GACT,OAGJ,YAgBQ,e,gBAfN,YAcK,qBAbkB,EAAAoU,YAAdE,I,cADT,YAcK,MAZFtN,IAAKsN,EAAW7R,I,CAEjB,YAAiC,sBAA1B6R,EAAWC,SAAO,GACzB,YAAoC,sBAA7BD,EAAWG,YAAU,GAC5B,YAOK,KAPL,GAOK,CANH,YAKS,UAJPzW,MAAM,qBACL,QAAK,GAAE,EAAA4X,YAAYtB,EAAW7R,K,YAE5B,EAAAzC,GAAG,0BAAD,Y,YAOjB,YAAO,GACP,YAgCM,MAhCN,GAgCM,CA/BJ,YAA4C,sBAArC,EAAAA,GAAG,4BAAD,GACC,EAAA6T,gB,kCAAV,YAEI,mBADC,EAAA7T,GAAG,wCAAD,IAEI,EAAe,iB,cAA1B,YAaM,UAZJ,YAAuD,qBAAjD,EAAAA,GAAG,yCAAD,GACR,YAAiC,qBAA3B,EAAAA,GAAG,mBAAD,G,YACR,YAGC,S,qCAFU,EAAiC,qCAC1CxB,KAAK,Y,gBADI,EAAAsV,qCAGX,YAKS,UAJP9V,MAAM,qBACL,QAAK,oBAAE,EAAAkX,eAAA,EAAAA,iBAAA,K,YAEL,EAAAlV,GAAG,4BAAD,M,oBAGuB,IAAvB,EAAA+T,oB,cAAT,YAEI,mBADC,EAAA/T,GAAG,kCAAD,I,mBAEE,EAAkB,oB,cAA3B,YAEI,mBADC,EAAA+T,oBAAkB,I,mBAGd,EAAAF,gB,kCADT,YAMS,U,MAJP7V,MAAM,qBACL,QAAK,oBAAE,EAAAiX,eAAA,EAAAA,iBAAA,K,YAEL,EAAAjV,GAAG,kBAAD,O,oBetINhC,MAAM,e,IACJA,MAAM,gB,2IAwGNA,MAAM,gB,IAENA,MAAM,qB,IAGJA,MAAM,4B,4BAiCRA,MAAM,gB,IAEJA,MAAM,6B,uCAwCRA,MAAM,gB,IAEJA,MAAM,6B,uCAwCRA,MAAM,gB,IAELA,MAAM,gB,uDCrOTA,MAAM,iB,eAEFA,MAAM,iC,eAQNA,MAAM,iC,4JCJjBC,IAAQC,IACNC,KAGF,IAuHe6X,GAvHM,CACnB1X,MAAO,CACLoN,QAAS,CACPlN,KAAM,CAACI,OAAQiX,OAAOI,SACtBvX,UAAU,GAEZH,cAAe,CACbC,KAAMC,SACNC,UAAU,GAEZwX,eAAgB,CACd1X,KAAM+J,OADQ,mBAGZ,MAAO,CACL4N,YAAa,EACbC,aAAc,EACdC,SAAU,EACVC,SAAS,EACTC,UAAU,EACVC,QAAQ,KAIdC,MAAO,CACLjY,KAAMI,OACNwB,QAAS,6DAEXsW,gBAAiB,CACflY,KAAMI,QAER+X,+BAAgC,CAC9BnY,KAAMI,QAERgY,kBAAmB,CACjBpY,KAAMI,SAGVG,KArCmB,WAsCjB,MAAO,CACL8X,aAASxK,EACTyK,aAASzK,EACTlM,cAAUkM,EACVlN,YAAY,IAGhB4C,SAAU,CACRgV,SADQ,WAEN,OAAOzX,KAAKoX,iBAAmBpX,KAAKU,GAAG,uBAEzCgX,wBAJQ,WAKN,OAAO1X,KAAKqX,gCAAkCrX,KAAKU,GAAG,wCAExDiX,WAPQ,WAQN,OAAO3X,KAAKsX,mBAAqBtX,KAAKU,GAAG,0BAG7CZ,QAAS,CACP8X,QADO,WAED5X,KAAKuX,SACPvX,KAAKuX,QAAQK,UAEf5X,KAAKC,MAAMC,MAAMmI,MAAQ,GACzBrI,KAAKwX,aAAUzK,EACf/M,KAAK8Q,MAAM,UAEb1Q,OATO,WASkB,WAAjByX,IAAiB,yDACvB7X,KAAKH,YAAa,EAClBG,KAAKf,cAAc4Y,GAAY7X,KAAKuX,QAASvX,KAAKN,MAC/CY,MAAK,kBAAM,EAAKsX,aADnB,SAEW,WACP,EAAK/X,YAAa,MAGxBiY,UAjBO,WAkBL9X,KAAKC,MAAMC,MAAM2B,SAEnBkW,cApBO,WAqBL/X,KAAKuX,QAAU,IAAIS,KAAQhY,KAAKC,MAAMgY,IAAKjY,KAAK4W,iBAElDsB,cAvBO,WAwBL,MAA+B,WAAxB,KAAOlY,KAAKoM,SAAuBpM,KAAKoM,QAAU/K,SAAS8W,cAAcnY,KAAKoM,UAEvFgM,SA1BO,WA0BK,WACJC,EAAYrY,KAAKC,MAAMC,MAC7B,GAAuB,MAAnBmY,EAAUlY,OAAuC,MAAtBkY,EAAUlY,MAAM,GAAY,CACzDH,KAAKN,KAAO2Y,EAAUlY,MAAM,GAC5B,IAAImY,EAAS,IAAI/B,OAAOgC,WACxBD,EAAOE,OAAS,SAAChL,GACf,EAAKgK,QAAUhK,EAAE4B,OAAO0E,OACxB,EAAKhD,MAAM,SAEbwH,EAAOG,cAAczY,KAAKN,MAC1BM,KAAK8Q,MAAM,UAAW9Q,KAAKN,KAAM4Y,MAIvCvE,QAhGmB,WAkGjB,IAAM3H,EAAUpM,KAAKkY,gBAChB9L,EAGHA,EAAQsM,iBAAiB,QAAS1Y,KAAK8X,WAFvC9X,KAAK8Q,MAAM,QAAS,+BAAgC,QAKpC9Q,KAAKC,MAAMC,MACnBwY,iBAAiB,SAAU1Y,KAAKoY,WAE5CO,cAAe,WAEb,IAAMvM,EAAUpM,KAAKkY,gBACjB9L,GACFA,EAAQwM,oBAAoB,QAAS5Y,KAAK8X,WAE1B9X,KAAKC,MAAMC,MACnB0Y,oBAAoB,SAAU5Y,KAAKoY,Y,OCrHlC,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,yEFNzD,YA6CM,MA7CN,GA6CM,CA5CO,EAAO,S,cAAlB,YAqCM,UApCJ,YAOM,MAPN,GAOM,CANJ,YAKC,OAJC7X,IAAI,MACHsY,IAAK,EAAArB,QACNsB,IAAI,GACH,OAAI,gCAAO,EAAAf,eAAA,EAAAA,iBAAA,GAAa,Y,cAG7B,YA2BM,MA3BN,GA2BM,CA1BJ,YAME,UALArZ,MAAM,qBACNQ,KAAK,SACJmH,SAAU,EAAAxG,WACV,QAAK,eAAE,EAAAO,U,YACR,YAAiB,a,WAEnB,YAME,UALA1B,MAAM,qBACNQ,KAAK,SACJmH,SAAU,EAAAxG,WACV,QAAK,oBAAE,EAAA+X,SAAA,EAAAA,WAAA,I,YACR,YAAmB,e,WAErB,YAME,UALAlZ,MAAM,qBACNQ,KAAK,SACJmH,SAAU,EAAAxG,WACV,QAAK,eAAE,EAAAO,QAAO,I,YACf,YAAgC,4B,WAG1B,EAAU,Y,cADlB,YAIE,G,MAFAI,KAAA,GACAC,KAAK,kB,2CAIX,YAKC,SAJCF,IAAI,QACJrB,KAAK,OACLR,MAAM,0BACLqa,OAAQ,EAAA5B,O,uoBGtBfxY,IAAQC,IACNE,KACAka,IACAna,KAGF,IAyOeoa,GAzOI,CACjBxZ,KADiB,WAEf,MAAO,CACLyZ,QAASlZ,KAAKqC,OAAOO,MAAMG,MAAMC,YAAYmW,eAC7CC,OAAQC,KAASrZ,KAAKqC,OAAOO,MAAMG,MAAMC,YAAYsW,aACrDC,UAAWvZ,KAAKqC,OAAOO,MAAMG,MAAMC,YAAYwW,OAC/CC,UAAWzZ,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY0W,OAAO5V,KAAI,SAAA6V,GAAK,MAAK,CAAEzL,KAAMyL,EAAMzL,KAAM7F,MAAOsR,EAAMtR,UACrGuR,SAAU5Z,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY6W,UAC9CC,KAAM9Z,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY8W,KAC1CC,IAAK/Z,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY+W,IACzCC,sBAAsB,EACtBC,iBAAiB,EACjBC,qBAAqB,EACrBC,OAAQ,KACRC,cAAe,KACfC,WAAY,KACZC,kBAAmB,KACnBC,cAAeva,KAAKqC,OAAOO,MAAMG,MAAMC,YAAYwX,UAAY,KAGnEjY,WAAY,CACVkY,mBACA/D,gBACAgE,gBACArQ,eACAzD,oBACApE,aACAkM,kBACAiM,gCAEFlY,SAAU,OACRK,KADQ,WAEN,OAAO9C,KAAKqC,OAAOO,MAAMG,MAAMC,cAE9B2K,MAJG,IAKNiN,mBALQ,WAMN,OAAOC,aAAU,CACfC,MAAO,GAAF,YACA9a,KAAKqC,OAAOO,MAAM2H,SAASuQ,OAD3B,KAEA9a,KAAKqC,OAAOO,MAAM2H,SAASwQ,cAEhCC,MAAOhb,KAAKqC,UAGhB4Y,eAdQ,WAeN,OAAOJ,aAAU,CAAEC,MAAO,GAAF,YACnB9a,KAAKqC,OAAOO,MAAM2H,SAASuQ,OADR,KAEnB9a,KAAKqC,OAAOO,MAAM2H,SAASwQ,iBAGlCG,cApBQ,WAqBN,OAAOL,aAAU,CAAEG,MAAOhb,KAAKqC,UAEjC8Y,aAvBQ,WAwBN,OAAOnb,KAAKqC,OAAOO,MAAM2H,SAAS4Q,cAEpCC,UA1BQ,WA2BN,OAAOpb,KAAKmb,aAAenb,KAAKmb,aAAaC,UAAY,GAE3DC,cA7BQ,WA8BN,OAAOrb,KAAKqC,OAAOO,MAAM2H,SAAS+Q,OAAStb,KAAKqC,OAAOO,MAAM2H,SAAS8Q,eAExEE,cAhCQ,WAiCN,OAAOvb,KAAKqC,OAAOO,MAAM2H,SAAS+Q,OAAStb,KAAKqC,OAAOO,MAAM2H,SAASgR,eAExEC,gBAnCQ,WAoCN,IAAMC,EAAazb,KAAKqC,OAAOO,MAAM2H,SAAS8Q,cAC9C,OAASrb,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY0Y,mBAC7C1b,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY0Y,kBAAkB5U,SAAS2U,IAEjEE,gBAxCQ,WAyCN,IAAMC,EAAa5b,KAAKqC,OAAOO,MAAM2H,SAASgR,cAC9C,OAASvb,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY6Y,aAC7C7b,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY6Y,YAAY/U,SAAS8U,IAE3DE,oBA7CQ,WA8CN,OAAS9b,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY+Y,kBAE/CC,aAhDQ,WAiDN,IAAMnD,EAAM7Y,KAAKqC,OAAOO,MAAMG,MAAMC,YAAYiZ,2BAChD,OAASpD,GAAO7Y,KAAKqb,eAEvBa,aApDQ,WAqDN,IAAMrD,EAAM7Y,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY6Y,YAChD,OAAShD,GAAO7Y,KAAKub,iBAGzBzb,QAAS,CACPqc,cADO,WACU,WACTpG,EAAS,CACbqG,KAAMpc,KAAKoZ,OACXI,OAAQxZ,KAAKuZ,UAGb8C,aAAcrc,KAAKkZ,QACnBoD,kBAAmBtc,KAAKyZ,UAAU9U,QAAO,SAAA4X,GAAE,OAAU,MAANA,KAC/CxC,IAAK/Z,KAAK+Z,IACVF,UAAW7Z,KAAK4Z,UAId5Z,KAAKua,gBACPxE,EAAOyE,SAAWjF,KAAciH,wBAAwBxc,KAAKua,gBAG/Dva,KAAKqC,OAAOO,MAAMC,IAAIF,kBACnBwZ,cAAc,CAAEpG,WAChBzV,MAAK,SAACwC,GACL,EAAK2W,UAAUtR,OAAOrF,EAAK4W,OAAOlU,QAClCiX,KAAM,EAAKhD,UAAW3W,EAAK4W,QAC3B,EAAKrX,OAAOqa,OAAO,cAAe,CAAC5Z,IACnC,EAAKT,OAAOqa,OAAO,iBAAkB5Z,OAG3C6Z,UA3BO,SA2BIC,GACT5c,KAAK6c,gBAAkBD,GAEzBE,SA9BO,WA+BL,OAAI9c,KAAKyZ,UAAUjU,OAASxF,KAAKob,YAC/Bpb,KAAKyZ,UAAUvR,KAAK,CAAEgG,KAAM,GAAI7F,MAAO,MAChC,IAIX0U,YArCO,SAqCMC,EAAOC,GAClBjd,KAAKkd,QAAQld,KAAKyZ,UAAWuD,IAE/BG,WAxCO,SAwCKC,EAAM5P,GAAG,WACb9N,EAAO8N,EAAE4B,OAAOjP,MAAM,GAC5B,GAAKT,EACL,GAAIA,EAAKsC,KAAOhC,KAAKqC,OAAOO,MAAM2H,SAAS6S,EAAO,SAAlD,CACE,IAAMC,EAAWC,KAAsBC,eAAe7d,EAAKsC,MACrDwb,EAAcF,KAAsBC,eAAevd,KAAKqC,OAAOO,MAAM2H,SAAS6S,EAAO,UAC3Fpd,KAAKqC,OAAOC,SAAS,mBAAoB,CACvCmb,WAAY,uBACZC,YAAa,CACX1d,KAAKU,GAAG,4BAA6B,CACnC2c,SAAUA,EAASM,IACnBC,aAAcP,EAASQ,KACvBL,YAAaA,EAAYG,IACzBG,gBAAiBN,EAAYK,QAGjCE,MAAO,cAbX,CAkBA,IAAMzF,EAAS,IAAIC,WACnBD,EAAOE,OAAS,YAAgB,IACxBP,EADwB,EAAb7I,OACE0E,OACnB,EAAKsJ,EAAO,WAAanF,EACzB,EAAKmF,GAAQ1d,GAEf4Y,EAAOG,cAAc/Y,KAEvBse,YArEO,WAsEazH,OAAO1F,QAAQ7Q,KAAKU,GAAG,mCAEvCV,KAAKie,kBAAalR,EAAW,KAGjCmR,YA3EO,WA4Ea3H,OAAO1F,QAAQ7Q,KAAKU,GAAG,mCAEvCV,KAAKme,aAAa,KAGtBC,gBAjFO,WAkFa7H,OAAO1F,QAAQ7Q,KAAKU,GAAG,uCAEvCV,KAAKqe,iBAAiB,KAG1BJ,aAvFO,SAuFO1G,EAAS7X,GACrB,IAAM4e,EAAOte,KACb,OAAO,IAAIwL,SAAQ,SAACC,EAASb,GAC3B,SAAS2T,EAAcC,EAAQC,GAC7BH,EAAKjc,OAAOO,MAAMC,IAAIF,kBAAkB+b,oBAAoB,CAAEF,SAAQC,eACnEne,MAAK,SAACwC,GACLwb,EAAKjc,OAAOqa,OAAO,cAAe,CAAC5Z,IACnCwb,EAAKjc,OAAOqa,OAAO,iBAAkB5Z,GACrC2I,OAJJ,OAMS,SAAC9L,GACN2e,EAAKK,mBAAmBhf,GACxBiL,EAAOjL,MAIT4X,EACFA,EAAQqH,mBAAmBC,QAAO,SAACpf,GAAD,OAAU8e,EAAa9e,EAAMC,EAAKwO,QAAOxO,EAAKR,MAEhFqf,EAAa7e,EAAMA,EAAKwO,UAI9BiQ,aA9GO,SA8GOhE,GAAQ,YACfna,KAAKoa,eAA4B,KAAXD,KAE3Bna,KAAKia,iBAAkB,EACvBja,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkB+b,oBAAoB,CAAEvE,WAC3D7Z,MAAK,SAACwC,GACL,EAAKT,OAAOqa,OAAO,cAAe,CAAC5Z,IACnC,EAAKT,OAAOqa,OAAO,iBAAkB5Z,GACrC,EAAKsX,cAAgB,QAJzB,MAMSpa,KAAK2e,oBANd,SAOW,WAAQ,EAAK1E,iBAAkB,OAE5CoE,iBA3HO,SA2HWhE,GAAY,YACvBra,KAAKsa,mBAAoC,KAAfD,KAE/Bra,KAAKka,qBAAsB,EAC3Bla,KAAKqC,OAAOO,MAAMC,IAAIF,kBAAkB+b,oBAAoB,CAAErE,eAC3D/Z,MAAK,SAACb,GACL,EAAK4C,OAAOqa,OAAO,cAAe,CAACjd,IACnC,EAAK4C,OAAOqa,OAAO,iBAAkBjd,GACrC,EAAK6a,kBAAoB,QAJ7B,MAMSta,KAAK2e,oBANd,SAOW,WAAQ,EAAKzE,qBAAsB,OAEhDyE,mBAxIO,SAwIahf,GAClBK,KAAKqC,OAAOC,SAAS,mBAAoB,CACvCmb,WAAY,uBACZC,YAAa,CAAC/d,EAAMmf,SACpBf,MAAO,a,OCtPA,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2OLNzD,YAgSM,MAhSN,GAgSM,CA/RJ,YAuGM,MAvGN,GAuGM,CAtGJ,YAAsC,sBAA/B,EAAArd,GAAG,sBAAD,GACT,YAAgC,qBAA1B,EAAAA,GAAG,kBAAD,GACR,YAUa,G,WATF,EAAAwY,Q,qCAAA,EAAO,WAChB6F,sBAAA,GACCC,QAAS,EAAA/D,gB,qBAEV,IAIC,C,YAJD,YAIC,SAHC9X,GAAG,W,qCACM,EAAO,WAChBzE,MAAM,gB,gBADG,EAAAwa,a,iCAIb,YAA+B,qBAAzB,EAAAxY,GAAG,iBAAD,GACR,YASa,G,WARF,EAAA0Y,O,qCAAA,EAAM,UACf2F,sBAAA,GACCC,QAAS,EAAApE,oB,qBAEV,IAGE,C,YAHF,YAGE,Y,qCAFS,EAAM,UACflc,MAAM,qB,gBADG,EAAA0a,Y,iCAIK,UAAT,EAAAU,MAA6B,cAAT,EAAAA,M,cAA7B,YASI,QARF,YAOW,G,WAPQ,EAAAF,S,qCAAA,EAAQ,a,qBACzB,IAEW,CAFc,UAAT,EAAAE,M,cAAhB,YAEW,a,wBADN,EAAApZ,GAAG,8BAAD,I,wBAEkB,cAAT,EAAAoZ,M,cAAhB,YAEW,a,wBADN,EAAApZ,GAAG,kCAAD,I,uEAIA,EAAA0a,UAAY,G,cAAvB,YAgDM,UA/CJ,YAAgD,qBAA1C,EAAA1a,GAAG,kCAAD,I,gBACR,YAqCM,qBApCa,EAAA+Y,UAAS,CAAlBwF,EAAGjT,K,cADb,YAqCM,OAnCHtE,IAAKsE,EACNtN,MAAM,kB,CAEN,YAUa,G,WATF,EAAA+a,UAAUzN,GAAGkC,K,yBAAb,EAAAuL,UAAUzN,GAAO,OAC1B+S,sBAAA,GACAG,oBAAA,GACCF,QAAS,EAAA9D,e,qBAEV,IAGC,C,YAHD,YAGC,S,yBAFU,EAAAzB,UAAUzN,GAAO,OACzBpH,YAAa,EAAAlE,GAAG,iC,iBADR,EAAA+Y,UAAUzN,GAAGkC,U,0DAI1B,YAUa,G,WATF,EAAAuL,UAAUzN,GAAG3D,M,yBAAb,EAAAoR,UAAUzN,GAAQ,QAC3B+S,sBAAA,GACAG,oBAAA,GACCF,QAAS,EAAA9D,e,qBAEV,IAGC,C,YAHD,YAGC,S,yBAFU,EAAAzB,UAAUzN,GAAQ,QAC1BpH,YAAa,EAAAlE,GAAG,kC,iBADR,EAAA+Y,UAAUzN,GAAG3D,W,0DAI1B,YASS,UARP3J,MAAM,gDACL,QAAK,GAAE,EAAAqe,YAAY/Q,I,CAIZ,EAAAyN,UAAUjU,OAAS,G,cAD3B,YAGE,G,MADA/E,KAAK,W,oCAKH,EAAAgZ,UAAUjU,OAAS,EAAA4V,W,cAD3B,YAOS,U,MALP1c,MAAM,mDACL,QAAK,oBAAE,EAAAoe,UAAA,EAAAA,YAAA,K,CAER,YAAsB,GAAdrc,KAAK,S,YAAS,IACtB,YAAG,EAAAC,GAAG,sCAAD,M,yCAGT,YAII,UAHF,YAEW,G,WAFQ,EAAAqZ,I,qCAAA,EAAG,Q,qBACpB,IAAwB,C,wBAArB,EAAArZ,GAAG,iBAAD,K,yBAGT,YAMI,UALF,YAIE,GAHCye,cAAa,EAAAze,GAAG,2BAChB8Z,SAAU,EAAAD,cACV6E,eAAcja,GAAO,EAAAoV,cAAgBpV,G,oDAG1C,YAMS,UALNkB,SAAU,EAAA6S,SAA8B,IAAnB,EAAAA,QAAQ1T,OAC9B9G,MAAM,qBACL,QAAK,oBAAE,EAAAyd,eAAA,EAAAA,iBAAA,K,YAEL,EAAAzb,GAAG,kBAAD,QAGT,YAqCM,MArCN,GAqCM,CApCJ,YAAoC,sBAA7B,EAAAA,GAAG,oBAAD,GACT,YAEI,IAFJ,GAEI,YADC,EAAAA,GAAG,qCAAD,GAEP,YAgBM,MAhBN,GAgBM,CAfJ,YAGC,OAFEmY,IAAK,EAAA/V,KAAKmZ,2BACXvd,MAAM,kB,YAGC,EAAA8c,iBAAmB,EAAAxB,sB,cAD5B,YAUS,U,MARNqF,MAAO,EAAA3e,GAAG,yBACV,QAAK,oBAAE,EAAAsd,aAAA,EAAAA,eAAA,IACRtf,MAAM,gC,CAEN,YAGE,GAFA+B,KAAK,QACLvB,KAAK,Y,4BAIX,YAA0C,qBAApC,EAAAwB,GAAG,4BAAD,G,YACR,YAOS,UALPyC,GAAG,cACHzE,MAAM,qBACNQ,KAAK,U,YAEF,EAAAwB,GAAG,4BAAD,M,KALG,EAAAsZ,wBAOV,YAKE,GAJA5N,QAAQ,eACP/H,iBAAgB,EAAA4Z,aAChB,OAAI,eAAE,EAAAjE,sBAAqB,GAC3B,QAAK,iBAAE,EAAAA,sBAAqB,I,6BAGjC,YAyCM,MAzCN,GAyCM,CAxCJ,YAA4C,sBAArC,EAAAtZ,GAAG,4BAAD,GACT,YAaM,MAbN,GAaM,CAZJ,YAA6B,OAAvBmY,IAAK,EAAA/V,KAAK+Y,a,WAEP,EAAAF,gB,kCADT,YAUS,U,MARPjd,MAAM,+BACL2gB,MAAO,EAAA3e,GAAG,iCACV,QAAK,sBAAE,EAAAwd,aAAA,EAAAA,eAAA,K,CAER,YAGE,GAFAzd,KAAK,QACLvB,KAAK,Y,SAIX,YAAkD,qBAA5C,EAAAwB,GAAG,oCAAD,GAEA,EAAa,e,cADrB,YAIC,O,MAFChC,MAAM,4BACLma,IAAK,EAAAuB,e,+BAER,YAKM,YAJJ,YAGC,SAFClb,KAAK,OACJ,SAAM,iBAAE,EAAAie,WAAW,SAAUmC,K,WAI1B,EAAe,iB,cADvB,YAKE,G,MAHA5gB,MAAM,YACN8B,KAAA,GACAC,KAAK,kBAGM,EAAa,e,cAD1B,YAMS,U,MAJP/B,MAAM,qBACL,QAAK,iBAAE,EAAAyf,aAAa,EAAAhE,U,YAElB,EAAAzZ,GAAG,kBAAD,I,qBAGT,YAyCM,MAzCN,GAyCM,CAxCJ,YAAgD,sBAAzC,EAAAA,GAAG,gCAAD,GACT,YAaM,MAbN,GAaM,CAZJ,YAAkC,OAA5BmY,IAAK,EAAA/V,KAAKiZ,kB,WAEP,EAAAD,oB,kCADT,YAUS,U,MARPpd,MAAM,+BACL2gB,MAAO,EAAA3e,GAAG,qCACV,QAAK,sBAAE,EAAA0d,iBAAA,EAAAA,mBAAA,K,CAER,YAGE,GAFA3d,KAAK,QACLvB,KAAK,Y,SAIX,YAAsD,qBAAhD,EAAAwB,GAAG,wCAAD,GAEA,EAAiB,mB,cADzB,YAIC,O,MAFChC,MAAM,4BACLma,IAAK,EAAAyB,mB,+BAER,YAKM,YAJJ,YAGC,SAFCpb,KAAK,OACJ,SAAM,iBAAE,EAAAie,WAAW,aAAcmC,K,WAI9B,EAAmB,qB,cAD3B,YAKE,G,MAHA5gB,MAAM,YACN8B,KAAA,GACAC,KAAK,kBAGM,EAAiB,mB,cAD9B,YAMS,U,MAJP/B,MAAM,qBACL,QAAK,iBAAE,EAAA2f,iBAAiB,EAAAhE,c,YAEtB,EAAA3Z,GAAG,kBAAD,I,qBAGT,YA4DM,MA5DN,GA4DM,CA3DJ,YAA6C,sBAAtC,EAAAA,GAAG,6BAAD,GACT,YAyDK,KAzDL,GAyDK,CAxDH,YAIK,WAHH,YAEiB,GAFDgM,KAAK,qBAAmB,C,oBACtC,IAA6C,C,wBAA1C,EAAAhM,GAAG,sCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,2BAAyB,C,oBAC5C,IAAiC,C,wBAA9B,EAAAhM,GAAG,0BAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,iCAA+B,C,oBAClD,IAAyC,C,wBAAtC,EAAAhM,GAAG,kCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,4BAA0B,C,oBAC7C,IAA+C,C,wBAA5C,EAAAhM,GAAG,wCAAD,K,QAGT,YAiBK,WAhBH,YAEiB,GAFDgM,KAAK,4BAA0B,C,oBAC7C,IAA+C,C,wBAA5C,EAAAhM,GAAG,wCAAD,K,MAEP,YAYK,MAXHhC,MAAK,aAAC,0BAAyB,YACV,EAAA6gB,8B,CAErB,YAOK,WANH,YAKiB,GAJf7S,KAAK,gCACJrG,UAAW,EAAAkZ,0B,qBAEZ,IAAqD,C,wBAAlD,EAAA7e,GAAG,8CAAD,K,6BAKb,YAiBK,WAhBH,YAEiB,GAFDgM,KAAK,0BAAwB,C,oBAC3C,IAA6C,C,wBAA1C,EAAAhM,GAAG,sCAAD,K,MAEP,YAYK,MAXHhC,MAAK,aAAC,0BAAyB,YACV,EAAA8gB,4B,CAErB,YAOK,WANH,YAKiB,GAJf9S,KAAK,8BACJrG,UAAW,EAAAmZ,wB,qBAEZ,IAAmD,C,wBAAhD,EAAA9e,GAAG,4CAAD,K,8DMxRZhC,MAAM,gB,IAELA,MAAM,gB,qCAgIPA,MAAM,gB,IAELA,MAAM,gB,UAYNA,MAAM,2B,IAuEJA,MAAM,2B,UAyCFA,MAAM,e,IA0BZA,MAAM,2B,sDAgEVA,MAAM,gB,IAGFA,MAAM,gB,IAEC2Q,IAAI,e,0OCpVrB1Q,IAAQC,IACN6gB,KAGF,IA6EeC,GA7EI,CACjBjgB,KADiB,WACT,WACN,MAAO,CACLkgB,mBAAoB,CAAC,QAAS,OAAQ,SAAS7b,KAAI,SAAA6L,GAAI,MAAK,CAC1DjI,IAAKiI,EACLtH,MAAOsH,EACPvL,MAAO,EAAK1D,GAAL,gCAA0C,UAATiP,EAAmB,WAAaA,QAE1EiQ,2BAA4B,CAAC,OAAQ,UAAU9b,KAAI,SAAA6L,GAAI,MAAK,CAC1DjI,IAAKiI,EACLtH,MAAOsH,EACPvL,MAAO,EAAK1D,GAAL,wCAAyCiP,QAElDkQ,sCAAuC,CAAC,QAAS,UAAU/b,KAAI,SAAA6L,GAAI,MAAK,CACtEjI,IAAKiI,EACLtH,MAAOsH,EACPvL,MAAO,EAAK1D,GAAL,qDAAsDiP,QAE/DmQ,0BAA2B,CAAC,QAAS,kBAAmB,QAAQhc,KAAI,SAAA6L,GAAI,MAAK,CAC3EjI,IAAKiI,EACLtH,MAAOsH,EACPvL,MAAO,EAAK1D,GAAL,wCAAyCiP,QAElDoQ,uBAAwB,CAAC,OAAQ,gBAAiB,YAAYjc,KAAI,SAAA6L,GAAI,MAAK,CACzEjI,IAAKiI,EACLtH,MAAOsH,EACPvL,MAAO,EAAK1D,GAAL,qCAAsCiP,QAE/CqQ,oBAEA/W,OAAOgX,yBAAyBC,iBAAiBC,UAAW,gBAE5DlX,OAAOgX,yBAAyBG,iBAAiBD,UAAW,gCAE5DlX,OAAOgX,yBAAyBG,iBAAiBD,UAAW,iBAGhE5d,WAAY,CACVmM,kBACAkB,iBACAC,kBACA8K,+BACAF,mBACAjO,wBAEF/J,S,mWAAU,EACR4d,YADQ,WAEN,OAAOrgB,KAAKqC,OAAOO,MAAM2H,SAAS8V,aAAe,IAEnDC,mBAJQ,WAIc,WACpB,OAAOtgB,KAAKqgB,YAAYvc,KAAI,SAAAyc,GAAM,MAAK,CACrC7Y,IAAK6Y,EACLlY,MAAOkY,EACPnc,MAAO,EAAK1D,GAAL,oCAAqC6f,EAArC,YAGXC,6BAXQ,WAW0B,OAAOxgB,KAAKqC,OAAOO,MAAM2H,SAASkW,2BACpEC,sBAZQ,WAaN,OAAO1gB,KAAKqC,OAAOO,MAAM2H,SAAS8P,aAC/Bra,KAAKqC,OAAOO,MAAMG,MAAMC,YAAY+Y,kBAEzC4E,wBAhBQ,WAgBqB,OAAO3gB,KAAKqC,OAAOO,MAAM2H,SAASqW,gBAC/DpG,SAAU,CACRxQ,IAAK,WAAc,OAAOhK,KAAKqC,OAAOuD,QAAQoI,aAAa6S,mBAC3D5S,IAAK,SAAU9I,GACbnF,KAAKqC,OAAOC,SAAS,YAAa,CAAE4L,KAAM,oBAAqB7F,MAAOlD,OAGvEwI,MAEL7N,QAAS,CACPghB,mBADO,SACazY,GAClBrI,KAAKqC,OAAOC,SAAS,sBAAuB,CAAE4L,KAAM,eAAgB7F,aClF3D,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,yRFJzD,YAsbM,OAtbAjE,MAAO,EAAA1D,GAAG,qB,CACd,YAiIM,MAjIN,GAiIM,CAhIJ,YAAuC,sBAAhC,EAAAA,GAAG,uBAAD,GACT,YA8HK,KA9HL,GA8HK,CA7HH,YAMK,WALH,YAIE,GAHCye,cAAa,EAAAze,GAAG,8BAChB8Z,SAAU,EAAAA,SACV4E,eAAcja,GAAO,EAAAqV,SAAWrV,G,oDAG3B,EAA4B,8B,cAAtC,YAIK,SAHH,YAEiB,GAFDuH,KAAK,WAAS,C,oBAC5B,IAA6B,C,wBAA1B,EAAAhM,GAAG,sBAAD,K,4BAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,gBAAc,C,oBACjC,IAAkC,C,wBAA/B,EAAAhM,GAAG,2BAAD,K,QAGC,EAAqB,uB,cAA/B,YAIK,SAHH,YAEiB,GAFDgM,KAAK,yBAAuB,C,oBAC1C,IAAmC,C,wBAAhC,EAAAhM,GAAG,4BAAD,K,4BAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,YAAU,C,oBAC7B,IAA8B,C,wBAA3B,EAAAhM,GAAG,uBAAD,K,QAGT,YAiBK,WAhBH,YAEiB,GAFDgM,KAAK,aAAW,C,oBAC9B,IAA8B,C,wBAA3B,EAAAhM,GAAG,uBAAD,K,MAEP,YAYK,MAXHhC,MAAK,aAAC,0BAAyB,YACV,EAAA0R,e,CAErB,YAOK,WANH,YAKiB,GAJf1D,KAAK,mBACJrG,UAAW,EAAA+J,W,qBAEZ,IAAuC,C,wBAApC,EAAA1P,GAAG,gCAAD,K,6BAKb,YAOK,WANH,YAKiB,GAJfgM,KAAK,kBACLW,OAAO,K,qBAEP,IAAoC,C,wBAAjC,EAAA3M,GAAG,6BAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,mBACLW,OAAO,K,qBAEP,IAAsC,C,wBAAnC,EAAA3M,GAAG,+BAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,wBAAsB,C,oBACzC,IAA2C,C,wBAAxC,EAAAhM,GAAG,oCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,kBAAgB,C,oBACnC,IAAoC,C,wBAAjC,EAAAhM,GAAG,6BAAD,K,QAGT,YASK,WAPK,EAAI,M,cADZ,YAOgB,G,MALdyC,GAAG,kBACHuJ,KAAK,kBACJoC,QAAS,EAAAiR,wB,qBAEV,IAAsC,C,wBAAnC,EAAArf,GAAG,+BAAD,K,0CAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,qBAAmB,C,oBACtC,IAAwC,C,wBAArC,EAAAhM,GAAG,iCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,sBAAoB,C,oBACvC,IAAyC,C,wBAAtC,EAAAhM,GAAG,kCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,sBAAoB,C,oBACvC,IAAyC,C,wBAAtC,EAAAhM,GAAG,kCAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,yBAAuB,C,oBAC1C,IAA+B,C,wBAA5B,EAAAhM,GAAG,wBAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,0BACLW,OAAO,K,qBAEP,IAA4C,C,wBAAzC,EAAA3M,GAAG,qCAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,6BACLW,OAAO,K,qBAEP,IAAkD,C,wBAA/C,EAAA3M,GAAG,2CAAD,K,QAGC,EAAuB,yB,cAAjC,YAOK,SANH,YAKiB,GAJfgM,KAAK,eACLW,OAAO,K,qBAEP,IAAkC,C,wBAA/B,EAAA3M,GAAG,2BAAD,K,gCAKb,YAoNM,MApNN,GAoNM,CAnNJ,YAA4C,sBAArC,EAAAA,GAAG,4BAAD,GACT,YAiNK,KAjNL,GAiNK,CAhNH,YAQK,WAPH,YAMgB,GALdyC,GAAG,sBACHuJ,KAAK,sBACJoC,QAAS,EAAA8Q,4B,qBAEV,IAAyC,C,wBAAtC,EAAAlf,GAAG,kCAAD,K,sBAIuB,WAAxB,EAAAqgB,qB,cADR,YAoCK,KApCL,GAoCK,CAhCH,YAIK,WAHH,YAEiB,GAFDrU,KAAK,4BAA0B,C,oBAC7C,IAAkC,C,wBAA/B,EAAAhM,GAAG,2BAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,gCACJW,OAAQ,G,qBAET,IAAwC,C,wBAArC,EAAA3M,GAAG,iCAAD,K,QAGT,YAQK,WAPH,YAMiB,GALfgM,KAAK,mBACJuC,IAAK,EACL5B,OAAQ,G,qBAET,IAAwC,C,wBAArC,EAAA3M,GAAG,iCAAD,K,QAGT,YASK,WARH,YAOgB,GANdyC,GAAG,iCACHuJ,KAAK,iCACJoC,QAAS,EAAA+Q,sCACTxS,OAAQ,G,qBAET,IAAsD,C,wBAAnD,EAAA3M,GAAG,+CAAD,K,4CAIX,YAIK,WAHH,YAEiB,GAFDgM,KAAK,8BAA4B,C,oBAC/C,IAAqC,C,wBAAlC,EAAAhM,GAAG,8BAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,2BACLW,OAAO,K,qBAEP,IAAgD,C,wBAA7C,EAAA3M,GAAG,yCAAD,K,QAGT,YAQK,WANK,EAAI,M,cADZ,YAMiB,G,MAJfgM,KAAK,8BACLW,OAAO,K,qBAEP,IAA6C,C,wBAA1C,EAAA3M,GAAG,sCAAD,K,4BAGT,YAAyC,sBAAlC,EAAAA,GAAG,yBAAD,GACT,YAOK,WANH,YAKiB,GAJfgM,KAAK,gBACLW,OAAO,K,qBAEP,IAAoC,C,wBAAjC,EAAA3M,GAAG,6BAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,YAAU,C,oBAC7B,IAAsC,C,wBAAnC,EAAAhM,GAAG,+BAAD,K,QAGT,YAmBK,KAnBL,GAmBK,CAlBH,YAQK,WAPH,YAMiB,GALfgM,KAAK,eACLW,OAAO,IACNhH,UAAW,EAAA2a,U,qBAEZ,IAAmC,C,wBAAhC,EAAAtgB,GAAG,4BAAD,K,uBAGT,YAQK,WAPH,YAMiB,GALfgM,KAAK,kBACLW,OAAO,IACNhH,UAAW,EAAA2a,U,qBAEZ,IAAuC,C,wBAApC,EAAAtgB,GAAG,gCAAD,K,yBAIX,YA2BK,WA1BH,YAKiB,GAJfgM,KAAK,YACLW,OAAO,K,qBAEP,IAA+B,C,wBAA5B,EAAA3M,GAAG,wBAAD,K,MAEP,YAmBK,MAlBHhC,MAAK,aAAC,0BAAyB,YACV,EAAA0R,e,CAErB,YAcK,WAbH,YAMiB,GALf1D,KAAK,sBACLW,OAAO,IACNhH,UAAW,EAAA4a,YAAc,EAAAjB,qB,qBAE1B,IAA2C,C,wBAAxC,EAAAtf,GAAG,oCAAD,K,qBAGE,EAAAsf,oB,kCADT,YAKM,MALN,GAKM,CADJ,YAAuB,GAAfvf,KAAK,U,YAAU,KAAE,YAAG,EAAAC,GAAG,kCAAD,S,KAKtC,YAOK,WANH,YAKiB,GAJfgM,KAAK,oBACLW,OAAO,K,qBAEP,IAAyC,C,wBAAtC,EAAA3M,GAAG,kCAAD,K,QAGT,YAA2C,sBAApC,EAAAA,GAAG,2BAAD,GACT,YAQK,WAPH,YAMgB,GALdyC,GAAG,qBACHuJ,KAAK,qBACJoC,QAAS,EAAAgR,2B,qBAEV,IAAyC,C,wBAAtC,EAAApf,GAAG,kCAAD,K,sBAGT,YAWK,KAXL,GAWK,CAR8B,UAAvB,EAAAwgB,oB,cAAV,YAOK,SANH,YAKiB,GAJfxU,KAAK,yBACLW,OAAO,K,qBAEP,IAA8C,C,wBAA3C,EAAA3M,GAAG,uCAAD,K,8BAIX,YAOK,WANH,YAKiB,GAJfgM,KAAK,YACLW,OAAO,K,qBAEP,IAAgC,C,wBAA7B,EAAA3M,GAAG,yBAAD,K,QAGT,YAIK,WAHH,YAEiB,GAFDgM,KAAK,yBAAuB,C,oBAC1C,IAA6C,C,wBAA1C,EAAAhM,GAAG,sCAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,wBACLW,OAAO,K,qBAEP,IAA6C,C,wBAA1C,EAAA3M,GAAG,sCAAD,K,QAGC,EAAI,M,cAAd,YAOK,SANH,YAKiB,GAJfgM,KAAK,uBACLW,OAAO,K,qBAEP,IAA4C,C,wBAAzC,EAAA3M,GAAG,qCAAD,K,4BAGC,EAAA4M,YAAc,G,cAAxB,YAEK,oBADA,EAAA5M,GAAG,iBAAD,I,mBAEP,YAOK,WANH,YAKiB,GAJfgM,KAAK,YACLW,OAAO,K,qBAEP,IAA8B,C,wBAA3B,EAAA3M,GAAG,uBAAD,K,QAGC,EAAI,M,cAAd,YAOK,SANH,YAKiB,GAJfgM,KAAK,sBACLW,OAAO,K,qBAEP,IAA8B,C,wBAA3B,EAAA3M,GAAG,uBAAD,K,gCAOL,EAAI,M,cADZ,YA4FM,MA5FN,GA4FM,CAxFJ,YAAuC,sBAAhC,EAAAA,GAAG,uBAAD,GACT,YAsFK,KAtFL,GAsFK,CArFH,YAWK,WAVH,YASQ,QATR,GASQ,C,wBARH,EAAAA,GAAG,yBAA0B,IAAC,eAA2C,GAArBgN,eAAa,IACpE,YAME,GALAhP,MAAM,iBACLyiB,YAAU,EACVC,eAAc,EAAAC,wBACdC,gBAAe,EAAAD,wBACfE,kBAAiB,EAAAT,oB,+DAIxB,YAKK,WAHH,YAEiB,GAFDpU,KAAK,sBAAoB,C,oBACvC,IAAyC,C,wBAAtC,EAAAhM,GAAG,kCAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,YACLW,OAAO,K,qBAEP,IAA+B,C,wBAA5B,EAAA3M,GAAG,wBAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,yBACLW,OAAO,K,qBAEP,IAA8C,C,wBAA3C,EAAA3M,GAAG,uCAAD,K,QAGT,YASK,WARH,YAOgB,GANdyC,GAAG,sBACHuJ,KAAK,sBACJoC,QAAS,EAAA6Q,mBACVtS,OAAO,K,qBAEP,IAA0C,C,wBAAvC,EAAA3M,GAAG,mCAAD,K,sBAGC,EAAA2f,YAAY7a,OAAS,G,cAA/B,YAQK,SAPH,YAMgB,GALdrC,GAAG,kBACHuJ,KAAK,kBACJoC,QAAS,EAAAwR,oB,qBAEV,IAA6C,C,wBAA1C,EAAA5f,GAAG,sCAAD,K,0CAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,oBACLW,OAAO,K,qBAEP,IAAwC,C,wBAArC,EAAA3M,GAAG,iCAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,0BACLW,OAAO,K,qBAEP,IAA4C,C,wBAAzC,EAAA3M,GAAG,qCAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,6BACLW,OAAO,K,qBAEP,IAAkD,C,wBAA/C,EAAA3M,GAAG,2CAAD,K,QAGT,YAOK,WANH,YAKiB,GAJfgM,KAAK,WACLW,OAAO,K,qBAEP,IAA8B,C,wBAA3B,EAAA3M,GAAG,uBAAD,K,kEGhbRhC,MAAM,gB,IACLA,MAAM,gB,IAGFA,MAAM,e,gBAWNA,MAAM,e,YChBb,ICsBQ8iB,GAlBI,CACjB/hB,KADiB,WAEf,IAAM8K,EAAWvK,KAAKqC,OAAOO,MAAM2H,SACnC,MAAO,CACLkX,eAAgBlX,EAASkX,eACzBC,gBAAiBnX,EAASmX,kBAG9Bjf,SAAU,CACRkf,oBADQ,WAEN,MAbqB,mDAaO3hB,KAAK0hB,iBAEnCE,mBAJQ,WAKN,MAfqB,gDDFEC,ECiBmB7hB,KAAKyhB,gBDf7CK,EAAUD,EAAcE,MADhB,aAEGD,EAAQ,GAAK,IAHH,IAAAD,EAErBC,KEIO,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2CHJzD,YA2BM,OA3BA1d,MAAO,EAAA1D,GAAG,2B,CACd,YAyBM,MAzBN,GAyBM,CAxBJ,YAuBK,KAvBL,GAuBK,CAtBH,YAUK,WATH,YAAmD,qBAA7C,EAAAA,GAAG,qCAAD,GACR,YAOK,KAPL,GAOK,CANH,YAKK,WAJH,YAGyB,KAFtBshB,KAAM,EAAAJ,mBACPxS,OAAO,U,YACL,EAAAqS,gBAAc,YAIxB,YAUK,WATH,YAAoD,qBAA9C,EAAA/gB,GAAG,sCAAD,GACR,YAOK,KAPL,GAOK,CANH,YAKK,WAJH,YAG0B,KAFvBshB,KAAM,EAAAL,oBACPvS,OAAO,U,YACL,EAAAsS,iBAAe,iB,oBIrB1BhjB,MAAM,a,IACJA,MAAM,qB,IACJA,MAAM,a,UAGPA,MAAM,iB,IAEDA,MAAM,iB,IAGNA,MAAM,W,IAuCRA,MAAM,O,IACJA,MAAM,W,IAGP2Q,IAAI,kBACJ3Q,MAAM,U,iBAqBLA,MAAM,iB,IAgBVA,MAAM,qB,IACHA,MAAM,e,IAKNA,MAAM,e,IAKNA,MAAM,e,IAKNA,MAAM,e,IAKNA,MAAM,e,iBAiBLA,MAAM,c,IAEJA,MAAM,sB,IAiBRA,MAAM,c,IAiCNA,MAAM,c,IAqBNA,MAAM,c,IAcNA,MAAM,c,iBAqBNA,MAAM,c,IAeNA,MAAM,c,IAuENA,MAAM,c,IAmBNA,MAAM,c,IAmCNA,MAAM,c,IAuBNA,MAAM,c,IAsBNA,MAAM,c,IAqHNA,MAAM,c,IAuBNA,MAAM,c,IAeNA,MAAM,c,IA0BNA,MAAM,c,IAeNA,MAAM,c,IASNA,MAAM,c,IAeNA,MAAM,c,IASNA,MAAM,c,IAuBNA,MAAM,c,IA6BNA,MAAM,c,IAuBNA,MAAM,c,IAuBNA,MAAM,c,iBAiENA,MAAM,c,iBAuFNA,MAAM,8B,IACJA,MAAM,oB,iBAiBNA,MAAM,Y,IAEP2Q,IAAI,WACJ3Q,MAAM,S,eAGA,IACR,YAAG,KAAM,K,GAQT,YAGE,SAFAA,MAAM,iBACN2Q,IAAI,Y,uBAqBN,YAAkC,YAA5B,yBAAqB,G,GAQ3B,YAAwB,YAAlB,eAAW,G,GACjB,YAA0B,YAApB,iBAAa,G,GACnB,YAAkB,YAAZ,SAAK,G,GAOX,YAAuB,YAAjB,cAAU,G,iBAUf3Q,MAAM,c,IA0CVA,MAAM,mB,uFCj/BRA,MAAM,2B,oEAoBPA,MAAM,wBAcC,QACb6D,WAAY,CACVC,cAEFxD,MAAO,CAELkP,KAAM,CACJ9O,UAAU,EACVF,KAAMI,QAGR8E,MAAO,CACLhF,UAAU,EACVF,KAAMI,QAIR2iB,WAAY,CACV7iB,UAAU,EACVF,KAAMI,OACNwB,aAASiM,GAGXmV,SAAU,CACR9iB,UAAU,EACVF,KAAMI,OACNwB,aAASiM,GAGX1G,SAAU,CACRjH,UAAU,EACVF,KAAM8P,QACNlO,SAAS,GAGXqhB,oBAAqB,CACnB/iB,UAAU,EACVF,KAAM8P,QACNlO,SAAS,IAGbshB,MAAO,CAAC,qBACR3f,SAAU,CACR4f,QADQ,WAEN,YAAkC,IAApBriB,KAAKiiB,YAErBK,WAJQ,WAKN,OAAOC,aAAQviB,KAAKiiB,YAAcjiB,KAAKkiB,WAEzCM,iBAPQ,WAQN,MAA2B,gBAApBxiB,KAAKiiB,YAEdQ,cAVQ,WAWN,OAAOziB,KAAKiiB,YAAcjiB,KAAKiiB,WAAW/U,WAAW,S,cC/F5C,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2EDPzD,YA6CM,OA5CJxO,MAAK,aAAC,4BAA2B,WACZ,EAAA2jB,SAAW,EAAAhc,a,CAEhC,YAKQ,SAJLgJ,IAAK,EAAAnB,KACNxP,MAAM,S,YAEH,EAAA0F,OAAK,WAGkB,IAAb,EAAA8d,UAA4B,EAAAC,qB,cAD3C,YAME,G,MAJC5Z,cAAa,EAAA8Z,QACbhc,SAAU,EAAAA,SACX3H,MAAM,MACL,sBAAiB,eAAE,EAAAoS,MAAM,yBAA2C,IAAf,EAAAmR,WAA6B,EAAAC,cAAWnV,K,uDAEhG,YA2BM,MA3BN,GA2BM,CA1BJ,YAOC,SANE5J,GAAI,EAAA+K,KAAO,KACZxP,MAAM,qBACNQ,KAAK,OACJmJ,MAAO,EAAA4Z,YAAc,EAAAC,SACrB7b,UAAW,EAAAgc,SAAW,EAAAhc,SACtB,QAAK,eAAE,EAAAyK,MAAM,oBAAqBwO,EAAOlQ,OAAO/G,S,YAG3C,EAAU,Y,cADlB,YAQC,S,MANElF,GAAI,EAAA+K,KACLxP,MAAM,uBACNQ,KAAK,QACJmJ,MAAO,EAAA4Z,YAAc,EAAAC,SACrB7b,UAAW,EAAAgc,SAAW,EAAAhc,SACtB,QAAK,eAAE,EAAAyK,MAAM,oBAAqBwO,EAAOlQ,OAAO/G,S,gCAG3C,EAAgB,kB,cADxB,YAGE,MAHF,K,mBAKQ,EAAa,e,cADrB,YAIE,O,MAFA3J,MAAM,oBACL+C,MAAK,6BAAoB,EAAAygB,Y,sLEOnB,QACbljB,MAAO,CACL,OAAQ,aAAc,WAAY,WAAY,QAAS,MAAO,MAAO,OAAQ,UAAW,WAE1FojB,MAAO,CAAC,qBACR3f,SAAU,CACR4f,QADQ,WAEN,YAAkC,IAApBriB,KAAKiiB,cClDV,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2CDJzD,YA6CM,OA5CJvjB,MAAK,aAAC,8BAA6B,WACd,EAAA2jB,SAAW,EAAAhc,a,CAEhC,YAKQ,SAJLgJ,IAAK,EAAAnB,KACNxP,MAAM,S,YAEH,EAAA0F,OAAK,WAGkB,IAAb,EAAA8d,U,cADf,YAOC,S,MALE/e,GAAI,EAAA+K,KAAO,KACZxP,MAAM,MACNQ,KAAK,WACJ+I,QAAS,EAAAoa,QACT,SAAM,eAAE,EAAAvR,MAAM,oBAAsB,EAAAuR,aAAqBtV,EAAX,EAAAmV,Y,qCAGrB,IAAb,EAAAA,U,cADf,YAIE,S,MAFAxjB,MAAM,QACL2Q,IAAK,EAAAnB,KAAO,M,+BAEf,YAUC,SATE/K,GAAI,EAAA+K,KACLxP,MAAM,eACNQ,KAAK,QACJmJ,MAAO,EAAA4Z,YAAc,EAAAC,SACrB7b,UAAW,EAAAgc,SAAW,EAAAhc,SACtBqc,IAAK,EAAAA,KAAO,EAAAC,SAAW,IACvB1T,IAAK,EAAAA,KAAO,EAAA2T,SAAW,EACvBtT,KAAM,EAAAA,MAAQ,EACd,QAAK,eAAE,EAAAwB,MAAM,oBAAqBwO,EAAOlQ,OAAO/G,S,YAEnD,YAUC,SATElF,GAAI,EAAA+K,KACLxP,MAAM,eACNQ,KAAK,SACJmJ,MAAO,EAAA4Z,YAAc,EAAAC,SACrB7b,UAAW,EAAAgc,SAAW,EAAAhc,SACtBqc,IAAK,EAAAC,QACL1T,IAAK,EAAA2T,QACLtT,KAAM,EAAAA,MAAQ,EACd,QAAK,eAAE,EAAAwB,MAAM,oBAAqBwO,EAAOlQ,OAAO/G,S,kEEVxC,QACb9F,WAAY,CACVC,cAEFxD,MAAO,CACL,OAAQ,aAAc,WAAY,YAEpCojB,MAAO,CAAC,qBACR3f,SAAU,CACR4f,QADQ,WAEN,YAAkC,IAApBriB,KAAKiiB,cCrCV,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2EDJzD,YA4BM,OA3BJvjB,MAAK,aAAC,gCAA+B,WAChB,EAAA2jB,SAAW,EAAAhc,a,CAEhC,YAKQ,SAJLgJ,IAAK,EAAAnB,KACNxP,MAAM,S,YAEH,EAAAgC,GAAG,kCAAD,WAGqB,IAAb,EAAAwhB,U,cADf,YAME,G,MAJC3Z,cAAa,EAAA8Z,QACbhc,SAAU,EAAAA,SACX3H,MAAM,MACL,sBAAiB,eAAE,EAAAoS,MAAM,oBAAsB,EAAAuR,aAAqBtV,EAAX,EAAAmV,Y,uDAE5D,YAUC,SATE/e,GAAI,EAAA+K,KACLxP,MAAM,eACNQ,KAAK,SACJmJ,MAAO,EAAA4Z,YAAc,EAAAC,SACrB7b,UAAW,EAAAgc,SAAW,EAAAhc,SACvBqc,IAAI,IACJzT,IAAI,IACJK,KAAK,MACJ,QAAK,eAAE,EAAAwB,MAAM,oBAAqBwO,EAAOlQ,OAAO/G,S,8BEtB9C3J,MAAM,4B,oCAWFA,MAAM,Q,oBAWRA,MAAM,kB,oCAgBJA,MAAM,Q,oBAaVA,MAAM,gB,iHAiEL2Q,IAAI,QACJ3Q,MAAM,S,mBAYR,YAGE,SAFAA,MAAM,iBACN2Q,IAAI,S,6BAQJA,IAAI,SACJ3Q,MAAM,S,oDA2BN2Q,IAAI,SACJ3Q,MAAM,S,mCAsCR,YAA2B,YAArB,kBAAc,G,qkBCtM5BC,IAAQC,IACNikB,IACAC,IACAhkB,KACAka,KAGF,IAAM+J,GAAU,eAACC,EAAD,uDAAU,GAAV,WACdC,EAAG,EACHC,EAAG,EACHC,KAAM,EACNC,OAAQ,EACRC,OAAO,EACPC,MAAO,UACPC,MAAO,GACJP,IAGU,IAKbhkB,MAAO,CACL,aAAc,WAAY,SAE5BojB,MAAO,CAAC,qBACR3iB,KATa,WAUX,MAAO,CACL+jB,WAAY,EAEZC,QAASzjB,KAAKiiB,YAAcjiB,KAAKkiB,UAAY,IAAIpe,IAAIif,MAGzDxgB,WAAY,CACVmhB,cACAC,gBACA9U,aAEF/O,QAAS,CACPlB,IADO,WAELoB,KAAKyjB,OAAOvb,KAAK6a,GAAQ/iB,KAAKuH,WAC9BvH,KAAKwjB,WAAaxjB,KAAKyjB,OAAOje,OAAS,GAEzCoe,IALO,WAML5jB,KAAKyjB,OAAOtb,OAAOnI,KAAKwjB,WAAY,GACpCxjB,KAAKwjB,WAAoC,IAAvBxjB,KAAKyjB,OAAOje,YAAeuH,EAAY8W,KAAKnB,IAAI1iB,KAAKwjB,WAAa,EAAG,IAEzFM,OATO,WAUL,IAAM9M,EAAUhX,KAAKyjB,OAAOtb,OAAOnI,KAAKwjB,WAAY,GAAG,GACvDxjB,KAAKyjB,OAAOtb,OAAOnI,KAAKwjB,WAAa,EAAG,EAAGxM,GAC3ChX,KAAKwjB,YAAc,GAErBO,OAdO,WAeL,IAAM/M,EAAUhX,KAAKyjB,OAAOtb,OAAOnI,KAAKwjB,WAAY,GAAG,GACvDxjB,KAAKyjB,OAAOtb,OAAOnI,KAAKwjB,WAAa,EAAG,EAAGxM,GAC3ChX,KAAKwjB,YAAc,IAGvBQ,aAzCa,WA0CXhkB,KAAKyjB,OAASzjB,KAAKiiB,YAAcjiB,KAAKkiB,UAExCzf,SAAU,CACRwhB,WADQ,WAEN,OAAOjkB,KAAKyjB,OAAOje,OAAS,GAE9B0e,mBAJQ,WAKN,OAAOlkB,KAAKkiB,SAAS1c,OAAS,GAEhC+B,SAPQ,WAQN,OAAIvH,KAAKyQ,OAASzQ,KAAKikB,WACdjkB,KAAKyjB,OAAOzjB,KAAKwjB,YAEjBT,GAAQ,KAGnBoB,gBAdQ,WAeN,OAAInkB,KAAKyQ,OAASzQ,KAAKkkB,mBACdlkB,KAAKkiB,SAASliB,KAAKwjB,YAEnBT,GAAQ,KAGnBqB,YArBQ,WAsBN,OAAOpkB,KAAKyQ,OAASzQ,KAAKwjB,WAAa,GAEzCa,YAxBQ,WAyBN,OAAOrkB,KAAKyQ,OAASzQ,KAAKwjB,WAAaxjB,KAAKyjB,OAAOje,OAAS,GAE9D6c,QA3BQ,WA4BN,OAAOriB,KAAKyQ,YAC8B,IAAjCzQ,KAAKyjB,OAAOzjB,KAAKwjB,cACvBxjB,KAAKskB,eAEVA,cAhCQ,WAiCN,YAAkC,IAApBtkB,KAAKiiB,YAErBsC,IAnCQ,WAoCN,OAAOhC,aAAQviB,KAAKuH,SAAS+b,QAE/B7hB,MAtCQ,WAuCN,OAAOzB,KAAKyQ,MAAQ,CAClB+T,UAAWC,aAAazkB,KAAKkiB,WAC3B,M,OC3GK,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,mLFNzD,YAqNM,OApNJxjB,MAAK,aAAC,iBAAgB,WACD,EAAA2jB,Y,CAErB,YAiDM,MAjDN,GAiDM,CAhDJ,YAoBM,OAnBHhc,UAAW,EAAAgc,QACZ3jB,MAAM,mB,aAEN,YAKC,S,qCAJU,EAAA6I,SAAU,KAClBlB,UAAW,EAAAgc,QACZ3jB,MAAM,eACNQ,KAAK,U,iBAHI,EAAAqI,SAAS2b,KAKpB,YASM,MATN,GASM,C,YARJ,YAOC,S,qCANU,EAAA3b,SAAU,KAClBlB,UAAW,EAAAgc,QACZ3jB,MAAM,cACNQ,KAAK,QACLwjB,IAAI,KACJzT,IAAI,O,iBALK,EAAA1H,SAAS2b,Q,MASxB,YAKM,MALN,GAKM,CAJJ,YAGE,OAFAxkB,MAAM,gBACL+C,MAAK,YAAE,EAAAA,Q,UAGZ,YAoBM,OAnBH4E,UAAW,EAAAgc,QACZ3jB,MAAM,mB,aAEN,YAKC,S,qCAJU,EAAA6I,SAAU,KAClBlB,UAAW,EAAAgc,QACZ3jB,MAAM,eACNQ,KAAK,U,iBAHI,EAAAqI,SAAS0b,KAKpB,YASM,MATN,GASM,C,YARJ,YAOC,S,qCANU,EAAA1b,SAAU,KAClBlB,UAAW,EAAAgc,QACZ3jB,MAAM,cACNQ,KAAK,QACLwjB,IAAI,KACJzT,IAAI,O,iBALK,EAAA1H,SAAS0b,Q,QAW1B,YA6JM,MA7JN,GA6JM,CA5JJ,YA0DM,OAzDH5c,SAAU,EAAAie,cACX5lB,MAAM,4B,CAEN,YAaS,GAZPyE,GAAG,kB,WACM,EAAAqgB,W,qCAAA,EAAU,cACnB9kB,MAAM,kBACL2H,UAAW,EAAAoK,OAAS,EAAA6T,e,qBAGnB,IAAiC,E,gBADnC,YAMS,qBALmB,EAAAb,OAAM,CAAxBiB,EAAQ1H,K,cADlB,YAMS,UAJNtV,IAAKsV,EACL3U,MAAO2U,G,YAEL,EAAAtc,GAAG,mCAAoC,CAAE2H,MAAO2U,KAAK,Q,0CAG5D,YASS,UARPte,MAAM,qBACL2H,UAAW,EAAAoK,QAAU,EAAA4R,QACrB,QAAK,oBAAE,EAAAuB,KAAA,EAAAA,OAAA,K,CAER,YAGE,GAFAe,cAAA,GACAlkB,KAAK,W,MAGT,YASS,UARP/B,MAAM,qBACL2H,UAAW,EAAA+d,YACX,QAAK,oBAAE,EAAAN,QAAA,EAAAA,UAAA,K,CAER,YAGE,GAFAa,cAAA,GACAlkB,KAAK,gB,MAGT,YASS,UARP/B,MAAM,qBACL2H,UAAW,EAAAge,YACX,QAAK,oBAAE,EAAAN,QAAA,EAAAA,UAAA,K,CAER,YAGE,GAFAY,cAAA,GACAlkB,KAAK,kB,MAGT,YASS,UARP/B,MAAM,qBACL2H,SAAU,EAAAie,cACV,QAAK,oBAAE,EAAA1lB,KAAA,EAAAA,OAAA,K,CAER,YAGE,GAFA+lB,cAAA,GACAlkB,KAAK,U,aAIX,YAsBM,OArBH4F,UAAW,EAAAgc,QACZ3jB,MAAM,+B,CAEN,YAKQ,QALR,GAKQ,YADH,EAAAgC,GAAG,iCAAD,G,YAEP,YAOC,SANCyC,GAAG,Q,qCACM,EAAAoE,SAAc,SACtBlB,UAAW,EAAAgc,QACZnU,KAAK,QACLxP,MAAM,cACNQ,KAAK,Y,iBAJI,EAAAqI,SAAS8b,SAMpB,I,MAKF,YA2BM,OA1BHhd,UAAW,EAAAgc,QACZ3jB,MAAM,8B,CAEN,YAKQ,QALR,GAKQ,YADH,EAAAgC,GAAG,gCAAD,G,YAEP,YASC,SARCyC,GAAG,O,uCACM,EAAAoE,SAAa,QACrBlB,UAAW,EAAAgc,QACZnU,KAAK,OACLxP,MAAM,cACNQ,KAAK,QACLwjB,IAAI,KACJzT,IAAI,K,iBANK,EAAA1H,SAAS4b,Q,YAQpB,YAMC,S,uCALU,EAAA5b,SAAa,QACrBlB,UAAW,EAAAgc,QACZ3jB,MAAM,eACNQ,KAAK,SACL+P,IAAI,K,iBAJK,EAAA1H,SAAS4b,S,MAOtB,YA0BM,OAzBH9c,UAAW,EAAAgc,QACZ3jB,MAAM,gC,CAEN,YAKQ,QALR,GAKQ,YADH,EAAAgC,GAAG,kCAAD,G,YAEP,YASC,SARCyC,GAAG,S,uCACM,EAAAoE,SAAe,UACvBlB,UAAW,EAAAgc,QACZnU,KAAK,SACLxP,MAAM,cACNQ,KAAK,QACLwjB,IAAI,KACJzT,IAAI,O,iBANK,EAAA1H,SAAS6b,U,YAQpB,YAKC,S,uCAJU,EAAA7b,SAAe,UACvBlB,UAAW,EAAAgc,QACZ3jB,MAAM,eACNQ,KAAK,U,iBAHI,EAAAqI,SAAS6b,W,MAMtB,YAOE,G,WANS,EAAA7b,SAAS+b,M,uCAAT,EAAA/b,SAAc,SACtBlB,UAAW,EAAAgc,QACXje,MAAO,EAAA1D,GAAG,+BACVwhB,SAAU,EAAAiC,gBAAgBb,MAC1BsB,yBAAuB,EACxB1W,KAAK,U,qDAEP,YAGE,G,WAFS,EAAA3G,SAASgc,M,uCAAT,EAAAhc,SAAc,SACtBlB,UAAW,EAAAgc,S,kCAEd,YAMS,GALPwC,MAAM,SACNC,QAAQ,gCACRC,IAAI,K,qBAEJ,IAA2B,CAA3B,K,+EG5LF,IACF,YAAG,KAAM,K,uBCrBE,QACbxiB,WAAY,CACVsM,aAEF7P,MAAO,CACL,OAAQ,QAAS,aAAc,WAAY,UAAW,cAExDojB,MAAO,CAAC,qBACR3iB,KARa,WASX,MAAO,CACLulB,OAAQhlB,KAAKiiB,WACbgD,iBAAkB,CAChBjlB,KAAKklB,UAAY,GAAK,UACtB,UAFgB,YAGZllB,KAAK8O,SAAW,IAHJ,CAIhB,QACA,YACA,eACAnK,QAAO,SAAAsa,GAAC,OAAIA,OAGlB+E,aArBa,WAsBXhkB,KAAKglB,OAAShlB,KAAKiiB,YAErBxf,SAAU,CACR4f,QADQ,WAEN,YAA8B,IAAhBriB,KAAKglB,QAErBG,OAJQ,WAKN,OAAOnlB,KAAKglB,QAAUhlB,KAAKkiB,UAAY,IAEzCkD,OAAQ,CACNpb,IADM,WAEJ,OAAOhK,KAAKmlB,OAAOC,QAErBnX,IAJM,SAID7E,GACH,KAAIpJ,KAAKglB,OAAQ,SAAU5b,GAC3BpJ,KAAK8Q,MAAM,oBAAqB9Q,KAAKglB,UAGzCK,SAhBQ,WAiBN,MAAuB,WAAhBrlB,KAAKslB,QAEdA,OAAQ,CACNtb,IADM,WAEJ,MAAoB,UAAhBhK,KAAKolB,QACW,eAAhBplB,KAAKolB,QACW,cAAhBplB,KAAKolB,QACW,YAAhBplB,KAAKolB,OACAplB,KAAKolB,OAEL,UAGXnX,IAXM,SAWD7E,GACHpJ,KAAKolB,OAAe,WAANhc,EAAiB,GAAKA,M,OCjD7B,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,yEFNzD,YA6CM,OA5CJ1K,MAAK,aAAC,6BAA4B,QAChB,EAAA2mB,a,CAElB,YAKQ,SAJLhW,IAAgB,WAAX,EAAAiW,OAAsB,EAAApX,KAAO,EAAAA,KAAO,iBAC1CxP,MAAM,S,YAEH,EAAA0F,OAAK,WAGkB,IAAb,EAAA8d,U,cADf,YAOC,S,MALE/e,GAAI,EAAA+K,KAAO,KACZxP,MAAM,uBACNQ,KAAK,WACJ+I,QAAS,EAAAoa,QACT,SAAM,eAAE,EAAAvR,MAAM,yBAA2C,IAAf,EAAAmR,WAA6B,EAAAC,cAAWnV,K,qCAGzD,IAAb,EAAAmV,U,cADf,YAIE,S,MAFAxjB,MAAM,QACL2Q,IAAK,EAAAnB,KAAO,M,kCAGf,YAaS,GAZN/K,GAAI,EAAA+K,KAAO,iB,WACH,EAAAoX,O,qCAAA,EAAM,UACdjf,UAAW,EAAAgc,QACZ3jB,MAAM,iB,qBAGJ,IAAkC,E,gBADpC,YAMS,qBALU,EAAAumB,iBAAVlW,I,cADT,YAMS,UAJNrH,IAAKqH,EACL1G,MAAO0G,G,YAEM,WAAXA,EAAsB,EAAArO,GAAG,+BAAiCqO,GAAM,Q,+CAI/D,EAAQ,S,2BADhB,YAMC,S,MAJE5L,GAAI,EAAA+K,K,qCACI,EAAM,UACfxP,MAAM,cACNQ,KAAK,Q,kBAFI,EAAAkmB,U,2CGvCX1mB,MAAM,kB,4FA0CVC,IAAQC,IACN2mB,IACAC,IACAC,MAGa,QACbzmB,MAAO,CACL0mB,MAAO,CACLtmB,UAAU,EACVF,KAAM8P,QACNlO,SAAS,GAIX6kB,SAAU,CACRvmB,UAAU,EACVF,KAAM+J,OACNnI,QAAS,iBAAO,MAGpB2B,SAAU,CACRmjB,KADQ,WAEN,IAAMC,EAAW7lB,KAAK2lB,SAASG,IAAM,MAAS9lB,KAAK2lB,SAASI,GAAK,KAAO,MAClEhI,EAAQ/d,KAAKU,GAAL,+CAAgDmlB,IACxDG,EAAUhmB,KAAKU,GAAG,+CAClBulB,EAAQjmB,KAAK2lB,SAASO,KAC5B,OAAOlmB,KAAKU,GAAG,sCAAuC,CAAEqd,QAAOiI,UAASC,WAE1EE,UARQ,WASN,IAAMN,EAAW7lB,KAAK2lB,SAASS,KAAO,MAASpmB,KAAK2lB,SAASU,IAAM,KAAO,MACpEtI,EAAQ/d,KAAKU,GAAL,+CAAgDmlB,IACxDG,EAAUhmB,KAAKU,GAAG,+CAClBulB,EAAQjmB,KAAK2lB,SAASO,KAC5B,OAAOlmB,KAAKU,GAAG,sCAAuC,CAAEqd,QAAOiI,UAASC,a,OCtE/D,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,2DDLjD,EAAQ,U,cADhB,YAiCO,OAjCP,GAiCO,CA7BL,YAaO,QAZJ5G,MAAO,EAAAuG,KACRlnB,MAAM,U,CAEM,EAAAinB,SAAY,K,cAAxB,YAEO,WADL,YAA2B,GAAnBllB,KAAK,iB,oBAEF,EAAAklB,SAASG,KAAO,EAAAH,SAASI,I,cAAtC,YAEO,WADL,YAAwB,GAAhBtlB,KAAK,c,mBAEF,EAAAklB,SAASG,KAAQ,EAAAH,SAASI,G,kCAAvC,YAEO,WADL,YAAsC,GAA9BtlB,KAAK,6B,MAIT,EAAAklB,UAAY,EAAAD,O,cADpB,YAcO,Q,MAZLhnB,MAAM,SACL2gB,MAAO,EAAA8G,W,CAEI,EAAAR,SAAa,M,cAAzB,YAEO,WADL,YAA2B,GAAnBllB,KAAK,iB,oBAEF,EAAAklB,SAASS,MAAQ,EAAAT,SAASU,K,cAAvC,YAEO,WADL,YAAwB,GAAhB5lB,KAAK,c,mBAEF,EAAAklB,SAASS,MAAS,EAAAT,SAASU,I,kCAAxC,YAEO,WADL,YAAsC,GAA9B5lB,KAAK,6B,8DE9Bd/B,MAAM,qB,GACT,YAAyC,OAApCA,MAAM,6BAA2B,S,IACjCA,MAAM,e,IACJA,MAAM,iB,IACJA,MAAM,S,GAET,YAEO,QAFDA,MAAM,4BAA2B,QAEvC,G,IAEIA,MAAM,S,IAGNA,MAAM,e,IAGJA,MAAM,sB,IAIXA,MAAM,oC,IACJA,MAAM,Q,GACT,YAEM,OAFDA,MAAM,sBAAqB,iBAEhC,G,IACKA,MAAM,W,IAMD+C,MAAA,uC,IAGHA,MAAA,uB,IAKA/C,MAAM,S,IA6BVA,MAAM,c,GACT,YAEM,OAFDA,MAAM,cAAa,SAExB,G,IACKA,MAAM,W,IAOJ+C,MAAA,4B,GAMT,YAAyB,OAApB/C,MAAM,aAAW,S,IAEhBA,MAAM,e,iBAQPA,MAAM,W,IACHA,MAAM,Y,GACV,YAIC,SAHCyE,GAAG,mBACH8E,QAAQ,WACR/I,KAAK,Y,aAEAmQ,IAAI,oB,IAEL3Q,MAAM,sBAkBxBC,IAAQC,IACNE,KACAwnB,KACAC,IACAC,KAGa,U,OCzHA,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,iGDNzD,YA8GM,MA9GN,GA8GM,CA7GJ,GACA,YA2GM,MA3GN,GA2GM,CA1GJ,YAgBM,MAhBN,GAgBM,CAfJ,YAKM,MALN,GAKM,C,wBAJD,EAAA9lB,GAAG,kCAAmC,IACzC,QAIF,YAEO,OAFP,GAEO,YADF,EAAAA,GAAG,wCAAD,GAEP,YAEO,OAFP,GAEO,YADF,EAAAA,GAAG,iCAAD,GAEP,YAES,SAFT,GAES,YADJ,EAAAA,GAAG,kCAAD,KAGT,YAwFM,MAxFN,GAwFM,CAvFJ,YA6CM,MA7CN,GA6CM,CA5CJ,GAGA,YAwCM,MAxCN,GAwCM,CAvCJ,YAEK,sBADA,EAAAA,GAAG,mCAAD,GAGP,YAOS,GAPDmkB,MAAM,SAASC,QAAQ,+B,qBAC7B,IAEO,CAFP,YAEO,OAFP,GAEO,YADF,EAAApkB,GAAG,gCAAD,GAEP,YAEI,IAFJ,GAEI,YADC,EAAAA,GAAG,gCAAD,K,MAIT,YAyBM,MAzBN,GAyBM,CAxBJ,YAKE,GAJAikB,cAAA,GACAljB,MAAA,uBACA/C,MAAM,8BACN+B,KAAK,UAEP,YAKE,GAJAkkB,cAAA,GACAljB,MAAA,wBACA/C,MAAM,8BACN+B,KAAK,YAEP,YAKE,GAJAkkB,cAAA,GACAljB,MAAA,yBACA/C,MAAM,8BACN+B,KAAK,SAEP,YAKE,GAJAkkB,cAAA,GACAljB,MAAA,sBACA/C,MAAM,8BACN+B,KAAK,gBAMb,YAgBM,MAhBN,GAgBM,CAfJ,GAGA,YAWM,MAXN,GAWM,CAVJ,YASS,GARPqkB,QAAQ,oCACRC,IAAI,OACJrmB,MAAM,QACNmmB,MAAM,U,qBAEN,IAEI,CAFJ,YAEI,IAFJ,GAEI,YADC,EAAAnkB,GAAG,sCAAD,K,UAKb,GAEA,YAEO,OAFP,GAEO,YADF,EAAAA,GAAG,iCAAD,GAEP,YAGC,SAFE2H,MAAO,EAAA3H,GAAG,gCACXxB,KAAK,Q,WAGP,YAYM,MAZN,GAYM,CAXJ,YAOO,OAPP,GAOO,CANL,GAKA,YAAiF,QAAjF,GAAiF,YAAhD,EAAAwB,GAAG,oCAAD,KAErC,YAES,SAFT,GAES,YADJ,EAAAA,GAAG,kCAAD,e,qkBEhEjB,IAAM+lB,GAAc,CAClB,KACA,KACA,OACA,OACA,OACA,SACA,QACA,WACA3iB,KAAI,SAAAmb,GAAC,OAAIA,EAAI,gBAUA,IACbxf,KADa,WACL,WACN,iBACEinB,cAAeC,aAAY,CACzBC,UAAW5mB,KAAK6mB,gBAChBC,SAAU9mB,KAAK8mB,SACfC,gBAAiB/mB,KAAK+mB,kBAExBC,cAAeC,aAAY,CACzBpmB,SAAU,gBACVqmB,kBAAmB,kBAAM,EAAKC,iBAEhCC,gBAAiB,GACjB7f,SAAU,GACV8f,cAAernB,KAAKqC,OAAOuD,QAAQoI,aAAasZ,MAChDC,kBAAcxa,EACdya,oBAAgBza,EAChB0a,cAAe,EAEfC,eAAgB,GAChBC,cAAe,GACfC,aAAc,GACdC,aAAc,GAEdC,gBAAgB,EAChBC,eAAe,EACfC,cAAc,EAEdC,WAAW,EACXC,aAAa,EACbC,aAAa,EACbC,eAAe,EACfC,WAAW,GAERpf,OAAOC,KAAKof,MACZxkB,KAAI,SAAA4D,GAAG,MAAI,CAACA,EAAK,OACjBoG,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYvC,EAAZ,eAAC,MAA0B4I,GAA3B,UAAkCrG,EAAM,aAAgBvC,MAAQ,KAEvE8D,OAAOC,KAAKqf,MACZzkB,KAAI,SAAA4D,GAAG,MAAI,CAACA,EAAK,OACjBoG,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYvC,EAAZ,eAAC,MAA0B4I,GAA3B,UAAkCrG,EAAM,eAAkBvC,MAAQ,KAtC9E,IAwCEqjB,oBAAgBzb,EAChB0b,aAAc,GACdC,WAAY,GAEZC,eAAgB,GAChBC,iBAAkB,GAClBC,oBAAqB,GACrBC,iBAAkB,GAClBC,kBAAmB,GACnBC,qBAAsB,GACtBC,sBAAuB,GACvBC,mBAAoB,GACpBC,uBAAwB,MAG5B/mB,QAzDa,WA0DX,IAAMgnB,EAAOppB,KAEbqpB,eACG/oB,MAAK,SAACgpB,GACL,OAAO9d,QAAQ+d,IACbtgB,OAAOugB,QAAQF,GACZxlB,KAAI,4BAAE2lB,EAAF,iBAAcnpB,MAAK,SAAAoR,GAAG,MAAI,CAAC+X,EAAG/X,aAGxCpR,MAAK,SAAAopB,GAAM,OAAIA,EAAO5b,QAAO,SAACC,EAAD,GAAiB,gBAAV0b,EAAU,KAAPrgB,EAAO,KAC7C,OAAIA,EACF,SACK2E,GADL,UAEG0b,EAAIrgB,IAGA2E,IAER,OACFzN,MAAK,SAACqpB,GACLP,EAAKhC,gBAAkBuC,MAG7B5V,QAjFa,WAkFX/T,KAAK4pB,iCAC8B,IAAxB5pB,KAAKwoB,iBACdxoB,KAAKwoB,eAAiBxoB,KAAK6pB,iBAAiB,KAGhDpnB,SAAU,CACRqnB,iBADQ,WAEN,GAAK9pB,KAAKunB,aAAV,CACA,IAAM/Q,EAAIxW,KAAKU,GACTqpB,EAAM,gCACZ,EAKI/pB,KAAKunB,aAJPyC,EADF,EACEA,OACAC,EAFF,EAEEA,mBACA/qB,EAHF,EAGEA,KACAgrB,EAJF,EAIEA,kBAEF,GAAe,SAAXF,EAAmB,CAErB,GAA2B,IAAvBC,GAAqC,kBAAT/qB,EAC9B,OAAOsX,EAAEuT,EAAM,eAEjB,GAAIE,EAAqBE,KACvB,OAAO3T,EAAEuT,EAAM,2BAA6B,IAGpCvT,EADJ0T,EACMH,EAAM,mBACNA,EAAM,oBAGlB,GAAIE,EAAqBE,KACvB,OAAO3T,EAAEuT,EAAM,2BAA6B,IAGpCvT,EADJ0T,EACMH,EAAM,mBACNA,EAAM,yBAGb,GAAe,iBAAXC,EAA2B,CACpC,GAAa,6BAAT9qB,EACF,OAAOsX,EAAEuT,EAAM,4BAGjB,GAA2B,IAAvBE,EACF,OAAOzT,EAAEuT,EAAM,oBAGjB,GAAIE,EAAqBE,KACvB,OAAO3T,EAAEuT,EAAM,iBAAmB,IAG1BvT,EADJ0T,EACMH,EAAM,wBACNA,EAAM,2BAIlB,GAAIE,EAAqBE,KACvB,OAAO3T,EAAEuT,EAAM,eAAiB,IAGxBvT,EADJ0T,EACMH,EAAM,wBACNA,EAAM,8BAKtBK,gBA5DQ,WA6DN,OAAO/iB,MAAMgjB,QAAQrqB,KAAKqnB,eAAiB,EAAI,GAEjDiD,cA/DQ,WA+DS,WACf,OAAOrhB,OAAOC,KAAKof,MAChBxkB,KAAI,SAAA4D,GAAG,MAAI,CAACA,EAAK,EAAKA,EAAM,kBAC5BoG,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYvC,EAAZ,eAAC,MAA0B4I,GAA3B,UAAkCrG,EAAOvC,MAAQ,KAE7DolB,eApEQ,WAoEU,WAChB,OAAOthB,OAAOC,KAAKqf,MAChBzkB,KAAI,SAAA4D,GAAG,MAAI,CAACA,EAAK,EAAKA,EAAM,oBAC5BoG,QAAO,SAACC,EAAD,mBAAOrG,EAAP,KAAYvC,EAAZ,eAAC,MAA0B4I,GAA3B,UAAkCrG,EAAOvC,MAAQ,KAE7DqlB,aAzEQ,WA0EN,MAAO,CACLC,IAAKzqB,KAAK2oB,eACVzoB,MAAOF,KAAK4oB,iBACZ8B,SAAU1qB,KAAK6oB,oBACf8B,MAAO3qB,KAAK8oB,iBACZtK,OAAQxe,KAAK+oB,kBACb6B,UAAW5qB,KAAKgpB,qBAChB6B,QAAS7qB,KAAKkpB,mBACd4B,WAAY9qB,KAAKipB,sBACjB8B,YAAa/qB,KAAKmpB,yBAGtB6B,QAtFQ,WAuFN,OAAOC,aAAcjrB,KAAK2nB,cAAe3nB,KAAK4nB,aAAc5nB,KAAK0nB,eAAgB1nB,KAAK6nB,eAExFqD,aAzFQ,WA0FN,OAAKlrB,KAAKgrB,QAAQ1D,MAAM6D,OACjBnrB,KAAKgrB,QAAQ1D,MADmB,CAAE6D,OAAQ,GAAIC,QAAS,GAAIC,MAAO,GAAIC,QAAS,GAAIC,MAAO,KAInGC,gBA9FQ,WA+FN,IACE,IAAKxrB,KAAKkrB,aAAaC,OAAOM,GAAI,MAAO,GACzC,IAAMN,EAASnrB,KAAKkrB,aAAaC,OAC3BC,EAAUprB,KAAKkrB,aAAaE,QAClC,IAAKD,EAAOM,GAAI,MAAO,GACvB,IASMC,EAAkBziB,OAAOugB,QAAQ2B,GAAQrd,QAAO,SAACC,EAAD,OA5MxCuV,EA4MwC,YAAO5b,EAAP,KAAYW,EAAZ,eAAC,MAA4B0F,GAA7B,UAAmCrG,GA5M3E4b,EA4M8Fjb,GA3MxG6E,WAAW,OAAmB,gBAAVoW,EACrBA,EAEAf,aAAQe,OAwM4G,IAEjHqI,EAAS1iB,OAAOugB,QAAQlB,MAAkBxa,QAAO,SAACC,EAAD,GAAuB,gBAAhBrG,EAAgB,KAAXW,EAAW,KACtEujB,EAAyB,SAARlkB,GAA0B,SAARA,EAIzC,KAHmBkkB,GACA,WAAjB,KAAOvjB,IAAgC,OAAVA,GAAkBA,EAAMwjB,WAEtC,OAAO9d,EACxB,MAA2B6d,EAAiB,CAAEE,MAAO,MAASzjB,EAAtDyjB,EAAR,EAAQA,MAAOC,EAAf,EAAeA,QACT1R,EAAa0R,GAAWD,EACxBE,EAAcC,aAAe5R,GAC7B6R,EAAa,CACjBxkB,GADc,YAEK,OAAf2S,EAAsB,CAAC,OAAQ,SAAU,QAAS,WAAa,KAG/D8R,EAASC,aACbN,EACAC,GAAWD,EACXE,EACAN,EACAN,GAGF,gBACKrd,GACAme,EAAWpe,QAAO,SAACC,EAAKse,GACzB,IAAMC,EAASV,EACX,KAAOS,EAAa,GAAGE,cAAgBF,EAAa/jB,MAAM,GAC1D+jB,EACJ,gBACKte,GADL,UAEGue,EAASE,aACRd,EAAgBW,GAChBF,EACAT,EAAgBW,QAGnB,OAEJ,IAEH,OAAOpjB,OAAOugB,QAAQmC,GAAQ7d,QAAO,SAACC,EAAD,GAAiB,IAnDvCkY,EAmDuC,YAAVwD,EAAU,KAAPrgB,EAAO,KAAqB,OAAnB2E,EAAI0b,GAnDlC,CACxBvD,MADaD,EAmDwD7c,GAlDzDqjB,YAAY,GAAK,KAE7B1G,GAAIE,GAAS,IACbH,IAAKG,GAAS,EAEdI,IAAKJ,GAAS,EACdG,KAAMH,GAAS,KA4CiElY,IAAO,IACzF,MAAOP,GACPc,QAAQoe,KAAK,8BAA+Blf,KAGhDmf,aA5JQ,WA6JN,OAAK3sB,KAAKgrB,QAAQ4B,MACX,eACF3jB,OAAO4jB,OAAO7sB,KAAKgrB,QAAQ4B,QADzB,CAEL,qBACA,kDACAzoB,KAAK,KALyB,IAOlC0lB,iBApKQ,WAqKN,OAAO5gB,OAAOC,KAAK4jB,MAAiBC,QAEtCC,uBAAwB,CACtBhjB,IADsB,WAEpB,QAAShK,KAAKitB,eAEhBhf,IAJsB,SAIjB9I,GACCA,EACFnF,KAAKyoB,aAAazoB,KAAKwoB,gBAAkBxoB,KAAKktB,sBAAsBppB,KAAI,SAAAmb,GAAC,OAAIhW,OAAOkkB,OAAO,GAAIlO,aAExFjf,KAAKyoB,aAAazoB,KAAKwoB,kBAIpC0E,sBAnLQ,WAoLN,OAAQltB,KAAKkrB,aAAaI,SAAW,IAAItrB,KAAKwoB,iBAEhDyE,cAAe,CACbjjB,IADa,WAEX,OAAOhK,KAAKyoB,aAAazoB,KAAKwoB,iBAEhCva,IAJa,SAIR7E,GACHpJ,KAAKyoB,aAAazoB,KAAKwoB,gBAAkBpf,IAG7CgkB,WA9LQ,WA+LN,OAAQptB,KAAK8nB,iBAAmB9nB,KAAK+nB,gBAAkB/nB,KAAKgoB,cAE9Db,cAjMQ,WAkMN,IAAMkG,IACHrtB,KAAKqoB,WACLroB,KAAKkoB,aACLloB,KAAKmoB,aACLnoB,KAAKooB,eACLpoB,KAAKioB,WAGFqF,EAAS,CACbrD,mBAAoBE,MAwBtB,OArBInqB,KAAKqoB,WAAagF,KACpBC,EAAO/B,MAAQvrB,KAAK0oB,aAElB1oB,KAAKkoB,aAAemF,KACtBC,EAAOhC,QAAUtrB,KAAKyoB,eAEpBzoB,KAAKmoB,aAAekF,KACtBC,EAAOlC,QAAUprB,KAAKuqB,iBAEpBvqB,KAAKioB,WAAaoF,KACpBC,EAAOnC,OAASnrB,KAAKsqB,gBAEnBtqB,KAAKooB,eAAiBiF,KACxBC,EAAOjC,MAAQrrB,KAAKwqB,cAQf,CAEL+C,uBAAwB,EAAGjG,MAPf,IACZ2C,mBAAoBE,MACjBnqB,KAAKkrB,cAK0BoC,WAGtCE,SAxOQ,WAyON,IAAMC,EAAcztB,KAAK8M,QACzB,QAAO2gB,GAAcA,EAAYD,SAAS,WAG9CjrB,WAAY,CACVmhB,cACAC,gBACA+J,cACAC,iBACAC,iBACAC,eACAzjB,gBACA0jB,WACAtrB,aACAqM,aAEF/O,QAAS,CACPiuB,UADO,WAOL/D,GAEA,IANE1C,EAMF,EANEA,MACAgG,EAKF,EALEA,OACwBU,EAI1B,EAJET,uBAGFU,EACA,wDAEA,GADAjuB,KAAKkuB,kBACAZ,IAAWhG,EACd,MAAM,IAAI3jB,MAAM,2BAElB,IAAMwqB,EAAsB,iBAAXnE,GAA8B1C,EAAM6D,OAEjD6C,EADA,KAEEI,GAAyB9G,GAAS,IAAI2C,mBACtCA,GAAsBqD,GAAU,IAAIrD,oBAAsB,EAC1DoE,EAAgBpE,IAAuBE,KACvCmE,OACMvhB,IAAVua,QACava,IAAXugB,GACArD,IAAuBmE,EAIrBG,EAAoBjB,GAAUW,IAAoB3G,EAClD+G,IAAkBC,GACnBC,GACW,OAAZJ,GACW,aAAXnE,IAEEsE,GAAqC,iBAAXtE,EAC5BhqB,KAAKunB,aAAe,CAClByC,SACAC,qBACA/qB,KAAM,4BAEEooB,EAOA+G,IACVruB,KAAKunB,aAAe,CAClByC,SACAE,mBAAoBoD,EACpBrD,qBACA/qB,KAAM,kBAXRc,KAAKunB,aAAe,CAClByC,SACAE,mBAAmB,EACnBD,qBACA/qB,KAAM,4BAWZc,KAAKwuB,oBAAoBlH,EAAO6G,EAASb,EAAQiB,IAEnDE,sBAzDO,WA0DLzuB,KAAK4pB,2BAA0B,IAEjCsE,eA5DO,WA6DLluB,KAAKunB,kBAAexa,EACpB/M,KAAKwnB,oBAAiBza,GAExB2hB,UAhEO,WAkEL,OADmB1uB,KAAKunB,aAAhByC,QAEN,IAAK,eACHhqB,KAAK4pB,2BAA0B,GAC/B,MACF,IAAK,OACH5pB,KAAK8mB,SAAS9mB,KAAKwnB,gBAAgB,GAGvCxnB,KAAKkuB,kBAEPS,cA5EO,WA8EL,OADmB3uB,KAAKunB,aAAhByC,QAEN,IAAK,eACHhqB,KAAK4pB,2BAA0B,GAAO,GACtC,MACF,IAAK,OACHtb,QAAQ3O,MAAM,mDAGlBK,KAAKkuB,kBAEPtE,0BAxFO,WAwFsE,IAAlDgF,EAAkD,wDAAvBD,EAAuB,wDAC3E,EAGI3uB,KAAKqC,OAAOuD,QAAQoI,aAFTsZ,EADf,EACEuH,YACmBvB,EAFrB,EAEEwB,kBAEGxH,GAAUgG,EAQbttB,KAAK+tB,UACH,CACEzG,QACAgG,OAAQqB,EAAgBrH,EAAQgG,GAElC,eACAsB,GAZF5uB,KAAK+tB,UACH/tB,KAAKqC,OAAOO,MAAM2H,SAASwkB,UAC3B,WACAH,IAaNI,eA/GO,WAgHLhvB,KAAKqC,OAAOC,SAAS,YAAa,CAChC4L,KAAM,cACN7F,MAAO,IACL4hB,mBAAoBE,MACjBnqB,KAAKkrB,gBAGZlrB,KAAKqC,OAAOC,SAAS,YAAa,CAChC4L,KAAM,oBACN7F,MAAO,CACL4hB,mBAAoBE,KACpBmB,QAAStrB,KAAKyoB,aACd8C,MAAOvrB,KAAK0oB,WACZ0C,QAASprB,KAAKuqB,eACdY,OAAQnrB,KAAKsqB,cACbe,MAAOrrB,KAAKwqB,iBAIlByE,8BAnIO,WAoILjvB,KAAK2nB,cAAgBuH,aAAe,CAClC9D,QAASprB,KAAKuqB,eACdY,OAAQnrB,KAAKsqB,gBAEftqB,KAAK0nB,eAAiByH,aACpB,CAAE7D,QAAStrB,KAAKyoB,aAAc2C,QAASprB,KAAKkrB,aAAaE,QAASnB,mBAAoBjqB,KAAKynB,eAC3FznB,KAAK2nB,cAAcL,MAAM6D,OACzBnrB,KAAK2nB,cAAcyH,MAGvBC,YA9IO,WA8IUrvB,KAAK0mB,cAAc4I,cACpCC,YA/IO,WA+IUvvB,KAAKgnB,cAAcwI,cACpC1I,SAhJO,SAgJG2I,GAA6B,IAArBC,EAAqB,wDACrC1vB,KAAKwnB,eAAiBiI,EACtBzvB,KAAK+tB,UAAU0B,EAAQ,OAAQC,IAEjC3I,gBApJO,SAoJUjT,GACf9T,KAAKqC,OAAOC,SAAS,mBAAoB,CAAEmb,WAAY,kCAAmCM,MAAO,WAEnG8I,gBAvJO,SAuJU4I,GACf,IAAMtB,EAAUsB,EAAOlC,uBACvB,OAAOY,GAAW,GAAKA,GAAW,GAEpCwB,SA3JO,WA4JL3vB,KAAK4pB,6BAIPgG,QAhKO,WAgKI,WACT3mB,OAAOC,KAAKlJ,KAAK6vB,OACdlrB,QAAO,SAAAsa,GAAC,OAAIA,EAAE6Q,SAAS,eAAiB7Q,EAAE6Q,SAAS,mBACnDnrB,QAAO,SAAAsa,GAAC,OAAKwH,GAAY3f,SAASmY,MAClC8Q,SAAQ,SAAAroB,GACP,EAAKmoB,MAAMnoB,QAAOqF,MAIxBijB,eAzKO,WAyKW,WAChB/mB,OAAOC,KAAKlJ,KAAK6vB,OACdlrB,QAAO,SAAAsa,GAAC,OAAIA,EAAE6Q,SAAS,kBACvBC,SAAQ,SAAAroB,GACP,EAAKmoB,MAAMnoB,QAAOqF,MAIxBkjB,aAjLO,WAiLS,WACdhnB,OAAOC,KAAKlJ,KAAK6vB,OACdlrB,QAAO,SAAAsa,GAAC,OAAIA,EAAE6Q,SAAS,mBACvBC,SAAQ,SAAAroB,GACP,EAAKmoB,MAAMnoB,QAAOqF,MAIxBmjB,aAzLO,WA0LLlwB,KAAKyoB,aAAe,IAGtB0H,WA7LO,WA8LLnwB,KAAK0oB,WAAa,IAgBpB8F,oBA9MO,SA8MclH,GAAiD,IAChEpnB,EADgE,OAA1CiuB,EAA0C,uDAAhC,EAAGb,EAA6B,uCAArBoC,EAAqB,6DAE9C,IAAXpC,IACLoC,GAAepC,EAAOrD,qBAAuBE,OAC/CjqB,EAAQotB,EACRa,EAAUb,EAAOrD,oBAKnB/pB,EAAQonB,EAGV,IAAM+D,EAAQnrB,EAAMmrB,OAASnrB,EACvBkrB,EAAUlrB,EAAMkrB,QAChBE,EAAUprB,EAAMorB,SAAW,GAC3BC,EAAQrrB,EAAMqrB,OAAS,GACvBJ,EAAUjrB,EAAM+pB,mBAElB/pB,EAAMirB,QAAUjrB,EADhBkwB,aAAWlwB,EAAMirB,QAAUjrB,GAuB/B,GApBgB,IAAZiuB,IACEjuB,EAAMiuB,UAASA,EAAUjuB,EAAMiuB,cAER,IAAhBhD,EAAOjF,WAA6C,IAAdiF,EAAOkF,KACtDlC,EAAU,QAGe,IAAhBhD,EAAOjF,WAA6C,IAAdiF,EAAOkF,KACtDlC,EAAU,IAIdnuB,KAAKynB,cAAgB0G,EAGL,IAAZA,IACFnuB,KAAKswB,aAAeC,aAAQpF,EAAOV,KACnCzqB,KAAKwwB,eAAiBD,aAAQpF,EAAOkF,MAGlCrwB,KAAKioB,UAAW,CACnBjoB,KAAK4vB,UACL,IAAM1mB,EAAO,IAAIunB,IAAgB,IAAZtC,EAAgBllB,OAAOC,KAAKof,MAAoB,IACrD,IAAZ6F,GAA6B,OAAZA,GACnBjlB,EACGtK,IAAI,MACJA,IAAI,QACJA,IAAI,QACJA,IAAI,SACJA,IAAI,UACJA,IAAI,WAGTsK,EAAK6mB,SAAQ,SAAAroB,GACX,IAAM4b,EAAQ6H,EAAOzjB,GACfgpB,EAAMH,aAAQpF,EAAOzjB,IAC3B,EAAKA,EAAM,cAAwB,QAARgpB,EAAgBpN,EAAQoN,KAInDtF,IAAYprB,KAAKmoB,cACnBnoB,KAAKiwB,eACLhnB,OAAOugB,QAAQ4B,GAAS2E,SAAQ,YAAY,gBAAVtG,EAAU,KAAPrgB,EAAO,KACtC,MAAOA,GAAmC8F,OAAOyhB,MAAMvnB,KAC3D,EAAKqgB,EAAI,gBAAkBrgB,OAI1BpJ,KAAKooB,gBACRpoB,KAAKgwB,iBACL/mB,OAAOugB,QAAQ6B,GAAO0E,SAAQ,YAAY,gBAAVtG,EAAU,KAAPrgB,EAAO,KAElC1B,EAAM+hB,EAAEqG,SAAS,UAAYrG,EAAE9c,MAAM,UAAU,GAAK8c,EAC1D,EAAK/hB,EAAM,eAAiB0B,MAI3BpJ,KAAKkoB,cACRloB,KAAKkwB,eAEHlwB,KAAKyoB,aADS,IAAZ0F,EACkByC,aAAYtF,EAAStrB,KAAKkrB,aAAaE,SAEvCE,EAEtBtrB,KAAKwoB,eAAiBxoB,KAAK6pB,iBAAiB,IAGzC7pB,KAAKqoB,YACRroB,KAAKmwB,aACLnwB,KAAK0oB,WAAa6C,KAIxBrmB,MAAO,CACLslB,aADK,WAEH,IACExqB,KAAK4nB,aAAeiJ,aAAc,CAAExF,MAAOrrB,KAAKwqB,eAChDxqB,KAAKgoB,cAAe,EACpB,MAAOxa,GACPxN,KAAKgoB,cAAe,EACpB1Z,QAAQoe,KAAKlf,KAGjBib,aAAc,CACZxY,QADY,WAEV,GAA8D,IAA1DhH,OAAO6nB,oBAAoB9wB,KAAK2nB,eAAeniB,OACnD,IACExF,KAAKivB,gCACLjvB,KAAK8nB,gBAAiB,EACtB,MAAOta,GACPxN,KAAK8nB,gBAAiB,EACtBxZ,QAAQoe,KAAKlf,KAGjB0C,MAAM,GAERwY,WAAY,CACVzY,QADU,WAER,IACEjQ,KAAK6nB,aAAekJ,aAAc,CAAExF,MAAOvrB,KAAK0oB,aAChD1oB,KAAKgxB,cAAe,EACpB,MAAOxjB,GACPxN,KAAKgxB,cAAe,EACpB1iB,QAAQoe,KAAKlf,KAGjB0C,MAAM,GAERoa,cAnCK,WAoCH,IACEtqB,KAAKivB,gCACLjvB,KAAK+nB,eAAgB,EACrB/nB,KAAK8nB,gBAAiB,EACtB,MAAOta,GACPxN,KAAK+nB,eAAgB,EACrB/nB,KAAK8nB,gBAAiB,EACtBxZ,QAAQoe,KAAKlf,KAGjB+c,eA9CK,WA+CH,IACEvqB,KAAKivB,gCACL,MAAOzhB,GACPc,QAAQoe,KAAKlf,KAGjBjG,SArDK,WAqDO,WACVvH,KAAKqnB,cAAgBpe,OAAOugB,QAAQxpB,KAAKonB,iBAAiB6J,MAAK,YAAY,gBAAPC,GAAO,WACzE,OAAI7pB,MAAMgjB,QAAQ6G,IAChB5iB,QAAQ6iB,IAAID,EAAE,KAAO,EAAK3pB,SAAU,EAAKA,UAClC2pB,EAAE,KAAO,EAAK3pB,UAEd2pB,EAAEhjB,OAAS,EAAK3G,YAExB,IAEL8f,cA/DK,WAgEHrnB,KAAKkuB,iBACwB,IAAzBluB,KAAKoqB,iBACFpqB,KAAKooB,eACRpoB,KAAKgwB,iBAGFhwB,KAAKkoB,aACRloB,KAAKkwB,eAGFlwB,KAAKmoB,aACRnoB,KAAKiwB,eAGFjwB,KAAKioB,YACRjoB,KAAK4vB,UAEL5vB,KAAKoxB,aAAepxB,KAAKqnB,cAAc,GACvCrnB,KAAKswB,aAAetwB,KAAKqnB,cAAc,GACvCrnB,KAAKwwB,eAAiBxwB,KAAKqnB,cAAc,GACzCrnB,KAAKqxB,eAAiBrxB,KAAKqnB,cAAc,GACzCrnB,KAAKsxB,eAAiBtxB,KAAKqnB,cAAc,GACzCrnB,KAAKuxB,iBAAmBvxB,KAAKqnB,cAAc,GAC3CrnB,KAAKwxB,gBAAkBxxB,KAAKqnB,cAAc,GAC1CrnB,KAAKyxB,kBAAoBzxB,KAAKqnB,cAAc,KAErCrnB,KAAKoqB,iBAAmB,GACjCpqB,KAAKwuB,oBAAoBxuB,KAAKqnB,cAAcC,MAAO,EAAGtnB,KAAKqnB,cAAciG,W,OC3wBlE,OAFkB,IAAgB,GAAQ,CAAC,CAAC,S,mWlBNzD,YAkhCM,MAlhCN,GAkhCM,CAjhCJ,YAsHM,MAtHN,GAsHM,CArHJ,YAwFM,MAxFN,GAwFM,CAtFI,EAAY,c,cADpB,YA6CM,MA7CN,GA6CM,CAzCJ,YAEM,MAFN,GAEM,YADD,EAAAxD,kBAAgB,GAErB,YAqCM,MArCN,GAqCM,CApCkC,6BAAtB,EAAAvC,aAAaroB,M,cAA7B,YAaW,aAZT,YAKS,UAJPR,MAAM,qBACL,QAAK,oBAAE,EAAAgwB,WAAA,EAAAA,aAAA,K,YAEL,EAAAhuB,GAAG,uCAAD,GAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAAiwB,eAAA,EAAAA,iBAAA,K,YAEL,EAAAjuB,GAAG,yCAAD,I,KAGY,EAAA6mB,aAA8B,mB,cACjD,YAKS,U,MAJP7oB,MAAM,qBACL,QAAK,oBAAE,EAAAwvB,gBAAA,EAAAA,kBAAA,K,YAEL,EAAAxtB,GAAG,oBAAD,K,cAGT,YAaW,aAZT,YAKS,UAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAAgwB,WAAA,EAAAA,aAAA,K,YAEL,EAAAhuB,GAAG,uCAAD,GAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAAwvB,gBAAA,EAAAA,kBAAA,K,YAEL,EAAAxtB,GAAG,uCAAD,I,6BAKb,YAwCM,MAxCN,GAwCM,CAvCJ,YAwBM,MAxBN,GAwBM,C,wBAvBD,EAAAA,GAAG,qBAAsB,IAC5B,eAqBQ,QArBR,GAqBQ,CAjBN,YAgBS,GAfPyC,GAAG,kB,WACM,EAAAoE,S,qCAAA,EAAQ,YACjB7I,MAAM,mB,qBAGJ,IAAgC,E,gBADlC,YAUS,qBATS,EAAA0oB,gBAAT3lB,I,cADT,YAUS,UARNiG,IAAKjG,EAAMyM,KACX7F,MAAO5G,EAAMyM,MAAQzM,EAAM,GAC3BA,MAAK,a,gBAAyC,EAAK,KAAQ,EAAM,OAAS,EAAM,QAAQ,OAAO,G,MAA+B,EAAK,KAAQ,EAAM,OAAS,EAAM,QAAQ,OAAO,Q,YAK7KA,EAAM,IAAMA,EAAMyM,MAAI,S,mCAKjC,YAaM,MAbN,GAaM,CAZJ,YAKS,UAJPxP,MAAM,qBACL,QAAK,oBAAE,EAAA2wB,aAAA,EAAAA,eAAA,K,YAEL,EAAA3uB,GAAG,0BAAD,GAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,oBAAE,EAAA6wB,aAAA,EAAAA,eAAA,K,YAEL,EAAA7uB,GAAG,0BAAD,SAKb,YA2BM,MA3BN,GA2BM,CA1BJ,YAIO,OAJP,GAIO,CAHL,YAEW,G,WAFQ,EAAAunB,U,qCAAA,EAAS,c,qBAC1B,IAA8C,C,wBAA3C,EAAAvnB,GAAG,uCAAD,K,yBAGT,YAIO,OAJP,GAIO,CAHL,YAEW,G,WAFQ,EAAAwnB,Y,qCAAA,EAAW,gB,qBAC5B,IAAgD,C,wBAA7C,EAAAxnB,GAAG,yCAAD,K,yBAGT,YAIO,OAJP,GAIO,CAHL,YAEW,G,WAFQ,EAAAynB,Y,uCAAA,EAAW,gB,qBAC5B,IAAgD,C,wBAA7C,EAAAznB,GAAG,yCAAD,K,yBAGT,YAIO,OAJP,GAIO,CAHL,YAEW,G,WAFQ,EAAA0nB,c,uCAAA,EAAa,kB,qBAC9B,IAAkD,C,wBAA/C,EAAA1nB,GAAG,2CAAD,K,yBAGT,YAIO,OAJP,GAIO,CAHL,YAEW,G,WAFQ,EAAA2nB,U,uCAAA,EAAS,c,qBAC1B,IAA8C,C,wBAA3C,EAAA3nB,GAAG,uCAAD,K,yBAGT,YAAyD,qBAAnD,EAAAA,GAAG,2CAAD,OAIZ,YAAiC,GAAvBe,MAAK,YAAE,EAAAkrB,e,iCAEjB,YAi4Ba,UAh4BX,YA+3Be,GA/3BDjlB,IAAI,eAAa,C,oBAC7B,IA0GM,CA1GN,YA0GM,OAzGHtD,MAAO,EAAA1D,GAAG,2CACXhC,MAAM,mB,CAEN,YAgBM,MAhBN,GAgBM,CAfJ,YAAsC,qBAAhC,EAAAgC,GAAG,wBAAD,GACR,YAaM,MAbN,GAaM,CAZJ,YAKS,UAJPhC,MAAM,qBACL,QAAK,sBAAE,EAAAuxB,cAAA,EAAAA,gBAAA,K,YAEL,EAAAvvB,GAAG,0CAAD,GAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,sBAAE,EAAAkxB,SAAA,EAAAA,WAAA,K,YAEL,EAAAlvB,GAAG,sCAAD,OAIX,YAA2C,qBAArC,EAAAA,GAAG,6BAAD,GACR,YAAsD,sBAA/C,EAAAA,GAAG,sCAAD,GACT,YAgCM,MAhCN,GAgCM,CA/BJ,YAIE,G,WAHS,EAAA0wB,a,uCAAA,EAAY,gBACrBljB,KAAK,UACJ9J,MAAO,EAAA1D,GAAG,wB,+BAEb,YAIE,G,WAHS,EAAAgxB,e,uCAAA,EAAc,kBACvBxjB,KAAK,YACJgU,SAAU,EAAAgJ,aAAaE,QAAQK,I,kCAElC,YAIE,G,WAHS,EAAA+E,e,uCAAA,EAAc,kBACvBtiB,KAAK,YACJ9J,MAAO,EAAA1D,GAAG,kB,+BAEb,YAAoD,GAApCilB,SAAU,EAAA6F,gBAAgBmG,Q,qBAC1C,YAME,G,WALS,EAAAC,iB,uCAAA,EAAgB,oBACzB1jB,KAAK,cACJgU,SAAU,EAAAgJ,aAAaC,OAAO0G,KAC9BztB,MAAO,EAAA1D,GAAG,mBACVkkB,6BAAiD,IAAnB,EAAAyM,gB,kEAEjC,YAME,G,WALS,EAAAA,e,uCAAA,EAAc,kBACvBnjB,KAAK,YACJgU,SAAU,EAAAgJ,aAAaC,OAAO2G,OAC9B1tB,MAAO,EAAA1D,GAAG,kBACVkkB,6BAAmD,IAArB,EAAAgN,kB,kEAEjC,YAAoD,GAApCjM,SAAU,EAAA6F,gBAAgBuG,Q,uBAE5C,YAmBM,MAnBN,GAmBM,CAlBJ,YAIE,G,WAHS,EAAAzB,a,uCAAA,EAAY,gBACrBpiB,KAAK,UACJ9J,MAAO,EAAA1D,GAAG,wB,+BAEb,YAKE,G,WAJS,EAAAsxB,iB,uCAAA,EAAgB,oBACzB9jB,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO8G,Q,0CAEjC,YAKE,G,WAJS,EAAAC,iB,uCAAA,EAAgB,oBACzBhkB,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,kBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOgH,Q,0CAEjC,YAA+D,qBAAzD,EAAAzxB,GAAG,iDAAD,KAEV,YAAsD,sBAA/C,EAAAA,GAAG,sCAAD,GACT,YAaM,MAbN,GAaM,CAZJ,YAIE,G,WAHS,EAAA4wB,e,uCAAA,EAAc,kBACvBpjB,KAAK,YACJ9J,MAAO,EAAA1D,GAAG,kB,+BAEb,YAAoD,GAApCilB,SAAU,EAAA6F,gBAAgB4G,Q,qBAC1C,YAIE,G,WAHS,EAAAZ,gB,uCAAA,EAAe,mBACxBtjB,KAAK,aACJ9J,MAAO,EAAA1D,GAAG,mB,+BAEb,YAAqD,GAArCilB,SAAU,EAAA6F,gBAAgB6G,S,uBAE5C,YAaM,MAbN,GAaM,CAZJ,YAIE,G,WAHS,EAAAd,iB,uCAAA,EAAgB,oBACzBrjB,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,oB,+BAEb,YAAsD,GAAtCilB,SAAU,EAAA6F,gBAAgB8G,U,qBAC1C,YAIE,G,WAHS,EAAAb,kB,uCAAA,EAAiB,qBAC1BvjB,KAAK,eACJ9J,MAAO,EAAA1D,GAAG,qB,+BAEb,YAAuD,GAAvCilB,SAAU,EAAA6F,gBAAgB+G,W,uBAE5C,YAA2C,qBAArC,EAAA7xB,GAAG,6BAAD,I,MAGV,YA+jBM,OA9jBH0D,MAAO,EAAA1D,GAAG,6CACXhC,MAAM,mB,CAEN,YAcM,MAdN,GAcM,CAbJ,YAAsC,qBAAhC,EAAAgC,GAAG,wBAAD,GACR,YAKS,UAJPhC,MAAM,qBACL,QAAK,sBAAE,EAAAuxB,cAAA,EAAAA,gBAAA,K,YAEL,EAAAvvB,GAAG,0CAAD,GAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,sBAAE,EAAAkxB,SAAA,EAAAA,WAAA,K,YAEL,EAAAlvB,GAAG,sCAAD,KAGT,YAsEM,MAtEN,GAsEM,CArEJ,YAAwD,sBAAjD,EAAAA,GAAG,wCAAD,GACT,YAKE,G,WAJS,EAAA8xB,mB,uCAAA,EAAkB,sBAC3BtkB,KAAK,gBACJgU,SAAU,EAAAgJ,aAAaC,OAAO2G,OAC9B1tB,MAAO,EAAA1D,GAAG,mB,0CAEb,YAAsD,GAAtCilB,SAAU,EAAA6F,gBAAgBiH,U,qBAC1C,YAKE,G,WAJS,EAAAC,wB,uCAAA,EAAuB,2BAChCxkB,KAAK,qBACJgU,SAAU,EAAAgJ,aAAaC,OAAOwH,OAC9BvuB,MAAO,EAAA1D,GAAG,uB,0CAEb,YAA2D,GAA3CilB,SAAU,EAAA6F,gBAAgBoH,e,qBAC1C,YAAyD,sBAAlD,EAAAlyB,GAAG,yCAAD,GACT,YAKE,G,WAJS,EAAAmyB,qB,uCAAA,EAAoB,wBAC7B3kB,KAAK,aACJ9J,MAAO,EAAA1D,GAAG,8CACVwhB,SAAU,EAAAgJ,aAAaC,OAAO2H,Y,0CAEjC,YAKE,G,WAJS,EAAAC,yB,uCAAA,EAAwB,4BACjC7kB,KAAK,iBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO6H,gB,0CAEjC,YAGE,GAFCrN,SAAU,EAAA6F,gBAAgBwH,eAC3BtN,MAAA,I,qBAEF,YAKE,G,WAJS,EAAAuN,uB,uCAAA,EAAsB,0BAC/B/kB,KAAK,eACJ9J,MAAO,EAAA1D,GAAG,gDACVwhB,SAAU,EAAAgJ,aAAaC,OAAO+H,c,0CAEjC,YAKE,G,WAJS,EAAAC,2B,uCAAA,EAA0B,8BACnCjlB,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOiI,kB,0CAEjC,YAGE,GAFCzN,SAAU,EAAA6F,gBAAgB4H,iBAC3B1N,MAAA,I,qBAEF,YAKE,G,WAJS,EAAA2N,uB,uCAAA,EAAsB,0BAC/BnlB,KAAK,eACJ9J,MAAO,EAAA1D,GAAG,gDACVwhB,SAAU,EAAAgJ,aAAaC,OAAOmI,c,0CAEjC,YAKE,G,WAJS,EAAAC,2B,uCAAA,EAA0B,8BACnCrlB,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOqI,kB,0CAEjC,YAGE,GAFC7N,SAAU,EAAA6F,gBAAgBgI,iBAC3B9N,MAAA,I,qBAEF,YAIE,G,WAHS,EAAA+N,kB,uCAAA,EAAiB,qBAC1BvlB,KAAK,eACJgU,SAAU,EAAAgJ,aAAaE,QAAQsI,O,oCAGpC,YAkBM,MAlBN,GAkBM,CAjBJ,YAAyD,sBAAlD,EAAAhzB,GAAG,yCAAD,GACT,YAKE,G,WAJS,EAAAizB,4B,uCAAA,EAA2B,+BACpCzlB,KAAK,oBACJ9J,MAAO,EAAA1D,GAAG,qDACVwhB,SAAU,EAAAgJ,aAAaC,OAAOyI,mB,0CAEjC,YAKE,G,WAJS,EAAAC,gC,uCAAA,EAA+B,mCACxC3lB,KAAK,wBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO2I,uB,0CAEjC,YAGE,GAFCnO,SAAU,EAAA6F,gBAAgBsI,sBAC3BpO,MAAA,I,uBAGJ,YAkCM,MAlCN,GAkCM,CAjCJ,YAAgE,sBAAzD,EAAAhlB,GAAG,gDAAD,GACT,YAKE,G,WAJS,EAAAqzB,gB,uCAAA,EAAe,mBACxB7lB,KAAK,aACJgU,SAAU,EAAAgJ,aAAaC,OAAOR,MAC9BvmB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAAszB,kB,uCAAA,EAAiB,qBAC1B9lB,KAAK,eACJgU,SAAU,EAAAgJ,aAAaE,QAAQT,MAC/BtkB,SAA8B,gBAApB,EAAA0tB,iB,6CAEb,YAKE,G,WAJS,EAAAE,oB,uCAAA,EAAmB,uBAC5B/lB,KAAK,iBACJgU,SAAU,EAAAgJ,aAAaC,OAAO+I,UAC9B9vB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAGE,GAFCilB,SAAU,EAAA6F,gBAAgB0I,UAC3BxO,MAAA,I,qBAEF,YAKE,G,WAJS,EAAAyO,oB,uCAAA,EAAmB,uBAC5BjmB,KAAK,iBACJgU,SAAU,EAAAgJ,aAAaC,OAAOiJ,UAC9BhwB,MAAO,EAAA1D,GAAG,mB,0CAEb,YAGE,GAFCilB,SAAU,EAAA6F,gBAAgB4I,UAC3B1O,MAAA,I,uBAGJ,YAsBM,MAtBN,GAsBM,CArBJ,YAA2D,sBAApD,EAAAhlB,GAAG,2CAAD,GACT,YAKE,G,WAJS,EAAA2zB,iB,uCAAA,EAAgB,oBACzBnmB,KAAK,cACJgU,SAAU,EAAAgJ,aAAaC,OAAOmJ,OAC9BlwB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAA6zB,qB,uCAAA,EAAoB,wBAC7BrmB,KAAK,kBACJgU,SAAU,EAAAgJ,aAAaC,OAAOqJ,WAC9BpwB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAAwD,GAAxCilB,SAAU,EAAA6F,gBAAgBgJ,Y,qBAC1C,YAKE,G,WAJS,EAAAC,qB,uCAAA,EAAoB,wBAC7BvmB,KAAK,kBACJgU,SAAU,EAAAgJ,aAAaC,OAAOuJ,WAC9BtwB,MAAO,EAAA1D,GAAG,mB,0CAEb,YAAwD,GAAxCilB,SAAU,EAAA6F,gBAAgBkJ,Y,uBAE5C,YAqBM,MArBN,GAqBM,CApBJ,YAA0D,sBAAnD,EAAAh0B,GAAG,0CAAD,GACT,YAKE,G,WAJS,EAAAi0B,gB,uCAAA,EAAe,mBACxBzmB,KAAK,aACJgU,SAAU,EAAAgJ,aAAaC,OAAOjrB,MAC9BkE,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAAk0B,kB,uCAAA,EAAiB,qBAC1B1mB,KAAK,eACJgU,SAAU,EAAAgJ,aAAaE,QAAQlrB,MAC/BmG,SAA8B,gBAApB,EAAAsuB,iB,6CAEb,YAKE,G,WAJS,EAAAE,oB,uCAAA,EAAmB,uBAC5B3mB,KAAK,iBACJgU,SAAU,EAAAgJ,aAAaC,OAAO2J,UAC9B1wB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAAuD,GAAvCilB,SAAU,EAAA6F,gBAAgBsJ,W,uBAE5C,YAoHM,MApHN,GAoHM,CAnHJ,YAA2D,sBAApD,EAAAp0B,GAAG,2CAAD,GACT,YAKE,G,WAJS,EAAAq0B,c,uCAAA,EAAa,iBACtB7mB,KAAK,WACJgU,SAAU,EAAAgJ,aAAaC,OAAOV,IAC9BrmB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAAs0B,gB,uCAAA,EAAe,mBACxB9mB,KAAK,aACJgU,SAAU,EAAAgJ,aAAaE,QAAQX,IAC/BpkB,SAA4B,gBAAlB,EAAA0uB,e,6CAEb,YAKE,G,WAJS,EAAAE,kB,uCAAA,EAAiB,qBAC1B/mB,KAAK,eACJgU,SAAU,EAAAgJ,aAAaC,OAAO+J,QAC9B9wB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAAqD,GAArCilB,SAAU,EAAA6F,gBAAgB0J,S,qBAC1C,YAKE,G,WAJS,EAAAC,uB,uCAAA,EAAsB,0BAC/BjnB,KAAK,oBACJgU,SAAU,EAAAgJ,aAAaC,OAAOiK,aAC9BhxB,MAAO,EAAA1D,GAAG,gD,0CAEb,YAA0D,GAA1CilB,SAAU,EAAA6F,gBAAgB4J,c,qBAC1C,YAKE,G,WAJS,EAAAC,wB,uCAAA,EAAuB,2BAChCnnB,KAAK,qBACJgU,SAAU,EAAAgJ,aAAaC,OAAOmK,cAC9BlxB,MAAO,EAAA1D,GAAG,2C,0CAEb,YAA2D,GAA3CilB,SAAU,EAAA6F,gBAAgB8J,e,qBAC1C,YAA2D,sBAApD,EAAA50B,GAAG,2CAAD,GACT,YAKE,G,WAJS,EAAA60B,qB,uCAAA,EAAoB,wBAC7BrnB,KAAK,kBACJgU,SAAU,EAAAgJ,aAAaC,OAAOqK,WAC9BpxB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAA+0B,yB,uCAAA,EAAwB,4BACjCvnB,KAAK,sBACJgU,SAAU,EAAAgJ,aAAaC,OAAOuK,eAC9BtxB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAA4D,GAA5CilB,SAAU,EAAA6F,gBAAgBkK,gB,qBAC1C,YAKE,G,WAJS,EAAAC,8B,uCAAA,EAA6B,iCACtCznB,KAAK,2BACJgU,SAAU,EAAAgJ,aAAaC,OAAOyK,oBAC9BxxB,MAAO,EAAA1D,GAAG,gD,0CAEb,YAAiE,GAAjDilB,SAAU,EAAA6F,gBAAgBoK,qB,qBAC1C,YAKE,G,WAJS,EAAAC,+B,uCAAA,EAA8B,kCACvC3nB,KAAK,4BACJgU,SAAU,EAAAgJ,aAAaC,OAAO2K,qBAC9B1xB,MAAO,EAAA1D,GAAG,2C,0CAEb,YAAkE,GAAlDilB,SAAU,EAAA6F,gBAAgBsK,sB,qBAC1C,YAA4D,sBAArD,EAAAp1B,GAAG,4CAAD,GACT,YAKE,G,WAJS,EAAAq1B,sB,uCAAA,EAAqB,yBAC9B7nB,KAAK,mBACJgU,SAAU,EAAAgJ,aAAaC,OAAO6K,YAC9B5xB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAAu1B,0B,uCAAA,EAAyB,6BAClC/nB,KAAK,uBACJgU,SAAU,EAAAgJ,aAAaC,OAAO+K,gBAC9B9xB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAKE,G,WAJS,EAAAy1B,+B,uCAAA,EAA8B,kCACvCjoB,KAAK,4BACJgU,SAAU,EAAAgJ,aAAaC,OAAOiL,qBAC9BhyB,MAAO,EAAA1D,GAAG,gD,0CAEb,YAKE,G,WAJS,EAAA21B,gC,uCAAA,EAA+B,mCACxCnoB,KAAK,6BACJgU,SAAU,EAAAgJ,aAAaC,OAAOmL,sBAC9BlyB,MAAO,EAAA1D,GAAG,2C,0CAEb,YAA2D,sBAApD,EAAAA,GAAG,2CAAD,GACT,YAKE,G,WAJS,EAAA61B,qB,uCAAA,EAAoB,wBAC7BroB,KAAK,kBACJgU,SAAU,EAAAgJ,aAAaC,OAAOqL,WAC9BpyB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAA+1B,yB,uCAAA,EAAwB,4BACjCvoB,KAAK,sBACJgU,SAAU,EAAAgJ,aAAaC,OAAOuL,eAC9BtyB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAA4D,GAA5CilB,SAAU,EAAA6F,gBAAgBkL,gB,qBAC1C,YAKE,G,WAJS,EAAAC,8B,uCAAA,EAA6B,iCACtCzoB,KAAK,2BACJgU,SAAU,EAAAgJ,aAAaC,OAAOyL,oBAC9BxyB,MAAO,EAAA1D,GAAG,gD,0CAEb,YAAiE,GAAjDilB,SAAU,EAAA6F,gBAAgBoL,qB,qBAC1C,YAKE,G,WAJS,EAAAC,+B,uCAAA,EAA8B,kCACvC3oB,KAAK,4BACJgU,SAAU,EAAAgJ,aAAaC,OAAO2L,qBAC9B1yB,MAAO,EAAA1D,GAAG,2C,0CAEb,YAAkE,GAAlDilB,SAAU,EAAA6F,gBAAgBsL,sB,uBAE5C,YAsBM,MAtBN,GAsBM,CArBJ,YAAwD,sBAAjD,EAAAp2B,GAAG,wCAAD,GACT,YAKE,G,WAJS,EAAAq2B,c,uCAAA,EAAa,iBACtB7oB,KAAK,WACJgU,SAAU,EAAAgJ,aAAaC,OAAO6L,IAC9B5yB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAAu2B,kB,uCAAA,EAAiB,qBAC1B/oB,KAAK,eACJgU,SAAU,EAAAgJ,aAAaC,OAAO+L,QAC9B9yB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAAqD,GAArCilB,SAAU,EAAA6F,gBAAgB0L,S,qBAC1C,YAKE,G,WAJS,EAAAC,wB,uCAAA,EAAuB,2BAChCjpB,KAAK,qBACJgU,SAAU,EAAAgJ,aAAaC,OAAOiM,cAC9BhzB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAA2D,GAA3CilB,SAAU,EAAA6F,gBAAgB4L,e,uBAE5C,YAcM,MAdN,GAcM,CAbJ,YAA2D,sBAApD,EAAA12B,GAAG,2CAAD,GACT,YAKE,G,WAJS,EAAA22B,iB,uCAAA,EAAgB,oBACzBnpB,KAAK,cACJgU,SAAU,EAAAgJ,aAAaC,OAAOmM,OAC9BlzB,MAAO,EAAA1D,GAAG,gC,0CAEb,YAKE,G,WAJS,EAAA62B,mB,uCAAA,EAAkB,sBAC3BrpB,KAAK,gBACJgU,SAAU,EAAAgJ,aAAaE,QAAQkM,OAC/BjxB,SAA+B,gBAArB,EAAAgxB,kB,+CAGf,YAyBM,MAzBN,GAyBM,CAxBJ,YAA8D,sBAAvD,EAAA32B,GAAG,8CAAD,GACT,YAKE,G,WAJS,EAAA82B,gB,uCAAA,EAAe,mBACxBtpB,KAAK,aACJgU,SAAU,EAAAgJ,aAAaC,OAAOsM,MAC9BrzB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAKE,G,WAJS,EAAAg3B,oB,uCAAA,EAAmB,uBAC5BxpB,KAAK,iBACJgU,SAAU,EAAAgJ,aAAaC,OAAOwM,UAC9BvzB,MAAO,EAAA1D,GAAG,mB,0CAEb,YAKE,G,WAJS,EAAAk3B,qB,uCAAA,EAAoB,wBAC7B1pB,KAAK,kBACJgU,SAAU,EAAAgJ,aAAaC,OAAO0M,WAC9BzzB,MAAO,EAAA1D,GAAG,gD,0CAEb,YAIE,G,WAHS,EAAAo3B,kB,uCAAA,EAAiB,qBAC1B5pB,KAAK,eACJgU,SAAU,EAAAgJ,aAAaE,QAAQqM,O,oCAGpC,YAcM,MAdN,GAcM,CAbJ,YAA4D,sBAArD,EAAA/2B,GAAG,4CAAD,GACT,YAKE,G,WAJS,EAAAq3B,mB,uCAAA,EAAkB,sBAC3B7pB,KAAK,WACJ9J,MAAO,EAAA1D,GAAG,2CACVwhB,SAAU,EAAAgJ,aAAaC,OAAO6M,U,0CAEjC,YAKE,G,WAJS,EAAAC,qB,uCAAA,EAAoB,wBAC7B/pB,KAAK,kBACJgU,SAAU,EAAAgJ,aAAaE,QAAQ4M,SAC/B3xB,SAAmC,gBAAzB,EAAA4xB,sB,+CAGf,YAQM,MARN,GAQM,CAPJ,YAA6D,sBAAtD,EAAAv3B,GAAG,6CAAD,GACT,YAKE,G,WAJS,EAAAw3B,oB,uCAAA,EAAmB,uBAC5BhqB,KAAK,YACJ9J,MAAO,EAAA1D,GAAG,4CACVwhB,SAAU,EAAAgJ,aAAaC,OAAOgN,W,4CAGnC,YAcM,MAdN,GAcM,CAbJ,YAAwD,sBAAjD,EAAAz3B,GAAG,wCAAD,GACT,YAKE,G,WAJS,EAAA03B,e,uCAAA,EAAc,kBACvBlqB,KAAK,OACJ9J,MAAO,EAAA1D,GAAG,uBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOkN,M,0CAEjC,YAKE,G,WAJS,EAAAC,mB,uCAAA,EAAkB,sBAC3BpqB,KAAK,WACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOoN,U,4CAGnC,YAQM,MARN,GAQM,CAPJ,YAAyD,sBAAlD,EAAA73B,GAAG,yCAAD,GACT,YAKE,G,WAJS,EAAA83B,e,uCAAA,EAAc,kBACvBtqB,KAAK,OACJ9J,MAAO,EAAA1D,GAAG,wCACVwhB,SAAU,EAAAgJ,aAAaC,OAAO1qB,M,4CAGnC,YAsBM,MAtBN,GAsBM,CArBJ,YAA6D,sBAAtD,EAAAC,GAAG,6CAAD,GACT,YAKE,G,WAJS,EAAA+3B,oB,uCAAA,EAAmB,uBAC5BvqB,KAAK,YACJ9J,MAAO,EAAA1D,GAAG,uBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOuN,W,0CAEjC,YAKE,G,WAJS,EAAAC,wB,uCAAA,EAAuB,2BAChCzqB,KAAK,gBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOyN,e,0CAEjC,YAA2D,GAA3CjT,SAAU,EAAA6F,gBAAgBoN,e,qBAC1C,YAKE,G,WAJS,EAAAC,wB,uCAAA,EAAuB,2BAChC3qB,KAAK,gBACJ9J,MAAO,EAAA1D,GAAG,kBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO2N,e,0CAEjC,YAA2D,GAA3CnT,SAAU,EAAA6F,gBAAgBsN,e,uBAE5C,YA4BM,MA5BN,GA4BM,CA3BJ,YAA2D,sBAApD,EAAAp4B,GAAG,2CAAD,GACT,YAKE,G,WAJS,EAAAq4B,kB,uCAAA,EAAiB,qBAC1B7qB,KAAK,UACJ9J,MAAO,EAAA1D,GAAG,uBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO6N,S,0CAEjC,YAKE,G,WAJS,EAAAC,oB,uCAAA,EAAmB,uBAC5B/qB,KAAK,iBACJgU,SAAU,EAAAgJ,aAAaE,QAAQ4N,QAC/B3yB,SAAkC,gBAAxB,EAAA4yB,qB,6CAEb,YAKE,G,WAJS,EAAAC,sB,uCAAA,EAAqB,yBAC9BhrB,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOgO,a,0CAEjC,YAAyD,GAAzCxT,SAAU,EAAA6F,gBAAgB2N,a,qBAC1C,YAKE,G,WAJS,EAAAC,sB,uCAAA,EAAqB,yBAC9BlrB,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,kBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOkO,a,0CAEjC,YAAyD,GAAzC1T,SAAU,EAAA6F,gBAAgB6N,a,uBAE5C,YAsBM,MAtBN,GAsBM,CArBJ,YAAgE,sBAAzD,EAAA34B,GAAG,gDAAD,GACT,YAKE,G,WAJS,EAAA44B,uB,uCAAA,EAAsB,0BAC/BprB,KAAK,eACJ9J,MAAO,EAAA1D,GAAG,uBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOoO,c,0CAEjC,YAKE,G,WAJS,EAAAC,2B,uCAAA,EAA0B,8BACnCtrB,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOsO,kB,0CAEjC,YAA8D,GAA9C9T,SAAU,EAAA6F,gBAAgBiO,kB,qBAC1C,YAKE,G,WAJS,EAAAC,2B,uCAAA,EAA0B,8BACnCxrB,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,kBACVwhB,SAAU,EAAAgJ,aAAaC,OAAOwO,kB,0CAEjC,YAA8D,GAA9ChU,SAAU,EAAA6F,gBAAgBmO,kB,uBAE5C,YAsBM,MAtBN,GAsBM,CArBJ,YAAgE,sBAAzD,EAAAj5B,GAAG,gDAAD,GACT,YAKE,G,WAJS,EAAAk5B,uB,uCAAA,EAAsB,0BAC/B1rB,KAAK,eACJ9J,MAAO,EAAA1D,GAAG,uBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO0O,c,0CAEjC,YAKE,G,WAJS,EAAAC,2B,uCAAA,EAA0B,8BACnC5rB,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,iBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO4O,kB,0CAEjC,YAA8D,GAA9CpU,SAAU,EAAA6F,gBAAgBuO,kB,qBAC1C,YAKE,G,WAJS,EAAAC,2B,uCAAA,EAA0B,8BACnC9rB,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,kBACVwhB,SAAU,EAAAgJ,aAAaC,OAAO8O,kB,0CAEjC,YAA8D,GAA9CtU,SAAU,EAAA6F,gBAAgByO,kB,uBAE5C,YA0DM,MA1DN,GA0DM,CAzDJ,YAAgC,sBAAzB,EAAAv5B,GAAG,gBAAD,GACT,YAKE,G,WAJS,EAAAw5B,iB,uCAAA,EAAgB,oBACzBhsB,KAAK,cACJgU,SAAU,EAAAgJ,aAAaC,OAAOM,GAC9BrnB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAAiE,sBAA1D,EAAAA,GAAG,iDAAD,GACT,YAKE,G,WAJS,EAAAy5B,gC,uCAAA,EAA+B,mCACxCjsB,KAAK,6BACJgU,SAAU,EAAAgJ,aAAaC,OAAOM,GAC9BrnB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAA05B,kC,uCAAA,EAAiC,qCAC1ClsB,KAAK,+BACJgU,SAAU,EAAAgJ,aAAaC,OAAOjF,KAC9B9hB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAKE,G,WAJS,EAAA25B,kC,uCAAA,EAAiC,qCAC1CnsB,KAAK,+BACJgU,SAAU,EAAAgJ,aAAaC,OAAO0G,KAC9BztB,MAAO,EAAA1D,GAAG,mB,0CAEb,YAKE,G,WAJS,EAAA45B,oC,uCAAA,EAAmC,uCAC5CpsB,KAAK,qCACJgU,SAAU,EAAAgJ,aAAaC,OAAOkF,GAC9BjsB,MAAO,EAAA1D,GAAG,+C,0CAEb,YAAiE,sBAA1D,EAAAA,GAAG,iDAAD,GACT,YAKE,G,WAJS,EAAA65B,gC,yCAAA,EAA+B,mCACxCrsB,KAAK,6BACJgU,SAAU,EAAAgJ,aAAaC,OAAOM,GAC9BrnB,MAAO,EAAA1D,GAAG,wB,0CAEb,YAKE,G,WAJS,EAAA85B,kC,yCAAA,EAAiC,qCAC1CtsB,KAAK,+BACJgU,SAAU,EAAAgJ,aAAaC,OAAOjF,KAC9B9hB,MAAO,EAAA1D,GAAG,kB,0CAEb,YAKE,G,WAJS,EAAA+5B,kC,yCAAA,EAAiC,qCAC1CvsB,KAAK,+BACJgU,SAAU,EAAAgJ,aAAaC,OAAO0G,KAC9BztB,MAAO,EAAA1D,GAAG,mB,0CAEb,YAKE,G,WAJS,EAAAg6B,oC,yCAAA,EAAmC,uCAC5CxsB,KAAK,qCACJgU,SAAU,EAAAgJ,aAAaC,OAAOM,GAC9BrnB,MAAO,EAAA1D,GAAG,+C,mDAKjB,YAqFM,OApFH0D,MAAO,EAAA1D,GAAG,mCACXhC,MAAM,oB,CAEN,YAQM,MARN,GAQM,CAPJ,YAAsC,qBAAhC,EAAAgC,GAAG,wBAAD,GACR,YAKS,UAJPhC,MAAM,qBACL,QAAK,wBAAE,EAAAsxB,gBAAA,EAAAA,kBAAA,K,YAEL,EAAAtvB,GAAG,sCAAD,KAGT,YAOE,G,WANS,EAAAioB,e,yCAAA,EAAc,kBACvBza,KAAK,YACJ9J,MAAO,EAAA1D,GAAG,sBACVwhB,SAAU,EAAAgJ,aAAaG,MAAMZ,IAC9B/H,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAA/R,iB,yCAAA,EAAgB,oBACzB1a,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,wBACVwhB,SAAU,EAAAgJ,aAAaG,MAAMnrB,MAC9BwiB,IAAI,IACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAA9R,oB,yCAAA,EAAmB,uBAC5B3a,KAAK,iBACJ9J,MAAO,EAAA1D,GAAG,2BACVwhB,SAAU,EAAAgJ,aAAaG,MAAMX,SAC9BhI,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAA7R,iB,yCAAA,EAAgB,oBACzB5a,KAAK,cACJ9J,MAAO,EAAA1D,GAAG,wBACVwhB,SAAU,EAAAgJ,aAAaG,MAAMV,MAC9BjI,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAA5R,kB,yCAAA,EAAiB,qBAC1B7a,KAAK,eACJ9J,MAAO,EAAA1D,GAAG,yBACVwhB,SAAU,EAAAgJ,aAAaG,MAAM7M,OAC9BkE,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAA3R,qB,yCAAA,EAAoB,wBAC7B9a,KAAK,kBACJ9J,MAAO,EAAA1D,GAAG,4BACVwhB,SAAU,EAAAgJ,aAAaG,MAAMT,UAC9BlI,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAA1R,sB,yCAAA,EAAqB,yBAC9B/a,KAAK,mBACJ9J,MAAO,EAAA1D,GAAG,6BACVwhB,SAAU,EAAAgJ,aAAaG,MAAMP,WAC9BpI,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAAzR,mB,yCAAA,EAAkB,sBAC3Bhb,KAAK,gBACJ9J,MAAO,EAAA1D,GAAG,0BACVwhB,SAAU,EAAAgJ,aAAaG,MAAMR,QAC9BnI,IAAI,KACJiY,WAAS,K,0CAEX,YAOE,G,WANS,EAAAxR,uB,yCAAA,EAAsB,0BAC/Bjb,KAAK,oBACJ9J,MAAO,EAAA1D,GAAG,8BACVwhB,SAAU,EAAAgJ,aAAaG,MAAMN,aAAe,EAC7CrI,IAAI,KACJiY,WAAS,K,iDAIb,YAiFM,OAhFHv2B,MAAO,EAAA1D,GAAG,qCACXhC,MAAM,oB,CAEN,YA4CM,MA5CN,GA4CM,CA3CJ,YAgBM,MAhBN,GAgBM,C,wBAfD,EAAAgC,GAAG,qCAAsC,IAC5C,YAAG,KAAM,IACT,eAYS,GAXPyC,GAAG,kB,WACM,EAAAqlB,e,yCAAA,EAAc,kBACvB9pB,MAAM,mB,qBAGJ,IAAkC,E,gBADpC,YAMS,qBALU,EAAAmrB,iBAAVnF,I,cADT,YAMS,UAJNhd,IAAKgd,EACLrc,MAAOqc,G,YAEL,EAAAhkB,GAAG,qCAAuCgkB,IAAM,Q,iCAIzD,YAmBM,MAnBN,GAmBM,CAlBJ,YAKQ,QALR,GAKQ,YADH,EAAAhkB,GAAG,oCAAD,G,eAGP,YAMC,SALCyC,GAAG,W,yCACM,EAAsB,0BAC/B+K,KAAK,WACLxP,MAAM,iBACNQ,KAAK,Y,gBAHI,EAAA8tB,0BAKX,KAKF,YAKS,UAJPtuB,MAAM,qBACL,QAAK,wBAAE,EAAAwxB,cAAA,EAAAA,gBAAA,K,YAEL,EAAAxvB,GAAG,sCAAD,KAGT,YAIE,G,WAHS,EAAAusB,c,yCAAA,EAAa,iBACrBxc,QAAS,EAAAyc,sBACThL,SAAU,EAAAgL,uB,0CAEiB,WAAnB,EAAA1E,gBAAkD,iBAAnB,EAAAA,gB,cAA1C,YA0BM,UAzBJ,YAMS,GALP3D,MAAM,SACNC,QAAQ,wDACRC,IAAI,K,qBAEJ,IAAkC,CAAlC,K,MAEF,YAAkE,qBAA5D,EAAArkB,GAAG,oDAAD,GACR,YAQS,GAPPmkB,MAAM,SACNC,QAAQ,wDACRC,IAAI,K,qBAEJ,IAAwB,CAAxB,GACA,GACA,K,MAEF,YAMS,GALPF,MAAM,SACNC,QAAQ,mDACRC,IAAI,K,qBAEJ,IAAuB,CAAvB,K,MAEF,YAAiE,qBAA3D,EAAArkB,GAAG,mDAAD,M,0BAIZ,YAsCM,OArCH0D,MAAO,EAAA1D,GAAG,mCACXhC,MAAM,mB,CAEN,YAQM,MARN,GAQM,CAPJ,YAA4C,qBAAtC,EAAAgC,GAAG,8BAAD,GACR,YAKS,UAJPhC,MAAM,qBACL,QAAK,wBAAE,EAAAyxB,YAAA,EAAAA,cAAA,K,YAEL,EAAAzvB,GAAG,sCAAD,KAGT,YAME,G,WALS,EAAAgoB,WAAWkS,U,yCAAX,EAAAlS,WAAoB,aAC7Bxa,KAAK,KACJ9J,MAAO,EAAA1D,GAAG,6CACVwhB,SAAU,EAAAgJ,aAAaK,MAAMqP,UAC9BC,aAAW,K,0CAEb,YAKE,G,WAJS,EAAAnS,WAAWxoB,M,yCAAX,EAAAwoB,WAAgB,SACzBxa,KAAK,QACJ9J,MAAO,EAAA1D,GAAG,yCACVwhB,SAAU,EAAAgJ,aAAaK,MAAMrrB,O,0CAEhC,YAKE,G,WAJS,EAAAwoB,WAAWoS,K,yCAAX,EAAApS,WAAe,QACxBxa,KAAK,OACJ9J,MAAO,EAAA1D,GAAG,wCACVwhB,SAAU,EAAAgJ,aAAaK,MAAMuP,M,0CAEhC,YAKE,G,WAJS,EAAApS,WAAWqS,S,yCAAX,EAAArS,WAAmB,YAC5Bxa,KAAK,WACJ9J,MAAO,EAAA1D,GAAG,4CACVwhB,SAAU,EAAAgJ,aAAaK,MAAMwP,U,iEAO9B,EAAQ,U,cADhB,YAmBW,K,MAjBTC,GAAG,uB,CAEH,YAcM,MAdN,GAcM,CAbJ,YAMS,UALPt8B,MAAM,4BACL2H,UAAW,EAAA+mB,WACX,QAAK,wBAAE,EAAA4B,gBAAA,EAAAA,kBAAA,K,YAEL,EAAAtuB,GAAG,kBAAD,MAEP,YAKS,UAJPhC,MAAM,qBACL,QAAK,wBAAE,EAAAixB,UAAA,EAAAA,YAAA,K,YAEL,EAAAjvB,GAAG,kCAAD,Q,yBmBv/Bf/B,IAAQC,IACNsN,KACA+uB,KACAC,IACAC,IACAC,IACAC,IACAC,IACAC,KAGF,IAoDeC,GApDc,CAC3Bj5B,WAAY,CACV6H,gBAEAnI,sBACAw5B,qBACAltB,oBACAgB,gBACA2E,eACA+E,cACAyG,cACA8B,cACAka,aAEFj5B,SAAU,CACRk5B,WADQ,WAEN,QAAS37B,KAAKqC,OAAOO,MAAMG,MAAMC,aAEnC44B,KAJQ,WAKN,MAA0D,WAAnD57B,KAAKqC,OAAOO,MAAZ,UAA4Bi5B,oBAErCC,SAPQ,WAQN,MAA0D,YAAnD97B,KAAKqC,OAAOO,MAAZ,UAA4Bi5B,qBAGvC/7B,QAAS,CACPi8B,OADO,WAEL,IAAMC,EAAYh8B,KAAKqC,OAAOO,MAAZ,UAA4Bq5B,uBAE9C,GAAID,EAAW,CACb,IAAME,EAAWl8B,KAAKC,MAAMwtB,YAAY3jB,OAAvB,UAAwCqyB,WAAU,SAAAC,GACjE,OAAOA,EAAIp9B,OAASo9B,EAAIp9B,MAAM,mBAAqBg9B,KAEjDE,GAAY,GACdl8B,KAAKC,MAAMwtB,YAAY4O,OAAOH,GAKlCl8B,KAAKqC,OAAOC,SAAS,iCAGzByR,QA1C2B,WA2CzB/T,KAAK+7B,UAEP72B,MAAO,CACL02B,KAAM,SAAUvzB,GACVA,GAAOrI,KAAK+7B,Y,OC3EtB,MAAM,GAA2B,IAAgB,GAAQ,CAAC,CAAC,S,kWCNzD,YA4Ee,GA3Ebx7B,IAAI,cACJ7B,MAAM,wBACL49B,gBAAc,EACdzwB,mBAAiB,EACjB0wB,mBAAkB,EAAAT,U,qBAEnB,IAMM,CANN,YAMM,OALH13B,MAAO,EAAA1D,GAAG,oBACXD,KAAK,SACL+7B,gBAAc,W,CAEd,YAAc,I,KAGR,EAAU,Y,cADlB,YAOM,O,MALHp4B,MAAO,EAAA1D,GAAG,wBACXD,KAAK,OACL+7B,gBAAc,W,CAEd,YAAc,I,yBAGR,EAAU,Y,cADlB,YAOM,O,MALHp4B,MAAO,EAAA1D,GAAG,yBACXD,KAAK,OACL+7B,gBAAc,Y,CAEd,YAAe,I,yBAEjB,YAMM,OALHp4B,MAAO,EAAA1D,GAAG,sBACXD,KAAK,SACL+7B,gBAAc,a,CAEd,YAAgB,I,KAElB,YAMM,OALHp4B,MAAO,EAAA1D,GAAG,kBACXD,KAAK,cACL+7B,gBAAc,S,CAEd,YAAY,I,KAGN,EAAU,Y,cADlB,YAOM,O,MALHp4B,MAAO,EAAA1D,GAAG,0BACXD,KAAK,OACL+7B,gBAAc,iB,CAEd,YAAoB,I,yBAGd,EAAU,Y,cADlB,YAOM,O,MALHp4B,MAAO,EAAA1D,GAAG,mCACXD,KAAK,WACL+7B,gBAAc,oB,CAEd,YAAuB,I,yBAGjB,EAAU,Y,cADlB,YAQM,O,MANHp4B,MAAO,EAAA1D,GAAG,6BACV+7B,YAAY,EACbh8B,KAAK,YACL+7B,gBAAc,kB,CAEd,YAAqB,I,yBAEvB,YAMM,OALHp4B,MAAO,EAAA1D,GAAG,0BACXD,KAAK,OACL+7B,gBAAc,W,CAEd,YAAc,I,wCDlEL","file":"static/js/2.55d5f2926c7b22177236.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./importer.vue?vue&type=style&index=0&id=24f20fa0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./exporter.vue?vue&type=style&index=0&id=6357fe6a&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./autosuggest.vue?vue&type=style&index=0&id=105e6799&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./block_card.vue?vue&type=style&index=0&id=0f5ac826&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./mute_card.vue?vue&type=style&index=0&id=5e3199a7&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./domain_mute_card.vue?vue&type=style&index=0&id=0b8ac930&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./selectable_list.vue?vue&type=style&index=0&id=356e33d2&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js!../../../../node_modules/sass-loader/lib/loader.js!./mutes_and_blocks_tab.scss?vue&type=style&index=0&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js!../../../../node_modules/sass-loader/lib/loader.js!../../../../node_modules/vue-loader/dist/index.js??ref--2!./modified_indicator.vue?vue&type=style&index=0&id=be0aa34e&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js!../../../../node_modules/sass-loader/lib/loader.js!../../../../node_modules/vue-loader/dist/index.js??ref--2!./server_side_indicator.vue?vue&type=style&index=0&id=35bf7f91&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js!../../../../node_modules/sass-loader/lib/loader.js!../../../../node_modules/vue-loader/dist/index.js??ref--2!./choice_setting.vue?vue&type=style&index=0&id=36cf5d2e&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js!../../../../../node_modules/sass-loader/lib/loader.js!../../../../../node_modules/vue-loader/dist/index.js??ref--2!./mfa_backup_codes.vue?vue&type=style&index=0&id=1284fe74&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js!../../../../../node_modules/sass-loader/lib/loader.js!../../../../../node_modules/vue-loader/dist/index.js??ref--2!./mfa.vue?vue&type=style&index=0&id=c62074fa&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./image_cropper.vue?vue&type=style&index=0&id=0bac39f0&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../node_modules/css-loader/index.js!../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js!../../../../node_modules/sass-loader/lib/loader.js!./profile_tab.scss?vue&type=style&index=0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!./color_input.scss?vue&type=style&index=0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./color_input.vue?vue&type=style&index=1&id=54780100&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./shadow_control.vue?vue&type=style&index=0&id=02a2d813&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./font_control.vue?vue&type=style&index=0&id=ceed00ba&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!../../../node_modules/vue-loader/dist/index.js??ref--2!./contrast_ratio.vue?vue&type=style&index=0&id=6d90b7c4&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js!../../../../../node_modules/sass-loader/lib/loader.js!../../../../../node_modules/vue-loader/dist/index.js??ref--2!./preview.vue?vue&type=style&index=0&id=1d72aedf&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../../../node_modules/css-loader/index.js!../../../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js!../../../../../node_modules/sass-loader/lib/loader.js!./theme_tab.scss?vue&type=style&index=0&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js!../../../node_modules/css-loader/index.js!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/lib/loader.js!./settings_modal_content.scss?vue&type=style&index=0&lang=scss\"","\n\n\n\n","\n\n\n\n\n","import { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faCircleNotch,\n faTimes\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCircleNotch,\n faTimes\n)\n\nconst Importer = {\n props: {\n submitHandler: {\n type: Function,\n required: true\n },\n submitButtonLabel: { type: String },\n successMessage: { type: String },\n errorMessage: { type: String }\n },\n data () {\n return {\n file: null,\n error: false,\n success: false,\n submitting: false\n }\n },\n methods: {\n change () {\n this.file = this.$refs.input.files[0]\n },\n submit () {\n this.dismiss()\n this.submitting = true\n this.submitHandler(this.file)\n .then(() => { this.success = true })\n .catch(() => { this.error = true })\n .finally(() => { this.submitting = false })\n },\n dismiss () {\n this.success = false\n this.error = false\n }\n }\n}\n\nexport default Importer\n","import { render } from \"./importer.vue?vue&type=template&id=24f20fa0\"\nimport script from \"./importer.js?vue&type=script&lang=js\"\nexport * from \"./importer.js?vue&type=script&lang=js\"\n\nimport \"./importer.vue?vue&type=style&index=0&id=24f20fa0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { library } from '@fortawesome/fontawesome-svg-core'\nimport { faCircleNotch } from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCircleNotch\n)\n\nconst Exporter = {\n props: {\n getContent: {\n type: Function,\n required: true\n },\n filename: {\n type: String,\n default: 'export.csv'\n },\n exportButtonLabel: { type: String },\n processingMessage: { type: String }\n },\n data () {\n return {\n processing: false\n }\n },\n methods: {\n process () {\n this.processing = true\n this.getContent()\n .then((content) => {\n const fileToDownload = document.createElement('a')\n fileToDownload.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(content))\n fileToDownload.setAttribute('download', this.filename)\n fileToDownload.style.display = 'none'\n document.body.appendChild(fileToDownload)\n fileToDownload.click()\n document.body.removeChild(fileToDownload)\n // Add delay before hiding processing state since browser takes some time to handle file download\n setTimeout(() => { this.processing = false }, 2000)\n })\n }\n }\n}\n\nexport default Exporter\n","import { render } from \"./exporter.vue?vue&type=template&id=6357fe6a\"\nimport script from \"./exporter.js?vue&type=script&lang=js\"\nexport * from \"./exporter.js?vue&type=script&lang=js\"\n\nimport \"./exporter.vue?vue&type=style&index=0&id=6357fe6a&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import Importer from 'src/components/importer/importer.vue'\nimport Exporter from 'src/components/exporter/exporter.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport { mapState } from 'vuex'\n\nconst DataImportExportTab = {\n data () {\n return {\n activeTab: 'profile',\n newDomainToMute: ''\n }\n },\n created () {\n this.$store.dispatch('fetchTokens')\n },\n components: {\n Importer,\n Exporter,\n Checkbox\n },\n computed: {\n ...mapState({\n backendInteractor: (state) => state.api.backendInteractor,\n user: (state) => state.users.currentUser\n })\n },\n methods: {\n getFollowsContent () {\n return this.backendInteractor.exportFriends({ id: this.user.id })\n .then(this.generateExportableUsersContent)\n },\n getBlocksContent () {\n return this.backendInteractor.fetchBlocks()\n .then(this.generateExportableUsersContent)\n },\n getMutesContent () {\n return this.backendInteractor.fetchMutes()\n .then(this.generateExportableUsersContent)\n },\n importFollows (file) {\n return this.backendInteractor.importFollows({ file })\n .then((status) => {\n if (!status) {\n throw new Error('failed')\n }\n })\n },\n importBlocks (file) {\n return this.backendInteractor.importBlocks({ file })\n .then((status) => {\n if (!status) {\n throw new Error('failed')\n }\n })\n },\n importMutes (file) {\n return this.backendInteractor.importMutes({ file })\n .then((status) => {\n if (!status) {\n throw new Error('failed')\n }\n })\n },\n generateExportableUsersContent (users) {\n // Get addresses\n return users.map((user) => {\n // check is it's a local user\n if (user && user.is_local) {\n // append the instance address\n // eslint-disable-next-line no-undef\n return user.screen_name + '@' + location.hostname\n }\n return user.screen_name\n }).join('\\n')\n }\n }\n}\n\nexport default DataImportExportTab\n","import { render } from \"./data_import_export_tab.vue?vue&type=template&id=492b1b68\"\nimport script from \"./data_import_export_tab.js?vue&type=script&lang=js\"\nexport * from \"./data_import_export_tab.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n\n","const debounceMilliseconds = 500\n\nexport default {\n props: {\n query: { // function to query results and return a promise\n type: Function,\n required: true\n },\n filter: { // function to filter results in real time\n type: Function\n },\n placeholder: {\n type: String,\n default: 'Search...'\n }\n },\n data () {\n return {\n term: '',\n timeout: null,\n results: [],\n resultsVisible: false\n }\n },\n computed: {\n filtered () {\n return this.filter ? this.filter(this.results) : this.results\n }\n },\n watch: {\n term (val) {\n this.fetchResults(val)\n }\n },\n methods: {\n fetchResults (term) {\n clearTimeout(this.timeout)\n this.timeout = setTimeout(() => {\n this.results = []\n if (term) {\n this.query(term).then((results) => { this.results = results })\n }\n }, debounceMilliseconds)\n },\n onInputClick () {\n this.resultsVisible = true\n },\n onClickOutside () {\n this.resultsVisible = false\n }\n }\n}\n","import { render } from \"./autosuggest.vue?vue&type=template&id=105e6799\"\nimport script from \"./autosuggest.js?vue&type=script&lang=js\"\nexport * from \"./autosuggest.js?vue&type=script&lang=js\"\n\nimport \"./autosuggest.vue?vue&type=style&index=0&id=105e6799&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import BasicUserCard from '../basic_user_card/basic_user_card.vue'\n\nconst BlockCard = {\n props: ['userId'],\n data () {\n return {\n progress: false\n }\n },\n computed: {\n user () {\n return this.$store.getters.findUser(this.userId)\n },\n relationship () {\n return this.$store.getters.relationship(this.userId)\n },\n blocked () {\n return this.relationship.blocking\n }\n },\n components: {\n BasicUserCard\n },\n methods: {\n unblockUser () {\n this.progress = true\n this.$store.dispatch('unblockUser', this.user.id).then(() => {\n this.progress = false\n })\n },\n blockUser () {\n this.progress = true\n this.$store.dispatch('blockUser', this.user.id).then(() => {\n this.progress = false\n })\n }\n }\n}\n\nexport default BlockCard\n","import { render } from \"./block_card.vue?vue&type=template&id=0f5ac826\"\nimport script from \"./block_card.js?vue&type=script&lang=js\"\nexport * from \"./block_card.js?vue&type=script&lang=js\"\n\nimport \"./block_card.vue?vue&type=style&index=0&id=0f5ac826&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import BasicUserCard from '../basic_user_card/basic_user_card.vue'\n\nconst MuteCard = {\n props: ['userId'],\n data () {\n return {\n progress: false\n }\n },\n computed: {\n user () {\n return this.$store.getters.findUser(this.userId)\n },\n relationship () {\n return this.$store.getters.relationship(this.userId)\n },\n muted () {\n return this.relationship.muting\n }\n },\n components: {\n BasicUserCard\n },\n methods: {\n unmuteUser () {\n this.progress = true\n this.$store.dispatch('unmuteUser', this.userId).then(() => {\n this.progress = false\n })\n },\n muteUser () {\n this.progress = true\n this.$store.dispatch('muteUser', this.userId).then(() => {\n this.progress = false\n })\n }\n }\n}\n\nexport default MuteCard\n","import { render } from \"./mute_card.vue?vue&type=template&id=5e3199a7\"\nimport script from \"./mute_card.js?vue&type=script&lang=js\"\nexport * from \"./mute_card.js?vue&type=script&lang=js\"\n\nimport \"./mute_card.vue?vue&type=style&index=0&id=5e3199a7&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import ProgressButton from '../progress_button/progress_button.vue'\n\nconst DomainMuteCard = {\n props: ['domain'],\n components: {\n ProgressButton\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n muted () {\n return this.user.domainMutes.includes(this.domain)\n }\n },\n methods: {\n unmuteDomain () {\n return this.$store.dispatch('unmuteDomain', this.domain)\n },\n muteDomain () {\n return this.$store.dispatch('muteDomain', this.domain)\n }\n }\n}\n\nexport default DomainMuteCard\n","import { render } from \"./domain_mute_card.vue?vue&type=template&id=0b8ac930\"\nimport script from \"./domain_mute_card.js?vue&type=script&lang=js\"\nexport * from \"./domain_mute_card.js?vue&type=script&lang=js\"\n\nimport \"./domain_mute_card.vue?vue&type=style&index=0&id=0b8ac930&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import List from '../list/list.vue'\nimport Checkbox from '../checkbox/checkbox.vue'\n\nconst SelectableList = {\n components: {\n List,\n Checkbox\n },\n props: {\n items: {\n type: Array,\n default: () => []\n },\n getKey: {\n type: Function,\n default: item => item.id\n }\n },\n data () {\n return {\n selected: []\n }\n },\n computed: {\n allKeys () {\n return this.items.map(this.getKey)\n },\n filteredSelected () {\n return this.allKeys.filter(key => this.selected.indexOf(key) !== -1)\n },\n allSelected () {\n return this.filteredSelected.length === this.items.length\n },\n noneSelected () {\n return this.filteredSelected.length === 0\n },\n someSelected () {\n return !this.allSelected && !this.noneSelected\n }\n },\n methods: {\n isSelected (item) {\n return this.filteredSelected.indexOf(this.getKey(item)) !== -1\n },\n toggle (checked, item) {\n const key = this.getKey(item)\n const oldChecked = this.isSelected(key)\n if (checked !== oldChecked) {\n if (checked) {\n this.selected.push(key)\n } else {\n this.selected.splice(this.selected.indexOf(key), 1)\n }\n }\n },\n toggleAll (value) {\n if (value) {\n this.selected = this.allKeys.slice(0)\n } else {\n this.selected = []\n }\n }\n }\n}\n\nexport default SelectableList\n","import { render } from \"./selectable_list.vue?vue&type=template&id=356e33d2\"\nimport script from \"./selectable_list.js?vue&type=script&lang=js\"\nexport * from \"./selectable_list.js?vue&type=script&lang=js\"\n\nimport \"./selectable_list.vue?vue&type=style&index=0&id=356e33d2&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// eslint-disable-next-line no-unused\nimport { h } from 'vue'\nimport isEmpty from 'lodash/isEmpty'\nimport { getComponentProps } from '../../services/component_utils/component_utils'\nimport './with_subscription.scss'\n\nimport { FontAwesomeIcon as FAIcon } from '@fortawesome/vue-fontawesome'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCircleNotch\n)\n\nconst withSubscription = ({\n fetch, // function to fetch entries and return a promise\n select, // function to select data from store\n childPropName = 'content', // name of the prop to be passed into the wrapped component\n additionalPropNames = [] // additional prop name list of the wrapper component\n}) => (WrappedComponent) => {\n const originalProps = Object.keys(getComponentProps(WrappedComponent))\n const props = originalProps.filter(v => v !== childPropName).concat(additionalPropNames)\n\n return {\n props: [\n ...props,\n 'refresh' // boolean saying to force-fetch data whenever created\n ],\n data () {\n return {\n loading: false,\n error: false\n }\n },\n computed: {\n fetchedData () {\n return select(this.$props, this.$store)\n }\n },\n created () {\n if (this.refresh || isEmpty(this.fetchedData)) {\n this.fetchData()\n }\n },\n methods: {\n fetchData () {\n if (!this.loading) {\n this.loading = true\n this.error = false\n fetch(this.$props, this.$store)\n .then(() => {\n this.loading = false\n })\n .catch(() => {\n this.error = true\n this.loading = false\n })\n }\n }\n },\n render () {\n if (!this.error && !this.loading) {\n const props = {\n ...this.$props,\n [childPropName]: this.fetchedData\n }\n const children = this.$slots\n return (\n
\n \n {children}\n \n
\n )\n } else {\n return (\n
\n {this.error\n ? {this.$t('general.generic_error')}\n : \n }\n
\n )\n }\n }\n }\n}\n\nexport default withSubscription\n","import get from 'lodash/get'\nimport map from 'lodash/map'\nimport reject from 'lodash/reject'\nimport Autosuggest from 'src/components/autosuggest/autosuggest.vue'\nimport TabSwitcher from 'src/components/tab_switcher/tab_switcher.jsx'\nimport BlockCard from 'src/components/block_card/block_card.vue'\nimport MuteCard from 'src/components/mute_card/mute_card.vue'\nimport DomainMuteCard from 'src/components/domain_mute_card/domain_mute_card.vue'\nimport SelectableList from 'src/components/selectable_list/selectable_list.vue'\nimport ProgressButton from 'src/components/progress_button/progress_button.vue'\nimport withSubscription from 'src/components/../hocs/with_subscription/with_subscription'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\n\nconst BlockList = withSubscription({\n fetch: (props, $store) => $store.dispatch('fetchBlocks'),\n select: (props, $store) => get($store.state.users.currentUser, 'blockIds', []),\n childPropName: 'items'\n})(SelectableList)\n\nconst MuteList = withSubscription({\n fetch: (props, $store) => $store.dispatch('fetchMutes'),\n select: (props, $store) => get($store.state.users.currentUser, 'muteIds', []),\n childPropName: 'items'\n})(SelectableList)\n\nconst DomainMuteList = withSubscription({\n fetch: (props, $store) => $store.dispatch('fetchDomainMutes'),\n select: (props, $store) => get($store.state.users.currentUser, 'domainMutes', []),\n childPropName: 'items'\n})(SelectableList)\n\nconst MutesAndBlocks = {\n data () {\n return {\n activeTab: 'profile'\n }\n },\n created () {\n this.$store.dispatch('fetchTokens')\n this.$store.dispatch('getKnownDomains')\n },\n components: {\n TabSwitcher,\n BlockList,\n MuteList,\n DomainMuteList,\n BlockCard,\n MuteCard,\n DomainMuteCard,\n ProgressButton,\n Autosuggest,\n Checkbox\n },\n computed: {\n knownDomains () {\n return this.$store.state.instance.knownDomains\n },\n user () {\n return this.$store.state.users.currentUser\n }\n },\n methods: {\n importFollows (file) {\n return this.$store.state.api.backendInteractor.importFollows({ file })\n .then((status) => {\n if (!status) {\n throw new Error('failed')\n }\n })\n },\n importBlocks (file) {\n return this.$store.state.api.backendInteractor.importBlocks({ file })\n .then((status) => {\n if (!status) {\n throw new Error('failed')\n }\n })\n },\n generateExportableUsersContent (users) {\n // Get addresses\n return users.map((user) => {\n // check is it's a local user\n if (user && user.is_local) {\n // append the instance address\n // eslint-disable-next-line no-undef\n return user.screen_name + '@' + location.hostname\n }\n return user.screen_name\n }).join('\\n')\n },\n activateTab (tabName) {\n this.activeTab = tabName\n },\n filterUnblockedUsers (userIds) {\n return reject(userIds, (userId) => {\n const relationship = this.$store.getters.relationship(this.userId)\n return relationship.blocking || userId === this.user.id\n })\n },\n filterUnMutedUsers (userIds) {\n return reject(userIds, (userId) => {\n const relationship = this.$store.getters.relationship(this.userId)\n return relationship.muting || userId === this.user.id\n })\n },\n queryUserIds (query) {\n return this.$store.dispatch('searchUsers', { query })\n .then((users) => map(users, 'id'))\n },\n blockUsers (ids) {\n return this.$store.dispatch('blockUsers', ids)\n },\n unblockUsers (ids) {\n return this.$store.dispatch('unblockUsers', ids)\n },\n muteUsers (ids) {\n return this.$store.dispatch('muteUsers', ids)\n },\n unmuteUsers (ids) {\n return this.$store.dispatch('unmuteUsers', ids)\n },\n filterUnMutedDomains (urls) {\n return urls.filter(url => !this.user.domainMutes.includes(url))\n },\n queryKnownDomains (query) {\n return new Promise((resolve, reject) => {\n resolve(this.knownDomains.filter(url => url.toLowerCase().includes(query)))\n })\n },\n unmuteDomains (domains) {\n return this.$store.dispatch('unmuteDomains', domains)\n }\n }\n}\n\nexport default MutesAndBlocks\n","import { render } from \"./mutes_and_blocks_tab.vue?vue&type=template&id=d98eb706\"\nimport script from \"./mutes_and_blocks_tab.js?vue&type=script&lang=js\"\nexport * from \"./mutes_and_blocks_tab.js?vue&type=script&lang=js\"\n\nimport \"./mutes_and_blocks_tab.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n","\n\n\n\n\n","import { render } from \"./modified_indicator.vue?vue&type=template&id=be0aa34e\"\nimport script from \"./modified_indicator.vue?vue&type=script&lang=js\"\nexport * from \"./modified_indicator.vue?vue&type=script&lang=js\"\n\nimport \"./modified_indicator.vue?vue&type=style&index=0&id=be0aa34e&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./server_side_indicator.vue?vue&type=template&id=35bf7f91\"\nimport script from \"./server_side_indicator.vue?vue&type=script&lang=js\"\nexport * from \"./server_side_indicator.vue?vue&type=script&lang=js\"\n\nimport \"./server_side_indicator.vue?vue&type=style&index=0&id=35bf7f91&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { get, set } from 'lodash'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport ModifiedIndicator from './modified_indicator.vue'\nimport ServerSideIndicator from './server_side_indicator.vue'\nexport default {\n components: {\n Checkbox,\n ModifiedIndicator,\n ServerSideIndicator\n },\n props: [\n 'path',\n 'disabled',\n 'expert'\n ],\n computed: {\n pathDefault () {\n const [firstSegment, ...rest] = this.path.split('.')\n return [firstSegment + 'DefaultValue', ...rest].join('.')\n },\n state () {\n const value = get(this.$parent, this.path)\n if (value === undefined) {\n return this.defaultState\n } else {\n return value\n }\n },\n defaultState () {\n return get(this.$parent, this.pathDefault)\n },\n isServerSide () {\n return this.path.startsWith('serverSide_')\n },\n isChanged () {\n return !this.path.startsWith('serverSide_') && this.state !== this.defaultState\n },\n matchesExpertLevel () {\n return (this.expert || 0) <= this.$parent.expertLevel\n }\n },\n methods: {\n update (e) {\n set(this.$parent, this.path, e)\n }\n }\n}\n","import { render } from \"./boolean_setting.vue?vue&type=template&id=12d9142b\"\nimport script from \"./boolean_setting.js?vue&type=script&lang=js\"\nexport * from \"./boolean_setting.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defaultState as configDefaultState } from 'src/modules/config.js'\nimport { defaultState as serverSideConfigDefaultState } from 'src/modules/serverSideConfig.js'\n\nconst SharedComputedObject = () => ({\n user () {\n return this.$store.state.users.currentUser\n },\n // Getting values for default properties\n ...Object.keys(configDefaultState)\n .map(key => [\n key + 'DefaultValue',\n function () {\n return this.$store.getters.defaultConfig[key]\n }\n ])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n // Generating computed values for vuex properties\n ...Object.keys(configDefaultState)\n .map(key => [key, {\n get () { return this.$store.getters.mergedConfig[key] },\n set (value) {\n this.$store.dispatch('setOption', { name: key, value })\n }\n }])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n ...Object.keys(serverSideConfigDefaultState)\n .map(key => ['serverSide_' + key, {\n get () { return this.$store.state.serverSideConfig[key] },\n set (value) {\n this.$store.dispatch('setServerSideOption', { name: key, value })\n }\n }])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n // Special cases (need to transform values or perform actions first)\n useStreamingApi: {\n get () { return this.$store.getters.mergedConfig.useStreamingApi },\n set (value) {\n const promise = value\n ? this.$store.dispatch('enableMastoSockets')\n : this.$store.dispatch('disableMastoSockets')\n\n promise.then(() => {\n this.$store.dispatch('setOption', { name: 'useStreamingApi', value })\n }).catch((e) => {\n console.error('Failed starting MastoAPI Streaming socket', e)\n this.$store.dispatch('disableMastoSockets')\n this.$store.dispatch('setOption', { name: 'useStreamingApi', value: false })\n })\n }\n }\n})\n\nexport default SharedComputedObject\n","import BooleanSetting from '../helpers/boolean_setting.vue'\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\n\nconst NotificationsTab = {\n data () {\n return {\n activeTab: 'profile',\n notificationSettings: this.$store.state.users.currentUser.notification_settings,\n newDomainToMute: ''\n }\n },\n components: {\n BooleanSetting\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n ...SharedComputedObject()\n },\n methods: {\n updateNotificationSettings () {\n this.$store.state.api.backendInteractor\n .updateNotificationSettings({ settings: this.notificationSettings })\n }\n }\n}\n\nexport default NotificationsTab\n","import { render } from \"./notifications_tab.vue?vue&type=template&id=e4b944ee\"\nimport script from \"./notifications_tab.js?vue&type=script&lang=js\"\nexport * from \"./notifications_tab.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","\n\n\n\n\n","import { get, set } from 'lodash'\nimport Select from 'src/components/select/select.vue'\nimport ModifiedIndicator from './modified_indicator.vue'\nimport ServerSideIndicator from './server_side_indicator.vue'\nexport default {\n components: {\n Select,\n ModifiedIndicator,\n ServerSideIndicator\n },\n props: [\n 'path',\n 'disabled',\n 'options',\n 'expert'\n ],\n computed: {\n pathDefault () {\n const [firstSegment, ...rest] = this.path.split('.')\n return [firstSegment + 'DefaultValue', ...rest].join('.')\n },\n state () {\n const value = get(this.$parent, this.path)\n if (value === undefined) {\n return this.defaultState\n } else {\n return value\n }\n },\n defaultState () {\n return get(this.$parent, this.pathDefault)\n },\n isServerSide () {\n return this.path.startsWith('serverSide_')\n },\n isChanged () {\n return !this.path.startsWith('serverSide_') && this.state !== this.defaultState\n },\n matchesExpertLevel () {\n return (this.expert || 0) <= this.$parent.expertLevel\n }\n },\n methods: {\n update (e) {\n set(this.$parent, this.path, e)\n }\n }\n}\n","import { render } from \"./choice_setting.vue?vue&type=template&id=36cf5d2e\"\nimport script from \"./choice_setting.js?vue&type=script&lang=js\"\nexport * from \"./choice_setting.js?vue&type=script&lang=js\"\n\nimport \"./choice_setting.vue?vue&type=style&index=0&id=36cf5d2e&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { get, set } from 'lodash'\nimport ModifiedIndicator from './modified_indicator.vue'\nexport default {\n components: {\n ModifiedIndicator\n },\n props: {\n path: String,\n disabled: Boolean,\n min: Number,\n expert: [Number, String]\n },\n computed: {\n pathDefault () {\n const [firstSegment, ...rest] = this.path.split('.')\n return [firstSegment + 'DefaultValue', ...rest].join('.')\n },\n state () {\n const value = get(this.$parent, this.path)\n if (value === undefined) {\n return this.defaultState\n } else {\n return value\n }\n },\n defaultState () {\n return get(this.$parent, this.pathDefault)\n },\n isChanged () {\n return this.state !== this.defaultState\n },\n matchesExpertLevel () {\n return (this.expert || 0) <= this.$parent.expertLevel\n }\n },\n methods: {\n update (e) {\n set(this.$parent, this.path, parseInt(e.target.value))\n }\n }\n}\n","import { render } from \"./integer_setting.vue?vue&type=template&id=481281d5\"\nimport script from \"./integer_setting.js?vue&type=script&lang=js\"\nexport * from \"./integer_setting.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { filter, trim } from 'lodash'\nimport BooleanSetting from '../helpers/boolean_setting.vue'\nimport ChoiceSetting from '../helpers/choice_setting.vue'\nimport IntegerSetting from '../helpers/integer_setting.vue'\n\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\n\nconst FilteringTab = {\n data () {\n return {\n muteWordsStringLocal: this.$store.getters.mergedConfig.muteWords.join('\\n'),\n replyVisibilityOptions: ['all', 'following', 'self'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.reply_visibility_${mode}`)\n }))\n }\n },\n components: {\n BooleanSetting,\n ChoiceSetting,\n IntegerSetting\n },\n computed: {\n ...SharedComputedObject(),\n muteWordsString: {\n get () {\n return this.muteWordsStringLocal\n },\n set (value) {\n this.muteWordsStringLocal = value\n this.$store.dispatch('setOption', {\n name: 'muteWords',\n value: filter(value.split('\\n'), (word) => trim(word).length > 0)\n })\n }\n }\n },\n // Updating nested properties\n watch: {\n notificationVisibility: {\n handler (value) {\n this.$store.dispatch('setOption', {\n name: 'notificationVisibility',\n value: this.$store.getters.mergedConfig.notificationVisibility\n })\n },\n deep: true\n },\n replyVisibility () {\n this.$store.dispatch('queueFlushAll')\n }\n }\n}\n\nexport default FilteringTab\n","import { render } from \"./filtering_tab.vue?vue&type=template&id=19e8a013\"\nimport script from \"./filtering_tab.js?vue&type=script&lang=js\"\nexport * from \"./filtering_tab.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n","\n\n\n","export default {\n props: {\n backupCodes: {\n type: Object,\n default: () => ({\n inProgress: false,\n codes: []\n })\n }\n },\n data: () => ({}),\n computed: {\n inProgress () { return this.backupCodes.inProgress },\n ready () { return this.backupCodes.codes.length > 0 },\n displayTitle () { return this.inProgress || this.ready }\n }\n}\n","import { render } from \"./mfa_backup_codes.vue?vue&type=template&id=1284fe74\"\nimport script from \"./mfa_backup_codes.js?vue&type=script&lang=js\"\nexport * from \"./mfa_backup_codes.js?vue&type=script&lang=js\"\n\nimport \"./mfa_backup_codes.vue?vue&type=style&index=0&id=1284fe74&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n","const Confirm = {\n props: ['disabled'],\n data: () => ({}),\n methods: {\n confirm () { this.$emit('confirm') },\n cancel () { this.$emit('cancel') }\n }\n}\nexport default Confirm\n","import { render } from \"./confirm.vue?vue&type=template&id=232a09eb\"\nimport script from \"./confirm.js?vue&type=script&lang=js\"\nexport * from \"./confirm.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import Confirm from './confirm.vue'\nimport { mapState } from 'vuex'\n\nexport default {\n props: ['settings'],\n data: () => ({\n error: false,\n currentPassword: '',\n deactivate: false,\n inProgress: false // progress peform request to disable otp method\n }),\n components: {\n 'confirm': Confirm\n },\n computed: {\n isActivated () {\n return this.settings.totp\n },\n ...mapState({\n backendInteractor: (state) => state.api.backendInteractor\n })\n },\n methods: {\n doActivate () {\n this.$emit('activate')\n },\n cancelDeactivate () { this.deactivate = false },\n doDeactivate () {\n this.error = null\n this.deactivate = true\n },\n confirmDeactivate () { // confirm deactivate TOTP method\n this.error = null\n this.inProgress = true\n this.backendInteractor.mfaDisableOTP({\n password: this.currentPassword\n })\n .then((res) => {\n this.inProgress = false\n if (res.error) {\n this.error = res.error\n return\n }\n this.deactivate = false\n this.$emit('deactivate')\n })\n }\n }\n}\n","import RecoveryCodes from './mfa_backup_codes.vue'\nimport TOTP from './mfa_totp.vue'\nimport Confirm from './confirm.vue'\nimport VueQrcode from '@chenfengyuan/vue-qrcode'\nimport { mapState } from 'vuex'\n\nconst Mfa = {\n data: () => ({\n settings: { // current settings of MFA\n available: false,\n enabled: false,\n totp: false\n },\n setupState: { // setup mfa\n state: '', // state of setup. '' -> 'getBackupCodes' -> 'setupOTP' -> 'complete'\n setupOTPState: '' // state of setup otp. '' -> 'prepare' -> 'confirm' -> 'complete'\n },\n backupCodes: {\n getNewCodes: false,\n inProgress: false, // progress of fetch codes\n codes: []\n },\n otpSettings: { // pre-setup setting of OTP. secret key, qrcode url.\n provisioning_uri: '',\n key: ''\n },\n currentPassword: null,\n otpConfirmToken: null,\n error: null,\n readyInit: false\n }),\n components: {\n 'recovery-codes': RecoveryCodes,\n 'totp-item': TOTP,\n 'qrcode': VueQrcode,\n 'confirm': Confirm\n },\n computed: {\n canSetupOTP () {\n return (\n (this.setupInProgress && this.backupCodesPrepared) ||\n this.settings.enabled\n ) && !this.settings.totp && !this.setupOTPInProgress\n },\n setupInProgress () {\n return this.setupState.state !== '' && this.setupState.state !== 'complete'\n },\n setupOTPInProgress () {\n return this.setupState.state === 'setupOTP' && !this.completedOTP\n },\n prepareOTP () {\n return this.setupState.setupOTPState === 'prepare'\n },\n confirmOTP () {\n return this.setupState.setupOTPState === 'confirm'\n },\n completedOTP () {\n return this.setupState.setupOTPState === 'completed'\n },\n backupCodesPrepared () {\n return !this.backupCodes.inProgress && this.backupCodes.codes.length > 0\n },\n confirmNewBackupCodes () {\n return this.backupCodes.getNewCodes\n },\n ...mapState({\n backendInteractor: (state) => state.api.backendInteractor\n })\n },\n\n methods: {\n activateOTP () {\n if (!this.settings.enabled) {\n this.setupState.state = 'getBackupcodes'\n this.fetchBackupCodes()\n }\n },\n fetchBackupCodes () {\n this.backupCodes.inProgress = true\n this.backupCodes.codes = []\n\n return this.backendInteractor.generateMfaBackupCodes()\n .then((res) => {\n this.backupCodes.codes = res.codes\n this.backupCodes.inProgress = false\n })\n },\n getBackupCodes () { // get a new backup codes\n this.backupCodes.getNewCodes = true\n },\n confirmBackupCodes () { // confirm getting new backup codes\n this.fetchBackupCodes().then((res) => {\n this.backupCodes.getNewCodes = false\n })\n },\n cancelBackupCodes () { // cancel confirm form of new backup codes\n this.backupCodes.getNewCodes = false\n },\n\n // Setup OTP\n setupOTP () { // prepare setup OTP\n this.setupState.state = 'setupOTP'\n this.setupState.setupOTPState = 'prepare'\n this.backendInteractor.mfaSetupOTP()\n .then((res) => {\n this.otpSettings = res\n this.setupState.setupOTPState = 'confirm'\n })\n },\n doConfirmOTP () { // handler confirm enable OTP\n this.error = null\n this.backendInteractor.mfaConfirmOTP({\n token: this.otpConfirmToken,\n password: this.currentPassword\n })\n .then((res) => {\n if (res.error) {\n this.error = res.error\n return\n }\n this.completeSetup()\n })\n },\n\n completeSetup () {\n this.setupState.setupOTPState = 'complete'\n this.setupState.state = 'complete'\n this.currentPassword = null\n this.error = null\n this.fetchSettings()\n },\n cancelSetup () { // cancel setup\n this.setupState.setupOTPState = ''\n this.setupState.state = ''\n this.currentPassword = null\n this.error = null\n },\n // end Setup OTP\n\n // fetch settings from server\n async fetchSettings () {\n let result = await this.backendInteractor.settingsMFA()\n if (result.error) return\n this.settings = result.settings\n this.settings.available = true\n return result\n }\n },\n mounted () {\n this.fetchSettings().then(() => {\n this.readyInit = true\n })\n }\n}\nexport default Mfa\n","import { render } from \"./mfa_totp.vue?vue&type=template&id=5466d3a1\"\nimport script from \"./mfa_totp.js?vue&type=script&lang=js\"\nexport * from \"./mfa_totp.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./mfa.vue?vue&type=template&id=c62074fa\"\nimport script from \"./mfa.js?vue&type=script&lang=js\"\nexport * from \"./mfa.js?vue&type=script&lang=js\"\n\nimport \"./mfa.vue?vue&type=style&index=0&id=c62074fa&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import ProgressButton from 'src/components/progress_button/progress_button.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport Mfa from './mfa.vue'\nimport localeService from 'src/services/locale/locale.service.js'\n\nconst SecurityTab = {\n data () {\n return {\n newEmail: '',\n changeEmailError: false,\n changeEmailPassword: '',\n changedEmail: false,\n deletingAccount: false,\n deleteAccountConfirmPasswordInput: '',\n deleteAccountError: false,\n changePasswordInputs: [ '', '', '' ],\n changedPassword: false,\n changePasswordError: false\n }\n },\n created () {\n this.$store.dispatch('fetchTokens')\n },\n components: {\n ProgressButton,\n Mfa,\n Checkbox\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n pleromaBackend () {\n return this.$store.state.instance.pleromaBackend\n },\n oauthTokens () {\n return this.$store.state.oauthTokens.tokens.map(oauthToken => {\n return {\n id: oauthToken.id,\n appName: oauthToken.app_name,\n validUntil: new Date(oauthToken.valid_until).toLocaleDateString(localeService.internalToBrowserLocale(this.$i18n.locale))\n }\n })\n }\n },\n methods: {\n confirmDelete () {\n this.deletingAccount = true\n },\n deleteAccount () {\n this.$store.state.api.backendInteractor.deleteAccount({ password: this.deleteAccountConfirmPasswordInput })\n .then((res) => {\n if (res.status === 'success') {\n this.$store.dispatch('logout')\n this.$router.push({ name: 'root' })\n } else {\n this.deleteAccountError = res.error\n }\n })\n },\n changePassword () {\n const params = {\n password: this.changePasswordInputs[0],\n newPassword: this.changePasswordInputs[1],\n newPasswordConfirmation: this.changePasswordInputs[2]\n }\n this.$store.state.api.backendInteractor.changePassword(params)\n .then((res) => {\n if (res.status === 'success') {\n this.changedPassword = true\n this.changePasswordError = false\n this.logout()\n } else {\n this.changedPassword = false\n this.changePasswordError = res.error\n }\n })\n },\n changeEmail () {\n const params = {\n email: this.newEmail,\n password: this.changeEmailPassword\n }\n this.$store.state.api.backendInteractor.changeEmail(params)\n .then((res) => {\n if (res.status === 'success') {\n this.changedEmail = true\n this.changeEmailError = false\n } else {\n this.changedEmail = false\n this.changeEmailError = res.error\n }\n })\n },\n logout () {\n this.$store.dispatch('logout')\n this.$router.replace('/')\n },\n revokeToken (id) {\n if (window.confirm(`${this.$i18n.t('settings.revoke_token')}?`)) {\n this.$store.dispatch('revokeToken', id)\n }\n }\n }\n}\n\nexport default SecurityTab\n","import { render } from \"./security_tab.vue?vue&type=template&id=dc4ec0ae\"\nimport script from \"./security_tab.js?vue&type=script&lang=js\"\nexport * from \"./security_tab.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n\n","import Cropper from 'cropperjs'\nimport 'cropperjs/dist/cropper.css'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCircleNotch\n)\n\nconst ImageCropper = {\n props: {\n trigger: {\n type: [String, window.Element],\n required: true\n },\n submitHandler: {\n type: Function,\n required: true\n },\n cropperOptions: {\n type: Object,\n default () {\n return {\n aspectRatio: 1,\n autoCropArea: 1,\n viewMode: 1,\n movable: false,\n zoomable: false,\n guides: false\n }\n }\n },\n mimes: {\n type: String,\n default: 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon'\n },\n saveButtonLabel: {\n type: String\n },\n saveWithoutCroppingButtonlabel: {\n type: String\n },\n cancelButtonLabel: {\n type: String\n }\n },\n data () {\n return {\n cropper: undefined,\n dataUrl: undefined,\n filename: undefined,\n submitting: false\n }\n },\n computed: {\n saveText () {\n return this.saveButtonLabel || this.$t('image_cropper.save')\n },\n saveWithoutCroppingText () {\n return this.saveWithoutCroppingButtonlabel || this.$t('image_cropper.save_without_cropping')\n },\n cancelText () {\n return this.cancelButtonLabel || this.$t('image_cropper.cancel')\n }\n },\n methods: {\n destroy () {\n if (this.cropper) {\n this.cropper.destroy()\n }\n this.$refs.input.value = ''\n this.dataUrl = undefined\n this.$emit('close')\n },\n submit (cropping = true) {\n this.submitting = true\n this.submitHandler(cropping && this.cropper, this.file)\n .then(() => this.destroy())\n .finally(() => {\n this.submitting = false\n })\n },\n pickImage () {\n this.$refs.input.click()\n },\n createCropper () {\n this.cropper = new Cropper(this.$refs.img, this.cropperOptions)\n },\n getTriggerDOM () {\n return typeof this.trigger === 'object' ? this.trigger : document.querySelector(this.trigger)\n },\n readFile () {\n const fileInput = this.$refs.input\n if (fileInput.files != null && fileInput.files[0] != null) {\n this.file = fileInput.files[0]\n let reader = new window.FileReader()\n reader.onload = (e) => {\n this.dataUrl = e.target.result\n this.$emit('open')\n }\n reader.readAsDataURL(this.file)\n this.$emit('changed', this.file, reader)\n }\n }\n },\n mounted () {\n // listen for click event on trigger\n const trigger = this.getTriggerDOM()\n if (!trigger) {\n this.$emit('error', 'No image make trigger found.', 'user')\n } else {\n trigger.addEventListener('click', this.pickImage)\n }\n // listen for input file changes\n const fileInput = this.$refs.input\n fileInput.addEventListener('change', this.readFile)\n },\n beforeUnmount: function () {\n // remove the event listeners\n const trigger = this.getTriggerDOM()\n if (trigger) {\n trigger.removeEventListener('click', this.pickImage)\n }\n const fileInput = this.$refs.input\n fileInput.removeEventListener('change', this.readFile)\n }\n}\n\nexport default ImageCropper\n","import { render } from \"./image_cropper.vue?vue&type=template&id=0bac39f0\"\nimport script from \"./image_cropper.js?vue&type=script&lang=js\"\nexport * from \"./image_cropper.js?vue&type=script&lang=js\"\n\nimport \"./image_cropper.vue?vue&type=style&index=0&id=0bac39f0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import unescape from 'lodash/unescape'\nimport merge from 'lodash/merge'\nimport ImageCropper from 'src/components/image_cropper/image_cropper.vue'\nimport ScopeSelector from 'src/components/scope_selector/scope_selector.vue'\nimport fileSizeFormatService from 'src/components/../services/file_size_format/file_size_format.js'\nimport ProgressButton from 'src/components/progress_button/progress_button.vue'\nimport EmojiInput from 'src/components/emoji_input/emoji_input.vue'\nimport suggestor from 'src/components/emoji_input/suggestor.js'\nimport Autosuggest from 'src/components/autosuggest/autosuggest.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport InterfaceLanguageSwitcher from 'src/components/interface_language_switcher/interface_language_switcher.vue'\nimport BooleanSetting from '../helpers/boolean_setting.vue'\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\nimport localeService from 'src/services/locale/locale.service.js'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faTimes,\n faPlus,\n faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faTimes,\n faPlus,\n faCircleNotch\n)\n\nconst ProfileTab = {\n data () {\n return {\n newName: this.$store.state.users.currentUser.name_unescaped,\n newBio: unescape(this.$store.state.users.currentUser.description),\n newLocked: this.$store.state.users.currentUser.locked,\n newFields: this.$store.state.users.currentUser.fields.map(field => ({ name: field.name, value: field.value })),\n showRole: this.$store.state.users.currentUser.show_role,\n role: this.$store.state.users.currentUser.role,\n bot: this.$store.state.users.currentUser.bot,\n pickAvatarBtnVisible: true,\n bannerUploading: false,\n backgroundUploading: false,\n banner: null,\n bannerPreview: null,\n background: null,\n backgroundPreview: null,\n emailLanguage: this.$store.state.users.currentUser.language || ''\n }\n },\n components: {\n ScopeSelector,\n ImageCropper,\n EmojiInput,\n Autosuggest,\n ProgressButton,\n Checkbox,\n BooleanSetting,\n InterfaceLanguageSwitcher\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n ...SharedComputedObject(),\n emojiUserSuggestor () {\n return suggestor({\n emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ],\n store: this.$store\n })\n },\n emojiSuggestor () {\n return suggestor({ emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ] })\n },\n userSuggestor () {\n return suggestor({ store: this.$store })\n },\n fieldsLimits () {\n return this.$store.state.instance.fieldsLimits\n },\n maxFields () {\n return this.fieldsLimits ? this.fieldsLimits.maxFields : 0\n },\n defaultAvatar () {\n return this.$store.state.instance.server + this.$store.state.instance.defaultAvatar\n },\n defaultBanner () {\n return this.$store.state.instance.server + this.$store.state.instance.defaultBanner\n },\n isDefaultAvatar () {\n const baseAvatar = this.$store.state.instance.defaultAvatar\n return !(this.$store.state.users.currentUser.profile_image_url) ||\n this.$store.state.users.currentUser.profile_image_url.includes(baseAvatar)\n },\n isDefaultBanner () {\n const baseBanner = this.$store.state.instance.defaultBanner\n return !(this.$store.state.users.currentUser.cover_photo) ||\n this.$store.state.users.currentUser.cover_photo.includes(baseBanner)\n },\n isDefaultBackground () {\n return !(this.$store.state.users.currentUser.background_image)\n },\n avatarImgSrc () {\n const src = this.$store.state.users.currentUser.profile_image_url_original\n return (!src) ? this.defaultAvatar : src\n },\n bannerImgSrc () {\n const src = this.$store.state.users.currentUser.cover_photo\n return (!src) ? this.defaultBanner : src\n }\n },\n methods: {\n updateProfile () {\n const params = {\n note: this.newBio,\n locked: this.newLocked,\n // Backend notation.\n /* eslint-disable camelcase */\n display_name: this.newName,\n fields_attributes: this.newFields.filter(el => el != null),\n bot: this.bot,\n show_role: this.showRole\n /* eslint-enable camelcase */\n }\n\n if (this.emailLanguage) {\n params.language = localeService.internalToBackendLocale(this.emailLanguage)\n }\n\n this.$store.state.api.backendInteractor\n .updateProfile({ params })\n .then((user) => {\n this.newFields.splice(user.fields.length)\n merge(this.newFields, user.fields)\n this.$store.commit('addNewUsers', [user])\n this.$store.commit('setCurrentUser', user)\n })\n },\n changeVis (visibility) {\n this.newDefaultScope = visibility\n },\n addField () {\n if (this.newFields.length < this.maxFields) {\n this.newFields.push({ name: '', value: '' })\n return true\n }\n return false\n },\n deleteField (index, event) {\n this.$delete(this.newFields, index)\n },\n uploadFile (slot, e) {\n const file = e.target.files[0]\n if (!file) { return }\n if (file.size > this.$store.state.instance[slot + 'limit']) {\n const filesize = fileSizeFormatService.fileSizeFormat(file.size)\n const allowedsize = fileSizeFormatService.fileSizeFormat(this.$store.state.instance[slot + 'limit'])\n this.$store.dispatch('pushGlobalNotice', {\n messageKey: 'upload.error.message',\n messageArgs: [\n this.$t('upload.error.file_too_big', {\n filesize: filesize.num,\n filesizeunit: filesize.unit,\n allowedsize: allowedsize.num,\n allowedsizeunit: allowedsize.unit\n })\n ],\n level: 'error'\n })\n return\n }\n // eslint-disable-next-line no-undef\n const reader = new FileReader()\n reader.onload = ({ target }) => {\n const img = target.result\n this[slot + 'Preview'] = img\n this[slot] = file\n }\n reader.readAsDataURL(file)\n },\n resetAvatar () {\n const confirmed = window.confirm(this.$t('settings.reset_avatar_confirm'))\n if (confirmed) {\n this.submitAvatar(undefined, '')\n }\n },\n resetBanner () {\n const confirmed = window.confirm(this.$t('settings.reset_banner_confirm'))\n if (confirmed) {\n this.submitBanner('')\n }\n },\n resetBackground () {\n const confirmed = window.confirm(this.$t('settings.reset_background_confirm'))\n if (confirmed) {\n this.submitBackground('')\n }\n },\n submitAvatar (cropper, file) {\n const that = this\n return new Promise((resolve, reject) => {\n function updateAvatar (avatar, avatarName) {\n that.$store.state.api.backendInteractor.updateProfileImages({ avatar, avatarName })\n .then((user) => {\n that.$store.commit('addNewUsers', [user])\n that.$store.commit('setCurrentUser', user)\n resolve()\n })\n .catch((error) => {\n that.displayUploadError(error)\n reject(error)\n })\n }\n\n if (cropper) {\n cropper.getCroppedCanvas().toBlob((data) => updateAvatar(data, file.name), file.type)\n } else {\n updateAvatar(file, file.name)\n }\n })\n },\n submitBanner (banner) {\n if (!this.bannerPreview && banner !== '') { return }\n\n this.bannerUploading = true\n this.$store.state.api.backendInteractor.updateProfileImages({ banner })\n .then((user) => {\n this.$store.commit('addNewUsers', [user])\n this.$store.commit('setCurrentUser', user)\n this.bannerPreview = null\n })\n .catch(this.displayUploadError)\n .finally(() => { this.bannerUploading = false })\n },\n submitBackground (background) {\n if (!this.backgroundPreview && background !== '') { return }\n\n this.backgroundUploading = true\n this.$store.state.api.backendInteractor.updateProfileImages({ background })\n .then((data) => {\n this.$store.commit('addNewUsers', [data])\n this.$store.commit('setCurrentUser', data)\n this.backgroundPreview = null\n })\n .catch(this.displayUploadError)\n .finally(() => { this.backgroundUploading = false })\n },\n displayUploadError (error) {\n this.$store.dispatch('pushGlobalNotice', {\n messageKey: 'upload.error.message',\n messageArgs: [error.message],\n level: 'error'\n })\n }\n }\n}\n\nexport default ProfileTab\n","import { render } from \"./profile_tab.vue?vue&type=template&id=d5067dba\"\nimport script from \"./profile_tab.js?vue&type=script&lang=js\"\nexport * from \"./profile_tab.js?vue&type=script&lang=js\"\n\nimport \"./profile_tab.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import BooleanSetting from '../helpers/boolean_setting.vue'\nimport ChoiceSetting from '../helpers/choice_setting.vue'\nimport ScopeSelector from 'src/components/scope_selector/scope_selector.vue'\nimport IntegerSetting from '../helpers/integer_setting.vue'\nimport InterfaceLanguageSwitcher from 'src/components/interface_language_switcher/interface_language_switcher.vue'\n\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\nimport ServerSideIndicator from '../helpers/server_side_indicator.vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faGlobe\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faGlobe\n)\n\nconst GeneralTab = {\n data () {\n return {\n subjectLineOptions: ['email', 'noop', 'masto'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.subject_line_${mode === 'masto' ? 'mastodon' : mode}`)\n })),\n conversationDisplayOptions: ['tree', 'linear'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.conversation_display_${mode}`)\n })),\n conversationOtherRepliesButtonOptions: ['below', 'inside'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.conversation_other_replies_button_${mode}`)\n })),\n mentionLinkDisplayOptions: ['short', 'full_for_remote', 'full'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.mention_link_display_${mode}`)\n })),\n thirdColumnModeOptions: ['none', 'notifications', 'postform'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.third_column_mode_${mode}`)\n })),\n loopSilentAvailable:\n // Firefox\n Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype, 'mozHasAudio') ||\n // Chrome-likes\n Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'webkitAudioDecodedByteCount') ||\n // Future spec, still not supported in Nightly 63 as of 08/2018\n Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'audioTracks')\n }\n },\n components: {\n BooleanSetting,\n ChoiceSetting,\n IntegerSetting,\n InterfaceLanguageSwitcher,\n ScopeSelector,\n ServerSideIndicator\n },\n computed: {\n postFormats () {\n return this.$store.state.instance.postFormats || []\n },\n postContentOptions () {\n return this.postFormats.map(format => ({\n key: format,\n value: format,\n label: this.$t(`post_status.content_type[\"${format}\"]`)\n }))\n },\n instanceSpecificPanelPresent () { return this.$store.state.instance.showInstanceSpecificPanel },\n instanceWallpaperUsed () {\n return this.$store.state.instance.background &&\n !this.$store.state.users.currentUser.background_image\n },\n instanceShoutboxPresent () { return this.$store.state.instance.shoutAvailable },\n language: {\n get: function () { return this.$store.getters.mergedConfig.interfaceLanguage },\n set: function (val) {\n this.$store.dispatch('setOption', { name: 'interfaceLanguage', value: val })\n }\n },\n ...SharedComputedObject()\n },\n methods: {\n changeDefaultScope (value) {\n this.$store.dispatch('setServerSideOption', { name: 'defaultScope', value })\n }\n }\n}\n\nexport default GeneralTab\n","import { render } from \"./general_tab.vue?vue&type=template&id=317a4310\"\nimport script from \"./general_tab.js?vue&type=script&lang=js\"\nexport * from \"./general_tab.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","\n\n\n\n\n","import { render } from \"./color_input.vue?vue&type=template&id=54780100\"\nimport script from \"./color_input.vue?vue&type=script&lang=js\"\nexport * from \"./color_input.vue?vue&type=script&lang=js\"\n\nimport \"./color_input.scss?vue&type=style&index=0&lang=scss\"\nimport \"./color_input.vue?vue&type=style&index=1&id=54780100&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./range_input.vue?vue&type=template&id=7ecff9e8\"\nimport script from \"./range_input.vue?vue&type=script&lang=js\"\nexport * from \"./range_input.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./opacity_input.vue?vue&type=template&id=69949f84\"\nimport script from \"./opacity_input.vue?vue&type=script&lang=js\"\nexport * from \"./opacity_input.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import ColorInput from '../color_input/color_input.vue'\nimport OpacityInput from '../opacity_input/opacity_input.vue'\nimport Select from '../select/select.vue'\nimport { getCssShadow } from '../../services/style_setter/style_setter.js'\nimport { hex2rgb } from '../../services/color_convert/color_convert.js'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faTimes,\n faChevronDown,\n faChevronUp,\n faPlus\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faChevronDown,\n faChevronUp,\n faTimes,\n faPlus\n)\n\nconst toModel = (object = {}) => ({\n x: 0,\n y: 0,\n blur: 0,\n spread: 0,\n inset: false,\n color: '#000000',\n alpha: 1,\n ...object\n})\n\nexport default {\n // 'modelValue' and 'Fallback' can be undefined, but if they are\n // initially vue won't detect it when they become something else\n // therefore i'm using \"ready\" which should be passed as true when\n // data becomes available\n props: [\n 'modelValue', 'fallback', 'ready'\n ],\n emits: ['update:modelValue'],\n data () {\n return {\n selectedId: 0,\n // TODO there are some bugs regarding display of array (it's not getting updated when deleting for some reason)\n cValue: (this.modelValue || this.fallback || []).map(toModel)\n }\n },\n components: {\n ColorInput,\n OpacityInput,\n Select\n },\n methods: {\n add () {\n this.cValue.push(toModel(this.selected))\n this.selectedId = this.cValue.length - 1\n },\n del () {\n this.cValue.splice(this.selectedId, 1)\n this.selectedId = this.cValue.length === 0 ? undefined : Math.max(this.selectedId - 1, 0)\n },\n moveUp () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId - 1, 0, movable)\n this.selectedId -= 1\n },\n moveDn () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId + 1, 0, movable)\n this.selectedId += 1\n }\n },\n beforeUpdate () {\n this.cValue = this.modelValue || this.fallback\n },\n computed: {\n anyShadows () {\n return this.cValue.length > 0\n },\n anyShadowsFallback () {\n return this.fallback.length > 0\n },\n selected () {\n if (this.ready && this.anyShadows) {\n return this.cValue[this.selectedId]\n } else {\n return toModel({})\n }\n },\n currentFallback () {\n if (this.ready && this.anyShadowsFallback) {\n return this.fallback[this.selectedId]\n } else {\n return toModel({})\n }\n },\n moveUpValid () {\n return this.ready && this.selectedId > 0\n },\n moveDnValid () {\n return this.ready && this.selectedId < this.cValue.length - 1\n },\n present () {\n return this.ready &&\n typeof this.cValue[this.selectedId] !== 'undefined' &&\n !this.usingFallback\n },\n usingFallback () {\n return typeof this.modelValue === 'undefined'\n },\n rgb () {\n return hex2rgb(this.selected.color)\n },\n style () {\n return this.ready ? {\n boxShadow: getCssShadow(this.fallback)\n } : {}\n }\n }\n}\n","import { render } from \"./shadow_control.vue?vue&type=template&id=02a2d813\"\nimport script from \"./shadow_control.js?vue&type=script&lang=js\"\nexport * from \"./shadow_control.js?vue&type=script&lang=js\"\n\nimport \"./shadow_control.vue?vue&type=style&index=0&id=02a2d813&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { set } from 'lodash'\nimport Select from '../select/select.vue'\n\nexport default {\n components: {\n Select\n },\n props: [\n 'name', 'label', 'modelValue', 'fallback', 'options', 'no-inherit'\n ],\n emits: ['update:modelValue'],\n data () {\n return {\n lValue: this.modelValue,\n availableOptions: [\n this.noInherit ? '' : 'inherit',\n 'custom',\n ...(this.options || []),\n 'serif',\n 'monospace',\n 'sans-serif'\n ].filter(_ => _)\n }\n },\n beforeUpdate () {\n this.lValue = this.modelValue\n },\n computed: {\n present () {\n return typeof this.lValue !== 'undefined'\n },\n dValue () {\n return this.lValue || this.fallback || {}\n },\n family: {\n get () {\n return this.dValue.family\n },\n set (v) {\n set(this.lValue, 'family', v)\n this.$emit('update:modelValue', this.lValue)\n }\n },\n isCustom () {\n return this.preset === 'custom'\n },\n preset: {\n get () {\n if (this.family === 'serif' ||\n this.family === 'sans-serif' ||\n this.family === 'monospace' ||\n this.family === 'inherit') {\n return this.family\n } else {\n return 'custom'\n }\n },\n set (v) {\n this.family = v === 'custom' ? '' : v\n }\n }\n }\n}\n","import { render } from \"./font_control.vue?vue&type=template&id=ceed00ba\"\nimport script from \"./font_control.js?vue&type=script&lang=js\"\nexport * from \"./font_control.js?vue&type=script&lang=js\"\n\nimport \"./font_control.vue?vue&type=style&index=0&id=ceed00ba&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./contrast_ratio.vue?vue&type=template&id=6d90b7c4\"\nimport script from \"./contrast_ratio.vue?vue&type=script&lang=js\"\nexport * from \"./contrast_ratio.vue?vue&type=script&lang=js\"\n\nimport \"./contrast_ratio.vue?vue&type=style&index=0&id=6d90b7c4&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./preview.vue?vue&type=template&id=1d72aedf\"\nimport script from \"./preview.vue?vue&type=script&lang=js\"\nexport * from \"./preview.vue?vue&type=script&lang=js\"\n\nimport \"./preview.vue?vue&type=style&index=0&id=1d72aedf&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import {\n rgb2hex,\n hex2rgb,\n getContrastRatioLayers\n} from 'src/services/color_convert/color_convert.js'\nimport {\n DEFAULT_SHADOWS,\n generateColors,\n generateShadows,\n generateRadii,\n generateFonts,\n composePreset,\n getThemes,\n shadows2to3,\n colors2to3\n} from 'src/services/style_setter/style_setter.js'\nimport {\n newImporter,\n newExporter\n} from 'src/services/export_import/export_import.js'\nimport {\n SLOT_INHERITANCE\n} from 'src/services/theme_data/pleromafe.js'\nimport {\n CURRENT_VERSION,\n OPACITIES,\n getLayers,\n getOpacitySlot\n} from 'src/services/theme_data/theme_data.service.js'\nimport ColorInput from 'src/components/color_input/color_input.vue'\nimport RangeInput from 'src/components/range_input/range_input.vue'\nimport OpacityInput from 'src/components/opacity_input/opacity_input.vue'\nimport ShadowControl from 'src/components/shadow_control/shadow_control.vue'\nimport FontControl from 'src/components/font_control/font_control.vue'\nimport ContrastRatio from 'src/components/contrast_ratio/contrast_ratio.vue'\nimport TabSwitcher from 'src/components/tab_switcher/tab_switcher.jsx'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport Select from 'src/components/select/select.vue'\n\nimport Preview from './preview.vue'\n\n// List of color values used in v1\nconst v1OnlyNames = [\n 'bg',\n 'fg',\n 'text',\n 'link',\n 'cRed',\n 'cGreen',\n 'cBlue',\n 'cOrange'\n].map(_ => _ + 'ColorLocal')\n\nconst colorConvert = (color) => {\n if (color.startsWith('--') || color === 'transparent') {\n return color\n } else {\n return hex2rgb(color)\n }\n}\n\nexport default {\n data () {\n return {\n themeImporter: newImporter({\n validator: this.importValidator,\n onImport: this.onImport,\n onImportFailure: this.onImportFailure\n }),\n themeExporter: newExporter({\n filename: 'pleroma_theme',\n getExportedObject: () => this.exportedTheme\n }),\n availableStyles: [],\n selected: '',\n selectedTheme: this.$store.getters.mergedConfig.theme,\n themeWarning: undefined,\n tempImportFile: undefined,\n engineVersion: 0,\n\n previewShadows: {},\n previewColors: {},\n previewRadii: {},\n previewFonts: {},\n\n shadowsInvalid: true,\n colorsInvalid: true,\n radiiInvalid: true,\n\n keepColor: false,\n keepShadows: false,\n keepOpacity: false,\n keepRoundness: false,\n keepFonts: false,\n\n ...Object.keys(SLOT_INHERITANCE)\n .map(key => [key, ''])\n .reduce((acc, [key, val]) => ({ ...acc, [ key + 'ColorLocal' ]: val }), {}),\n\n ...Object.keys(OPACITIES)\n .map(key => [key, ''])\n .reduce((acc, [key, val]) => ({ ...acc, [ key + 'OpacityLocal' ]: val }), {}),\n\n shadowSelected: undefined,\n shadowsLocal: {},\n fontsLocal: {},\n\n btnRadiusLocal: '',\n inputRadiusLocal: '',\n checkboxRadiusLocal: '',\n panelRadiusLocal: '',\n avatarRadiusLocal: '',\n avatarAltRadiusLocal: '',\n attachmentRadiusLocal: '',\n tooltipRadiusLocal: '',\n chatMessageRadiusLocal: ''\n }\n },\n created () {\n const self = this\n\n getThemes()\n .then((promises) => {\n return Promise.all(\n Object.entries(promises)\n .map(([k, v]) => v.then(res => [k, res]))\n )\n })\n .then(themes => themes.reduce((acc, [k, v]) => {\n if (v) {\n return {\n ...acc,\n [k]: v\n }\n } else {\n return acc\n }\n }, {}))\n .then((themesComplete) => {\n self.availableStyles = themesComplete\n })\n },\n mounted () {\n this.loadThemeFromLocalStorage()\n if (typeof this.shadowSelected === 'undefined') {\n this.shadowSelected = this.shadowsAvailable[0]\n }\n },\n computed: {\n themeWarningHelp () {\n if (!this.themeWarning) return\n const t = this.$t\n const pre = 'settings.style.switcher.help.'\n const {\n origin,\n themeEngineVersion,\n type,\n noActionsPossible\n } = this.themeWarning\n if (origin === 'file') {\n // Loaded v2 theme from file\n if (themeEngineVersion === 2 && type === 'wrong_version') {\n return t(pre + 'v2_imported')\n }\n if (themeEngineVersion > CURRENT_VERSION) {\n return t(pre + 'future_version_imported') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'snapshot_missing')\n : t(pre + 'snapshot_present')\n )\n }\n if (themeEngineVersion < CURRENT_VERSION) {\n return t(pre + 'future_version_imported') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'snapshot_missing')\n : t(pre + 'snapshot_present')\n )\n }\n } else if (origin === 'localStorage') {\n if (type === 'snapshot_source_mismatch') {\n return t(pre + 'snapshot_source_mismatch')\n }\n // FE upgraded from v2\n if (themeEngineVersion === 2) {\n return t(pre + 'upgraded_from_v2')\n }\n // Admin downgraded FE\n if (themeEngineVersion > CURRENT_VERSION) {\n return t(pre + 'fe_downgraded') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'migration_snapshot_ok')\n : t(pre + 'migration_snapshot_gone')\n )\n }\n // Admin upgraded FE\n if (themeEngineVersion < CURRENT_VERSION) {\n return t(pre + 'fe_upgraded') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'migration_snapshot_ok')\n : t(pre + 'migration_snapshot_gone')\n )\n }\n }\n },\n selectedVersion () {\n return Array.isArray(this.selectedTheme) ? 1 : 2\n },\n currentColors () {\n return Object.keys(SLOT_INHERITANCE)\n .map(key => [key, this[key + 'ColorLocal']])\n .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n },\n currentOpacity () {\n return Object.keys(OPACITIES)\n .map(key => [key, this[key + 'OpacityLocal']])\n .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n },\n currentRadii () {\n return {\n btn: this.btnRadiusLocal,\n input: this.inputRadiusLocal,\n checkbox: this.checkboxRadiusLocal,\n panel: this.panelRadiusLocal,\n avatar: this.avatarRadiusLocal,\n avatarAlt: this.avatarAltRadiusLocal,\n tooltip: this.tooltipRadiusLocal,\n attachment: this.attachmentRadiusLocal,\n chatMessage: this.chatMessageRadiusLocal\n }\n },\n preview () {\n return composePreset(this.previewColors, this.previewRadii, this.previewShadows, this.previewFonts)\n },\n previewTheme () {\n if (!this.preview.theme.colors) return { colors: {}, opacity: {}, radii: {}, shadows: {}, fonts: {} }\n return this.preview.theme\n },\n // This needs optimization maybe\n previewContrast () {\n try {\n if (!this.previewTheme.colors.bg) return {}\n const colors = this.previewTheme.colors\n const opacity = this.previewTheme.opacity\n if (!colors.bg) return {}\n const hints = (ratio) => ({\n text: ratio.toPrecision(3) + ':1',\n // AA level, AAA level\n aa: ratio >= 4.5,\n aaa: ratio >= 7,\n // same but for 18pt+ texts\n laa: ratio >= 3,\n laaa: ratio >= 4.5\n })\n const colorsConverted = Object.entries(colors).reduce((acc, [key, value]) => ({ ...acc, [key]: colorConvert(value) }), {})\n\n const ratios = Object.entries(SLOT_INHERITANCE).reduce((acc, [key, value]) => {\n const slotIsBaseText = key === 'text' || key === 'link'\n const slotIsText = slotIsBaseText || (\n typeof value === 'object' && value !== null && value.textColor\n )\n if (!slotIsText) return acc\n const { layer, variant } = slotIsBaseText ? { layer: 'bg' } : value\n const background = variant || layer\n const opacitySlot = getOpacitySlot(background)\n const textColors = [\n key,\n ...(background === 'bg' ? ['cRed', 'cGreen', 'cBlue', 'cOrange'] : [])\n ]\n\n const layers = getLayers(\n layer,\n variant || layer,\n opacitySlot,\n colorsConverted,\n opacity\n )\n\n return {\n ...acc,\n ...textColors.reduce((acc, textColorKey) => {\n const newKey = slotIsBaseText\n ? 'bg' + textColorKey[0].toUpperCase() + textColorKey.slice(1)\n : textColorKey\n return {\n ...acc,\n [newKey]: getContrastRatioLayers(\n colorsConverted[textColorKey],\n layers,\n colorsConverted[textColorKey]\n )\n }\n }, {})\n }\n }, {})\n\n return Object.entries(ratios).reduce((acc, [k, v]) => { acc[k] = hints(v); return acc }, {})\n } catch (e) {\n console.warn('Failure computing contrasts', e)\n }\n },\n previewRules () {\n if (!this.preview.rules) return ''\n return [\n ...Object.values(this.preview.rules),\n 'color: var(--text)',\n 'font-family: var(--interfaceFont, sans-serif)'\n ].join(';')\n },\n shadowsAvailable () {\n return Object.keys(DEFAULT_SHADOWS).sort()\n },\n currentShadowOverriden: {\n get () {\n return !!this.currentShadow\n },\n set (val) {\n if (val) {\n this.shadowsLocal[this.shadowSelected] = this.currentShadowFallback.map(_ => Object.assign({}, _))\n } else {\n delete this.shadowsLocal[this.shadowSelected]\n }\n }\n },\n currentShadowFallback () {\n return (this.previewTheme.shadows || {})[this.shadowSelected]\n },\n currentShadow: {\n get () {\n return this.shadowsLocal[this.shadowSelected]\n },\n set (v) {\n this.shadowsLocal[this.shadowSelected] = v\n }\n },\n themeValid () {\n return !this.shadowsInvalid && !this.colorsInvalid && !this.radiiInvalid\n },\n exportedTheme () {\n const saveEverything = (\n !this.keepFonts &&\n !this.keepShadows &&\n !this.keepOpacity &&\n !this.keepRoundness &&\n !this.keepColor\n )\n\n const source = {\n themeEngineVersion: CURRENT_VERSION\n }\n\n if (this.keepFonts || saveEverything) {\n source.fonts = this.fontsLocal\n }\n if (this.keepShadows || saveEverything) {\n source.shadows = this.shadowsLocal\n }\n if (this.keepOpacity || saveEverything) {\n source.opacity = this.currentOpacity\n }\n if (this.keepColor || saveEverything) {\n source.colors = this.currentColors\n }\n if (this.keepRoundness || saveEverything) {\n source.radii = this.currentRadii\n }\n\n const theme = {\n themeEngineVersion: CURRENT_VERSION,\n ...this.previewTheme\n }\n\n return {\n // To separate from other random JSON files and possible future source formats\n _pleroma_theme_version: 2, theme, source\n }\n },\n isActive () {\n const tabSwitcher = this.$parent\n return tabSwitcher ? tabSwitcher.isActive('theme') : false\n }\n },\n components: {\n ColorInput,\n OpacityInput,\n RangeInput,\n ContrastRatio,\n ShadowControl,\n FontControl,\n TabSwitcher,\n Preview,\n Checkbox,\n Select\n },\n methods: {\n loadTheme (\n {\n theme,\n source,\n _pleroma_theme_version: fileVersion\n },\n origin,\n forceUseSource = false\n ) {\n this.dismissWarning()\n if (!source && !theme) {\n throw new Error('Can\\'t load theme: empty')\n }\n const version = (origin === 'localStorage' && !theme.colors)\n ? 'l1'\n : fileVersion\n const snapshotEngineVersion = (theme || {}).themeEngineVersion\n const themeEngineVersion = (source || {}).themeEngineVersion || 2\n const versionsMatch = themeEngineVersion === CURRENT_VERSION\n const sourceSnapshotMismatch = (\n theme !== undefined &&\n source !== undefined &&\n themeEngineVersion !== snapshotEngineVersion\n )\n // Force loading of source if user requested it or if snapshot\n // is unavailable\n const forcedSourceLoad = (source && forceUseSource) || !theme\n if (!(versionsMatch && !sourceSnapshotMismatch) &&\n !forcedSourceLoad &&\n version !== 'l1' &&\n origin !== 'defaults'\n ) {\n if (sourceSnapshotMismatch && origin === 'localStorage') {\n this.themeWarning = {\n origin,\n themeEngineVersion,\n type: 'snapshot_source_mismatch'\n }\n } else if (!theme) {\n this.themeWarning = {\n origin,\n noActionsPossible: true,\n themeEngineVersion,\n type: 'no_snapshot_old_version'\n }\n } else if (!versionsMatch) {\n this.themeWarning = {\n origin,\n noActionsPossible: !source,\n themeEngineVersion,\n type: 'wrong_version'\n }\n }\n }\n this.normalizeLocalState(theme, version, source, forcedSourceLoad)\n },\n forceLoadLocalStorage () {\n this.loadThemeFromLocalStorage(true)\n },\n dismissWarning () {\n this.themeWarning = undefined\n this.tempImportFile = undefined\n },\n forceLoad () {\n const { origin } = this.themeWarning\n switch (origin) {\n case 'localStorage':\n this.loadThemeFromLocalStorage(true)\n break\n case 'file':\n this.onImport(this.tempImportFile, true)\n break\n }\n this.dismissWarning()\n },\n forceSnapshot () {\n const { origin } = this.themeWarning\n switch (origin) {\n case 'localStorage':\n this.loadThemeFromLocalStorage(false, true)\n break\n case 'file':\n console.error('Forcing snapshot from file is not supported yet')\n break\n }\n this.dismissWarning()\n },\n loadThemeFromLocalStorage (confirmLoadSource = false, forceSnapshot = false) {\n const {\n customTheme: theme,\n customThemeSource: source\n } = this.$store.getters.mergedConfig\n if (!theme && !source) {\n // Anon user or never touched themes\n this.loadTheme(\n this.$store.state.instance.themeData,\n 'defaults',\n confirmLoadSource\n )\n } else {\n this.loadTheme(\n {\n theme,\n source: forceSnapshot ? theme : source\n },\n 'localStorage',\n confirmLoadSource\n )\n }\n },\n setCustomTheme () {\n this.$store.dispatch('setOption', {\n name: 'customTheme',\n value: {\n themeEngineVersion: CURRENT_VERSION,\n ...this.previewTheme\n }\n })\n this.$store.dispatch('setOption', {\n name: 'customThemeSource',\n value: {\n themeEngineVersion: CURRENT_VERSION,\n shadows: this.shadowsLocal,\n fonts: this.fontsLocal,\n opacity: this.currentOpacity,\n colors: this.currentColors,\n radii: this.currentRadii\n }\n })\n },\n updatePreviewColorsAndShadows () {\n this.previewColors = generateColors({\n opacity: this.currentOpacity,\n colors: this.currentColors\n })\n this.previewShadows = generateShadows(\n { shadows: this.shadowsLocal, opacity: this.previewTheme.opacity, themeEngineVersion: this.engineVersion },\n this.previewColors.theme.colors,\n this.previewColors.mod\n )\n },\n importTheme () { this.themeImporter.importData() },\n exportTheme () { this.themeExporter.exportData() },\n onImport (parsed, forceSource = false) {\n this.tempImportFile = parsed\n this.loadTheme(parsed, 'file', forceSource)\n },\n onImportFailure (result) {\n this.$store.dispatch('pushGlobalNotice', { messageKey: 'settings.invalid_theme_imported', level: 'error' })\n },\n importValidator (parsed) {\n const version = parsed._pleroma_theme_version\n return version >= 1 || version <= 2\n },\n clearAll () {\n this.loadThemeFromLocalStorage()\n },\n\n // Clears all the extra stuff when loading V1 theme\n clearV1 () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('ColorLocal') || _.endsWith('OpacityLocal'))\n .filter(_ => !v1OnlyNames.includes(_))\n .forEach(key => {\n this.$data[key] = undefined\n })\n },\n\n clearRoundness () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('RadiusLocal'))\n .forEach(key => {\n this.$data[key] = undefined\n })\n },\n\n clearOpacity () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('OpacityLocal'))\n .forEach(key => {\n this.$data[key] = undefined\n })\n },\n\n clearShadows () {\n this.shadowsLocal = {}\n },\n\n clearFonts () {\n this.fontsLocal = {}\n },\n\n /**\n * This applies stored theme data onto form. Supports three versions of data:\n * v3 (version >= 3) - newest version of themes which supports snapshots for better compatiblity\n * v2 (version = 2) - newer version of themes.\n * v1 (version = 1) - older version of themes (import from file)\n * v1l (version = l1) - older version of theme (load from local storage)\n * v1 and v1l differ because of way themes were stored/exported.\n * @param {Object} theme - theme data (snapshot)\n * @param {Number} version - version of data. 0 means try to guess based on data. \"l1\" means v1, locastorage type\n * @param {Object} source - theme source - this will be used if compatible\n * @param {Boolean} source - by default source won't be used if version doesn't match since it might render differently\n * this allows importing source anyway\n */\n normalizeLocalState (theme, version = 0, source, forceSource = false) {\n let input\n if (typeof source !== 'undefined') {\n if (forceSource || source.themeEngineVersion === CURRENT_VERSION) {\n input = source\n version = source.themeEngineVersion\n } else {\n input = theme\n }\n } else {\n input = theme\n }\n\n const radii = input.radii || input\n const opacity = input.opacity\n const shadows = input.shadows || {}\n const fonts = input.fonts || {}\n const colors = !input.themeEngineVersion\n ? colors2to3(input.colors || input)\n : input.colors || input\n\n if (version === 0) {\n if (input.version) version = input.version\n // Old v1 naming: fg is text, btn is foreground\n if (typeof colors.text === 'undefined' && typeof colors.fg !== 'undefined') {\n version = 1\n }\n // New v2 naming: text is text, fg is foreground\n if (typeof colors.text !== 'undefined' && typeof colors.fg !== 'undefined') {\n version = 2\n }\n }\n\n this.engineVersion = version\n\n // Stuff that differs between V1 and V2\n if (version === 1) {\n this.fgColorLocal = rgb2hex(colors.btn)\n this.textColorLocal = rgb2hex(colors.fg)\n }\n\n if (!this.keepColor) {\n this.clearV1()\n const keys = new Set(version !== 1 ? Object.keys(SLOT_INHERITANCE) : [])\n if (version === 1 || version === 'l1') {\n keys\n .add('bg')\n .add('link')\n .add('cRed')\n .add('cBlue')\n .add('cGreen')\n .add('cOrange')\n }\n\n keys.forEach(key => {\n const color = colors[key]\n const hex = rgb2hex(colors[key])\n this[key + 'ColorLocal'] = hex === '#aN' ? color : hex\n })\n }\n\n if (opacity && !this.keepOpacity) {\n this.clearOpacity()\n Object.entries(opacity).forEach(([k, v]) => {\n if (typeof v === 'undefined' || v === null || Number.isNaN(v)) return\n this[k + 'OpacityLocal'] = v\n })\n }\n\n if (!this.keepRoundness) {\n this.clearRoundness()\n Object.entries(radii).forEach(([k, v]) => {\n // 'Radius' is kept mostly for v1->v2 localstorage transition\n const key = k.endsWith('Radius') ? k.split('Radius')[0] : k\n this[key + 'RadiusLocal'] = v\n })\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n if (version === 2) {\n this.shadowsLocal = shadows2to3(shadows, this.previewTheme.opacity)\n } else {\n this.shadowsLocal = shadows\n }\n this.shadowSelected = this.shadowsAvailable[0]\n }\n\n if (!this.keepFonts) {\n this.clearFonts()\n this.fontsLocal = fonts\n }\n }\n },\n watch: {\n currentRadii () {\n try {\n this.previewRadii = generateRadii({ radii: this.currentRadii })\n this.radiiInvalid = false\n } catch (e) {\n this.radiiInvalid = true\n console.warn(e)\n }\n },\n shadowsLocal: {\n handler () {\n if (Object.getOwnPropertyNames(this.previewColors).length === 1) return\n try {\n this.updatePreviewColorsAndShadows()\n this.shadowsInvalid = false\n } catch (e) {\n this.shadowsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n fontsLocal: {\n handler () {\n try {\n this.previewFonts = generateFonts({ fonts: this.fontsLocal })\n this.fontsInvalid = false\n } catch (e) {\n this.fontsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n currentColors () {\n try {\n this.updatePreviewColorsAndShadows()\n this.colorsInvalid = false\n this.shadowsInvalid = false\n } catch (e) {\n this.colorsInvalid = true\n this.shadowsInvalid = true\n console.warn(e)\n }\n },\n currentOpacity () {\n try {\n this.updatePreviewColorsAndShadows()\n } catch (e) {\n console.warn(e)\n }\n },\n selected () {\n this.selectedTheme = Object.entries(this.availableStyles).find(([k, s]) => {\n if (Array.isArray(s)) {\n console.log(s[0] === this.selected, this.selected)\n return s[0] === this.selected\n } else {\n return s.name === this.selected\n }\n })[1]\n },\n selectedTheme () {\n this.dismissWarning()\n if (this.selectedVersion === 1) {\n if (!this.keepRoundness) {\n this.clearRoundness()\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n }\n\n if (!this.keepOpacity) {\n this.clearOpacity()\n }\n\n if (!this.keepColor) {\n this.clearV1()\n\n this.bgColorLocal = this.selectedTheme[1]\n this.fgColorLocal = this.selectedTheme[2]\n this.textColorLocal = this.selectedTheme[3]\n this.linkColorLocal = this.selectedTheme[4]\n this.cRedColorLocal = this.selectedTheme[5]\n this.cGreenColorLocal = this.selectedTheme[6]\n this.cBlueColorLocal = this.selectedTheme[7]\n this.cOrangeColorLocal = this.selectedTheme[8]\n }\n } else if (this.selectedVersion >= 2) {\n this.normalizeLocalState(this.selectedTheme.theme, 2, this.selectedTheme.source)\n }\n }\n }\n}\n","import { render } from \"./theme_tab.vue?vue&type=template&id=1128449a\"\nimport script from \"./theme_tab.js?vue&type=script&lang=js\"\nexport * from \"./theme_tab.js?vue&type=script&lang=js\"\n\nimport \"./theme_tab.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import TabSwitcher from 'src/components/tab_switcher/tab_switcher.jsx'\n\nimport DataImportExportTab from './tabs/data_import_export_tab.vue'\nimport MutesAndBlocksTab from './tabs/mutes_and_blocks_tab.vue'\nimport NotificationsTab from './tabs/notifications_tab.vue'\nimport FilteringTab from './tabs/filtering_tab.vue'\nimport SecurityTab from './tabs/security_tab/security_tab.vue'\nimport ProfileTab from './tabs/profile_tab.vue'\nimport GeneralTab from './tabs/general_tab.vue'\nimport VersionTab from './tabs/version_tab.vue'\nimport ThemeTab from './tabs/theme_tab/theme_tab.vue'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faWrench,\n faUser,\n faFilter,\n faPaintBrush,\n faBell,\n faDownload,\n faEyeSlash,\n faInfo\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faWrench,\n faUser,\n faFilter,\n faPaintBrush,\n faBell,\n faDownload,\n faEyeSlash,\n faInfo\n)\n\nconst SettingsModalContent = {\n components: {\n TabSwitcher,\n\n DataImportExportTab,\n MutesAndBlocksTab,\n NotificationsTab,\n FilteringTab,\n SecurityTab,\n ProfileTab,\n GeneralTab,\n VersionTab,\n ThemeTab\n },\n computed: {\n isLoggedIn () {\n return !!this.$store.state.users.currentUser\n },\n open () {\n return this.$store.state.interface.settingsModalState !== 'hidden'\n },\n bodyLock () {\n return this.$store.state.interface.settingsModalState === 'visible'\n }\n },\n methods: {\n onOpen () {\n const targetTab = this.$store.state.interface.settingsModalTargetTab\n // We're being told to open in specific tab\n if (targetTab) {\n const tabIndex = this.$refs.tabSwitcher.$slots.default().findIndex(elm => {\n return elm.props && elm.props['data-tab-name'] === targetTab\n })\n if (tabIndex >= 0) {\n this.$refs.tabSwitcher.setTab(tabIndex)\n }\n }\n // Clear the state of target tab, so that next time settings is opened\n // it doesn't force it.\n this.$store.dispatch('clearSettingsModalTargetTab')\n }\n },\n mounted () {\n this.onOpen()\n },\n watch: {\n open: function (value) {\n if (value) this.onOpen()\n }\n }\n}\n\nexport default SettingsModalContent\n","import { render } from \"./settings_modal_content.vue?vue&type=template&id=6191ca84\"\nimport script from \"./settings_modal_content.js?vue&type=script&lang=js\"\nexport * from \"./settings_modal_content.js?vue&type=script&lang=js\"\n\nimport \"./settings_modal_content.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n"],"sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/app.23b7ec270c69f4f99782.js b/priv/static/static/js/app.23b7ec270c69f4f99782.js deleted file mode 100644 index 13f276c8f..000000000 --- a/priv/static/static/js/app.23b7ec270c69f4f99782.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e){function t(t){for(var r,i,a=t[0],c=t[1],l=t[2],u=0,p=[];u]*>/g,"")),value:unescape(e.value.replace(/<[^>]*>/g,""))}})),t.profile_image_url=e.avatar,t.profile_image_url_original=e.avatar,t.cover_photo=e.header,t.friends_count=e.following_count,t.bot=e.bot,e.pleroma){var i=e.pleroma.relationship;t.background_image=e.pleroma.background_image,t.favicon=e.pleroma.favicon,t.token=e.pleroma.chat_token,i&&(t.relationship=i),t.allow_following_move=e.pleroma.allow_following_move,t.hide_follows=e.pleroma.hide_follows,t.hide_followers=e.pleroma.hide_followers,t.hide_follows_count=e.pleroma.hide_follows_count,t.hide_followers_count=e.pleroma.hide_followers_count,t.rights={moderator:e.pleroma.is_moderator,admin:e.pleroma.is_admin},t.rights.admin?t.role="admin":t.rights.moderator?t.role="moderator":t.role="member"}e.source&&(t.description=e.source.note,t.default_scope=e.source.privacy,t.fields=e.source.fields,e.source.pleroma&&(t.no_rich_text=e.source.pleroma.no_rich_text,t.show_role=e.source.pleroma.show_role,t.discoverable=e.source.pleroma.discoverable)),t.is_local=!t.screen_name.includes("@")}else t.screen_name=e.screen_name,t.name=e.name,t.name_html=e.name_html,t.description=e.description,t.description_html=e.description_html,t.profile_image_url=e.profile_image_url,t.profile_image_url_original=e.profile_image_url_original,t.cover_photo=e.cover_photo,t.friends_count=e.friends_count,t.statusnet_profile_url=e.statusnet_profile_url,t.is_local=e.is_local,t.role=e.role,t.show_role=e.show_role,e.rights&&(t.rights={moderator:e.rights.delete_others_notice,admin:e.rights.admin}),t.no_rich_text=e.no_rich_text,t.default_scope=e.default_scope,t.hide_follows=e.hide_follows,t.hide_followers=e.hide_followers,t.hide_follows_count=e.hide_follows_count,t.hide_followers_count=e.hide_followers_count,t.background_image=e.background_image,t.token=e.token,t.relationship={muting:e.muted,blocking:e.statusnet_blocking,followed_by:e.follows_you,following:e.following};if(t.created_at=new Date(e.created_at),t.locked=e.locked,t.followers_count=e.followers_count,t.statuses_count=e.statuses_count,e.pleroma&&(t.follow_request_count=e.pleroma.follow_request_count,t.tags=e.pleroma.tags,t.deactivated=void 0!==e.pleroma.is_active?!e.pleroma.is_active:e.pleroma.deactivated,t.notification_settings=e.pleroma.notification_settings,t.unread_chat_count=e.pleroma.unread_chat_count),t.tags=t.tags||[],t.rights=t.rights||{},t.notification_settings=t.notification_settings||{},t.screen_name_ui=t.screen_name,t.screen_name&&t.screen_name.includes("@")){var o=t.screen_name.split("@"),a=u.a.toUnicode(o[1]);a!==o[1]&&(a="🌏"+a,t.screen_name_ui=[o[0],a].join("@"))}return t},b=function(e){var t={};return!e.hasOwnProperty("oembed")?(t.mimetype=e.pleroma?e.pleroma.mime_type:e.type,t.meta=e.meta,t.id=e.id):t.mimetype=e.mimetype,t.url=e.url,t.large_thumb_url=e.preview_url,t.description=e.description,t},m=function e(t){var n={},r=t.hasOwnProperty("account");if(r){if(n.favorited=t.favourited,n.fave_num=t.favourites_count,n.repeated=t.reblogged,n.repeat_num=t.reblogs_count,n.bookmarked=t.bookmarked,n.type=t.reblog?"retweet":"status",n.nsfw=t.sensitive,n.raw_html=t.content,n.emojis=t.emojis,n.tags=t.tags,t.pleroma){var i=t.pleroma;n.text=i.content?t.pleroma.content["text/plain"]:t.content,n.summary=i.spoiler_text?t.pleroma.spoiler_text["text/plain"]:t.spoiler_text,n.statusnet_conversation_id=t.pleroma.conversation_id,n.is_local=i.local,n.in_reply_to_screen_name=t.pleroma.in_reply_to_account_acct,n.thread_muted=i.thread_muted,n.emoji_reactions=i.emoji_reactions,n.parent_visible=void 0===i.parent_visible||i.parent_visible}else n.text=t.content,n.summary=t.spoiler_text;if(t.akkoma){var o=t.akkoma;o&&o.source&&"text/x.misskeymarkdown"===o.source.mediaType&&(n.mfm_content=o.source.content)}else n.mfm_content=null;n.in_reply_to_status_id=t.in_reply_to_id,n.in_reply_to_user_id=t.in_reply_to_account_id,n.replies_count=t.replies_count,"retweet"===n.type&&(n.retweeted_status=e(t.reblog)),n.summary_raw_html=s()(t.spoiler_text),n.external_url=t.url,n.poll=t.poll,n.poll&&(n.poll.options=(n.poll.options||[]).map((function(e){return p(p({},e),{},{title_html:s()(e.title)})}))),n.pinned=t.pinned,n.muted=t.muted}else n.favorited=t.favorited,n.fave_num=t.fave_num,n.repeated=t.repeated,n.repeat_num=t.repeat_num,n.type=function(e){return e.is_post_verb?"status":e.retweeted_status?"retweet":"string"==typeof e.uri&&e.uri.match(/(fave|objectType=Favourite)/)||"string"==typeof e.text&&e.text.match(/favorited/)?"favorite":e.text.match(/deleted notice {{tag/)||e.qvitter_delete_notice?"deletion":e.text.match(/started following/)||"follow"===e.activity_type?"follow":"unknown"}(t),void 0===t.nsfw?(n.nsfw=O(t),t.retweeted_status&&(n.nsfw=t.retweeted_status.nsfw)):n.nsfw=t.nsfw,n.raw_html=t.statusnet_html,n.text=t.text,n.in_reply_to_status_id=t.in_reply_to_status_id,n.in_reply_to_user_id=t.in_reply_to_user_id,n.in_reply_to_screen_name=t.in_reply_to_screen_name,n.statusnet_conversation_id=t.statusnet_conversation_id,"retweet"===n.type&&(n.retweeted_status=e(t.retweeted_status)),n.summary=t.summary,n.summary_html=t.summary_html,n.external_url=t.external_url,n.is_local=t.is_local;n.id=String(t.id),n.visibility=t.visibility,n.card=t.card,n.created_at=new Date(t.created_at),n.in_reply_to_status_id=n.in_reply_to_status_id?String(n.in_reply_to_status_id):null,n.in_reply_to_user_id=n.in_reply_to_user_id?String(n.in_reply_to_user_id):null,n.user=h(r?t.account:t.user),n.attentions=((r?t.mentions:t.attentions)||[]).map(h),n.attachments=((r?t.media_attachments:t.attachments)||[]).map(b);var a=r?t.reblog:t.retweeted_status;return a&&(n.retweeted_status=e(a)),n.favoritedBy=[],n.rebloggedBy=[],n},f=function(e){var t={};if(!e.hasOwnProperty("ntype"))t.type={favourite:"like",reblog:"repeat"}[e.type]||e.type,t.seen=e.pleroma.is_seen,t.status=Object(l.b)(t.type)?m(e.status):null,t.action=t.status,t.target="move"!==t.type?null:h(e.target),t.from_profile=h(e.account),t.emoji=e.emoji,t.emoji_url=e.emoji_url;else{var n=m(e.notice);t.type=e.ntype,t.seen=Boolean(e.is_seen),t.status="like"===t.type?m(e.notice.favorited_status):n,t.action=n,t.from_profile="pleroma:chat_mention"===t.type?h(e.account):h(e.from_profile)}return t.created_at=new Date(e.created_at),t.id=parseInt(e.id),t},O=function(e){return(e.tags||[]).includes("nsfw")||!!(e.text||"").match(/#nsfw/i)},j=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.flakeId,r=c()(e);if(r){var i=r.next.max_id,o=r.prev.min_id;return{maxId:n?i:parseInt(i,10),minId:n?o:parseInt(o,10)}}},g=function(e){var t={};return t.id=e.id,t.account=h(e.account),t.unread=e.unread,t.lastMessage=v(e.last_message),t.updated_at=new Date(e.updated_at),t},v=function(e){if(e){if(e.isNormalized)return e;var t=e;return t.id=e.id,t.created_at=new Date(e.created_at),t.chat_id=e.chat_id,t.emojis=e.emojis,t.content=e.content,e.attachment?t.attachments=[b(e.attachment)]:t.attachments=[],t.pending=!!e.pending,t.error=!1,t.idempotency_key=e.idempotency_key,t.isNormalized=!0,t}}},function(e,t,n){"use strict";n.d(t,"d",(function(){return xe})),n.d(t,"a",(function(){return Ie})),n.d(t,"b",(function(){return ze}));var r=n(13),i=n.n(r),o=n(40),s=n.n(o),a=n(11),c=n.n(a),l=n(5),u=n.n(l),d=n(16),p=n.n(d),h=n(46),b=n.n(h),m=n(97),f=n.n(m),O=n(21),j=n.n(O),g=n(29),v=n.n(g),y=n(10),w=n.n(y),k=n(14),_=n(28),S=n.n(_),C=n(128),P=n.n(C),x=n(129),D=n.n(x),T=n(165),I=n.n(T),$=n(314),z=n.n($),M=n(315),U=n.n(M),F=n(130),E=n.n(F),L=n(316),R=n.n(L),A=n(12),N=n.n(A),B=n(166),V=n.n(B);function H(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=E()(e);if(t){var i=E()(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return U()(this,n)}}function q(e,t,n,r){this.name="StatusCodeError",this.statusCode=e,this.message=e+" - "+(JSON&&JSON.stringify?JSON.stringify(t):t),this.error=t,this.options=n,this.response=r,Error.captureStackTrace&&Error.captureStackTrace(this)}q.prototype=Object.create(Error.prototype),q.prototype.constructor=q;var J=function(e){z()(n,e);var t=H(n);function n(e){var r,i;D()(this,n),r=t.call(this),Error.captureStackTrace&&Error.captureStackTrace(I()(r));try{if("string"==typeof e&&(e=JSON.parse(e)).hasOwnProperty("error")&&(e=JSON.parse(e.error)),"object"===S()(e)){var o=JSON.parse(e.error);o.ap_id&&(o.username=o.ap_id,delete o.ap_id),r.message=(i=o,Object.entries(i).reduce((function(e,t){var n=c()(t,2),r=n[0],i=n[1].reduce((function(e,t){return e+[V()(r.replace(/_/g," ")),t].join(" ")+". "}),"");return[].concat(N()(e),[i])}),[]))}else r.message=e}catch(t){r.message=e}return r}return P()(n)}(R()(Error)),W=["nickname"],Y=["id","credentials"];function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function K(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:function(e){return e};e.addEventListener(t,(function(e){s.dispatchEvent(new CustomEvent(t,{detail:n(e)}))}))};return a.addEventListener("open",(function(e){console.debug("[WS][".concat(o,"] Socket connected"),e)})),a.addEventListener("error",(function(e){console.debug("[WS][".concat(o,"] Socket errored"),e)})),a.addEventListener("close",(function(e){console.debug("[WS][".concat(o,"] Socket disconnected with code ").concat(e.code),e)})),c(a,"open"),c(a,"close"),c(a,"message",r),c(a,"error"),s.close=function(){a.close(1e3,"Shutting down socket")},s.getState=function(){return a.readyState},s},$e=function(e){var t=e.data;if(t){var n=JSON.parse(t),r=n.event,i=n.payload;if(!De.has(r)&&!Te.has(r))return console.warn("Unknown event",e),null;if("delete"===r)return{event:r,id:i};var o=i?JSON.parse(i):null;return"update"===r?{event:r,status:Object(k.f)(o)}:"notification"===r?{event:r,notification:Object(k.e)(o)}:"pleroma:chat_update"===r?{event:r,chatUpdate:Object(k.b)(o)}:void 0}},ze=Object.freeze({JOINED:1,CLOSED:2,ERROR:3,DISABLED:4,STARTING:5,STARTING_INITIAL:6}),Me={verifyCredentials:function(e){return _e("/api/v1/accounts/verify_credentials",{headers:Ce(e)}).then((function(e){return e.ok?e.json():{error:e}})).then((function(e){return e.error?e:Object(k.g)(e)}))},fetchTimeline:function(e){var t=e.timeline,n=e.credentials,r=e.since,i=void 0!==r&&r,o=e.until,s=void 0!==o&&o,a=e.userId,c=void 0!==a&&a,l=e.tag,u=void 0!==l&&l,d=e.withMuted,p=void 0!==d&&d,h=e.replyVisibility,b=void 0===h?"all":h,m="notifications"===t,f=[],O={public:"/api/v1/timelines/public",friends:"/api/v1/timelines/home",dms:"/api/v1/timelines/direct",notifications:"/api/v1/notifications",publicAndExternal:"/api/v1/timelines/public",user:re,media:re,favorites:"/api/v1/favourites",tag:ie,bookmarks:"/api/v1/bookmarks"}[t];"user"!==t&&"media"!==t||(O=O(c)),i&&f.push(["since_id",i]),s&&f.push(["max_id",s]),u&&(O=O(u)),"media"===t&&f.push(["only_media",1]),"public"===t&&f.push(["local",!0]),"public"!==t&&"publicAndExternal"!==t||f.push(["only_media",!1]),"favorites"!==t&&"bookmarks"!==t&&f.push(["with_muted",p]),"all"!==b&&f.push(["reply_visibility",b]),f.push(["limit",20]);var g=j()(f,(function(e){return"".concat(e[0],"=").concat(e[1])})).join("&");O+="?".concat(g);var v="",y="",w={};return _e(O,{headers:Ce(n)}).then((function(e){return v=e.status,y=e.statusText,w=Object(k.d)(e.headers.get("Link"),{flakeId:"bookmarks"!==t&&"notifications"!==t}),e})).then((function(e){return e.json()})).then((function(e){return e.errors?(e.status=v,e.statusText=y,e):{data:e.map(m?k.e:k.f),pagination:w}}))},fetchPinnedStatuses:function(e){var t=e.id,n=e.credentials,r=re(t)+"?pinned=true";return Se({url:r,credentials:n}).then((function(e){return e.map(k.f)}))},fetchConversation:function(e){var t=e.id,n=e.credentials,r=function(e){return"/api/v1/statuses/".concat(e,"/context")}(t);return _e(r,{headers:Ce(n)}).then((function(e){if(e.ok)return e;throw new Error("Error fetching timeline",e)})).then((function(e){return e.json()})).then((function(e){var t=e.ancestors,n=e.descendants;return{ancestors:t.map(k.f),descendants:n.map(k.f)}}))},fetchStatus:function(e){var t=e.id,n=e.credentials,r=function(e){return"/api/v1/statuses/".concat(e)}(t);return _e(r,{headers:Ce(n)}).then((function(e){if(e.ok)return e;throw new Error("Error fetching timeline",e)})).then((function(e){return e.json()})).then((function(e){return Object(k.f)(e)}))},fetchFriends:Pe,exportFriends:function(e){var t,n=e.id,r=e.credentials;return new Promise((t=i()(w.a.mark((function e(t,i){var o,s,a,c;return w.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.prev=0,o=[],s=!0;case 3:if(!s){e.next=12;break}return a=o.length>0?b()(o).id:void 0,e.next=7,Pe({id:n,maxId:a,credentials:r});case 7:c=e.sent,o=f()(o,c),0===c.length&&(s=!1),e.next=3;break;case 12:t(o),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(0),i(e.t0);case 18:case"end":return e.stop()}}),e,null,[[0,15]])}))),function(e,n){return t.apply(this,arguments)}))},fetchFollowers:function(e){var t=e.id,n=e.maxId,r=e.sinceId,i=e.limit,o=void 0===i?20:i,s=e.credentials,a=function(e){return"/api/v1/accounts/".concat(e,"/followers")}(t),c=[n&&"max_id=".concat(n),r&&"since_id=".concat(r),o&&"limit=".concat(o),"with_relationships=true"].filter((function(e){return e})).join("&");return _e(a+=c?"?"+c:"",{headers:Ce(s)}).then((function(e){return e.json()})).then((function(e){return e.map(k.g)}))},followUser:function(e){var t=e.id,n=e.credentials,r=s()(e,Y),i=function(e){return"/api/v1/accounts/".concat(e,"/follow")}(t),o={};return void 0!==r.reblogs&&(o.reblogs=r.reblogs),_e(i,{body:JSON.stringify(o),headers:K(K({},Ce(n)),{},{"Content-Type":"application/json"}),method:"POST"}).then((function(e){return e.json()}))},unfollowUser:function(e){var t=e.id,n=e.credentials,r=function(e){return"/api/v1/accounts/".concat(e,"/unfollow")}(t);return _e(r,{headers:Ce(n),method:"POST"}).then((function(e){return e.json()}))},pinOwnStatus:function(e){var t=e.id,n=e.credentials;return Se({url:he(t),credentials:n,method:"POST"}).then((function(e){return Object(k.f)(e)}))},unpinOwnStatus:function(e){var t=e.id,n=e.credentials;return Se({url:be(t),credentials:n,method:"POST"}).then((function(e){return Object(k.f)(e)}))},muteConversation:function(e){var t=e.id,n=e.credentials;return Se({url:me(t),credentials:n,method:"POST"}).then((function(e){return Object(k.f)(e)}))},unmuteConversation:function(e){var t=e.id,n=e.credentials;return Se({url:fe(t),credentials:n,method:"POST"}).then((function(e){return Object(k.f)(e)}))},blockUser:function(e){var t=e.id,n=e.credentials;return _e(function(e){return"/api/v1/accounts/".concat(e,"/block")}(t),{headers:Ce(n),method:"POST"}).then((function(e){return e.json()}))},unblockUser:function(e){var t=e.id,n=e.credentials;return _e(function(e){return"/api/v1/accounts/".concat(e,"/unblock")}(t),{headers:Ce(n),method:"POST"}).then((function(e){return e.json()}))},fetchUser:function(e){var t=e.id,n=e.credentials,r="".concat("/api/v1/accounts","/").concat(t);return Se({url:r,credentials:n}).then((function(e){return Object(k.g)(e)}))},fetchUserRelationship:function(e){var t=e.id,n=e.credentials,r="".concat("/api/v1/accounts/relationships","/?id=").concat(t);return _e(r,{headers:Ce(n)}).then((function(e){return new Promise((function(t,n){return e.json().then((function(i){return e.ok?t(i):n(new q(e.status,i,{url:r},e))}))}))}))},favorite:function(e){var t=e.id,n=e.credentials;return Se({url:Q(t),method:"POST",credentials:n}).then((function(e){return Object(k.f)(e)}))},unfavorite:function(e){var t=e.id,n=e.credentials;return Se({url:ee(t),method:"POST",credentials:n}).then((function(e){return Object(k.f)(e)}))},retweet:function(e){var t=e.id,n=e.credentials;return Se({url:te(t),method:"POST",credentials:n}).then((function(e){return Object(k.f)(e)}))},unretweet:function(e){var t=e.id,n=e.credentials;return Se({url:ne(t),method:"POST",credentials:n}).then((function(e){return Object(k.f)(e)}))},bookmarkStatus:function(e){var t=e.id,n=e.credentials;return Se({url:le(t),headers:Ce(n),method:"POST"})},unbookmarkStatus:function(e){var t=e.id,n=e.credentials;return Se({url:ue(t),headers:Ce(n),method:"POST"})},postStatus:function(e){var t=e.credentials,n=e.status,r=e.spoilerText,i=e.visibility,o=e.sensitive,s=e.poll,a=e.mediaIds,c=void 0===a?[]:a,l=e.inReplyToStatusId,u=e.contentType,d=e.preview,p=e.idempotencyKey,h=new FormData,b=s.options||[];if(h.append("status",n),h.append("source","Pleroma FE"),r&&h.append("spoiler_text",r),i&&h.append("visibility",i),o&&h.append("sensitive",o),u&&h.append("content_type",u),c.forEach((function(e){h.append("media_ids[]",e)})),b.some((function(e){return""!==e}))){var m={expires_in:s.expiresIn,multiple:s.multiple};Object.keys(m).forEach((function(e){h.append("poll[".concat(e,"]"),m[e])})),b.forEach((function(e){h.append("poll[options][]",e)}))}l&&h.append("in_reply_to_id",l),d&&h.append("preview","true");var f=Ce(t);return p&&(f["idempotency-key"]=p),_e("/api/v1/statuses",{body:h,method:"POST",headers:f}).then((function(e){return e.json()})).then((function(e){return e.error?e:Object(k.f)(e)}))},deleteStatus:function(e){var t=e.id,n=e.credentials;return _e(function(e){return"/api/v1/statuses/".concat(e)}(t),{headers:Ce(n),method:"DELETE"})},uploadMedia:function(e){var t=e.formData,n=e.credentials;return _e("/api/v1/media",{body:t,method:"POST",headers:Ce(n)}).then((function(e){return e.json()})).then((function(e){return Object(k.a)(e)}))},setMediaDescription:function(e){var t=e.id,n=e.description,r=e.credentials;return Se({url:"".concat("/api/v1/media","/").concat(t),method:"PUT",headers:Ce(r),payload:{description:n}}).then((function(e){return Object(k.a)(e)}))},fetchMutes:function(e){var t=e.credentials;return Se({url:"/api/v1/mutes/",credentials:t}).then((function(e){return e.map(k.g)}))},muteUser:function(e){var t=e.id,n=e.credentials;return Se({url:oe(t),credentials:n,method:"POST"})},unmuteUser:function(e){var t=e.id,n=e.credentials;return Se({url:se(t),credentials:n,method:"POST"})},subscribeUser:function(e){var t=e.id,n=e.credentials;return Se({url:ae(t),credentials:n,method:"POST"})},unsubscribeUser:function(e){var t=e.id,n=e.credentials;return Se({url:ce(t),credentials:n,method:"POST"})},fetchBlocks:function(e){var t=e.credentials;return Se({url:"/api/v1/blocks/",credentials:t}).then((function(e){return e.map(k.g)}))},fetchOAuthTokens:function(e){var t=e.credentials;return _e("/api/oauth_tokens.json",{headers:Ce(t)}).then((function(e){if(e.ok)return e.json();throw new Error("Error fetching auth tokens",e)}))},revokeOAuthToken:function(e){var t=e.id,n=e.credentials,r="/api/oauth_tokens/".concat(t);return _e(r,{headers:Ce(n),method:"DELETE"})},tagUser:function(e){var t=e.tag,n=e.credentials,r={nicknames:[e.user.screen_name],tags:[t]},i=Ce(n);return i["Content-Type"]="application/json",_e("/api/pleroma/admin/users/tag",{method:"PUT",headers:i,body:JSON.stringify(r)})},untagUser:function(e){var t=e.tag,n=e.credentials,r={nicknames:[e.user.screen_name],tags:[t]},i=Ce(n);return i["Content-Type"]="application/json",_e("/api/pleroma/admin/users/tag",{method:"DELETE",headers:i,body:JSON.stringify(r)})},deleteUser:function(e){var t=e.credentials,n=e.user.screen_name,r=Ce(t);return _e("".concat("/api/pleroma/admin/users","?nickname=").concat(n),{method:"DELETE",headers:r})},addRight:function(e){var t=e.right,n=e.credentials,r=e.user.screen_name;return _e(X(r,t),{method:"POST",headers:Ce(n),body:{}})},deleteRight:function(e){var t=e.right,n=e.credentials,r=e.user.screen_name;return _e(X(r,t),{method:"DELETE",headers:Ce(n),body:{}})},activateUser:function(e){var t=e.credentials,n=e.user.screen_name;return Se({url:"/api/pleroma/admin/users/activate",method:"PATCH",credentials:t,payload:{nicknames:[n]}}).then((function(e){return p()(e,"users.0")}))},deactivateUser:function(e){var t=e.credentials,n=e.user.screen_name;return Se({url:"/api/pleroma/admin/users/deactivate",method:"PATCH",credentials:t,payload:{nicknames:[n]}}).then((function(e){return p()(e,"users.0")}))},register:function(e){var t=e.params,n=e.credentials,r=t.nickname,i=s()(t,W);return _e("/api/v1/accounts",{method:"POST",headers:K(K({},Ce(n)),{},{"Content-Type":"application/json"}),body:JSON.stringify(K({nickname:r,locale:"en_US",agreement:!0},i))}).then((function(e){return e.ok?e.json():e.json().then((function(e){throw new J(e)}))}))},getCaptcha:function(){return _e("/api/pleroma/captcha").then((function(e){return e.json()}))},updateProfileImages:function(e){var t=e.credentials,n=e.avatar,r=void 0===n?null:n,i=e.avatarName,o=void 0===i?null:i,s=e.banner,a=void 0===s?null:s,c=e.background,l=void 0===c?null:c,u=new FormData;return null!==r&&(null!==o?u.append("avatar",r,o):u.append("avatar",r)),null!==a&&u.append("header",a),null!==l&&u.append("pleroma_background_image",l),_e("/api/v1/accounts/update_credentials",{headers:Ce(t),method:"PATCH",body:u}).then((function(e){return e.json()})).then((function(e){if(e.error)throw new Error(e.error);return Object(k.g)(e)}))},updateProfile:function(e){var t=e.credentials,n=e.params;return Se({url:"/api/v1/accounts/update_credentials",method:"PATCH",payload:n,credentials:t}).then((function(e){return Object(k.g)(e)}))},importMutes:function(e){var t=e.file,n=e.credentials,r=new FormData;return r.append("list",t),_e("/api/pleroma/mutes_import",{body:r,method:"POST",headers:Ce(n)}).then((function(e){return e.ok}))},importBlocks:function(e){var t=e.file,n=e.credentials,r=new FormData;return r.append("list",t),_e("/api/pleroma/blocks_import",{body:r,method:"POST",headers:Ce(n)}).then((function(e){return e.ok}))},importFollows:function(e){var t=e.file,n=e.credentials,r=new FormData;return r.append("list",t),_e("/api/pleroma/follow_import",{body:r,method:"POST",headers:Ce(n)}).then((function(e){return e.ok}))},deleteAccount:function(e){var t=e.credentials,n=e.password,r=new FormData;return r.append("password",n),_e("/api/pleroma/delete_account",{body:r,method:"POST",headers:Ce(t)}).then((function(e){return e.json()}))},changeEmail:function(e){var t=e.credentials,n=e.email,r=e.password,i=new FormData;return i.append("email",n),i.append("password",r),_e("/api/pleroma/change_email",{body:i,method:"POST",headers:Ce(t)}).then((function(e){return e.json()}))},changePassword:function(e){var t=e.credentials,n=e.password,r=e.newPassword,i=e.newPasswordConfirmation,o=new FormData;return o.append("password",n),o.append("new_password",r),o.append("new_password_confirmation",i),_e("/api/pleroma/change_password",{body:o,method:"POST",headers:Ce(t)}).then((function(e){return e.json()}))},settingsMFA:function(e){var t=e.credentials;return _e("/api/pleroma/accounts/mfa",{headers:Ce(t),method:"GET"}).then((function(e){return e.json()}))},mfaDisableOTP:function(e){var t=e.credentials,n=e.password,r=new FormData;return r.append("password",n),_e("/api/pleroma/accounts/mfa/totp",{body:r,method:"DELETE",headers:Ce(t)}).then((function(e){return e.json()}))},generateMfaBackupCodes:function(e){var t=e.credentials;return _e("/api/pleroma/accounts/mfa/backup_codes",{headers:Ce(t),method:"GET"}).then((function(e){return e.json()}))},mfaSetupOTP:function(e){var t=e.credentials;return _e("/api/pleroma/accounts/mfa/setup/totp",{headers:Ce(t),method:"GET"}).then((function(e){return e.json()}))},mfaConfirmOTP:function(e){var t=e.credentials,n=e.password,r=e.token,i=new FormData;return i.append("password",n),i.append("code",r),_e("/api/pleroma/accounts/mfa/confirm/totp",{body:i,headers:Ce(t),method:"POST"}).then((function(e){return e.json()}))},fetchFollowRequests:function(e){var t=e.credentials;return _e("/api/v1/follow_requests",{headers:Ce(t)}).then((function(e){return e.json()})).then((function(e){return e.map(k.g)}))},approveUser:function(e){var t=e.id,n=e.credentials,r=function(e){return"/api/v1/follow_requests/".concat(e,"/authorize")}(t);return _e(r,{headers:Ce(n),method:"POST"}).then((function(e){return e.json()}))},denyUser:function(e){var t=e.id,n=e.credentials,r=function(e){return"/api/v1/follow_requests/".concat(e,"/reject")}(t);return _e(r,{headers:Ce(n),method:"POST"}).then((function(e){return e.json()}))},suggestions:function(e){var t=e.credentials;return _e("/api/v1/suggestions",{headers:Ce(t)}).then((function(e){return e.json()}))},markNotificationsAsSeen:function(e){var t=e.id,n=e.credentials,r=e.single,i=void 0!==r&&r,o=new FormData;return i?o.append("id",t):o.append("max_id",t),_e("/api/v1/pleroma/notifications/read",{body:o,headers:Ce(n),method:"POST"}).then((function(e){return e.json()}))},dismissNotification:function(e){var t=e.credentials,n=e.id;return Se({url:Z(n),method:"POST",payload:{id:n},credentials:t})},vote:function(e){var t,n=e.pollId,r=e.choices,i=e.credentials;return(new FormData).append("choices",r),Se({url:(t=encodeURIComponent(n),"/api/v1/polls/".concat(t,"/votes")),method:"POST",credentials:i,payload:{choices:r}})},fetchPoll:function(e){var t,n=e.pollId,r=e.credentials;return Se({url:(t=encodeURIComponent(n),"/api/v1/polls/".concat(t)),method:"GET",credentials:r})},fetchFavoritedByUsers:function(e){var t=e.id,n=e.credentials;return Se({url:de(t),method:"GET",credentials:n}).then((function(e){return e.map(k.g)}))},fetchRebloggedByUsers:function(e){var t=e.id,n=e.credentials;return Se({url:pe(t),method:"GET",credentials:n}).then((function(e){return e.map(k.g)}))},fetchMascot:function(e){var t=e.credentials;return Se({url:"/api/v1/pleroma/mascot",credentials:t})},updateMascot:function(e){var t=e.mascot,n=e.credentials,r=new FormData;return r.append("file",t),_e("/api/v1/pleroma/mascot",{headers:Ce(n),method:"PUT",body:r}).then((function(e){return e.json()}))},fetchEmojiReactions:function(e){var t=e.id,n=e.credentials;return Se({url:Oe(t),credentials:n}).then((function(e){return e.map((function(e){return e.accounts=e.accounts.map(k.g),e}))}))},reactWithEmoji:function(e){var t=e.id,n=e.emoji,r=e.credentials;return Se({url:je(t,n),method:"PUT",credentials:r}).then(k.f)},unreactWithEmoji:function(e){var t=e.id,n=e.emoji,r=e.credentials;return Se({url:ge(t,n),method:"DELETE",credentials:r}).then(k.f)},reportUser:function(e){var t=e.credentials,n=e.userId,r=e.statusIds,i=e.comment,o=e.forward;return Se({url:"/api/v1/reports",method:"POST",payload:{account_id:n,status_ids:r,comment:i,forward:o},credentials:t})},updateNotificationSettings:function(e){var t=e.credentials,n=e.settings,r=new FormData;return v()(n,(function(e,t){r.append(t,e)})),_e("/api/pleroma/notification_settings",{headers:Ce(t),method:"PUT",body:r}).then((function(e){return e.json()}))},search2:function(e){var t=e.credentials,n=e.q,r=e.resolve,i=e.limit,o=e.offset,s=e.following,a="/api/v2/search",c=[];n&&c.push(["q",encodeURIComponent(n)]),r&&c.push(["resolve",r]),i&&c.push(["limit",i]),o&&c.push(["offset",o]),s&&c.push(["following",!0]),c.push(["with_relationships",!0]);var l=j()(c,(function(e){return"".concat(e[0],"=").concat(e[1])})).join("&");return a+="?".concat(l),_e(a,{headers:Ce(t)}).then((function(e){if(e.ok)return e;throw new Error("Error fetching search result",e)})).then((function(e){return e.json()})).then((function(e){return e.accounts=e.accounts.slice(0,i).map((function(e){return Object(k.g)(e)})),e.statuses=e.statuses.slice(0,i).map((function(e){return Object(k.f)(e)})),e}))},searchUsers:function(e){var t=e.credentials,n=e.query;return Se({url:"/api/v1/accounts/search",params:{q:n,resolve:!0},credentials:t}).then((function(e){return e.map(k.g)}))},fetchKnownDomains:function(e){var t=e.credentials;return Se({url:"/api/v1/instance/peers",credentials:t})},fetchDomainMutes:function(e){var t=e.credentials;return Se({url:"/api/v1/domain_blocks",credentials:t})},muteDomain:function(e){var t=e.domain,n=e.credentials;return Se({url:"/api/v1/domain_blocks",method:"POST",payload:{domain:t},credentials:n})},unmuteDomain:function(e){var t=e.domain,n=e.credentials;return Se({url:"/api/v1/domain_blocks",method:"DELETE",payload:{domain:t},credentials:n})},chats:function(e){var t=e.credentials;return _e("/api/v1/pleroma/chats",{headers:Ce(t)}).then((function(e){return e.json()})).then((function(e){return{chats:e.map(k.b).filter((function(e){return e}))}}))},getOrCreateChat:function(e){var t,n=e.accountId,r=e.credentials;return Se({url:(t=n,"/api/v1/pleroma/chats/by-account-id/".concat(t)),method:"POST",credentials:r})},chatMessages:function(e){var t=e.id,n=e.credentials,r=e.maxId,i=e.sinceId,o=e.limit,s=void 0===o?20:o,a=ve(t),c=[r&&"max_id=".concat(r),i&&"since_id=".concat(i),s&&"limit=".concat(s)].filter((function(e){return e})).join("&");return Se({url:a+=c?"?"+c:"",method:"GET",credentials:n})},sendChatMessage:function(e){var t=e.id,n=e.content,r=e.mediaId,i=void 0===r?null:r,o=e.idempotencyKey,s=e.credentials,a={content:n};i&&(a.media_id=i);var c={};return o&&(c["idempotency-key"]=o),Se({url:ve(t),method:"POST",payload:a,credentials:s,headers:c})},readChat:function(e){var t=e.id,n=e.lastReadId,r=e.credentials;return Se({url:ye(t),method:"POST",payload:{last_read_id:n},credentials:r})},deleteChatMessage:function(e){var t=e.chatId,n=e.messageId,r=e.credentials;return Se({url:we(t,n),method:"DELETE",credentials:r})}};t.c=Me},,,function(e,t,n){"use strict";n.d(t,"i",(function(){return p})),n.d(t,"h",(function(){return b})),n.d(t,"c",(function(){return f})),n.d(t,"a",(function(){return O})),n.d(t,"b",(function(){return j})),n.d(t,"f",(function(){return g})),n.d(t,"g",(function(){return v})),n.d(t,"j",(function(){return y})),n.d(t,"e",(function(){return w})),n.d(t,"d",(function(){return k}));var r=n(5),i=n.n(r),o=n(11),s=n.n(o),a=n(28),c=n.n(a),l=n(20);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t255?255:e})),o=s()(i,3);return e=o[0],t=o[1],n=o[2],"#".concat(((1<<24)+(e<<16)+(t<<8)+n).toString(16).slice(1))}},h=function(e){return"rgb".split("").reduce((function(t,n){return t[n]=function(e){var t=e/255;return t<.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}(e[n]),t}),{})},b=function(e){var t=h(e);return.2126*t.r+.7152*t.g+.0722*t.b},m=function(e,t){var n=b(e),r=b(t),i=n>r?[n,r]:[r,n],o=s()(i,2);return(o[0]+.05)/(o[1]+.05)},f=function(e,t,n){return m(j(n,t),e)},O=function(e,t,n){return 1===t||void 0===t?e:"rgb".split("").reduce((function(r,i){return r[i]=e[i]*t+n[i]*(1-t),r}),{})},j=function(e,t){return t.reduce((function(e,t){var n=s()(t,2),r=n[0],i=n[1];return O(r,i,e)}),e)},g=function(e){var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null},v=function(e,t){return"rgb".split("").reduce((function(n,r){return n[r]=(e[r]+t[r])/2,n}),{})},y=function(e){return"rgba(".concat(Math.floor(e.r),", ").concat(Math.floor(e.g),", ").concat(Math.floor(e.b),", ").concat(e.a,")")},w=function(e,t,n){if(m(e,t)<4.5){var r=void 0!==t.a?{a:t.a}:{},i=Object.assign(r,Object(l.invertLightness)(t).rgb);return!n&&m(e,i)<4.5?Object(l.contrastRatio)(e,t).rgb:i}return t},k=function(e,t){var n={};if("object"===c()(e))n=e;else if("string"==typeof e){if(!e.startsWith("#"))return e;n=g(e)}return y(d(d({},n),{},{a:t}))}},,,,function(e,t,n){"use strict";n.r(t);var r=n(0);var i=n(50),o=n(6),s=n(3);o.c.add(s.ab);var a={props:["user","betterShadow","compact","bot"],data:function(){return{showPlaceholder:!1,defaultAvatar:"".concat(this.$store.state.instance.server+this.$store.state.instance.defaultAvatar)}},components:{StillImage:i.a},methods:{imgSrc:function(e){return!e||this.showPlaceholder?this.defaultAvatar:e},imageLoadError:function(){this.showPlaceholder=!0}}},c=(n(512),n(4));const l=n.n(c)()(a,[["render",function(e,t,n,i,o,s){const a=Object(r.J)("StillImage"),c=Object(r.J)("FAIcon");return Object(r.D)(),Object(r.j)("span",{class:Object(r.w)(["Avatar",{"-compact":e.compact}])},[e.user?(Object(r.D)(),Object(r.h)(a,{key:0,class:Object(r.w)(["avatar",{"-compact":e.compact,"-better-shadow":e.betterShadow}]),alt:e.user.screen_name_ui,title:e.user.screen_name_ui,src:e.imgSrc(e.user.profile_image_url_original),"image-load-error":e.imageLoadError},null,8,["alt","title","src","image-load-error","class"])):(Object(r.D)(),Object(r.j)("div",{key:1,class:Object(r.w)(["avatar -placeholder",{"-compact":e.compact}])},null,2)),e.bot?(Object(r.D)(),Object(r.h)(c,{key:2,icon:"robot",class:"bot-indicator"})):Object(r.i)("",!0)],2)}]]);t.default=l},function(e,t,n){"use strict";var r=n(124),i=n.n(r),o=function(e){return e&&e.includes("@")};t.a=function(e,t,n){var r=!t||o(t)||i()(n,t);return{name:r?"external-user-profile":"user-profile",params:r?{id:e}:{name:t}}}},function(e,t,n){"use strict";n.r(t);var r=n(0);var i={name:"Popover",props:{trigger:String,placement:String,boundTo:Object,boundToSelector:String,margin:Object,offset:Object,popoverClass:String,removePadding:Boolean},data:function(){return{hidden:!0,styles:{opacity:0},oldSize:{width:0,height:0}}},methods:{containerBoundingClientRect:function(){return(this.boundToSelector?this.$el.closest(this.boundToSelector):this.$el.offsetParent).getBoundingClientRect()},updateStyles:function(){if(this.hidden)this.styles={opacity:0};else{var e=this.$refs.trigger&&this.$refs.trigger.children[0]||this.$el,t=e.offsetWidth||e.clientWidth,n=e.offsetHeight||e.clientHeight,r=e.getBoundingClientRect(),i=r.left+.5*r.width,o=r.top,s=this.$refs.content,a=this.boundTo&&("container"===this.boundTo.x||"container"===this.boundTo.y)&&this.containerBoundingClientRect(),c=this.margin||{},l=this.boundTo&&"container"===this.boundTo.x?{min:a.left+(c.left||0),max:a.right-(c.right||0)}:{min:0+(c.left||10),max:window.innerWidth-(c.right||10)},u=this.boundTo&&"container"===this.boundTo.y?{min:a.top+(c.top||0),max:a.bottom-(c.bottom||0)}:{min:0+(c.top||50),max:window.innerHeight-(c.bottom||5)},d=0;i-.5*s.offsetWidthl.max&&(d-=i+d+.5*s.offsetWidth-l.max);var p="bottom"!==this.placement;o+s.offsetHeight>u.max&&(p=!0),o-s.offsetHeighte.onMouseenter&&e.onMouseenter(...t)),onMouseleave:t[2]||(t[2]=(...t)=>e.onMouseleave&&e.onMouseleave(...t))},[Object(r.k)("button",{ref:"trigger",class:"button-unstyled popover-trigger-button",type:"button",onClick:t[0]||(t[0]=(...t)=>e.onClick&&e.onClick(...t))},[Object(r.I)(e.$slots,"trigger")],512),e.hidden?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",{key:0,ref:"content",style:Object(r.x)(e.styles),class:Object(r.w)(["popover",e.popoverClass||"popover-default"])},[Object(r.I)(e.$slots,"content",{class:"popover-inner",close:e.hidePopover})],6))],32)}]]);t.default=s},function(e,t,n){"use strict";var r=n(11),i=n.n(r),o=n(12),s=n.n(o),a=n(40),c=n.n(a),l=n(328),u=n.n(l),d=n(75),p=n.n(d),h=n(0);function b(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return m(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return m(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n|<(\w+)\s?.*?\/?>)/gi.exec(e);return t&&(t[1]||t[2])},O=function(e){var t=e.substring(1,e.length-1).replace(new RegExp("^"+f(e)),"").replace(/\/?$/,"").trim(),n=Array.from(t.matchAll(/([a-z0-9-]+)(?:=("[^"]+?"|'[^']+?'))?/gi)).map((function(e){var t=i()(e,3);t[0];return[t[1],t[2]]})).map((function(e){var t=i()(e,2),n=t[0],r=t[1];return r?[n,r.substring(1,r.length-1)]:[n,!0]}));return Object.fromEntries(n)},j=function(e,t,n){for(var r=[],i="",o=0;o=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function v(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.onClick&&e.onClick(...t),["prevent"])),innerHTML:e.content},null,8,_)])}]]),x=(n(516),["index"]);t.a={name:"RichContent",components:{MentionsLine:w.b,HashtagLink:P},props:{html:{required:!0,type:String},attentions:{required:!1,default:function(){return[]}},emoji:{required:!0,type:Array},handleLinks:{required:!1,type:Boolean,default:!1},greentext:{required:!1,type:Boolean,default:!1}},render:function(){var e=this,t=T(this.html,this.greentext).newHtml,n=null,r="",o=[],a=[],l=[],u=[],d=0,b=0,m=!1,g=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=new Set(["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),n=[],r=[["",n]],i="",o=null,s=function(){return r[r.length-1][1]},a=function(){""!==i&&(s().push(i),i="")},c=function(e){s().push([e])},l=function(e){var t=s(),n=[p()(e),[]];r.push(n),t.push(n)},u=function(e){var t=r[r.length-1];f(r[r.length-1][0])===f(e)?(t.push(e),r.pop()):s().push(e)},d=0;d"!==h&&null!==o)o+=h;else if(">"===h&&null!==o){var b=o+=h;o=null;var m=f(b);"/"===b[1]?u(b):t.has(m)||"/"===b[b.length-2]?c(b):l(b)}else i+=h}return o&&(i+=o),a(),n}(t).map((function t(o,c,u,p){if("string"==typeof o){var b=""===o.trim();return o.includes("\n")&&(n=null),b?(r=o,c!==u.length-1&&null!==n?o.trim():o):(n=null,o.includes(":")&&(o=["",j(o,e.emoji,(function(e){var t=e.shortcode,n=e.url;return Object(h.m)(y.a,{class:"emoji img",src:n,title:":".concat(t,":"),alt:":".concat(t,":")},null)}))]),o)}if(Array.isArray(o)){var m=o,g=i()(m,3),v=g[0],k=g[1],_=g[2],S=f(v),C=O(v),P=!(null!==n)||k&&"string"==typeof k[0]&&k[0].match(/^\s/)?"":r;switch(S){case"br":n=null;break;case"img":return["",[P,(x=v,Object(h.m)(y.a,Object(h.u)(O(x),{class:"img"}),null))],""];case"a":if(!e.handleLinks)break;if(C.class&&C.class.includes("mention"))return function(t,r){var i=D(t,r,d++);return i.notifying=e.attentions.some((function(e){return e.statusnet_profile_url===i.url})),a.push(i),null===n&&(n=[]),n.push(i),n.length>w.a&&l.push(i),1===n.length?Object(h.m)(w.b,{mentions:n},null):""}(C,k);if(n=null,C.href)return function(e,t){var n=e.href.replace(/&/g,"&"),r=t.map((function(t){return"string"==typeof t?t.replace(e.href,n):""===t[0]?Object(h.m)("span",null,[t[1]]):t[1]}));return Object(h.m)("a",Object(h.u)({attrs:e},{href:n}),s()(r))}(C,k);break;case"span":if(e.handleLinks&&C.class&&C.class.includes("h-card"))return["",k.map(t),""]}return void 0!==k?["",[P,[v,k.map(t),_]],""]:["",[P,o],""]}var x})),v=s()(g).reverse().map((function t(n,r,a,l){var d;if("string"==typeof n)return""===n.trim()?n:(m||(m=!0),p()(n));if(Array.isArray(n)){var j=i()(n,2),g=j[0],v=j[1],y=""===g?"":f(g);switch(y){case"a":if(!e.handleLinks)break;var w=O(g);if(w.class&&w.class.includes("hashtag")||"tag"===w.rel)return function(e,t,n){var r=D(e,t,b++),i=(r.index,c()(r,x));u.push(i),n||o.push(i);var s=i.url,a=i.tag,l=i.content;return Object(h.m)(P,{url:s,tag:a,content:l},null)}(w,v,m);w.target="_blank";var k=s()(v).reverse().map(t).reverse();return Object(h.m)("a",w,[k]);case"":return s()(v).reverse().map(t).reverse()}if(void 0!==v){var _=Array.isArray(v)?s()(v).reverse().map(t).reverse():v;return Object(h.m)(y,O(g),"function"==typeof(d=_)||"[object Object]"===Object.prototype.toString.call(d)&&!Object(h.t)(d)?_:{default:function(){return[_]}})}return Object(h.m)(y,null,null)}return n})).reverse(),k=Object(h.m)("span",{class:"RichContent"},[v]),_={lastTags:o,writtenMentions:a,writtenTags:u,invisibleMentions:l};return this.$emit("parseReady",_),k}};var D=function(e,t,n){var r=t.map((function e(t){return"string"==typeof t?t:t[1].map(e).join("")})).join("");return{index:n,url:e.href,tag:e["data-tag"],content:u()(t).join(""),textContent:r}},T=function(e,t){var n=new Set(["p","div"]);return{newHtml:function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",n=new Set(["area","base","br","col","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]),r=new Set(["address","article","aside","blockquote","details","dialog","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","li","main","nav","ol","p","pre","section","table","ul"]),i=new Set(["br"]),o=new Set([].concat(s()(r.values()),s()(i.values()))),a=new Set(o),c=g(n);try{for(c.s();!(e=c.n()).done;){var l=e.value;a.delete(l)}}catch(e){c.e(e)}finally{c.f()}for(var u=new Set([].concat(s()(a.values()),s()(n.values()))),d=[],p=[],h="",b=null,m=function(){h.trim().length>0?d.push({level:[].concat(p),text:h}):d.push(h),h=""},O=function(e){m(),d.push(e)},j=function(e){m(),d.push(e),p.unshift(f(e))},v=function(e){p[0]===f(e)?(m(),d.push(e),p.shift()):h+=e},y=0;y"!==w&&null!==b)b+=w;else if(">"===w&&null!==b){var k=b+=w;b=null;var _=f(k);u.has(_)?i.has(_)?O(k):a.has(_)?"/"===k[1]?v(k):"/"===k[k.length-2]?O(k):j(k):h+=k:h+=k}else"\n"===w?O(w):h+=w}return b&&(h+=b),m(),d}(e).reverse().map((function(e,r,i){if(!e.text)return e;var o=e.text;if(t&&e.level.every((function(e){return n.has(e)}))&&(o.includes(">")||o.includes("<"))){var s=o.replace(/<[^>]+?>/gi,"").replace(/@\w+/gi,"").trim();if(s.startsWith(">"))return"".concat(o,"");if(s.startsWith("<"))return"".concat(o,"")}return o})).reverse().join("")}}},function(e,t,n){"use strict";n.d(t,"e",(function(){return d})),n.d(t,"b",(function(){return b})),n.d(t,"c",(function(){return m})),n.d(t,"d",(function(){return O})),n.d(t,"a",(function(){return j})),n.d(t,"f",(function(){return g}));var r=n(124),i=n.n(r),o=n(125),s=n.n(o),a=n(49),c=n.n(a),l=n(126),u=n(127),d=function(e){return e.state.statuses.notifications.data},p=function(e){var t=e.rootState||e.state;return[t.config.notificationVisibility.likes&&"like",t.config.notificationVisibility.mentions&&"mention",t.config.notificationVisibility.repeats&&"repeat",t.config.notificationVisibility.follows&&"follow",t.config.notificationVisibility.followRequest&&"follow_request",t.config.notificationVisibility.moves&&"move",t.config.notificationVisibility.emojiReactions&&"pleroma:emoji_reaction",t.config.notificationVisibility.polls&&"poll"].filter((function(e){return e}))},h=["like","mention","repeat","pleroma:emoji_reaction","poll"],b=function(e){return i()(h,e)},m=function(e){return!(b(e.type)&&!e.status)},f=function(e,t){var n=Number(e.id),r=Number(t.id),i=!Number.isNaN(n),o=!Number.isNaN(r);return i&&o?n>r?-1:1:i&&!o?1:!i&&o||e.id>t.id?-1:1},O=function(e,t){var n=e.rootState||e.state;if(!t.seen&&p(e).includes(t.type)&&("mention"!==t.type||!function(e,t){if(t.status)return t.status.muted||Object(l.a)(t.status,e.rootGetters.mergedConfig.muteWords).length>0}(e,t))){var r=v(t,e.rootGetters.i18n);Object(u.a)(n,r)}},j=function(e,t){var n=d(e).map((function(e){return e})).sort(f);return(n=s()(n,"seen")).filter((function(n){return(t||p(e)).includes(n.type)}))},g=function(e){return c()(j(e),(function(e){return!e.seen}))},v=function(e,t){var n,r={tag:e.id},i=e.status,o=e.from_profile.name;switch(r.title=o,r.icon=e.from_profile.profile_image_url,e.type){case"like":n="favorited_you";break;case"repeat":n="repeated_you";break;case"follow":n="followed_you";break;case"move":n="migrated_to";break;case"follow_request":n="follow_request";break;case"poll":n="poll_ended"}return"pleroma:emoji_reaction"===e.type?r.body=t.t("notifications.reacted_with",[e.emoji]):n?r.body=t.t("notifications."+n):b(e.type)&&(r.body=e.status.text),i&&i.attachments&&i.attachments.length>0&&!i.nsfw&&i.attachments[0].mimetype.startsWith("image/")&&(r.image=i.attachments[0].url),r}},,,,,function(e,t,n){"use strict";n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return c}));var r=n(5),i=n.n(r),o=n(18);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;te.$emit("toggle"),["prevent"]))},[Object(r.m)(a,{class:"fa-scale-110 fa-old-padding",icon:"reply"})],10,pe)):(Object(r.D)(),Object(r.j)("span",he,[Object(r.m)(a,{icon:"reply",class:"fa-scale-110 fa-old-padding",title:e.$t("tool_tip.reply")},null,8,["title"])])),e.status.replies_count>0?(Object(r.D)(),Object(r.j)("span",be,Object(r.O)(e.status.replies_count),1)):Object(r.i)("",!0)])}]]);const ye={class:"FavoriteButton"},we=["title"],ke={key:1},_e={key:2,class:"action-counter"};var Se=n(8),Ce=n(41);function Pe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}me.c.add(fe.jb,Ce.d);var xe={props:["status","loggedIn"],data:function(){return{animated:!1}},methods:{favorite:function(){var e=this;this.status.favorited?this.$store.dispatch("unfavorite",{id:this.status.id}):this.$store.dispatch("favorite",{id:this.status.id}),this.animated=!0,setTimeout((function(){e.animated=!1}),500)}},computed:function(e){for(var t=1;te.favorite(),["prevent"]))},[Object(r.m)(a,{class:"fa-scale-110 fa-old-padding",icon:[e.status.favorited?"fas":"far","star"],spin:e.animated},null,8,["icon","spin"])],10,we)):(Object(r.D)(),Object(r.j)("span",ke,[Object(r.m)(a,{class:"fa-scale-110 fa-old-padding",title:e.$t("tool_tip.favorite"),icon:["far","star"]},null,8,["title"])])),!e.mergedConfig.hidePostStats&&e.status.fave_num>0?(Object(r.D)(),Object(r.j)("span",_e,Object(r.O)(e.status.fave_num),1)):Object(r.i)("",!0)])}]]);const Te={class:"reaction-picker-filter"},Ie=["placeholder"],$e={class:"reaction-picker"},ze=["title","onClick"],Me=Object(r.k)("div",{class:"reaction-picker-divider"},null,-1),Ue=["title","onClick"],Fe=["src"],Ee={key:1},Le=Object(r.k)("div",{class:"reaction-bottom-fader"},null,-1),Re=["title"];var Ae=n(12),Ne=n.n(Ae),Be=n(24);me.c.add(Ce.c);var Ve={props:["status"],data:function(){return{filterWord:""}},components:{Popover:Be.default},methods:{addReaction:function(e,t,n){var r=this.status.emoji_reactions.find((function(e){return e.name===t}));r&&r.me?this.$store.dispatch("unreactWithEmoji",{id:this.status.id,emoji:t}):this.$store.dispatch("reactWithEmoji",{id:this.status.id,emoji:t}),n()},focusInput:function(){var e=this;this.$nextTick((function(){var t=e.$el.querySelector("input");t&&t.focus()}))}},computed:{commonEmojis:function(){return[{displayText:"thumbsup",replacement:"👍"},{displayText:"angry",replacement:"😠"},{displayText:"eyes",replacement:"👀"},{displayText:"joy",replacement:"😂"},{displayText:"fire",replacement:"🔥"}]},emojis:function(){if(""!==this.filterWord){for(var e=this.filterWord.toLowerCase(),t=[],n=0,r=[].concat(Ne()(this.$store.state.instance.emoji),Ne()(this.$store.state.instance.customEmoji));n-1&&(Array.isArray(t[o])||(t[o]=[]),t[o].push(i))}return t.flat()}return[].concat(Ne()(this.$store.state.instance.emoji),Ne()(this.$store.state.instance.customEmoji))||[]},mergedConfig:function(){return this.$store.getters.mergedConfig}}};n(548);var He=ge()(Ve,[["render",function(e,t,n,i,o,s){const a=Object(r.J)("FAIcon"),c=Object(r.J)("Popover");return Object(r.D)(),Object(r.h)(c,{trigger:"click",class:"ReactButton",placement:"top",offset:{y:5},"bound-to":{x:"container"},"remove-padding":"",onShow:e.focusInput},{content:Object(r.V)(({close:n})=>[Object(r.k)("div",Te,[Object(r.W)(Object(r.k)("input",{"onUpdate:modelValue":t[0]||(t[0]=t=>e.filterWord=t),size:"1",placeholder:e.$t("emoji.search_emoji")},null,8,Ie),[[r.S,e.filterWord]])]),Object(r.k)("div",$e,[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.commonEmojis,t=>(Object(r.D)(),Object(r.j)("span",{key:t.replacement,class:"emoji-button",title:t.displayText,onClick:r=>e.addReaction(r,t.replacement,n)},Object(r.O)(t.replacement),9,ze))),128)),Me,(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.emojis,(t,i)=>(Object(r.D)(),Object(r.j)("span",{key:i,class:"emoji-button",title:t.displayText,onClick:r=>e.addReaction(r,t.replacement,n)},[!1!==t.imageUrl?(Object(r.D)(),Object(r.j)("img",{key:0,src:t.imageUrl,width:"30px",class:"custom-reaction"},null,8,Fe)):(Object(r.D)(),Object(r.j)("span",Ee,Object(r.O)(t.replacement),1))],8,Ue))),128)),Le])]),trigger:Object(r.V)(()=>[Object(r.k)("button",{class:"button-unstyled popover-trigger",title:e.$t("tool_tip.add_reaction")},[Object(r.m)(a,{class:"fa-scale-110 fa-old-padding",icon:["far","smile-beam"]})],8,Re)]),_:1},8,["onShow"])}]]);const qe={class:"RetweetButton"},Je=["title"],We={key:1},Ye={key:2},Ge={key:3,class:"no-event"};me.c.add(fe.Z);var Ke={props:["status","loggedIn","visibility"],data:function(){return{animated:!1}},methods:{retweet:function(){var e=this;this.status.repeated?this.$store.dispatch("unretweet",{id:this.status.id}):this.$store.dispatch("retweet",{id:this.status.id}),this.animated=!0,setTimeout((function(){e.animated=!1}),500)}},computed:{mergedConfig:function(){return this.$store.getters.mergedConfig}}};n(549);var Xe=ge()(Ke,[["render",function(e,t,n,i,o,s){const a=Object(r.J)("FAIcon");return Object(r.D)(),Object(r.j)("div",qe,["private"!==e.visibility&&"direct"!==e.visibility&&e.loggedIn?(Object(r.D)(),Object(r.j)("button",{key:0,class:Object(r.w)(["button-unstyled interactive",e.status.repeated&&"-repeated"]),title:e.$t("tool_tip.repeat"),onClick:t[0]||(t[0]=Object(r.Y)(t=>e.retweet(),["prevent"]))},[Object(r.m)(a,{class:"fa-scale-110 fa-old-padding",icon:"retweet",spin:e.animated},null,8,["spin"])],10,Je)):e.loggedIn?(Object(r.D)(),Object(r.j)("span",We,[Object(r.m)(a,{class:"fa-scale-110 fa-old-padding",icon:"lock",title:e.$t("timeline.no_retweet_hint")},null,8,["title"])])):(Object(r.D)(),Object(r.j)("span",Ye,[Object(r.m)(a,{class:"fa-scale-110 fa-old-padding",icon:"retweet",title:e.$t("tool_tip.repeat")},null,8,["title"])])),!e.mergedConfig.hidePostStats&&e.status.repeat_num>0?(Object(r.D)(),Object(r.j)("span",Ge,Object(r.O)(e.status.repeat_num),1)):Object(r.i)("",!0)])}]]);const Ze={class:"dropdown-menu"},Qe=["onClick"],et=["onClick"],tt=["onClick"],nt=["onClick"],rt=["onClick"],it=["onClick"],ot=["href"],st=["onClick"],at={class:"button-unstyled popover-trigger"};me.c.add(fe.w,fe.j,Ce.a,fe.C,fe.qb,fe.fb,fe.A,Ce.b);var ct={props:["status"],components:{Popover:Be.default},methods:{deleteStatus:function(){window.confirm(this.$t("status.delete_confirm"))&&this.$store.dispatch("deleteStatus",{id:this.status.id})},pinStatus:function(){var e=this;this.$store.dispatch("pinStatus",this.status.id).then((function(){return e.$emit("onSuccess")})).catch((function(t){return e.$emit("onError",t.error.error)}))},unpinStatus:function(){var e=this;this.$store.dispatch("unpinStatus",this.status.id).then((function(){return e.$emit("onSuccess")})).catch((function(t){return e.$emit("onError",t.error.error)}))},muteConversation:function(){var e=this;this.$store.dispatch("muteConversation",this.status.id).then((function(){return e.$emit("onSuccess")})).catch((function(t){return e.$emit("onError",t.error.error)}))},unmuteConversation:function(){var e=this;this.$store.dispatch("unmuteConversation",this.status.id).then((function(){return e.$emit("onSuccess")})).catch((function(t){return e.$emit("onError",t.error.error)}))},copyLink:function(){var e=this;navigator.clipboard.writeText(this.statusLink).then((function(){return e.$emit("onSuccess")})).catch((function(t){return e.$emit("onError",t.error.error)}))},bookmarkStatus:function(){var e=this;this.$store.dispatch("bookmark",{id:this.status.id}).then((function(){return e.$emit("onSuccess")})).catch((function(t){return e.$emit("onError",t.error.error)}))},unbookmarkStatus:function(){var e=this;this.$store.dispatch("unbookmark",{id:this.status.id}).then((function(){return e.$emit("onSuccess")})).catch((function(t){return e.$emit("onError",t.error.error)}))},reportStatus:function(){this.$store.dispatch("openUserReportingModal",{userId:this.status.user.id,statusIds:[this.status.id]})}},computed:{currentUser:function(){return this.$store.state.users.currentUser},canDelete:function(){if(this.currentUser)return this.currentUser.rights.moderator||this.currentUser.rights.admin||this.status.user.id===this.currentUser.id},ownStatus:function(){return this.status.user.id===this.currentUser.id},canPin:function(){return this.ownStatus&&("public"===this.status.visibility||"unlisted"===this.status.visibility)},canMute:function(){return!!this.currentUser},statusLink:function(){return"".concat(this.$store.state.instance.server).concat(this.$router.resolve({name:"conversation",params:{id:this.status.id}}).href)}}};n(550);var lt=ge()(ct,[["render",function(e,t,n,i,o,s){const a=Object(r.J)("FAIcon"),c=Object(r.J)("Popover");return Object(r.D)(),Object(r.h)(c,{class:"ExtraButtons",trigger:"click",placement:"top",offset:{y:5},"bound-to":{x:"container"},"remove-padding":""},{content:Object(r.V)(({close:n})=>[Object(r.k)("div",Ze,[e.canMute&&!e.status.thread_muted?(Object(r.D)(),Object(r.j)("button",{key:0,class:"button-default dropdown-item dropdown-item-icon",onClick:t[0]||(t[0]=Object(r.Y)((...t)=>e.muteConversation&&e.muteConversation(...t),["prevent"]))},[Object(r.m)(a,{"fixed-width":"",icon:"eye-slash"}),Object(r.k)("span",null,Object(r.O)(e.$t("status.mute_conversation")),1)])):Object(r.i)("",!0),e.canMute&&e.status.thread_muted?(Object(r.D)(),Object(r.j)("button",{key:1,class:"button-default dropdown-item dropdown-item-icon",onClick:t[1]||(t[1]=Object(r.Y)((...t)=>e.unmuteConversation&&e.unmuteConversation(...t),["prevent"]))},[Object(r.m)(a,{"fixed-width":"",icon:"eye-slash"}),Object(r.k)("span",null,Object(r.O)(e.$t("status.unmute_conversation")),1)])):Object(r.i)("",!0),!e.status.pinned&&e.canPin?(Object(r.D)(),Object(r.j)("button",{key:2,class:"button-default dropdown-item dropdown-item-icon",onClick:[t[2]||(t[2]=Object(r.Y)((...t)=>e.pinStatus&&e.pinStatus(...t),["prevent"])),n]},[Object(r.m)(a,{"fixed-width":"",icon:"thumbtack"}),Object(r.k)("span",null,Object(r.O)(e.$t("status.pin")),1)],8,Qe)):Object(r.i)("",!0),e.status.pinned&&e.canPin?(Object(r.D)(),Object(r.j)("button",{key:3,class:"button-default dropdown-item dropdown-item-icon",onClick:[t[3]||(t[3]=Object(r.Y)((...t)=>e.unpinStatus&&e.unpinStatus(...t),["prevent"])),n]},[Object(r.m)(a,{"fixed-width":"",icon:"thumbtack"}),Object(r.k)("span",null,Object(r.O)(e.$t("status.unpin")),1)],8,et)):Object(r.i)("",!0),e.status.bookmarked?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("button",{key:4,class:"button-default dropdown-item dropdown-item-icon",onClick:[t[4]||(t[4]=Object(r.Y)((...t)=>e.bookmarkStatus&&e.bookmarkStatus(...t),["prevent"])),n]},[Object(r.m)(a,{"fixed-width":"",icon:["far","bookmark"]}),Object(r.k)("span",null,Object(r.O)(e.$t("status.bookmark")),1)],8,tt)),e.status.bookmarked?(Object(r.D)(),Object(r.j)("button",{key:5,class:"button-default dropdown-item dropdown-item-icon",onClick:[t[5]||(t[5]=Object(r.Y)((...t)=>e.unbookmarkStatus&&e.unbookmarkStatus(...t),["prevent"])),n]},[Object(r.m)(a,{"fixed-width":"",icon:"bookmark"}),Object(r.k)("span",null,Object(r.O)(e.$t("status.unbookmark")),1)],8,nt)):Object(r.i)("",!0),e.canDelete?(Object(r.D)(),Object(r.j)("button",{key:6,class:"button-default dropdown-item dropdown-item-icon",onClick:[t[6]||(t[6]=Object(r.Y)((...t)=>e.deleteStatus&&e.deleteStatus(...t),["prevent"])),n]},[Object(r.m)(a,{"fixed-width":"",icon:"times"}),Object(r.k)("span",null,Object(r.O)(e.$t("status.delete")),1)],8,rt)):Object(r.i)("",!0),Object(r.k)("button",{class:"button-default dropdown-item dropdown-item-icon",onClick:[t[7]||(t[7]=Object(r.Y)((...t)=>e.copyLink&&e.copyLink(...t),["prevent"])),n]},[Object(r.m)(a,{"fixed-width":"",icon:"share-alt"}),Object(r.k)("span",null,Object(r.O)(e.$t("status.copy_link")),1)],8,it),e.status.is_local?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("a",{key:7,class:"button-default dropdown-item dropdown-item-icon",title:"Source",href:e.status.external_url,target:"_blank"},[Object(r.m)(a,{"fixed-width":"",icon:"external-link-alt"}),Object(r.k)("span",null,Object(r.O)(e.$t("status.external_source")),1)],8,ot)),Object(r.k)("button",{class:"button-default dropdown-item dropdown-item-icon",onClick:[t[8]||(t[8]=Object(r.Y)((...t)=>e.reportStatus&&e.reportStatus(...t),["prevent"])),n]},[Object(r.m)(a,{"fixed-width":"",icon:["far","flag"]}),Object(r.k)("span",null,Object(r.O)(e.$t("user_card.report")),1)],8,st)])]),trigger:Object(r.V)(()=>[Object(r.k)("button",at,[Object(r.m)(a,{class:"fa-scale-110 fa-old-padding",icon:"ellipsis-h"})])]),_:1})}]]),ut=n(57),dt=n(35),pt=n(22),ht=n(144),bt=n(59),mt=n(45),ft=n(25);const Ot={key:1,class:"status-preview-no-content faint"},jt={key:2,class:"status-preview-no-content"};var gt=n(30),vt=n.n(gt);me.c.add(fe.r);var yt={name:"StatusPopover",props:["statusId"],data:function(){return{error:!1}},computed:{status:function(){return vt()(this.$store.state.statuses.allStatuses,{id:this.statusId})}},components:{Status:Object(r.n)((function(){return Promise.resolve().then(n.bind(null,34))})),Popover:Object(r.n)((function(){return Promise.resolve().then(n.bind(null,24))}))},methods:{enter:function(){var e=this;if(!this.status){if(!this.statusId)return void(this.error=!0);this.$store.dispatch("fetchStatus",this.statusId).then((function(t){return e.error=!1})).catch((function(t){return e.error=!0}))}}}};n(552);var wt=ge()(yt,[["render",function(e,t,n,i,o,s){const a=Object(r.J)("Status"),c=Object(r.J)("FAIcon"),l=Object(r.J)("Popover");return Object(r.D)(),Object(r.h)(l,{trigger:"hover","popover-class":"popover-default status-popover","bound-to":{x:"container"},onShow:e.enter},{trigger:Object(r.V)(()=>[Object(r.I)(e.$slots,"default")]),content:Object(r.V)(()=>[e.status?(Object(r.D)(),Object(r.h)(a,{key:0,"is-preview":!0,statusoid:e.status,compact:!0},null,8,["statusoid"])):e.error?(Object(r.D)(),Object(r.j)("div",Ot,Object(r.O)(e.$t("status.status_unavailable")),1)):(Object(r.D)(),Object(r.j)("div",jt,[Object(r.m)(c,{icon:"circle-notch",spin:"",size:"2x"})]))]),_:3},8,["onShow"])}]]);const kt={class:"user-list-popover"},_t={class:"user-list-names"},St={class:"user-list-screen-name"};me.c.add(fe.r);var Ct={name:"UserListPopover",props:["users"],components:{RichContent:ft.a,Popover:Object(r.n)((function(){return Promise.resolve().then(n.bind(null,24))})),UserAvatar:Object(r.n)((function(){return Promise.resolve().then(n.bind(null,22))}))},computed:{usersCapped:function(){return this.users.slice(0,16)}}};n(553);var Pt=ge()(Ct,[["render",function(e,t,n,i,o,s){const a=Object(r.J)("UserAvatar"),c=Object(r.J)("RichContent"),l=Object(r.J)("FAIcon"),u=Object(r.J)("Popover");return Object(r.D)(),Object(r.h)(u,{trigger:"hover",placement:"top",offset:{y:5}},{trigger:Object(r.V)(()=>[Object(r.I)(e.$slots,"default")]),content:Object(r.V)(()=>[Object(r.k)("div",kt,[e.users.length?(Object(r.D)(!0),Object(r.j)(r.a,{key:0},Object(r.H)(e.usersCapped,e=>(Object(r.D)(),Object(r.j)("div",{key:e.id,class:"user-list-row"},[Object(r.m)(a,{user:e,class:"avatar-small",compact:!0},null,8,["user"]),Object(r.k)("div",_t,[Object(r.m)(c,{class:"username",title:"@"+e.screen_name_ui,html:e.name_html,emoji:e.emoji},null,8,["title","html","emoji"]),Object(r.k)("span",St,Object(r.O)(e.screen_name_ui),1)])]))),128)):(Object(r.D)(),Object(r.h)(l,{key:1,icon:"circle-notch",spin:"",size:"3x"}))])]),_:3})}]]);const xt={class:"emoji-reactions"},Dt=["onClick"],Tt={key:0},It=["src","title"],$t={key:1},zt={class:"reaction-emoji unicode-emoji"};var Mt={name:"EmojiReactions",components:{UserAvatar:pt.default,UserListPopover:Pt},props:["status"],data:function(){return{showAll:!1}},computed:{tooManyReactions:function(){return this.status.emoji_reactions.length>12},emojiReactions:function(){return this.showAll?this.status.emoji_reactions:this.status.emoji_reactions.slice(0,12)},showMoreString:function(){return"+".concat(this.status.emoji_reactions.length-12)},accountsForEmoji:function(){return this.status.emoji_reactions.reduce((function(e,t){return e[t.name]=t.accounts||[],e}),{})},loggedIn:function(){return!!this.$store.state.users.currentUser}},methods:{toggleShowAll:function(){this.showAll=!this.showAll},reactedWith:function(e){return this.status.emoji_reactions.find((function(t){return t.name===e})).me},fetchEmojiReactionsByIfMissing:function(){this.status.emoji_reactions.find((function(e){return!e.accounts}))&&this.$store.dispatch("fetchEmojiReactionsBy",this.status.id)},reactWith:function(e){this.$store.dispatch("reactWithEmoji",{id:this.status.id,emoji:e})},unreact:function(e){this.$store.dispatch("unreactWithEmoji",{id:this.status.id,emoji:e})},emojiOnClick:function(e,t){this.loggedIn&&(this.reactedWith(e)?this.unreact(e):this.reactWith(e))}}};n(554);var Ut=ge()(Mt,[["render",function(e,t,n,i,o,s){const a=Object(r.J)("UserListPopover");return Object(r.D)(),Object(r.j)("div",xt,[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.emojiReactions,n=>(Object(r.D)(),Object(r.h)(a,{key:n.name,users:e.accountsForEmoji[n.name]},{default:Object(r.V)(()=>[Object(r.k)("button",{class:Object(r.w)(["emoji-reaction btn button-default",{"picked-reaction":e.reactedWith(n.name),"not-clickable":!e.loggedIn}]),onClick:t=>e.emojiOnClick(n.name,t),onMouseenter:t[0]||(t[0]=t=>e.fetchEmojiReactionsByIfMissing())},[null!==n.url?(Object(r.D)(),Object(r.j)("span",Tt,[Object(r.k)("img",{src:n.url,title:n.name,class:"reaction-emoji",width:"2.55em"},null,8,It),Object(r.l)(" "+Object(r.O)(n.count),1)])):(Object(r.D)(),Object(r.j)("span",$t,[Object(r.k)("span",zt,Object(r.O)(n.name),1),Object(r.k)("span",null,Object(r.O)(n.count),1)]))],42,Dt)]),_:2},1032,["users"]))),128)),e.tooManyReactions?(Object(r.D)(),Object(r.j)("a",{key:0,class:"emoji-reaction-expand faint",href:"javascript:void(0)",onClick:t[1]||(t[1]=(...t)=>e.toggleShowAll&&e.toggleShowAll(...t))},Object(r.O)(e.showAll?e.$t("general.show_less"):e.showMoreString),1)):Object(r.i)("",!0)])}]]),Ft=n(81),Et=n(79),Lt=n(23),Rt=n(31),At=n(126);function Nt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Bt(e){for(var t=1;t0},muted:function(){if(this.statusoid.user.id===this.currentUser.id)return!1;var e=this.userIsMuted||status.thread_muted||this.muteWordHits.length>0||this.muteBotStatuses&&this.botStatus&&!this.compact;return!this.unmuted&&!this.shouldNotMute&&e},userIsMuted:function(){if(this.statusoid.user.id===this.currentUser.id)return!1;var e=this.status,t=e.reblog,n=this.$store.getters.relationship(e.user.id),r=t&&this.$store.getters.relationship(t.user.id);return e.muted||t&&t.muted||n.muting||r&&r.muting},shouldNotMute:function(){var e=this.status,t=e.reblog;return(this.inProfile&&(!t&&e.user.id===this.profileUserId||t&&t.user.id===this.profileUserId)||this.inConversation&&e.thread_muted)&&!this.muteWordHits.length>0},hideMutedUsers:function(){return this.mergedConfig.hideMutedPosts},hideMutedThreads:function(){return this.mergedConfig.hideMutedThreads},hideFilteredStatuses:function(){return this.mergedConfig.hideFilteredStatuses},hideWordFilteredPosts:function(){return this.mergedConfig.hideWordFilteredPosts},hideStatus:function(){return!this.shouldNotMute&&(this.muted&&this.hideFilteredStatuses||this.userIsMuted&&this.hideMutedUsers||this.status.thread_muted&&this.hideMutedThreads||this.muteWordHits.length>0&&this.hideWordFilteredPosts)},isFocused:function(){return!!this.focused||!!this.inConversation&&this.status.id===this.highlight},isReply:function(){return!(!this.status.in_reply_to_status_id||!this.status.in_reply_to_user_id)},replyToName:function(){if(this.status.in_reply_to_screen_name)return this.status.in_reply_to_screen_name;var e=this.$store.getters.findUser(this.status.in_reply_to_user_id);return e&&e.screen_name_ui},replySubject:function(){if(!this.status.summary)return"";var e=ue()(this.status.summary),t=this.mergedConfig.subjectLineBehavior,n=e.match(/^re[: ]/i);return"noop"!==t&&n||"masto"===t?e:"email"===t?"re: ".concat(e):"noop"===t?"":void 0},combinedFavsAndRepeatsUsers:function(){var e=[].concat(this.statusFromGlobalRepository.favoritedBy,this.statusFromGlobalRepository.rebloggedBy);return ce()(e,"id")},tags:function(){return this.status.tags.filter((function(e){return e.hasOwnProperty("name")})).map((function(e){return e.name})).join(" ")},hidePostStats:function(){return this.mergedConfig.hidePostStats},muteBotStatuses:function(){return this.mergedConfig.muteBotStatuses},hideBotIndication:function(){return this.mergedConfig.hideBotIndication},currentUser:function(){return this.$store.state.users.currentUser},betterShadow:function(){return this.$store.state.interface.browserSupport.cssFilter},mergedConfig:function(){return this.$store.getters.mergedConfig},isSuspendable:function(){return!this.replying&&0===this.mediaPlaying.length},inThreadForest:function(){return!!this.controlledThreadDisplayStatus},threadShowing:function(){return"showing"===this.controlledThreadDisplayStatus},visibilityLocalized:function(){return this.$i18n.t("general.scope_in_timeline."+this.status.visibility)}}),methods:{visibilityIcon:function(e){switch(e){case"private":return"lock";case"unlisted":return"lock-open";case"direct":return"envelope";case"local":return"users";default:return"globe"}},showError:function(e){this.error=e},clearError:function(){this.error=void 0},toggleReplying:function(){!function(e,t){var n=Ht(t),r="controlledToggle".concat(n),i="uncontrolled".concat(n);e[r]?e[r]():e[i]=!e[i]}(this,"replying")},gotoOriginal:function(e){this.inConversation&&this.$emit("goto",e)},toggleExpanded:function(){this.$emit("toggleExpanded")},toggleMute:function(){this.unmuted=!this.unmuted},toggleUserExpanded:function(){this.userExpanded=!this.userExpanded},generateUserProfileLink:function(e,t){return Object(Lt.a)(e,t,this.$store.state.instance.restrictedNicknames)},addMediaPlaying:function(e){qt(this,"mediaPlaying",this.mediaPlaying.concat(e))},removeMediaPlaying:function(e){qt(this,"mediaPlaying",this.mediaPlaying.filter((function(t){return t!==e})))},setHeadTailLinks:function(e){this.headTailLinks=e},toggleThreadDisplay:function(){this.controlledToggleThreadDisplay()},scrollIfHighlighted:function(e){var t=e;if(this.status.id===t){var n=this.$el.getBoundingClientRect();n.top<100||n.height>=window.innerHeight-50?window.scrollBy(0,n.top-100):n.bottom>window.innerHeight-50&&window.scrollBy(0,n.bottom-window.innerHeight+50)}}},watch:{highlight:function(e){this.scrollIfHighlighted(e)},"status.repeat_num":function(e){this.isFocused&&this.statusFromGlobalRepository.rebloggedBy&&this.statusFromGlobalRepository.rebloggedBy.length!==e&&this.$store.dispatch("fetchRepeats",this.status.id)},"status.fave_num":function(e){this.isFocused&&this.statusFromGlobalRepository.favoritedBy&&this.statusFromGlobalRepository.favoritedBy.length!==e&&this.$store.dispatch("fetchFavs",this.status.id)},isSuspendable:function(e){this.suspendable=e}}};n(555);const Wt=ge()(Jt,[["render",function(e,t,n,oe,se,ae){const ce=Object(r.J)("FAIcon"),le=Object(r.J)("router-link"),ue=Object(r.J)("UserAvatar"),de=Object(r.J)("RichContent"),pe=Object(r.J)("UserCard"),he=Object(r.J)("Timeago"),be=Object(r.J)("StatusPopover"),me=Object(r.J)("MentionLink"),fe=Object(r.J)("MentionsLine"),Oe=Object(r.J)("StatusContent"),je=Object(r.J)("UserListPopover"),ge=Object(r.J)("AvatarList"),ve=Object(r.J)("EmojiReactions"),ye=Object(r.J)("reply-button"),we=Object(r.J)("retweet-button"),ke=Object(r.J)("favorite-button"),_e=Object(r.J)("ReactButton"),Se=Object(r.J)("extra-buttons"),Ce=Object(r.J)("PostStatusForm");return e.hideStatus?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",{key:0,ref:"root",class:Object(r.w)(["Status",[{"-focused":e.isFocused},{"-conversation":e.inlineExpanded}]])},[e.error?(Object(r.D)(),Object(r.j)("div",i,[Object(r.l)(Object(r.O)(e.error)+" ",1),Object(r.k)("span",{class:"fa-scale-110 fa-old-padding",onClick:t[0]||(t[0]=(...t)=>e.clearError&&e.clearError(...t))},[Object(r.m)(ce,{icon:"times"})])])):Object(r.i)("",!0),e.muted&&!e.isPreview?(Object(r.D)(),Object(r.j)("div",o,[Object(r.k)("small",s,[e.muted&&e.retweet?(Object(r.D)(),Object(r.h)(ce,{key:0,class:"fa-scale-110 fa-old-padding repeat-icon",icon:"retweet"})):Object(r.i)("",!0),Object(r.m)(le,{to:e.userProfileLink},{default:Object(r.V)(()=>[Object(r.l)(Object(r.O)(e.status.user.screen_name_ui),1)]),_:1},8,["to"])]),e.showReasonMutedThread?(Object(r.D)(),Object(r.j)("small",a,Object(r.O)(e.$t("status.thread_muted")),1)):Object(r.i)("",!0),e.showReasonMutedThread&&e.muteWordHits.length>0?(Object(r.D)(),Object(r.j)("small",c,Object(r.O)(e.$t("status.thread_muted_and_words")),1)):Object(r.i)("",!0),Object(r.k)("small",{class:"mute-words",title:e.muteWordHits.join(", ")},Object(r.O)(e.muteWordHits.join(", ")),9,l),Object(r.k)("button",{class:"unmute button-unstyled",onClick:t[1]||(t[1]=Object(r.Y)((...t)=>e.toggleMute&&e.toggleMute(...t),["prevent"]))},[Object(r.m)(ce,{icon:"eye-slash",class:"fa-scale-110 fa-old-padding"})])])):(Object(r.D)(),Object(r.j)(r.a,{key:2},[e.showPinned?(Object(r.D)(),Object(r.j)("div",u,[Object(r.m)(ce,{icon:"thumbtack",class:"faint"}),Object(r.k)("span",d,Object(r.O)(e.$t("status.pinned")),1)])):Object(r.i)("",!0),!e.retweet||e.noHeading||e.inConversation?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",{key:1,class:Object(r.w)([[e.repeaterClass,{highlighted:e.repeaterStyle}],"status-container repeat-info"]),style:Object(r.x)([e.repeaterStyle])},[e.retweet?(Object(r.D)(),Object(r.h)(ue,{key:0,class:"left-side repeater-avatar",bot:e.rtBotIndicator,"better-shadow":e.betterShadow,user:e.statusoid.user},null,8,["bot","better-shadow","user"])):Object(r.i)("",!0),Object(r.k)("div",p,[Object(r.k)("span",{class:"status-username repeater-name",title:e.retweeter},[e.retweeterHtml?(Object(r.D)(),Object(r.h)(le,{key:0,to:e.retweeterProfileLink},{default:Object(r.V)(()=>[Object(r.m)(de,{html:e.retweeterHtml,emoji:e.retweeterUser.emoji},null,8,["html","emoji"])]),_:1},8,["to"])):(Object(r.D)(),Object(r.h)(le,{key:1,to:e.retweeterProfileLink},{default:Object(r.V)(()=>[Object(r.l)(Object(r.O)(e.retweeter),1)]),_:1},8,["to"]))],8,h),b,Object(r.m)(ce,{icon:"retweet",class:"repeat-icon",title:e.$t("tool_tip.repeat")},null,8,["title"]),Object(r.l)(" "+Object(r.O)(e.$t("timeline.repeated")),1)])],6)),e.deleted?(Object(r.D)(),Object(r.j)("div",ee,[Object(r.k)("div",te,[Object(r.m)(ue,{class:"post-avatar",compact:e.compact,bot:e.botIndicator},null,8,["compact","bot"])]),Object(r.k)("div",ne,[Object(r.k)("div",re,Object(r.O)(e.$t("status.status_deleted")),1),e.replying?(Object(r.D)(),Object(r.h)(ye,{key:0,replying:e.replying,status:e.status,onToggle:e.toggleReplying},null,8,["replying","status","onToggle"])):Object(r.i)("",!0)])])):(Object(r.D)(),Object(r.j)("div",{key:2,class:Object(r.w)([[e.userClass,{highlighted:e.userStyle,"-repeat":e.retweet&&!e.inConversation}],"status-container"]),style:Object(r.x)([e.userStyle]),"data-tags":e.tags},[e.noHeading?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",f,[Object(r.k)("a",{href:e.$router.resolve(e.userProfileLink).href,onClickCapture:t[2]||(t[2]=Object(r.Y)((...t)=>e.toggleUserExpanded&&e.toggleUserExpanded(...t),["stop","prevent"]))},[Object(r.m)(ue,{class:"post-avatar",bot:e.botIndicator,compact:e.compact,"better-shadow":e.betterShadow,user:e.status.user},null,8,["bot","compact","better-shadow","user"])],40,O)])),Object(r.k)("div",j,[e.userExpanded?(Object(r.D)(),Object(r.h)(pe,{key:0,"user-id":e.status.user.id,rounded:!0,bordered:!0,class:"usercard"},null,8,["user-id"])):Object(r.i)("",!0),e.noHeading?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",g,[Object(r.k)("div",v,[Object(r.k)("div",y,[e.status.user.name_html?(Object(r.D)(),Object(r.j)("h4",{key:0,class:"status-username",title:e.status.user.name},[Object(r.m)(de,{html:e.status.user.name,emoji:e.status.user.emoji},null,8,["html","emoji"])],8,w)):(Object(r.D)(),Object(r.j)("h4",{key:1,class:"status-username",title:e.status.user.name},Object(r.O)(e.status.user.name),9,k)),Object(r.m)(le,{class:"account-name",title:e.status.user.screen_name_ui,to:e.userProfileLink},{default:Object(r.V)(()=>[Object(r.l)(Object(r.O)(e.status.user.screen_name_ui),1)]),_:1},8,["title","to"]),e.status.user&&e.status.user.favicon?(Object(r.D)(),Object(r.j)("img",{key:2,class:"status-favicon",src:e.status.user.favicon},null,8,_)):Object(r.i)("",!0)]),Object(r.k)("span",S,[Object(r.m)(le,{class:"timeago faint-link",to:{name:"conversation",params:{id:e.status.id}}},{default:Object(r.V)(()=>[Object(r.m)(he,{time:e.status.created_at,"auto-update":60},null,8,["time"])]),_:1},8,["to"]),e.status.visibility?(Object(r.D)(),Object(r.j)("span",{key:0,class:"visibility-icon",title:e.visibilityLocalized},[Object(r.m)(ce,{"fixed-width":"",class:"fa-scale-110",icon:e.visibilityIcon(e.status.visibility)},null,8,["icon"])],8,C)):Object(r.i)("",!0),e.expandable&&!e.isPreview?(Object(r.D)(),Object(r.j)("button",{key:1,class:"button-unstyled",title:e.$t("status.expand"),onClick:t[3]||(t[3]=Object(r.Y)((...t)=>e.toggleExpanded&&e.toggleExpanded(...t),["prevent"]))},[Object(r.m)(ce,{"fixed-width":"",class:"fa-scale-110",icon:"plus-square"})],8,P)):Object(r.i)("",!0),e.unmuted?(Object(r.D)(),Object(r.j)("button",{key:2,class:"button-unstyled",onClick:t[4]||(t[4]=Object(r.Y)((...t)=>e.toggleMute&&e.toggleMute(...t),["prevent"]))},[Object(r.m)(ce,{"fixed-width":"",icon:"eye-slash",class:"fa-scale-110"})])):Object(r.i)("",!0),e.inThreadForest&&e.replies&&e.replies.length&&!e.simpleTree?(Object(r.D)(),Object(r.j)("button",{key:3,class:"button-unstyled",title:e.threadShowing?e.$t("status.thread_hide"):e.$t("status.thread_show"),"aria-expanded":e.threadShowing?"true":"false",onClick:t[5]||(t[5]=Object(r.Y)((...t)=>e.toggleThreadDisplay&&e.toggleThreadDisplay(...t),["prevent"]))},[Object(r.m)(ce,{"fixed-width":"",class:"fa-scale-110",icon:e.threadShowing?"chevron-up":"chevron-down"},null,8,["icon"])],8,x)):Object(r.i)("",!0),e.dive&&!e.simpleTree?(Object(r.D)(),Object(r.j)("button",{key:4,class:"button-unstyled",title:e.$t("status.show_only_conversation_under_this"),onClick:t[6]||(t[6]=Object(r.Y)((...t)=>e.dive&&e.dive(...t),["prevent"]))},[Object(r.m)(ce,{"fixed-width":"",class:"fa-scale-110",icon:"angle-double-right"})],8,D)):Object(r.i)("",!0)])]),e.isReply||e.hasMentionsLine?(Object(r.D)(),Object(r.j)("div",T,[e.isReply?(Object(r.D)(),Object(r.j)("span",I,[e.isPreview?(Object(r.D)(),Object(r.j)("span",U,[Object(r.k)("span",F,Object(r.O)(e.$t("status.reply_to")),1)])):(Object(r.D)(),Object(r.h)(be,{key:0,"status-id":e.status.parent_visible&&e.status.in_reply_to_status_id,class:Object(r.w)(["reply-to-popover",{"-strikethrough":!e.status.parent_visible}]),style:{"min-width":"0"}},{default:Object(r.V)(()=>[Object(r.k)("button",{class:"button-unstyled reply-to","aria-label":e.$t("tool_tip.reply"),onClick:t[7]||(t[7]=Object(r.Y)(t=>e.gotoOriginal(e.status.in_reply_to_status_id),["prevent"]))},[Object(r.m)(ce,{class:"fa-scale-110 fa-old-padding",icon:"reply",flip:"horizontal"}),z,Object(r.k)("span",M,Object(r.O)(e.$t("status.reply_to")),1)],8,$)]),_:1},8,["status-id","class"])),Object(r.m)(me,{content:e.replyToName,url:e.replyProfileLink,"user-id":e.status.in_reply_to_user_id,"user-screen-name":e.status.in_reply_to_screen_name},null,8,["content","url","user-id","user-screen-name"])])):Object(r.i)("",!0),e.hasMentionsLine?(Object(r.D)(),Object(r.j)("span",E,[Object(r.k)("span",{class:"mentions","aria-label":e.$t("tool_tip.mentions"),onClick:t[8]||(t[8]=Object(r.Y)(t=>e.gotoOriginal(e.status.in_reply_to_status_id),["prevent"]))},[Object(r.k)("span",R,Object(r.O)(e.$t("status.mentions")),1)],8,L),e.hasMentionsLine?(Object(r.D)(),Object(r.h)(fe,{key:0,mentions:e.mentionsLine.slice(0,1),class:"mentions-line-first"},null,8,["mentions"])):Object(r.i)("",!0)])):Object(r.i)("",!0),e.hasMentionsLine?(Object(r.D)(),Object(r.h)(fe,{key:2,mentions:e.mentionsLine.slice(1),class:"mentions-line"},null,8,["mentions"])):Object(r.i)("",!0)])):Object(r.i)("",!0)])),Object(r.m)(Oe,{ref:"content",status:e.status,"no-heading":e.noHeading,highlight:e.highlight,focused:e.isFocused,"controlled-showing-tall":e.controlledShowingTall,"controlled-expanding-subject":e.controlledExpandingSubject,"controlled-showing-long-subject":e.controlledShowingLongSubject,"controlled-toggle-showing-tall":e.controlledToggleShowingTall,"controlled-toggle-expanding-subject":e.controlledToggleExpandingSubject,"controlled-toggle-showing-long-subject":e.controlledToggleShowingLongSubject,onMediaplay:t[9]||(t[9]=t=>e.addMediaPlaying(t)),onMediapause:t[10]||(t[10]=t=>e.removeMediaPlaying(t)),onParseReady:e.setHeadTailLinks},null,8,["status","no-heading","highlight","focused","controlled-showing-tall","controlled-expanding-subject","controlled-showing-long-subject","controlled-toggle-showing-tall","controlled-toggle-expanding-subject","controlled-toggle-showing-long-subject","onParseReady"]),e.inConversation&&!e.isPreview&&e.replies&&e.replies.length?(Object(r.D)(),Object(r.j)("div",A,[e.showOtherRepliesAsButton&&e.replies.length>1?(Object(r.D)(),Object(r.j)("button",{key:0,class:"button-unstyled -link faint",title:e.$tc("status.ancestor_follow",e.replies.length-1,{numReplies:e.replies.length-1}),onClick:t[11]||(t[11]=Object(r.Y)((...t)=>e.dive&&e.dive(...t),["prevent"]))},Object(r.O)(e.$tc("status.replies_list_with_others",e.replies.length-1,{numReplies:e.replies.length-1})),9,N)):(Object(r.D)(),Object(r.j)("span",B,Object(r.O)(e.$t("status.replies_list")),1)),(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.replies,t=>(Object(r.D)(),Object(r.h)(be,{key:t.id,"status-id":t.id},{default:Object(r.V)(()=>[Object(r.k)("button",{class:"button-unstyled -link reply-link",onClick:Object(r.Y)(n=>e.gotoOriginal(t.id),["prevent"])},Object(r.O)(t.name),9,V)]),_:2},1032,["status-id"]))),128))])):Object(r.i)("",!0),Object(r.m)(r.e,{name:"fade"},{default:Object(r.V)(()=>[!e.hidePostStats&&e.isFocused&&e.combinedFavsAndRepeatsUsers.length>0?(Object(r.D)(),Object(r.j)("div",H,[Object(r.k)("div",q,[e.statusFromGlobalRepository.rebloggedBy&&e.statusFromGlobalRepository.rebloggedBy.length>0?(Object(r.D)(),Object(r.h)(je,{key:0,users:e.statusFromGlobalRepository.rebloggedBy},{default:Object(r.V)(()=>[Object(r.k)("div",J,[Object(r.k)("a",W,Object(r.O)(e.$t("status.repeats")),1),Object(r.k)("div",Y,Object(r.O)(e.statusFromGlobalRepository.rebloggedBy.length),1)])]),_:1},8,["users"])):Object(r.i)("",!0),e.statusFromGlobalRepository.favoritedBy&&e.statusFromGlobalRepository.favoritedBy.length>0?(Object(r.D)(),Object(r.h)(je,{key:1,users:e.statusFromGlobalRepository.favoritedBy},{default:Object(r.V)(()=>[Object(r.k)("div",G,[Object(r.k)("a",K,Object(r.O)(e.$t("status.favorites")),1),Object(r.k)("div",X,Object(r.O)(e.statusFromGlobalRepository.favoritedBy.length),1)])]),_:1},8,["users"])):Object(r.i)("",!0),Object(r.k)("div",Z,[Object(r.m)(ge,{users:e.combinedFavsAndRepeatsUsers},null,8,["users"])])])])):Object(r.i)("",!0)]),_:1}),!e.mergedConfig.emojiReactionsOnTimeline&&!e.isFocused||e.noHeading||e.isPreview?Object(r.i)("",!0):(Object(r.D)(),Object(r.h)(ve,{key:3,status:e.status},null,8,["status"])),e.noHeading||e.isPreview?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",Q,[Object(r.m)(ye,{replying:e.replying,status:e.status,onToggle:e.toggleReplying},null,8,["replying","status","onToggle"]),Object(r.m)(we,{visibility:e.status.visibility,"logged-in":e.loggedIn,status:e.status},null,8,["visibility","logged-in","status"]),Object(r.m)(ke,{"logged-in":e.loggedIn,status:e.status},null,8,["logged-in","status"]),e.loggedIn?(Object(r.D)(),Object(r.h)(_e,{key:0,status:e.status},null,8,["status"])):Object(r.i)("",!0),Object(r.m)(Se,{status:e.status,onOnError:e.showError,onOnSuccess:e.clearError},null,8,["status","onOnError","onOnSuccess"])]))])],14,m)),e.replying?(Object(r.D)(),Object(r.j)("div",ie,[Object(r.m)(Ce,{class:"reply-body","reply-to":e.status.id,attentions:e.status.attentions,"replied-user":e.status.user,"copy-message-scope":e.status.visibility,subject:e.replySubject,onPosted:e.toggleReplying},null,8,["reply-to","attentions","replied-user","copy-message-scope","subject","onPosted"])])):Object(r.i)("",!0)],64))],2))}]]);t.default=Wt},function(e,t,n){"use strict";var r=n(0);const i={class:"panel-heading -flexible-height"},o={class:"user-info"},s={class:"container"},a={class:"user-info-avatar-link-overlay"},c={class:"user-summary"},l={class:"top-line"},u=["href"],d={class:"bottom-line"},p={key:0,class:"alert user-role"},h={key:1,class:"alert user-role"},b={key:2,class:"alert user-role"},m={key:1},f={key:2,class:"dailyAvg"},O={class:"user-meta"},j={key:0,class:"following"},g={key:1,class:"highlighter"},v=["id"],y=["id"],w=Object(r.l)(" "+Object(r.O)(" ")+" "),k={value:"disabled"},_={value:"solid"},S={value:"striped"},C={value:"side"},P={key:0,class:"user-interactions"},x={class:"btn-group"},D=["disabled"],T=["disabled"],I=["disabled"],$={key:1,class:"user-interactions"},z={key:0,class:"panel-body"},M={key:0,class:"user-counts"},U=Object(r.k)("br",null,null,-1);var F=n(5),E=n.n(F),L=n(22),R=n(143),A=n(104),N=n(140);const B={class:"dropdown-menu"},V={key:0},H=Object(r.k)("div",{role:"separator",class:"dropdown-divider"},null,-1),q={key:1,role:"separator",class:"dropdown-divider"},J={key:2};var W=n(6),Y=n(3);const G={class:"panel-heading dialog-modal-heading"},K={class:"title"},X={class:"dialog-modal-content"},Z={class:"dialog-modal-footer user-interactions panel-footer"};var Q={props:{darkOverlay:{default:!0,type:Boolean},onCancel:{default:function(){},type:Function}}},ee=(n(526),n(4)),te=n.n(ee);var ne=te()(Q,[["render",function(e,t,n,i,o,s){return Object(r.D)(),Object(r.j)("span",{class:Object(r.w)({"dark-overlay":e.darkOverlay}),onClick:t[1]||(t[1]=Object(r.Y)(t=>e.onCancel(),["self","stop"]))},[Object(r.k)("div",{class:"dialog-modal panel panel-default",onClick:t[0]||(t[0]=Object(r.Y)(()=>{},["stop"]))},[Object(r.k)("div",G,[Object(r.k)("div",K,[Object(r.I)(e.$slots,"header")])]),Object(r.k)("div",X,[Object(r.I)(e.$slots,"default")]),Object(r.k)("div",Z,[Object(r.I)(e.$slots,"footer")])])],2)}]]),re=n(24);W.c.add(Y.n);var ie={props:["user"],data:function(){return{tags:{FORCE_NSFW:"mrf_tag:media-force-nsfw",STRIP_MEDIA:"mrf_tag:media-strip",FORCE_UNLISTED:"mrf_tag:force-unlisted",DISABLE_REMOTE_SUBSCRIPTION:"mrf_tag:disable-remote-subscription",DISABLE_ANY_SUBSCRIPTION:"mrf_tag:disable-any-subscription",SANDBOX:"mrf_tag:sandbox",QUARANTINE:"mrf_tag:quarantine"},showDeleteUserDialog:!1,toggled:!1}},components:{DialogModal:ne,Popover:re.default},computed:{tagsSet:function(){return new Set(this.user.tags)},hasTagPolicy:function(){return this.$store.state.instance.tagPolicyAvailable}},methods:{hasTag:function(e){return this.tagsSet.has(e)},toggleTag:function(e){var t=this,n=this.$store;this.tagsSet.has(e)?n.state.api.backendInteractor.untagUser({user:this.user,tag:e}).then((function(r){r.ok&&n.commit("untagUser",{user:t.user,tag:e})})):n.state.api.backendInteractor.tagUser({user:this.user,tag:e}).then((function(r){r.ok&&n.commit("tagUser",{user:t.user,tag:e})}))},toggleRight:function(e){var t=this,n=this.$store;this.user.rights[e]?n.state.api.backendInteractor.deleteRight({user:this.user,right:e}).then((function(r){r.ok&&n.commit("updateRight",{user:t.user,right:e,value:!1})})):n.state.api.backendInteractor.addRight({user:this.user,right:e}).then((function(r){r.ok&&n.commit("updateRight",{user:t.user,right:e,value:!0})}))},toggleActivationStatus:function(){this.$store.dispatch("toggleActivationStatus",{user:this.user})},deleteUserDialog:function(e){this.showDeleteUserDialog=e},deleteUser:function(){var e=this,t=this.$store,n=this.user,r=n.id,i=n.name;t.state.api.backendInteractor.deleteUser({user:n}).then((function(t){e.$store.dispatch("markStatusesAsDeleted",(function(e){return n.id===e.user.id}));var o="external-user-profile"===e.$route.name||"user-profile"===e.$route.name,s=e.$route.params.name===i||e.$route.params.id===r;o&&s&&window.history.back()}))},setToggled:function(e){this.toggled=e}}};n(528);var oe=te()(ie,[["render",function(e,t,n,i,o,s){const a=Object(r.J)("FAIcon"),c=Object(r.J)("Popover"),l=Object(r.J)("DialogModal");return Object(r.D)(),Object(r.j)("div",null,[Object(r.m)(c,{trigger:"click",class:"moderation-tools-popover",placement:"bottom",offset:{y:5},onShow:t[11]||(t[11]=t=>e.setToggled(!0)),onClose:t[12]||(t[12]=t=>e.setToggled(!1))},{content:Object(r.V)(()=>[Object(r.k)("div",B,[e.user.is_local?(Object(r.D)(),Object(r.j)("span",V,[Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[0]||(t[0]=t=>e.toggleRight("admin"))},Object(r.O)(e.$t(e.user.rights.admin?"user_card.admin_menu.revoke_admin":"user_card.admin_menu.grant_admin")),1),Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[1]||(t[1]=t=>e.toggleRight("moderator"))},Object(r.O)(e.$t(e.user.rights.moderator?"user_card.admin_menu.revoke_moderator":"user_card.admin_menu.grant_moderator")),1),H])):Object(r.i)("",!0),Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[2]||(t[2]=t=>e.toggleActivationStatus())},Object(r.O)(e.$t(e.user.deactivated?"user_card.admin_menu.activate_account":"user_card.admin_menu.deactivate_account")),1),Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[3]||(t[3]=t=>e.deleteUserDialog(!0))},Object(r.O)(e.$t("user_card.admin_menu.delete_account")),1),e.hasTagPolicy?(Object(r.D)(),Object(r.j)("div",q)):Object(r.i)("",!0),e.hasTagPolicy?(Object(r.D)(),Object(r.j)("span",J,[Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[4]||(t[4]=t=>e.toggleTag(e.tags.FORCE_NSFW))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":e.hasTag(e.tags.FORCE_NSFW)}])},null,2),Object(r.l)(" "+Object(r.O)(e.$t("user_card.admin_menu.force_nsfw")),1)]),Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[5]||(t[5]=t=>e.toggleTag(e.tags.STRIP_MEDIA))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":e.hasTag(e.tags.STRIP_MEDIA)}])},null,2),Object(r.l)(" "+Object(r.O)(e.$t("user_card.admin_menu.strip_media")),1)]),Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[6]||(t[6]=t=>e.toggleTag(e.tags.FORCE_UNLISTED))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":e.hasTag(e.tags.FORCE_UNLISTED)}])},null,2),Object(r.l)(" "+Object(r.O)(e.$t("user_card.admin_menu.force_unlisted")),1)]),Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[7]||(t[7]=t=>e.toggleTag(e.tags.SANDBOX))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":e.hasTag(e.tags.SANDBOX)}])},null,2),Object(r.l)(" "+Object(r.O)(e.$t("user_card.admin_menu.sandbox")),1)]),e.user.is_local?(Object(r.D)(),Object(r.j)("button",{key:0,class:"button-default dropdown-item",onClick:t[8]||(t[8]=t=>e.toggleTag(e.tags.DISABLE_REMOTE_SUBSCRIPTION))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":e.hasTag(e.tags.DISABLE_REMOTE_SUBSCRIPTION)}])},null,2),Object(r.l)(" "+Object(r.O)(e.$t("user_card.admin_menu.disable_remote_subscription")),1)])):Object(r.i)("",!0),e.user.is_local?(Object(r.D)(),Object(r.j)("button",{key:1,class:"button-default dropdown-item",onClick:t[9]||(t[9]=t=>e.toggleTag(e.tags.DISABLE_ANY_SUBSCRIPTION))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":e.hasTag(e.tags.DISABLE_ANY_SUBSCRIPTION)}])},null,2),Object(r.l)(" "+Object(r.O)(e.$t("user_card.admin_menu.disable_any_subscription")),1)])):Object(r.i)("",!0),e.user.is_local?(Object(r.D)(),Object(r.j)("button",{key:2,class:"button-default dropdown-item",onClick:t[10]||(t[10]=t=>e.toggleTag(e.tags.QUARANTINE))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":e.hasTag(e.tags.QUARANTINE)}])},null,2),Object(r.l)(" "+Object(r.O)(e.$t("user_card.admin_menu.quarantine")),1)])):Object(r.i)("",!0)])):Object(r.i)("",!0)])]),trigger:Object(r.V)(()=>[Object(r.k)("button",{class:Object(r.w)(["btn button-default btn-block moderation-tools-button",{toggled:e.toggled}])},[Object(r.l)(Object(r.O)(e.$t("user_card.admin_menu.moderation"))+" ",1),Object(r.m)(a,{icon:"chevron-down"})],2)]),_:1}),(Object(r.D)(),Object(r.h)(r.c,{to:"#modal"},[e.showDeleteUserDialog?(Object(r.D)(),Object(r.h)(l,{key:0,"on-cancel":e.deleteUserDialog.bind(this,!1)},{header:Object(r.V)(()=>[Object(r.l)(Object(r.O)(e.$t("user_card.admin_menu.delete_user")),1)]),footer:Object(r.V)(()=>[Object(r.k)("button",{class:"btn button-default",onClick:t[13]||(t[13]=t=>e.deleteUserDialog(!1))},Object(r.O)(e.$t("general.cancel")),1),Object(r.k)("button",{class:"btn button-default danger",onClick:t[14]||(t[14]=t=>e.deleteUser())},Object(r.O)(e.$t("user_card.admin_menu.delete_user")),1)]),default:Object(r.V)(()=>[Object(r.k)("p",null,Object(r.O)(e.$t("user_card.admin_menu.delete_user_confirmation")),1)]),_:1},8,["on-cancel"])):Object(r.i)("",!0)]))])}]]);const se={class:"AccountActions"},ae={class:"dropdown-menu"},ce=Object(r.k)("div",{role:"separator",class:"dropdown-divider"},null,-1),le={class:"button-unstyled ellipsis-button"};var ue=n(8);function de(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}W.c.add(Y.x);var pe={props:["user","relationship"],data:function(){return{}},components:{ProgressButton:A.a,Popover:re.default},methods:{showRepeats:function(){this.$store.dispatch("showReblogs",this.user.id)},hideRepeats:function(){this.$store.dispatch("hideReblogs",this.user.id)},blockUser:function(){this.$store.dispatch("blockUser",this.user.id)},unblockUser:function(){this.$store.dispatch("unblockUser",this.user.id)},reportUser:function(){this.$store.dispatch("openUserReportingModal",{userId:this.user.id})},openChat:function(){this.$router.push({name:"chat",params:{username:this.$store.state.users.currentUser.screen_name,recipient_id:this.user.id}})}},computed:function(e){for(var t=1;t[Object(r.k)("div",ae,[e.relationship.following?(Object(r.D)(),Object(r.j)(r.a,{key:0},[e.relationship.showing_reblogs?(Object(r.D)(),Object(r.j)("button",{key:0,class:"btn button-default dropdown-item",onClick:t[0]||(t[0]=(...t)=>e.hideRepeats&&e.hideRepeats(...t))},Object(r.O)(e.$t("user_card.hide_repeats")),1)):Object(r.i)("",!0),e.relationship.showing_reblogs?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("button",{key:1,class:"btn button-default dropdown-item",onClick:t[1]||(t[1]=(...t)=>e.showRepeats&&e.showRepeats(...t))},Object(r.O)(e.$t("user_card.show_repeats")),1)),ce],64)):Object(r.i)("",!0),e.relationship.blocking?(Object(r.D)(),Object(r.j)("button",{key:1,class:"btn button-default btn-block dropdown-item",onClick:t[2]||(t[2]=(...t)=>e.unblockUser&&e.unblockUser(...t))},Object(r.O)(e.$t("user_card.unblock")),1)):(Object(r.D)(),Object(r.j)("button",{key:2,class:"btn button-default btn-block dropdown-item",onClick:t[3]||(t[3]=(...t)=>e.blockUser&&e.blockUser(...t))},Object(r.O)(e.$t("user_card.block")),1)),Object(r.k)("button",{class:"btn button-default btn-block dropdown-item",onClick:t[4]||(t[4]=(...t)=>e.reportUser&&e.reportUser(...t))},Object(r.O)(e.$t("user_card.report")),1),e.pleromaChatMessagesAvailable?(Object(r.D)(),Object(r.j)("button",{key:3,class:"btn button-default btn-block dropdown-item",onClick:t[5]||(t[5]=(...t)=>e.openChat&&e.openChat(...t))},Object(r.O)(e.$t("user_card.message")),1)):Object(r.i)("",!0)])]),trigger:Object(r.V)(()=>[Object(r.k)("button",le,[Object(r.m)(a,{class:"icon",icon:"ellipsis-v"})])]),_:1})])}]]),be=n(52),me=n(25),fe=n(23);function Oe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function je(e){for(var t=1;te.zoomAvatar&&e.zoomAvatar(...t))},[Object(r.m)(R,{"better-shadow":e.betterShadow,user:e.user},null,8,["better-shadow","user"]),Object(r.k)("div",a,[Object(r.m)(A,{class:"fa-scale-110 fa-old-padding",icon:"search-plus"})])])):(Object(r.D)(),Object(r.h)(N,{key:1,to:e.userProfileLink(e.user)},{default:Object(r.V)(()=>[Object(r.m)(R,{"better-shadow":e.betterShadow,user:e.user},null,8,["better-shadow","user"])]),_:1},8,["to"])),Object(r.k)("div",c,[Object(r.k)("div",l,[Object(r.m)(B,{title:e.user.name,class:"user-name",html:e.user.name,emoji:e.user.emoji},null,8,["title","html","emoji"]),!e.isOtherUser&&e.user.is_local?(Object(r.D)(),Object(r.j)("button",{key:0,class:"button-unstyled edit-profile-button",onClick:t[1]||(t[1]=Object(r.Y)((...t)=>e.openProfileTab&&e.openProfileTab(...t),["stop"]))},[Object(r.m)(A,{"fixed-width":"",class:"icon",icon:"edit",title:e.$t("user_card.edit_profile")},null,8,["title"])])):Object(r.i)("",!0),e.isOtherUser&&!e.user.is_local?(Object(r.D)(),Object(r.j)("a",{key:1,href:e.user.statusnet_profile_url,target:"_blank",class:"button-unstyled external-link-button"},[Object(r.m)(A,{class:"icon",icon:"external-link-alt"})],8,u)):Object(r.i)("",!0),e.isOtherUser&&e.loggedIn?(Object(r.D)(),Object(r.h)(V,{key:2,user:e.user,relationship:e.relationship},null,8,["user","relationship"])):Object(r.i)("",!0)]),Object(r.k)("div",d,[Object(r.m)(N,{class:"user-screen-name",title:e.user.screen_name_ui,to:e.userProfileLink(e.user)},{default:Object(r.V)(()=>[Object(r.l)(" @"+Object(r.O)(e.user.screen_name_ui),1)]),_:1},8,["title","to"]),e.hideBio?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)(r.a,{key:0},[e.user.deactivated?(Object(r.D)(),Object(r.j)("span",p,Object(r.O)(e.$t("user_card.deactivated")),1)):Object(r.i)("",!0),e.visibleRole?(Object(r.D)(),Object(r.j)("span",h,Object(r.O)(e.$t("general.role."+e.visibleRole)),1)):Object(r.i)("",!0),e.user.bot?(Object(r.D)(),Object(r.j)("span",b,Object(r.O)(e.$t("user_card.bot")),1)):Object(r.i)("",!0)],64)),e.user.locked?(Object(r.D)(),Object(r.j)("span",m,[Object(r.m)(A,{class:"lock-icon",icon:"lock",size:"sm"})])):Object(r.i)("",!0),e.mergedConfig.hideUserStats||e.hideBio?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("span",f,Object(r.O)(e.dailyAvg)+" "+Object(r.O)(e.$t("user_card.per_day")),1))])])]),Object(r.k)("div",O,[e.relationship.followed_by&&e.loggedIn&&e.isOtherUser?(Object(r.D)(),Object(r.j)("div",j,Object(r.O)(e.$t("user_card.follows_you")),1)):Object(r.i)("",!0),!e.isOtherUser||!e.loggedIn&&e.switcher?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",g,["disabled"!==e.userHighlightType?Object(r.W)((Object(r.D)(),Object(r.j)("input",{key:0,id:"userHighlightColorTx"+e.user.id,"onUpdate:modelValue":t[2]||(t[2]=t=>e.userHighlightColor=t),class:"userHighlightText",type:"text"},null,8,v)),[[r.S,e.userHighlightColor]]):Object(r.i)("",!0),"disabled"!==e.userHighlightType?Object(r.W)((Object(r.D)(),Object(r.j)("input",{key:1,id:"userHighlightColor"+e.user.id,"onUpdate:modelValue":t[3]||(t[3]=t=>e.userHighlightColor=t),class:"userHighlightCl",type:"color"},null,8,y)),[[r.S,e.userHighlightColor]]):Object(r.i)("",!0),w,Object(r.m)(H,{id:"userHighlightSel"+e.user.id,modelValue:e.userHighlightType,"onUpdate:modelValue":t[4]||(t[4]=t=>e.userHighlightType=t),class:"userHighlightSel"},{default:Object(r.V)(()=>[Object(r.k)("option",k,Object(r.O)(e.$t("user_card.highlight.disabled")),1),Object(r.k)("option",_,Object(r.O)(e.$t("user_card.highlight.solid")),1),Object(r.k)("option",S,Object(r.O)(e.$t("user_card.highlight.striped")),1),Object(r.k)("option",C,Object(r.O)(e.$t("user_card.highlight.side")),1)]),_:1},8,["id","modelValue"])]))]),e.loggedIn&&e.isOtherUser?(Object(r.D)(),Object(r.j)("div",P,[Object(r.k)("div",x,[Object(r.m)(q,{relationship:e.relationship,user:e.user},null,8,["relationship","user"]),e.relationship.following?(Object(r.D)(),Object(r.j)(r.a,{key:0},[e.relationship.subscribing?(Object(r.D)(),Object(r.h)(J,{key:1,class:"btn button-default toggled",click:e.unsubscribeUser,title:e.$t("user_card.unsubscribe")},{default:Object(r.V)(()=>[Object(r.m)(W,null,{default:Object(r.V)(()=>[Object(r.m)(A,{icon:"rss",transform:"left-5 shrink-6 up-3 rotate-20",flip:"horizontal"}),Object(r.m)(A,{icon:"rss",transform:"right-5 shrink-6 up-3 rotate-20"}),Object(r.m)(A,{icon:"bell"})]),_:1})]),_:1},8,["click","title"])):(Object(r.D)(),Object(r.h)(J,{key:0,class:"btn button-default",click:e.subscribeUser,title:e.$t("user_card.subscribe")},{default:Object(r.V)(()=>[Object(r.m)(A,{icon:"bell"})]),_:1},8,["click","title"]))],64)):Object(r.i)("",!0)]),Object(r.k)("div",null,[e.relationship.muting?(Object(r.D)(),Object(r.j)("button",{key:0,class:"btn button-default btn-block toggled",disabled:e.user.deactivated,onClick:t[5]||(t[5]=(...t)=>e.unmuteUser&&e.unmuteUser(...t))},Object(r.O)(e.$t("user_card.muted")),9,D)):(Object(r.D)(),Object(r.j)("button",{key:1,class:"btn button-default btn-block",disabled:e.user.deactivated,onClick:t[6]||(t[6]=(...t)=>e.muteUser&&e.muteUser(...t))},Object(r.O)(e.$t("user_card.mute")),9,T))]),Object(r.k)("div",null,[e.relationship.domain_blocking?(Object(r.D)(),Object(r.j)("button",{key:0,class:"btn button-default btn-block toggled",onClick:t[7]||(t[7]=(...t)=>e.unmuteDomain&&e.unmuteDomain(...t))},Object(r.O)(e.$t("user_card.domain_muted")),1)):(Object(r.D)(),Object(r.j)("button",{key:1,class:"btn button-default btn-block",onClick:t[8]||(t[8]=(...t)=>e.muteDomain&&e.muteDomain(...t))},Object(r.O)(e.$t("user_card.mute_domain")),1))]),Object(r.k)("div",null,[Object(r.k)("button",{class:"btn button-default btn-block",disabled:e.user.deactivated,onClick:t[9]||(t[9]=(...t)=>e.mentionUser&&e.mentionUser(...t))},Object(r.O)(e.$t("user_card.mention")),9,I)]),"admin"===e.loggedIn.role?(Object(r.D)(),Object(r.h)(Y,{key:0,user:e.user},null,8,["user"])):Object(r.i)("",!0)])):Object(r.i)("",!0),!e.loggedIn&&e.user.is_local?(Object(r.D)(),Object(r.j)("div",$,[Object(r.m)(G,{user:e.user},null,8,["user"])])):Object(r.i)("",!0)])]),e.hideBio?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",z,[!e.mergedConfig.hideUserStats&&e.switcher?(Object(r.D)(),Object(r.j)("div",M,[Object(r.k)("div",{class:"user-count",onClick:t[10]||(t[10]=Object(r.Y)(t=>e.setProfileView("statuses"),["prevent"]))},[Object(r.k)("h5",null,Object(r.O)(e.$t("user_card.statuses")),1),Object(r.k)("span",null,[Object(r.l)(Object(r.O)(e.user.statuses_count)+" ",1),U])]),Object(r.k)("div",{class:"user-count",onClick:t[11]||(t[11]=Object(r.Y)(t=>e.setProfileView("friends"),["prevent"]))},[Object(r.k)("h5",null,Object(r.O)(e.$t("user_card.followees")),1),Object(r.k)("span",null,Object(r.O)(e.hideFollowsCount?e.$t("user_card.hidden"):e.user.friends_count),1)]),Object(r.k)("div",{class:"user-count",onClick:t[12]||(t[12]=Object(r.Y)(t=>e.setProfileView("followers"),["prevent"]))},[Object(r.k)("h5",null,Object(r.O)(e.$t("user_card.followers")),1),Object(r.k)("span",null,Object(r.O)(e.hideFollowersCount?e.$t("user_card.hidden"):e.user.followers_count),1)])])):Object(r.i)("",!0),e.hideBio?Object(r.i)("",!0):(Object(r.D)(),Object(r.h)(B,{key:1,class:"user-card-bio",html:e.user.description_html,emoji:e.user.emoji,"handle-links":!0},null,8,["html","emoji"]))]))],2)}]]);t.a=ve},function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return s})),n.d(t,"c",(function(){return a}));var r=n(20),i=n(18),o={undelay:null,topBar:null,badge:null,profileTint:null,fg:null,bg:"underlay",highlight:"bg",panel:"bg",popover:"bg",selectedMenu:"popover",btn:"bg",btnPanel:"panel",btnTopBar:"topBar",input:"bg",inputPanel:"panel",inputTopBar:"topBar",alert:"bg",alertPanel:"panel",poll:"bg",chatBg:"underlay",chatMessage:"chatBg"},s={profileTint:.5,alert:.5,input:.5,faint:.5,underlay:.15,alertPopup:.95},a={bg:{depends:[],opacity:"bg",priority:1},wallpaper:{depends:["bg"],color:function(e,t){return Object(r.brightness)(-2*e,t).rgb}},fg:{depends:[],priority:1},text:{depends:[],layer:"bg",opacity:null,priority:1},underlay:{default:"#000000",opacity:"underlay"},link:{depends:["accent"],priority:1},accent:{depends:["link"],priority:1},faint:{depends:["text"],opacity:"faint"},faintLink:{depends:["link"],opacity:"faint"},postFaintLink:{depends:["postLink"],opacity:"faint"},cBlue:"#0000ff",cRed:"#FF0000",cGreen:"#00FF00",cOrange:"#E3FF00",profileBg:{depends:["bg"],color:function(e,t){return{r:Math.floor(.53*t.r),g:Math.floor(.56*t.g),b:Math.floor(.59*t.b)}}},profileTint:{depends:["bg"],layer:"profileTint",opacity:"profileTint"},highlight:{depends:["bg"],color:function(e,t){return Object(r.brightness)(5*e,t).rgb}},highlightLightText:{depends:["lightText"],layer:"highlight",textColor:!0},highlightPostLink:{depends:["postLink"],layer:"highlight",textColor:"preserve"},highlightFaintText:{depends:["faint"],layer:"highlight",textColor:!0},highlightFaintLink:{depends:["faintLink"],layer:"highlight",textColor:"preserve"},highlightPostFaintLink:{depends:["postFaintLink"],layer:"highlight",textColor:"preserve"},highlightText:{depends:["text"],layer:"highlight",textColor:!0},highlightLink:{depends:["link"],layer:"highlight",textColor:"preserve"},highlightIcon:{depends:["highlight","highlightText"],color:function(e,t,n){return Object(i.g)(t,n)}},popover:{depends:["bg"],opacity:"popover"},popoverLightText:{depends:["lightText"],layer:"popover",textColor:!0},popoverPostLink:{depends:["postLink"],layer:"popover",textColor:"preserve"},popoverFaintText:{depends:["faint"],layer:"popover",textColor:!0},popoverFaintLink:{depends:["faintLink"],layer:"popover",textColor:"preserve"},popoverPostFaintLink:{depends:["postFaintLink"],layer:"popover",textColor:"preserve"},popoverText:{depends:["text"],layer:"popover",textColor:!0},popoverLink:{depends:["link"],layer:"popover",textColor:"preserve"},popoverIcon:{depends:["popover","popoverText"],color:function(e,t,n){return Object(i.g)(t,n)}},selectedPost:"--highlight",selectedPostFaintText:{depends:["highlightFaintText"],layer:"highlight",variant:"selectedPost",textColor:!0},selectedPostLightText:{depends:["highlightLightText"],layer:"highlight",variant:"selectedPost",textColor:!0},selectedPostPostLink:{depends:["highlightPostLink"],layer:"highlight",variant:"selectedPost",textColor:"preserve"},selectedPostFaintLink:{depends:["highlightFaintLink"],layer:"highlight",variant:"selectedPost",textColor:"preserve"},selectedPostText:{depends:["highlightText"],layer:"highlight",variant:"selectedPost",textColor:!0},selectedPostLink:{depends:["highlightLink"],layer:"highlight",variant:"selectedPost",textColor:"preserve"},selectedPostIcon:{depends:["selectedPost","selectedPostText"],color:function(e,t,n){return Object(i.g)(t,n)}},selectedMenu:{depends:["bg"],color:function(e,t){return Object(r.brightness)(5*e,t).rgb}},selectedMenuLightText:{depends:["highlightLightText"],layer:"selectedMenu",variant:"selectedMenu",textColor:!0},selectedMenuFaintText:{depends:["highlightFaintText"],layer:"selectedMenu",variant:"selectedMenu",textColor:!0},selectedMenuFaintLink:{depends:["highlightFaintLink"],layer:"selectedMenu",variant:"selectedMenu",textColor:"preserve"},selectedMenuText:{depends:["highlightText"],layer:"selectedMenu",variant:"selectedMenu",textColor:!0},selectedMenuLink:{depends:["highlightLink"],layer:"selectedMenu",variant:"selectedMenu",textColor:"preserve"},selectedMenuIcon:{depends:["selectedMenu","selectedMenuText"],color:function(e,t,n){return Object(i.g)(t,n)}},selectedMenuPopover:{depends:["popover"],color:function(e,t){return Object(r.brightness)(5*e,t).rgb}},selectedMenuPopoverLightText:{depends:["selectedMenuLightText"],layer:"selectedMenuPopover",variant:"selectedMenuPopover",textColor:!0},selectedMenuPopoverFaintText:{depends:["selectedMenuFaintText"],layer:"selectedMenuPopover",variant:"selectedMenuPopover",textColor:!0},selectedMenuPopoverFaintLink:{depends:["selectedMenuFaintLink"],layer:"selectedMenuPopover",variant:"selectedMenuPopover",textColor:"preserve"},selectedMenuPopoverText:{depends:["selectedMenuText"],layer:"selectedMenuPopover",variant:"selectedMenuPopover",textColor:!0},selectedMenuPopoverLink:{depends:["selectedMenuLink"],layer:"selectedMenuPopover",variant:"selectedMenuPopover",textColor:"preserve"},selectedMenuPopoverIcon:{depends:["selectedMenuPopover","selectedMenuText"],color:function(e,t,n){return Object(i.g)(t,n)}},lightText:{depends:["text"],layer:"bg",textColor:"preserve",color:function(e,t){return Object(r.brightness)(20*e,t).rgb}},postLink:{depends:["link"],layer:"bg",textColor:"preserve"},postGreentext:{depends:["cGreen"],layer:"bg",textColor:"preserve"},postCyantext:{depends:["cBlue"],layer:"bg",textColor:"preserve"},border:{depends:["fg"],opacity:"border",color:function(e,t){return Object(r.brightness)(2*e,t).rgb}},poll:{depends:["accent","bg"],copacity:"poll",color:function(e,t,n){return Object(i.a)(t,.4,n)}},pollText:{depends:["text"],layer:"poll",textColor:!0},icon:{depends:["bg","text"],inheritsOpacity:!1,color:function(e,t,n){return Object(i.g)(t,n)}},fgText:{depends:["text"],layer:"fg",textColor:!0},fgLink:{depends:["link"],layer:"fg",textColor:"preserve"},panel:{depends:["fg"],opacity:"panel"},panelText:{depends:["text"],layer:"panel",textColor:!0},panelFaint:{depends:["fgText"],layer:"panel",opacity:"faint",textColor:!0},panelLink:{depends:["fgLink"],layer:"panel",textColor:"preserve"},topBar:"--fg",topBarText:{depends:["fgText"],layer:"topBar",textColor:!0},topBarLink:{depends:["fgLink"],layer:"topBar",textColor:"preserve"},tab:{depends:["btn"]},tabText:{depends:["btnText"],layer:"btn",textColor:!0},tabActiveText:{depends:["text"],layer:"bg",textColor:!0},btn:{depends:["fg"],variant:"btn",opacity:"btn"},btnText:{depends:["fgText"],layer:"btn",textColor:!0},btnPanelText:{depends:["btnText"],layer:"btnPanel",variant:"btn",textColor:!0},btnTopBarText:{depends:["btnText"],layer:"btnTopBar",variant:"btn",textColor:!0},btnPressed:{depends:["btn"],layer:"btn"},btnPressedText:{depends:["btnText"],layer:"btn",variant:"btnPressed",textColor:!0},btnPressedPanel:{depends:["btnPressed"],layer:"btn"},btnPressedPanelText:{depends:["btnPanelText"],layer:"btnPanel",variant:"btnPressed",textColor:!0},btnPressedTopBar:{depends:["btnPressed"],layer:"btn"},btnPressedTopBarText:{depends:["btnTopBarText"],layer:"btnTopBar",variant:"btnPressed",textColor:!0},btnToggled:{depends:["btn"],layer:"btn",color:function(e,t){return Object(r.brightness)(20*e,t).rgb}},btnToggledText:{depends:["btnText"],layer:"btn",variant:"btnToggled",textColor:!0},btnToggledPanelText:{depends:["btnPanelText"],layer:"btnPanel",variant:"btnToggled",textColor:!0},btnToggledTopBarText:{depends:["btnTopBarText"],layer:"btnTopBar",variant:"btnToggled",textColor:!0},btnDisabled:{depends:["btn","bg"],color:function(e,t,n){return Object(i.a)(t,.25,n)}},btnDisabledText:{depends:["btnText","btnDisabled"],layer:"btn",variant:"btnDisabled",color:function(e,t,n){return Object(i.a)(t,.25,n)}},btnDisabledPanelText:{depends:["btnPanelText","btnDisabled"],layer:"btnPanel",variant:"btnDisabled",color:function(e,t,n){return Object(i.a)(t,.25,n)}},btnDisabledTopBarText:{depends:["btnTopBarText","btnDisabled"],layer:"btnTopBar",variant:"btnDisabled",color:function(e,t,n){return Object(i.a)(t,.25,n)}},input:{depends:["fg"],opacity:"input"},inputText:{depends:["text"],layer:"input",textColor:!0},inputPanelText:{depends:["panelText"],layer:"inputPanel",variant:"input",textColor:!0},inputTopbarText:{depends:["topBarText"],layer:"inputTopBar",variant:"input",textColor:!0},alertError:{depends:["cRed"],opacity:"alert"},alertErrorText:{depends:["text"],layer:"alert",variant:"alertError",textColor:!0},alertErrorPanelText:{depends:["panelText"],layer:"alertPanel",variant:"alertError",textColor:!0},alertWarning:{depends:["cOrange"],opacity:"alert"},alertWarningText:{depends:["text"],layer:"alert",variant:"alertWarning",textColor:!0},alertWarningPanelText:{depends:["panelText"],layer:"alertPanel",variant:"alertWarning",textColor:!0},alertSuccess:{depends:["cGreen"],opacity:"alert"},alertSuccessText:{depends:["text"],layer:"alert",variant:"alertSuccess",textColor:!0},alertSuccessPanelText:{depends:["panelText"],layer:"alertPanel",variant:"alertSuccess",textColor:!0},alertNeutral:{depends:["text"],opacity:"alert"},alertNeutralText:{depends:["text"],layer:"alert",variant:"alertNeutral",color:function(e,t){return Object(r.invertLightness)(t).rgb},textColor:!0},alertNeutralPanelText:{depends:["panelText"],layer:"alertPanel",variant:"alertNeutral",textColor:!0},alertPopupError:{depends:["alertError"],opacity:"alertPopup"},alertPopupErrorText:{depends:["alertErrorText"],layer:"popover",variant:"alertPopupError",textColor:!0},alertPopupWarning:{depends:["alertWarning"],opacity:"alertPopup"},alertPopupWarningText:{depends:["alertWarningText"],layer:"popover",variant:"alertPopupWarning",textColor:!0},alertPopupSuccess:{depends:["alertSuccess"],opacity:"alertPopup"},alertPopupSuccessText:{depends:["alertSuccessText"],layer:"popover",variant:"alertPopupSuccess",textColor:!0},alertPopupNeutral:{depends:["alertNeutral"],opacity:"alertPopup"},alertPopupNeutralText:{depends:["alertNeutralText"],layer:"popover",variant:"alertPopupNeutral",textColor:!0},badgeNotification:"--cRed",badgeNotificationText:{depends:["text","badgeNotification"],layer:"badge",variant:"badgeNotification",textColor:"bw"},chatBg:{depends:["bg"]},chatMessageIncomingBg:{depends:["chatBg"]},chatMessageIncomingText:{depends:["text"],layer:"chatMessage",variant:"chatMessageIncomingBg",textColor:!0},chatMessageIncomingLink:{depends:["link"],layer:"chatMessage",variant:"chatMessageIncomingBg",textColor:"preserve"},chatMessageIncomingBorder:{depends:["border"],opacity:"border",color:function(e,t){return Object(r.brightness)(2*e,t).rgb}},chatMessageOutgoingBg:{depends:["chatMessageIncomingBg"],color:function(e,t){return Object(r.brightness)(5*e,t).rgb}},chatMessageOutgoingText:{depends:["text"],layer:"chatMessage",variant:"chatMessageOutgoingBg",textColor:!0},chatMessageOutgoingLink:{depends:["link"],layer:"chatMessage",variant:"chatMessageOutgoingBg",textColor:"preserve"},chatMessageOutgoingBorder:{depends:["chatMessageOutgoingBg"],opacity:"border",color:function(e,t){return Object(r.brightness)(2*e,t).rgb}}}},,function(e,t,n){"use strict";var r=n(21),i=n.n(r),o=n(70),s=n(336),a={ja_easy:"ja",zh_Hant:"zh-HANT",zh:"zh-Hans"},c=function(e){return a[e]||e},l=function(e){var t={ja_easy:"やさしいにほんご",zh:"简体中文",zh_Hant:"繁體中文"}[e]||s.a.getNativeName(e),n=c(e);return t.charAt(0).toLocaleUpperCase(n)+t.slice(1)},u=i()(o.a.languages,(function(e){return{code:e,name:l(e)}})).sort((function(e,t){return e.name.localeCompare(t.name)})),d={internalToBrowserLocale:c,internalToBackendLocale:function(e){return c(e).replace("_","-")},languages:u,getLanguageName:l};t.a=d},,,,,function(e,t,n){"use strict";n.d(t,"b",(function(){return f})),n.d(t,"i",(function(){return O})),n.d(t,"e",(function(){return g})),n.d(t,"g",(function(){return v})),n.d(t,"f",(function(){return y})),n.d(t,"a",(function(){return C})),n.d(t,"h",(function(){return P})),n.d(t,"d",(function(){return x})),n.d(t,"k",(function(){return T})),n.d(t,"c",(function(){return I})),n.d(t,"m",(function(){return $})),n.d(t,"j",(function(){return z})),n.d(t,"l",(function(){return M}));var r=n(28),i=n.n(r),o=n(12),s=n.n(o),a=n(5),c=n.n(a),l=n(11),u=n.n(l),d=n(20),p=n(18),h=n(54);function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t(Object(r.D)(),Object(r.j)("div",{key:n,class:"poll-option"},[e.showResults?(Object(r.D)(),Object(r.j)("div",{key:0,title:e.resultTitle(t),class:"option-result"},[Object(r.k)("div",d,[Object(r.k)("span",p,Object(r.O)(e.percentageForOption(t.votes_count))+"% ",1),Object(r.m)(a,{html:t.title_html,"handle-links":!1,emoji:e.emoji},null,8,["html","emoji"])]),Object(r.k)("div",{class:"result-fill",style:Object(r.x)({width:e.percentageForOption(t.votes_count)+"%"})},null,4)],8,u)):(Object(r.D)(),Object(r.j)("div",{key:1,onClick:t=>e.activateOption(n)},[e.poll.multiple?(Object(r.D)(),Object(r.j)("input",{key:0,type:"checkbox",disabled:e.loading,value:n},null,8,b)):(Object(r.D)(),Object(r.j)("input",{key:1,type:"radio",disabled:e.loading,value:n},null,8,m)),Object(r.k)("label",f,[Object(r.m)(a,{html:t.title_html,"handle-links":!1,emoji:e.emoji},null,8,["html","emoji"])])],8,h))]))),128)),Object(r.k)("div",O,[e.showResults?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("button",{key:0,class:"btn button-default poll-vote-button",type:"button",disabled:e.isDisabled,onClick:t[0]||(t[0]=(...t)=>e.vote&&e.vote(...t))},Object(r.O)(e.$t("polls.vote")),9,j)),Object(r.k)("div",g,["number"==typeof e.poll.voters_count?(Object(r.D)(),Object(r.j)(r.a,{key:0},[Object(r.l)(Object(r.O)(e.$tc("polls.people_voted_count",e.poll.voters_count,{count:e.poll.voters_count}))+" ·  ",1)],64)):(Object(r.D)(),Object(r.j)(r.a,{key:1},[Object(r.l)(Object(r.O)(e.$tc("polls.votes_count",e.poll.votes_count,{count:e.poll.votes_count}))+" ·  ",1)],64))]),Object(r.k)("span",null,[Object(r.m)(l,{scope:"global",keypath:e.expired?"polls.expired":"polls.expires_in"},{default:Object(r.V)(()=>[Object(r.m)(c,{time:e.expiresAt,"auto-update":60,"now-threshold":0},null,8,["time"])]),_:1},8,["keypath"])])])],2)}]]),T=n(78);const I={class:"body"},$={key:0};var z=n(33),M=n(12),U=n.n(M),F=n(329),E=n(79),L=n(40),R=n.n(L),A=n(23),N=n(8),B=n(31),V=n(22),H=n(6),q=n(3),J=["backgroundColor","backgroundPosition","backgroundImage"];function W(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Y(e){for(var t=1;t=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n20},longSubject:function(){return this.status.summary.length>240},mightHideBecauseSubject:function(){return!!this.status.summary&&this.localCollapseSubjectDefault},mightHideBecauseTall:function(){return this.tallStatus&&!(this.status.summary&&this.localCollapseSubjectDefault)},hideSubjectStatus:function(){return this.mightHideBecauseSubject&&!this.expandingSubject},hideTallStatus:function(){return this.mightHideBecauseTall&&!this.showingTall},showingMore:function(){return this.mightHideBecauseTall&&this.showingTall||this.mightHideBecauseSubject&&this.expandingSubject},attachmentTypes:function(){return this.status.attachments.map((function(e){return z.a.fileType(e.mimetype)}))}},Object(N.c)(["mergedConfig"])),components:{RichContent:S.a,MFMContent:Z},mounted:function(){var e=this;this.status.attentions&&this.status.attentions.forEach((function(t){var n=t.id;e.$store.dispatch("fetchUserIfMissing",n)}))},methods:{onParseReady:function(e){var t=this;if(!this.parseReadyDone){this.parseReadyDone=!0,this.$emit("parseReady",e);var n=e.writtenMentions,r=e.invisibleMentions;n.filter((function(e){return!e.notifying})).forEach((function(e){var n=e.content,r=e.url,i=n.replace(/<[^>]+?>/gi,"");if(i.startsWith("@")){var o=i.slice(1),s=r.replace(/^https?:\/\//,"").replace(/\/.+?$/,"");t.$store.dispatch("fetchUserIfMissing","".concat(o,"@").concat(s))}})),this.postLength=r.reduce((function(e,t){return e-t.textContent.length-1}),this.postLength)}},toggleShowMore:function(){this.mightHideBecauseTall?this.toggleShowingTall():this.mightHideBecauseSubject&&this.toggleExpandingSubject()},generateTagLink:function(e){return"/tag/".concat(e)}}};n(521);var te=x()(ee,[["render",function(e,t,n,i,o,s){const a=Object(r.J)("RichContent"),c=Object(r.J)("MFMContent"),l=Object(r.J)("FAIcon");return Object(r.D)(),Object(r.j)("div",{class:Object(r.w)(["StatusBody",{"-compact":e.compact}])},[Object(r.k)("div",I,[e.status.summary_raw_html?(Object(r.D)(),Object(r.j)("div",{key:0,class:Object(r.w)(["summary-wrapper",{"-tall":e.longSubject&&!e.showingLongSubject}])},[Object(r.m)(a,{class:"media-body summary",html:e.status.summary_raw_html,emoji:e.status.emojis},null,8,["html","emoji"]),Object(r.W)(Object(r.k)("button",{class:"button-unstyled -link tall-subject-hider",onClick:t[0]||(t[0]=Object(r.Y)((...t)=>e.toggleShowingLongSubject&&e.toggleShowingLongSubject(...t),["prevent"]))},Object(r.O)(e.$t("status.hide_full_subject")),513),[[r.T,e.longSubject&&e.showingLongSubject]]),Object(r.W)(Object(r.k)("button",{class:"button-unstyled -link tall-subject-hider",onClick:t[1]||(t[1]=Object(r.Y)((...t)=>e.toggleShowingLongSubject&&e.toggleShowingLongSubject(...t),["prevent"]))},Object(r.O)(e.$t("status.show_full_subject")),513),[[r.T,e.longSubject&&!e.showingLongSubject]])],2)):Object(r.i)("",!0),Object(r.k)("div",{class:Object(r.w)([{"-tall-status":e.hideTallStatus},"text-wrapper"])},[Object(r.W)(Object(r.k)("button",{class:Object(r.w)(["button-unstyled -link tall-status-hider",{"-focused":e.focused}]),onClick:t[2]||(t[2]=Object(r.Y)((...t)=>e.toggleShowMore&&e.toggleShowMore(...t),["prevent"]))},Object(r.O)(e.$t("general.show_more")),3),[[r.T,e.hideTallStatus]]),e.hideSubjectStatus||e.singleLine&&e.status.summary_raw_html?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",$,[e.renderMisskeyMarkdown&&e.status.mfm_content?(Object(r.D)(),Object(r.h)(c,{key:0,class:"RichContent text media-body mfm-post-content",status:e.status},null,8,["status"])):(Object(r.D)(),Object(r.h)(a,{key:1,class:Object(r.w)([{"-single-line":e.singleLine},"text media-body"]),html:e.status.raw_html,emoji:e.status.emojis,"handle-links":!0,greentext:e.mergedConfig.greentext,attentions:e.status.attentions,onParseReady:e.onParseReady},null,8,["class","html","emoji","greentext","attentions","onParseReady"]))])),Object(r.W)(Object(r.k)("button",{class:"button-unstyled -link cw-status-hider",onClick:t[3]||(t[3]=Object(r.Y)((...t)=>e.toggleShowMore&&e.toggleShowMore(...t),["prevent"]))},[Object(r.l)(Object(r.O)(e.$t("status.show_content"))+" ",1),e.attachmentTypes.includes("image")?(Object(r.D)(),Object(r.h)(l,{key:0,icon:"image"})):Object(r.i)("",!0),e.attachmentTypes.includes("video")?(Object(r.D)(),Object(r.h)(l,{key:1,icon:"video"})):Object(r.i)("",!0),e.attachmentTypes.includes("audio")?(Object(r.D)(),Object(r.h)(l,{key:2,icon:"music"})):Object(r.i)("",!0),e.attachmentTypes.includes("unknown")?(Object(r.D)(),Object(r.h)(l,{key:3,icon:"file"})):Object(r.i)("",!0),e.status.poll&&e.status.poll.options?(Object(r.D)(),Object(r.h)(l,{key:4,icon:"poll-h"})):Object(r.i)("",!0),e.status.card?(Object(r.D)(),Object(r.h)(l,{key:5,icon:"link"})):Object(r.i)("",!0)],512),[[r.T,e.hideSubjectStatus]]),Object(r.W)(Object(r.k)("button",{class:"button-unstyled -link status-unhider",onClick:t[4]||(t[4]=Object(r.Y)((...t)=>e.toggleShowMore&&e.toggleShowMore(...t),["prevent"]))},Object(r.O)(e.tallStatus?e.$t("general.show_less"):e.$t("status.hide_content")),513),[[r.T,e.showingMore&&!e.fullContent]])],2)]),e.hideSubjectStatus?Object(r.i)("",!0):Object(r.I)(e.$slots,"default",{key:0})],2)}]]),ne=n(142);function re(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ie(e){for(var t=1;tthis.maxThumbnails?"hide":"normal"},maxThumbnails:function(){return this.mergedConfig.maxThumbnails}},Object(N.c)(["mergedConfig"])),Object(N.e)({currentUser:function(e){return e.users.currentUser}})),components:{Attachment:l.a,Poll:D,Gallery:T.a,LinkPreview:ne.a,StatusBody:te},methods:{toggleShowingTall:function(){ae(this,"showingTall")},toggleExpandingSubject:function(){ae(this,"expandingSubject")},toggleShowingLongSubject:function(){ae(this,"showingLongSubject")},setMedia:function(){var e=this,t="hide"===this.attachmentSize?this.status.attachments:this.galleryAttachments;return function(){return e.$store.dispatch("setMedia",t)}}}};n(523);const le=x()(ce,[["render",function(e,t,n,a,c,l){const u=Object(r.J)("Poll"),d=Object(r.J)("FAIcon"),p=Object(r.J)("gallery"),h=Object(r.J)("link-preview"),b=Object(r.J)("StatusBody");return Object(r.D)(),Object(r.j)("div",{class:Object(r.w)(["StatusContent",{"-compact":e.compact}])},[Object(r.I)(e.$slots,"header"),Object(r.m)(b,{status:e.status,compact:e.compact,"single-line":e.singleLine,"showing-tall":e.showingTall,"expanding-subject":e.expandingSubject,"showing-long-subject":e.showingLongSubject,"toggle-showing-tall":e.toggleShowingTall,"toggle-expanding-subject":e.toggleExpandingSubject,"toggle-showing-long-subject":e.toggleShowingLongSubject,onParseReady:t[2]||(t[2]=t=>e.$emit("parseReady",t))},{default:Object(r.V)(()=>[e.status.poll&&e.status.poll.options&&!e.compact?(Object(r.D)(),Object(r.j)("div",i,[Object(r.m)(u,{"base-poll":e.status.poll,emoji:e.status.emojis},null,8,["base-poll","emoji"])])):e.status.poll&&e.status.poll.options&&e.compact?(Object(r.D)(),Object(r.j)("div",o,[Object(r.m)(d,{icon:"poll-h",size:"2x"})])):Object(r.i)("",!0),0!==e.status.attachments.length?(Object(r.D)(),Object(r.h)(p,{key:2,class:"attachments media-body",nsfw:e.nsfwClickthrough,attachments:e.status.attachments,limit:e.compact?1:0,size:e.attachmentSize,onPlay:t[0]||(t[0]=t=>e.$emit("mediaplay",e.attachment.id)),onPause:t[1]||(t[1]=t=>e.$emit("mediapause",e.attachment.id))},null,8,["nsfw","attachments","limit","size"])):Object(r.i)("",!0),!e.status.card||e.noHeading||e.compact?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",s,[Object(r.m)(h,{card:e.status.card,size:e.attachmentSize,nsfw:e.nsfwClickthrough},null,8,["card","size","nsfw"])]))]),_:1},8,["status","compact","single-line","showing-tall","expanding-subject","showing-long-subject","toggle-showing-tall","toggle-expanding-subject","toggle-showing-long-subject"]),Object(r.I)(e.$slots,"footer")],2)}]]);t.a=le},,function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"b",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"d",(function(){return l})),n.d(t,"e",(function(){return u}));var r=6e4,i=60*r,o=24*i,s=7*o,a=30*o,c=365.25*o,l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;"string"==typeof e&&(e=Date.parse(e));var n=Date.now()>e?Math.floor:Math.ceil,l=Math.abs(Date.now()-e),u={num:n(l/c),key:"time.years"};return l<1e3*t?(u.num=0,u.key="time.now"):l1&&void 0!==arguments[1]?arguments[1]:1,n=l(e,t);return n.key+="_short",n}},,,function(e,t,n){"use strict";var r=n(0);const i={key:0,ref:"canvas"},o=["alt","title","src","referrerpolicy"];var s={props:["src","referrerpolicy","mimetype","imageLoadError","imageLoadHandler","alt","height","width"],data:function(){return{stopGifs:this.$store.getters.mergedConfig.stopGifs}},computed:{animated:function(){return this.stopGifs&&("image/gif"===this.mimetype||this.src.endsWith(".gif"))},style:function(){var e=function(e){return/\d$/.test(e)?e+"px":e};return{height:this.height?e(this.height):null,width:this.width?e(this.width):null}}},methods:{onLoad:function(){var e=this.$refs.src;if(e){this.imageLoadHandler&&this.imageLoadHandler(e);var t=this.$refs.canvas;if(t){var n=e.naturalWidth,r=e.naturalHeight;t.width=n,t.height=r,t.getContext("2d").drawImage(e,0,0,n,r)}}},onError:function(){this.imageLoadError&&this.imageLoadError()}}},a=(n(507),n(4));const c=n.n(a)()(s,[["render",function(e,t,n,s,a,c){return Object(r.D)(),Object(r.j)("div",{class:Object(r.w)(["still-image",{animated:e.animated}]),style:Object(r.x)(e.style)},[e.animated?(Object(r.D)(),Object(r.j)("canvas",i,null,512)):Object(r.i)("",!0),(Object(r.D)(),Object(r.j)("img",{ref:"src",key:e.src,alt:e.alt,title:e.alt,src:e.src,referrerpolicy:e.referrerpolicy,onLoad:t[0]||(t[0]=(...t)=>e.onLoad&&e.onLoad(...t)),onError:t[1]||(t[1]=(...t)=>e.onError&&e.onError(...t))},null,40,o)),Object(r.I)(e.$slots,"default")],6)}]]);t.a=c},function(e,t,n){"use strict";var r=n(0);const i=["disabled","checked","indeterminate"],o=Object(r.k)("i",{class:"checkbox-indicator"},null,-1),s={key:0,class:"label"};var a={emits:["update:modelValue"],props:["modelValue","indeterminate","disabled"]},c=(n(502),n(4));const l=n.n(c)()(a,[["render",function(e,t,n,a,c,l){return Object(r.D)(),Object(r.j)("label",{class:Object(r.w)(["checkbox",{disabled:n.disabled,indeterminate:n.indeterminate}])},[Object(r.k)("input",{type:"checkbox",disabled:n.disabled,checked:n.modelValue,indeterminate:n.indeterminate,onChange:t[0]||(t[0]=t=>e.$emit("update:modelValue",t.target.checked))},null,40,i),o,e.$slots.default?(Object(r.D)(),Object(r.j)("span",s,[Object(r.I)(e.$slots,"default")])):Object(r.i)("",!0)],2)}]]);t.a=l},function(e,t,n){"use strict";var r=n(0);const i=["disabled","value"],o=Object(r.l)(" "+Object(r.O)(" ")+" ");var s=n(6),a=n(3);s.c.add(a.n);var c={emits:["update:modelValue"],props:["modelValue","disabled","unstyled","kind"]},l=(n(505),n(4));const u=n.n(l)()(c,[["render",function(e,t,n,s,a,c){const l=Object(r.J)("FAIcon");return Object(r.D)(),Object(r.j)("label",{class:Object(r.w)(["Select input",{disabled:e.disabled,unstyled:e.unstyled}])},[Object(r.k)("select",{disabled:e.disabled,value:e.modelValue,onChange:t[0]||(t[0]=t=>e.$emit("update:modelValue",t.target.value))},[Object(r.I)(e.$slots,"default")],40,i),o,Object(r.m)(l,{class:"select-down-icon",icon:"chevron-down"})],2)}]]);t.a=u},function(e,t,n){"use strict";var r=n(0);const i={class:"basic-user-card"},o={key:0,class:"basic-user-card-expanded-content"},s={key:1,class:"basic-user-card-collapsed-content"},a=["title"];var c=n(35),l=n(22),u=n(25),d=n(23),p={props:["user"],data:function(){return{userExpanded:!1}},components:{UserCard:c.a,UserAvatar:l.default,RichContent:u.a},methods:{toggleUserExpanded:function(){this.userExpanded=!this.userExpanded},userProfileLink:function(e){return Object(d.a)(e.id,e.screen_name,this.$store.state.instance.restrictedNicknames)}}},h=(n(577),n(4));const b=n.n(h)()(p,[["render",function(e,t,n,c,l,u){const d=Object(r.J)("UserAvatar"),p=Object(r.J)("router-link"),h=Object(r.J)("UserCard"),b=Object(r.J)("RichContent");return Object(r.D)(),Object(r.j)("div",i,[Object(r.m)(p,{to:e.userProfileLink(e.user)},{default:Object(r.V)(()=>[Object(r.m)(d,{class:"avatar",user:e.user,onClick:Object(r.Y)(e.toggleUserExpanded,["prevent"])},null,8,["user","onClick"])]),_:1},8,["to"]),e.userExpanded?(Object(r.D)(),Object(r.j)("div",o,[Object(r.m)(h,{"user-id":e.user.id,rounded:!0,bordered:!0},null,8,["user-id"])])):(Object(r.D)(),Object(r.j)("div",s,[Object(r.k)("div",{title:e.user.name,class:"basic-user-card-user-name"},[Object(r.m)(b,{class:"basic-user-card-user-name-value",html:e.user.name,emoji:e.user.emoji},null,8,["html","emoji"])],8,a),Object(r.k)("div",null,[Object(r.m)(p,{class:"basic-user-card-screen-name",to:e.userProfileLink(e.user)},{default:Object(r.V)(()=>[Object(r.l)(" @"+Object(r.O)(e.user.screen_name_ui),1)]),_:1},8,["to"])]),Object(r.I)(e.$slots,"default")]))])}]]);t.a=b},function(e,t,n){"use strict";n.d(t,"a",(function(){return f})),n.d(t,"e",(function(){return j})),n.d(t,"f",(function(){return y})),n.d(t,"b",(function(){return _})),n.d(t,"c",(function(){return S})),n.d(t,"d",(function(){return C}));var r=n(5),i=n.n(r),o=n(11),s=n.n(o),a=n(28),c=n.n(a),l=n(12),u=n.n(l),d=n(20),p=n(18),h=n(36);function b(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:h.b,n=[e],r=t[e];r;)n.unshift(r),r=t[r];return n},j=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,n=arguments.length>2?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;return O(e).map((function(o){return[o===e?r[t]:r[o],o===e?i[n]||1:i[o]]}))},g=function(e,t){var n=t[e];if("string"==typeof n&&n.startsWith("--"))return[n.substring(2)];if(null===n)return[];var r=n.depends,i=n.layer,o=n.variant,s=i?O(i).map((function(e){return e===i?o||i:e})):[];return Array.isArray(r)?[].concat(u()(r),u()(s)):u()(s)},v=function(e){return"object"===c()(e)?e:{depends:e.startsWith("--")?[e.substring(2)]:[],default:e.startsWith("#")?e:void 0}},y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h.c,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:g,r=v(t[e]);if(null!==r.opacity){if(r.opacity)return r.opacity;var i=function r(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[e],s=n(i,t)[0];if(void 0!==s){var a=t[s];if(void 0!==a)return a.opacity||null===a?a.opacity:a.depends&&o.includes(s)?r(s,[].concat(u()(o),[s])):null}};return r.depends?i(e):void 0}},w=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:h.c,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:g,r=v(t[e]);if(h.b[e])return e;if(null!==r.layer){if(r.layer)return r.layer;var i=function r(i){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[e],s=n(i,t)[0];if(void 0!==s){var a=t[s];if(void 0!==a)return a.layer||null===a?a.layer:a.depends?r(a,[].concat(u()(o),[s])):null}};return r.depends?i(e):void 0}},k=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:h.c,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:g,n=Object.keys(e),r=new Set(n),i=new Set,o=new Set,s=u()(n),a=[],c=function n(s){if(r.has(s))r.delete(s),i.add(s),t(s,e).forEach(n),i.delete(s),o.add(s),a.push(s);else if(i.has(s))console.debug("Cyclic depenency in topoSort, ignoring"),a.push(s);else if(!o.has(s))throw new Error("Unintended condition in topoSort!")};s.length>0;)c(s.pop());return a.map((function(e,t){return{data:e,index:t}})).sort((function(n,r){var i=n.data,o=n.index,s=r.data,a=r.index,c=t(i,e).length,l=t(s,e).length;return c===l||0!==l&&0!==c?o-a:0===c&&0!==l?-1:0===l&&0!==c?1:void 0})).map((function(e){return e.data}))}(Object.entries(h.c).sort((function(e,t){var n=s()(e,2),r=(n[0],n[1]),i=s()(t,2),o=(i[0],i[1]);return(r&&r.priority||0)-(o&&o.priority||0)})).reduce((function(e,t){var n=s()(t,2),r=n[0],o=n[1];return m(m({},e),{},i()({},r,o))}),{})),_=Object.entries(h.c).reduce((function(e,t){var n=s()(t,2),r=n[0],o=(n[1],y(r,h.c,g));return o?m(m({},e),{},i()({},o,{defaultValue:h.a[o]||1,affectedSlots:[].concat(u()(e[o]&&e[o].affectedSlots||[]),[r])})):e}),{}),S=function(e,t,n){if("string"!=typeof e||!e.startsWith("--"))return e;var r=null,i=e.split(/,/g).map((function(e){return e.trim()})),o=s()(i,2),a=o[0],c=o[1];return r=t(a.substring(2)),c&&(r=Object(d.brightness)(Number.parseFloat(c)*n,r).rgb),r},C=function(e,t){return k.reduce((function(n,r){var o=n.colors,s=n.opacity,a=e[r],c=v(h.c[r]),l=g(r,h.c),b=!!c.textColor,f=c.variant||c.layer,O=null;O=b?Object(p.b)(m({},o[l[0]]||Object(d.convert)(e[r]||"#FF00FF").rgb),j(w(r)||"bg",f||"bg",y(f),o,s)):f&&f!==r?o[f]||Object(d.convert)(e[f]).rgb:o.bg||Object(d.convert)(e.bg);var k=Object(p.h)(O)<.5?1:-1,C=null;if(a){var P=a;if("transparent"===P){var x=j(w(r),r,y(r)||r,o,s).slice(0,-1);P=m(m({},Object(p.b)(Object(d.convert)("#FF00FF").rgb,x)),{},{a:0})}else"string"==typeof a&&a.startsWith("--")?P=S(a,(function(t){return o[t]||e[t]}),k):"string"==typeof a&&a.startsWith("#")&&(P=Object(d.convert)(P).rgb);C=m({},P)}else if(c.default)C=Object(d.convert)(c.default).rgb;else{var D=c.color||function(e,t){return m({},t)};if(c.textColor)if("bw"===c.textColor)C=Object(d.contrastRatio)(O).rgb;else{var T=m({},o[l[0]]);c.color&&(T=D.apply(void 0,[k].concat(u()(l.map((function(e){return m({},o[e])})))))),C=Object(p.e)(O,m({},T),"preserve"===c.textColor)}else C=D.apply(void 0,[k].concat(u()(l.map((function(e){return m({},o[e])})))))}if(!C)throw new Error("Couldn't generate color for "+r);var I=c.opacity||y(r),$=c.opacity;if(null===$)C.a=1;else if("transparent"===a)C.a=0;else{var z=$&&void 0!==t[I],M=l[0],U=M&&o[M];$||!U||c.textColor||null===$?U||I?U&&0===U.a?C.a=0:C.a=Number(z?t[I]:(_[I]||{}).defaultValue):delete C.a:C.a=U.a}return(Number.isNaN(C.a)||void 0===C.a)&&(C.a=1),I?{colors:m(m({},o),{},i()({},r,C)),opacity:m(m({},s),{},i()({},I,C.a))}:{colors:m(m({},o),{},i()({},r,C)),opacity:s}}),{colors:{},opacity:{}})}},,,function(e,t,n){"use strict";var r=n(0);const i={ref:"form",class:"post-status-form"},o={class:"form-group"},s={key:1,class:"visibility-notice notice-dismissible"},a={key:2,class:"visibility-notice notice-dismissible"},c={key:3,class:"visibility-notice notice-dismissible"},l={key:4,class:"visibility-notice"},u={key:0},d={key:1},p={key:5,class:"preview-heading faint"},h={class:"preview-spinner"},b={key:6,class:"preview-container"},m={key:0,class:"preview-status"},f={key:1,class:"preview-status preview-error"},O=["placeholder","disabled"],j=["placeholder","disabled"],g={key:8,class:"visibility-tray"},v={key:0,class:"text-format"},y=["value"],w={key:1,class:"text-format"},k={class:"only-format"},_={ref:"bottom",class:"form-bottom"},S={class:"form-bottom-left"},C=["title"],P=["title"],x={key:0,disabled:"",class:"btn button-default"},D={key:1,disabled:"",class:"btn button-default"},T=["disabled"],I={key:1,class:"alert error"},$={key:3,class:"upload_settings"};var z=n(13),M=n.n(z),U=n(5),F=n.n(U),E=n(12),L=n.n(E),R=n(56),A=n.n(R),N=n(136),B=n.n(N),V=n(21),H=n.n(V),q=n(224),J=n.n(q),W=n(10),Y=n.n(W),G=n(76);const K=["title"],X=["disabled"];var Z=n(96),Q=n(6),ee=n(3);function te(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return ne(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ne(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function ne(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0}},methods:{uploadFile:function(e){var t=this,n=this.$store;if(e.size>n.state.instance.uploadlimit){var r=Z.a.fileSizeFormat(e.size),i=Z.a.fileSizeFormat(n.state.instance.uploadlimit);t.$emit("upload-failed","file_too_big",{filesize:r.num,filesizeunit:r.unit,allowedsize:i.num,allowedsizeunit:i.unit})}else{var o=new FormData;o.append("file",e),t.$emit("uploading"),t.uploadCount++,G.a.uploadMedia({store:n,formData:o}).then((function(e){t.$emit("uploaded",e),t.decreaseUploadCount()}),(function(e){t.$emit("upload-failed","default"),t.decreaseUploadCount()}))}},decreaseUploadCount:function(){this.uploadCount--,0===this.uploadCount&&this.$emit("all-uploaded")},clearFile:function(){var e=this;this.uploadReady=!1,this.$nextTick((function(){e.uploadReady=!0}))},multiUpload:function(e){var t,n=te(e);try{for(n.s();!(t=n.n()).done;){var r=t.value;this.uploadFile(r)}}catch(e){n.e(e)}finally{n.f()}},change:function(e){var t=e.target;this.multiUpload(t.files)}},props:["dropFiles","disabled"],watch:{dropFiles:function(e){this.uploading||this.multiUpload(e)}}},ie=(n(500),n(4)),oe=n.n(ie);var se=oe()(re,[["render",function(e,t,n,i,o,s){const a=Object(r.J)("FAIcon");return Object(r.D)(),Object(r.j)("label",{class:Object(r.w)(["media-upload",{disabled:e.disabled}]),title:e.$t("tool_tip.media_upload")},[e.uploading?(Object(r.D)(),Object(r.h)(a,{key:0,class:"progress-icon",icon:"circle-notch",spin:""})):Object(r.i)("",!0),e.uploading?Object(r.i)("",!0):(Object(r.D)(),Object(r.h)(a,{key:1,class:"new-icon",icon:"upload"})),e.uploadReady?(Object(r.D)(),Object(r.j)("input",{key:2,class:"hidden-input-file",disabled:e.disabled,type:"file",multiple:"true",onChange:t[0]||(t[0]=(...t)=>e.change&&e.change(...t))},null,40,X)):Object(r.i)("",!0)],10,K)}]]),ae=n(175),ce=n(310);const le={key:0,class:"poll-form"},ue={class:"input-container"},de=["id","onUpdate:modelValue","placeholder","maxlength","onKeydown"],pe=["onClick"],he={class:"poll-type-expiry"},be=["title"],me={value:"single"},fe={value:"multiple"},Oe=["title"],je=["min","max"],ge=Object(r.l)(" "+Object(r.O)(" ")+" "),ve=["value"];var ye=n(98),we=n.n(ye),ke=n(47),_e=n(52);Q.c.add(ee.rb,ee.V);var Se={components:{Select:_e.a},name:"PollForm",props:["visible"],data:function(){return{pollType:"single",options:["",""],expiryAmount:10,expiryUnit:"minutes"}},computed:{pollLimits:function(){return this.$store.state.instance.pollLimits},maxOptions:function(){return this.pollLimits.max_options},maxLength:function(){return this.pollLimits.max_option_chars},expiryUnits:function(){var e=this,t=this.convertExpiryFromUnit;return["minutes","hours","days"].filter((function(n){return e.pollLimits.max_expiration>=t(n,1)}))},minExpirationInCurrentUnit:function(){return Math.ceil(this.convertExpiryToUnit(this.expiryUnit,this.pollLimits.min_expiration))},maxExpirationInCurrentUnit:function(){return Math.floor(this.convertExpiryToUnit(this.expiryUnit,this.pollLimits.max_expiration))}},methods:{clear:function(){this.pollType="single",this.options=["",""],this.expiryAmount=10,this.expiryUnit="minutes"},nextOption:function(e){var t=this.$el.querySelector("#poll-".concat(e+1));t?t.focus():this.addOption()&&this.$nextTick((function(){this.nextOption(e)}))},addOption:function(){return this.options.length2&&(this.options.splice(e,1),this.updatePollToParent())},convertExpiryToUnit:function(e,t){switch(e){case"minutes":return 1e3*t/ke.c;case"hours":return 1e3*t/ke.b;case"days":return 1e3*t/ke.a}},convertExpiryFromUnit:function(e,t){switch(e){case"minutes":return.001*t*ke.c;case"hours":return.001*t*ke.b;case"days":return.001*t*ke.a}},expiryAmountChange:function(){this.expiryAmount=Math.max(this.minExpirationInCurrentUnit,this.expiryAmount),this.expiryAmount=Math.min(this.maxExpirationInCurrentUnit,this.expiryAmount),this.updatePollToParent()},updatePollToParent:function(){var e=this.convertExpiryFromUnit(this.expiryUnit,this.expiryAmount),t=we()(this.options.filter((function(e){return""!==e})));t.length<2?this.$emit("update-poll",{error:this.$t("polls.not_enough_options")}):this.$emit("update-poll",{options:t,multiple:"multiple"===this.pollType,expiresIn:e})}}};n(506);var Ce=oe()(Se,[["render",function(e,t,n,i,o,s){const a=Object(r.J)("FAIcon"),c=Object(r.J)("Select");return e.visible?(Object(r.D)(),Object(r.j)("div",le,[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.options,(n,i)=>(Object(r.D)(),Object(r.j)("div",{key:i,class:"poll-option"},[Object(r.k)("div",ue,[Object(r.W)(Object(r.k)("input",{id:"poll-"+i,"onUpdate:modelValue":t=>e.options[i]=t,size:"1",class:"poll-option-input",type:"text",placeholder:e.$t("polls.option"),maxlength:e.maxLength,onChange:t[0]||(t[0]=(...t)=>e.updatePollToParent&&e.updatePollToParent(...t)),onKeydown:Object(r.X)(Object(r.Y)(t=>e.nextOption(i),["stop","prevent"]),["enter"])},null,40,de),[[r.S,e.options[i]]])]),e.options.length>2?(Object(r.D)(),Object(r.j)("button",{key:0,class:"delete-option button-unstyled -hover-highlight",onClick:t=>e.deleteOption(i)},[Object(r.m)(a,{icon:"times"})],8,pe)):Object(r.i)("",!0)]))),128)),e.options.lengthe.addOption&&e.addOption(...t))},[Object(r.m)(a,{icon:"plus",size:"sm"}),Object(r.l)(" "+Object(r.O)(e.$t("polls.add_option")),1)])):Object(r.i)("",!0),Object(r.k)("div",he,[Object(r.k)("div",{class:"poll-type",title:e.$t("polls.type")},[Object(r.m)(c,{modelValue:e.pollType,"onUpdate:modelValue":t[2]||(t[2]=t=>e.pollType=t),class:"poll-type-select",unstyled:"true",onChange:e.updatePollToParent},{default:Object(r.V)(()=>[Object(r.k)("option",me,Object(r.O)(e.$t("polls.single_choice")),1),Object(r.k)("option",fe,Object(r.O)(e.$t("polls.multiple_choices")),1)]),_:1},8,["modelValue","onChange"])],8,be),Object(r.k)("div",{class:"poll-expiry",title:e.$t("polls.expiry")},[Object(r.W)(Object(r.k)("input",{"onUpdate:modelValue":t[3]||(t[3]=t=>e.expiryAmount=t),type:"number",class:"expiry-amount hide-number-spinner",min:e.minExpirationInCurrentUnit,max:e.maxExpirationInCurrentUnit,onChange:t[4]||(t[4]=(...t)=>e.expiryAmountChange&&e.expiryAmountChange(...t))},null,40,je),[[r.S,e.expiryAmount]]),ge,Object(r.m)(c,{modelValue:e.expiryUnit,"onUpdate:modelValue":t[5]||(t[5]=t=>e.expiryUnit=t),unstyled:"true",class:"expiry-unit",onChange:e.expiryAmountChange},{default:Object(r.V)(()=>[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.expiryUnits,t=>(Object(r.D)(),Object(r.j)("option",{key:t,value:t},Object(r.O)(e.$t(`time.${t}_short`,[""])),9,ve))),128))]),_:1},8,["modelValue","onChange"])],8,Oe)])])):Object(r.i)("",!0)}]]),Pe=n(58),xe=n(78),De=n(45),Te=n(33),Ie=n(137),$e=n(167),ze=n(8),Me=n(51);function Ue(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Fe(e){for(var t=1;t0?s.join(" ")+" ":""}({user:this.repliedUser,attentions:this.attentions},n)}var r=this.copyMessageScope&&t||"direct"===this.copyMessageScope?this.copyMessageScope:this.$store.state.users.currentUser.default_scope,i=this.$store.getters.mergedConfig,o=i.postContentType,s=i.sensitiveByDefault,a=i.sensitiveIfSubject;return{dropFiles:[],uploadingFiles:!1,error:null,posting:!1,highlighted:0,newStatus:{spoilerText:this.subject||"",status:e,sensitiveIfSubject:a,nsfw:!!s,files:[],poll:{},mediaDescriptions:{},visibility:r,contentType:o},caret:0,pollFormVisible:!1,showDropIcon:"hide",dropStopTimeout:null,preview:null,previewLoading:!1,emojiInputShown:!1,idempotencyKey:""}},computed:Fe(Fe({users:function(){return this.$store.state.users.users},userDefaultScope:function(){return this.$store.state.users.currentUser.default_scope},showAllScopes:function(){return!this.mergedConfig.minimalScopesMode},emojiUserSuggestor:function(){return Object($e.a)({emoji:[].concat(L()(this.$store.state.instance.emoji),L()(this.$store.state.instance.customEmoji)),store:this.$store})},emojiSuggestor:function(){return Object($e.a)({emoji:[].concat(L()(this.$store.state.instance.emoji),L()(this.$store.state.instance.customEmoji))})},emoji:function(){return this.$store.state.instance.emoji||[]},customEmoji:function(){return this.$store.state.instance.customEmoji||[]},statusLength:function(){return this.newStatus.status.length},spoilerTextLength:function(){return this.newStatus.spoilerText.length},statusLengthLimit:function(){return this.$store.state.instance.textlimit},hasStatusLengthLimit:function(){return this.statusLengthLimit>0},charactersLeft:function(){return this.statusLengthLimit-(this.statusLength+this.spoilerTextLength)},isOverLengthLimit:function(){return this.hasStatusLengthLimit&&this.charactersLeft<0},minimalScopesMode:function(){return this.$store.state.instance.minimalScopesMode},alwaysShowSubject:function(){return this.mergedConfig.alwaysShowSubjectInput},postFormats:function(){return this.$store.state.instance.postFormats||[]},safeDMEnabled:function(){return this.$store.state.instance.safeDM},pollsAvailable:function(){return this.$store.state.instance.pollsAvailable&&this.$store.state.instance.pollLimits.max_options>=2&&!0!==this.disablePolls},hideScopeNotice:function(){return this.disableNotice||this.$store.getters.mergedConfig.hideScopeNotice},pollContentError:function(){return this.pollFormVisible&&this.newStatus.poll&&this.newStatus.poll.error},showPreview:function(){return!this.disablePreview&&(!!this.preview||this.previewLoading)},emptyStatus:function(){return""===this.newStatus.status.trim()&&0===this.newStatus.files.length},uploadFileLimitReached:function(){return this.newStatus.files.length>=this.fileLimit}},Object(ze.c)(["mergedConfig"])),Object(ze.e)({mobileLayout:function(e){return e.interface.mobileLayout}})),watch:{newStatus:{deep:!0,handler:function(){this.statusChanged()}}},methods:{statusChanged:function(){this.autoPreview(),this.updateIdempotencyKey()},clearStatus:function(){var e=this,t=this.newStatus;this.newStatus={status:"",spoilerText:"",files:[],visibility:t.visibility,contentType:t.contentType,poll:{},mediaDescriptions:{}},this.pollFormVisible=!1,this.$refs.mediaUpload&&this.$refs.mediaUpload.clearFile(),this.clearPollForm(),this.preserveFocus&&this.$nextTick((function(){e.$refs.textarea.focus()}));var n=this.$el.querySelector("textarea");n.style.height="auto",n.style.height=void 0,this.error=null,this.preview&&this.previewStatus()},postStatus:function(e,t){var n=arguments,r=this;return M()(Y.a.mark((function i(){var o,s,a;return Y.a.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:if(n.length>2&&void 0!==n[2]?n[2]:{},o=r.$store.getters.mergedConfig.sensitiveIfSubject,!r.posting||r.optimisticPosting){i.next=4;break}return i.abrupt("return");case 4:if(!r.disableSubmit){i.next=6;break}return i.abrupt("return");case 6:if(!r.emojiInputShown){i.next=8;break}return i.abrupt("return");case 8:if(r.submitOnEnter&&(e.stopPropagation(),e.preventDefault()),!r.optimisticPosting||!r.emptyStatus&&!r.isOverLengthLimit){i.next=11;break}return i.abrupt("return");case 11:if(!r.emptyStatus){i.next=14;break}return r.error=r.$t("post_status.empty_status_error"),i.abrupt("return");case 14:if(s=r.pollFormVisible?r.newStatus.poll:{},!r.pollContentError){i.next=18;break}return r.error=r.pollContentError,i.abrupt("return");case 18:return r.posting=!0,i.prev=19,i.next=22,r.setAllMediaDescriptions();case 22:i.next=29;break;case 24:return i.prev=24,i.t0=i.catch(19),r.error=r.$t("post_status.media_description_error"),r.posting=!1,i.abrupt("return");case 29:a={status:t.status,spoilerText:t.spoilerText||null,visibility:t.visibility,sensitive:t.nsfw||o&&t.spoilerText,media:t.files,store:r.$store,inReplyToStatusId:r.replyTo,contentType:t.contentType,poll:s,idempotencyKey:r.idempotencyKey},(r.postHandler?r.postHandler:G.a.postStatus)(a).then((function(e){e.error?r.error=e.error:(r.clearStatus(),r.$emit("posted",e)),r.posting=!1}));case 32:case"end":return i.stop()}}),i,null,[[19,24]])})))()},previewStatus:function(){var e=this;if(this.emptyStatus&&""===this.newStatus.spoilerText.trim())return this.preview={error:this.$t("post_status.preview_empty")},void(this.previewLoading=!1);var t=this.newStatus;this.previewLoading=!0,G.a.postStatus({status:t.status,spoilerText:t.spoilerText||null,visibility:t.visibility,sensitive:t.nsfw,media:[],store:this.$store,inReplyToStatusId:this.replyTo,contentType:t.contentType,poll:{},preview:!0}).then((function(t){e.previewLoading&&(t.error?e.preview={error:t.error}:e.preview=t)})).catch((function(t){e.preview={error:t}})).finally((function(){e.previewLoading=!1}))},debouncePreviewStatus:A()((function(){this.previewStatus()}),500),autoPreview:function(){this.preview&&(this.previewLoading=!0,this.debouncePreviewStatus())},closePreview:function(){this.preview=null,this.previewLoading=!1},togglePreview:function(){this.showPreview?this.closePreview():this.previewStatus()},addMediaFile:function(e){this.newStatus.files.push(e),this.$emit("resize",{delayed:!0})},removeMediaFile:function(e){var t=this.newStatus.files.indexOf(e);this.newStatus.files.splice(t,1),this.$emit("resize")},editAttachment:function(e,t){this.newStatus.mediaDescriptions[e.id]=t},shiftUpMediaFile:function(e){var t=this.newStatus.files,n=this.newStatus.files.indexOf(e);t.splice(n,1),t.splice(n-1,0,e)},shiftDnMediaFile:function(e){var t=this.newStatus.files,n=this.newStatus.files.indexOf(e);t.splice(n,1),t.splice(n+1,0,e)},uploadFailed:function(e,t){t=t||{},this.error=this.$t("upload.error.base")+" "+this.$t("upload.error."+e,t)},startedUploadingFiles:function(){this.uploadingFiles=!0},finishedUploadingFiles:function(){this.$emit("resize"),this.uploadingFiles=!1},type:function(e){return Te.a.fileType(e.mimetype)},paste:function(e){this.autoPreview(),this.resize(e),e.clipboardData.files.length>0&&(e.preventDefault(),this.dropFiles=[e.clipboardData.files[0]])},fileDrop:function(e){e.dataTransfer&&e.dataTransfer.types.includes("Files")&&(e.preventDefault(),this.dropFiles=e.dataTransfer.files,clearTimeout(this.dropStopTimeout),this.showDropIcon="hide")},fileDragStop:function(e){var t=this;clearTimeout(this.dropStopTimeout),this.showDropIcon="fade",this.dropStopTimeout=setTimeout((function(){return t.showDropIcon="hide"}),500)},fileDrag:function(e){e.dataTransfer.dropEffect=this.uploadFileLimitReached?"none":"copy",e.dataTransfer&&e.dataTransfer.types.includes("Files")&&(clearTimeout(this.dropStopTimeout),this.showDropIcon="show")},onEmojiInputInput:function(e){var t=this;this.$nextTick((function(){t.resize(t.$refs.textarea)}))},resize:function(e){var t=e.target||e;if(t instanceof window.Element){if(""===t.value)return t.style.height=null,this.$emit("resize"),void this.$refs["emoji-input"].resize();var n=this.$refs.form,r=this.$refs.bottom,i=window.getComputedStyle(r)["padding-bottom"],o=Ee(i),s=this.$el.closest(".column.-scrollable")||this.$el.closest(".post-form-modal-view")||window,a=window.getComputedStyle(t)["padding-top"],c=window.getComputedStyle(t)["padding-bottom"],l=Ee(a)+Ee(c),u=Ee(t.style.height),d=s===window?s.scrollY:s.scrollTop,p=s===window?s.innerHeight:s.offsetHeight,h=d+p;t.style.height="auto";var b=Math.floor(t.scrollHeight-l),m=this.maxHeight?Math.min(b,this.maxHeight):b;Math.abs(m-u)<=1&&(m=u),t.style.height="".concat(m,"px"),this.$emit("resize",m);var f=r.offsetHeight+Object(Ie.a)(r,s).top+o,O=h{},["prevent"])),onDragover:t[27]||(t[27]=Object(r.Y)((...t)=>e.fileDrag&&e.fileDrag(...t),["prevent"]))},[Object(r.k)("div",o,[e.$store.state.users.currentUser.locked||"private"!=e.newStatus.visibility||e.disableLockWarning?Object(r.i)("",!0):(Object(r.D)(),Object(r.h)(F,{key:0,keypath:"post_status.account_not_locked_warning",tag:"p",class:"visibility-notice",scope:"global"},{default:Object(r.V)(()=>[Object(r.k)("button",{class:"button-unstyled -link",onClick:t[0]||(t[0]=(...t)=>e.openProfileTab&&e.openProfileTab(...t))},Object(r.O)(e.$t("post_status.account_not_locked_warning_link")),1)]),_:1})),e.hideScopeNotice||"public"!==e.newStatus.visibility?e.hideScopeNotice||"unlisted"!==e.newStatus.visibility?!e.hideScopeNotice&&"private"===e.newStatus.visibility&&e.$store.state.users.currentUser.locked?(Object(r.D)(),Object(r.j)("p",c,[Object(r.k)("span",null,Object(r.O)(e.$t("post_status.scope_notice.private")),1),Object(r.k)("a",{class:"fa-scale-110 fa-old-padding dismiss",onClick:t[3]||(t[3]=Object(r.Y)(t=>e.dismissScopeNotice(),["prevent"]))},[Object(r.m)(E,{icon:"times"})])])):"direct"===e.newStatus.visibility?(Object(r.D)(),Object(r.j)("p",l,[e.safeDMEnabled?(Object(r.D)(),Object(r.j)("span",u,Object(r.O)(e.$t("post_status.direct_warning_to_first_only")),1)):(Object(r.D)(),Object(r.j)("span",d,Object(r.O)(e.$t("post_status.direct_warning_to_all")),1))])):Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("p",a,[Object(r.k)("span",null,Object(r.O)(e.$t("post_status.scope_notice.unlisted")),1),Object(r.k)("a",{class:"fa-scale-110 fa-old-padding dismiss",onClick:t[2]||(t[2]=Object(r.Y)(t=>e.dismissScopeNotice(),["prevent"]))},[Object(r.m)(E,{icon:"times"})])])):(Object(r.D)(),Object(r.j)("p",s,[Object(r.k)("span",null,Object(r.O)(e.$t("post_status.scope_notice.public")),1),Object(r.k)("a",{class:"fa-scale-110 fa-old-padding dismiss",onClick:t[1]||(t[1]=Object(r.Y)(t=>e.dismissScopeNotice(),["prevent"]))},[Object(r.m)(E,{icon:"times"})])])),e.disablePreview?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",p,[Object(r.k)("a",{class:"preview-toggle faint",onClick:t[4]||(t[4]=Object(r.Y)((...t)=>e.togglePreview&&e.togglePreview(...t),["stop","prevent"]))},[Object(r.l)(Object(r.O)(e.$t("post_status.preview"))+" ",1),Object(r.m)(E,{icon:e.showPreview?"chevron-left":"chevron-right"},null,8,["icon"])]),Object(r.W)(Object(r.k)("div",h,[Object(r.m)(E,{class:"fa-old-padding",spin:"",icon:"circle-notch"})],512),[[r.T,e.previewLoading]])])),e.showPreview?(Object(r.D)(),Object(r.j)("div",b,[e.preview?e.preview.error?(Object(r.D)(),Object(r.j)("div",f,Object(r.O)(e.preview.error),1)):(Object(r.D)(),Object(r.h)(L,{key:2,status:e.preview,class:"preview-status"},null,8,["status"])):(Object(r.D)(),Object(r.j)("div",m,Object(r.O)(e.$t("general.loading")),1))])):Object(r.i)("",!0),e.disableSubject||!e.newStatus.spoilerText&&!e.alwaysShowSubject?Object(r.i)("",!0):(Object(r.D)(),Object(r.h)(R,{key:7,modelValue:e.newStatus.spoilerText,"onUpdate:modelValue":t[6]||(t[6]=t=>e.newStatus.spoilerText=t),"enable-emoji-picker":"",suggest:e.emojiSuggestor,class:"form-control"},{default:Object(r.V)(()=>[Object(r.W)(Object(r.k)("input",{"onUpdate:modelValue":t[5]||(t[5]=t=>e.newStatus.spoilerText=t),type:"text",placeholder:e.$t("post_status.content_warning"),disabled:e.posting&&!e.optimisticPosting,size:"1",class:"form-post-subject"},null,8,O),[[r.S,e.newStatus.spoilerText]])]),_:1},8,["modelValue","suggest"])),Object(r.m)(R,{ref:"emoji-input",modelValue:e.newStatus.status,"onUpdate:modelValue":t[14]||(t[14]=t=>e.newStatus.status=t),suggest:e.emojiUserSuggestor,placement:e.emojiPickerPlacement,class:"form-control main-input","enable-emoji-picker":"","hide-emoji-button":"","newline-on-ctrl-enter":e.submitOnEnter,"enable-sticker-picker":"",onInput:e.onEmojiInputInput,onStickerUploaded:e.addMediaFile,onStickerUploadFailed:e.uploadFailed,onShown:e.handleEmojiInputShow},{default:Object(r.V)(()=>[Object(r.W)(Object(r.k)("textarea",{ref:"textarea","onUpdate:modelValue":t[7]||(t[7]=t=>e.newStatus.status=t),placeholder:e.placeholder||e.$t("post_status.default"),rows:"1",cols:"1",disabled:e.posting&&!e.optimisticPosting,class:Object(r.w)(["form-post-body",{"scrollable-form":!!e.maxHeight}]),onKeydown:[t[8]||(t[8]=Object(r.X)(Object(r.Y)(t=>e.submitOnEnter&&e.postStatus(t,e.newStatus),["exact"]),["enter"])),t[9]||(t[9]=Object(r.X)(Object(r.Y)(t=>e.postStatus(t,e.newStatus),["meta"]),["enter"])),t[10]||(t[10]=Object(r.X)(Object(r.Y)(t=>!e.submitOnEnter&&e.postStatus(t,e.newStatus),["ctrl"]),["enter"]))],onInput:t[11]||(t[11]=(...t)=>e.resize&&e.resize(...t)),onCompositionupdate:t[12]||(t[12]=(...t)=>e.resize&&e.resize(...t)),onPaste:t[13]||(t[13]=(...t)=>e.paste&&e.paste(...t))},null,42,j),[[r.S,e.newStatus.status]]),e.hasStatusLengthLimit?(Object(r.D)(),Object(r.j)("p",{key:0,class:Object(r.w)(["character-counter faint",{error:e.isOverLengthLimit}])},Object(r.O)(e.charactersLeft),3)):Object(r.i)("",!0)]),_:1},8,["modelValue","suggest","placement","newline-on-ctrl-enter","onInput","onStickerUploaded","onStickerUploadFailed","onShown"]),e.disableScopeSelector?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",g,[Object(r.m)(A,{"show-all":e.showAllScopes,"user-default":e.userDefaultScope,"original-scope":e.copyMessageScope,"initial-scope":e.newStatus.visibility,"on-scope-change":e.changeVis},null,8,["show-all","user-default","original-scope","initial-scope","on-scope-change"]),e.postFormats.length>1?(Object(r.D)(),Object(r.j)("div",v,[Object(r.m)(N,{id:"post-content-type",modelValue:e.newStatus.contentType,"onUpdate:modelValue":t[15]||(t[15]=t=>e.newStatus.contentType=t),class:"form-control"},{default:Object(r.V)(()=>[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.postFormats,t=>(Object(r.D)(),Object(r.j)("option",{key:t,value:t},Object(r.O)(e.$t(`post_status.content_type["${t}"]`)),9,y))),128))]),_:1},8,["modelValue"])])):Object(r.i)("",!0),1===e.postFormats.length&&"text/plain"!==e.postFormats[0]?(Object(r.D)(),Object(r.j)("div",w,[Object(r.k)("span",k,Object(r.O)(e.$t(`post_status.content_type["${e.postFormats[0]}"]`)),1)])):Object(r.i)("",!0)]))]),e.pollsAvailable?(Object(r.D)(),Object(r.h)(B,{key:0,ref:"pollForm",visible:e.pollFormVisible,onUpdatePoll:e.setPoll},null,8,["visible","onUpdatePoll"])):Object(r.i)("",!0),Object(r.k)("div",_,[Object(r.k)("div",S,[Object(r.m)(V,{ref:"mediaUpload",class:"media-upload-icon","drop-files":e.dropFiles,disabled:e.uploadFileLimitReached,onUploading:e.startedUploadingFiles,onUploaded:e.addMediaFile,onUploadFailed:e.uploadFailed,onAllUploaded:e.finishedUploadingFiles},null,8,["drop-files","disabled","onUploading","onUploaded","onUploadFailed","onAllUploaded"]),Object(r.k)("button",{class:"emoji-icon button-unstyled",title:e.$t("emoji.add_emoji"),onClick:t[16]||(t[16]=(...t)=>e.showEmojiPicker&&e.showEmojiPicker(...t))},[Object(r.m)(E,{icon:"smile-beam"})],8,C),e.pollsAvailable?(Object(r.D)(),Object(r.j)("button",{key:0,class:Object(r.w)(["poll-icon button-unstyled",{selected:e.pollFormVisible}]),title:e.$t("polls.add_poll"),onClick:t[17]||(t[17]=(...t)=>e.togglePollForm&&e.togglePollForm(...t))},[Object(r.m)(E,{icon:"poll-h"})],10,P)):Object(r.i)("",!0)]),e.posting?(Object(r.D)(),Object(r.j)("button",x,Object(r.O)(e.$t("post_status.posting")),1)):e.isOverLengthLimit?(Object(r.D)(),Object(r.j)("button",D,Object(r.O)(e.$t("post_status.post")),1)):(Object(r.D)(),Object(r.j)("button",{key:2,disabled:e.uploadingFiles||e.disableSubmit,class:"btn button-default",onTouchstart:t[18]||(t[18]=Object(r.Y)(t=>e.postStatus(t,e.newStatus),["stop","prevent"])),onClick:t[19]||(t[19]=Object(r.Y)(t=>e.postStatus(t,e.newStatus),["stop","prevent"]))},Object(r.O)(e.$t("post_status.post")),41,T))],512),Object(r.W)(Object(r.k)("div",{style:Object(r.x)({animation:"show"===e.showDropIcon?"fade-in 0.25s":"fade-out 0.5s"}),class:"drop-indicator",onDragleave:t[20]||(t[20]=(...t)=>e.fileDragStop&&e.fileDragStop(...t)),onDrop:t[21]||(t[21]=Object(r.Y)((...t)=>e.fileDrop&&e.fileDrop(...t),["stop"]))},[Object(r.m)(E,{icon:e.uploadFileLimitReached?"ban":"upload"},null,8,["icon"])],36),[[r.T,"hide"!==e.showDropIcon]]),e.error?(Object(r.D)(),Object(r.j)("div",I,[Object(r.l)(" Error: "+Object(r.O)(e.error)+" ",1),Object(r.k)("button",{class:"button-unstyled",onClick:t[22]||(t[22]=(...t)=>e.clearError&&e.clearError(...t))},[Object(r.m)(E,{class:"fa-scale-110 fa-old-padding",icon:"times"})])])):Object(r.i)("",!0),e.newStatus.files&&e.newStatus.files.length>0?(Object(r.D)(),Object(r.h)(H,{key:2,class:"attachments",grid:!0,nsfw:!1,attachments:e.newStatus.files,descriptions:e.newStatus.mediaDescriptions,"set-media":()=>e.$store.dispatch("setMedia",e.newStatus.files),editable:!0,"edit-attachment":e.editAttachment,"remove-attachment":e.removeMediaFile,"shift-up-attachment":e.newStatus.files.length>1&&e.shiftUpMediaFile,"shift-dn-attachment":e.newStatus.files.length>1&&e.shiftDnMediaFile,onPlay:t[23]||(t[23]=t=>e.$emit("mediaplay",e.attachment.id)),onPause:t[24]||(t[24]=t=>e.$emit("mediapause",e.attachment.id))},null,8,["attachments","descriptions","set-media","edit-attachment","remove-attachment","shift-up-attachment","shift-dn-attachment"])):Object(r.i)("",!0),e.newStatus.files.length>0&&!e.disableSensitivityCheckbox?(Object(r.D)(),Object(r.j)("div",$,[Object(r.m)(q,{modelValue:e.newStatus.nsfw,"onUpdate:modelValue":t[25]||(t[25]=t=>e.newStatus.nsfw=t)},{default:Object(r.V)(()=>[Object(r.l)(Object(r.O)(e.$t("post_status.attachments_sensitive")),1)]),_:1},8,["modelValue"])])):Object(r.i)("",!0)],32)],512)}]]);t.a=Re},function(e,t,n){"use strict";var r=n(0);const i=["href","alt","title"],o={key:1,class:"attachment-buttons"},s=["placeholder"],a={key:1},c={class:"attachment-wrapper"},l=["href","alt","title"],u=["src"],d={key:1,class:"attachment-buttons"},p=["title"],h=["title"],b=["title"],m=["title"],f=["title"],O=["title"],j=["title"],g=["href"],v=["href"],y=["href"],w=["src","alt","title"],k={key:0,class:"image"},_=["src"],S={class:"text"},C=["href"],P=["innerHTML"],x=["href"],D=["placeholder"],T={key:1};var I=n(5),$=n.n(I),z=n(50),M=n(139),U=n(141),F=n(327),E=n.n(F),L=n(33),R=n(8),A=n(6),N=n(3);function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}A.c.add(N.D,N.Q,N.K,N.xb,N.U,N.rb,N.lb,N.db,N.sb,N.T,N.b);var V={props:["attachment","description","hideDescription","nsfw","size","setMedia","remove","shiftUp","shiftDn","edit"],data:function(){return{localDescription:this.description||this.attachment.description,nsfwImage:this.$store.state.instance.nsfwCensorImage||E.a,hideNsfwLocal:this.$store.getters.mergedConfig.hideNsfw,preloadImage:this.$store.getters.mergedConfig.preloadImage,loading:!1,img:"image"===L.a.fileType(this.attachment.mimetype)&&document.createElement("img"),modalOpen:!1,showHidden:!1,flashLoaded:!1,showDescription:!1}},components:{Flash:M.a,StillImage:z.a,VideoAttachment:U.a},computed:function(e){for(var t=1;te.openModal&&e.openModal(...t))},["html"!==e.type?(Object(r.D)(),Object(r.j)("a",{key:0,class:"placeholder",target:"_blank",href:e.attachment.url,alt:e.attachment.description,title:e.attachment.description,onClick:t[0]||(t[0]=Object(r.Y)(()=>{},["prevent"]))},[Object(r.m)(M,{icon:e.placeholderIconClass},null,8,["icon"]),Object(r.k)("b",null,Object(r.O)(e.nsfw?"NSFW / ":""),1),Object(r.l)(Object(r.O)(e.edit?"":e.placeholderName),1)],8,i)):Object(r.i)("",!0),e.edit||e.remove?(Object(r.D)(),Object(r.j)("div",o,[e.remove?(Object(r.D)(),Object(r.j)("button",{key:0,class:"button-unstyled attachment-button",onClick:t[1]||(t[1]=Object(r.Y)((...t)=>e.onRemove&&e.onRemove(...t),["prevent"]))},[Object(r.m)(M,{icon:"trash-alt"})])):Object(r.i)("",!0)])):Object(r.i)("",!0),"hide"!==e.size&&!e.hideDescription&&(e.edit||e.localDescription||e.showDescription)?(Object(r.D)(),Object(r.j)("div",{key:2,class:Object(r.w)(["description-container",{"-static":!e.edit}])},[e.edit?Object(r.W)((Object(r.D)(),Object(r.j)("input",{key:0,"onUpdate:modelValue":t[2]||(t[2]=t=>e.localDescription=t),type:"text",class:"description-field",placeholder:e.$t("post_status.media_description"),onKeydown:t[3]||(t[3]=Object(r.X)(Object(r.Y)(()=>{},["prevent"]),["enter"]))},null,40,s)),[[r.S,e.localDescription]]):(Object(r.D)(),Object(r.j)("p",a,Object(r.O)(e.localDescription),1))],2)):Object(r.i)("",!0)],2)):(Object(r.D)(),Object(r.j)("div",{key:1,class:Object(r.w)(["Attachment",e.classNames])},[Object(r.W)(Object(r.k)("div",c,[e.hidden?(Object(r.D)(),Object(r.j)("a",{key:0,class:"image-container",href:e.attachment.url,alt:e.attachment.description,title:e.attachment.description,onClick:t[5]||(t[5]=Object(r.Y)((...t)=>e.toggleHidden&&e.toggleHidden(...t),["prevent","stop"]))},[(Object(r.D)(),Object(r.j)("img",{key:e.nsfwImage,class:"nsfw",src:e.nsfwImage},null,8,u)),"video"===e.type?(Object(r.D)(),Object(r.h)(M,{key:0,class:"play-icon",icon:"play-circle"})):Object(r.i)("",!0)],8,l)):Object(r.i)("",!0),e.hidden?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",d,["flash"===e.type&&e.flashLoaded?(Object(r.D)(),Object(r.j)("button",{key:0,class:"button-unstyled attachment-button",title:e.$t("status.attachment_stop_flash"),onClick:t[6]||(t[6]=Object(r.Y)((...t)=>e.stopFlash&&e.stopFlash(...t),["prevent"]))},[Object(r.m)(M,{icon:"stop"})],8,p)):Object(r.i)("",!0),e.attachment.description&&"small"!==e.size&&!e.edit&&"unknown"!==e.type?(Object(r.D)(),Object(r.j)("button",{key:1,class:"button-unstyled attachment-button",title:e.$t("status.show_attachment_description"),onClick:t[7]||(t[7]=Object(r.Y)((...t)=>e.toggleDescription&&e.toggleDescription(...t),["prevent"]))},[Object(r.m)(M,{icon:"align-right"})],8,h)):Object(r.i)("",!0),e.useModal||"unknown"===e.type?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("button",{key:2,class:"button-unstyled attachment-button",title:e.$t("status.show_attachment_in_modal"),onClick:t[8]||(t[8]=Object(r.Y)((...t)=>e.openModalForce&&e.openModalForce(...t),["prevent"]))},[Object(r.m)(M,{icon:"search-plus"})],8,b)),e.nsfw&&e.hideNsfwLocal?(Object(r.D)(),Object(r.j)("button",{key:3,class:"button-unstyled attachment-button",title:e.$t("status.hide_attachment"),onClick:t[9]||(t[9]=Object(r.Y)((...t)=>e.toggleHidden&&e.toggleHidden(...t),["prevent"]))},[Object(r.m)(M,{icon:"times"})],8,m)):Object(r.i)("",!0),e.shiftUp?(Object(r.D)(),Object(r.j)("button",{key:4,class:"button-unstyled attachment-button",title:e.$t("status.move_up"),onClick:t[10]||(t[10]=Object(r.Y)((...t)=>e.onShiftUp&&e.onShiftUp(...t),["prevent"]))},[Object(r.m)(M,{icon:"chevron-left"})],8,f)):Object(r.i)("",!0),e.shiftDn?(Object(r.D)(),Object(r.j)("button",{key:5,class:"button-unstyled attachment-button",title:e.$t("status.move_down"),onClick:t[11]||(t[11]=Object(r.Y)((...t)=>e.onShiftDn&&e.onShiftDn(...t),["prevent"]))},[Object(r.m)(M,{icon:"chevron-right"})],8,O)):Object(r.i)("",!0),e.remove?(Object(r.D)(),Object(r.j)("button",{key:6,class:"button-unstyled attachment-button",title:e.$t("status.remove_attachment"),onClick:t[12]||(t[12]=Object(r.Y)((...t)=>e.onRemove&&e.onRemove(...t),["prevent"]))},[Object(r.m)(M,{icon:"trash-alt"})],8,j)):Object(r.i)("",!0)])),"image"!==e.type||e.hidden&&!e.preloadImage?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("a",{key:2,class:Object(r.w)(["image-container",{"-hidden":e.hidden&&e.preloadImage}]),href:e.attachment.url,target:"_blank",onClick:t[13]||(t[13]=Object(r.Y)((...t)=>e.openModal&&e.openModal(...t),["stop","prevent"]))},[Object(r.m)(U,{class:"image",referrerpolicy:e.referrerpolicy,mimetype:e.attachment.mimetype,src:e.attachment.large_thumb_url||e.attachment.url,"image-load-handler":e.onImageLoad,alt:e.attachment.description},null,8,["referrerpolicy","mimetype","src","image-load-handler","alt"])],10,g)),"unknown"!==e.type||e.hidden?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("a",{key:3,class:"placeholder-container",href:e.attachment.url,target:"_blank"},[Object(r.m)(M,{size:"5x",icon:e.placeholderIconClass},null,8,["icon"]),Object(r.k)("p",null,Object(r.O)(e.localDescription),1)],8,v)),"video"!==e.type||e.hidden?Object(r.i)("",!0):(Object(r.D)(),Object(r.h)(Object(r.L)(e.videoTag),{key:4,class:Object(r.w)(["video-container",{"button-unstyled":"isModal"}]),href:e.attachment.url,onClick:Object(r.Y)(e.openModal,["stop","prevent"])},{default:Object(r.V)(()=>[Object(r.m)(F,{class:"video",attachment:e.attachment,controls:!e.useModal,onPlay:t[14]||(t[14]=t=>e.$emit("play")),onPause:t[15]||(t[15]=t=>e.$emit("pause"))},null,8,["attachment","controls"]),e.useModal?(Object(r.D)(),Object(r.h)(M,{key:0,class:"play-icon",icon:"play-circle"})):Object(r.i)("",!0)]),_:1},8,["href","onClick"])),"audio"!==e.type||e.hidden?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("span",{key:5,class:"audio-container",href:e.attachment.url,onClick:t[18]||(t[18]=Object(r.Y)((...t)=>e.openModal&&e.openModal(...t),["stop","prevent"]))},["audio"===e.type?(Object(r.D)(),Object(r.j)("audio",{key:0,src:e.attachment.url,alt:e.attachment.description,title:e.attachment.description,controls:"",onPlay:t[16]||(t[16]=t=>e.$emit("play")),onPause:t[17]||(t[17]=t=>e.$emit("pause"))},null,40,w)):Object(r.i)("",!0)],8,y)),"html"===e.type&&e.attachment.oembed?(Object(r.D)(),Object(r.j)("div",{key:6,class:"oembed-container",onClick:t[19]||(t[19]=Object(r.Y)((...t)=>e.linkClicked&&e.linkClicked(...t),["prevent"]))},[e.attachment.thumb_url?(Object(r.D)(),Object(r.j)("div",k,[Object(r.k)("img",{src:e.attachment.thumb_url},null,8,_)])):Object(r.i)("",!0),Object(r.k)("div",S,[Object(r.k)("h1",null,[Object(r.k)("a",{href:e.attachment.url},Object(r.O)(e.attachment.oembed.title),9,C)]),Object(r.k)("div",{innerHTML:e.attachment.oembed.oembedHTML},null,8,P)])])):Object(r.i)("",!0),"flash"!==e.type||e.hidden?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("span",{key:7,class:"flash-container",href:e.attachment.url,onClick:t[22]||(t[22]=Object(r.Y)((...t)=>e.openModal&&e.openModal(...t),["stop","prevent"]))},[Object(r.m)(E,{ref:"flash",class:"flash",src:e.attachment.large_thumb_url||e.attachment.url,onPlayerOpened:t[20]||(t[20]=t=>e.setFlashLoaded(!0)),onPlayerClosed:t[21]||(t[21]=t=>e.setFlashLoaded(!1))},null,8,["src"])],8,x))],512),[[r.T,!e.isEmpty]]),"hide"!==e.size&&!e.hideDescription&&(e.edit||e.localDescription&&e.showDescription)?(Object(r.D)(),Object(r.j)("div",{key:0,class:Object(r.w)(["description-container",{"-static":!e.edit}])},[e.edit?Object(r.W)((Object(r.D)(),Object(r.j)("input",{key:0,"onUpdate:modelValue":t[23]||(t[23]=t=>e.localDescription=t),type:"text",class:"description-field",placeholder:e.$t("post_status.media_description"),onKeydown:t[24]||(t[24]=Object(r.X)(Object(r.Y)(()=>{},["prevent"]),["enter"]))},null,40,D)),[[r.S,e.localDescription]]):(Object(r.D)(),Object(r.j)("p",T,Object(r.O)(e.localDescription),1))],2)):Object(r.i)("",!0)],2))}]]);t.a=q},function(e,t,n){"use strict";var r=n(0);const i=["datetime","title"];var o=n(47),s=n(38),a={name:"Timeago",props:["time","autoUpdate","longFormat","nowThreshold"],data:function(){return{relativeTime:{key:"time.now",num:0},interval:null}},computed:{localeDateString:function(){var e=s.a.internalToBrowserLocale(this.$i18n.locale);return"string"==typeof this.time?new Date(Date.parse(this.time)).toLocaleString(e):this.time.toLocaleString(e)}},created:function(){this.refreshRelativeTimeObject()},unmounted:function(){clearTimeout(this.interval)},methods:{refreshRelativeTimeObject:function(){var e="number"==typeof this.nowThreshold?this.nowThreshold:1;this.relativeTime=this.longFormat?o.d(this.time,e):o.e(this.time,e),this.autoUpdate&&(this.interval=setTimeout(this.refreshRelativeTimeObject,1e3*this.autoUpdate))}}},c=n(4);const l=n.n(c)()(a,[["render",function(e,t,n,o,s,a){return Object(r.D)(),Object(r.j)("time",{datetime:n.time,title:a.localeDateString},Object(r.O)(e.$t(s.relativeTime.key,[s.relativeTime.num])),9,i)}]]);t.a=l},,,,,,,,,,function(e,t,n){"use strict";var r=n(0);const i={class:"list"},o={key:0,class:"list-empty-content faint"};var s={props:{items:{type:Array,default:function(){return[]}},getKey:{type:Function,default:function(e){return e.id}}}},a=(n(562),n(4));const c=n.n(a)()(s,[["render",function(e,t,n,s,a,c){return Object(r.D)(),Object(r.j)("div",i,[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(n.items,t=>(Object(r.D)(),Object(r.j)("div",{key:n.getKey(t),class:"list-item"},[Object(r.I)(e.$slots,"item",{item:t})]))),128)),0===n.items.length&&e.$slots.empty?(Object(r.D)(),Object(r.j)("div",o,[Object(r.I)(e.$slots,"empty")])):Object(r.i)("",!0)])}]]);t.a=c},function(e,t,n){"use strict";var r,i=n(13),o=n.n(i),s=n(12),a=n.n(s),c=n(10),l=n.n(c),u={ar:function(){return n.e(5).then(n.bind(null,595))},ca:function(){return n.e(6).then(n.bind(null,596))},cs:function(){return n.e(7).then(n.bind(null,597))},de:function(){return n.e(8).then(n.bind(null,598))},eo:function(){return n.e(9).then(n.bind(null,599))},es:function(){return n.e(10).then(n.bind(null,600))},et:function(){return n.e(11).then(n.bind(null,601))},eu:function(){return n.e(12).then(n.bind(null,602))},fi:function(){return n.e(13).then(n.bind(null,603))},fr:function(){return n.e(14).then(n.bind(null,604))},ga:function(){return n.e(15).then(n.bind(null,605))},he:function(){return n.e(16).then(n.bind(null,606))},hu:function(){return n.e(17).then(n.bind(null,607))},it:function(){return n.e(18).then(n.bind(null,608))},ja:function(){return n.e(20).then(n.bind(null,609))},ja_easy:function(){return n.e(19).then(n.bind(null,610))},ko:function(){return n.e(21).then(n.bind(null,611))},nb:function(){return n.e(22).then(n.bind(null,612))},nl:function(){return n.e(23).then(n.bind(null,613))},oc:function(){return n.e(24).then(n.bind(null,614))},pl:function(){return n.e(25).then(n.bind(null,615))},pt:function(){return n.e(26).then(n.bind(null,616))},ro:function(){return n.e(27).then(n.bind(null,617))},ru:function(){return n.e(28).then(n.bind(null,618))},te:function(){return n.e(29).then(n.bind(null,619))},uk:function(){return n.e(30).then(n.bind(null,620))},zh:function(){return n.e(31).then(n.bind(null,621))},zh_Hant:function(){return n.e(32).then(n.bind(null,622))}},d={languages:["en"].concat(a()(Object.keys(u))),default:{en:n(442).default},setLanguage:(r=o()(l.a.mark((function e(t,n){var r;return l.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!u[n]){e.next=5;break}return e.next=3,u[n]();case 3:r=e.sent,t.setLocaleMessage(n,r.default);case 5:t.locale=n;case 6:case"end":return e.stop()}}),e)}))),function(e,t){return r.apply(this,arguments)})};t.a=d},function(e,t,n){"use strict";var r=n(5),i=n.n(r),o=n(0),s=n(8),a=n(68);n(574);function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var l=function(e){return e.findIndex((function(e){return e.props}))};t.a={name:"TabSwitcher",props:{renderOnlyFocused:{required:!1,type:Boolean,default:!1},onSwitch:{required:!1,type:Function,default:void 0},activeTab:{required:!1,type:String,default:void 0},scrollableTabs:{required:!1,type:Boolean,default:!1},sideTabBar:{required:!1,type:Boolean,default:!1},bodyScrollLock:{required:!1,type:Boolean,default:!1}},data:function(){return{active:l(this.slots())}},computed:function(e){for(var t=1;t[Object(r.l)(Object(r.O)(e.notification.from_profile.screen_name_ui),1)]),_:1},8,["to"])]),Object(r.k)("button",{class:"button-unstyled unmute",onClick:t[0]||(t[0]=Object(r.Y)((...t)=>e.toggleMute&&e.toggleMute(...t),["prevent"]))},[Object(r.m)(l,{class:"fa-scale-110 fa-old-padding",icon:"eye-slash"})])])):(Object(r.D)(),Object(r.j)("div",{key:1,class:Object(r.w)(["Notification non-mention",[e.userClass,{highlighted:e.userStyle},"-type--"+e.notification.type]]),style:Object(r.x)([e.userStyle])},[Object(r.k)("a",{class:"avatar-container",href:e.$router.resolve(e.userProfileLink).href,onClickCapture:t[1]||(t[1]=Object(r.Y)((...t)=>e.toggleUserExpanded&&e.toggleUserExpanded(...t),["stop","prevent"]))},[Object(r.m)(u,{compact:!0,"better-shadow":e.betterShadow,user:e.notification.from_profile},null,8,["better-shadow","user"])],40,j),Object(r.k)("div",g,[e.userExpanded?(Object(r.D)(),Object(r.h)(d,{key:0,"user-id":e.getUser(e.notification).id,rounded:!0,bordered:!0},null,8,["user-id"])):Object(r.i)("",!0),Object(r.k)("span",v,[Object(r.k)("div",y,[e.notification.from_profile.name_html?(Object(r.D)(),Object(r.j)("bdi",w,[Object(r.m)(p,{class:"username",title:"@"+e.notification.from_profile.screen_name_ui,html:e.notification.from_profile.name_html,emoji:e.notification.from_profile.emoji},null,8,["title","html","emoji"])])):(Object(r.D)(),Object(r.j)("span",{key:1,class:"username",title:"@"+e.notification.from_profile.screen_name_ui},Object(r.O)(e.notification.from_profile.name),9,k)),_,"like"===e.notification.type?(Object(r.D)(),Object(r.j)("span",S,[Object(r.m)(l,{class:"type-icon",icon:"star"}),C,Object(r.k)("small",null,Object(r.O)(e.$t("notifications.favorited_you")),1)])):Object(r.i)("",!0),"repeat"===e.notification.type?(Object(r.D)(),Object(r.j)("span",P,[Object(r.m)(l,{class:"type-icon",icon:"retweet",title:e.$t("tool_tip.repeat")},null,8,["title"]),x,Object(r.k)("small",null,Object(r.O)(e.$t("notifications.repeated_you")),1)])):Object(r.i)("",!0),"follow"===e.notification.type?(Object(r.D)(),Object(r.j)("span",D,[Object(r.m)(l,{class:"type-icon",icon:"user-plus"}),T,Object(r.k)("small",null,Object(r.O)(e.$t("notifications.followed_you")),1)])):Object(r.i)("",!0),"follow_request"===e.notification.type?(Object(r.D)(),Object(r.j)("span",I,[Object(r.m)(l,{class:"type-icon",icon:"user"}),$,Object(r.k)("small",null,Object(r.O)(e.$t("notifications.follow_request")),1)])):Object(r.i)("",!0),"move"===e.notification.type?(Object(r.D)(),Object(r.j)("span",z,[Object(r.m)(l,{class:"type-icon",icon:"suitcase-rolling"}),M,Object(r.k)("small",null,Object(r.O)(e.$t("notifications.migrated_to")),1)])):Object(r.i)("",!0),"pleroma:emoji_reaction"===e.notification.type?(Object(r.D)(),Object(r.j)("span",U,[Object(r.k)("small",null,[Object(r.m)(h,{scope:"global",keypath:"notifications.reacted_with"},{default:Object(r.V)(()=>[null!==e.notification.emoji_url?(Object(r.D)(),Object(r.j)("img",{key:0,class:"notification-reaction-emoji",src:e.notification.emoji_url,name:e.notification.emoji},null,8,F)):(Object(r.D)(),Object(r.j)("span",E,Object(r.O)(e.notification.emoji),1))]),_:1})])])):Object(r.i)("",!0),"poll"===e.notification.type?(Object(r.D)(),Object(r.j)("span",L,[Object(r.m)(l,{class:"type-icon",icon:"poll-h"}),R,Object(r.k)("small",null,Object(r.O)(e.$t("notifications.poll_ended")),1)])):Object(r.i)("",!0)]),e.isStatusNotification?(Object(r.D)(),Object(r.j)("div",A,[e.notification.status?(Object(r.D)(),Object(r.h)(c,{key:0,to:{name:"conversation",params:{id:e.notification.status.id}},class:"faint-link"},{default:Object(r.V)(()=>[Object(r.m)(b,{time:e.notification.created_at,"auto-update":240},null,8,["time"])]),_:1},8,["to"])):Object(r.i)("",!0)])):(Object(r.D)(),Object(r.j)("div",N,[Object(r.k)("span",B,[Object(r.m)(b,{time:e.notification.created_at,"auto-update":240},null,8,["time"])])])),e.needMute?(Object(r.D)(),Object(r.j)("button",{key:2,class:"button-unstyled",onClick:t[2]||(t[2]=Object(r.Y)((...t)=>e.toggleMute&&e.toggleMute(...t),["prevent"]))},[Object(r.m)(l,{class:"fa-scale-110 fa-old-padding",icon:"eye-slash"})])):Object(r.i)("",!0)]),"follow"===e.notification.type||"follow_request"===e.notification.type?(Object(r.D)(),Object(r.j)("div",V,[Object(r.m)(c,{to:e.userProfileLink,class:"follow-name"},{default:Object(r.V)(()=>[Object(r.l)(" @"+Object(r.O)(e.notification.from_profile.screen_name_ui),1)]),_:1},8,["to"]),"follow_request"===e.notification.type?(Object(r.D)(),Object(r.j)("div",H,[Object(r.k)("button",{class:"button-unstyled",title:e.$t("tool_tip.accept_follow_request"),onClick:t[3]||(t[3]=t=>e.approveUser())},[Object(r.m)(l,{icon:"check",class:"fa-scale-110 fa-old-padding follow-request-accept"})],8,q),Object(r.k)("button",{class:"button-unstyled",title:e.$t("tool_tip.reject_follow_request"),onClick:t[4]||(t[4]=t=>e.denyUser())},[Object(r.m)(l,{icon:"times",class:"fa-scale-110 fa-old-padding follow-request-reject"})],8,J)])):Object(r.i)("",!0)])):"move"===e.notification.type?(Object(r.D)(),Object(r.j)("div",W,[Object(r.m)(c,{to:e.targetUserProfileLink},{default:Object(r.V)(()=>[Object(r.l)(" @"+Object(r.O)(e.notification.target.screen_name_ui),1)]),_:1},8,["to"])])):(Object(r.D)(),Object(r.h)(m,{key:3,class:"faint",compact:!0,status:e.notification.action},null,8,["status"]))])],6))]))}]]);const ue={class:"dropdown-menu"},de={class:"filter-trigger-button button-unstyled"};var pe=n(24);function he(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function be(e){for(var t=1;t[Object(r.k)("div",ue,[Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[0]||(t[0]=e=>s.toggleNotificationFilter("likes"))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":s.filters.likes}])},null,2),Object(r.l)(Object(r.O)(e.$t("settings.notification_visibility_likes")),1)]),Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[1]||(t[1]=e=>s.toggleNotificationFilter("repeats"))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":s.filters.repeats}])},null,2),Object(r.l)(Object(r.O)(e.$t("settings.notification_visibility_repeats")),1)]),Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[2]||(t[2]=e=>s.toggleNotificationFilter("follows"))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":s.filters.follows}])},null,2),Object(r.l)(Object(r.O)(e.$t("settings.notification_visibility_follows")),1)]),Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[3]||(t[3]=e=>s.toggleNotificationFilter("mentions"))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":s.filters.mentions}])},null,2),Object(r.l)(Object(r.O)(e.$t("settings.notification_visibility_mentions")),1)]),Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[4]||(t[4]=e=>s.toggleNotificationFilter("emojiReactions"))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":s.filters.emojiReactions}])},null,2),Object(r.l)(Object(r.O)(e.$t("settings.notification_visibility_emoji_reactions")),1)]),Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[5]||(t[5]=e=>s.toggleNotificationFilter("moves"))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":s.filters.moves}])},null,2),Object(r.l)(Object(r.O)(e.$t("settings.notification_visibility_moves")),1)]),Object(r.k)("button",{class:"button-default dropdown-item",onClick:t[6]||(t[6]=e=>s.toggleNotificationFilter("polls"))},[Object(r.k)("span",{class:Object(r.w)(["menu-checkbox",{"menu-checkbox-checked":s.filters.polls}])},null,2),Object(r.l)(Object(r.O)(e.$t("settings.notification_visibility_polls")),1)])])]),trigger:Object(r.V)(()=>[Object(r.k)("button",de,[Object(r.m)(a,{icon:"filter"})])]),_:1})}]]),Oe=n(99),je=n(101);function ge(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}re.c.add(ie.r);var ve={components:{Notification:le,NotificationFilters:fe},props:{minimalMode:Boolean,filterMode:Array,disableTeleport:Boolean},data:function(){return{bottomedOut:!1,seenToDisplayCount:30}},computed:function(e){for(var t=1;t0?(je.a.drawFaviconBadge(),this.$store.dispatch("setPageTitle","(".concat(e,")"))):(je.a.clearFaviconBadge(),this.$store.dispatch("setPageTitle",""))}},methods:{markAsSeen:function(){this.$store.dispatch("markNotificationsAsSeen"),this.seenToDisplayCount=30},fetchOlderNotifications:function(){var e=this;if(!this.loading){var t=this.filteredNotifications.length-this.unseenCount;if(this.seenToDisplayCountt&&(this.seenToDisplayCount=t);var n=this.$store,r=n.state.users.currentUser.credentials;n.commit("setNotificationsLoading",{value:!0}),Oe.a.fetchAndUpdate({store:n,credentials:r,older:!0}).then((function(t){n.commit("setNotificationsLoading",{value:!1}),0===t.length&&(e.bottomedOut=!0),e.seenToDisplayCount+=t.length}))}}}}};n(558);const ye=ce()(ve,[["render",function(e,t,n,h,b,m){const f=Object(r.J)("NotificationFilters"),O=Object(r.J)("notification"),j=Object(r.J)("FAIcon");return Object(r.D)(),Object(r.h)(r.c,{disabled:e.minimalMode||e.disableTeleport,to:e.teleportTarget},[Object(r.k)("div",{class:Object(r.w)([{minimal:e.minimalMode},"Notifications"])},[Object(r.k)("div",{class:Object(r.w)(e.mainClass)},[e.noHeading?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",i,[Object(r.k)("div",o,[Object(r.l)(Object(r.O)(e.$t("notifications.notifications"))+" ",1),e.unseenCount?(Object(r.D)(),Object(r.j)("span",s,Object(r.O)(e.unseenCount),1)):Object(r.i)("",!0)]),e.unseenCount?(Object(r.D)(),Object(r.j)("button",{key:0,class:"button-default read-button",onClick:t[0]||(t[0]=Object(r.Y)((...t)=>e.markAsSeen&&e.markAsSeen(...t),["prevent"]))},Object(r.O)(e.$t("notifications.read")),1)):Object(r.i)("",!0),Object(r.m)(f)])),Object(r.k)("div",a,[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.notificationsToDisplay,t=>(Object(r.D)(),Object(r.j)("div",{key:t.id,class:Object(r.w)(["notification",{unseen:!e.minimalMode&&!t.seen}])},[c,Object(r.m)(O,{notification:t},null,8,["notification"])],2))),128))]),Object(r.k)("div",l,[e.bottomedOut?(Object(r.D)(),Object(r.j)("div",u,Object(r.O)(e.$t("notifications.no_more_notifications")),1)):e.loading?(Object(r.D)(),Object(r.j)("div",p,[Object(r.m)(j,{icon:"circle-notch",spin:"",size:"lg"})])):(Object(r.D)(),Object(r.j)("button",{key:1,class:"button-unstyled -link -fullwidth",onClick:t[1]||(t[1]=Object(r.Y)(t=>e.fetchOlderNotifications(),["prevent"]))},[Object(r.k)("div",d,Object(r.O)(e.minimalMode?e.$t("interactions.load_older"):e.$t("notifications.load_older")),1)]))])],2)],2)],8,["disabled","to"])}]]);t.default=ye},function(e,t,n){"use strict";var r=n(0);const i={class:"gallery-rows"},o={key:0,class:"many-attachments"},s={class:"many-attachments-text"},a={class:"many-attachments-buttons"},c={key:0,class:"many-attachments-button"},l={key:1,class:"many-attachments-button"},u={key:2,class:"many-attachments-button"};var d=n(12),p=n.n(d),h=n(39),b=n.n(h),m=n(134),f=n.n(m),O={props:["attachments","limitRows","descriptions","limit","nsfw","setMedia","size","editable","removeAttachment","shiftUpAttachment","shiftDnAttachment","editAttachment","grid"],data:function(){return{sizes:{},hidingLong:!0}},components:{Attachment:n(58).a},computed:{rows:function(){var e=this;if(!this.attachments)return[];var t=this.limit>0?this.attachments.slice(0,this.limit):this.attachments;if("hide"===this.size)return t.map((function(e){return{minimal:!0,items:[e]}}));var n=this.grid?[{grid:!0,items:t}]:t.reduce((function(t,n,r){if(n.mimetype.includes("audio"))return[].concat(p()(t),[{audio:!0,items:[n]},{items:[]}]);if(!(n.mimetype.includes("image")||n.mimetype.includes("video")||n.mimetype.includes("flash")))return[].concat(p()(t),[{minimal:!0,items:[n]},{items:[]}]);var i=e.attachments.length-r+1,o=t[t.length-1].items;return o.push(n),o.length>=3&&i>3?[].concat(p()(t),[{items:[]}]):t}),[{items:[]}]).filter((function(e){return e.items.length>0}));return n},attachmentsDimensionalScore:function(){return this.rows.reduce((function(e,t){var n=0;return t.minimal?n+=1/8:t.audio?n+=1/4:n+=1/(t.items.length+.6),e+n}),0)},tooManyAttachments:function(){return!this.editable&&"small"!==this.size&&("hide"===this.size?this.attachments.length>8:this.attachmentsDimensionalScore>1)}},methods:{onNaturalSizeLoad:function(e){var t=e.id,n=e.width,r=e.height;b()(this.sizes,t,{width:n,height:r})},rowStyle:function(e){return e.audio?{"padding-bottom":"25%"}:e.minimal||e.grid?void 0:{"padding-bottom":"".concat(100/(e.items.length+.6),"%")}},itemStyle:function(e,t){var n=this,r=f()(t,(function(e){return n.getAspectRatio(e.id)}));return{flex:"".concat(this.getAspectRatio(e)/r," 1 0%")}},getAspectRatio:function(e){var t=this.sizes[e];return t?t.width/t.height:1},toggleHidingLong:function(e){this.hidingLong=e},openGallery:function(){this.$store.dispatch("setMedia",this.attachments),this.$store.dispatch("setCurrentMedia",this.attachments[0])},onMedia:function(){this.$store.dispatch("setMedia",this.attachments)}}},j=(n(510),n(4));const g=n.n(j)()(O,[["render",function(e,t,n,d,p,h){const b=Object(r.J)("Attachment");return Object(r.D)(),Object(r.j)("div",{ref:"galleryContainer",class:Object(r.w)(["Gallery",{"-long":e.tooManyAttachments&&e.hidingLong}])},[Object(r.k)("div",i,[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.rows,(t,n)=>(Object(r.D)(),Object(r.j)("div",{key:n,class:Object(r.w)(["gallery-row",{"-audio":t.audio,"-minimal":t.minimal,"-grid":e.grid}]),style:Object(r.x)(e.rowStyle(t))},[Object(r.k)("div",{class:Object(r.w)(["gallery-row-inner",{"-grid":e.grid}])},[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(t.items,(i,o)=>(Object(r.D)(),Object(r.h)(b,{key:i.id,class:"gallery-item",nsfw:e.nsfw,attachment:i,size:e.size,editable:e.editable,remove:e.removeAttachment,"shift-up":!(0===o&&0===n)&&e.shiftUpAttachment,"shift-dn":!(o===t.items.length-1&&n===e.rows.length-1)&&e.shiftDnAttachment,edit:e.editAttachment,description:e.descriptions&&e.descriptions[i.id],"hide-description":"small"===e.size||e.tooManyAttachments&&e.hidingLong,style:Object(r.x)(e.itemStyle(i.id,t.items)),onSetMedia:e.onMedia,onNaturalSizeLoad:e.onNaturalSizeLoad},null,8,["nsfw","attachment","size","editable","remove","shift-up","shift-dn","edit","description","hide-description","style","onSetMedia","onNaturalSizeLoad"]))),128))],2)],6))),128))]),e.tooManyAttachments?(Object(r.D)(),Object(r.j)("div",o,[Object(r.k)("div",s,Object(r.O)(e.$t("status.many_attachments",{number:e.attachments.length})),1),Object(r.k)("div",a,[e.hidingLong?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("span",c,[Object(r.k)("button",{class:"button-unstyled -link",onClick:t[0]||(t[0]=t=>e.toggleHidingLong(!0))},Object(r.O)(e.$t("status.collapse_attachments")),1)])),e.hidingLong?(Object(r.D)(),Object(r.j)("span",l,[Object(r.k)("button",{class:"button-unstyled -link",onClick:t[1]||(t[1]=t=>e.toggleHidingLong(!1))},Object(r.O)(e.$t("status.show_all_attachments")),1)])):Object(r.i)("",!0),e.hidingLong?(Object(r.D)(),Object(r.j)("span",u,[Object(r.k)("button",{class:"button-unstyled -link",onClick:t[2]||(t[2]=(...t)=>e.openGallery&&e.openGallery(...t))},Object(r.O)(e.$t("status.open_gallery")),1)])):Object(r.i)("",!0)])])):Object(r.i)("",!0)],2)}]]);t.a=g},function(e,t,n){"use strict";var r=n(0);const i={class:"MentionLink"},o=["href","innerHTML"],s=["href"],a={class:"shortName"},c=Object(r.l)("@"),l=["innerHTML"],u=["innerHTML"],d={class:"userNameFull"},p=Object(r.l)(" @"),h=["innerHTML"],b=["innerHTML"];var m=n(40),f=n.n(m),O=n(5),j=n.n(O),g=n(23),v=n(8),y=n(31),w=n(22),k=n(6),_=n(3),S=["backgroundColor","backgroundPosition","backgroundImage"];function C(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function P(e){for(var t=1;te.onClick&&e.onClick(...t),["prevent"]))},[Object(r.k)("span",a,[c,Object(r.k)("span",{class:"userName",innerHTML:e.userName},null,8,l),e.shouldShowFullUserName?(Object(r.D)(),Object(r.j)("span",{key:0,class:Object(r.w)(["serverName",{"-faded":e.shouldFadeDomain}]),innerHTML:"@"+e.serverName},null,10,u)):Object(r.i)("",!0)]),e.isYou&&e.shouldShowYous?(Object(r.D)(),Object(r.j)("span",{key:0,class:Object(r.w)({"-you":e.shouldBoldenYou})},Object(r.O)(" "+e.$t("status.you")),3)):Object(r.i)("",!0)],10,s),e.shouldShowTooltip?(Object(r.D)(),Object(r.j)("span",{key:0,class:Object(r.w)(["full popover-default",[e.highlightType]])},[Object(r.k)("span",d,[p,Object(r.k)("span",{class:"userName",innerHTML:e.userName},null,8,h),Object(r.k)("span",{class:Object(r.w)(["serverName",{"-faded":e.shouldFadeDomain}]),innerHTML:"@"+e.serverName},null,10,b)])],2)):Object(r.i)("",!0)],6)):Object(r.i)("",!0)])}]]);t.a=T},,function(e,t,n){"use strict";n.d(t,"a",(function(){return p}));var r=n(0);const i={class:"MentionsLine"},o={key:0,class:"extraMentions"},s={key:0,class:"fullExtraMentions"};var a=n(5),c=n.n(a),l=n(79),u=n(8);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var p=5,h={name:"MentionsLine",props:{mentions:{required:!0,type:Array}},data:function(){return{expanded:!1}},components:{MentionLink:l.a},computed:function(e){for(var t=1;t0}},Object(u.c)(["mergedConfig"])),methods:{toggleShowMore:function(){this.expanded=!this.expanded}}},b=(n(514),n(4));const m=n.n(b)()(h,[["render",function(e,t,n,a,c,l){const u=Object(r.J)("MentionLink");return Object(r.D)(),Object(r.j)("span",i,[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.mentionsComputed,e=>(Object(r.D)(),Object(r.h)(u,{key:e.index,class:"mention-link",content:e.content,url:e.url},null,8,["content","url"]))),128)),e.manyMentions?(Object(r.D)(),Object(r.j)("span",o,[e.expanded?(Object(r.D)(),Object(r.j)("span",s,[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.extraMentions,e=>(Object(r.D)(),Object(r.h)(u,{key:e.index,class:"mention-link",content:e.content,url:e.url},null,8,["content","url"]))),128))])):Object(r.i)("",!0),e.expanded?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("button",{key:1,class:"button-unstyled showMoreLess",onClick:t[0]||(t[0]=(...t)=>e.toggleShowMore&&e.toggleShowMore(...t))},Object(r.O)(e.$t("status.plus_more",{number:e.extraMentions.length})),1)),e.expanded?(Object(r.D)(),Object(r.j)("button",{key:2,class:"button-unstyled showMoreLess",onClick:t[1]||(t[1]=(...t)=>e.toggleShowMore&&e.toggleShowMore(...t))},Object(r.O)(e.$t("general.show_less")),1)):Object(r.i)("",!0)])):Object(r.i)("",!0)])}]]);t.b=m},,,,,,,,,,,,,,,function(e,t,n){"use strict";var r={fileSizeFormat:function(e){var t,n=["B","KiB","MiB","GiB","TiB"];return e<1?e+" "+n[0]:(t=Math.min(Math.floor(Math.log(e)/Math.log(1024)),n.length-1),{num:e=1*(e/Math.pow(1024,t)).toFixed(2),unit:n[t]})}};t.a=r},,,function(e,t,n){"use strict";var r=n(12),i=n.n(r),o=n(15),s=n(44),a=function(e){var t=e.store,n=e.credentials,r=e.older,o=void 0!==r&&r,s=e.since,a={credentials:n},l=t.getters,u=(t.rootState||t.state).statuses.notifications,d=l.mergedConfig.hideMutedPosts;if(a.withMuted=!d,a.timeline="notifications",o)return u.minId!==Number.POSITIVE_INFINITY&&(a.until=u.minId),c({store:t,args:a,older:o});void 0===s&&u.maxId!==Number.POSITIVE_INFINITY?a.since=u.maxId:null!==s&&(a.since=s);var p=c({store:t,args:a,older:o}),h=u.data,b=h.filter((function(e){return e.seen})).map((function(e){return e.id}));return h.length-b.length>0&&b.length>0&&(a.since=Math.max.apply(Math,i()(b)),c({store:t,args:a,older:o})),p},c=function(e){var t=e.store,n=e.args,r=e.older;return o.c.fetchTimeline(n).then((function(e){if(e.errors)throw new Error("".concat(e.status," ").concat(e.statusText));var n=e.data;return function(e){var t=e.store,n=e.notifications,r=e.older;t.dispatch("addNewNotifications",{notifications:n,older:r})}({store:t,notifications:n,older:r}),n})).catch((function(e){t.dispatch("pushGlobalNotice",{level:"error",messageKey:"notifications.error",messageArgs:[e.message],timeout:5e3})}))},l={fetchAndUpdate:a,startFetching:function(e){var t=e.credentials,n=e.store;setTimeout((function(){return n.dispatch("setNotificationsSilence",!1)}),1e4);var r=function(){return a({credentials:t,store:n})};return r(),Object(s.a)(r,2e4)}};t.a=l},,function(e,t,n){"use strict";var r,i,o,s=(r=[],i=function(e){return e.complete&&0!==e.naturalHeight},{initFaviconService:function(){document.querySelectorAll('link[rel="icon"]').forEach((function(e){if(e){var t=document.createElement("canvas");t.width=128,t.height=128;var n=new Image;n.crossOrigin="anonymous",n.src=e.href;var i=t.getContext("2d");r.push({favcanvas:t,favimg:n,favcontext:i,favicon:e})}}))},clearFaviconBadge:o=function(){0!==r.length&&r.forEach((function(e){var t=e.favimg,n=e.favcanvas,r=e.favcontext,o=e.favicon;t&&r&&o&&(r.clearRect(0,0,128,128),i(t)&&r.drawImage(t,0,0,t.width,t.height,0,0,128,128),o.href=n.toDataURL("image/png"))}))},drawFaviconBadge:function(){0!==r.length&&(o(),r.forEach((function(e){var t=e.favimg,n=e.favcanvas,r=e.favcontext,o=e.favicon;if(t&&r&&r){var s=getComputedStyle(document.body),a="".concat(s.getPropertyValue("--badgeNotification")||"rgb(240, 100, 100)");i(t)&&r.drawImage(t,0,0,t.width,t.height,0,0,128,128),r.fillStyle=a,r.beginPath(),r.arc(96,32,32,0,2*Math.PI,!1),r.fill(),o.href=n.toDataURL("image/png")}})))}});t.a=s},,,function(e,t,n){"use strict";var r=n(0);const i=["disabled"];var o={props:{disabled:{type:Boolean},click:{type:Function,default:function(){return Promise.resolve()}}},data:function(){return{progress:!1}},methods:{onClick:function(){var e=this;this.progress=!0,this.click().then((function(){e.progress=!1}))}}},s=n(4);const a=n.n(s)()(o,[["render",function(e,t,n,o,s,a){return Object(r.D)(),Object(r.j)("button",{disabled:s.progress||n.disabled,onClick:t[0]||(t[0]=(...e)=>a.onClick&&a.onClick(...e))},[s.progress&&e.$slots.progress?Object(r.I)(e.$slots,"progress",{key:0}):Object(r.I)(e.$slots,"default",{key:1})],8,i)}]]);t.a=a},,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.d(t,"b",(function(){return f})),n.d(t,"c",(function(){return O}));var r=n(5),i=n.n(r),o=n(11),s=n.n(o),a=n(317),c=n.n(a),l=n(43),u=n(70),d=n(38);function p(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return h(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return h(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&void 0!==arguments[2]?arguments[2]:{},o=r.top,s=void 0===o?0:o,a=r.left,c=void 0===a?0:a,l=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],u={top:s+t.offsetTop,left:c+t.offsetLeft};if(!l&&t!==window){var d=i(t),p=d.topPadding,h=d.leftPadding;u.top+=l?0:p,u.left+=l?0:h}if(t.offsetParent&&"sticky"!==window.getComputedStyle(t.offsetParent).position&&(n===window||n.contains(t.offsetParent)||n===t.offsetParent))return e(t.offsetParent,n,u,!1);if(n!==window){var b=i(n),m=b.topPadding,f=b.leftPadding;u.top+=m,u.left+=f}return u},i=function(e){var t=window.getComputedStyle(e)["padding-top"],n=Number(t.substring(0,t.length-2)),r=window.getComputedStyle(e)["padding-left"];return{topPadding:n,leftPadding:Number(r.substring(0,r.length-2))}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return i}));var r=function(e){var t=e.filename,n=void 0===t?"data":t,r=e.getExportedObject;return{exportData:function(){var e=JSON.stringify(r(),null,2),t=document.createElement("a");t.setAttribute("download","".concat(n,".json")),t.setAttribute("href","data:application/json;base64,"+window.btoa(e)),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}}},i=function(e){var t=e.onImport,n=e.onImportFailure,r=e.validator,i=void 0===r?function(){return!0}:r;return{importData:function(){var e=document.createElement("input");e.setAttribute("type","file"),e.setAttribute("accept",".json"),e.addEventListener("change",(function(e){if(e.target.files[0]){var r=new FileReader;r.onload=function(e){var r=e.target;try{var o=JSON.parse(r.result),s=i(o);!0===s?t(o):n({validationResult:s})}catch(e){n({error:e})}},r.readAsText(e.target.files[0])}})),document.body.appendChild(e),e.click(),document.body.removeChild(e)}}}},function(e,t,n){"use strict";var r=n(0);const i={class:"Flash"},o={key:0,class:"label"},s={key:1,class:"label"},a={key:2,class:"label"};var c,l=(c=null,{getRuffle:function(){return new Promise((function(e,t){if(c)e(c);else{window.RufflePlayer={},window.RufflePlayer.config={polyfills:!1,publicPath:"/static/ruffle"};var n=document.createElement("script");n.src="/static/ruffle/ruffle.js",n.type="text/javascript",n.onerror=function(e){t(e)},n.onabort=function(e){t(e)},n.oncancel=function(e){t(e)},n.onload=function(){c=window.RufflePlayer,e(c)},document.body.appendChild(n)}}))}}),u=n(6),d=n(3);u.c.add(d.lb,d.z);var p={props:["src"],data:function(){return{player:!1,loaded:!1,ruffleInstance:null}},methods:{openPlayer:function(){var e=this;this.player||(this.player="hidden",l.getRuffle().then((function(t){var n=t.newest().createPlayer();n.config={letterbox:"on"},e.$refs.container.appendChild(n),n.style.width="100%",n.style.height="100%",n.load(e.src).then((function(){e.player=!0})).catch((function(t){console.error("Error loading ruffle",t),e.player="error"})),e.ruffleInstance=n,e.$emit("playerOpened")})))},closePlayer:function(){this.ruffleInstance&&this.ruffleInstance.remove(),this.player=!1,this.$emit("playerClosed")}}},h=(n(508),n(4));const b=n.n(h)()(p,[["render",function(e,t,n,c,l,u){const d=Object(r.J)("FAIcon");return Object(r.D)(),Object(r.j)("div",i,[!0===e.player||"hidden"===e.player?(Object(r.D)(),Object(r.j)("div",{key:0,ref:"container",class:Object(r.w)(["player",{hidden:"hidden"===e.player}])},null,2)):Object(r.i)("",!0),!0!==e.player?(Object(r.D)(),Object(r.j)("button",{key:1,class:"button-unstyled placeholder",onClick:t[0]||(t[0]=(...t)=>e.openPlayer&&e.openPlayer(...t))},["hidden"===e.player?(Object(r.D)(),Object(r.j)("span",o,Object(r.O)(e.$t("general.loading")),1)):Object(r.i)("",!0),"error"===e.player?(Object(r.D)(),Object(r.j)("span",s,Object(r.O)(e.$t("general.flash_fail")),1)):(Object(r.D)(),Object(r.j)("span",a,[Object(r.k)("p",null,Object(r.O)(e.$t("general.flash_content")),1),Object(r.k)("p",null,[Object(r.m)(d,{icon:"exclamation-triangle"}),Object(r.l)(" "+Object(r.O)(e.$t("general.flash_security")),1)])]))])):Object(r.i)("",!0)])}]]);t.a=b},function(e,t,n){"use strict";var r=n(0);const i=["disabled","title"];var o=n(11),s=n.n(o),a=function(e,t){return new Promise((function(n,r){t.state.api.backendInteractor.followUser({id:e}).then((function(e){if(t.commit("updateUserRelationship",[e]),!(e.following||e.locked&&e.requested))return function e(t,n,r){return new Promise((function(e,i){setTimeout((function(){r.state.api.backendInteractor.fetchUserRelationship({id:n}).then((function(e){return r.commit("updateUserRelationship",[e]),e})).then((function(n){return e([n.following,n.requested,n.locked,t])})).catch((function(e){return i(e)}))}),500)})).then((function(t){var i=s()(t,4),o=i[0],a=i[1],c=i[2],l=i[3];o||c&&a||!(l<=3)||e(++l,n,r)}))}(1,e,t).then((function(){n()}));n()}))}))},c={props:["relationship","user","labelFollowing","buttonClass"],data:function(){return{inProgress:!1}},computed:{isPressed:function(){return this.inProgress||this.relationship.following},title:function(){return this.inProgress||this.relationship.following?this.$t("user_card.follow_unfollow"):this.relationship.requested?this.$t("user_card.follow_cancel"):this.$t("user_card.follow")},label:function(){return this.inProgress?this.$t("user_card.follow_progress"):this.relationship.following?this.labelFollowing||this.$t("user_card.following"):this.relationship.requested?this.$t("user_card.follow_sent"):this.$t("user_card.follow")},disabled:function(){return this.inProgress||this.user.deactivated}},methods:{onClick:function(){this.relationship.following||this.relationship.requested?this.unfollow():this.follow()},follow:function(){var e=this;this.inProgress=!0,a(this.relationship.id,this.$store).then((function(){e.inProgress=!1}))},unfollow:function(){var e=this,t=this.$store;this.inProgress=!0,function(e,t){return new Promise((function(n,r){t.state.api.backendInteractor.unfollowUser({id:e}).then((function(e){t.commit("updateUserRelationship",[e]),n({updated:e})}))}))}(this.relationship.id,t).then((function(){e.inProgress=!1,t.commit("removeStatus",{timeline:"friends",userId:e.relationship.id})}))}}},l=n(4);const u=n.n(l)()(c,[["render",function(e,t,n,o,s,a){return Object(r.D)(),Object(r.j)("button",{class:Object(r.w)(["btn button-default follow-button",{toggled:e.isPressed}]),disabled:e.disabled,title:e.title,onClick:t[0]||(t[0]=(...t)=>e.onClick&&e.onClick(...t))},Object(r.O)(e.label),11,i)}]]);t.a=u},function(e,t,n){"use strict";var r=n(0);const i=["src","loop","controls","alt","title"];var o={props:["attachment","controls"],data:function(){return{blocksSuspend:!1,hasAudio:!0}},computed:{loopVideo:function(){return this.$store.getters.mergedConfig.loopVideoSilentOnly?!this.hasAudio:this.$store.getters.mergedConfig.loopVideo}},methods:{onPlaying:function(e){this.setHasAudio(e),this.loopVideo?this.$emit("play",{looping:!0}):this.$emit("play")},onPaused:function(e){this.$emit("pause")},setHasAudio:function(e){var t=e.srcElement||e.target;this.hasAudio&&(void 0!==t.webkitAudioDecodedByteCount&&t.webkitAudioDecodedByteCount>0||void 0!==t.mozHasAudio&&t.mozHasAudio||void 0!==t.audioTracks&&t.audioTracks.length>0||(this.hasAudio=!1))}}},s=n(4);const a=n.n(s)()(o,[["render",function(e,t,n,o,s,a){return Object(r.D)(),Object(r.j)("video",{class:"video",preload:"metadata",src:e.attachment.url,loop:e.loopVideo,controls:e.controls,alt:e.attachment.description,title:e.attachment.description,playsinline:"",onPlaying:t[0]||(t[0]=(...t)=>e.onPlaying&&e.onPlaying(...t)),onPause:t[1]||(t[1]=(...t)=>e.onPaused&&e.onPaused(...t))},null,40,i)}]]);t.a=a},function(e,t,n){"use strict";var r=n(0);const i=["href"],o={key:0,class:"card-image"},s=["src"],a={class:"card-content"},c={class:"card-host faint"},l={key:0,class:"nsfw-alert alert warning"},u={class:"card-title"},d={key:0,class:"card-description"};var p=n(5),h=n.n(p),b=n(8);function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var f={name:"LinkPreview",props:["card","size","nsfw"],data:function(){return{imageLoaded:!1}},computed:function(e){for(var t=1;t(Object(r.D)(),Object(r.h)(l,{key:t.id,to:e.userProfileLink(t),class:"avatars-item"},{default:Object(r.V)(()=>[Object(r.m)(c,{user:t,class:"avatar-small"},null,8,["user"])]),_:2},1032,["to"]))),128))])}]]);t.a=l},,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";var r=n(13),i=n.n(r),o=n(10),s=n.n(o);t.a=function(e){var t=a(e.emoji),n=e.store&&c(e.store);return function(r){var i=r[0];return":"===i&&e.emoji?t(r):"@"===i&&n?n(r):[]}};var a=function(e){return function(t){var n=t.toLowerCase().substr(1);return e.filter((function(e){return e.displayText.toLowerCase().match(n)})).sort((function(e,t){var r=0,i=0;return r+=e.displayText.toLowerCase()===n?200:0,i+=t.displayText.toLowerCase()===n?200:0,r+=e.imageUrl?100:0,i+=t.imageUrl?100:0,r+=e.displayText.toLowerCase().startsWith(n)?10:0,i+=t.displayText.toLowerCase().startsWith(n)?10:0,r-=e.displayText.length,(i-=t.displayText.length)-r+(e.displayText>t.displayText?.5:-.5)}))}},c=function(e){var t,n=e.dispatch,r=e.state,o=[],a="",c=null,l=null,u=function(e){return l&&l(),new Promise((function(t,r){c=setTimeout((function(){(function(e){return n("searchUsers",{query:e})})(e).then(t).catch(r)}),300),l=function(){clearTimeout(c),t([])}}))};return t=i()(s.a.mark((function e(t){var n,i;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.toLowerCase().substr(1),a!==n){e.next=3;break}return e.abrupt("return",o);case 3:if(o=[],a=n,n.includes("@")){e.next=8;break}return e.next=8,u(n);case 8:return i=r.users.users.filter((function(e){return e.screen_name.toLowerCase().startsWith(n)||e.name.toLowerCase().startsWith(n)})).slice(0,20).sort((function(e,t){var r=0,i=0;return r+=e.screen_name.toLowerCase().startsWith(n)?2:0,i+=t.screen_name.toLowerCase().startsWith(n)?2:0,r+=e.name.toLowerCase().startsWith(n)?1:0,10*((i+=t.name.toLowerCase().startsWith(n)?1:0)-r)+(e.name>t.name?1:-1)+(e.screen_name>t.screen_name?1:-1)})).map((function(e){var t=e.screen_name;return{displayText:e.screen_name_ui,detailText:e.name,imageUrl:e.profile_image_url_original,replacement:"@"+t+" "}})),o=i||[],e.abrupt("return",o);case 11:case"end":return e.stop()}}),e)}))),function(e){return t.apply(this,arguments)}}},,,,,,,function(e,t,n){"use strict";var r=n(0);const i={for:"interface-language-switcher"},o=Object(r.l)(" "+Object(r.O)(" ")+" "),s=["value"];var a=n(38),c={components:{Select:n(52).a},props:{promptText:{type:String,required:!0},language:{type:String,required:!0},setLanguage:{type:Function,required:!0}},computed:{languages:function(){return a.a.languages},controlledLanguage:{get:function(){return this.language},set:function(e){this.setLanguage(e)}}},methods:{getLanguageName:function(e){return a.a.getLanguageName(e)}}},l=n(4);const u=n.n(l)()(c,[["render",function(e,t,n,a,c,l){const u=Object(r.J)("Select");return Object(r.D)(),Object(r.j)("div",null,[Object(r.k)("label",i,Object(r.O)(n.promptText),1),o,Object(r.m)(u,{id:"interface-language-switcher",modelValue:l.controlledLanguage,"onUpdate:modelValue":t[0]||(t[0]=e=>l.controlledLanguage=e)},{default:Object(r.V)(()=>[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(l.languages,e=>(Object(r.D)(),Object(r.j)("option",{key:e.code,value:e.code},Object(r.O)(e.name),9,s))),128))]),_:1},8,["modelValue"])])}]]);t.a=u},function(e,t,n){"use strict";var r=n(0);const i={key:0,class:"ScopeSelector"},o=["title"],s=Object(r.l)(" "+Object(r.O)(" ")+" "),a=["title"],c=Object(r.l)(" "+Object(r.O)(" ")+" "),l=["title"],u=Object(r.l)(" "+Object(r.O)(" ")+" "),d=["title"],p=["title"];var h=n(6),b=n(3);h.c.add(b.y,b.I,b.O,b.P);var m={props:["showAll","userDefault","originalScope","initialScope","onScopeChange"],data:function(){return{currentScope:this.initialScope}},computed:{showNothing:function(){return!(this.showPublic||this.showUnlisted||this.showPrivate||this.showDirect)},showPublic:function(){return"direct"!==this.originalScope&&this.shouldShow("public")},showLocal:function(){return"direct"!==this.originalScope&&this.shouldShow("local")},showUnlisted:function(){return"direct"!==this.originalScope&&this.shouldShow("unlisted")},showPrivate:function(){return"direct"!==this.originalScope&&this.shouldShow("private")},showDirect:function(){return this.shouldShow("direct")},css:function(){return{public:{selected:"public"===this.currentScope},unlisted:{selected:"unlisted"===this.currentScope},private:{selected:"private"===this.currentScope},direct:{selected:"direct"===this.currentScope},local:{selected:"local"===this.currentScope}}}},methods:{shouldShow:function(e){return this.showAll||this.currentScope===e||this.originalScope===e||this.userDefault===e||"direct"===e},changeVis:function(e){this.currentScope=e,this.onScopeChange&&this.onScopeChange(e)}}},f=(n(501),n(4));const O=n.n(f)()(m,[["render",function(e,t,n,h,b,m){const f=Object(r.J)("FAIcon");return e.showNothing?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("div",i,[e.showDirect?(Object(r.D)(),Object(r.j)("button",{key:0,class:Object(r.w)(["button-unstyled scope",e.css.direct]),title:e.$t("post_status.scope.direct"),type:"button",onClick:t[0]||(t[0]=t=>e.changeVis("direct"))},[Object(r.m)(f,{icon:"envelope",class:"fa-scale-110 fa-old-padding"})],10,o)):Object(r.i)("",!0),s,e.showPrivate?(Object(r.D)(),Object(r.j)("button",{key:1,class:Object(r.w)(["button-unstyled scope",e.css.private]),title:e.$t("post_status.scope.private"),type:"button",onClick:t[1]||(t[1]=t=>e.changeVis("private"))},[Object(r.m)(f,{icon:"lock",class:"fa-scale-110 fa-old-padding"})],10,a)):Object(r.i)("",!0),c,e.showUnlisted?(Object(r.D)(),Object(r.j)("button",{key:2,class:Object(r.w)(["button-unstyled scope",e.css.unlisted]),title:e.$t("post_status.scope.unlisted"),type:"button",onClick:t[2]||(t[2]=t=>e.changeVis("unlisted"))},[Object(r.m)(f,{icon:"lock-open",class:"fa-scale-110 fa-old-padding"})],10,l)):Object(r.i)("",!0),u,e.showPublic?(Object(r.D)(),Object(r.j)("button",{key:3,class:Object(r.w)(["button-unstyled scope",e.css.public]),title:e.$t("post_status.scope.public"),type:"button",onClick:t[3]||(t[3]=t=>e.changeVis("public"))},[Object(r.m)(f,{icon:"globe",class:"fa-scale-110 fa-old-padding"})],10,d)):Object(r.i)("",!0),e.showLocal?(Object(r.D)(),Object(r.j)("button",{key:4,class:Object(r.w)(["button-unstyled scope",e.css.local]),title:e.$t("post_status.scope.local"),type:"button",onClick:t[4]||(t[4]=t=>e.changeVis("local"))},[Object(r.m)(f,{icon:"users",class:"fa-scale-110 fa-old-padding"})],10,p)):Object(r.i)("",!0)]))}]]);t.a=O},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.d(t,"b",(function(){return m}));var r=n(11),i=n.n(r),o=n(5),s=n.n(o),a=n(39),c=n.n(a),l=n(16),u=n.n(l);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var p=function(e,t){var n=e.rootState,r=e.commit,i=t.path,o=t.value,s={};return c()(s,i,o),n.api.backendInteractor.updateProfile({params:s}).then((function(e){r("addNewUsers",[e]),r("setCurrentUser",e)}))},h=function(e,t){var n=e.rootState,r=e.commit,i=t.path,o=t.value,s=t.oldValue,a={};return c()(a,i,o),n.api.backendInteractor.updateNotificationSettings({settings:a}).then((function(e){"success"===e.status?r("confirmServerSideOption",{name:name,value:o}):r("confirmServerSideOption",{name:name,value:s})}))},b={defaultScope:"source.privacy",defaultNSFW:"source.sensitive",stripRichContent:{get:"source.pleroma.no_rich_text",set:"no_rich_text"},locked:"locked",acceptChatMessages:{get:"pleroma.accepts_chat_messages",set:"accepts_chat_messages"},allowFollowingMove:{get:"pleroma.allow_following_move",set:"allow_following_move"},discoverable:{get:"source.pleroma.discoverable",set:"discoverable"},hideFavorites:{get:"pleroma.hide_favorites",set:"hide_favorites"},hideFollowers:{get:"pleroma.hide_followers",set:"hide_followers"},hideFollows:{get:"pleroma.hide_follows",set:"hide_follows"},hideFollowersCount:{get:"pleroma.hide_followers_count",set:"hide_followers_count"},hideFollowsCount:{get:"pleroma.hide_follows_count",set:"hide_follows_count"},webPushHideContents:{get:"pleroma.notification_settings.hide_notification_contents",set:"hide_notification_contents",api:h},blockNotificationsFromStrangers:{get:"pleroma.notification_settings.block_from_strangers",set:"block_from_strangers",api:h}},m=Object.fromEntries(Object.keys(b).map((function(e){return[e,null]}))),f={state:function(e){for(var t=1;t0){var r=e.pop();n.start+=r.end,n.end+=r.end,e.push(r)}return e.push(n),e}),[])},P=function(e){for(var t=[],n="",r=0;rt}))},addPositionToWords:C,splitByWhitespaceBoundary:P,replaceWord:function(e,t,n){return e.slice(0,t.start)+n+e.slice(t.end)}};const D={class:"emoji-picker panel panel-default panel-body"},T={class:"heading"},I={class:"emoji-tabs"},$=["title","onClick"],z={key:0,class:"additional-tabs"},M=["title"],U={class:"content"},F={class:"emoji-search"},E=["placeholder"],L=["title","onClick"],R={key:0},A=["src"],N={class:"keep-open"},B={key:0,class:"stickers-content"};var V=n(51),H=n(6),q=n(3);function J(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return W(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return W(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function W(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&void 0!==arguments[1]?arguments[1]:"";if(""===t)return e;var n,r=t.toLowerCase(),i=[],o=J(e);try{for(o.s();!(n=o.n()).done;){var s=n.value,a=s.displayText.toLowerCase().indexOf(r);a>-1&&(Array.isArray(i[a])||(i[a]=[]),i[a].push(s))}}catch(e){o.e(e)}finally{o.f()}return i.flat()},G={props:{enableStickerPicker:{required:!1,type:Boolean,default:!1}},data:function(){return{keyword:"",activeGroup:"custom",showingStickers:!1,groupsScrolledClass:"scrolled-top",keepOpen:!1,customEmojiBufferSlice:60,customEmojiTimeout:null,customEmojiLoadAllConfirmed:!1}},components:{StickerPicker:Object(r.n)((function(){return n.e(4).then(n.bind(null,709))})),Checkbox:V.a},methods:{onStickerUploaded:function(e){this.$emit("sticker-uploaded",e)},onStickerUploadFailed:function(e){this.$emit("sticker-upload-failed",e)},onEmoji:function(e){var t=e.imageUrl?":".concat(e.displayText,":"):e.replacement;this.$emit("emoji",{insertion:t,keepOpen:this.keepOpen})},onScroll:function(e){var t=e&&e.target||this.$refs["emoji-groups"];this.updateScrolledClass(t),this.scrolledGroup(t),this.triggerLoadMore(t)},highlight:function(e){var t=this,n=this.$refs["group-"+e].offsetTop;this.setShowStickers(!1),this.activeGroup=e,this.$nextTick((function(){t.$refs["emoji-groups"].scrollTop=n+1}))},updateScrolledClass:function(e){e.scrollTop<=5?this.groupsScrolledClass="scrolled-top":e.scrollTop>=e.scrollTopMax-5?this.groupsScrolledClass="scrolled-bottom":this.groupsScrolledClass="scrolled-middle"},triggerLoadMore:function(e){var t=this.$refs["group-end-custom"];if(t){var n=t.offsetTop+t.offsetHeight,r=e.scrollTop+e.clientHeight,i=e.scrollTop,o=e.scrollHeight;n0&&void 0!==arguments[0]&&arguments[0];t||(this.keyword=""),this.$nextTick((function(){e.$refs["emoji-groups"].scrollTop=0}));var n=this.customEmojiBuffer.length,r=n===this.filteredEmoji.length;r&&!t||(this.customEmojiBufferSlice=60)},toggleStickers:function(){this.showingStickers=!this.showingStickers},setShowStickers:function(e){this.showingStickers=e}},watch:{keyword:function(){this.customEmojiLoadAllConfirmed=!1,this.onScroll(),this.startEmojiLoad(!0)}},computed:{activeGroupView:function(){return this.showingStickers?"":this.activeGroup},stickersAvailable:function(){return this.$store.state.instance.stickers?this.$store.state.instance.stickers.length>0:0},filteredEmoji:function(){return Y(this.$store.state.instance.customEmoji||[],this.keyword)},customEmojiBuffer:function(){return this.filteredEmoji.slice(0,this.customEmojiBufferSlice)},emojis:function(){var e=this.$store.state.instance.emoji||[],t=this.customEmojiBuffer;return[{id:"custom",text:this.$t("emoji.custom"),icon:"smile-beam",emojis:t},{id:"standard",text:this.$t("emoji.unicode"),icon:"box-open",emojis:Y(e,this.keyword)}]},emojisView:function(){return this.emojis.filter((function(e){return e.emojis.length>0}))},stickerPickerEnabled:function(){return 0!==(this.$store.state.instance.stickers||[]).length}}},K=(n(503),n(4)),X=n.n(K);var Z=X()(G,[["render",function(e,t,n,i,o,s){const a=Object(r.J)("FAIcon"),c=Object(r.J)("Checkbox"),l=Object(r.J)("sticker-picker");return Object(r.D)(),Object(r.j)("div",D,[Object(r.k)("div",T,[Object(r.k)("span",I,[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.emojis,t=>(Object(r.D)(),Object(r.j)("span",{key:t.id,class:Object(r.w)(["emoji-tabs-item",{active:e.activeGroupView===t.id,disabled:0===t.emojis.length}]),title:t.text,onClick:Object(r.Y)(n=>e.highlight(t.id),["prevent"])},[Object(r.m)(a,{icon:t.icon,"fixed-width":""},null,8,["icon"])],10,$))),128))]),e.stickerPickerEnabled?(Object(r.D)(),Object(r.j)("span",z,[Object(r.k)("span",{class:Object(r.w)(["stickers-tab-icon additional-tabs-item",{active:e.showingStickers}]),title:e.$t("emoji.stickers"),onClick:t[0]||(t[0]=Object(r.Y)((...t)=>e.toggleStickers&&e.toggleStickers(...t),["prevent"]))},[Object(r.m)(a,{icon:"sticky-note","fixed-width":""})],10,M)])):Object(r.i)("",!0)]),Object(r.k)("div",U,[Object(r.k)("div",{class:Object(r.w)(["emoji-content",{hidden:e.showingStickers}])},[Object(r.k)("div",F,[Object(r.W)(Object(r.k)("input",{"onUpdate:modelValue":t[1]||(t[1]=t=>e.keyword=t),type:"text",class:"form-control",placeholder:e.$t("emoji.search_emoji")},null,8,E),[[r.S,e.keyword]])]),Object(r.k)("div",{ref:"emoji-groups",class:Object(r.w)(["emoji-groups",e.groupsScrolledClass]),onScroll:t[2]||(t[2]=(...t)=>e.onScroll&&e.onScroll(...t))},[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.emojisView,t=>(Object(r.D)(),Object(r.j)("div",{key:t.id,class:"emoji-group"},[Object(r.k)("h6",{ref_for:!0,ref:"group-"+t.id,class:"emoji-group-title"},Object(r.O)(t.text),513),(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(t.emojis,n=>(Object(r.D)(),Object(r.j)("span",{key:t.id+n.displayText,title:n.displayText,class:"emoji-item",onClick:Object(r.Y)(t=>e.onEmoji(n),["stop","prevent"])},[n.imageUrl?(Object(r.D)(),Object(r.j)("img",{key:1,src:n.imageUrl},null,8,A)):(Object(r.D)(),Object(r.j)("span",R,Object(r.O)(n.replacement),1))],8,L))),128)),Object(r.k)("span",{ref_for:!0,ref:"group-end-"+t.id},null,512)]))),128))],34),Object(r.k)("div",N,[Object(r.m)(c,{modelValue:e.keepOpen,"onUpdate:modelValue":t[3]||(t[3]=t=>e.keepOpen=t)},{default:Object(r.V)(()=>[Object(r.l)(Object(r.O)(e.$t("emoji.keep_open")),1)]),_:1},8,["modelValue"])])],2),e.showingStickers?(Object(r.D)(),Object(r.j)("div",B,[Object(r.m)(l,{onUploaded:e.onStickerUploaded,onUploadFailed:e.onStickerUploadFailed},null,8,["onUploaded","onUploadFailed"])])):Object(r.i)("",!0)])])}]]),Q=n(137),ee=n(41),te=["imageUrl"];function ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function re(e){for(var t=1;t0&&!this.showPicker&&!this.temporarilyHideSuggestions},textAtCaret:function(){return(this.wordAtCaret||{}).word||""},wordAtCaret:function(){if(this.modelValue&&this.caret)return x.wordAtPosition(this.modelValue,this.caret-1)||{}}},mounted:function(){var e=this.$refs.root,t=e.querySelector(".emoji-input > input")||e.querySelector(".emoji-input > textarea");t&&(this.input=t,this.resize(),t.addEventListener("blur",this.onBlur),t.addEventListener("focus",this.onFocus),t.addEventListener("paste",this.onPaste),t.addEventListener("keyup",this.onKeyUp),t.addEventListener("keydown",this.onKeyDown),t.addEventListener("click",this.onClickInput),t.addEventListener("transitionend",this.onTransition),t.addEventListener("input",this.onInput))},unmounted:function(){var e=this.input;e&&(e.removeEventListener("blur",this.onBlur),e.removeEventListener("focus",this.onFocus),e.removeEventListener("paste",this.onPaste),e.removeEventListener("keyup",this.onKeyUp),e.removeEventListener("keydown",this.onKeyDown),e.removeEventListener("click",this.onClickInput),e.removeEventListener("transitionend",this.onTransition),e.removeEventListener("input",this.onInput))},watch:{showSuggestions:function(e){this.$emit("shown",e)},textAtCaret:(ie=O()(y.a.mark((function e(t){var n,r;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.charAt(0),this.suggestions=[],t!==n){e.next=4;break}return e.abrupt("return");case 4:return e.next=6,this.suggest(t);case 6:if(r=e.sent,this.textAtCaret===t){e.next=9;break}return e.abrupt("return");case 9:if(!(r.length<=0)){e.next=11;break}return e.abrupt("return");case 11:this.suggestions=g()(r,5).map((function(e){var t=e.imageUrl;return re(re({},m()(e,te)),{},{img:t||""})}));case 12:case"end":return e.stop()}}),e,this)}))),function(e){return ie.apply(this,arguments)}),suggestions:{handler:function(e){this.$nextTick(this.resize)},deep:!0}},methods:{focusPickerInput:function(){var e=this.$refs.picker.$el;if(e){var t=e.querySelector("input");t&&t.focus()}},triggerShowPicker:function(){var e=this;this.showPicker=!0,this.$refs.picker.startEmojiLoad(),this.$nextTick((function(){e.scrollIntoView(),e.focusPickerInput()})),this.disableClickOutside=!0,setTimeout((function(){e.disableClickOutside=!1}),0)},togglePicker:function(){this.input.focus(),this.showPicker=!this.showPicker,this.showPicker&&(this.scrollIntoView(),this.$refs.picker.startEmojiLoad(),this.$nextTick(this.focusPickerInput))},replace:function(e){var t=x.replaceWord(this.modelValue,this.wordAtCaret,e);this.$emit("update:modelValue",t),this.caret=0},insert:function(e){var t=e.insertion,n=e.keepOpen,r=e.surroundingSpace,i=void 0===r||r,o=this.modelValue.substring(0,this.caret)||"",s=this.modelValue.substring(this.caret)||"",a=/\s/,c=i&&!a.exec(o.slice(-1))&&o.length&&this.padEmoji>0?" ":"",l=i&&!a.exec(s[0])&&this.padEmoji?" ":"",u=[o,c,t,l,s].join("");this.keepOpen=n,this.$emit("update:modelValue",u);var d=this.caret+(t+l+c).length;n||this.input.focus(),this.$nextTick((function(){this.input.setSelectionRange(d,d),this.caret=d}))},replaceText:function(e,t){var n=this.suggestions.length||0;if(1!==this.textAtCaret.length&&(n>0||t)){var r=(t||this.suggestions[this.highlighted]).replacement,i=x.replaceWord(this.modelValue,this.wordAtCaret,r);this.$emit("update:modelValue",i),this.highlighted=0;var o=this.wordAtCaret.start+r.length;this.$nextTick((function(){this.input.focus(),this.input.setSelectionRange(o,o),this.caret=o})),e.preventDefault()}},cycleBackward:function(e){(this.suggestions.length||0)>1?(this.highlighted-=1,this.highlighted<0&&(this.highlighted=this.suggestions.length-1),e.preventDefault()):this.highlighted=0},cycleForward:function(e){var t=this.suggestions.length||0;t>1?(this.highlighted+=1,this.highlighted>=t&&(this.highlighted=0),e.preventDefault()):this.highlighted=0},scrollIntoView:function(){var e=this,t=this.$refs.picker.$el,n=this.$el.closest(".sidebar-scroller")||this.$el.closest(".post-form-modal-view")||window,r=n===window?n.scrollY:n.scrollTop,i=r+(n===window?n.innerHeight:n.offsetHeight),o=t.offsetHeight+Object(Q.a)(t,n).top,s=r+Math.max(0,o-i);n===window?n.scroll(0,s):n.scrollTop=s,this.$nextTick((function(){var t=e.input.offsetHeight,n=e.$refs.picker;n.$el.getBoundingClientRect().bottom>window.innerHeight&&(n.$el.style.top="auto",n.$el.style.bottom=t+"px")}))},onTransition:function(e){this.resize()},onBlur:function(e){var t=this;this.blurTimeout=setTimeout((function(){t.focused=!1,t.setCaret(e),t.resize()}),200)},onClick:function(e,t){this.replaceText(e,t)},onFocus:function(e){this.blurTimeout&&(clearTimeout(this.blurTimeout),this.blurTimeout=null),this.keepOpen||(this.showPicker=!1),this.focused=!0,this.setCaret(e),this.resize(),this.temporarilyHideSuggestions=!1},onKeyUp:function(e){var t=e.key;this.setCaret(e),this.resize(),this.temporarilyHideSuggestions="Escape"===t},onPaste:function(e){this.setCaret(e),this.resize()},onKeyDown:function(e){var t=this,n=e.ctrlKey,r=e.shiftKey,i=e.key;this.newlineOnCtrlEnter&&n&&"Enter"===i&&(this.insert({insertion:"\n",surroundingSpace:!1}),e.stopPropagation(),e.preventDefault(),this.$nextTick((function(){t.input.blur(),t.input.focus()}))),this.temporarilyHideSuggestions||("Tab"===i&&(r?this.cycleBackward(e):this.cycleForward(e)),"ArrowUp"===i?this.cycleBackward(e):"ArrowDown"===i&&this.cycleForward(e),"Enter"===i&&(n||this.replaceText(e))),"Escape"===i&&(this.temporarilyHideSuggestions||this.input.focus()),this.showPicker=!1,this.resize()},onInput:function(e){this.showPicker=!1,this.setCaret(e),this.resize(),this.$emit("update:modelValue",e.target.value)},onClickInput:function(e){this.showPicker=!1},onClickOutside:function(e){this.disableClickOutside||(this.showPicker=!1)},onStickerUploaded:function(e){this.showPicker=!1,this.$emit("sticker-uploaded",e)},onStickerUploadFailed:function(e){this.showPicker=!1,this.$emit("sticker-upload-Failed",e)},setCaret:function(e){var t=e.target.selectionStart;this.caret=t},resize:function(){var e=this.$refs.panel;if(e){var t=this.$refs.picker.$el,n=this.$refs["panel-body"],r=this.input,i=r.offsetHeight,o=r.offsetTop+i;this.setPlacement(n,e,o),this.setPlacement(t,t,o)}},setPlacement:function(e,t,n){e&&t&&(t.style.top=n+"px",t.style.bottom="auto",("top"===this.placement||"auto"===this.placement&&this.overflowsBottom(e))&&(t.style.top="auto",t.style.bottom=this.input.offsetHeight+"px"))},overflowsBottom:function(e){return e.getBoundingClientRect().bottom>window.innerHeight}}};n(504);const se=X()(oe,[["render",function(e,t,n,p,h,b){const m=Object(r.J)("FAIcon"),f=Object(r.J)("EmojiPicker"),O=Object(r.K)("click-outside");return Object(r.W)((Object(r.D)(),Object(r.j)("div",{ref:"root",class:Object(r.w)(["emoji-input",{"with-picker":!e.hideEmojiButton}])},[Object(r.I)(e.$slots,"default"),e.enableEmojiPicker?(Object(r.D)(),Object(r.j)(r.a,{key:0},[e.hideEmojiButton?Object(r.i)("",!0):(Object(r.D)(),Object(r.j)("button",{key:0,class:"button-unstyled emoji-picker-icon",type:"button",onClick:t[0]||(t[0]=Object(r.Y)((...t)=>e.togglePicker&&e.togglePicker(...t),["prevent"]))},[Object(r.m)(m,{icon:["far","smile-beam"]})])),e.enableEmojiPicker?(Object(r.D)(),Object(r.h)(f,{key:1,ref:"picker",class:Object(r.w)([{hide:!e.showPicker},"emoji-picker-panel"]),"enable-sticker-picker":e.enableStickerPicker,onEmoji:e.insert,onStickerUploaded:e.onStickerUploaded,onStickerUploadFailed:e.onStickerUploadFailed},null,8,["class","enable-sticker-picker","onEmoji","onStickerUploaded","onStickerUploadFailed"])):Object(r.i)("",!0)],64)):Object(r.i)("",!0),Object(r.k)("div",{ref:"panel",class:Object(r.w)(["autocomplete-panel",{hide:!e.showSuggestions}])},[Object(r.k)("div",i,[(Object(r.D)(!0),Object(r.j)(r.a,null,Object(r.H)(e.suggestions,(t,n)=>(Object(r.D)(),Object(r.j)("div",{key:n,class:Object(r.w)(["autocomplete-item",{highlighted:n===e.highlighted}]),onClick:Object(r.Y)(n=>e.onClick(n,t),["stop","prevent"])},[Object(r.k)("span",s,[t.img?(Object(r.D)(),Object(r.j)("img",{key:0,src:t.img},null,8,a)):(Object(r.D)(),Object(r.j)("span",c,Object(r.O)(t.replacement),1))]),Object(r.k)("div",l,[Object(r.k)("span",u,Object(r.O)(t.displayText),1),Object(r.k)("span",d,Object(r.O)(t.detailText),1)])],10,o))),128))],512)],2)],2)),[[O,e.onClickOutside]])}]]);t.a=se},,,,,,,,,,,,,,,,,function(e,t,n){e.exports=n.p+"static/img/nsfw.ca95de9.png"},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n.r(t),t.default={about:{mrf:{federation:e=>{const{normalize:t}=e;return t(["Federation"])},keyword:{keyword_policies:e=>{const{normalize:t}=e;return t(["Keyword policies"])},ftl_removal:e=>{const{normalize:t}=e;return t(['Removal from "The Whole Known Network" Timeline'])},reject:e=>{const{normalize:t}=e;return t(["Reject"])},replace:e=>{const{normalize:t}=e;return t(["Replace"])},is_replaced_by:e=>{const{normalize:t}=e;return t(["→"])}},mrf_policies:e=>{const{normalize:t}=e;return t(["Enabled MRF policies"])},mrf_policies_desc:e=>{const{normalize:t}=e;return t(["MRF policies manipulate the federation behaviour of the instance. The following policies are enabled:"])},simple:{simple_policies:e=>{const{normalize:t}=e;return t(["Instance-specific policies"])},instance:e=>{const{normalize:t}=e;return t(["Instance"])},reason:e=>{const{normalize:t}=e;return t(["Reason"])},not_applicable:e=>{const{normalize:t}=e;return t(["N/A"])},accept:e=>{const{normalize:t}=e;return t(["Accept"])},accept_desc:e=>{const{normalize:t}=e;return t(["This instance only accepts messages from the following instances:"])},reject:e=>{const{normalize:t}=e;return t(["Reject"])},reject_desc:e=>{const{normalize:t}=e;return t(["This instance will not accept messages from the following instances:"])},quarantine:e=>{const{normalize:t}=e;return t(["Quarantine"])},quarantine_desc:e=>{const{normalize:t}=e;return t(["This instance will send only public posts to the following instances:"])},ftl_removal:e=>{const{normalize:t}=e;return t(['Removal from "Known Network" Timeline'])},ftl_removal_desc:e=>{const{normalize:t}=e;return t(['This instance removes these instances from "Known Network" timeline:'])},media_removal:e=>{const{normalize:t}=e;return t(["Media Removal"])},media_removal_desc:e=>{const{normalize:t}=e;return t(["This instance removes media from posts on the following instances:"])},media_nsfw:e=>{const{normalize:t}=e;return t(["Media force-set as sensitive"])},media_nsfw_desc:e=>{const{normalize:t}=e;return t(["This instance forces media to be set sensitive in posts on the following instances:"])}}},staff:e=>{const{normalize:t}=e;return t(["Staff"])}},shoutbox:{title:e=>{const{normalize:t}=e;return t(["Shoutbox"])}},domain_mute_card:{mute:e=>{const{normalize:t}=e;return t(["Mute"])},mute_progress:e=>{const{normalize:t}=e;return t(["Muting…"])},unmute:e=>{const{normalize:t}=e;return t(["Unmute"])},unmute_progress:e=>{const{normalize:t}=e;return t(["Unmuting…"])}},exporter:{export:e=>{const{normalize:t}=e;return t(["Export"])},processing:e=>{const{normalize:t}=e;return t(["Processing, you'll soon be asked to download your file"])}},features_panel:{shout:e=>{const{normalize:t}=e;return t(["Shoutbox"])},pleroma_chat_messages:e=>{const{normalize:t}=e;return t(["Pleroma Chat"])},gopher:e=>{const{normalize:t}=e;return t(["Gopher"])},media_proxy:e=>{const{normalize:t}=e;return t(["Media proxy"])},scope_options:e=>{const{normalize:t}=e;return t(["Scope options"])},text_limit:e=>{const{normalize:t}=e;return t(["Text limit"])},title:e=>{const{normalize:t}=e;return t(["Features"])},who_to_follow:e=>{const{normalize:t}=e;return t(["Who to follow"])},upload_limit:e=>{const{normalize:t}=e;return t(["Upload limit"])}},finder:{error_fetching_user:e=>{const{normalize:t}=e;return t(["Error fetching user"])},find_user:e=>{const{normalize:t}=e;return t(["Find user"])}},general:{apply:e=>{const{normalize:t}=e;return t(["Apply"])},submit:e=>{const{normalize:t}=e;return t(["Submit"])},more:e=>{const{normalize:t}=e;return t(["More"])},loading:e=>{const{normalize:t}=e;return t(["Loading…"])},generic_error:e=>{const{normalize:t}=e;return t(["An error occured"])},error_retry:e=>{const{normalize:t}=e;return t(["Please try again"])},retry:e=>{const{normalize:t}=e;return t(["Try again"])},optional:e=>{const{normalize:t}=e;return t(["optional"])},show_more:e=>{const{normalize:t}=e;return t(["Show more"])},show_less:e=>{const{normalize:t}=e;return t(["Show less"])},dismiss:e=>{const{normalize:t}=e;return t(["Dismiss"])},cancel:e=>{const{normalize:t}=e;return t(["Cancel"])},disable:e=>{const{normalize:t}=e;return t(["Disable"])},enable:e=>{const{normalize:t}=e;return t(["Enable"])},confirm:e=>{const{normalize:t}=e;return t(["Confirm"])},verify:e=>{const{normalize:t}=e;return t(["Verify"])},close:e=>{const{normalize:t}=e;return t(["Close"])},peek:e=>{const{normalize:t}=e;return t(["Peek"])},role:{admin:e=>{const{normalize:t}=e;return t(["Admin"])},moderator:e=>{const{normalize:t}=e;return t(["Moderator"])}},flash_content:e=>{const{normalize:t}=e;return t(["Click to show Flash content using Ruffle (Experimental, may not work)."])},flash_security:e=>{const{normalize:t}=e;return t(["Note that this can be potentially dangerous since Flash content is still arbitrary code."])},flash_fail:e=>{const{normalize:t}=e;return t(["Failed to load flash content, see console for details."])},scope_in_timeline:{direct:e=>{const{normalize:t}=e;return t(["Direct"])},private:e=>{const{normalize:t}=e;return t(["Followers-only"])},public:e=>{const{normalize:t}=e;return t(["Public"])},unlisted:e=>{const{normalize:t}=e;return t(["Unlisted"])}}},image_cropper:{crop_picture:e=>{const{normalize:t}=e;return t(["Crop picture"])},save:e=>{const{normalize:t}=e;return t(["Save"])},save_without_cropping:e=>{const{normalize:t}=e;return t(["Save without cropping"])},cancel:e=>{const{normalize:t}=e;return t(["Cancel"])}},importer:{submit:e=>{const{normalize:t}=e;return t(["Submit"])},success:e=>{const{normalize:t}=e;return t(["Imported successfully."])},error:e=>{const{normalize:t}=e;return t(["An error occured while importing this file."])}},login:{login:e=>{const{normalize:t}=e;return t(["Log in"])},description:e=>{const{normalize:t}=e;return t(["Log in with OAuth"])},logout:e=>{const{normalize:t}=e;return t(["Log out"])},password:e=>{const{normalize:t}=e;return t(["Password"])},placeholder:e=>{const{normalize:t}=e;return t(["e.g. lain"])},register:e=>{const{normalize:t}=e;return t(["Register"])},username:e=>{const{normalize:t}=e;return t(["Username"])},hint:e=>{const{normalize:t}=e;return t(["Log in to join the discussion"])},authentication_code:e=>{const{normalize:t}=e;return t(["Authentication code"])},enter_recovery_code:e=>{const{normalize:t}=e;return t(["Enter a recovery code"])},enter_two_factor_code:e=>{const{normalize:t}=e;return t(["Enter a two-factor code"])},recovery_code:e=>{const{normalize:t}=e;return t(["Recovery code"])},heading:{totp:e=>{const{normalize:t}=e;return t(["Two-factor authentication"])},recovery:e=>{const{normalize:t}=e;return t(["Two-factor recovery"])}}},media_modal:{previous:e=>{const{normalize:t}=e;return t(["Previous"])},next:e=>{const{normalize:t}=e;return t(["Next"])},counter:e=>{const{normalize:t,interpolate:n,named:r}=e;return t([n(r("current"))," / ",n(r("total"))])},hide:e=>{const{normalize:t}=e;return t(["Close media viewer"])}},nav:{about:e=>{const{normalize:t}=e;return t(["About"])},administration:e=>{const{normalize:t}=e;return t(["Administration"])},back:e=>{const{normalize:t}=e;return t(["Back"])},friend_requests:e=>{const{normalize:t}=e;return t(["Follow requests"])},mentions:e=>{const{normalize:t}=e;return t(["Mentions"])},interactions:e=>{const{normalize:t}=e;return t(["Interactions"])},dms:e=>{const{normalize:t}=e;return t(["Direct messages"])},public_tl:e=>{const{normalize:t}=e;return t(["Public timeline"])},timeline:e=>{const{normalize:t}=e;return t(["Timeline"])},home_timeline:e=>{const{normalize:t}=e;return t(["Home timeline"])},twkn:e=>{const{normalize:t}=e;return t(["Known Network"])},bookmarks:e=>{const{normalize:t}=e;return t(["Bookmarks"])},user_search:e=>{const{normalize:t}=e;return t(["User Search"])},search:e=>{const{normalize:t}=e;return t(["Search"])},who_to_follow:e=>{const{normalize:t}=e;return t(["Who to follow"])},preferences:e=>{const{normalize:t}=e;return t(["Preferences"])},timelines:e=>{const{normalize:t}=e;return t(["Timelines"])},chats:e=>{const{normalize:t}=e;return t(["Chats"])}},notifications:{broken_favorite:e=>{const{normalize:t}=e;return t(["Unknown status, searching for it…"])},error:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Error fetching notifications: ",n(r(0))])},favorited_you:e=>{const{normalize:t}=e;return t(["favorited your status"])},followed_you:e=>{const{normalize:t}=e;return t(["followed you"])},follow_request:e=>{const{normalize:t}=e;return t(["wants to follow you"])},load_older:e=>{const{normalize:t}=e;return t(["Load older notifications"])},notifications:e=>{const{normalize:t}=e;return t(["Notifications"])},read:e=>{const{normalize:t}=e;return t(["Read!"])},repeated_you:e=>{const{normalize:t}=e;return t(["repeated your status"])},no_more_notifications:e=>{const{normalize:t}=e;return t(["No more notifications"])},migrated_to:e=>{const{normalize:t}=e;return t(["migrated to"])},reacted_with:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["reacted with ",n(r(0))])},poll_ended:e=>{const{normalize:t}=e;return t(["poll has ended"])}},polls:{add_poll:e=>{const{normalize:t}=e;return t(["Add poll"])},add_option:e=>{const{normalize:t}=e;return t(["Add option"])},option:e=>{const{normalize:t}=e;return t(["Option"])},votes:e=>{const{normalize:t}=e;return t(["votes"])},people_voted_count:e=>{const{normalize:t,interpolate:n,named:r,plural:i}=e;return i([t([n(r("count"))," person voted"]),t([n(r("count"))," people voted"])])},votes_count:e=>{const{normalize:t,interpolate:n,named:r,plural:i}=e;return i([t([n(r("count"))," vote"]),t([n(r("count"))," votes"])])},vote:e=>{const{normalize:t}=e;return t(["Vote"])},type:e=>{const{normalize:t}=e;return t(["Poll type"])},single_choice:e=>{const{normalize:t}=e;return t(["Single choice"])},multiple_choices:e=>{const{normalize:t}=e;return t(["Multiple choices"])},expiry:e=>{const{normalize:t}=e;return t(["Poll age"])},expires_in:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Poll ends in ",n(r(0))])},expired:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Poll ended ",n(r(0))," ago"])},not_enough_options:e=>{const{normalize:t}=e;return t(["Too few unique options in poll"])}},emoji:{stickers:e=>{const{normalize:t}=e;return t(["Stickers"])},emoji:e=>{const{normalize:t}=e;return t(["Emoji"])},keep_open:e=>{const{normalize:t}=e;return t(["Keep picker open"])},search_emoji:e=>{const{normalize:t}=e;return t(["Search for an emoji"])},add_emoji:e=>{const{normalize:t}=e;return t(["Insert emoji"])},custom:e=>{const{normalize:t}=e;return t(["Custom emoji"])},unicode:e=>{const{normalize:t}=e;return t(["Unicode emoji"])},load_all_hint:e=>{const{normalize:t,interpolate:n,named:r}=e;return t(["Loaded first ",n(r("saneAmount"))," emoji, loading all emoji may cause performance issues."])},load_all:e=>{const{normalize:t,interpolate:n,named:r}=e;return t(["Loading all ",n(r("emojiAmount"))," emoji"])}},errors:{storage_unavailable:e=>{const{normalize:t}=e;return t(["Pleroma could not access browser storage. Your login or your local settings won't be saved and you might encounter unexpected issues. Try enabling cookies."])}},interactions:{favs_repeats:e=>{const{normalize:t}=e;return t(["Repeats and favorites"])},follows:e=>{const{normalize:t}=e;return t(["New follows"])},moves:e=>{const{normalize:t}=e;return t(["User migrates"])},load_older:e=>{const{normalize:t}=e;return t(["Load older interactions"])}},post_status:{new_status:e=>{const{normalize:t}=e;return t(["Post new status"])},account_not_locked_warning:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Your account is not ",n(r(0)),". Anyone can follow you to view your follower-only posts."])},account_not_locked_warning_link:e=>{const{normalize:t}=e;return t(["locked"])},attachments_sensitive:e=>{const{normalize:t}=e;return t(["Mark attachments as sensitive"])},media_description:e=>{const{normalize:t}=e;return t(["Media description"])},content_type:{"text/plain":e=>{const{normalize:t}=e;return t(["Plain text"])},"text/html":e=>{const{normalize:t}=e;return t(["HTML"])},"text/markdown":e=>{const{normalize:t}=e;return t(["Markdown"])},"text/bbcode":e=>{const{normalize:t}=e;return t(["BBCode"])},"text/x.misskeymarkdown":e=>{const{normalize:t}=e;return t(["MFM"])}},content_warning:e=>{const{normalize:t}=e;return t(["Subject (optional)"])},default:e=>{const{normalize:t}=e;return t(["Just landed in L.A."])},direct_warning_to_all:e=>{const{normalize:t}=e;return t(["This post will be visible to all the mentioned users."])},direct_warning_to_first_only:e=>{const{normalize:t}=e;return t(["This post will only be visible to the mentioned users at the beginning of the message."])},posting:e=>{const{normalize:t}=e;return t(["Posting"])},post:e=>{const{normalize:t}=e;return t(["Post"])},preview:e=>{const{normalize:t}=e;return t(["Preview"])},preview_empty:e=>{const{normalize:t}=e;return t(["Empty"])},empty_status_error:e=>{const{normalize:t}=e;return t(["Can't post an empty status with no files"])},media_description_error:e=>{const{normalize:t}=e;return t(["Failed to update media, try again"])},scope_notice:{public:e=>{const{normalize:t}=e;return t(["This post will be visible to everyone"])},private:e=>{const{normalize:t}=e;return t(["This post will be visible to your followers only"])},unlisted:e=>{const{normalize:t}=e;return t(["This post will not be visible in Public Timeline and The Whole Known Network"])},local:e=>{const{normalize:t}=e;return t(["This post won't be visible outside of IHBA"])}},scope:{direct:e=>{const{normalize:t}=e;return t(["Direct - post to mentioned users only"])},private:e=>{const{normalize:t}=e;return t(["Followers-only - post to followers only"])},public:e=>{const{normalize:t}=e;return t(["Public - post to public timelines"])},unlisted:e=>{const{normalize:t}=e;return t(["Unlisted - do not post to public timelines"])},local:e=>{const{normalize:t}=e;return t(["Local - do not federate this post"])}}},registration:{bio:e=>{const{normalize:t}=e;return t(["Bio"])},email:e=>{const{normalize:t}=e;return t(["Email"])},fullname:e=>{const{normalize:t}=e;return t(["Display name"])},password_confirm:e=>{const{normalize:t}=e;return t(["Password confirmation"])},registration:e=>{const{normalize:t}=e;return t(["Registration"])},token:e=>{const{normalize:t}=e;return t(["Invite token"])},captcha:e=>{const{normalize:t}=e;return t(["CAPTCHA"])},new_captcha:e=>{const{normalize:t}=e;return t(["Click the image to get a new captcha"])},username_placeholder:e=>{const{normalize:t}=e;return t(["e.g. lain"])},fullname_placeholder:e=>{const{normalize:t}=e;return t(["e.g. Lain Iwakura"])},bio_placeholder:e=>{const{normalize:t}=e;return t(["e.g.\nHi, I'm Lain.\nI’m an anime girl living in suburban Japan. You may know me from the Wired."])},reason:e=>{const{normalize:t}=e;return t(["Reason to register"])},reason_placeholder:e=>{const{normalize:t}=e;return t(["This instance approves registrations manually.\nLet the administration know why you want to register."])},register:e=>{const{normalize:t}=e;return t(["Register"])},validations:{username_required:e=>{const{normalize:t}=e;return t(["cannot be left blank"])},fullname_required:e=>{const{normalize:t}=e;return t(["cannot be left blank"])},email_required:e=>{const{normalize:t}=e;return t(["cannot be left blank"])},password_required:e=>{const{normalize:t}=e;return t(["cannot be left blank"])},password_confirmation_required:e=>{const{normalize:t}=e;return t(["cannot be left blank"])},password_confirmation_match:e=>{const{normalize:t}=e;return t(["should be the same as password"])}},email_language:e=>{const{normalize:t}=e;return t(["In which language do you want to receive emails from the server?"])}},remote_user_resolver:{remote_user_resolver:e=>{const{normalize:t}=e;return t(["Remote user resolver"])},searching_for:e=>{const{normalize:t}=e;return t(["Searching for"])},error:e=>{const{normalize:t}=e;return t(["Not found."])}},selectable_list:{select_all:e=>{const{normalize:t}=e;return t(["Select all"])}},settings:{app_name:e=>{const{normalize:t}=e;return t(["App name"])},expert_mode:e=>{const{normalize:t}=e;return t(["Show advanced"])},save:e=>{const{normalize:t}=e;return t(["Save changes"])},security:e=>{const{normalize:t}=e;return t(["Security"])},setting_changed:e=>{const{normalize:t}=e;return t(["Setting is different from default"])},setting_server_side:e=>{const{normalize:t}=e;return t(["This setting is tied to your profile and affects all sessions and clients"])},enter_current_password_to_confirm:e=>{const{normalize:t}=e;return t(["Enter your current password to confirm your identity"])},post_look_feel:e=>{const{normalize:t}=e;return t(["Posts Look & Feel"])},mention_links:e=>{const{normalize:t}=e;return t(["Mention links"])},mfa:{otp:e=>{const{normalize:t}=e;return t(["OTP"])},setup_otp:e=>{const{normalize:t}=e;return t(["Setup OTP"])},wait_pre_setup_otp:e=>{const{normalize:t}=e;return t(["presetting OTP"])},confirm_and_enable:e=>{const{normalize:t}=e;return t(["Confirm & enable OTP"])},title:e=>{const{normalize:t}=e;return t(["Two-factor Authentication"])},generate_new_recovery_codes:e=>{const{normalize:t}=e;return t(["Generate new recovery codes"])},warning_of_generate_new_codes:e=>{const{normalize:t}=e;return t(["When you generate new recovery codes, your old codes won’t work anymore."])},recovery_codes:e=>{const{normalize:t}=e;return t(["Recovery codes."])},waiting_a_recovery_codes:e=>{const{normalize:t}=e;return t(["Receiving backup codes…"])},recovery_codes_warning:e=>{const{normalize:t}=e;return t(["Write the codes down or save them somewhere secure - otherwise you won't see them again. If you lose access to your 2FA app and recovery codes you'll be locked out of your account."])},authentication_methods:e=>{const{normalize:t}=e;return t(["Authentication methods"])},scan:{title:e=>{const{normalize:t}=e;return t(["Scan"])},desc:e=>{const{normalize:t}=e;return t(["Using your two-factor app, scan this QR code or enter text key:"])},secret_code:e=>{const{normalize:t}=e;return t(["Key"])}},verify:{desc:e=>{const{normalize:t}=e;return t(["To enable two-factor authentication, enter the code from your two-factor app:"])}}},allow_following_move:e=>{const{normalize:t}=e;return t(["Allow auto-follow when following account moves"])},attachmentRadius:e=>{const{normalize:t}=e;return t(["Attachments"])},attachments:e=>{const{normalize:t}=e;return t(["Attachments"])},avatar:e=>{const{normalize:t}=e;return t(["Avatar"])},avatarAltRadius:e=>{const{normalize:t}=e;return t(["Avatars (notifications)"])},avatarRadius:e=>{const{normalize:t}=e;return t(["Avatars"])},background:e=>{const{normalize:t}=e;return t(["Background"])},bio:e=>{const{normalize:t}=e;return t(["Bio"])},email_language:e=>{const{normalize:t}=e;return t(["Language for receiving emails from the server"])},block_export:e=>{const{normalize:t}=e;return t(["Block export"])},block_export_button:e=>{const{normalize:t}=e;return t(["Export your blocks to a csv file"])},block_import:e=>{const{normalize:t}=e;return t(["Block import"])},block_import_error:e=>{const{normalize:t}=e;return t(["Error importing blocks"])},blocks_imported:e=>{const{normalize:t}=e;return t(["Blocks imported! Processing them will take a while."])},mute_export:e=>{const{normalize:t}=e;return t(["Mute export"])},mute_export_button:e=>{const{normalize:t}=e;return t(["Export your mutes to a csv file"])},mute_import:e=>{const{normalize:t}=e;return t(["Mute import"])},mute_import_error:e=>{const{normalize:t}=e;return t(["Error importing mutes"])},mutes_imported:e=>{const{normalize:t}=e;return t(["Mutes imported! Processing them will take a while."])},import_mutes_from_a_csv_file:e=>{const{normalize:t}=e;return t(["Import mutes from a csv file"])},blocks_tab:e=>{const{normalize:t}=e;return t(["Blocks"])},bot:e=>{const{normalize:t}=e;return t(["This is a bot account"])},btnRadius:e=>{const{normalize:t}=e;return t(["Buttons"])},cBlue:e=>{const{normalize:t}=e;return t(["Blue (Reply, follow)"])},cGreen:e=>{const{normalize:t}=e;return t(["Green (Retweet)"])},cOrange:e=>{const{normalize:t}=e;return t(["Orange (Favorite)"])},cRed:e=>{const{normalize:t}=e;return t(["Red (Cancel)"])},change_email:e=>{const{normalize:t}=e;return t(["Change email"])},change_email_error:e=>{const{normalize:t}=e;return t(["There was an issue changing your email."])},changed_email:e=>{const{normalize:t}=e;return t(["Email changed successfully!"])},change_password:e=>{const{normalize:t}=e;return t(["Change password"])},change_password_error:e=>{const{normalize:t}=e;return t(["There was an issue changing your password."])},changed_password:e=>{const{normalize:t}=e;return t(["Password changed successfully!"])},chatMessageRadius:e=>{const{normalize:t}=e;return t(["Chat message"])},collapse_subject:e=>{const{normalize:t}=e;return t(["Collapse posts with subjects"])},composing:e=>{const{normalize:t}=e;return t(["Composing"])},confirm_new_password:e=>{const{normalize:t}=e;return t(["Confirm new password"])},current_avatar:e=>{const{normalize:t}=e;return t(["Your current avatar"])},current_mascot:e=>{const{normalize:t}=e;return t(["Your current mascot"])},current_password:e=>{const{normalize:t}=e;return t(["Current password"])},mutes_and_blocks:e=>{const{normalize:t}=e;return t(["Mutes and Blocks"])},data_import_export_tab:e=>{const{normalize:t}=e;return t(["Data import / export"])},default_vis:e=>{const{normalize:t}=e;return t(["Default visibility scope"])},delete_account:e=>{const{normalize:t}=e;return t(["Delete account"])},delete_account_description:e=>{const{normalize:t}=e;return t(["Permanently delete your data and deactivate your account."])},delete_account_error:e=>{const{normalize:t}=e;return t(["There was an issue deleting your account. If this persists please contact your instance administrator."])},delete_account_instructions:e=>{const{normalize:t}=e;return t(["Type your password in the input below to confirm account deletion."])},discoverable:e=>{const{normalize:t}=e;return t(["Allow discovery of this account in search results and other services"])},domain_mutes:e=>{const{normalize:t}=e;return t(["Domains"])},avatar_size_instruction:e=>{const{normalize:t}=e;return t(["The recommended minimum size for avatar images is 150x150 pixels."])},pad_emoji:e=>{const{normalize:t}=e;return t(["Pad emoji with spaces when adding from picker"])},emoji_reactions_on_timeline:e=>{const{normalize:t}=e;return t(["Show emoji reactions on timeline"])},export_theme:e=>{const{normalize:t}=e;return t(["Save preset"])},filtering:e=>{const{normalize:t}=e;return t(["Filtering"])},wordfilter:e=>{const{normalize:t}=e;return t(["Wordfilter"])},filtering_explanation:e=>{const{normalize:t}=e;return t(["All statuses containing these words will be muted, one per line"])},word_filter:e=>{const{normalize:t}=e;return t(["Word filter"])},follow_export:e=>{const{normalize:t}=e;return t(["Follow export"])},follow_export_button:e=>{const{normalize:t}=e;return t(["Export your follows to a csv file"])},follow_import:e=>{const{normalize:t}=e;return t(["Follow import"])},follow_import_error:e=>{const{normalize:t}=e;return t(["Error importing followers"])},follows_imported:e=>{const{normalize:t}=e;return t(["Follows imported! Processing them will take a while."])},accent:e=>{const{normalize:t}=e;return t(["Accent"])},foreground:e=>{const{normalize:t}=e;return t(["Foreground"])},general:e=>{const{normalize:t}=e;return t(["General"])},hide_attachments_in_convo:e=>{const{normalize:t}=e;return t(["Hide attachments in conversations"])},hide_attachments_in_tl:e=>{const{normalize:t}=e;return t(["Hide attachments in timeline"])},hide_media_previews:e=>{const{normalize:t}=e;return t(["Hide media previews"])},hide_muted_posts:e=>{const{normalize:t}=e;return t(["Hide posts of muted users"])},mute_bot_posts:e=>{const{normalize:t}=e;return t(["Mute bot posts"])},hide_bot_indication:e=>{const{normalize:t}=e;return t(["Hide bot indication in posts"])},hide_all_muted_posts:e=>{const{normalize:t}=e;return t(["Hide muted posts"])},max_thumbnails:e=>{const{normalize:t}=e;return t(["Maximum amount of thumbnails per post (empty = no limit)"])},hide_isp:e=>{const{normalize:t}=e;return t(["Hide instance-specific panel"])},hide_shoutbox:e=>{const{normalize:t}=e;return t(["Hide instance shoutbox"])},right_sidebar:e=>{const{normalize:t}=e;return t(["Reverse order of columns"])},always_show_post_button:e=>{const{normalize:t}=e;return t(["Always show floating New Post button"])},hide_wallpaper:e=>{const{normalize:t}=e;return t(["Hide instance wallpaper"])},preload_images:e=>{const{normalize:t}=e;return t(["Preload images"])},use_one_click_nsfw:e=>{const{normalize:t}=e;return t(["Open NSFW attachments with just one click"])},hide_post_stats:e=>{const{normalize:t}=e;return t(["Hide post statistics (e.g. the number of favorites)"])},hide_user_stats:e=>{const{normalize:t}=e;return t(["Hide user statistics (e.g. the number of followers)"])},hide_filtered_statuses:e=>{const{normalize:t}=e;return t(["Hide all filtered posts"])},hide_wordfiltered_statuses:e=>{const{normalize:t}=e;return t(["Hide word-filtered statuses"])},hide_muted_threads:e=>{const{normalize:t}=e;return t(["Hide muted threads"])},import_blocks_from_a_csv_file:e=>{const{normalize:t}=e;return t(["Import blocks from a csv file"])},import_followers_from_a_csv_file:e=>{const{normalize:t}=e;return t(["Import follows from a csv file"])},import_theme:e=>{const{normalize:t}=e;return t(["Load preset"])},inputRadius:e=>{const{normalize:t}=e;return t(["Input fields"])},checkboxRadius:e=>{const{normalize:t}=e;return t(["Checkboxes"])},instance_default:e=>{const{normalize:t,interpolate:n,named:r}=e;return t(["(default: ",n(r("value")),")"])},instance_default_simple:e=>{const{normalize:t}=e;return t(["(default)"])},interface:e=>{const{normalize:t}=e;return t(["Interface"])},interfaceLanguage:e=>{const{normalize:t}=e;return t(["Interface language"])},invalid_theme_imported:e=>{const{normalize:t}=e;return t(["The selected file is not a supported Pleroma theme. No changes to your theme were made."])},limited_availability:e=>{const{normalize:t}=e;return t(["Unavailable in your browser"])},links:e=>{const{normalize:t}=e;return t(["Links"])},lock_account_description:e=>{const{normalize:t}=e;return t(["Restrict your account to approved followers only"])},loop_video:e=>{const{normalize:t}=e;return t(["Loop videos"])},loop_video_silent_only:e=>{const{normalize:t}=e;return t(['Loop only videos without sound (i.e. Mastodon\'s "gifs")'])},mutes_tab:e=>{const{normalize:t}=e;return t(["Mutes"])},play_videos_in_modal:e=>{const{normalize:t}=e;return t(["Play videos in a popup frame"])},file_export_import:{backup_restore:e=>{const{normalize:t}=e;return t(["Settings backup"])},backup_settings:e=>{const{normalize:t}=e;return t(["Backup settings to file"])},backup_settings_theme:e=>{const{normalize:t}=e;return t(["Backup settings and theme to file"])},restore_settings:e=>{const{normalize:t}=e;return t(["Restore settings from file"])},errors:{invalid_file:e=>{const{normalize:t}=e;return t(["The selected file is not a supported Pleroma settings backup. No changes were made."])},file_too_new:e=>{const{normalize:t,interpolate:n,named:r}=e;return t(["Incompatile major version: ",n(r("fileMajor")),", this PleromaFE (settings ver ",n(r("feMajor")),") is too old to handle it"])},file_too_old:e=>{const{normalize:t,interpolate:n,named:r}=e;return t(["Incompatile major version: ",n(r("fileMajor")),", file version is too old and not supported (min. set. ver. ",n(r("feMajor")),")"])},file_slightly_new:e=>{const{normalize:t}=e;return t(["File minor version is different, some settings might not load"])}}},profile_fields:{label:e=>{const{normalize:t}=e;return t(["Profile metadata"])},add_field:e=>{const{normalize:t}=e;return t(["Add field"])},name:e=>{const{normalize:t}=e;return t(["Label"])},value:e=>{const{normalize:t}=e;return t(["Content"])}},account_privacy:e=>{const{normalize:t}=e;return t(["Privacy"])},use_contain_fit:e=>{const{normalize:t}=e;return t(["Don't crop the attachment in thumbnails"])},name:e=>{const{normalize:t}=e;return t(["Name"])},name_bio:e=>{const{normalize:t}=e;return t(["Name & bio"])},new_email:e=>{const{normalize:t}=e;return t(["New email"])},new_password:e=>{const{normalize:t}=e;return t(["New password"])},posts:e=>{const{normalize:t}=e;return t(["Posts"])},user_profiles:e=>{const{normalize:t}=e;return t(["User Profiles"])},notification_visibility:e=>{const{normalize:t}=e;return t(["Types of notifications to show"])},notification_visibility_follows:e=>{const{normalize:t}=e;return t(["Follows"])},notification_visibility_likes:e=>{const{normalize:t}=e;return t(["Favorites"])},notification_visibility_mentions:e=>{const{normalize:t}=e;return t(["Mentions"])},notification_visibility_repeats:e=>{const{normalize:t}=e;return t(["Repeats"])},notification_visibility_moves:e=>{const{normalize:t}=e;return t(["User Migrates"])},notification_visibility_emoji_reactions:e=>{const{normalize:t}=e;return t(["Reactions"])},notification_visibility_polls:e=>{const{normalize:t}=e;return t(["Ends of polls you voted in"])},no_rich_text_description:e=>{const{normalize:t}=e;return t(["Strip rich text formatting from all posts"])},no_blocks:e=>{const{normalize:t}=e;return t(["No blocks"])},no_mutes:e=>{const{normalize:t}=e;return t(["No mutes"])},hide_favorites_description:e=>{const{normalize:t}=e;return t(["Don't show list of my favorites (people still get notified)"])},hide_follows_description:e=>{const{normalize:t}=e;return t(["Don't show who I'm following"])},hide_followers_description:e=>{const{normalize:t}=e;return t(["Don't show who's following me"])},hide_follows_count_description:e=>{const{normalize:t}=e;return t(["Don't show follow count"])},hide_followers_count_description:e=>{const{normalize:t}=e;return t(["Don't show follower count"])},show_admin_badge:e=>{const{normalize:t}=e;return t(['Show "Admin" badge in my profile'])},show_moderator_badge:e=>{const{normalize:t}=e;return t(['Show "Moderator" badge in my profile'])},nsfw_clickthrough:e=>{const{normalize:t}=e;return t(["Hide sensitive/NSFW media"])},oauth_tokens:e=>{const{normalize:t}=e;return t(["OAuth tokens"])},token:e=>{const{normalize:t}=e;return t(["Token"])},refresh_token:e=>{const{normalize:t}=e;return t(["Refresh token"])},valid_until:e=>{const{normalize:t}=e;return t(["Valid until"])},revoke_token:e=>{const{normalize:t}=e;return t(["Revoke"])},panelRadius:e=>{const{normalize:t}=e;return t(["Panels"])},pause_on_unfocused:e=>{const{normalize:t}=e;return t(["Pause when tab is not focused"])},presets:e=>{const{normalize:t}=e;return t(["Presets"])},profile_background:e=>{const{normalize:t}=e;return t(["Profile background"])},profile_banner:e=>{const{normalize:t}=e;return t(["Profile banner"])},profile_tab:e=>{const{normalize:t}=e;return t(["Profile"])},radii_help:e=>{const{normalize:t}=e;return t(["Set up interface edge rounding (in pixels)"])},replies_in_timeline:e=>{const{normalize:t}=e;return t(["Replies in timeline"])},reply_visibility_all:e=>{const{normalize:t}=e;return t(["Show all replies"])},reply_visibility_following:e=>{const{normalize:t}=e;return t(["Only show replies directed at me or users I'm following"])},reply_visibility_self:e=>{const{normalize:t}=e;return t(["Only show replies directed at me"])},reply_visibility_following_short:e=>{const{normalize:t}=e;return t(["Show replies to my follows"])},reply_visibility_self_short:e=>{const{normalize:t}=e;return t(["Show replies to self only"])},autohide_floating_post_button:e=>{const{normalize:t}=e;return t(["Automatically hide New Post button (mobile)"])},saving_err:e=>{const{normalize:t}=e;return t(["Error saving settings"])},saving_ok:e=>{const{normalize:t}=e;return t(["Settings saved"])},search_user_to_block:e=>{const{normalize:t}=e;return t(["Search whom you want to block"])},search_user_to_mute:e=>{const{normalize:t}=e;return t(["Search whom you want to mute"])},security_tab:e=>{const{normalize:t}=e;return t(["Security"])},scope_copy:e=>{const{normalize:t}=e;return t(["Copy scope when replying (DMs are always copied)"])},mascot:e=>{const{normalize:t}=e;return t(["Mastodon FE Mascot"])},minimal_scopes_mode:e=>{const{normalize:t}=e;return t(["Minimize post scope selection options"])},set_new_avatar:e=>{const{normalize:t}=e;return t(["Set new avatar"])},set_new_mascot:e=>{const{normalize:t}=e;return t(["Set new mascot"])},set_new_profile_background:e=>{const{normalize:t}=e;return t(["Set new profile background"])},set_new_profile_banner:e=>{const{normalize:t}=e;return t(["Set new profile banner"])},reset_avatar:e=>{const{normalize:t}=e;return t(["Reset avatar"])},reset_profile_background:e=>{const{normalize:t}=e;return t(["Reset profile background"])},reset_profile_banner:e=>{const{normalize:t}=e;return t(["Reset profile banner"])},reset_avatar_confirm:e=>{const{normalize:t}=e;return t(["Do you really want to reset the avatar?"])},reset_banner_confirm:e=>{const{normalize:t}=e;return t(["Do you really want to reset the banner?"])},reset_background_confirm:e=>{const{normalize:t}=e;return t(["Do you really want to reset the background?"])},settings:e=>{const{normalize:t}=e;return t(["Settings"])},subject_input_always_show:e=>{const{normalize:t}=e;return t(["Always show subject field"])},subject_line_behavior:e=>{const{normalize:t}=e;return t(["Copy subject when replying"])},subject_line_email:e=>{const{normalize:t}=e;return t(['Like email: "re: subject"'])},subject_line_mastodon:e=>{const{normalize:t}=e;return t(["Like mastodon: copy as is"])},subject_line_noop:e=>{const{normalize:t}=e;return t(["Do not copy"])},conversation_display:e=>{const{normalize:t}=e;return t(["Conversation display style"])},conversation_display_tree:e=>{const{normalize:t}=e;return t(["Tree-style"])},disable_sticky_headers:e=>{const{normalize:t}=e;return t(["Don't stick column headers to top of the screen"])},show_scrollbars:e=>{const{normalize:t}=e;return t(["Show side column's scrollbars"])},third_column_mode:e=>{const{normalize:t}=e;return t(["When there's enough space, show third column containing"])},third_column_mode_none:e=>{const{normalize:t}=e;return t(["Don't show third column at all"])},third_column_mode_notifications:e=>{const{normalize:t}=e;return t(["Notifications column"])},third_column_mode_postform:e=>{const{normalize:t}=e;return t(["Main post form and navigation"])},tree_advanced:e=>{const{normalize:t}=e;return t(["Allow more flexible navigation in tree view"])},tree_fade_ancestors:e=>{const{normalize:t}=e;return t(["Display ancestors of the current status in faint text"])},conversation_display_linear:e=>{const{normalize:t}=e;return t(["Linear-style"])},conversation_other_replies_button:e=>{const{normalize:t}=e;return t(['Show the "other replies" button'])},conversation_other_replies_button_below:e=>{const{normalize:t}=e;return t(["Below statuses"])},conversation_other_replies_button_inside:e=>{const{normalize:t}=e;return t(["Inside statuses"])},max_depth_in_thread:e=>{const{normalize:t}=e;return t(["Maximum number of levels in thread to display by default"])},post_status_content_type:e=>{const{normalize:t}=e;return t(["Post status content type"])},sensitive_by_default:e=>{const{normalize:t}=e;return t(["Mark posts as sensitive by default"])},sensitive_if_subject:e=>{const{normalize:t}=e;return t(["Automatically mark images as sensitive if a subject line is specified"])},render_mfm:e=>{const{normalize:t}=e;return t(["Render Misskey Markdown"])},useStreamingApiWarning:e=>{const{normalize:t}=e;return t(["It's cool use it. If it breaks refresh I guess?"])},stop_gifs:e=>{const{normalize:t}=e;return t(["Pause animated images until you hover on them"])},streaming:e=>{const{normalize:t}=e;return t(["Automatically show new posts when scrolled to the top"])},user_mutes:e=>{const{normalize:t}=e;return t(["Users"])},useStreamingApi:e=>{const{normalize:t}=e;return t(["Receive posts and notifications real-time"])},text:e=>{const{normalize:t}=e;return t(["Text"])},theme:e=>{const{normalize:t}=e;return t(["Theme"])},theme_help:e=>{const{normalize:t}=e;return t(["Use hex color codes (#rrggbb) to customize your color theme."])},theme_help_v2_1:e=>{const{normalize:t}=e;return t(['You can also override certain component\'s colors and opacity by toggling the checkbox, use "Clear all" button to clear all overrides.'])},theme_help_v2_2:e=>{const{normalize:t}=e;return t(["Icons underneath some entries are background/text contrast indicators, hover over for detailed info. Please keep in mind that when using transparency contrast indicators show the worst possible case."])},tooltipRadius:e=>{const{normalize:t}=e;return t(["Tooltips/alerts"])},type_domains_to_mute:e=>{const{normalize:t}=e;return t(["Search domains to mute"])},upload_a_photo:e=>{const{normalize:t}=e;return t(["Upload a photo"])},user_settings:e=>{const{normalize:t}=e;return t(["User Settings"])},values:{false:e=>{const{normalize:t}=e;return t(["no"])},true:e=>{const{normalize:t}=e;return t(["yes"])}},virtual_scrolling:e=>{const{normalize:t}=e;return t(["Optimize timeline rendering"])},use_at_icon:e=>{const{normalize:t}=e;return t(["Display ","@"," symbol as an icon instead of text"])},mention_link_display:e=>{const{normalize:t}=e;return t(["Display mention links"])},mention_link_display_short:e=>{const{normalize:t}=e;return t(["always as short names (e.g. ","@","foo)"])},mention_link_display_full_for_remote:e=>{const{normalize:t}=e;return t(["as full names only for remote users (e.g. ","@","foo","@","example.org)"])},mention_link_display_full:e=>{const{normalize:t}=e;return t(["always as full names (e.g. ","@","foo","@","example.org)"])},mention_link_show_tooltip:e=>{const{normalize:t}=e;return t(["Show full user names as tooltip for remote users"])},mention_link_show_avatar:e=>{const{normalize:t}=e;return t(["Show user avatar beside the link"])},mention_link_fade_domain:e=>{const{normalize:t}=e;return t(["Fade domains (e.g. ","@","example.org in ","@","foo","@","example.org)"])},mention_link_bolden_you:e=>{const{normalize:t}=e;return t(["Highlight mention of you when you are mentioned"])},fun:e=>{const{normalize:t}=e;return t(["Fun"])},greentext:e=>{const{normalize:t}=e;return t(["Meme arrows"])},show_yous:e=>{const{normalize:t}=e;return t(["Show (You)s"])},notifications:e=>{const{normalize:t}=e;return t(["Notifications"])},notification_setting_filters:e=>{const{normalize:t}=e;return t(["Filters"])},notification_setting_block_from_strangers:e=>{const{normalize:t}=e;return t(["Block notifications from users who you do not follow"])},notification_setting_privacy:e=>{const{normalize:t}=e;return t(["Privacy"])},notification_setting_hide_notification_contents:e=>{const{normalize:t}=e;return t(["Hide the sender and contents of push notifications"])},notification_mutes:e=>{const{normalize:t}=e;return t(["To stop receiving notifications from a specific user, use a mute."])},notification_blocks:e=>{const{normalize:t}=e;return t(["Blocking a user stops all notifications as well as unsubscribes them."])},enable_web_push_notifications:e=>{const{normalize:t}=e;return t(["Enable web push notifications"])},more_settings:e=>{const{normalize:t}=e;return t(["More settings"])},style:{switcher:{keep_color:e=>{const{normalize:t}=e;return t(["Keep colors"])},keep_shadows:e=>{const{normalize:t}=e;return t(["Keep shadows"])},keep_opacity:e=>{const{normalize:t}=e;return t(["Keep opacity"])},keep_roundness:e=>{const{normalize:t}=e;return t(["Keep roundness"])},keep_fonts:e=>{const{normalize:t}=e;return t(["Keep fonts"])},save_load_hint:e=>{const{normalize:t}=e;return t(['"Keep" options preserve currently set options when selecting or loading themes, it also stores said options when exporting a theme. When all checkboxes unset, exporting theme will save everything.'])},reset:e=>{const{normalize:t}=e;return t(["Reset"])},clear_all:e=>{const{normalize:t}=e;return t(["Clear all"])},clear_opacity:e=>{const{normalize:t}=e;return t(["Clear opacity"])},load_theme:e=>{const{normalize:t}=e;return t(["Load theme"])},keep_as_is:e=>{const{normalize:t}=e;return t(["Keep as is"])},use_snapshot:e=>{const{normalize:t}=e;return t(["Old version"])},use_source:e=>{const{normalize:t}=e;return t(["New version"])},help:{upgraded_from_v2:e=>{const{normalize:t}=e;return t(["PleromaFE has been upgraded, theme could look a little bit different than you remember."])},v2_imported:e=>{const{normalize:t}=e;return t(["File you imported was made for older FE. We try to maximize compatibility but there still could be inconsistencies."])},future_version_imported:e=>{const{normalize:t}=e;return t(["File you imported was made in newer version of FE."])},older_version_imported:e=>{const{normalize:t}=e;return t(["File you imported was made in older version of FE."])},snapshot_present:e=>{const{normalize:t}=e;return t(["Theme snapshot is loaded, so all values are overriden. You can load theme's actual data instead."])},snapshot_missing:e=>{const{normalize:t}=e;return t(["No theme snapshot was in the file so it could look different than originally envisioned."])},fe_upgraded:e=>{const{normalize:t}=e;return t(["PleromaFE's theme engine upgraded after version update."])},fe_downgraded:e=>{const{normalize:t}=e;return t(["PleromaFE's version rolled back."])},migration_snapshot_ok:e=>{const{normalize:t}=e;return t(["Just to be safe, theme snapshot loaded. You can try loading theme data."])},migration_napshot_gone:e=>{const{normalize:t}=e;return t(["For whatever reason snapshot was missing, some stuff could look different than you remember."])},snapshot_source_mismatch:e=>{const{normalize:t}=e;return t(["Versions conflict: most likely FE was rolled back and updated again, if you changed theme using older version of FE you most likely want to use old version, otherwise use new version."])}}},common:{color:e=>{const{normalize:t}=e;return t(["Color"])},opacity:e=>{const{normalize:t}=e;return t(["Opacity"])},contrast:{hint:e=>{const{normalize:t,interpolate:n,named:r}=e;return t(["Contrast ratio is ",n(r("ratio")),", it ",n(r("level"))," ",n(r("context"))])},level:{aa:e=>{const{normalize:t}=e;return t(["meets Level AA guideline (minimal)"])},aaa:e=>{const{normalize:t}=e;return t(["meets Level AAA guideline (recommended)"])},bad:e=>{const{normalize:t}=e;return t(["doesn't meet any accessibility guidelines"])}},context:{"18pt":e=>{const{normalize:t}=e;return t(["for large (18pt+) text"])},text:e=>{const{normalize:t}=e;return t(["for text"])}}}},common_colors:{_tab_label:e=>{const{normalize:t}=e;return t(["Common"])},main:e=>{const{normalize:t}=e;return t(["Common colors"])},foreground_hint:e=>{const{normalize:t}=e;return t(['See "Advanced" tab for more detailed control'])},rgbo:e=>{const{normalize:t}=e;return t(["Icons, accents, badges"])}},advanced_colors:{_tab_label:e=>{const{normalize:t}=e;return t(["Advanced"])},alert:e=>{const{normalize:t}=e;return t(["Alert background"])},alert_error:e=>{const{normalize:t}=e;return t(["Error"])},alert_warning:e=>{const{normalize:t}=e;return t(["Warning"])},alert_neutral:e=>{const{normalize:t}=e;return t(["Neutral"])},post:e=>{const{normalize:t}=e;return t(["Posts/User bios"])},badge:e=>{const{normalize:t}=e;return t(["Badge background"])},popover:e=>{const{normalize:t}=e;return t(["Tooltips, menus, popovers"])},badge_notification:e=>{const{normalize:t}=e;return t(["Notification"])},panel_header:e=>{const{normalize:t}=e;return t(["Panel header"])},top_bar:e=>{const{normalize:t}=e;return t(["Top bar"])},borders:e=>{const{normalize:t}=e;return t(["Borders"])},buttons:e=>{const{normalize:t}=e;return t(["Buttons"])},inputs:e=>{const{normalize:t}=e;return t(["Input fields"])},faint_text:e=>{const{normalize:t}=e;return t(["Faded text"])},underlay:e=>{const{normalize:t}=e;return t(["Underlay"])},wallpaper:e=>{const{normalize:t}=e;return t(["Wallpaper"])},poll:e=>{const{normalize:t}=e;return t(["Poll graph"])},icons:e=>{const{normalize:t}=e;return t(["Icons"])},highlight:e=>{const{normalize:t}=e;return t(["Highlighted elements"])},pressed:e=>{const{normalize:t}=e;return t(["Pressed"])},selectedPost:e=>{const{normalize:t}=e;return t(["Selected post"])},selectedMenu:e=>{const{normalize:t}=e;return t(["Selected menu item"])},disabled:e=>{const{normalize:t}=e;return t(["Disabled"])},toggled:e=>{const{normalize:t}=e;return t(["Toggled"])},tabs:e=>{const{normalize:t}=e;return t(["Tabs"])},chat:{incoming:e=>{const{normalize:t}=e;return t(["Incoming"])},outgoing:e=>{const{normalize:t}=e;return t(["Outgoing"])},border:e=>{const{normalize:t}=e;return t(["Border"])}}},radii:{_tab_label:e=>{const{normalize:t}=e;return t(["Roundness"])}},shadows:{_tab_label:e=>{const{normalize:t}=e;return t(["Shadow and lighting"])},component:e=>{const{normalize:t}=e;return t(["Component"])},override:e=>{const{normalize:t}=e;return t(["Override"])},shadow_id:e=>{const{normalize:t,interpolate:n,named:r}=e;return t(["Shadow #",n(r("value"))])},blur:e=>{const{normalize:t}=e;return t(["Blur"])},spread:e=>{const{normalize:t}=e;return t(["Spread"])},inset:e=>{const{normalize:t}=e;return t(["Inset"])},hintV3:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["For shadows you can also use the ",n(r(0))," notation to use other color slot."])},filter_hint:{always_drop_shadow:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Warning, this shadow always uses ",n(r(0))," when browser supports it."])},drop_shadow_syntax:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," does not support ",n(r(1))," parameter and ",n(r(2))," keyword."])},avatar_inset:e=>{const{normalize:t}=e;return t(["Please note that combining both inset and non-inset shadows on avatars might give unexpected results with transparent avatars."])},spread_zero:e=>{const{normalize:t}=e;return t(["Shadows with spread > 0 will appear as if it was set to zero"])},inset_classic:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Inset shadows will be using ",n(r(0))])}},components:{panel:e=>{const{normalize:t}=e;return t(["Panel"])},panelHeader:e=>{const{normalize:t}=e;return t(["Panel header"])},topBar:e=>{const{normalize:t}=e;return t(["Top bar"])},avatar:e=>{const{normalize:t}=e;return t(["User avatar (in profile view)"])},avatarStatus:e=>{const{normalize:t}=e;return t(["User avatar (in post display)"])},popup:e=>{const{normalize:t}=e;return t(["Popups and tooltips"])},button:e=>{const{normalize:t}=e;return t(["Button"])},buttonHover:e=>{const{normalize:t}=e;return t(["Button (hover)"])},buttonPressed:e=>{const{normalize:t}=e;return t(["Button (pressed)"])},buttonPressedHover:e=>{const{normalize:t}=e;return t(["Button (pressed+hover)"])},input:e=>{const{normalize:t}=e;return t(["Input field"])}}},fonts:{_tab_label:e=>{const{normalize:t}=e;return t(["Fonts"])},help:e=>{const{normalize:t}=e;return t(['Select font to use for elements of UI. For "custom" you have to enter exact font name as it appears in system.'])},components:{interface:e=>{const{normalize:t}=e;return t(["Interface"])},input:e=>{const{normalize:t}=e;return t(["Input fields"])},post:e=>{const{normalize:t}=e;return t(["Post text"])},postCode:e=>{const{normalize:t}=e;return t(["Monospaced text in a post (rich text)"])}},family:e=>{const{normalize:t}=e;return t(["Font name"])},size:e=>{const{normalize:t}=e;return t(["Size (in px)"])},weight:e=>{const{normalize:t}=e;return t(["Weight (boldness)"])},custom:e=>{const{normalize:t}=e;return t(["Custom"])}},preview:{header:e=>{const{normalize:t}=e;return t(["Preview"])},content:e=>{const{normalize:t}=e;return t(["Content"])},error:e=>{const{normalize:t}=e;return t(["Example error"])},button:e=>{const{normalize:t}=e;return t(["Button"])},text:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["A bunch of more ",n(r(0))," and ",n(r(1))])},mono:e=>{const{normalize:t}=e;return t(["content"])},input:e=>{const{normalize:t}=e;return t(["Just landed in L.A."])},faint_link:e=>{const{normalize:t}=e;return t(["helpful manual"])},fine_print:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Read our ",n(r(0))," to learn nothing useful!"])},header_faint:e=>{const{normalize:t}=e;return t(["This is fine"])},checkbox:e=>{const{normalize:t}=e;return t(["I have skimmed over terms and conditions"])},link:e=>{const{normalize:t}=e;return t(["a nice lil' link"])}}},version:{title:e=>{const{normalize:t}=e;return t(["Version"])},backend_version:e=>{const{normalize:t}=e;return t(["Backend version"])},frontend_version:e=>{const{normalize:t}=e;return t(["Frontend version"])}}},time:{day:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," day"])},days:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," days"])},day_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"d"])},days_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"d"])},hour:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," hour"])},hours:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," hours"])},hour_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"h"])},hours_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"h"])},in_future:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["in ",n(r(0))])},in_past:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," ago"])},minute:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," minute"])},minutes:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," minutes"])},minute_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"min"])},minutes_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"min"])},month:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," month"])},months:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," months"])},month_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"mo"])},months_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"mo"])},now:e=>{const{normalize:t}=e;return t(["just now"])},now_short:e=>{const{normalize:t}=e;return t(["now"])},second:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," second"])},seconds:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," seconds"])},second_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"s"])},seconds_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"s"])},week:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," week"])},weeks:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," weeks"])},week_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"w"])},weeks_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"w"])},year:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," year"])},years:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0))," years"])},year_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"y"])},years_short:e=>{const{normalize:t,interpolate:n,list:r}=e;return t([n(r(0)),"y"])}},timeline:{collapse:e=>{const{normalize:t}=e;return t(["Collapse"])},conversation:e=>{const{normalize:t}=e;return t(["Conversation"])},error:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Error fetching timeline: ",n(r(0))])},load_older:e=>{const{normalize:t}=e;return t(["Load older statuses"])},no_retweet_hint:e=>{const{normalize:t}=e;return t(["Post is marked as followers-only or direct and cannot be repeated"])},repeated:e=>{const{normalize:t}=e;return t(["repeated"])},show_new:e=>{const{normalize:t}=e;return t(["Show new"])},reload:e=>{const{normalize:t}=e;return t(["Reload"])},up_to_date:e=>{const{normalize:t}=e;return t(["Up-to-date"])},no_more_statuses:e=>{const{normalize:t}=e;return t(["No more statuses"])},no_statuses:e=>{const{normalize:t}=e;return t(["No statuses"])},socket_reconnected:e=>{const{normalize:t}=e;return t(["Realtime connection established"])},socket_broke:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Realtime connection lost: CloseEvent code ",n(r(0))])}},status:{favorites:e=>{const{normalize:t}=e;return t(["Favorites"])},repeats:e=>{const{normalize:t}=e;return t(["Repeats"])},delete:e=>{const{normalize:t}=e;return t(["Delete status"])},pin:e=>{const{normalize:t}=e;return t(["Pin on profile"])},unpin:e=>{const{normalize:t}=e;return t(["Unpin from profile"])},pinned:e=>{const{normalize:t}=e;return t(["Pinned"])},bookmark:e=>{const{normalize:t}=e;return t(["Bookmark"])},unbookmark:e=>{const{normalize:t}=e;return t(["Unbookmark"])},delete_confirm:e=>{const{normalize:t}=e;return t(["Do you really want to delete this status?"])},reply_to:e=>{const{normalize:t}=e;return t(["Reply to"])},mentions:e=>{const{normalize:t}=e;return t(["Mentions"])},replies_list:e=>{const{normalize:t}=e;return t(["Replies:"])},replies_list_with_others:e=>{const{normalize:t,interpolate:n,named:r,plural:i}=e;return i([t(["Replies (+",n(r("numReplies"))," other):"]),t(["Replies (+",n(r("numReplies"))," others):"])])},mute_conversation:e=>{const{normalize:t}=e;return t(["Mute conversation"])},unmute_conversation:e=>{const{normalize:t}=e;return t(["Unmute conversation"])},status_unavailable:e=>{const{normalize:t}=e;return t(["Status unavailable"])},copy_link:e=>{const{normalize:t}=e;return t(["Copy link to status"])},external_source:e=>{const{normalize:t}=e;return t(["External source"])},thread_muted:e=>{const{normalize:t}=e;return t(["Thread muted"])},thread_muted_and_words:e=>{const{normalize:t}=e;return t([", has words:"])},show_full_subject:e=>{const{normalize:t}=e;return t(["Show full subject"])},hide_full_subject:e=>{const{normalize:t}=e;return t(["Hide full subject"])},show_content:e=>{const{normalize:t}=e;return t(["Show content"])},hide_content:e=>{const{normalize:t}=e;return t(["Hide content"])},status_deleted:e=>{const{normalize:t}=e;return t(["This post was deleted"])},nsfw:e=>{const{normalize:t}=e;return t(["NSFW"])},expand:e=>{const{normalize:t}=e;return t(["Expand"])},you:e=>{const{normalize:t}=e;return t(["(You)"])},plus_more:e=>{const{normalize:t,interpolate:n,named:r}=e;return t(["+",n(r("number"))," more"])},many_attachments:e=>{const{normalize:t,interpolate:n,named:r}=e;return t(["Post has ",n(r("number"))," attachment(s)"])},collapse_attachments:e=>{const{normalize:t}=e;return t(["Collapse attachments"])},show_all_attachments:e=>{const{normalize:t}=e;return t(["Show all attachments"])},show_attachment_in_modal:e=>{const{normalize:t}=e;return t(["Show in media modal"])},show_attachment_description:e=>{const{normalize:t}=e;return t(["Preview description (open attachment for full description)"])},hide_attachment:e=>{const{normalize:t}=e;return t(["Hide attachment"])},remove_attachment:e=>{const{normalize:t}=e;return t(["Remove attachment"])},attachment_stop_flash:e=>{const{normalize:t}=e;return t(["Stop Flash player"])},move_up:e=>{const{normalize:t}=e;return t(["Shift attachment left"])},move_down:e=>{const{normalize:t}=e;return t(["Shift attachment right"])},open_gallery:e=>{const{normalize:t}=e;return t(["Open gallery"])},thread_hide:e=>{const{normalize:t}=e;return t(["Hide this thread"])},thread_show:e=>{const{normalize:t}=e;return t(["Show this thread"])},thread_show_full:e=>{const{normalize:t,interpolate:n,named:r,plural:i}=e;return i([t(["Show everything under this thread (",n(r("numStatus"))," status in total, max depth ",n(r("depth")),")"]),t(["Show everything under this thread (",n(r("numStatus"))," statuses in total, max depth ",n(r("depth")),")"])])},thread_show_full_with_icon:e=>{const{normalize:t,interpolate:n,named:r}=e;return t([n(r("icon"))," ",n(r("text"))])},thread_follow:e=>{const{normalize:t,interpolate:n,named:r,plural:i}=e;return i([t(["See the remaining part of this thread (",n(r("numStatus"))," status in total)"]),t(["See the remaining part of this thread (",n(r("numStatus"))," statuses in total)"])])},thread_follow_with_icon:e=>{const{normalize:t,interpolate:n,named:r}=e;return t([n(r("icon"))," ",n(r("text"))])},ancestor_follow:e=>{const{normalize:t,interpolate:n,named:r,plural:i}=e;return i([t(["See ",n(r("numReplies"))," other reply under this status"]),t(["See ",n(r("numReplies"))," other replies under this status"])])},ancestor_follow_with_icon:e=>{const{normalize:t,interpolate:n,named:r}=e;return t([n(r("icon"))," ",n(r("text"))])},show_all_conversation_with_icon:e=>{const{normalize:t,interpolate:n,named:r}=e;return t([n(r("icon"))," ",n(r("text"))])},show_all_conversation:e=>{const{normalize:t,interpolate:n,named:r,plural:i}=e;return i([t(["Show full conversation (",n(r("numStatus"))," other status)"]),t(["Show full conversation (",n(r("numStatus"))," other statuses)"])])},show_only_conversation_under_this:e=>{const{normalize:t}=e;return t(["Only show replies to this status"])}},user_card:{approve:e=>{const{normalize:t}=e;return t(["Approve"])},block:e=>{const{normalize:t}=e;return t(["Block"])},blocked:e=>{const{normalize:t}=e;return t(["Blocked!"])},deactivated:e=>{const{normalize:t}=e;return t(["Deactivated"])},deny:e=>{const{normalize:t}=e;return t(["Deny"])},edit_profile:e=>{const{normalize:t}=e;return t(["Edit profile"])},favorites:e=>{const{normalize:t}=e;return t(["Favorites"])},follow:e=>{const{normalize:t}=e;return t(["Follow"])},follow_cancel:e=>{const{normalize:t}=e;return t(["Cancel request"])},follow_sent:e=>{const{normalize:t}=e;return t(["Request sent!"])},follow_progress:e=>{const{normalize:t}=e;return t(["Requesting…"])},follow_unfollow:e=>{const{normalize:t}=e;return t(["Unfollow"])},followees:e=>{const{normalize:t}=e;return t(["Following"])},followers:e=>{const{normalize:t}=e;return t(["Followers"])},following:e=>{const{normalize:t}=e;return t(["Following!"])},follows_you:e=>{const{normalize:t}=e;return t(["Follows you!"])},hidden:e=>{const{normalize:t}=e;return t(["Hidden"])},its_you:e=>{const{normalize:t}=e;return t(["It's you!"])},media:e=>{const{normalize:t}=e;return t(["Media"])},mention:e=>{const{normalize:t}=e;return t(["Mention"])},message:e=>{const{normalize:t}=e;return t(["Message"])},mute:e=>{const{normalize:t}=e;return t(["Mute"])},muted:e=>{const{normalize:t}=e;return t(["Muted"])},per_day:e=>{const{normalize:t}=e;return t(["per day"])},remote_follow:e=>{const{normalize:t}=e;return t(["Remote follow"])},report:e=>{const{normalize:t}=e;return t(["Report"])},statuses:e=>{const{normalize:t}=e;return t(["Statuses"])},subscribe:e=>{const{normalize:t}=e;return t(["Subscribe"])},unsubscribe:e=>{const{normalize:t}=e;return t(["Unsubscribe"])},unblock:e=>{const{normalize:t}=e;return t(["Unblock"])},unblock_progress:e=>{const{normalize:t}=e;return t(["Unblocking…"])},block_progress:e=>{const{normalize:t}=e;return t(["Blocking…"])},unmute:e=>{const{normalize:t}=e;return t(["Unmute"])},unmute_progress:e=>{const{normalize:t}=e;return t(["Unmuting…"])},mute_progress:e=>{const{normalize:t}=e;return t(["Muting…"])},hide_repeats:e=>{const{normalize:t}=e;return t(["Hide repeats"])},show_repeats:e=>{const{normalize:t}=e;return t(["Show repeats"])},domain_muted:e=>{const{normalize:t}=e;return t(["Unblock domain"])},mute_domain:e=>{const{normalize:t}=e;return t(["Block domain"])},bot:e=>{const{normalize:t}=e;return t(["Bot"])},admin_menu:{moderation:e=>{const{normalize:t}=e;return t(["Moderation"])},grant_admin:e=>{const{normalize:t}=e;return t(["Grant Admin"])},revoke_admin:e=>{const{normalize:t}=e;return t(["Revoke Admin"])},grant_moderator:e=>{const{normalize:t}=e;return t(["Grant Moderator"])},revoke_moderator:e=>{const{normalize:t}=e;return t(["Revoke Moderator"])},activate_account:e=>{const{normalize:t}=e;return t(["Activate account"])},deactivate_account:e=>{const{normalize:t}=e;return t(["Deactivate account"])},delete_account:e=>{const{normalize:t}=e;return t(["Delete account"])},force_nsfw:e=>{const{normalize:t}=e;return t(["Mark all posts as NSFW"])},strip_media:e=>{const{normalize:t}=e;return t(["Remove media from posts"])},force_unlisted:e=>{const{normalize:t}=e;return t(["Force posts to be unlisted"])},sandbox:e=>{const{normalize:t}=e;return t(["Force posts to be followers-only"])},disable_remote_subscription:e=>{const{normalize:t}=e;return t(["Disallow following user from remote instances"])},disable_any_subscription:e=>{const{normalize:t}=e;return t(["Disallow following user at all"])},quarantine:e=>{const{normalize:t}=e;return t(["Disallow user posts from federating"])},delete_user:e=>{const{normalize:t}=e;return t(["Delete user"])},delete_user_confirmation:e=>{const{normalize:t}=e;return t(["Are you absolutely sure? This action cannot be undone."])}},highlight:{disabled:e=>{const{normalize:t}=e;return t(["No highlight"])},solid:e=>{const{normalize:t}=e;return t(["Solid bg"])},striped:e=>{const{normalize:t}=e;return t(["Striped bg"])},side:e=>{const{normalize:t}=e;return t(["Side stripe"])}}},user_profile:{timeline_title:e=>{const{normalize:t}=e;return t(["User timeline"])},profile_does_not_exist:e=>{const{normalize:t}=e;return t(["Sorry, this profile does not exist."])},profile_loading_error:e=>{const{normalize:t}=e;return t(["Sorry, there was an error loading this profile."])}},user_reporting:{title:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Reporting ",n(r(0))])},add_comment_description:e=>{const{normalize:t}=e;return t(["The report will be sent to your instance moderators. You can provide an explanation of why you are reporting this account below:"])},additional_comments:e=>{const{normalize:t}=e;return t(["Additional comments"])},forward_description:e=>{const{normalize:t}=e;return t(["The account is from another server. Send a copy of the report there as well?"])},forward_to:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Forward to ",n(r(0))])},submit:e=>{const{normalize:t}=e;return t(["Submit"])},generic_error:e=>{const{normalize:t}=e;return t(["An error occurred while processing your request."])}},who_to_follow:{more:e=>{const{normalize:t}=e;return t(["More"])},who_to_follow:e=>{const{normalize:t}=e;return t(["Who to follow"])}},tool_tip:{media_upload:e=>{const{normalize:t}=e;return t(["Upload media"])},repeat:e=>{const{normalize:t}=e;return t(["Repeat"])},reply:e=>{const{normalize:t}=e;return t(["Reply"])},favorite:e=>{const{normalize:t}=e;return t(["Favorite"])},add_reaction:e=>{const{normalize:t}=e;return t(["Add Reaction"])},user_settings:e=>{const{normalize:t}=e;return t(["User Settings"])},accept_follow_request:e=>{const{normalize:t}=e;return t(["Accept follow request"])},reject_follow_request:e=>{const{normalize:t}=e;return t(["Reject follow request"])},bookmark:e=>{const{normalize:t}=e;return t(["Bookmark"])}},upload:{error:{base:e=>{const{normalize:t}=e;return t(["Upload failed."])},message:e=>{const{normalize:t,interpolate:n,list:r}=e;return t(["Upload failed: ",n(r(0))])},file_too_big:e=>{const{normalize:t,interpolate:n,named:r}=e;return t(["File too big [",n(r("filesize")),n(r("filesizeunit"))," / ",n(r("allowedsize")),n(r("allowedsizeunit")),"]"])},default:e=>{const{normalize:t}=e;return t(["Try again later"])}},file_size_units:{B:e=>{const{normalize:t}=e;return t(["B"])},KiB:e=>{const{normalize:t}=e;return t(["KiB"])},MiB:e=>{const{normalize:t}=e;return t(["MiB"])},GiB:e=>{const{normalize:t}=e;return t(["GiB"])},TiB:e=>{const{normalize:t}=e;return t(["TiB"])}}},search:{people:e=>{const{normalize:t}=e;return t(["People"])},hashtags:e=>{const{normalize:t}=e;return t(["Hashtags"])},person_talking:e=>{const{normalize:t,interpolate:n,named:r}=e;return t([n(r("count"))," person talking"])},people_talking:e=>{const{normalize:t,interpolate:n,named:r}=e;return t([n(r("count"))," people talking"])},no_results:e=>{const{normalize:t}=e;return t(["No results"])}},password_reset:{forgot_password:e=>{const{normalize:t}=e;return t(["Forgot password?"])},password_reset:e=>{const{normalize:t}=e;return t(["Password reset"])},instruction:e=>{const{normalize:t}=e;return t(["Enter your email address or username. We will send you a link to reset your password."])},placeholder:e=>{const{normalize:t}=e;return t(["Your email or username"])},check_email:e=>{const{normalize:t}=e;return t(["Check your email for a link to reset your password."])},return_home:e=>{const{normalize:t}=e;return t(["Return to the home page"])},too_many_requests:e=>{const{normalize:t}=e;return t(["You have reached the limit of attempts, try again later."])},password_reset_disabled:e=>{const{normalize:t}=e;return t(["Password reset is disabled. Please contact your instance administrator."])},password_reset_required:e=>{const{normalize:t}=e;return t(["You must reset your password to log in."])},password_reset_required_but_mailer_is_disabled:e=>{const{normalize:t}=e;return t(["You must reset your password, but password reset is disabled. Please contact your instance administrator."])}},chats:{you:e=>{const{normalize:t}=e;return t(["You:"])},message_user:e=>{const{normalize:t,interpolate:n,named:r}=e;return t(["Message ",n(r("nickname"))])},delete:e=>{const{normalize:t}=e;return t(["Delete"])},chats:e=>{const{normalize:t}=e;return t(["Chats"])},new:e=>{const{normalize:t}=e;return t(["New Chat"])},empty_message_error:e=>{const{normalize:t}=e;return t(["Cannot post empty message"])},more:e=>{const{normalize:t}=e;return t(["More"])},delete_confirm:e=>{const{normalize:t}=e;return t(["Do you really want to delete this message?"])},error_loading_chat:e=>{const{normalize:t}=e;return t(["Something went wrong when loading the chat."])},error_sending_message:e=>{const{normalize:t}=e;return t(["Something went wrong when sending the message."])},empty_chat_list_placeholder:e=>{const{normalize:t}=e;return t(["You don't have any chats yet. Start a new chat!"])}},file_type:{audio:e=>{const{normalize:t}=e;return t(["Audio"])},video:e=>{const{normalize:t}=e;return t(["Video"])},image:e=>{const{normalize:t}=e;return t(["Image"])},file:e=>{const{normalize:t}=e;return t(["File"])}},display_date:{today:e=>{const{normalize:t}=e;return t(["Today"])}}}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){"use strict";n(223)},,function(e,t,n){"use strict";n(225)},function(e,t,n){"use strict";n(226)},function(e,t,n){"use strict";n(227)},function(e,t,n){"use strict";n(228)},function(e,t,n){"use strict";n(229)},function(e,t,n){"use strict";n(230)},function(e,t,n){"use strict";n(231)},function(e,t,n){"use strict";n(232)},function(e,t,n){"use strict";n(233)},function(e,t,n){"use strict";n(234)},function(e,t,n){"use strict";n(235)},,function(e,t,n){"use strict";n(236)},function(e,t,n){"use strict";n(237)},function(e,t,n){"use strict";n(238)},function(e,t,n){"use strict";n(239)},function(e,t,n){},function(e,t,n){"use strict";n(240)},,,,function(e,t,n){"use strict";n(242)},function(e,t,n){"use strict";n(243)},function(e,t,n){"use strict";n(244)},function(e,t,n){"use strict";n(245)},function(e,t,n){"use strict";n(246)},function(e,t,n){"use strict";n(247)},function(e,t,n){"use strict";n(248)},function(e,t,n){"use strict";n(249)},function(e,t,n){"use strict";n(250)},function(e,t,n){"use strict";n(251)},function(e,t,n){"use strict";n(252)},function(e,t,n){"use strict";n(253)},function(e,t,n){"use strict";n(254)},,,,function(e,t,n){"use strict";n(256)},function(e,t,n){"use strict";n(257)},function(e,t,n){"use strict";n(258)},function(e,t,n){"use strict";n(259)},function(e,t,n){"use strict";n(260)},function(e,t,n){"use strict";n(261)},function(e,t,n){"use strict";n(262)},function(e,t,n){"use strict";n(263)},function(e,t,n){"use strict";n(264)},function(e,t,n){"use strict";n(265)},function(e,t,n){"use strict";n(266)},function(e,t,n){"use strict";n(267)},function(e,t,n){"use strict";n(268)},function(e,t,n){"use strict";n(269)},function(e,t,n){"use strict";n(270)},function(e,t,n){"use strict";n(271)},function(e,t,n){"use strict";n(272)},function(e,t,n){"use strict";n(273)},function(e,t,n){"use strict";n(274)},function(e,t,n){"use strict";n(275)},function(e,t,n){"use strict";n(276)},function(e,t,n){"use strict";n(277)},function(e,t,n){"use strict";n(278)},function(e,t,n){"use strict";n(279)},function(e,t,n){"use strict";n(280)},function(e,t,n){"use strict";n(281)},function(e,t,n){"use strict";n(282)},function(e,t,n){"use strict";n(283)},function(e,t,n){"use strict";n(284)},function(e,t,n){"use strict";n(285)},,,function(e,t,n){"use strict";n(287)},function(e,t,n){"use strict";n(288)},function(e,t,n){"use strict";n(289)},function(e,t,n){"use strict";n(290)},function(e,t,n){"use strict";n(291)},function(e,t,n){},function(e,t,n){"use strict";n(292)},function(e,t,n){"use strict";n(293)},function(e,t,n){"use strict";n(294)},function(e,t,n){"use strict";n(295)},function(e,t,n){"use strict";n(296)},function(e,t,n){"use strict";n(297)},function(e,t,n){"use strict";n(298)},function(e,t,n){"use strict";n(299)},function(e,t,n){},function(e,t,n){"use strict";n(302)},function(e,t,n){"use strict";n(303)},,function(e,t,n){"use strict";n(304)},function(e,t,n){"use strict";n(305)},function(e,t,n){"use strict";n(306)},function(e,t,n){"use strict";n(307)},function(e,t,n){"use strict";n(308)},function(e,t,n){"use strict";n(309)},function(e,t,n){"use strict";n.r(t);var r=n(13),i=n.n(r),o=n(10),s=n.n(o),a=n(8),c=(n(348),n(311));try{new EventTarget}catch(e){window.EventTarget=c.a}var l={state:{settingsModalState:"hidden",settingsModalLoaded:!1,settingsModalTargetTab:null,settings:{currentSaveStateNotice:null,noticeClearTimeout:null,notificationPermission:null},browserSupport:{cssFilter:window.CSS&&window.CSS.supports&&(window.CSS.supports("filter","drop-shadow(0 0)")||window.CSS.supports("-webkit-filter","drop-shadow(0 0)"))},layoutType:"normal",globalNotices:[],layoutHeight:0,lastTimeline:null},mutations:{settingsSaved:function(e,t){var n=t.success,r=t.error;n?(e.noticeClearTimeout&&clearTimeout(e.noticeClearTimeout),e.settings.currentSaveStateNotice={error:!1,data:n},e.settings.noticeClearTimeout=setTimeout((function(){return delete e.settings.currentSaveStateNotice}),2e3)):e.settings.currentSaveStateNotice={error:!0,errorData:r}},setNotificationPermission:function(e,t){e.notificationPermission=t},setLayoutType:function(e,t){e.layoutType=t},closeSettingsModal:function(e){e.settingsModalState="hidden"},togglePeekSettingsModal:function(e){switch(e.settingsModalState){case"minimized":return void(e.settingsModalState="visible");case"visible":return void(e.settingsModalState="minimized");default:throw new Error("Illegal minimization state of settings modal")}},openSettingsModal:function(e){e.settingsModalState="visible",e.settingsModalLoaded||(e.settingsModalLoaded=!0)},setSettingsModalTargetTab:function(e,t){e.settingsModalTargetTab=t},pushGlobalNotice:function(e,t){e.globalNotices.push(t)},removeGlobalNotice:function(e,t){e.globalNotices=e.globalNotices.filter((function(e){return e!==t}))},setLayoutHeight:function(e,t){e.layoutHeight=t},setLayoutWidth:function(e,t){e.layoutWidth=t},setLastTimeline:function(e,t){e.lastTimeline=t}},actions:{setPageTitle:function(e){var t=e.rootState,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";document.title="".concat(n," ").concat(t.instance.name)},settingsSaved:function(e,t){var n=e.commit;e.dispatch;n("settingsSaved",{success:t.success,error:t.error})},setNotificationPermission:function(e,t){(0,e.commit)("setNotificationPermission",t)},closeSettingsModal:function(e){(0,e.commit)("closeSettingsModal")},openSettingsModal:function(e){(0,e.commit)("openSettingsModal")},togglePeekSettingsModal:function(e){(0,e.commit)("togglePeekSettingsModal")},clearSettingsModalTargetTab:function(e){(0,e.commit)("setSettingsModalTargetTab",null)},openSettingsModalTab:function(e,t){var n=e.commit;n("setSettingsModalTargetTab",t),n("openSettingsModal")},pushGlobalNotice:function(e,t){var n=e.commit,r=e.dispatch,i=e.state,o=t.messageKey,s=t.messageArgs,a=void 0===s?{}:s,c=t.level,l=void 0===c?"error":c,u=t.timeout,d=void 0===u?0:u;n("pushGlobalNotice",{messageKey:o,messageArgs:a,level:l});var p=i.globalNotices[i.globalNotices.length-1];return d&&setTimeout((function(){return r("removeGlobalNotice",p)}),d),p},removeGlobalNotice:function(e,t){(0,e.commit)("removeGlobalNotice",t)},setLayoutHeight:function(e,t){(0,e.commit)("setLayoutHeight",t)},setLayoutWidth:function(e,t){var n=e.commit,r=e.state,i=e.rootGetters,o=e.rootState,s=t;void 0!==t?n("setLayoutWidth",t):s=r.layoutWidth;var a=s<=800?"mobile":"normal";"none"!==i.mergedConfig.thirdColumnMode&&o.users.currentUser?n("setLayoutType",s>=1300?"wide":a):n("setLayoutType",a)},setLastTimeline:function(e,t){(0,e.commit)("setLastTimeline",t)}}},u=n(12),d=n.n(u),p=n(5),h=n.n(p),b=n(11),m=n.n(b),f=n(43),O=n(54),j=n(15),g=n(121);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function y(e){for(var t=1;tt.name?1:-1})),n("setInstanceOption",{name:"emoji",value:o}),t.next=14;break;case 13:throw r;case 14:t.next=20;break;case 16:t.prev=16,t.t0=t.catch(1),console.warn("Can't load static emoji"),console.warn(t.t0);case 20:case"end":return t.stop()}}),t,null,[[1,16]])})))()},getCustomEmoji:function(e){return i()(s.a.mark((function t(){var n,r,i,o,a,c;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.commit,r=e.state,t.prev=1,t.next=4,window.fetch("/api/pleroma/emoji.json");case 4:if(!(i=t.sent).ok){t.next=14;break}return t.next=8,i.json();case 8:o=t.sent,a=Array.isArray(o)?Object.assign.apply(Object,[{}].concat(d()(o))):o,c=Object.entries(a).map((function(e){var t=m()(e,2),n=t[0],i=t[1],o=i.image_url;return{displayText:n,imageUrl:o?r.server+o:i,tags:o?i.tags.sort((function(e,t){return e>t?1:0})):["utf"],replacement:":".concat(n,": ")}})).sort((function(e,t){return e.displayText.toLowerCase()>t.displayText.toLowerCase()?1:-1})),n("setInstanceOption",{name:"customEmoji",value:c}),t.next=15;break;case 14:throw i;case 15:t.next=21;break;case 17:t.prev=17,t.t0=t.catch(1),console.warn("Can't load custom emojis"),console.warn(t.t0);case 21:case"end":return t.stop()}}),t,null,[[1,17]])})))()},setTheme:function(e,t){var n=e.commit,r=e.rootState;n("setInstanceOption",{name:"theme",value:t}),Object(f.j)(t).then((function(e){if(n("setInstanceOption",{name:"themeData",value:e}),!r.config.customTheme){var t=e.source;!e.theme||t&&t.themeEngineVersion===O.a?Object(f.b)(t):Object(f.b)(e.theme)}}))},fetchEmoji:function(e){var t=e.dispatch,n=e.state;n.customEmojiFetched||(n.customEmojiFetched=!0,t("getCustomEmoji")),n.emojiFetched||(n.emojiFetched=!0,t("getStaticEmoji"))},getKnownDomains:function(e){return i()(s.a.mark((function t(){var n,r,i;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.commit,r=e.rootState,t.prev=1,t.next=4,j.c.fetchKnownDomains({credentials:r.users.currentUser.credentials});case 4:i=t.sent,n("setKnownDomains",i),t.next=12;break;case 8:t.prev=8,t.t0=t.catch(1),console.warn("Can't load known domains"),console.warn(t.t0);case 12:case"end":return t.stop()}}),t,null,[[1,8]])})))()}}},k=n(131),_=n.n(k),S=n(19),C=n.n(S),P=n(46),x=n.n(P),D=n(318),T=n.n(D),I=n(122),$=n.n(I),z=n(132),M=n.n(z),U=n(133),F=n.n(U),E=n(30),L=n.n(E),R=n(60),A=n.n(R),N=n(29),B=n.n(N),V=n(319),H=n.n(V),q=n(61),J=n.n(q),W=n(26);function Y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function G(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:0;return{statuses:[],statusesObject:{},faves:[],visibleStatuses:[],visibleStatusesObject:{},newStatusCount:0,maxId:0,minId:0,minVisibleId:0,loading:!1,followers:[],friends:[],userId:e,flushMarker:0}},X=function(){return{desktopNotificationSilence:!0,maxId:0,minId:Number.POSITIVE_INFINITY,data:[],idStore:{},loading:!1}},Z=function(){return{allStatuses:[],allStatusesObject:{},conversationsObject:{},maxId:0,notifications:X(),favorites:new Set,timelines:{mentions:K(),public:K(),user:K(),favorites:K(),media:K(),publicAndExternal:K(),friends:K(),tag:K(),dms:K(),bookmarks:K()}}},Q=function(e,t,n){var r=t[n.id];return r?($()(r,_()(n,(function(e,t){return null===e||"user"===t}))),r.attachments.splice(r.attachments.length),{item:r,new:!1}):(function(e){e.deleted=!1,e.attachments=e.attachments||[]}(n),e.push(n),t[n.id]=n,{item:n,new:!0})},ee=function(e,t){var n=Number(e.id),r=Number(t.id),i=!Number.isNaN(n),o=!Number.isNaN(r);return i&&o?n>r?-1:1:i&&!o?1:!i&&o||e.id>t.id?-1:1},te=function(e){return e.visibleStatuses=e.visibleStatuses.sort(ee),e.statuses=e.statuses.sort(ee),e.minVisibleId=(x()(e.visibleStatuses)||{}).id,e},ne=function(e,t){var n=Q(e.allStatuses,e.allStatusesObject,t);if(n.new){var r=n.item,i=e.conversationsObject,o=r.statusnet_conversation_id;i[o]?i[o].push(r):i[o]=[r]}return n},re=function(e,t){e.notifications.maxId=t.id>e.notifications.maxId?t.id:e.notifications.maxId,e.notifications.minId=t.id0?M()(n,"id").id:0),f=p.minId||(n.length>0?F()(n,"id").id:0),O=o&&(f>b.maxId||0===b.maxId)&&n.length>0,j=o&&(m0;if(!l&&O&&(b.maxId=f),!l&&j&&(b.minId=m),"user"!==o&&"media"!==o||b.userId===u){var g=function(t,n){var r,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=ne(e,t),c=s.item;if(s.new){if("status"===c.type&&L()(c.attentions,{id:a.id})){var l=e.timelines.mentions;b!==l&&(Q(l.statuses,l.statusesObject,c),l.newStatusCount+=1,te(l))}if("direct"===c.visibility){var u=e.timelines.dms;Q(u.statuses,u.statusesObject,c),u.newStatusCount+=1,te(u)}}return o&&i&&(r=Q(b.statuses,b.statusesObject,c)),o&&n?Q(b.visibleStatuses,b.visibleStatusesObject,c):o&&i&&r.new&&(b.newStatusCount+=1),c},v={status:function(e){g(e,i)},retweet:function(e){var t,n=g(e.retweeted_status,!1,!1);t=o&&L()(b.statuses,(function(e){return e.retweeted_status?e.id===n.id||e.retweeted_status.id===n.id:e.id===n.id}))?g(e,!1,!1):g(e,i),t.retweeted_status=n},favorite:function(t){e.favorites.has(t.id)||(e.favorites.add(t.id),function(e,t){var n=L()(h,{id:e.in_reply_to_status_id});n&&(e.user.id===a.id?n.favorited=!0:n.fave_num+=1)}(t))},deletion:function(t){var n=t.uri,r=L()(h,{uri:n});r&&(!function(e,t){J()(e.allStatuses,{id:t.id}),J()(e.notifications.data,(function(e){return e.action.id===t.id}));var n=t.statusnet_conversation_id;e.conversationsObject[n]&&J()(e.conversationsObject[n],{id:t.id})}(e,r),o&&(J()(b.statuses,{uri:n}),J()(b.visibleStatuses,{uri:n})))},follow:function(e){},default:function(e){console.log("unknown status type"),console.log(e)}};B()(n,(function(e){var t=e.type;(v[t]||v.default)(e)})),o&&"bookmarks"!==o&&te(b)}},addNewNotifications:function(e,t){var n=t.dispatch,r=t.notifications,i=(t.older,t.visibleNotificationTypes,t.rootGetters,t.newNotificationSideEffects);B()(r,(function(t){if(!Object(W.c)(t))return console.error("Invalid notification:",t),void re(e,t);Object(W.b)(t.type)&&(t.action=ne(e,t.action).item,t.status=t.status&&ne(e,t.status).item),"pleroma:emoji_reaction"===t.type&&n("fetchEmojiReactionsBy",t.status.id),e.notifications.idStore.hasOwnProperty(t.id)?t.seen&&(e.notifications.idStore[t.id].seen=!0):(re(e,t),e.notifications.data.push(t),e.notifications.idStore[t.id]=t,i(t))}))},removeStatus:function(e,t){var n=t.timeline,r=t.userId,i=e.timelines[n];r&&(J()(i.statuses,{user:{id:r}}),J()(i.visibleStatuses,{user:{id:r}}),i.minVisibleId=i.visibleStatuses.length>0?x()(i.visibleStatuses).id:0,i.maxId=i.statuses.length>0?T()(i.statuses).id:0)},showNewStatuses:function(e,t){var n=t.timeline,r=e.timelines[n];r.newStatusCount=0,r.visibleStatuses=H()(r.statuses,0,50),r.minVisibleId=x()(r.visibleStatuses).id,r.minId=r.minVisibleId,r.visibleStatusesObject={},B()(r.visibleStatuses,(function(e){r.visibleStatusesObject[e.id]=e}))},resetStatuses:function(e){var t=Z();Object.entries(t).forEach((function(t){var n=m()(t,2),r=n[0],i=n[1];e[r]=i}))},clearTimeline:function(e,t){var n=t.timeline,r=t.excludeUserId,i=void 0!==r&&r?e.timelines[n].userId:void 0;e.timelines[n]=K(i)},clearNotifications:function(e){e.notifications=X()},setFavorited:function(e,t){var n=t.status,r=t.value,i=e.allStatusesObject[n.id];i.favorited!==r&&(r?i.fave_num++:i.fave_num--),i.favorited=r},setFavoritedConfirm:function(e,t){var n=t.status,r=t.user,i=e.allStatusesObject[n.id];i.favorited=n.favorited,i.fave_num=n.fave_num;var o=A()(i.favoritedBy,{id:r.id});-1===o||i.favorited?-1===o&&i.favorited&&i.favoritedBy.push(r):i.favoritedBy.splice(o,1)},setMutedStatus:function(e,t){var n=e.allStatusesObject[t.id];n.thread_muted=t.thread_muted,void 0!==n.thread_muted&&e.conversationsObject[n.statusnet_conversation_id].forEach((function(e){e.thread_muted=n.thread_muted}))},setRetweeted:function(e,t){var n=t.status,r=t.value,i=e.allStatusesObject[n.id];i.repeated!==r&&(r?i.repeat_num++:i.repeat_num--),i.repeated=r},setRetweetedConfirm:function(e,t){var n=t.status,r=t.user,i=e.allStatusesObject[n.id];i.repeated=n.repeated,i.repeat_num=n.repeat_num;var o=A()(i.rebloggedBy,{id:r.id});-1===o||i.repeated?-1===o&&i.repeated&&i.rebloggedBy.push(r):i.rebloggedBy.splice(o,1)},setBookmarked:function(e,t){var n=t.status,r=t.value;e.allStatusesObject[n.id].bookmarked=r},setBookmarkedConfirm:function(e,t){var n=t.status;e.allStatusesObject[n.id].bookmarked=n.bookmarked},setDeleted:function(e,t){var n=t.status,r=e.allStatusesObject[n.id];r&&(r.deleted=!0)},setManyDeleted:function(e,t){Object.values(e.allStatusesObject).forEach((function(e){t(e)&&(e.deleted=!0)}))},setLoading:function(e,t){var n=t.timeline,r=t.value;e.timelines[n].loading=r},setNsfw:function(e,t){var n=t.id,r=t.nsfw;e.allStatusesObject[n].nsfw=r},setNotificationsLoading:function(e,t){var n=t.value;e.notifications.loading=n},setNotificationsSilence:function(e,t){var n=t.value;e.notifications.desktopNotificationSilence=n},markNotificationsAsSeen:function(e){B()(e.notifications.data,(function(e){e.seen=!0}))},markSingleNotificationAsSeen:function(e,t){var n=t.id,r=L()(e.notifications.data,(function(e){return e.id===n}));r&&(r.seen=!0)},dismissNotification:function(e,t){var n=t.id;e.notifications.data=e.notifications.data.filter((function(e){return e.id!==n}))},dismissNotifications:function(e,t){var n=t.finder;e.notifications.data=e.notifications.data.filter((function(e){return n}))},updateNotification:function(e,t){var n=t.id,r=t.updater,i=L()(e.notifications.data,(function(e){return e.id===n}));i&&r(i)},queueFlush:function(e,t){var n=t.timeline,r=t.id;e.timelines[n].flushMarker=r},queueFlushAll:function(e){Object.keys(e.timelines).forEach((function(t){e.timelines[t].flushMarker=e.timelines[t].maxId}))},addRepeats:function(e,t){var n=t.id,r=t.rebloggedByUsers,i=t.currentUser,o=e.allStatusesObject[n];o.rebloggedBy=r.filter((function(e){return e})),o.repeat_num=o.rebloggedBy.length,o.repeated=!!o.rebloggedBy.find((function(e){var t=e.id;return i.id===t}))},addFavs:function(e,t){var n=t.id,r=t.favoritedByUsers,i=t.currentUser,o=e.allStatusesObject[n];o.favoritedBy=r.filter((function(e){return e})),o.fave_num=o.favoritedBy.length,o.favorited=!!o.favoritedBy.find((function(e){var t=e.id;return i.id===t}))},addEmojiReactionsBy:function(e,t){var n=t.id,r=t.emojiReactions;t.currentUser;e.allStatusesObject[n].emoji_reactions=r},addOwnReaction:function(e,t){var n=t.id,r=t.emoji,i=t.currentUser,o=e.allStatusesObject[n],s=A()(o.emoji_reactions,{name:r}),a=o.emoji_reactions[s]||{name:r,count:0,accounts:[]},c=G(G({},a),{},{count:a.count+1,me:!0,accounts:[].concat(d()(a.accounts),[i])});s>=0?o.emoji_reactions[s]=c:o.emoji_reactions=[].concat(d()(o.emoji_reactions),[c])},removeOwnReaction:function(e,t){var n=t.id,r=t.emoji,i=t.currentUser,o=e.allStatusesObject[n],s=A()(o.emoji_reactions,{name:r});if(!(s<0)){var a=o.emoji_reactions[s],c=a.accounts||[],l=G(G({},a),{},{count:a.count-1,me:!1,accounts:c.filter((function(e){return e.id!==i.id}))});l.count>0?o.emoji_reactions[s]=l:o.emoji_reactions=o.emoji_reactions.filter((function(e){return e.name!==r}))}},updateStatusWithPoll:function(e,t){var n=t.id,r=t.poll;e.allStatusesObject[n].poll=r},setVirtualHeight:function(e,t){var n=t.statusId,r=t.height;e.allStatusesObject[n].virtualHeight=r}},oe={state:Z(),actions:{addNewStatuses:function(e,t){var n=e.rootState,r=e.commit,i=t.statuses,o=t.showImmediately,s=void 0!==o&&o,a=t.timeline,c=void 0!==a&&a,l=t.noIdUpdate,u=void 0!==l&&l,d=t.userId,p=t.pagination;r("addNewStatuses",{statuses:i,showImmediately:s,timeline:c,noIdUpdate:u,user:n.users.currentUser,userId:d,pagination:p})},addNewNotifications:function(e,t){var n=t.notifications,r=t.older;(0,e.commit)("addNewNotifications",{dispatch:e.dispatch,notifications:n,older:r,rootGetters:e.rootGetters,newNotificationSideEffects:function(t){Object(W.d)(e,t)}})},setNotificationsLoading:function(e,t){e.rootState;(0,e.commit)("setNotificationsLoading",{value:t.value})},setNotificationsSilence:function(e,t){e.rootState;(0,e.commit)("setNotificationsSilence",{value:t.value})},fetchStatus:function(e,t){var n=e.rootState,r=e.dispatch;return n.api.backendInteractor.fetchStatus({id:t}).then((function(e){return r("addNewStatuses",{statuses:[e]})}))},deleteStatus:function(e,t){var n=e.rootState;(0,e.commit)("setDeleted",{status:t}),j.c.deleteStatus({id:t.id,credentials:n.users.currentUser.credentials})},deleteStatusById:function(e,t){var n=e.rootState;(0,e.commit)("setDeleted",{status:n.statuses.allStatusesObject[t]})},markStatusesAsDeleted:function(e,t){(0,e.commit)("setManyDeleted",t)},favorite:function(e,t){var n=e.rootState,r=e.commit;r("setFavorited",{status:t,value:!0}),n.api.backendInteractor.favorite({id:t.id}).then((function(e){return r("setFavoritedConfirm",{status:e,user:n.users.currentUser})}))},unfavorite:function(e,t){var n=e.rootState,r=e.commit;r("setFavorited",{status:t,value:!1}),n.api.backendInteractor.unfavorite({id:t.id}).then((function(e){return r("setFavoritedConfirm",{status:e,user:n.users.currentUser})}))},fetchPinnedStatuses:function(e,t){var n=e.rootState,r=e.dispatch;n.api.backendInteractor.fetchPinnedStatuses({id:t}).then((function(e){return r("addNewStatuses",{statuses:e,timeline:"user",userId:t,showImmediately:!0,noIdUpdate:!0})}))},pinStatus:function(e,t){var n=e.rootState,r=e.dispatch;return n.api.backendInteractor.pinOwnStatus({id:t}).then((function(e){return r("addNewStatuses",{statuses:[e]})}))},unpinStatus:function(e,t){var n=e.rootState,r=e.dispatch;n.api.backendInteractor.unpinOwnStatus({id:t}).then((function(e){return r("addNewStatuses",{statuses:[e]})}))},muteConversation:function(e,t){var n=e.rootState,r=e.commit;return n.api.backendInteractor.muteConversation({id:t}).then((function(e){return r("setMutedStatus",e)}))},unmuteConversation:function(e,t){var n=e.rootState,r=e.commit;return n.api.backendInteractor.unmuteConversation({id:t}).then((function(e){return r("setMutedStatus",e)}))},retweet:function(e,t){var n=e.rootState,r=e.commit;r("setRetweeted",{status:t,value:!0}),n.api.backendInteractor.retweet({id:t.id}).then((function(e){return r("setRetweetedConfirm",{status:e.retweeted_status,user:n.users.currentUser})}))},unretweet:function(e,t){var n=e.rootState,r=e.commit;r("setRetweeted",{status:t,value:!1}),n.api.backendInteractor.unretweet({id:t.id}).then((function(e){return r("setRetweetedConfirm",{status:e,user:n.users.currentUser})}))},bookmark:function(e,t){var n=e.rootState,r=e.commit;r("setBookmarked",{status:t,value:!0}),n.api.backendInteractor.bookmarkStatus({id:t.id}).then((function(e){r("setBookmarkedConfirm",{status:e})}))},unbookmark:function(e,t){var n=e.rootState,r=e.commit;r("setBookmarked",{status:t,value:!1}),n.api.backendInteractor.unbookmarkStatus({id:t.id}).then((function(e){r("setBookmarkedConfirm",{status:e})}))},queueFlush:function(e,t){e.rootState;(0,e.commit)("queueFlush",{timeline:t.timeline,id:t.id})},queueFlushAll:function(e){e.rootState;(0,e.commit)("queueFlushAll")},markNotificationsAsSeen:function(e){var t=e.rootState;(0,e.commit)("markNotificationsAsSeen"),j.c.markNotificationsAsSeen({id:t.statuses.notifications.maxId,credentials:t.users.currentUser.credentials})},markSingleNotificationAsSeen:function(e,t){var n=e.rootState,r=e.commit,i=t.id;r("markSingleNotificationAsSeen",{id:i}),j.c.markNotificationsAsSeen({single:!0,id:i,credentials:n.users.currentUser.credentials})},dismissNotificationLocal:function(e,t){e.rootState;(0,e.commit)("dismissNotification",{id:t.id})},dismissNotification:function(e,t){var n=e.rootState,r=e.commit,i=t.id;r("dismissNotification",{id:i}),n.api.backendInteractor.dismissNotification({id:i})},updateNotification:function(e,t){e.rootState;(0,e.commit)("updateNotification",{id:t.id,updater:t.updater})},fetchFavsAndRepeats:function(e,t){var n=e.rootState,r=e.commit;Promise.all([n.api.backendInteractor.fetchFavoritedByUsers({id:t}),n.api.backendInteractor.fetchRebloggedByUsers({id:t})]).then((function(e){var i=m()(e,2),o=i[0],s=i[1];r("addFavs",{id:t,favoritedByUsers:o,currentUser:n.users.currentUser}),r("addRepeats",{id:t,rebloggedByUsers:s,currentUser:n.users.currentUser})}))},reactWithEmoji:function(e,t){var n=e.rootState,r=e.dispatch,i=e.commit,o=t.id,s=t.emoji,a=n.users.currentUser;a&&(i("addOwnReaction",{id:o,emoji:s,currentUser:a}),n.api.backendInteractor.reactWithEmoji({id:o,emoji:s}).then((function(e){r("fetchEmojiReactionsBy",o)})))},unreactWithEmoji:function(e,t){var n=e.rootState,r=e.dispatch,i=e.commit,o=t.id,s=t.emoji,a=n.users.currentUser;a&&(i("removeOwnReaction",{id:o,emoji:s,currentUser:a}),n.api.backendInteractor.unreactWithEmoji({id:o,emoji:s}).then((function(e){r("fetchEmojiReactionsBy",o)})))},fetchEmojiReactionsBy:function(e,t){var n=e.rootState,r=e.commit;n.api.backendInteractor.fetchEmojiReactions({id:t}).then((function(e){r("addEmojiReactionsBy",{id:t,emojiReactions:e,currentUser:n.users.currentUser})}))},fetchFavs:function(e,t){var n=e.rootState,r=e.commit;n.api.backendInteractor.fetchFavoritedByUsers({id:t}).then((function(e){return r("addFavs",{id:t,favoritedByUsers:e,currentUser:n.users.currentUser})}))},fetchRepeats:function(e,t){var n=e.rootState,r=e.commit;n.api.backendInteractor.fetchRebloggedByUsers({id:t}).then((function(e){return r("addRepeats",{id:t,rebloggedByUsers:e,currentUser:n.users.currentUser})}))},search:function(e,t){var n=t.q,r=t.resolve,i=t.limit,o=t.offset,s=t.following;return e.rootState.api.backendInteractor.search2({q:n,resolve:r,limit:i,offset:o,following:s}).then((function(t){return e.commit("addNewUsers",t.accounts),e.commit("addNewStatuses",{statuses:t.statuses}),t}))},setVirtualHeight:function(e,t){(0,e.commit)("setVirtualHeight",{statusId:t.statusId,height:t.height})}},mutations:ie},se=n(98),ae=n.n(se),ce=n(97),le=n.n(ce),ue=n(145),de=n.n(ue),pe=n(21),he=n.n(pe),be=n(168),me=n.n(be),fe=n(146),Oe=n.n(fe),je=n(44),ge=function(e){var t=e.store,n=e.credentials,r=e.timeline,i=void 0===r?"friends":r,o=e.older,s=void 0!==o&&o,a=e.showImmediately,c=void 0!==a&&a,l=e.userId,u=void 0!==l&&l,d=e.tag,p=void 0!==d&&d,h=e.until,b=e.since,m={timeline:i,credentials:n},f=t.rootState||t.state,O=t.getters,g=f.statuses.timelines[Oe()(i)],v=O.mergedConfig,y=v.hideMutedPosts,w=v.replyVisibility,k=!!f.users.currentUser;s?m.until=h||g.minId:void 0===b?m.since=g.maxId:null!==b&&(m.since=b),m.userId=u,m.tag=p,m.withMuted=!y,k&&["friends","public","publicAndExternal"].includes(i)&&(m.replyVisibility=w);var _=g.statuses.length;return j.c.fetchTimeline(m).then((function(e){if(e.errors)throw new Error("".concat(e.status," ").concat(e.statusText));var n=e.data,r=e.pagination;return!s&&n.length>=20&&!g.loading&&_>0&&t.dispatch("queueFlush",{timeline:i,id:g.maxId}),function(e){var t=e.store,n=e.statuses,r=e.timeline,i=e.showImmediately,o=e.userId,s=e.pagination,a=Oe()(r);t.dispatch("addNewStatuses",{timeline:a,userId:o,statuses:n,showImmediately:i,pagination:s})}({store:t,statuses:n,timeline:i,showImmediately:c,userId:u,pagination:r}),{statuses:n,pagination:r}})).catch((function(e){t.dispatch("pushGlobalNotice",{level:"error",messageKey:"timeline.error",messageArgs:[e.message],timeout:5e3})}))},ve={fetchAndUpdate:ge,startFetching:function(e){var t=e.timeline,n=void 0===t?"friends":t,r=e.credentials,i=e.store,o=e.userId,s=void 0!==o&&o,a=e.tag,c=void 0!==a&&a,l=(i.rootState||i.state).statuses.timelines[Oe()(n)],u=0===l.visibleStatuses.length;l.userId=s,ge({timeline:n,credentials:r,store:i,showImmediately:u,userId:s,tag:c});return Object(je.a)((function(){return ge({timeline:n,credentials:r,store:i,userId:s,tag:c})}),2e4)}},ye=n(99),we={startFetching:function(e){var t=e.credentials,n=e.store,r=function(){return function(e){var t=e.store,n=e.credentials;return j.c.fetchFollowRequests({credentials:n}).then((function(e){t.commit("setFollowRequests",e),t.commit("addNewUsers",e)}),(function(){})).catch((function(){}))}({credentials:t,store:n})};return r(),Object(je.a)(r,24e4)}};function ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _e(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:[];return Promise.all(t.map((function(t){return Ve(e,t)})))},unblockUsers:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return Promise.all(t.map((function(t){return He(e,t)})))},fetchMutes:function(e){return e.rootState.api.backendInteractor.fetchMutes().then((function(t){return e.commit("saveMuteIds",he()(t,"id")),e.commit("addNewUsers",t),t}))},muteUser:function(e,t){return qe(e,t)},unmuteUser:function(e,t){return Je(e,t)},hideReblogs:function(e,t){return function(e,t){return e.rootState.api.backendInteractor.followUser({id:t,reblogs:!1}).then((function(t){e.commit("updateUserRelationship",[t])}))}(e,t)},showReblogs:function(e,t){return function(e,t){return e.rootState.api.backendInteractor.followUser({id:t,reblogs:!0}).then((function(t){return e.commit("updateUserRelationship",[t])}))}(e,t)},muteUsers:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return Promise.all(t.map((function(t){return qe(e,t)})))},unmuteUsers:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return Promise.all(t.map((function(t){return Je(e,t)})))},fetchMascot:function(e){return function(e){return e.rootState.api.backendInteractor.fetchMascot().then((function(t){var n=t.url;return e.commit("updateMascot",n)}))}(e)},fetchDomainMutes:function(e){return e.rootState.api.backendInteractor.fetchDomainMutes().then((function(t){return e.commit("saveDomainMutes",t),t}))},muteDomain:function(e,t){return We(e,t)},unmuteDomain:function(e,t){return Ye(e,t)},muteDomains:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return Promise.all(t.map((function(t){return We(e,t)})))},unmuteDomains:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return Promise.all(t.map((function(t){return Ye(e,t)})))},fetchFriends:function(e,t){var n=e.rootState,r=e.commit,i=n.users.usersObject[t],o=x()(i.friendIds);return n.api.backendInteractor.fetchFriends({id:t,maxId:o}).then((function(e){return r("addNewUsers",e),r("saveFriendIds",{id:t,friendIds:he()(e,"id")}),e}))},fetchFollowers:function(e,t){var n=e.rootState,r=e.commit,i=n.users.usersObject[t],o=x()(i.followerIds);return n.api.backendInteractor.fetchFollowers({id:t,maxId:o}).then((function(e){return r("addNewUsers",e),r("saveFollowerIds",{id:t,followerIds:he()(e,"id")}),e}))},clearFriends:function(e,t){(0,e.commit)("clearFriends",t)},clearFollowers:function(e,t){(0,e.commit)("clearFollowers",t)},subscribeUser:function(e,t){var n=e.rootState,r=e.commit;return n.api.backendInteractor.subscribeUser({id:t}).then((function(e){return r("updateUserRelationship",[e])}))},unsubscribeUser:function(e,t){var n=e.rootState,r=e.commit;return n.api.backendInteractor.unsubscribeUser({id:t}).then((function(e){return r("updateUserRelationship",[e])}))},toggleActivationStatus:function(e,t){var n=e.rootState,r=e.commit,i=t.user;(i.deactivated?n.api.backendInteractor.activateUser:n.api.backendInteractor.deactivateUser)({user:i}).then((function(e){var t=!e.is_active;r("updateActivationStatus",{user:e,deactivated:t})}))},registerPushNotifications:function(e){var t=e.state.currentUser.credentials,n=e.rootState.instance.vapidPublicKey;Re(e.rootState.config.webPushNotifications,n,t,e.rootState.config.notificationVisibility)},unregisterPushNotifications:function(e){!function(e){Fe()&&Promise.all([Le(e),Ee().then((function(e){return function(e){return e.pushManager.getSubscription().then((function(e){if(null!==e)return e.unsubscribe()}))}(e).then((function(t){return[e,t]}))})).then((function(e){var t=m()(e,2),n=t[0];return t[1]||console.warn("Push subscription cancellation wasn't successful, killing SW anyway..."),n.unregister().then((function(e){e||console.warn("Failed to kill SW")}))}))]).catch((function(e){return console.warn("Failed to disable Web Push Notifications: ".concat(e.message))}))}(e.state.currentUser.credentials)},addNewUsers:function(e,t){(0,e.commit)("addNewUsers",t)},addNewStatuses:function(e,t){var n=t.statuses,r=he()(n,"user"),i=me()(he()(n,"retweeted_status.user"));e.commit("addNewUsers",r),e.commit("addNewUsers",i),B()(n,(function(t){e.commit("setUserForStatus",t),e.commit("setPinnedToUser",t)})),B()(me()(he()(n,"retweeted_status")),(function(t){e.commit("setUserForStatus",t),e.commit("setPinnedToUser",t)}))},addNewNotifications:function(e,t){var n=t.notifications,r=he()(n,"from_profile"),i=he()(n,"target").filter((function(e){return e})),o=n.map((function(e){return e.id}));e.commit("addNewUsers",r),e.commit("addNewUsers",i);var s=e.rootState.statuses.notifications.idStore,a=Object.entries(s).filter((function(e){var t=m()(e,2),n=t[0];t[1];return o.includes(n)})).map((function(e){var t=m()(e,2);t[0];return t[1]}));B()(a,(function(t){e.commit("setUserForNotification",t)}))},searchUsers:function(e,t){var n=e.rootState,r=e.commit,i=t.query;return n.api.backendInteractor.searchUsers({query:i}).then((function(e){return r("addNewUsers",e),e}))},signUp:function(e,t){return i()(s.a.mark((function n(){var r,i,o;return s.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.commit("signUpPending"),r=e.rootState,n.prev=2,n.next=5,r.api.backendInteractor.register({params:Ne({},t)});case 5:i=n.sent,e.commit("signUpSuccess"),e.commit("setToken",i.access_token),e.dispatch("loginUser",i.access_token),n.next=16;break;case 11:throw n.prev=11,n.t0=n.catch(2),o=n.t0.message,e.commit("signUpFailure",o),n.t0;case 16:case"end":return n.stop()}}),n,null,[[2,11]])})))()},getCaptcha:function(e){return i()(s.a.mark((function t(){return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",e.rootState.api.backendInteractor.getCaptcha());case 1:case"end":return t.stop()}}),t)})))()},logout:function(e){var t=e.rootState,n=t.oauth,r=t.instance,i=Ne(Ne({},n),{},{commit:e.commit,instance:r.server});return ze.getOrCreateApp(i).then((function(e){var t={app:e,instance:i.instance,token:n.userToken};return ze.revokeToken(t)})).then((function(){e.commit("clearCurrentUser"),e.dispatch("disconnectFromSocket"),e.commit("clearToken"),e.dispatch("stopFetchingTimeline","friends"),e.commit("setBackendInteractor",Se(e.getters.getToken())),e.dispatch("stopFetchingNotifications"),e.dispatch("stopFetchingFollowRequests"),e.commit("clearNotifications"),e.commit("resetStatuses"),e.dispatch("resetChats"),e.dispatch("setLastTimeline","public-timeline"),e.dispatch("setLayoutWidth",Ce()),e.dispatch("setLayoutHeight",Pe())}))},loginUser:function(e,t){return new Promise((function(n,r){var i=e.commit;i("beginLogin"),e.rootState.api.backendInteractor.verifyCredentials(t).then((function(o){if(o.error){var s=o.error;i("endLogin"),401===s.status?r(new Error("Wrong username or password")):r(new Error("An error occurred, please try again"))}else{var a=o;a.credentials=t,a.blockIds=[],a.muteIds=[],a.domainMutes=[],i("setCurrentUser",a),i("addNewUsers",[a]),e.dispatch("fetchEmoji"),(c=window.Notification,c?"default"===c.permission?c.requestPermission():Promise.resolve(c.permission):Promise.resolve(null)).then((function(e){return i("setNotificationPermission",e)})),i("setBackendInteractor",Se(t)),a.token&&(e.dispatch("setWsToken",a.token),e.dispatch("initializeSocket"));e.getters.mergedConfig.useStreamingApi?(e.dispatch("fetchTimeline","friends",{since:null}),e.dispatch("fetchNotifications",{since:null}),e.dispatch("enableMastoSockets",!0).catch((function(e){console.error("Failed initializing MastoAPI Streaming socket",e)})).then((function(){e.dispatch("fetchChats",{latest:!0}),setTimeout((function(){return e.dispatch("setNotificationsSilence",!1)}),1e4)}))):(e.dispatch("startFetchingTimeline",{timeline:"friends"}),e.dispatch("startFetchingNotifications"),e.dispatch("startFetchingChats")),e.dispatch("fetchMutes"),e.dispatch("setLayoutWidth",Ce()),e.dispatch("setLayoutHeight",Pe()),e.rootState.api.backendInteractor.fetchFriends({id:a.id}).then((function(e){return i("addNewUsers",e)}))}var c;i("endLogin"),n()})).catch((function(e){console.log(e),i("endLogin"),r(new Error("Failed to connect to server, try again"))}))}))}}},Ke=n(169),Xe=n.n(Ke),Ze=n(127),Qe=function(e,t){if(t.lastMessage&&(e.rootState.chats.currentChatId!==t.id||document.hidden)&&e.rootState.users.currentUser.id!==t.lastMessage.account_id){var n={tag:t.lastMessage.id,title:t.account.name,icon:t.account.profile_image_url,body:t.lastMessage.content};t.lastMessage.attachment&&"image"===t.lastMessage.attachment.type&&(n.image=t.lastMessage.attachment.preview_url),Object(Ze.a)(e.rootState,n)}},et=n(321);function tt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function nt(e){for(var t=1;tDate.parse(t.expires_at),e.pollsObject[t.id]=n?$()(n,t):t},trackPoll:function(e,t){var n=e.trackedPolls[t];e.trackedPolls[t]=n?n+1:1},untrackPoll:function(e,t){var n=e.trackedPolls[t];e.trackedPolls[t]=n?n-1:0}},actions:{mergeOrAddPoll:function(e,t){(0,e.commit)("mergeOrAddPoll",t)},updateTrackedPoll:function(e,t){var n=e.rootState,r=e.dispatch,i=e.commit;n.api.backendInteractor.fetchPoll({pollId:t}).then((function(e){setTimeout((function(){n.polls.trackedPolls[t]&&r("updateTrackedPoll",t)}),3e4),i("mergeOrAddPoll",e)}))},trackPoll:function(e,t){var n=e.rootState,r=e.commit,i=e.dispatch;n.polls.trackedPolls[t]||setTimeout((function(){return i("updateTrackedPoll",t)}),3e4),r("trackPoll",t)},untrackPoll:function(e,t){(0,e.commit)("untrackPoll",t)},votePoll:function(e,t){var n=e.rootState,r=e.commit,i=(t.id,t.pollId),o=t.choices;return n.api.backendInteractor.vote({pollId:i,choices:o}).then((function(e){return r("mergeOrAddPoll",e),e}))}}},Ot={state:{params:null,modalActivated:!1},mutations:{openPostStatusModal:function(e,t){e.params=t,e.modalActivated=!0},closePostStatusModal:function(e){e.modalActivated=!1}},actions:{openPostStatusModal:function(e,t){(0,e.commit)("openPostStatusModal",t)},closePostStatusModal:function(e){(0,e.commit)("closePostStatusModal")}}},jt=n(134),gt=n.n(jt),vt=n(100),yt=n.n(vt),wt=n(0),kt=n(28),_t=n.n(kt),St=n(322),Ct=n.n(St),Pt=n(125),xt=n.n(Pt);function Dt(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return Tt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Tt(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,s=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return s=e.done,e},e:function(e){a=!0,o=e},f:function(){try{s||null==n.return||n.return()}finally{if(a)throw o}}}}function Tt(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.maxId)&&i&&(e.maxId=r.id),e.idIndex[r.id]||It(e,r)||(e.lastSeenMessageId0&&void 0!==arguments[0]?arguments[0]:{},t=e.key,n=void 0===t?"vuex-lz":t,r=e.paths,i=void 0===r?[]:r,o=e.getState,s=void 0===o?function(e,t){return t.getItem(e)}:o,a=e.setState,c=void 0===a?function(e,t,n){return Gt?n.setItem(e,t):(console.log("waiting for old state to be loaded..."),Promise.resolve())}:a,l=e.reducer,u=void 0===l?Kt:l,d=e.storage,p=void 0===d?Zt:d,h=e.subscriber,b=void 0===h?function(e){return function(t){return e.subscribe(t)}}:h;return s(n,p).then((function(e){return function(t){try{if(null!==e&&"object"===_t()(e)){var r=e.users||{};r.usersObject={};var o=r.users||[];B()(o,(function(e){r.usersObject[e.id]=e})),e.users=r,t.replaceState(Wt()({},t.state,e))}Gt=!0}catch(e){console.log("Couldn't load state"),console.error(e),Gt=!0}b(t)((function(e,r){try{Xt.includes(e.type)&&c(n,u(Nt()(r),i),p).then((function(n){void 0!==n&&("setOption"!==e.type&&"setCurrentUser"!==e.type||t.dispatch("settingsSaved",{success:n}))}),(function(n){"setOption"!==e.type&&"setCurrentUser"!==e.type||t.dispatch("settingsSaved",{error:n})}))}catch(e){console.log("Couldn't persist state:"),console.log(e)}}))}}))}var en=function(e){e.subscribe((function(t,n){var r=n.instance.vapidPublicKey,i=n.config.webPushNotifications,o="granted"===n.interface.notificationPermission,s=n.users.currentUser,a="setCurrentUser"===t.type,c="setInstanceOption"===t.type&&"vapidPublicKey"===t.payload.name,l="setNotificationPermission"===t.type&&"granted"===t.payload,u="setOption"===t.type&&"webPushNotifications"===t.payload.name,d="setOption"===t.type&&"notificationVisibility"===t.payload.name;if(a||c||l||u||d){if(s&&r&&o&&i)return e.dispatch("registerPushNotifications");if(u&&!i)return e.dispatch("unregisterPushNotifications")}}))},tn=n(70),nn=n(171),rn=n(325),on=n.n(rn),sn=n(68);const an=Object(wt.k)("div",{id:"app_bg_wrapper",class:"app-bg-wrapper"},null,-1),cn=Object(wt.k)("div",{class:"underlay"},null,-1),ln=Object(wt.k)("div",{id:"notifs-sidebar"},null,-1),un={key:0,class:"login-hint panel panel-default"},dn=Object(wt.k)("div",{id:"modal"},null,-1);const pn={class:"user-panel"},hn={key:"user-panel-signed",class:"panel panel-default signed-in"};const bn={class:"login panel panel-default"},mn={class:"panel-heading"},fn={class:"panel-body"},On={class:"form-group"},jn={for:"username"},gn=["disabled","placeholder"],vn={class:"form-group"},yn={for:"password"},wn=["disabled"],kn={class:"form-group"},_n={key:1,class:"form-group"},Sn={class:"form-group"},Cn={class:"login-bottom"},Pn=["disabled"],xn={key:0,class:"form-group"},Dn={class:"alert error"};var Tn=n(6),In=n(3);function $n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function zn(e){for(var t=1;te.submit&&e.submit(...t),["prevent"]))},[e.isPasswordAuth?(Object(wt.D)(),Object(wt.j)(wt.a,{key:0},[Object(wt.k)("div",On,[Object(wt.k)("label",jn,Object(wt.O)(e.$t("login.username")),1),Object(wt.W)(Object(wt.k)("input",{id:"username","onUpdate:modelValue":t[0]||(t[0]=t=>e.user.username=t),disabled:e.loggingIn,class:"form-control",placeholder:e.$t("login.placeholder")},null,8,gn),[[wt.S,e.user.username]])]),Object(wt.k)("div",vn,[Object(wt.k)("label",yn,Object(wt.O)(e.$t("login.password")),1),Object(wt.W)(Object(wt.k)("input",{id:"password",ref:"passwordInput","onUpdate:modelValue":t[1]||(t[1]=t=>e.user.password=t),disabled:e.loggingIn,class:"form-control",type:"password"},null,8,wn),[[wt.S,e.user.password]])]),Object(wt.k)("div",kn,[Object(wt.m)(s,{to:{name:"password-reset"}},{default:Object(wt.V)(()=>[Object(wt.l)(Object(wt.O)(e.$t("password_reset.forgot_password")),1)]),_:1})])],64)):Object(wt.i)("",!0),e.isTokenAuth?(Object(wt.D)(),Object(wt.j)("div",_n,[Object(wt.k)("p",null,Object(wt.O)(e.$t("login.description")),1)])):Object(wt.i)("",!0),Object(wt.k)("div",Sn,[Object(wt.k)("div",Cn,[Object(wt.k)("div",null,[e.registrationOpen?(Object(wt.D)(),Object(wt.h)(s,{key:0,to:{name:"registration"},class:"register"},{default:Object(wt.V)(()=>[Object(wt.l)(Object(wt.O)(e.$t("login.register")),1)]),_:1})):Object(wt.i)("",!0)]),Object(wt.k)("button",{disabled:e.loggingIn,type:"submit",class:"btn button-default"},Object(wt.O)(e.$t("login.login")),9,Pn)])])],32)]),e.error?(Object(wt.D)(),Object(wt.j)("div",xn,[Object(wt.k)("div",Dn,[Object(wt.l)(Object(wt.O)(e.error)+" ",1),Object(wt.k)("button",{class:"button-unstyled",onClick:t[3]||(t[3]=(...t)=>e.clearError&&e.clearError(...t))},[Object(wt.m)(a,{class:"fa-scale-110 fa-old-padding",icon:"times"})])])])):Object(wt.i)("",!0)])}]]);const Ln={class:"login panel panel-default"},Rn={class:"panel-heading"},An={class:"panel-body"},Nn={class:"form-group"},Bn={for:"code"},Vn={class:"form-group"},Hn={class:"login-bottom"},qn=Object(wt.k)("br",null,null,-1),Jn={type:"submit",class:"btn button-default"},Wn={key:0,class:"form-group"},Yn={class:"alert error"};var Gn={verifyOTPCode:function(e){var t=e.clientId,n=e.clientSecret,r=e.instance,i=e.mfaToken,o=e.code,s="".concat(r,"/oauth/mfa/challenge"),a=new window.FormData;return a.append("client_id",t),a.append("client_secret",n),a.append("mfa_token",i),a.append("code",o),a.append("challenge_type","totp"),window.fetch(s,{method:"POST",body:a}).then((function(e){return e.json()}))},verifyRecoveryCode:function(e){var t=e.clientId,n=e.clientSecret,r=e.instance,i=e.mfaToken,o=e.code,s="".concat(r,"/oauth/mfa/challenge"),a=new window.FormData;return a.append("client_id",t),a.append("client_secret",n),a.append("mfa_token",i),a.append("code",o),a.append("challenge_type","recovery"),window.fetch(s,{method:"POST",body:a}).then((function(e){return e.json()}))}};function Kn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xn(e){for(var t=1;te.submit&&e.submit(...t),["prevent"]))},[Object(wt.k)("div",Nn,[Object(wt.k)("label",Bn,Object(wt.O)(e.$t("login.recovery_code")),1),Object(wt.W)(Object(wt.k)("input",{id:"code","onUpdate:modelValue":t[0]||(t[0]=t=>e.code=t),class:"form-control"},null,512),[[wt.S,e.code]])]),Object(wt.k)("div",Vn,[Object(wt.k)("div",Hn,[Object(wt.k)("div",null,[Object(wt.k)("button",{class:"button-unstyled -link",type:"button",onClick:t[1]||(t[1]=Object(wt.Y)((...t)=>e.requireTOTP&&e.requireTOTP(...t),["prevent"]))},Object(wt.O)(e.$t("login.enter_two_factor_code")),1),qn,Object(wt.k)("button",{class:"button-unstyled -link",type:"button",onClick:t[2]||(t[2]=Object(wt.Y)((...t)=>e.abortMFA&&e.abortMFA(...t),["prevent"]))},Object(wt.O)(e.$t("general.cancel")),1)]),Object(wt.k)("button",Jn,Object(wt.O)(e.$t("general.verify")),1)])])],32)]),e.error?(Object(wt.D)(),Object(wt.j)("div",Wn,[Object(wt.k)("div",Yn,[Object(wt.l)(Object(wt.O)(e.error)+" ",1),Object(wt.k)("button",{class:"button-unstyled",onClick:t[4]||(t[4]=(...t)=>e.clearError&&e.clearError(...t))},[Object(wt.m)(s,{class:"fa-scale-110 fa-old-padding",icon:"times"})])])])):Object(wt.i)("",!0)])}]]);const er={class:"login panel panel-default"},tr={class:"panel-heading"},nr={class:"panel-body"},rr={class:"form-group"},ir={for:"code"},or={class:"form-group"},sr={class:"login-bottom"},ar=Object(wt.k)("br",null,null,-1),cr={type:"submit",class:"btn button-default"},lr={key:0,class:"form-group"},ur={class:"alert error"};function dr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function pr(e){for(var t=1;te.submit&&e.submit(...t),["prevent"]))},[Object(wt.k)("div",rr,[Object(wt.k)("label",ir,Object(wt.O)(e.$t("login.authentication_code")),1),Object(wt.W)(Object(wt.k)("input",{id:"code","onUpdate:modelValue":t[0]||(t[0]=t=>e.code=t),class:"form-control"},null,512),[[wt.S,e.code]])]),Object(wt.k)("div",or,[Object(wt.k)("div",sr,[Object(wt.k)("div",null,[Object(wt.k)("button",{class:"button-unstyled -link",type:"button",onClick:t[1]||(t[1]=Object(wt.Y)((...t)=>e.requireRecovery&&e.requireRecovery(...t),["prevent"]))},Object(wt.O)(e.$t("login.enter_recovery_code")),1),ar,Object(wt.k)("button",{class:"button-unstyled -link",type:"button",onClick:t[2]||(t[2]=Object(wt.Y)((...t)=>e.abortMFA&&e.abortMFA(...t),["prevent"]))},Object(wt.O)(e.$t("general.cancel")),1)]),Object(wt.k)("button",cr,Object(wt.O)(e.$t("general.verify")),1)])])],32)]),e.error?(Object(wt.D)(),Object(wt.j)("div",lr,[Object(wt.k)("div",ur,[Object(wt.l)(Object(wt.O)(e.error)+" ",1),Object(wt.k)("button",{class:"button-unstyled",onClick:t[4]||(t[4]=(...t)=>e.clearError&&e.clearError(...t))},[Object(wt.m)(s,{size:"lg",class:"fa-scale-110 fa-old-padding",icon:"times"})])])])):Object(wt.i)("",!0)])}]]);function mr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var fr={name:"AuthForm",render:function(){return Object(wt.q)(Object(wt.J)(this.authForm))},computed:function(e){for(var t=1;t[Object(wt.m)(s,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"home"}),Object(wt.l)(Object(wt.O)(e.$t("nav.home_timeline")),1)]),_:1})])):Object(wt.i)("",!0),e.currentUser||!e.privateMode?(Object(wt.D)(),Object(wt.j)("li",$r,[Object(wt.m)(a,{class:"menu-item",to:{name:"public-timeline"}},{default:Object(wt.V)(()=>[Object(wt.m)(s,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"users"}),Object(wt.l)(Object(wt.O)(e.$t("nav.public_tl")),1)]),_:1})])):Object(wt.i)("",!0),!e.federating||!e.currentUser&&e.privateMode?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("li",zr,[Object(wt.m)(a,{class:"menu-item",to:{name:"public-external-timeline"}},{default:Object(wt.V)(()=>[Object(wt.m)(s,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"globe"}),Object(wt.l)(Object(wt.O)(e.$t("nav.twkn")),1)]),_:1})])),e.currentUser?(Object(wt.D)(),Object(wt.j)("li",Mr,[Object(wt.m)(a,{class:"menu-item",to:{name:"bookmarks"}},{default:Object(wt.V)(()=>[Object(wt.m)(s,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"bookmark"}),Object(wt.l)(Object(wt.O)(e.$t("nav.bookmarks")),1)]),_:1})])):Object(wt.i)("",!0),e.currentUser?(Object(wt.D)(),Object(wt.j)("li",Ur,[Object(wt.m)(a,{class:"menu-item",to:{name:"dms",params:{username:e.currentUser.screen_name}}},{default:Object(wt.V)(()=>[Object(wt.m)(s,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"envelope"}),Object(wt.l)(Object(wt.O)(e.$t("nav.dms")),1)]),_:1},8,["to"])])):Object(wt.i)("",!0)])}]]);function Rr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ar(e){for(var t=1;te.toggleTimelines&&e.toggleTimelines(...t))},[Object(wt.m)(s,{"fixed-width":"",class:"fa-scale-110",icon:"stream"}),Object(wt.l)(Object(wt.O)(e.$t("nav.timelines"))+" ",1),Object(wt.m)(s,{class:"timelines-chevron","fixed-width":"",icon:e.showTimelines?"chevron-up":"chevron-down"},null,8,["icon"])]),Object(wt.W)(Object(wt.k)("div",Sr,[Object(wt.m)(a,{class:"timelines"})],512),[[wt.T,e.showTimelines]])])):Object(wt.i)("",!0),e.currentUser?(Object(wt.D)(),Object(wt.j)("li",Cr,[Object(wt.m)(c,{class:"menu-item",to:{name:"interactions",params:{username:e.currentUser.screen_name}}},{default:Object(wt.V)(()=>[Object(wt.m)(s,{"fixed-width":"",class:"fa-scale-110",icon:"bell"}),Object(wt.l)(Object(wt.O)(e.$t("nav.interactions")),1)]),_:1},8,["to"])])):Object(wt.i)("",!0),e.currentUser&&e.pleromaChatMessagesAvailable?(Object(wt.D)(),Object(wt.j)("li",Pr,[Object(wt.m)(c,{class:"menu-item",to:{name:"chats",params:{username:e.currentUser.screen_name}}},{default:Object(wt.V)(()=>[e.unreadChatCount?(Object(wt.D)(),Object(wt.j)("div",xr,Object(wt.O)(e.unreadChatCount),1)):Object(wt.i)("",!0),Object(wt.m)(s,{"fixed-width":"",class:"fa-scale-110",icon:"comments"}),Object(wt.l)(Object(wt.O)(e.$t("nav.chats")),1)]),_:1},8,["to"])])):Object(wt.i)("",!0),e.currentUser&&e.currentUser.locked?(Object(wt.D)(),Object(wt.j)("li",Dr,[Object(wt.m)(c,{class:"menu-item",to:{name:"friend-requests"}},{default:Object(wt.V)(()=>[Object(wt.m)(s,{"fixed-width":"",class:"fa-scale-110",icon:"user-plus"}),Object(wt.l)(Object(wt.O)(e.$t("nav.friend_requests"))+" ",1),e.followRequestCount>0?(Object(wt.D)(),Object(wt.j)("span",Tr,Object(wt.O)(e.followRequestCount),1)):Object(wt.i)("",!0)]),_:1})])):Object(wt.i)("",!0),Object(wt.k)("li",null,[Object(wt.m)(c,{class:"menu-item",to:{name:"about"}},{default:Object(wt.V)(()=>[Object(wt.m)(s,{"fixed-width":"",class:"fa-scale-110",icon:"info-circle"}),Object(wt.l)(Object(wt.O)(e.$t("nav.about")),1)]),_:1})])])])])}]]);const Vr={class:"instance-specific-panel"},Hr={class:"panel panel-default"},qr={class:"panel-body"},Jr=["innerHTML"];var Wr={computed:{instanceSpecificPanelContent:function(){return this.$store.state.instance.instanceSpecificPanelContent}}};var Yr=Fn()(Wr,[["render",function(e,t,n,r,i,o){return Object(wt.D)(),Object(wt.j)("div",Vr,[Object(wt.k)("div",Hr,[Object(wt.k)("div",qr,[Object(wt.k)("div",{innerHTML:e.instanceSpecificPanelContent},null,8,Jr)])])])}]]);const Gr={class:"features-panel"},Kr={class:"panel panel-default base01-background"},Xr={class:"panel-heading timeline-heading base02-background base04"},Zr={class:"title"},Qr={class:"panel-body features-panel"},ei={key:0},ti={key:1},ni={key:2},ri={key:3},ii={key:4};var oi=n(96),si={computed:{shout:function(){return this.$store.state.instance.shoutAvailable},pleromaChatMessages:function(){return this.$store.state.instance.pleromaChatMessagesAvailable},gopher:function(){return this.$store.state.instance.gopherAvailable},whoToFollow:function(){return this.$store.state.instance.suggestionsEnabled},mediaProxy:function(){return this.$store.state.instance.mediaProxyAvailable},minimalScopesMode:function(){return this.$store.state.instance.minimalScopesMode},textlimit:function(){return this.$store.state.instance.textlimit},uploadlimit:function(){return oi.a.fileSizeFormat(this.$store.state.instance.uploadlimit)}}};n(533);var ai=Fn()(si,[["render",function(e,t,n,r,i,o){return Object(wt.D)(),Object(wt.j)("div",Gr,[Object(wt.k)("div",Kr,[Object(wt.k)("div",Xr,[Object(wt.k)("div",Zr,Object(wt.O)(e.$t("features_panel.title")),1)]),Object(wt.k)("div",Qr,[Object(wt.k)("ul",null,[e.shout?(Object(wt.D)(),Object(wt.j)("li",ei,Object(wt.O)(e.$t("features_panel.shout")),1)):Object(wt.i)("",!0),e.pleromaChatMessages?(Object(wt.D)(),Object(wt.j)("li",ti,Object(wt.O)(e.$t("features_panel.pleroma_chat_messages")),1)):Object(wt.i)("",!0),e.gopher?(Object(wt.D)(),Object(wt.j)("li",ni,Object(wt.O)(e.$t("features_panel.gopher")),1)):Object(wt.i)("",!0),e.whoToFollow?(Object(wt.D)(),Object(wt.j)("li",ri,Object(wt.O)(e.$t("features_panel.who_to_follow")),1)):Object(wt.i)("",!0),e.mediaProxy?(Object(wt.D)(),Object(wt.j)("li",ii,Object(wt.O)(e.$t("features_panel.media_proxy")),1)):Object(wt.i)("",!0),Object(wt.k)("li",null,Object(wt.O)(e.$t("features_panel.scope_options")),1),Object(wt.k)("li",null,Object(wt.O)(e.$t("features_panel.text_limit"))+" = "+Object(wt.O)(e.textlimit),1),Object(wt.k)("li",null,Object(wt.O)(e.$t("features_panel.upload_limit"))+" = "+Object(wt.O)(e.uploadlimit.num)+" "+Object(wt.O)(e.$t("upload.file_size_units."+e.uploadlimit.unit)),1)])])])])}]]);const ci={class:"who-to-follow-panel"},li={class:"panel panel-default base01-background"},ui={class:"panel-heading timeline-heading base02-background base04"},di={class:"title"},pi={class:"who-to-follow"},hi=["src"],bi=Object(wt.k)("br",null,null,-1),mi={class:"who-to-follow-more"};var fi=n(330),Oi=n.n(fi),ji=n(23);function gi(e){var t=e.$store.state.users.currentUser.credentials;t&&(e.usersToFollow.forEach((function(e){e.name="Loading..."})),j.c.suggestions({credentials:t}).then((function(t){!function(e,t){var n=this,r=Oi()(t);e.usersToFollow.forEach((function(t,i){var o=r[i],s=o.avatar||n.$store.state.instance.defaultAvatar,a=o.acct;t.img=s,t.name=a,e.$store.state.api.backendInteractor.fetchUser({id:a}).then((function(n){n.error||(e.$store.commit("addNewUsers",[n]),t.id=n.id)}))}))}(e,t)})))}var vi={data:function(){return{usersToFollow:[]}},computed:{user:function(){return this.$store.state.users.currentUser.screen_name},suggestionsEnabled:function(){return this.$store.state.instance.suggestionsEnabled}},methods:{userProfileLink:function(e,t){return Object(ji.a)(e,t,this.$store.state.instance.restrictedNicknames)}},watch:{user:function(e,t){this.suggestionsEnabled&&gi(this)}},mounted:function(){var e=this;this.usersToFollow=new Array(3).fill().map((function(t){return{img:e.$store.state.instance.defaultAvatar,name:"",id:0}})),this.suggestionsEnabled&&gi(this)}};n(537);var yi=Fn()(vi,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("router-link");return Object(wt.D)(),Object(wt.j)("div",ci,[Object(wt.k)("div",li,[Object(wt.k)("div",ui,[Object(wt.k)("div",di,Object(wt.O)(e.$t("who_to_follow.who_to_follow")),1)]),Object(wt.k)("div",pi,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.usersToFollow,t=>(Object(wt.D)(),Object(wt.j)("p",{key:t.id,class:"who-to-follow-items"},[Object(wt.k)("img",{src:t.img},null,8,hi),Object(wt.m)(s,{to:e.userProfileLink(t.id,t.name)},{default:Object(wt.V)(()=>[Object(wt.l)(Object(wt.O)(t.name),1)]),_:2},1032,["to"]),bi]))),128)),Object(wt.k)("p",mi,[Object(wt.m)(s,{to:{name:"who-to-follow"}},{default:Object(wt.V)(()=>[Object(wt.l)(Object(wt.O)(e.$t("who_to_follow.more")),1)]),_:1})])])])])}]]);const wi={key:0,class:"shout-panel"},ki={class:"panel panel-default"},_i={class:"title"},Si={class:"shout-window"},Ci={class:"shout-avatar"},Pi=["src"],xi={class:"shout-content"},Di=Object(wt.k)("br",null,null,-1),Ti={class:"shout-text"},Ii={class:"shout-input"},$i={key:1,class:"shout-panel"},zi={class:"panel panel-default"},Mi={class:"title"};Tn.c.add(In.l,In.rb);var Ui={props:["floating"],data:function(){return{currentMessage:"",channel:null,collapsed:!0}},computed:{messages:function(){return this.$store.state.shout.messages}},methods:{submit:function(e){this.$store.state.shout.channel.push("new_msg",{text:e},1e4),this.currentMessage=""},togglePanel:function(){this.collapsed=!this.collapsed},userProfileLink:function(e){return Object(ji.a)(e.id,e.username,this.$store.state.instance.restrictedNicknames)}},watch:{messages:function(e){var t=this.$el.querySelector(".chat-window");t&&t.scrollTop+t.offsetHeight+20>t.scrollHeight&&this.$nextTick((function(){t&&(t.scrollTop=t.scrollHeight-t.offsetHeight)}))}}};n(538);var Fi=Fn()(Ui,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("FAIcon"),a=Object(wt.J)("router-link");return e.collapsed&&e.floating?(Object(wt.D)(),Object(wt.j)("div",$i,[Object(wt.k)("div",zi,[Object(wt.k)("div",{class:"panel-heading -stub timeline-heading shout-heading",onClick:t[3]||(t[3]=Object(wt.Y)((...t)=>e.togglePanel&&e.togglePanel(...t),["stop","prevent"]))},[Object(wt.k)("div",Mi,[Object(wt.m)(s,{class:"icon",icon:"bullhorn"}),Object(wt.l)(" "+Object(wt.O)(e.$t("shoutbox.title")),1)])])])])):(Object(wt.D)(),Object(wt.j)("div",wi,[Object(wt.k)("div",ki,[Object(wt.k)("div",{class:Object(wt.w)(["panel-heading timeline-heading",{"shout-heading":e.floating}]),onClick:t[0]||(t[0]=Object(wt.Y)((...t)=>e.togglePanel&&e.togglePanel(...t),["stop","prevent"]))},[Object(wt.k)("div",_i,[Object(wt.l)(Object(wt.O)(e.$t("shoutbox.title"))+" ",1),e.floating?(Object(wt.D)(),Object(wt.h)(s,{key:0,icon:"times",class:"close-icon"})):Object(wt.i)("",!0)])],2),Object(wt.k)("div",Si,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.messages,t=>(Object(wt.D)(),Object(wt.j)("div",{key:t.id,class:"shout-message"},[Object(wt.k)("span",Ci,[Object(wt.k)("img",{src:t.author.avatar},null,8,Pi)]),Object(wt.k)("div",xi,[Object(wt.m)(a,{class:"shout-name",to:e.userProfileLink(t.author)},{default:Object(wt.V)(()=>[Object(wt.l)(Object(wt.O)(t.author.username),1)]),_:2},1032,["to"]),Di,Object(wt.k)("span",Ti,Object(wt.O)(t.text),1)])]))),128))]),Object(wt.k)("div",Ii,[Object(wt.W)(Object(wt.k)("textarea",{"onUpdate:modelValue":t[1]||(t[1]=t=>e.currentMessage=t),class:"shout-input-textarea",rows:"1",onKeyup:t[2]||(t[2]=Object(wt.X)(t=>e.submit(e.currentMessage),["enter"]))},null,544),[[wt.S,e.currentMessage]])])])]))}]]);const Ei={class:"settings-modal-panel panel"},Li={class:"panel-heading"},Ri={class:"title"},Ai=["title"],Ni=["title"],Bi={class:"panel-body"},Vi={class:"panel-footer settings-footer"},Hi=["title"],qi=Object(wt.l)(" "+Object(wt.O)(" ")+" "),Ji={class:"dropdown-menu"},Wi=["onClick"],Yi=["onClick"],Gi=["onClick"],Ki=Object(wt.k)("span",{id:"unscrolled-content",class:"extra-content"},null,-1);var Xi={props:{isOpen:{type:Boolean,default:!0},noBackground:{type:Boolean,default:!1}},computed:{classes:function(){return{"modal-background":!this.noBackground,open:this.isOpen}}}};n(539);var Zi=Fn()(Xi,[["render",function(e,t,n,r,i,o){const s=Object(wt.K)("body-scroll-lock");return Object(wt.W)((Object(wt.D)(),Object(wt.j)("div",{class:Object(wt.w)(["modal-view",o.classes]),onClick:t[0]||(t[0]=Object(wt.Y)(t=>e.$emit("backdropClicked"),["self"]))},[Object(wt.I)(e.$slots,"default")],2)),[[wt.T,n.isOpen],[s,n.isOpen&&!n.noBackground]])}]]);const Qi={class:"panel-loading"},eo={class:"loading-text"};Tn.c.add(In.r);var to={};n(540);var no=Fn()(to,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("FAIcon");return Object(wt.D)(),Object(wt.j)("div",Qi,[Object(wt.k)("span",eo,[Object(wt.m)(s,{icon:"circle-notch",spin:"",size:"3x"}),Object(wt.l)(" "+Object(wt.O)(e.$t("general.loading")),1)])])}]]);const ro={class:"async-component-error"};var io={emits:["resetAsyncComponent"],methods:{retry:function(){this.$emit("resetAsyncComponent")}}};n(541);var oo=Fn()(io,[["render",function(e,t,n,r,i,o){return Object(wt.D)(),Object(wt.j)("div",ro,[Object(wt.k)("div",null,[Object(wt.k)("h4",null,Object(wt.O)(e.$t("general.generic_error")),1),Object(wt.k)("p",null,Object(wt.O)(e.$t("general.error_retry")),1),Object(wt.k)("button",{class:"btn button-default",onClick:t[0]||(t[0]=(...e)=>o.retry&&o.retry(...e))},Object(wt.O)(e.$t("general.retry")),1)])])}]]);function so(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var ao=function(e,t){var n=function(){return function(){return Object(wt.n)(function(e){for(var t=1;t1?{messageKey:"settings.file_export_import.errors.file_too_new",messageArgs:{fileMajor:n,feMajor:1}}:n<1?{messageKey:"settings.file_export_import.errors.file_too_old",messageArgs:{fileMajor:n,feMajor:1}}:(r>0&&this.$store.dispatch("pushGlobalNotice",{level:"warning",messageKey:"settings.file_export_import.errors.file_slightly_new"}),!0)},onImportFailure:function(e){e.error?this.$store.dispatch("pushGlobalNotice",{messageKey:"settings.invalid_settings_imported",level:"error"}):this.$store.dispatch("pushGlobalNotice",bo(bo({},e.validationResult),{},{level:"error"}))},onImport:function(e){e&&this.$store.dispatch("loadSettings",e)},restore:function(){this.dataImporter.importData()},backup:function(){this.dataExporter.exportData()},backupWithTheme:function(){this.dataThemeExporter.exportData()},generateExport:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.$store.state.config,n=t;if(!e){var r=new Set(["customTheme","customThemeSource","colors"]);n=Object.fromEntries(Object.entries(n).filter((function(e){var t=m()(e,1)[0];return!r.has(t)})))}var i=Nt()(n);return i._pleroma_settings_version=[1,0],i}},computed:{currentSaveStateNotice:function(){return this.$store.state.interface.settings.currentSaveStateNotice},modalActivated:function(){return"hidden"!==this.$store.state.interface.settingsModalState},modalOpenedOnce:function(){return this.$store.state.interface.settingsModalLoaded},modalPeeked:function(){return"minimized"===this.$store.state.interface.settingsModalState},expertLevel:{get:function(){return this.$store.state.config.expertLevel>0},set:function(e){console.log(e),this.$store.dispatch("setOption",{name:"expertLevel",value:e?1:0})}}}};n(542);var fo=Fn()(mo,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("FAIcon"),a=Object(wt.J)("SettingsModalContent"),c=Object(wt.J)("Popover"),l=Object(wt.J)("Checkbox"),u=Object(wt.J)("Modal");return Object(wt.D)(),Object(wt.h)(u,{"is-open":e.modalActivated,class:Object(wt.w)(["settings-modal",{peek:e.modalPeeked}]),"no-background":e.modalPeeked},{default:Object(wt.V)(()=>[Object(wt.k)("div",Ei,[Object(wt.k)("div",Li,[Object(wt.k)("span",Ri,Object(wt.O)(e.$t("settings.settings")),1),Object(wt.m)(wt.e,{name:"fade"},{default:Object(wt.V)(()=>[e.currentSaveStateNotice?(Object(wt.D)(),Object(wt.j)("div",{key:0,class:Object(wt.w)(["alert",{transparent:!e.currentSaveStateNotice.error,error:e.currentSaveStateNotice.error}]),onClick:t[0]||(t[0]=Object(wt.Y)(()=>{},["prevent"]))},Object(wt.O)(e.currentSaveStateNotice.error?e.$t("settings.saving_err"):e.$t("settings.saving_ok")),3)):Object(wt.i)("",!0)]),_:1}),Object(wt.k)("button",{class:"btn button-default",title:e.$t("general.peek"),onClick:t[1]||(t[1]=(...t)=>e.peekModal&&e.peekModal(...t))},[Object(wt.m)(s,{icon:["far","window-minimize"],"fixed-width":""})],8,Ai),Object(wt.k)("button",{class:"btn button-default",title:e.$t("general.close"),onClick:t[2]||(t[2]=(...t)=>e.closeModal&&e.closeModal(...t))},[Object(wt.m)(s,{icon:"times","fixed-width":""})],8,Ni)]),Object(wt.k)("div",Bi,[e.modalOpenedOnce?(Object(wt.D)(),Object(wt.h)(a,{key:0})):Object(wt.i)("",!0)]),Object(wt.k)("div",Vi,[Object(wt.m)(c,{class:"export",trigger:"click",placement:"top",offset:{y:5,x:5},"bound-to":{x:"container"},"remove-padding":""},{trigger:Object(wt.V)(()=>[Object(wt.k)("button",{class:"btn button-default",title:e.$t("general.close")},[Object(wt.k)("span",null,Object(wt.O)(e.$t("settings.file_export_import.backup_restore")),1),qi,Object(wt.m)(s,{icon:"chevron-down"})],8,Hi)]),content:Object(wt.V)(({close:n})=>[Object(wt.k)("div",Ji,[Object(wt.k)("button",{class:"button-default dropdown-item dropdown-item-icon",onClick:[t[3]||(t[3]=Object(wt.Y)((...t)=>e.backup&&e.backup(...t),["prevent"])),n]},[Object(wt.m)(s,{icon:"file-download","fixed-width":""}),Object(wt.k)("span",null,Object(wt.O)(e.$t("settings.file_export_import.backup_settings")),1)],8,Wi),Object(wt.k)("button",{class:"button-default dropdown-item dropdown-item-icon",onClick:[t[4]||(t[4]=Object(wt.Y)((...t)=>e.backupWithTheme&&e.backupWithTheme(...t),["prevent"])),n]},[Object(wt.m)(s,{icon:"file-download","fixed-width":""}),Object(wt.k)("span",null,Object(wt.O)(e.$t("settings.file_export_import.backup_settings_theme")),1)],8,Yi),Object(wt.k)("button",{class:"button-default dropdown-item dropdown-item-icon",onClick:[t[5]||(t[5]=Object(wt.Y)((...t)=>e.restore&&e.restore(...t),["prevent"])),n]},[Object(wt.m)(s,{icon:"file-upload","fixed-width":""}),Object(wt.k)("span",null,Object(wt.O)(e.$t("settings.file_export_import.restore_settings")),1)],8,Gi)])]),_:1}),Object(wt.m)(l,{"model-value":!!e.expertLevel,"onUpdate:modelValue":t[6]||(t[6]=t=>e.expertLevel=Number(t))},{default:Object(wt.V)(()=>[Object(wt.l)(Object(wt.O)(e.$t("settings.expert_mode")),1)]),_:1},8,["model-value"]),Ki])])]),_:1},8,["is-open","class","no-background"])}]]);const Oo=["src","alt","title"],jo=["src","alt","title"],go=["title"],vo=["title"],yo=["title"],wo={key:6,class:"description"},ko={class:"counter"},_o={key:7,class:"loading-spinner"};var So=n(50),Co=n(141);var Po=n(337),xo={methods:{setTransform:function(e){var t=e.scale,n=e.x,r=e.y;this.$el.setTransform({scale:t,x:n,y:r})}},created:function(){Po.a}};var Do=Fn()(xo,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("pinch-zoom");return Object(wt.D)(),Object(wt.h)(s,Object(wt.u)({class:"pinch-zoom-parent"},e.$attrs,Object(wt.P)(e.$listeners)),{default:Object(wt.V)(()=>[Object(wt.I)(e.$slots,"default")]),_:3},16)}]]);var To=n(129),Io=n.n(To),$o=n(128),zo=n.n($o),Mo=function(e,t){return[t[0]-e[0],t[1]-e[1]]},Uo=function(e){return[(t=e.touches[0]).screenX,t.screenY];var t},Fo=function(e){return[e.clientX,e.clientY]},Eo=function(e){return Math.sqrt(e[0]*e[0]+e[1]*e[1])},Lo=function(e){return[e[1],-e[0]]},Ro=function(e,t){return e[0]*t[0]+e[1]*t[1]},Ao=function(e,t){var n=Ro(e,t)/Ro(t,t);return[n*t[0],n*t[1]]},No={DIRECTION_LEFT:[-1,0],DIRECTION_RIGHT:[1,0],DIRECTION_UP:[0,-1],DIRECTION_DOWN:[0,1],swipeGesture:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1;return{direction:e,onSwipe:t,threshold:n,perpendicularTolerance:r,_startPos:[0,0],_swiping:!1}},beginSwipe:function(e,t){t._startPos=Uo(e),t._swiping=!0},updateSwipe:function(e,t){if(t._swiping){var n=Mo(t._startPos,Uo(e));if(!(Eo(n)0,n=Ao(r,t.direction),i=Lo(t.direction),o=Ao(r,i);return Eo(n)*t.perpendicularTolerance=this.disableClickThreshold()&&"mouse"===e.pointerType&&(this._preventNextClick=!0)}}},{key:"click",value:function(e){this._preventNextClick||this.swipelessClickCallback(),this._reset()}}]),e}()},Bo={props:{direction:{type:Array},threshold:{type:Function,default:function(){return 30}},perpendicularTolerance:{type:Number,default:1}},methods:{handlePointerDown:function(e){this.$gesture.start(e)},handlePointerMove:function(e){this.$gesture.move(e)},handlePointerUp:function(e){this.$gesture.end(e)},handlePointerCancel:function(e){this.$gesture.cancel(e)},handleNativeClick:function(e){this.$gesture.click(e)},preview:function(e){this.$emit("preview-requested",e)},end:function(e){this.$emit("swipe-finished",e)},click:function(){this.$emit("swipeless-clicked")},cancel:function(){this.$emit("swipe-canceled")}},created:function(){this.$gesture=new No.SwipeAndClickGesture({direction:this.direction,threshold:this.threshold,perpendicularTolerance:this.perpendicularTolerance,swipePreviewCallback:this.preview,swipeEndCallback:this.end,swipeCancelCallback:this.cancel,swipelessClickCallback:this.click})}};var Vo=Fn()(Bo,[["render",function(e,t,n,r,i,o){return Object(wt.D)(),Object(wt.j)("div",Object(wt.u)(e.$attrs,{onPointerdown:t[0]||(t[0]=(...t)=>e.handlePointerDown&&e.handlePointerDown(...t)),onPointermove:t[1]||(t[1]=(...t)=>e.handlePointerMove&&e.handlePointerMove(...t)),onPointerup:t[2]||(t[2]=(...t)=>e.handlePointerUp&&e.handlePointerUp(...t)),onPointercancel:t[3]||(t[3]=(...t)=>e.handlePointerCancel&&e.handlePointerCancel(...t)),onClick:t[4]||(t[4]=(...t)=>e.handleNativeClick&&e.handleNativeClick(...t))}),[Object(wt.I)(e.$slots,"default")],16)}]]),Ho=n(139);Tn.c.add(In.o,In.p,In.r,In.rb);var qo={components:{StillImage:So.a,VideoAttachment:Co.a,PinchZoom:Do,SwipeClick:Vo,Modal:Zi,Flash:Ho.a},data:function(){return{loading:!1,swipeDirection:No.DIRECTION_LEFT,swipeThreshold:function(){return window.innerWidth*(1/4)},pinchZoomMinScale:1,pinchZoomScaleResetLimit:1.2}},computed:{showing:function(){return this.$store.state.mediaViewer.activated},media:function(){return this.$store.state.mediaViewer.media},description:function(){return this.currentMedia.description},currentIndex:function(){return this.$store.state.mediaViewer.currentIndex},currentMedia:function(){return this.media[this.currentIndex]},canNavigate:function(){return this.media.length>1},type:function(){return this.currentMedia?this.getType(this.currentMedia):null}},methods:{getType:function(e){return lt.a.fileType(e.mimetype)},hide:function(){var e=this;setTimeout((function(){e.$store.dispatch("closeMediaViewer")}),100)},hideIfNotSwiped:function(e){var t=this.$refs.swipeClick;t?t.$gesture.click(e):this.hide()},goPrev:function(){if(this.canNavigate){var e=0===this.currentIndex?this.media.length-1:this.currentIndex-1,t=this.media[e];"image"===this.getType(t)&&(this.loading=!0),this.$store.dispatch("setCurrentMedia",t)}},goNext:function(){if(this.canNavigate){var e=this.currentIndex===this.media.length-1?0:this.currentIndex+1,t=this.media[e];"image"===this.getType(t)&&(this.loading=!0),this.$store.dispatch("setCurrentMedia",t)}},onImageLoaded:function(){this.loading=!1},handleSwipePreview:function(e){this.$refs.pinchZoom.setTransform({scale:1,x:e[0],y:0})},handleSwipeEnd:function(e){this.$refs.pinchZoom.setTransform({scale:1,x:0,y:0}),e>0?this.goNext():e<0&&this.goPrev()},handleKeyupEvent:function(e){this.showing&&27===e.keyCode&&this.hide()},handleKeydownEvent:function(e){this.showing&&(39===e.keyCode?this.goNext():37===e.keyCode&&this.goPrev())}},mounted:function(){window.addEventListener("popstate",this.hide),document.addEventListener("keyup",this.handleKeyupEvent),document.addEventListener("keydown",this.handleKeydownEvent)},unmounted:function(){window.removeEventListener("popstate",this.hide),document.removeEventListener("keyup",this.handleKeyupEvent),document.removeEventListener("keydown",this.handleKeydownEvent)}};n(543);var Jo=Fn()(qo,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("PinchZoom"),a=Object(wt.J)("SwipeClick"),c=Object(wt.J)("VideoAttachment"),l=Object(wt.J)("Flash"),u=Object(wt.J)("FAIcon"),d=Object(wt.J)("Modal");return e.showing?(Object(wt.D)(),Object(wt.h)(d,{key:0,class:"media-modal-view",onBackdropClicked:e.hideIfNotSwiped},{default:Object(wt.V)(()=>["image"===e.type?(Object(wt.D)(),Object(wt.h)(a,{key:0,ref:"swipeClick",class:"modal-image-container",direction:e.swipeDirection,threshold:e.swipeThreshold,onPreviewRequested:e.handleSwipePreview,onSwipeFinished:e.handleSwipeEnd,onSwipelessClicked:e.hide},{default:Object(wt.V)(()=>[Object(wt.m)(s,{ref:"pinchZoom",class:"modal-image-container-inner",selector:".modal-image","reach-min-scale-strategy":"reset","stop-propagate-handled":"stop-propgate-handled","allow-pan-min-scale":e.pinchZoomMinScale,"min-scale":e.pinchZoomMinScale,"reset-to-min-scale-limit":e.pinchZoomScaleResetLimit},{default:Object(wt.V)(()=>[Object(wt.k)("img",{class:Object(wt.w)([{loading:e.loading},"modal-image"]),src:e.currentMedia.url,alt:e.currentMedia.description,title:e.currentMedia.description,onLoad:t[0]||(t[0]=(...t)=>e.onImageLoaded&&e.onImageLoaded(...t))},null,42,Oo)]),_:1},8,["allow-pan-min-scale","min-scale","reset-to-min-scale-limit"])]),_:1},8,["direction","threshold","onPreviewRequested","onSwipeFinished","onSwipelessClicked"])):Object(wt.i)("",!0),"video"===e.type?(Object(wt.D)(),Object(wt.h)(c,{key:1,class:"modal-image",attachment:e.currentMedia,controls:!0},null,8,["attachment"])):Object(wt.i)("",!0),"audio"===e.type?(Object(wt.D)(),Object(wt.j)("audio",{key:2,class:"modal-image",src:e.currentMedia.url,alt:e.currentMedia.description,title:e.currentMedia.description,controls:""},null,8,jo)):Object(wt.i)("",!0),"flash"===e.type?(Object(wt.D)(),Object(wt.h)(l,{key:3,class:"modal-image",src:e.currentMedia.url,alt:e.currentMedia.description,title:e.currentMedia.description},null,8,["src","alt","title"])):Object(wt.i)("",!0),e.canNavigate?(Object(wt.D)(),Object(wt.j)("button",{key:4,title:e.$t("media_modal.previous"),class:"modal-view-button modal-view-button-arrow modal-view-button-arrow--prev",onClick:t[1]||(t[1]=Object(wt.Y)((...t)=>e.goPrev&&e.goPrev(...t),["stop","prevent"]))},[Object(wt.m)(u,{class:"button-icon arrow-icon",icon:"chevron-left"})],8,go)):Object(wt.i)("",!0),e.canNavigate?(Object(wt.D)(),Object(wt.j)("button",{key:5,title:e.$t("media_modal.next"),class:"modal-view-button modal-view-button-arrow modal-view-button-arrow--next",onClick:t[2]||(t[2]=Object(wt.Y)((...t)=>e.goNext&&e.goNext(...t),["stop","prevent"]))},[Object(wt.m)(u,{class:"button-icon arrow-icon",icon:"chevron-right"})],8,vo)):Object(wt.i)("",!0),Object(wt.k)("button",{class:"modal-view-button modal-view-button-hide",title:e.$t("media_modal.hide"),onClick:t[3]||(t[3]=Object(wt.Y)((...t)=>e.hide&&e.hide(...t),["stop","prevent"]))},[Object(wt.m)(u,{class:"button-icon",icon:"times"})],8,yo),e.description?(Object(wt.D)(),Object(wt.j)("span",wo,Object(wt.O)(e.description),1)):Object(wt.i)("",!0),Object(wt.k)("span",ko,Object(wt.O)(e.$tc("media_modal.counter",e.currentIndex+1,{current:e.currentIndex+1,total:e.media.length})),1),e.loading?(Object(wt.D)(),Object(wt.j)("span",_o,[Object(wt.m)(u,{spin:"",icon:"circle-notch",size:"5x"})])):Object(wt.i)("",!0)]),_:1},8,["onBackdropClicked"])):Object(wt.i)("",!0)}]]);const Wo={key:1,class:"side-drawer-logo-wrapper"},Yo=["src"],Go={key:0},Ko={key:0,class:"badge badge-notification"},Xo={key:0},Zo={key:0,class:"badge badge-notification"},Qo={href:"/pleroma/admin/#/login-pleroma",target:"_blank"};function es(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ts(e){for(var t=1;te.touchStart&&e.touchStart(...t)),onTouchmove:t[16]||(t[16]=(...t)=>e.touchMove&&e.touchMove(...t))},[Object(wt.k)("div",{class:"side-drawer-heading",onClick:t[0]||(t[0]=(...t)=>e.toggleDrawer&&e.toggleDrawer(...t))},[e.currentUser?(Object(wt.D)(),Object(wt.h)(s,{key:0,"user-id":e.currentUser.id,"hide-bio":!0},null,8,["user-id"])):(Object(wt.D)(),Object(wt.j)("div",Wo,[Object(wt.k)("img",{src:e.logo},null,8,Yo),e.hideSitename?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("span",Go,Object(wt.O)(e.sitename),1))]))]),Object(wt.k)("ul",null,[e.currentUser?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("li",{key:0,onClick:t[1]||(t[1]=(...t)=>e.toggleDrawer&&e.toggleDrawer(...t))},[Object(wt.m)(c,{to:{name:"login"}},{default:Object(wt.V)(()=>[Object(wt.m)(a,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"sign-in-alt"}),Object(wt.l)(" "+Object(wt.O)(e.$t("login.login")),1)]),_:1})])),e.currentUser||!e.privateMode?(Object(wt.D)(),Object(wt.j)("li",{key:1,onClick:t[2]||(t[2]=(...t)=>e.toggleDrawer&&e.toggleDrawer(...t))},[Object(wt.m)(c,{to:{name:e.timelinesRoute}},{default:Object(wt.V)(()=>[Object(wt.m)(a,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"home"}),Object(wt.l)(" "+Object(wt.O)(e.$t("nav.timelines")),1)]),_:1},8,["to"])])):Object(wt.i)("",!0),e.currentUser&&e.pleromaChatMessagesAvailable?(Object(wt.D)(),Object(wt.j)("li",{key:2,onClick:t[3]||(t[3]=(...t)=>e.toggleDrawer&&e.toggleDrawer(...t))},[Object(wt.m)(c,{to:{name:"chats",params:{username:e.currentUser.screen_name}},style:{position:"relative"}},{default:Object(wt.V)(()=>[Object(wt.m)(a,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"comments"}),Object(wt.l)(" "+Object(wt.O)(e.$t("nav.chats"))+" ",1),e.unreadChatCount?(Object(wt.D)(),Object(wt.j)("span",Ko,Object(wt.O)(e.unreadChatCount),1)):Object(wt.i)("",!0)]),_:1},8,["to"])])):Object(wt.i)("",!0)]),e.currentUser?(Object(wt.D)(),Object(wt.j)("ul",Xo,[Object(wt.k)("li",{onClick:t[4]||(t[4]=(...t)=>e.toggleDrawer&&e.toggleDrawer(...t))},[Object(wt.m)(c,{to:{name:"interactions",params:{username:e.currentUser.screen_name}}},{default:Object(wt.V)(()=>[Object(wt.m)(a,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"bell"}),Object(wt.l)(" "+Object(wt.O)(e.$t("nav.interactions")),1)]),_:1},8,["to"])]),e.currentUser.locked?(Object(wt.D)(),Object(wt.j)("li",{key:0,onClick:t[5]||(t[5]=(...t)=>e.toggleDrawer&&e.toggleDrawer(...t))},[Object(wt.m)(c,{to:"/friend-requests"},{default:Object(wt.V)(()=>[Object(wt.m)(a,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"user-plus"}),Object(wt.l)(" "+Object(wt.O)(e.$t("nav.friend_requests"))+" ",1),e.followRequestCount>0?(Object(wt.D)(),Object(wt.j)("span",Zo,Object(wt.O)(e.followRequestCount),1)):Object(wt.i)("",!0)]),_:1})])):Object(wt.i)("",!0),e.shout?(Object(wt.D)(),Object(wt.j)("li",{key:1,onClick:t[6]||(t[6]=(...t)=>e.toggleDrawer&&e.toggleDrawer(...t))},[Object(wt.m)(c,{to:{name:"shout-panel"}},{default:Object(wt.V)(()=>[Object(wt.m)(a,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"bullhorn"}),Object(wt.l)(" "+Object(wt.O)(e.$t("shoutbox.title")),1)]),_:1})])):Object(wt.i)("",!0)])):Object(wt.i)("",!0),Object(wt.k)("ul",null,[e.currentUser||!e.privateMode?(Object(wt.D)(),Object(wt.j)("li",{key:0,onClick:t[7]||(t[7]=(...t)=>e.toggleDrawer&&e.toggleDrawer(...t))},[Object(wt.m)(c,{to:{name:"search"}},{default:Object(wt.V)(()=>[Object(wt.m)(a,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"search"}),Object(wt.l)(" "+Object(wt.O)(e.$t("nav.search")),1)]),_:1})])):Object(wt.i)("",!0),e.currentUser&&e.suggestionsEnabled?(Object(wt.D)(),Object(wt.j)("li",{key:1,onClick:t[8]||(t[8]=(...t)=>e.toggleDrawer&&e.toggleDrawer(...t))},[Object(wt.m)(c,{to:{name:"who-to-follow"}},{default:Object(wt.V)(()=>[Object(wt.m)(a,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"user-plus"}),Object(wt.l)(" "+Object(wt.O)(e.$t("nav.who_to_follow")),1)]),_:1})])):Object(wt.i)("",!0),Object(wt.k)("li",{onClick:t[10]||(t[10]=(...t)=>e.toggleDrawer&&e.toggleDrawer(...t))},[Object(wt.k)("button",{class:"button-unstyled -link -fullwidth",onClick:t[9]||(t[9]=(...t)=>e.openSettingsModal&&e.openSettingsModal(...t))},[Object(wt.m)(a,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"cog"}),Object(wt.l)(" "+Object(wt.O)(e.$t("settings.settings")),1)])]),Object(wt.k)("li",{onClick:t[11]||(t[11]=(...t)=>e.toggleDrawer&&e.toggleDrawer(...t))},[Object(wt.m)(c,{to:{name:"about"}},{default:Object(wt.V)(()=>[Object(wt.m)(a,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"info-circle"}),Object(wt.l)(" "+Object(wt.O)(e.$t("nav.about")),1)]),_:1})]),e.currentUser&&"admin"===e.currentUser.role?(Object(wt.D)(),Object(wt.j)("li",{key:2,onClick:t[12]||(t[12]=(...t)=>e.toggleDrawer&&e.toggleDrawer(...t))},[Object(wt.k)("a",Qo,[Object(wt.m)(a,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"tachometer-alt"}),Object(wt.l)(" "+Object(wt.O)(e.$t("nav.administration")),1)])])):Object(wt.i)("",!0),e.currentUser?(Object(wt.D)(),Object(wt.j)("li",{key:3,onClick:t[14]||(t[14]=(...t)=>e.toggleDrawer&&e.toggleDrawer(...t))},[Object(wt.k)("button",{class:"button-unstyled -link -fullwidth",onClick:t[13]||(t[13]=(...t)=>e.doLogout&&e.doLogout(...t))},[Object(wt.m)(a,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"sign-out-alt"}),Object(wt.l)(" "+Object(wt.O)(e.$t("login.logout")),1)])])):Object(wt.i)("",!0)])],34),Object(wt.k)("div",{class:Object(wt.w)(["side-drawer-click-outside",{"side-drawer-click-outside-closed":e.closed}]),onClick:t[17]||(t[17]=Object(wt.Y)((...t)=>e.toggleDrawer&&e.toggleDrawer(...t),["stop","prevent"]))},null,2)],2)}]]);var is=n(56),os=n.n(is);Tn.c.add(In.S);var ss=new Set(["chats","chat"]),as={data:function(){return{hidden:!1,scrollingDown:!1,inputActive:!1,oldScrollPos:0,amountScrolled:0}},created:function(){this.autohideFloatingPostButton&&this.activateFloatingPostButtonAutohide(),window.addEventListener("resize",this.handleOSK)},unmounted:function(){this.autohideFloatingPostButton&&this.deactivateFloatingPostButtonAutohide(),window.removeEventListener("resize",this.handleOSK)},computed:{isLoggedIn:function(){return!!this.$store.state.users.currentUser},isHidden:function(){return!!ss.has(this.$route.name)||this.autohideFloatingPostButton&&(this.hidden||this.inputActive)},isPersistent:function(){return!!this.$store.getters.mergedConfig.alwaysShowNewPostButton},autohideFloatingPostButton:function(){return!!this.$store.getters.mergedConfig.autohideFloatingPostButton}},watch:{autohideFloatingPostButton:function(e){e?this.activateFloatingPostButtonAutohide():this.deactivateFloatingPostButtonAutohide()}},methods:{activateFloatingPostButtonAutohide:function(){window.addEventListener("scroll",this.handleScrollStart),window.addEventListener("scroll",this.handleScrollEnd)},deactivateFloatingPostButtonAutohide:function(){window.removeEventListener("scroll",this.handleScrollStart),window.removeEventListener("scroll",this.handleScrollEnd)},openPostForm:function(){this.$store.dispatch("openPostStatusModal")},handleOSK:function(){var e=window.innerWidth<350,t=e&&window.innerHeight<345,n=!e&&window.innerWidth<450&&window.innerHeight<560;this.inputActive=!(!t&&!n)},handleScrollStart:os()((function(){window.scrollY>this.oldScrollPos?this.hidden=!0:this.hidden=!1,this.oldScrollPos=window.scrollY}),100,{leading:!0,trailing:!1}),handleScrollEnd:os()((function(){this.hidden=!1,this.oldScrollPos=window.scrollY}),100,{leading:!1,trailing:!0})}};n(545);var cs=Fn()(as,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("FAIcon");return e.isLoggedIn?(Object(wt.D)(),Object(wt.j)("button",{key:0,class:Object(wt.w)(["MobilePostButton button-default new-status-button",{hidden:e.isHidden,"always-show":e.isPersistent}]),onClick:t[0]||(t[0]=(...t)=>e.openPostForm&&e.openPostForm(...t))},[Object(wt.m)(s,{icon:"pen"})],2)):Object(wt.i)("",!0)}]]);const ls={class:"MobileNav"},us={class:"item"},ds={key:0,class:"alert-dot"},ps={class:"item right"},hs={key:0,class:"alert-dot"},bs={class:"mobile-notifications-header"},ms={class:"title"};var fs=n(77);function Os(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}Tn.c.add(In.rb,In.i,In.h);var js={components:{SideDrawer:rs,Notifications:fs.default},data:function(){return{notificationsCloseGesture:void 0,notificationsOpen:!1}},created:function(){this.notificationsCloseGesture=No.swipeGesture(No.DIRECTION_RIGHT,this.closeMobileNotifications,50)},computed:function(e){for(var t=1;t=t.scrollHeight&&this.$refs.notifications.fetchOlderNotifications()}},watch:{$route:function(){this.closeMobileNotifications()}}};n(559);var gs=Fn()(js,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("FAIcon"),a=Object(wt.J)("router-link"),c=Object(wt.J)("SideDrawer");return Object(wt.D)(),Object(wt.j)("div",ls,[Object(wt.k)("nav",{id:"nav",class:"mobile-nav",onClick:t[2]||(t[2]=t=>e.scrollToTop())},[Object(wt.k)("div",us,[Object(wt.k)("button",{class:"button-unstyled mobile-nav-button",onClick:t[0]||(t[0]=Object(wt.Y)(t=>e.toggleMobileSidebar(),["stop","prevent"]))},[Object(wt.m)(s,{class:"fa-scale-110 fa-old-padding",icon:"bars"}),e.unreadChatCount?(Object(wt.D)(),Object(wt.j)("div",ds)):Object(wt.i)("",!0)]),e.hideSitename?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.h)(a,{key:0,class:"site-name",to:{name:"root"},"active-class":"home"},{default:Object(wt.V)(()=>[Object(wt.l)(Object(wt.O)(e.sitename),1)]),_:1}))]),Object(wt.k)("div",ps,[e.currentUser?(Object(wt.D)(),Object(wt.j)("button",{key:0,class:"button-unstyled mobile-nav-button",onClick:t[1]||(t[1]=Object(wt.Y)(t=>e.openMobileNotifications(),["stop","prevent"]))},[Object(wt.m)(s,{class:"fa-scale-110 fa-old-padding",icon:"bell"}),e.unseenNotificationsCount?(Object(wt.D)(),Object(wt.j)("div",hs)):Object(wt.i)("",!0)])):Object(wt.i)("",!0)])]),e.currentUser?(Object(wt.D)(),Object(wt.j)("div",{key:0,class:Object(wt.w)(["mobile-notifications-drawer",{"-closed":!e.notificationsOpen}]),onTouchstart:t[5]||(t[5]=Object(wt.Y)((...t)=>e.notificationsTouchStart&&e.notificationsTouchStart(...t),["stop"])),onTouchmove:t[6]||(t[6]=Object(wt.Y)((...t)=>e.notificationsTouchMove&&e.notificationsTouchMove(...t),["stop"]))},[Object(wt.k)("div",bs,[Object(wt.k)("span",ms,Object(wt.O)(e.$t("notifications.notifications")),1),Object(wt.k)("a",{class:"mobile-nav-button",onClick:t[3]||(t[3]=Object(wt.Y)(t=>e.closeMobileNotifications(),["stop","prevent"]))},[Object(wt.m)(s,{class:"fa-scale-110 fa-old-padding",icon:"times"})])]),Object(wt.k)("div",{class:"mobile-notifications",id:"mobile-notifications",onScroll:t[4]||(t[4]=(...t)=>e.onScroll&&e.onScroll(...t))},null,32)],34)):Object(wt.i)("",!0),Object(wt.m)(c,{ref:"sideDrawer",logout:e.logout},null,8,["logout"])])}]]);const vs={class:"inner-nav"},ys={class:"item sitename"},ws=["src"],ks={class:"item right actions"};const _s=["title"],Ss=["placeholder"];Tn.c.add(In.rb,In.cb);var Cs={data:function(){return{searchTerm:void 0,hidden:!0,error:!1}},watch:{$route:function(e){"search"===e.name&&(this.searchTerm=e.query.query)}},methods:{find:function(e){this.$router.push({name:"search",query:{query:e}}),this.$refs.searchInput.focus()},toggleHidden:function(){var e=this;this.hidden=!this.hidden,this.$emit("toggled",this.hidden),this.$nextTick((function(){e.hidden||e.$refs.searchInput.focus()}))}}};n(560);var Ps=Fn()(Cs,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("FAIcon");return Object(wt.D)(),Object(wt.j)("div",{class:Object(wt.w)(["SearchBar",{"-expanded":!e.hidden}])},[e.hidden?(Object(wt.D)(),Object(wt.j)("button",{key:0,class:"button-unstyled nav-icon",title:e.$t("nav.search"),type:"button",onClick:t[0]||(t[0]=Object(wt.Y)((...t)=>e.toggleHidden&&e.toggleHidden(...t),["prevent","stop"]))},[Object(wt.m)(s,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"search"})],8,_s)):(Object(wt.D)(),Object(wt.j)(wt.a,{key:1},[Object(wt.W)(Object(wt.k)("input",{id:"search-bar-input",ref:"searchInput","onUpdate:modelValue":t[1]||(t[1]=t=>e.searchTerm=t),class:"search-bar-input",placeholder:e.$t("nav.search"),type:"text",onKeyup:t[2]||(t[2]=Object(wt.X)(t=>e.find(e.searchTerm),["enter"]))},null,40,Ss),[[wt.S,e.searchTerm]]),Object(wt.k)("button",{class:"button-default search-button",type:"submit",onClick:t[3]||(t[3]=t=>e.find(e.searchTerm))},[Object(wt.m)(s,{"fixed-width":"",icon:"search"})]),Object(wt.k)("button",{class:"button-unstyled cancel-search",type:"button",onClick:t[4]||(t[4]=Object(wt.Y)((...t)=>e.toggleHidden&&e.toggleHidden(...t),["prevent","stop"]))},[Object(wt.m)(s,{"fixed-width":"",icon:"times",class:"cancel-icon fa-scale-110 fa-old-padding"})])],64))],2)}]]);Tn.c.add(In.gb,In.hb,In.J,In.t,In.i,In.vb,In.l,In.cb,In.ob,In.s,In.M);var xs={components:{SearchBar:Ps},data:function(){return{searchBarHidden:!0,supportsMask:window.CSS&&window.CSS.supports&&(window.CSS.supports("mask-size","contain")||window.CSS.supports("-webkit-mask-size","contain")||window.CSS.supports("-moz-mask-size","contain")||window.CSS.supports("-ms-mask-size","contain")||window.CSS.supports("-o-mask-size","contain"))}},computed:{enableMask:function(){return this.supportsMask&&this.$store.state.instance.logoMask},logoStyle:function(){return{visibility:this.enableMask?"hidden":"visible"}},logoMaskStyle:function(){return this.enableMask?{"mask-image":"url(".concat(this.$store.state.instance.logo,")")}:{"background-color":this.enableMask?"":"transparent"}},logoBgStyle:function(){return Object.assign({margin:"".concat(this.$store.state.instance.logoMargin," 0"),opacity:this.searchBarHidden?1:0},this.enableMask?{}:{"background-color":this.enableMask?"":"transparent"})},logo:function(){return this.$store.state.instance.logo},sitename:function(){return this.$store.state.instance.name},hideSitename:function(){return this.$store.state.instance.hideSitename},logoLeft:function(){return this.$store.state.instance.logoLeft},currentUser:function(){return this.$store.state.users.currentUser},privateMode:function(){return this.$store.state.instance.private}},methods:{scrollToTop:function(){window.scrollTo(0,0)},logout:function(){this.$router.replace("/main/public"),this.$store.dispatch("logout")},onSearchBarToggled:function(e){this.searchBarHidden=e},openSettingsModal:function(){this.$store.dispatch("openSettingsModal")}}};n(561);var Ds=Fn()(xs,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("router-link"),a=Object(wt.J)("search-bar"),c=Object(wt.J)("FAIcon");return Object(wt.D)(),Object(wt.j)("nav",{id:"nav",class:Object(wt.w)(["DesktopNav",{"-logoLeft":e.logoLeft}]),onClick:t[4]||(t[4]=t=>e.scrollToTop())},[Object(wt.k)("div",vs,[Object(wt.k)("div",ys,[e.hideSitename?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.h)(s,{key:0,class:"site-name",to:{name:"root"},"active-class":"home"},{default:Object(wt.V)(()=>[Object(wt.l)(Object(wt.O)(e.sitename),1)]),_:1}))]),Object(wt.m)(s,{class:"logo",to:{name:"root"},style:Object(wt.x)(e.logoBgStyle)},{default:Object(wt.V)(()=>[Object(wt.k)("div",{class:"mask",style:Object(wt.x)(e.logoMaskStyle)},null,4),Object(wt.k)("img",{src:e.logo,style:Object(wt.x)(e.logoStyle)},null,12,ws)]),_:1},8,["style"]),Object(wt.k)("div",ks,[e.currentUser||!e.privateMode?(Object(wt.D)(),Object(wt.h)(a,{key:0,onToggled:e.onSearchBarToggled,onClick:t[0]||(t[0]=Object(wt.Y)(()=>{},["stop"]))},null,8,["onToggled"])):Object(wt.i)("",!0),Object(wt.k)("button",{class:"button-unstyled nav-icon",onClick:t[1]||(t[1]=Object(wt.Y)((...t)=>e.openSettingsModal&&e.openSettingsModal(...t),["stop"]))},[Object(wt.m)(c,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"cog",title:e.$t("nav.preferences")},null,8,["title"])]),e.currentUser&&"admin"===e.currentUser.role?(Object(wt.D)(),Object(wt.j)("a",{key:1,href:"/pleroma/admin/#/login-pleroma",class:"nav-icon",target:"_blank",onClick:t[2]||(t[2]=Object(wt.Y)(()=>{},["stop"]))},[Object(wt.m)(c,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"tachometer-alt",title:e.$t("nav.administration")},null,8,["title"])])):Object(wt.i)("",!0),e.currentUser?(Object(wt.D)(),Object(wt.j)("button",{key:2,class:"button-unstyled nav-icon",onClick:t[3]||(t[3]=Object(wt.Y)((...t)=>e.logout&&e.logout(...t),["prevent"]))},[Object(wt.m)(c,{"fixed-width":"",class:"fa-scale-110 fa-old-padding",icon:"sign-out-alt",title:e.$t("login.logout")},null,8,["title"])])):Object(wt.i)("",!0)])])],2)}]]);const Ts={class:"user-reporting-panel panel"},Is={class:"panel-heading"},$s={class:"title"},zs={class:"panel-body"},Ms={class:"user-reporting-panel-left"},Us=["placeholder"],Fs={key:0},Es=["disabled"],Ls={key:0,class:"alert error"},Rs={class:"user-reporting-panel-right"},As={class:"status-fadein user-reporting-panel-sitem"};var Ns=n(34),Bs=n(69);function Vs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var Hs={components:{Status:Ns.default,List:Bs.a,Checkbox:lo.a,Modal:Zi},data:function(){return{comment:"",forward:!1,statusIdsToReport:[],processing:!1,error:!1}},computed:{isLoggedIn:function(){return!!this.$store.state.users.currentUser},isOpen:function(){return this.isLoggedIn&&this.$store.state.reports.modalActivated},userId:function(){return this.$store.state.reports.userId},user:function(){return this.$store.getters.findUser(this.userId)},remoteInstance:function(){return!this.user.is_local&&this.user.screen_name.substr(this.user.screen_name.indexOf("@")+1)},statuses:function(){return this.$store.state.reports.statuses},preTickedIds:function(){return this.$store.state.reports.preTickedIds}},watch:{userId:"resetState",preTickedIds:function(e){this.statusIdsToReport=e}},methods:{resetState:function(){this.comment="",this.forward=!1,this.statusIdsToReport=this.preTickedIds,this.processing=!1,this.error=!1},closeModal:function(){this.$store.dispatch("closeUserReportingModal")},reportUser:function(){var e=this;this.processing=!0,this.error=!1;var t={userId:this.userId,comment:this.comment,forward:this.forward,statusIds:this.statusIdsToReport};this.$store.state.api.backendInteractor.reportUser(function(e){for(var t=1;t[Object(wt.k)("div",Ts,[Object(wt.k)("div",Is,[Object(wt.k)("div",$s,Object(wt.O)(e.$t("user_reporting.title",[e.user.screen_name_ui])),1)]),Object(wt.k)("div",zs,[Object(wt.k)("div",Ms,[Object(wt.k)("div",null,[Object(wt.k)("p",null,Object(wt.O)(e.$t("user_reporting.add_comment_description")),1),Object(wt.W)(Object(wt.k)("textarea",{"onUpdate:modelValue":t[0]||(t[0]=t=>e.comment=t),class:"form-control",placeholder:e.$t("user_reporting.additional_comments"),rows:"1",onInput:t[1]||(t[1]=(...t)=>e.resize&&e.resize(...t))},null,40,Us),[[wt.S,e.comment]])]),e.user.is_local?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("div",Fs,[Object(wt.k)("p",null,Object(wt.O)(e.$t("user_reporting.forward_description")),1),Object(wt.m)(s,{modelValue:e.forward,"onUpdate:modelValue":t[2]||(t[2]=t=>e.forward=t)},{default:Object(wt.V)(()=>[Object(wt.l)(Object(wt.O)(e.$t("user_reporting.forward_to",[e.remoteInstance])),1)]),_:1},8,["modelValue"])])),Object(wt.k)("div",null,[Object(wt.k)("button",{class:"btn button-default",disabled:e.processing,onClick:t[3]||(t[3]=(...t)=>e.reportUser&&e.reportUser(...t))},Object(wt.O)(e.$t("user_reporting.submit")),9,Es),e.error?(Object(wt.D)(),Object(wt.j)("div",Ls,Object(wt.O)(e.$t("user_reporting.generic_error")),1)):Object(wt.i)("",!0)])]),Object(wt.k)("div",Rs,[Object(wt.m)(c,{items:e.statuses},{item:Object(wt.V)(({item:t})=>[Object(wt.k)("div",As,[Object(wt.m)(a,{"in-conversation":!1,focused:!1,statusoid:t},null,8,["statusoid"]),Object(wt.m)(s,{"model-value":e.isChecked(t.id),"onUpdate:modelValue":n=>e.toggleStatus(n,t.id)},null,8,["model-value","onUpdate:modelValue"])])]),_:1},8,["items"])])])])]),_:1},8,["onBackdropClicked"])):Object(wt.i)("",!0)}]]);const Js={class:"post-form-modal-panel panel"},Ws={class:"panel-heading"};var Ys={components:{PostStatusForm:Or.a,Modal:Zi},data:function(){return{resettingForm:!1}},computed:{isLoggedIn:function(){return!!this.$store.state.users.currentUser},modalActivated:function(){return this.$store.state.postStatus.modalActivated},isFormVisible:function(){return this.isLoggedIn&&!this.resettingForm&&this.modalActivated},params:function(){return this.$store.state.postStatus.params||{}}},watch:{params:function(e,t){var n=this;qt()(e,"repliedUser.id")!==qt()(t,"repliedUser.id")&&(this.resettingForm=!0,this.$nextTick((function(){n.resettingForm=!1})))},isFormVisible:function(e){var t=this;e&&this.$nextTick((function(){return t.$el&&t.$el.querySelector("textarea").focus()}))}},methods:{closeModal:function(){this.$store.dispatch("closePostStatusModal")}}};n(564);var Gs=Fn()(Ys,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("PostStatusForm"),a=Object(wt.J)("Modal");return e.isLoggedIn&&!e.resettingForm?(Object(wt.D)(),Object(wt.h)(a,{key:0,"is-open":e.modalActivated,class:"post-form-modal-view",onBackdropClicked:e.closeModal},{default:Object(wt.V)(()=>[Object(wt.k)("div",Js,[Object(wt.k)("div",Ws,Object(wt.O)(e.$t("post_status.new_status")),1),Object(wt.m)(s,Object(wt.u)({class:"panel-body"},e.params,{onPosted:e.closeModal}),null,16,["onPosted"])])]),_:1},8,["is-open","onBackdropClicked"])):Object(wt.i)("",!0)}]]);const Ks={class:"global-notice-list"},Xs={class:"notice-message"},Zs=["onClick"];Tn.c.add(In.rb);var Qs={computed:{notices:function(){return this.$store.state.interface.globalNotices}},methods:{closeNotice:function(e){this.$store.dispatch("removeGlobalNotice",e)}}};n(565);var ea=Fn()(Qs,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("FAIcon");return Object(wt.D)(),Object(wt.j)("div",Ks,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.notices,(t,n)=>(Object(wt.D)(),Object(wt.j)("div",{key:n,class:Object(wt.w)(["alert global-notice",{["global-"+t.level]:!0}])},[Object(wt.k)("div",Xs,Object(wt.O)(e.$t(t.messageKey,t.messageArgs)),1),Object(wt.k)("button",{class:"button-unstyled close-notice",onClick:n=>e.closeNotice(t)},[Object(wt.m)(s,{class:"fa-scale-110 fa-old-padding",icon:"times"})],8,Zs)],2))),128))])}]]);function ta(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var na={name:"app",components:{UserPanel:yr,NavPanel:Br,Notifications:Object(wt.n)((function(){return Promise.resolve().then(n.bind(null,77))})),InstanceSpecificPanel:Yr,FeaturesPanel:ai,WhoToFollowPanel:yi,ShoutPanel:Fi,MediaModal:Jo,SideDrawer:rs,MobilePostStatusButton:cs,MobileNav:gs,DesktopNav:Ds,SettingsModal:fo,UserReportingModal:qs,PostStatusModal:Gs,GlobalNoticeList:ea},data:function(){return{mobileActivePanel:"timeline"}},created:function(){var e=this.$store.getters.mergedConfig.interfaceLanguage;this.$store.dispatch("setOption",{name:"interfaceLanguage",value:e}),window.addEventListener("resize",this.updateMobileState)},unmounted:function(){window.removeEventListener("resize",this.updateMobileState)},computed:function(e){for(var t=1;t[Object(wt.l)(Object(wt.O)(e.$t("login.hint")),1)]),_:1})])),Object(wt.m)(m)],2),Object(wt.k)("div",{id:"notifs-column",class:Object(wt.w)(["column -scrollable",{"-show-scrollbar":e.showScrollbars}])},null,2)],2),Object(wt.m)(f),e.currentUser&&e.shout&&!e.hideShoutbox?(Object(wt.D)(),Object(wt.h)(O,{key:3,floating:!0,class:Object(wt.w)(["floating-shout mobile-hidden",{"-left":e.shoutboxPosition}])},null,8,["class"])):Object(wt.i)("",!0),Object(wt.m)(j),Object(wt.m)(g),Object(wt.m)(v),Object(wt.m)(y),dn,Object(wt.m)(w)],4)}]]);const ia={ref:"timeline",class:"timeline"},oa={key:0,class:"new-status-notification text-center faint"},sa={key:1,class:"new-status-notification text-center faint"},aa={class:"new-status-notification text-center"},ca={key:3,class:"new-status-notification text-center"};var la=n(331),ua=n.n(la),da=n(102),pa=n.n(da);const ha={key:0,class:"panel-heading conversation-heading -sticky"},ba={class:"title"},ma={class:"conversation-body panel-body"},fa={key:0,class:"thread-body"},Oa={key:0,class:"conversation-dive-to-top-level-box"},ja={key:1,class:"thread-ancestors"},ga={key:0,class:"thread-ancestor-dive-box"},va={class:"thread-ancestor-dive-box-inner"},ya={key:1,class:"thread-body"};var wa=n(332),ka=n.n(wa);const _a={class:"thread-tree"},Sa={key:0,class:"thread-tree-replies"},Ca={key:1,class:"thread-tree-replies thread-tree-replies-hidden"};Tn.c.add(In.c,In.e);var Pa={components:{Status:Ns.default},name:"ThreadTree",props:{depth:Number,status:Object,inProfile:Boolean,conversation:Array,collapsable:Boolean,isExpanded:Boolean,pinnedStatusIdsObject:Object,profileUserId:String,focused:Function,highlight:String,getReplies:Function,setHighlight:Function,toggleExpanded:Function,simple:Boolean,toggleThreadDisplay:Function,threadDisplayStatus:Object,showThreadRecursively:Function,totalReplyCount:Object,totalReplyDepth:Object,statusContentProperties:Object,setStatusContentProperty:Function,toggleStatusContentProperty:Function,dive:Function},computed:{suspendable:function(){var e=!this.$refs.statusComponent||this.$refs.statusComponent.suspendable;return this.$refs.childComponent?e&&this.$refs.childComponent.every((function(e){return e.suspendable})):e},reverseLookupTable:function(){return this.conversation.reduce((function(e,t,n){return e[t.id]=n,e}),{})},currentReplies:function(){var e=this;return this.getReplies(this.status.id).map((function(t){var n=t.id;return e.statusById(n)}))},threadShowing:function(){return"showing"===this.threadDisplayStatus[this.status.id]},currentProp:function(){return this.statusContentProperties[this.status.id]}},methods:{statusById:function(e){return this.conversation[this.reverseLookupTable[e]]},collapseThread:function(){},showThread:function(){},showAllSubthreads:function(){},toggleCurrentProp:function(e){this.toggleStatusContentProperty(this.status.id,e)},setCurrentProp:function(e,t){this.setStatusContentProperty(this.status.id,e)}}};n(569);var xa=Fn()(Pa,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("status"),a=Object(wt.J)("thread-tree"),c=Object(wt.J)("FAIcon"),l=Object(wt.J)("i18n-t");return Object(wt.D)(),Object(wt.j)("div",_a,[(Object(wt.D)(),Object(wt.h)(s,{key:e.status.id,ref:"statusComponent","inline-expanded":e.collapsable&&e.isExpanded,statusoid:e.status,expandable:!e.isExpanded,"show-pinned":e.pinnedStatusIdsObject&&e.pinnedStatusIdsObject[e.status.id],focused:e.focused(e.status.id),"in-conversation":e.isExpanded,highlight:e.highlight,replies:e.getReplies(e.status.id),"in-profile":e.inProfile,"profile-user-id":e.profileUserId,class:"conversation-status conversation-status-treeview status-fadein panel-body","simple-tree":e.simple,"controlled-thread-display-status":e.threadDisplayStatus[e.status.id],"controlled-toggle-thread-display":()=>e.toggleThreadDisplay(e.status.id),"controlled-showing-tall":e.currentProp.showingTall,"controlled-expanding-subject":e.currentProp.expandingSubject,"controlled-showing-long-subject":e.currentProp.showingLongSubject,"controlled-replying":e.currentProp.replying,"controlled-media-playing":e.currentProp.mediaPlaying,"controlled-toggle-showing-tall":()=>e.toggleCurrentProp("showingTall"),"controlled-toggle-expanding-subject":()=>e.toggleCurrentProp("expandingSubject"),"controlled-toggle-showing-long-subject":()=>e.toggleCurrentProp("showingLongSubject"),"controlled-toggle-replying":()=>e.toggleCurrentProp("replying"),"controlled-set-media-playing":t=>e.setCurrentProp("mediaPlaying",t),dive:e.dive?()=>e.dive(e.status.id):void 0,onGoto:e.setHighlight,onToggleExpanded:e.toggleExpanded},null,8,["inline-expanded","statusoid","expandable","show-pinned","focused","in-conversation","highlight","replies","in-profile","profile-user-id","simple-tree","controlled-thread-display-status","controlled-toggle-thread-display","controlled-showing-tall","controlled-expanding-subject","controlled-showing-long-subject","controlled-replying","controlled-media-playing","controlled-toggle-showing-tall","controlled-toggle-expanding-subject","controlled-toggle-showing-long-subject","controlled-toggle-replying","controlled-set-media-playing","dive","onGoto","onToggleExpanded"])),e.currentReplies.length&&e.threadShowing?(Object(wt.D)(),Object(wt.j)("div",Sa,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.currentReplies,t=>(Object(wt.D)(),Object(wt.h)(a,{key:t.id,ref_for:!0,ref:"childComponent",depth:e.depth+1,status:t,"in-profile":e.inProfile,conversation:e.conversation,collapsable:e.collapsable,"is-expanded":e.isExpanded,"pinned-status-ids-object":e.pinnedStatusIdsObject,"profile-user-id":e.profileUserId,focused:e.focused,"get-replies":e.getReplies,highlight:e.highlight,"set-highlight":e.setHighlight,"toggle-expanded":e.toggleExpanded,simple:e.simple,"toggle-thread-display":e.toggleThreadDisplay,"thread-display-status":e.threadDisplayStatus,"show-thread-recursively":e.showThreadRecursively,"total-reply-count":e.totalReplyCount,"total-reply-depth":e.totalReplyDepth,"status-content-properties":e.statusContentProperties,"set-status-content-property":e.setStatusContentProperty,"toggle-status-content-property":e.toggleStatusContentProperty,dive:e.dive},null,8,["depth","status","in-profile","conversation","collapsable","is-expanded","pinned-status-ids-object","profile-user-id","focused","get-replies","highlight","set-highlight","toggle-expanded","simple","toggle-thread-display","thread-display-status","show-thread-recursively","total-reply-count","total-reply-depth","status-content-properties","set-status-content-property","toggle-status-content-property","dive"]))),128))])):Object(wt.i)("",!0),e.currentReplies.length&&!e.threadShowing?(Object(wt.D)(),Object(wt.j)("div",Ca,[e.simple?(Object(wt.D)(),Object(wt.h)(l,{key:0,scope:"global",tag:"button",keypath:"status.thread_follow_with_icon",class:"button-unstyled -link thread-tree-show-replies-button",onClick:t[0]||(t[0]=Object(wt.Y)(t=>e.dive(e.status.id),["prevent"]))},{icon:Object(wt.V)(()=>[Object(wt.m)(c,{icon:"angle-double-right"})]),text:Object(wt.V)(()=>[Object(wt.k)("span",null,Object(wt.O)(e.$tc("status.thread_follow",e.totalReplyCount[e.status.id],{numStatus:e.totalReplyCount[e.status.id]})),1)]),_:1})):(Object(wt.D)(),Object(wt.h)(l,{key:1,scope:"global",tag:"button",keypath:"status.thread_show_full_with_icon",class:"button-unstyled -link thread-tree-show-replies-button",onClick:t[1]||(t[1]=Object(wt.Y)(t=>e.showThreadRecursively(e.status.id),["prevent"]))},{icon:Object(wt.V)(()=>[Object(wt.m)(c,{icon:"angle-double-down"})]),text:Object(wt.V)(()=>[Object(wt.k)("span",null,Object(wt.O)(e.$tc("status.thread_show_full",e.totalReplyCount[e.status.id],{numStatus:e.totalReplyCount[e.status.id],depth:e.totalReplyDepth[e.status.id]})),1)]),_:1}))])):Object(wt.i)("",!0)])}]]);function Da(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ta(e){for(var t=1;t=1?e:1},displayStyle:function(){return this.$store.getters.mergedConfig.conversationDisplay},isTreeView:function(){return!this.isLinearView},treeViewIsSimple:function(){return!this.$store.getters.mergedConfig.conversationTreeAdvanced},isLinearView:function(){return"linear"===this.displayStyle},shouldFadeAncestors:function(){return this.$store.getters.mergedConfig.conversationTreeFadeAncestors},otherRepliesButtonPosition:function(){return this.$store.getters.mergedConfig.conversationOtherRepliesButton},showOtherRepliesButtonBelowStatus:function(){return"below"===this.otherRepliesButtonPosition},showOtherRepliesButtonInsideStatus:function(){return"inside"===this.otherRepliesButtonPosition},suspendable:function(){return this.isTreeView?Object.entries(this.statusContentProperties).every((function(e){var t=m()(e,2),n=(t[0],t[1]);return!n.replying&&0===n.mediaPlaying.length})):!this.$refs.statusComponent||!this.$refs.statusComponent[0]||this.$refs.statusComponent.every((function(e){return e.suspendable}))},hideStatus:function(){return this.virtualHidden&&this.suspendable},status:function(){return this.$store.state.statuses.allStatusesObject[this.statusId]},originalStatusId:function(){return this.status.retweeted_status?this.status.retweeted_status.id:this.statusId},conversationId:function(){return this.getConversationId(this.statusId)},conversation:function(){if(!this.status)return[];if(!this.isExpanded)return[this.status];var e=ka()(this.$store.state.statuses.conversationsObject[this.conversationId]),t=A()(e,{id:this.originalStatusId});return-1!==t&&(e[t]=this.status),function(e,t){return(e="retweet"===t.type?bt()(e,(function(e){return"retweet"===e.type||e.id!==t.retweeted_status.id})):bt()(e,(function(e){return"retweet"!==e.type}))).filter((function(e){return e})).sort(Ia)}(e,this.status)},statusMap:function(){return this.conversation.reduce((function(e,t){return e[t.id]=t,e}),{})},threadTree:function(){var e=this,t=this.conversation.reduce((function(e,t,n){return e[t.id]=n,e}),{});return function n(r,i){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return i.map((function(i){return s[i]?[]:(s[i]=!0,[{status:e.conversation[t[i]],id:i,depth:o},n(r,r[i],o+1,s)].reduce((function(e,t){return e.concat(t)}),[]))})).reduce((function(e,t){return e.concat(t)}),[])}(this.conversation.reduce((function(t,n){var r=n.id;return t.forest[r]=e.getReplies(r).map((function(e){return e.id})),t}),{forest:{}}).forest,this.topLevel.map((function(e){return e.id})))},replyIds:function(){var e=this;return this.conversation.map((function(e){return e.id})).reduce((function(t,n){return t[n]=(e.replies[n]||[]).map((function(e){return e.id})),t}),{})},totalReplyCount:function(){var e=this,t={};return this.conversation.map((function(e){return e.id})).map((function n(r){return t[r]||(t[r]=1+e.replyIds[r].map((function(e){return n(e)})).reduce((function(e,t){return e+t}),0)),t[r]})),Object.keys(t).reduce((function(e,n){return e[n]=t[n]-1,e}),{})},totalReplyDepth:function(){var e=this,t={};return this.conversation.map((function(e){return e.id})).map((function n(r){return t[r]||(t[r]=1+e.replyIds[r].map((function(e){return n(e)})).reduce((function(e,t){return e>t?e:t}),0)),t[r]})),Object.keys(t).reduce((function(e,n){return e[n]=t[n]-1,e}),{})},depths:function(){return this.threadTree.reduce((function(e,t){return e[t.id]=t.depth,e}),{})},topLevel:function(){var e=this,t=this.conversation.reduce((function(t,n){return t.filter((function(t){return-1===e.getReplies(n.id).map((function(e){return e.id})).indexOf(t.id)}))}),this.conversation);return t},otherTopLevelCount:function(){return this.topLevel.length-1},showingTopLevel:function(){return this.canDive&&this.diveRoot?[this.statusMap[this.diveRoot]]:this.topLevel},diveRoot:function(){var e=this.inlineDivePosition||this.statusId;return!this.parentOf(e)?null:e},diveDepth:function(){return this.canDive&&this.diveRoot?this.depths[this.diveRoot]:0},diveMode:function(){return this.canDive&&!!this.diveRoot},shouldShowAllConversationButton:function(){return this.isTreeView&&this.isExpanded&&this.diveMode&&this.topLevel.length>1},shouldShowAncestors:function(){return this.isTreeView&&this.isExpanded&&this.ancestorsOf(this.diveRoot).length},replies:function(){var e=1;return De()(this.conversation,(function(t,n){var r=n.id,i=n.in_reply_to_status_id;return i&&(t[i]=t[i]||[],t[i].push({name:"#".concat(e),id:r})),e++,t}),{})},isExpanded:function(){return!(!this.expanded&&!this.isPage)},hiddenStyle:function(){var e=this.status&&this.status.virtualHeight||"120px";return this.virtualHidden?{height:e}:{}},threadDisplayStatus:function(){var e=this;return this.conversation.reduce((function(t,n){var r=n.id,i=e.depths[r],o=e.threadDisplayStatusObject[r]?e.threadDisplayStatusObject[r]:i-e.diveDepth<=e.maxDepthToShowByDefault?"showing":"hidden";return t[r]=o,t}),{})},statusContentProperties:function(){var e=this;return this.conversation.reduce((function(t,n){var r,i=n.id,o=(r={showingTall:!1,expandingSubject:!1,showingLongSubject:!1,isReplying:!1,mediaPlaying:[]},e.statusContentPropertiesObject[i]?Ta(Ta({},r),e.statusContentPropertiesObject[i]):r);return t[i]=o,t}),{})},canDive:function(){return this.isTreeView&&this.isExpanded},focused:function(){var e=this;return function(t){return e.isExpanded&&t===e.highlight}},maybeHighlight:function(){return this.isExpanded?this.highlight:null}},components:{Status:Ns.default,ThreadTree:xa},watch:{statusId:function(e,t){var n=this.getConversationId(e),r=this.getConversationId(t);n&&r&&n===r?this.setHighlight(this.originalStatusId):this.fetchConversation()},expanded:function(e){e?this.fetchConversation():this.resetDisplayState()},virtualHidden:function(e){this.$store.dispatch("setVirtualHeight",{statusId:this.statusId,height:"".concat(this.$el.clientHeight,"px")})}},methods:{fetchConversation:function(){var e=this;this.status?this.$store.state.api.backendInteractor.fetchConversation({id:this.statusId}).then((function(t){var n=t.ancestors,r=t.descendants;e.$store.dispatch("addNewStatuses",{statuses:n}),e.$store.dispatch("addNewStatuses",{statuses:r}),e.setHighlight(e.originalStatusId)})):this.$store.state.api.backendInteractor.fetchStatus({id:this.statusId}).then((function(t){e.$store.dispatch("addNewStatuses",{statuses:[t]}),e.fetchConversation()}))},getReplies:function(e){return this.replies[e]||[]},getHighlight:function(){return this.isExpanded?this.highlight:null},setHighlight:function(e){e&&(this.highlight=e,this.$store.dispatch("fetchFavsAndRepeats",e),this.$store.dispatch("fetchEmojiReactionsBy",e))},toggleExpanded:function(){this.expanded=!this.expanded},getConversationId:function(e){var t=this.$store.state.statuses.allStatusesObject[e];return qt()(t,"retweeted_status.statusnet_conversation_id",qt()(t,"statusnet_conversation_id"))},setThreadDisplay:function(e,t){this.threadDisplayStatusObject=Ta(Ta({},this.threadDisplayStatusObject),{},h()({},e,t))},toggleThreadDisplay:function(e){var t="showing"===this.threadDisplayStatus[e]?"hidden":"showing";this.setThreadDisplay(e,t)},setThreadDisplayRecursively:function(e,t){var n=this;this.setThreadDisplay(e,t),this.getReplies(e).map((function(e){return e.id})).map((function(e){return n.setThreadDisplayRecursively(e,t)}))},showThreadRecursively:function(e){this.setThreadDisplayRecursively(e,"showing")},setStatusContentProperty:function(e,t,n){this.statusContentPropertiesObject=Ta(Ta({},this.statusContentPropertiesObject),{},h()({},e,Ta(Ta({},this.statusContentPropertiesObject[e]),{},h()({},t,n))))},toggleStatusContentProperty:function(e,t){this.setStatusContentProperty(e,t,!this.statusContentProperties[e][t])},leastVisibleAncestor:function(e){for(var t=e,n=this.parentOf(t);t;){if("showing"===this.threadDisplayStatus[n])return t;n=this.parentOf(n),t=this.parentOf(t)}return this.topLevel[0]?this.topLevel[0].id:void 0},diveIntoStatus:function(e,t){this.tryScrollTo(e)},diveToTopLevel:function(){this.tryScrollTo(this.topLevelAncestorOrSelfId(this.diveRoot)||this.topLevel[0].id)},undive:function(){this.inlineDivePosition=null,this.setHighlight(this.statusId)},tryScrollTo:function(e){var t=this;e&&(this.isPage?this.$router.push({name:"conversation",params:{id:e}}):this.inlineDivePosition=e,this.$nextTick((function(){t.setHighlight(e)})))},goToCurrent:function(){this.tryScrollTo(this.diveRoot||this.topLevel[0].id)},statusById:function(e){return this.statusMap[e]},parentOf:function(e){var t=this.statusById(e);if(t){var n=t.in_reply_to_status_id;if(this.statusMap[n])return n}},parentOrSelf:function(e){return this.parentOf(e)||e},ancestorsOf:function(e){for(var t=[],n=this.parentOf(e);n;)t.unshift(this.statusMap[n]),n=this.parentOf(n);return t},topLevelAncestorOrSelfId:function(e){for(var t=e,n=this.parentOf(e);n;)t=this.parentOf(t),n=this.parentOf(n);return t},resetDisplayState:function(){this.undive(),this.threadDisplayStatusObject={}}}};n(570);var za=Fn()($a,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("FAIcon"),a=Object(wt.J)("i18n-t"),c=Object(wt.J)("status"),l=Object(wt.J)("thread-tree");return e.hideStatus?(Object(wt.D)(),Object(wt.j)("div",{key:1,style:Object(wt.x)(e.hiddenStyle)},null,4)):(Object(wt.D)(),Object(wt.j)("div",{key:0,style:Object(wt.x)(e.hiddenStyle),class:Object(wt.w)(["Conversation",{"-expanded":e.isExpanded,panel:e.isExpanded}])},[e.isExpanded?(Object(wt.D)(),Object(wt.j)("div",ha,[Object(wt.k)("span",ba,Object(wt.O)(e.$t("timeline.conversation")),1),e.collapsable?(Object(wt.D)(),Object(wt.j)("button",{key:0,class:"button-unstyled -link",onClick:t[0]||(t[0]=Object(wt.Y)((...t)=>e.toggleExpanded&&e.toggleExpanded(...t),["prevent"]))},Object(wt.O)(e.$t("timeline.collapse")),1)):Object(wt.i)("",!0)])):Object(wt.i)("",!0),Object(wt.k)("div",ma,[e.isTreeView?(Object(wt.D)(),Object(wt.j)("div",fa,[e.shouldShowAllConversationButton?(Object(wt.D)(),Object(wt.j)("div",Oa,[Object(wt.m)(a,{keypath:"status.show_all_conversation_with_icon",tag:"button",class:"button-unstyled -link",onClick:Object(wt.Y)(e.diveToTopLevel,["prevent"]),scope:"global"},{icon:Object(wt.V)(()=>[Object(wt.m)(s,{icon:"angle-double-left"})]),text:Object(wt.V)(()=>[Object(wt.k)("span",null,Object(wt.O)(e.$tc("status.show_all_conversation",e.otherTopLevelCount,{numStatus:e.otherTopLevelCount})),1)]),_:1},8,["onClick"])])):Object(wt.i)("",!0),e.shouldShowAncestors?(Object(wt.D)(),Object(wt.j)("div",ja,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.ancestorsOf(e.diveRoot),t=>(Object(wt.D)(),Object(wt.j)("div",{key:t.id,class:Object(wt.w)(["thread-ancestor",{"thread-ancestor-has-other-replies":e.getReplies(t.id).length>1,"-faded":e.shouldFadeAncestors}])},[Object(wt.m)(c,{ref_for:!0,ref:"statusComponent","inline-expanded":e.collapsable&&e.isExpanded,statusoid:t,expandable:!e.isExpanded,"show-pinned":e.pinnedStatusIdsObject&&e.pinnedStatusIdsObject[t.id],focused:e.focused(t.id),"in-conversation":e.isExpanded,highlight:e.getHighlight(),replies:e.getReplies(t.id),"in-profile":e.inProfile,"profile-user-id":e.profileUserId,class:"conversation-status status-fadein panel-body","simple-tree":e.treeViewIsSimple,"toggle-thread-display":e.toggleThreadDisplay,"thread-display-status":e.threadDisplayStatus,"show-thread-recursively":e.showThreadRecursively,"total-reply-count":e.totalReplyCount,"total-reply-depth":e.totalReplyDepth,"show-other-replies-as-button":e.showOtherRepliesButtonInsideStatus,dive:()=>e.diveIntoStatus(t.id),"controlled-showing-tall":e.statusContentProperties[t.id].showingTall,"controlled-expanding-subject":e.statusContentProperties[t.id].expandingSubject,"controlled-showing-long-subject":e.statusContentProperties[t.id].showingLongSubject,"controlled-replying":e.statusContentProperties[t.id].replying,"controlled-media-playing":e.statusContentProperties[t.id].mediaPlaying,"controlled-toggle-showing-tall":()=>e.toggleStatusContentProperty(t.id,"showingTall"),"controlled-toggle-expanding-subject":()=>e.toggleStatusContentProperty(t.id,"expandingSubject"),"controlled-toggle-showing-long-subject":()=>e.toggleStatusContentProperty(t.id,"showingLongSubject"),"controlled-toggle-replying":()=>e.toggleStatusContentProperty(t.id,"replying"),"controlled-set-media-playing":n=>e.toggleStatusContentProperty(t.id,"mediaPlaying",n),onGoto:e.setHighlight,onToggleExpanded:e.toggleExpanded},null,8,["inline-expanded","statusoid","expandable","show-pinned","focused","in-conversation","highlight","replies","in-profile","profile-user-id","simple-tree","toggle-thread-display","thread-display-status","show-thread-recursively","total-reply-count","total-reply-depth","show-other-replies-as-button","dive","controlled-showing-tall","controlled-expanding-subject","controlled-showing-long-subject","controlled-replying","controlled-media-playing","controlled-toggle-showing-tall","controlled-toggle-expanding-subject","controlled-toggle-showing-long-subject","controlled-toggle-replying","controlled-set-media-playing","onGoto","onToggleExpanded"]),e.showOtherRepliesButtonBelowStatus&&e.getReplies(t.id).length>1?(Object(wt.D)(),Object(wt.j)("div",ga,[Object(wt.k)("div",va,[Object(wt.m)(a,{tag:"button",scope:"global",keypath:"status.ancestor_follow_with_icon",class:"button-unstyled -link thread-tree-show-replies-button",onClick:Object(wt.Y)(n=>e.diveIntoStatus(t.id),["prevent"])},{icon:Object(wt.V)(()=>[Object(wt.m)(s,{icon:"angle-double-right"})]),text:Object(wt.V)(()=>[Object(wt.k)("span",null,Object(wt.O)(e.$tc("status.ancestor_follow",e.getReplies(t.id).length-1,{numReplies:e.getReplies(t.id).length-1})),1)]),_:2},1032,["onClick"])])])):Object(wt.i)("",!0)],2))),128))])):Object(wt.i)("",!0),(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.showingTopLevel,t=>(Object(wt.D)(),Object(wt.h)(l,{key:t.id,ref_for:!0,ref:"statusComponent",depth:0,status:t,"in-profile":e.inProfile,conversation:e.conversation,collapsable:e.collapsable,"is-expanded":e.isExpanded,"pinned-status-ids-object":e.pinnedStatusIdsObject,"profile-user-id":e.profileUserId,focused:e.focused,"get-replies":e.getReplies,highlight:e.maybeHighlight,"set-highlight":e.setHighlight,"toggle-expanded":e.toggleExpanded,simple:e.treeViewIsSimple,"toggle-thread-display":e.toggleThreadDisplay,"thread-display-status":e.threadDisplayStatus,"show-thread-recursively":e.showThreadRecursively,"total-reply-count":e.totalReplyCount,"total-reply-depth":e.totalReplyDepth,"status-content-properties":e.statusContentProperties,"set-status-content-property":e.setStatusContentProperty,"toggle-status-content-property":e.toggleStatusContentProperty,dive:e.canDive?e.diveIntoStatus:void 0},null,8,["status","in-profile","conversation","collapsable","is-expanded","pinned-status-ids-object","profile-user-id","focused","get-replies","highlight","set-highlight","toggle-expanded","simple","toggle-thread-display","thread-display-status","show-thread-recursively","total-reply-count","total-reply-depth","status-content-properties","set-status-content-property","toggle-status-content-property","dive"]))),128))])):Object(wt.i)("",!0),e.isLinearView?(Object(wt.D)(),Object(wt.j)("div",ya,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.conversation,t=>(Object(wt.D)(),Object(wt.h)(c,{key:t.id,ref_for:!0,ref:"statusComponent","inline-expanded":e.collapsable&&e.isExpanded,statusoid:t,expandable:!e.isExpanded,"show-pinned":e.pinnedStatusIdsObject&&e.pinnedStatusIdsObject[t.id],focused:e.focused(t.id),"in-conversation":e.isExpanded,highlight:e.getHighlight(),replies:e.getReplies(t.id),"in-profile":e.inProfile,"profile-user-id":e.profileUserId,class:"conversation-status status-fadein panel-body","toggle-thread-display":e.toggleThreadDisplay,"thread-display-status":e.threadDisplayStatus,"show-thread-recursively":e.showThreadRecursively,"total-reply-count":e.totalReplyCount,"total-reply-depth":e.totalReplyDepth,"status-content-properties":e.statusContentProperties,"set-status-content-property":e.setStatusContentProperty,"toggle-status-content-property":e.toggleStatusContentProperty,onGoto:e.setHighlight,onToggleExpanded:e.toggleExpanded},null,8,["inline-expanded","statusoid","expandable","show-pinned","focused","in-conversation","highlight","replies","in-profile","profile-user-id","toggle-thread-display","thread-display-status","show-thread-recursively","total-reply-count","total-reply-depth","status-content-properties","set-status-content-property","toggle-status-content-property","onGoto","onToggleExpanded"]))),128))])):Object(wt.i)("",!0)])],6))}]]);const Ma={class:"timeline-menu-popover popover-default"},Ua={class:"button-unstyled title timeline-menu-title"},Fa={class:"timeline-title"};Tn.c.add(In.n);var Ea={components:{Popover:co.default,TimelineMenuContent:Lr},data:function(){return{isOpen:!1}},created:function(){({friends:"nav.home_timeline",bookmarks:"nav.bookmarks",dms:"nav.dms","public-timeline":"nav.public_tl","public-external-timeline":"nav.twkn"})[this.$route.name]&&this.$store.dispatch("setLastTimeline",this.$route.name)},methods:{openMenu:function(){var e=this;setTimeout((function(){e.isOpen=!0}),25)},blockOpen:function(e){this.isOpen||e.stopPropagation()},timelineName:function(){var e=this.$route.name;if("tag-timeline"===e)return"#"+this.$route.params.tag;var t={friends:"nav.home_timeline",bookmarks:"nav.bookmarks",dms:"nav.dms","public-timeline":"nav.public_tl","public-external-timeline":"nav.twkn"}[this.$route.name];return t?this.$t(t):e}}};n(571);var La=Fn()(Ea,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("TimelineMenuContent"),a=Object(wt.J)("FAIcon"),c=Object(wt.J)("Popover");return Object(wt.D)(),Object(wt.h)(c,{trigger:"click",class:Object(wt.w)(["TimelineMenu",{open:e.isOpen}]),margin:{left:-15,right:-200},"bound-to":{x:"container"},"popover-class":"timeline-menu-popover-wrap",onShow:e.openMenu,onClose:t[1]||(t[1]=()=>e.isOpen=!1)},{content:Object(wt.V)(()=>[Object(wt.k)("div",Ma,[Object(wt.m)(s)])]),trigger:Object(wt.V)(()=>[Object(wt.k)("button",Ua,[Object(wt.k)("span",Fa,Object(wt.O)(e.timelineName()),1),Object(wt.k)("span",null,[Object(wt.m)(a,{size:"sm",icon:"chevron-down"})]),Object(wt.k)("span",{class:"click-blocker",onClick:t[0]||(t[0]=(...t)=>e.blockOpen&&e.blockOpen(...t))})])]),_:1},8,["class","onShow"])}]]);const Ra={class:"dropdown-menu"},Aa={key:0},Na=Object(wt.k)("div",{role:"separator",class:"dropdown-divider"},null,-1),Ba={class:"button-unstyled"};function Va(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ha(e){for(var t=1;t[Object(wt.k)("div",Ra,[e.loggedIn?(Object(wt.D)(),Object(wt.j)("div",Aa,[Object(wt.k)("button",{class:"button-default dropdown-item",onClick:t[0]||(t[0]=t=>e.replyVisibilityAll=!0)},[Object(wt.k)("span",{class:Object(wt.w)(["menu-checkbox -radio",{"menu-checkbox-checked":e.replyVisibilityAll}])},null,2),Object(wt.l)(Object(wt.O)(e.$t("settings.reply_visibility_all")),1)]),Object(wt.k)("button",{class:"button-default dropdown-item",onClick:t[1]||(t[1]=t=>e.replyVisibilityFollowing=!0)},[Object(wt.k)("span",{class:Object(wt.w)(["menu-checkbox -radio",{"menu-checkbox-checked":e.replyVisibilityFollowing}])},null,2),Object(wt.l)(Object(wt.O)(e.$t("settings.reply_visibility_following_short")),1)]),Object(wt.k)("button",{class:"button-default dropdown-item",onClick:t[2]||(t[2]=t=>e.replyVisibilitySelf=!0)},[Object(wt.k)("span",{class:Object(wt.w)(["menu-checkbox -radio",{"menu-checkbox-checked":e.replyVisibilitySelf}])},null,2),Object(wt.l)(Object(wt.O)(e.$t("settings.reply_visibility_self_short")),1)]),Na])):Object(wt.i)("",!0),Object(wt.k)("button",{class:"button-default dropdown-item",onClick:t[3]||(t[3]=t=>e.muteBotStatuses=!e.muteBotStatuses)},[Object(wt.k)("span",{class:Object(wt.w)(["menu-checkbox",{"menu-checkbox-checked":e.muteBotStatuses}])},null,2),Object(wt.l)(Object(wt.O)(e.$t("settings.mute_bot_posts")),1)]),Object(wt.k)("button",{class:"button-default dropdown-item",onClick:t[4]||(t[4]=t=>e.hideMedia=!e.hideMedia)},[Object(wt.k)("span",{class:Object(wt.w)(["menu-checkbox",{"menu-checkbox-checked":e.hideMedia}])},null,2),Object(wt.l)(Object(wt.O)(e.$t("settings.hide_media_previews")),1)]),Object(wt.k)("button",{class:"button-default dropdown-item",onClick:t[5]||(t[5]=t=>e.hideMutedPosts=!e.hideMutedPosts)},[Object(wt.k)("span",{class:Object(wt.w)(["menu-checkbox",{"menu-checkbox-checked":e.hideMutedPosts}])},null,2),Object(wt.l)(Object(wt.O)(e.$t("settings.hide_all_muted_posts")),1)]),Object(wt.k)("button",{class:"button-default dropdown-item dropdown-item-icon",onClick:t[6]||(t[6]=t=>e.openTab("filtering"))},[Object(wt.m)(s,{icon:"font"}),Object(wt.l)(Object(wt.O)(e.$t("settings.word_filter")),1)]),Object(wt.k)("button",{class:"button-default dropdown-item dropdown-item-icon",onClick:t[7]||(t[7]=t=>e.openTab("general"))},[Object(wt.m)(s,{icon:"wrench"}),Object(wt.l)(Object(wt.O)(e.$t("settings.more_settings")),1)])])]),trigger:Object(wt.V)(()=>[Object(wt.k)("button",Ba,[Object(wt.m)(s,{icon:"filter"})])]),_:1})}]]);Tn.c.add(In.r,In.s);var Wa={props:["timeline","timelineName","title","userId","tag","embedded","count","pinnedStatusIds","inProfile","footerSlipgate"],data:function(){return{paused:!1,unfocused:!1,bottomedOut:!1,virtualScrollIndex:0,blockingClicks:!1}},components:{Status:Ns.default,Conversation:za,TimelineMenu:La,TimelineQuickSettings:Ja},computed:{filteredVisibleStatuses:function(){var e=this;return this.timeline.visibleStatuses.filter((function(t){return"user"!==e.timelineName||t.id>=e.timeline.minId&&t.id<=e.timeline.maxId}))},filteredPinnedStatusIds:function(){var e=this;return(this.pinnedStatusIds||[]).filter((function(t){return e.timeline.statusesObject[t]}))},newStatusCount:function(){return this.timeline.newStatusCount},showLoadButton:function(){return this.timeline.newStatusCount>0||0!==this.timeline.flushMarker},loadButtonString:function(){return 0!==this.timeline.flushMarker?this.$t("timeline.reload"):"".concat(this.$t("timeline.show_new")," (").concat(this.newStatusCount,")")},classes:function(){var e=this.embedded?["-nonpanel"]:["panel","panel-default"];return this.blockingClicks&&(e=e.concat(["-blocked","_misclick-prevention"])),{root:e,header:["timeline-heading"].concat(this.embedded?[]:["panel-heading","-sticky"]),body:["timeline-body"].concat(this.embedded?[]:["panel-body"]),footer:["timeline-footer"].concat(this.embedded?[]:["panel-footer"])}},pinnedStatusIdsObject:function(){return ua()(this.pinnedStatusIds)},statusesToDisplay:function(){var e=this.timeline.visibleStatuses.length,t=Math.ceil(Math.max(3,window.innerHeight/80)),n=this.virtualScrollIndex-this.filteredPinnedStatusIds.length,r=Math.max(0,n-t),i=Math.min(e,n+t);return this.timeline.visibleStatuses.slice(r,i).map((function(e){return e.id}))},virtualScrollingEnabled:function(){return this.$store.getters.mergedConfig.virtualScrolling}},created:function(){var e=this.$store,t=e.state.users.currentUser.credentials,n=0===this.timeline.visibleStatuses.length;if(window.addEventListener("scroll",this.handleScroll),e.state.api.fetchers[this.timelineName])return!1;ve.fetchAndUpdate({store:e,credentials:t,timeline:this.timelineName,showImmediately:n,userId:this.userId,tag:this.tag})},mounted:function(){void 0!==document.hidden&&(document.addEventListener("visibilitychange",this.handleVisibilityChange,!1),this.unfocused=document.hidden),window.addEventListener("keydown",this.handleShortKey),setTimeout(this.determineVisibleStatuses,250)},unmounted:function(){window.removeEventListener("scroll",this.handleScroll),window.removeEventListener("keydown",this.handleShortKey),void 0!==document.hidden&&document.removeEventListener("visibilitychange",this.handleVisibilityChange,!1),this.$store.commit("setLoading",{timeline:this.timelineName,value:!1})},methods:{stopBlockingClicks:os()((function(){this.blockingClicks=!1}),1e3),blockClicksTemporarily:function(){this.blockingClicks||(this.blockingClicks=!0),this.stopBlockingClicks()},handleShortKey:function(e){["textarea","input"].includes(e.target.tagName.toLowerCase())||"."===e.key&&this.showNewStatuses()},showNewStatuses:function(){0!==this.timeline.flushMarker?(this.$store.commit("clearTimeline",{timeline:this.timelineName,excludeUserId:!0}),this.$store.commit("queueFlush",{timeline:this.timelineName,id:0}),this.fetchOlderStatuses()):(this.blockClicksTemporarily(),this.$store.commit("showNewStatuses",{timeline:this.timelineName}),this.paused=!1),window.scrollTo({top:0})},fetchOlderStatuses:pa()((function(){var e=this,t=this.$store,n=t.state.users.currentUser.credentials;t.commit("setLoading",{timeline:this.timelineName,value:!0}),ve.fetchAndUpdate({store:t,credentials:n,timeline:this.timelineName,older:!0,showImmediately:!0,userId:this.userId,tag:this.tag}).then((function(t){var n=t.statuses;n&&0===n.length&&(e.bottomedOut=!0)})).finally((function(){return t.commit("setLoading",{timeline:e.timelineName,value:!1})}))}),1e3,void 0),determineVisibleStatuses:function(){if(this.$refs.timeline&&this.virtualScrollingEnabled){var e=this.$refs.timeline.children,t=Math.max(0,Math.min(this.virtualScrollIndex,e.length-1));if(0!==e.length){var n=Math.max(document.body.offsetHeight,window.pageYOffset),r=window.pageYOffset+.5*window.innerHeight,i=Math.floor(e.length*(r/n)),o=e[i].getBoundingClientRect().y,s=e[t].getBoundingClientRect().y;for(Math.abs(o)>s&&(i=t,o=s);o<-20&&iwindow.innerHeight+100&&i>0;)o-=e[--i].offsetHeight;this.virtualScrollIndex=i}}},scrollLoad:function(e){var t=document.body.getBoundingClientRect(),n=Math.max(t.height,-t.y);!1===this.timeline.loading&&this.$el.offsetHeight>0&&window.innerHeight+window.pageYOffset>=n-750&&this.fetchOlderStatuses()},handleScroll:pa()((function(e){this.determineVisibleStatuses(),this.scrollLoad(e)}),200),handleVisibilityChange:function(){this.unfocused=document.hidden}},watch:{newStatusCount:function(e){if(this.$store.getters.mergedConfig.streaming&&e>0){var t=document.documentElement;!((window.pageYOffset||t.scrollTop)-(t.clientTop||0)<15)||this.paused||this.unfocused&&this.$store.getters.mergedConfig.pauseOnUnfocused?this.paused=!0:this.showNewStatuses()}}}};n(573);var Ya=Fn()(Wa,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("TimelineMenu"),a=Object(wt.J)("TimelineQuickSettings"),c=Object(wt.J)("conversation"),l=Object(wt.J)("FAIcon");return Object(wt.D)(),Object(wt.j)("div",{class:Object(wt.w)(["Timeline",e.classes.root])},[Object(wt.k)("div",{class:Object(wt.w)(e.classes.header)},[e.embedded?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.h)(s,{key:0})),e.showLoadButton?(Object(wt.D)(),Object(wt.j)("button",{key:1,class:"button-default loadmore-button",onClick:t[0]||(t[0]=Object(wt.Y)((...t)=>e.showNewStatuses&&e.showNewStatuses(...t),["prevent"]))},Object(wt.O)(e.loadButtonString),1)):e.embedded?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("div",{key:2,class:"loadmore-text faint",onClick:t[1]||(t[1]=Object(wt.Y)(()=>{},["prevent"]))},Object(wt.O)(e.$t("timeline.up_to_date")),1)),e.embedded?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.h)(a,{key:3}))],2),Object(wt.k)("div",{class:Object(wt.w)(e.classes.body)},[Object(wt.k)("div",ia,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.filteredPinnedStatusIds,t=>(Object(wt.D)(),Object(wt.h)(c,{key:t+"-pinned",class:"status-fadein","status-id":t,collapsable:!0,"pinned-status-ids-object":e.pinnedStatusIdsObject,"in-profile":e.inProfile,"profile-user-id":e.userId},null,8,["status-id","pinned-status-ids-object","in-profile","profile-user-id"]))),128)),(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.filteredVisibleStatuses,t=>(Object(wt.D)(),Object(wt.h)(c,{key:t.id,class:"status-fadein","status-id":t.id,collapsable:!0,"in-profile":e.inProfile,"profile-user-id":e.userId,"virtual-hidden":e.virtualScrollingEnabled&&!e.statusesToDisplay.includes(t.id)},null,8,["status-id","in-profile","profile-user-id","virtual-hidden"]))),128))],512)],2),Object(wt.k)("div",{class:Object(wt.w)(e.classes.footer)},[(Object(wt.D)(),Object(wt.h)(wt.c,{to:e.footerSlipgate,disabled:!e.embedded||!e.footerSlipgate},[0===e.count?(Object(wt.D)(),Object(wt.j)("div",oa,Object(wt.O)(e.$t("timeline.no_statuses")),1)):e.bottomedOut?(Object(wt.D)(),Object(wt.j)("div",sa,Object(wt.O)(e.$t("timeline.no_more_statuses")),1)):e.timeline.loading?(Object(wt.D)(),Object(wt.j)("div",ca,[Object(wt.m)(l,{icon:"circle-notch",spin:"",size:"lg"})])):(Object(wt.D)(),Object(wt.j)("button",{key:2,class:"button-unstyled -link",onClick:t[2]||(t[2]=Object(wt.Y)(t=>e.fetchOlderStatuses(),["prevent"]))},[Object(wt.k)("div",aa,Object(wt.O)(e.$t("timeline.load_older")),1)]))],8,["to","disabled"]))],2)],2)}]]),Ga={components:{Timeline:Ya},computed:{timeline:function(){return this.$store.state.statuses.timelines.public}},created:function(){this.$store.dispatch("startFetchingTimeline",{timeline:"public"})},unmounted:function(){this.$store.dispatch("stopFetchingTimeline","public")}};var Ka=Fn()(Ga,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("Timeline");return Object(wt.D)(),Object(wt.h)(s,{title:e.$t("nav.public_tl"),timeline:e.timeline,"timeline-name":"public"},null,8,["title","timeline"])}]]);var Xa={components:{Timeline:Ya},computed:{timeline:function(){return this.$store.state.statuses.timelines.publicAndExternal}},created:function(){this.$store.dispatch("startFetchingTimeline",{timeline:"publicAndExternal"})},unmounted:function(){this.$store.dispatch("stopFetchingTimeline","publicAndExternal")}};var Za=Fn()(Xa,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("Timeline");return Object(wt.D)(),Object(wt.h)(s,{title:e.$t("nav.twkn"),timeline:e.timeline,"timeline-name":"publicAndExternal"},null,8,["title","timeline"])}]]);var Qa={components:{Timeline:Ya},computed:{timeline:function(){return this.$store.state.statuses.timelines.friends}}};var ec=Fn()(Qa,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("Timeline");return Object(wt.D)(),Object(wt.h)(s,{title:e.$t("nav.timeline"),timeline:e.timeline,"timeline-name":"friends"},null,8,["title","timeline"])}]]);var tc={created:function(){this.$store.commit("clearTimeline",{timeline:"tag"}),this.$store.dispatch("startFetchingTimeline",{timeline:"tag",tag:this.tag})},components:{Timeline:Ya},computed:{tag:function(){return this.$route.params.tag},timeline:function(){return this.$store.state.statuses.timelines.tag}},watch:{tag:function(){this.$store.commit("clearTimeline",{timeline:"tag"}),this.$store.dispatch("startFetchingTimeline",{timeline:"tag",tag:this.tag})}},unmounted:function(){this.$store.dispatch("stopFetchingTimeline","tag")}};var nc=Fn()(tc,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("Timeline");return Object(wt.D)(),Object(wt.h)(s,{title:e.tag,timeline:e.timeline,"timeline-name":"tag",tag:e.tag},null,8,["title","timeline","tag"])}]]);var rc={computed:{timeline:function(){return this.$store.state.statuses.timelines.bookmarks}},components:{Timeline:Ya},unmounted:function(){this.$store.commit("clearTimeline",{timeline:"bookmarks"})}};var ic=Fn()(rc,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("Timeline");return Object(wt.D)(),Object(wt.h)(s,{title:e.$t("nav.bookmarks"),timeline:e.timeline,"timeline-name":"bookmarks"},null,8,["title","timeline"])}]]);var oc={components:{Conversation:za},computed:{statusId:function(){return this.$route.params.id}}};var sc=Fn()(oc,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("conversation");return Object(wt.D)(),Object(wt.h)(s,{collapsable:!1,"is-page":"true","status-id":e.statusId},null,8,["status-id"])}]]);const ac={class:"panel panel-default"},cc={class:"panel-heading"},lc={class:"title"},uc=["label"],dc=["label"],pc=["label"],hc=["label"];var bc=n(71),mc={mentions:["mention"],"likes+repeats":["repeat","like"],follows:["follow"],moves:["move"]},fc={data:function(){return{allowFollowingMove:this.$store.state.users.currentUser.allow_following_move,filterMode:mc.mentions}},methods:{onModeSwitch:function(e){this.filterMode=mc[e]}},components:{Notifications:fs.default,TabSwitcher:bc.a}};var Oc=Fn()(fc,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("tab-switcher"),a=Object(wt.J)("Notifications");return Object(wt.D)(),Object(wt.j)("div",ac,[Object(wt.k)("div",cc,[Object(wt.k)("div",lc,Object(wt.O)(e.$t("nav.interactions")),1)]),Object(wt.m)(s,{ref:"tabSwitcher","on-switch":e.onModeSwitch},{default:Object(wt.V)(()=>[Object(wt.k)("span",{key:"mentions",label:e.$t("nav.mentions")},null,8,uc),Object(wt.k)("span",{key:"likes+repeats",label:e.$t("interactions.favs_repeats")},null,8,dc),Object(wt.k)("span",{key:"follows",label:e.$t("interactions.follows")},null,8,pc),e.allowFollowingMove?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("span",{key:"moves",label:e.$t("interactions.moves")},null,8,hc))]),_:1},8,["on-switch"]),Object(wt.m)(a,{ref:"notifications","no-heading":!0,"minimal-mode":!0,"filter-mode":e.filterMode},null,8,["filter-mode"])])}]]);var jc={computed:{timeline:function(){return this.$store.state.statuses.timelines.dms}},components:{Timeline:Ya}};var gc=Fn()(jc,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("Timeline");return Object(wt.D)(),Object(wt.h)(s,{title:e.$t("nav.dms"),timeline:e.timeline,"timeline-name":"dms"},null,8,["title","timeline"])}]]);const vc={key:0},yc={key:1,class:"chat-list panel panel-default"},wc={class:"panel-heading -sticky"},kc={class:"title"},_c={class:"panel-body"},Sc={key:0,class:"timeline"},Cc={key:1,class:"emtpy-chat-list-alert"};const Pc={class:"chat-list-item-left"},xc={class:"chat-list-item-center"},Dc={class:"heading"},Tc={key:0,class:"name-and-account-name"},Ic=Object(wt.k)("span",{class:"heading-right"},null,-1),$c={class:"time-wrapper"},zc={class:"chat-preview"},Mc={key:0,class:"badge badge-notification unread-chat-count"};var Uc=n(45),Fc=n(22),Ec=n(144),Lc=n(59);const Rc=["title"];var Ac=n(25),Nc={name:"ChatTitle",components:{UserAvatar:Fc.default,RichContent:Ac.a},props:["user","withAvatar"],computed:{title:function(){return this.user?this.user.screen_name_ui:""},htmlTitle:function(){return this.user?this.user.name_html:""}},methods:{getUserProfileLink:function(e){return Object(ji.a)(e.id,e.screen_name)}}};n(575);var Bc=Fn()(Nc,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("UserAvatar"),a=Object(wt.J)("router-link"),c=Object(wt.J)("RichContent");return Object(wt.D)(),Object(wt.j)("div",{class:"chat-title",title:e.title},[e.withAvatar&&e.user?(Object(wt.D)(),Object(wt.h)(a,{key:0,class:"avatar-container",to:e.getUserProfileLink(e.user)},{default:Object(wt.V)(()=>[Object(wt.m)(s,{class:"titlebar-avatar",user:e.user},null,8,["user"])]),_:1},8,["to"])):Object(wt.i)("",!0),e.user?(Object(wt.D)(),Object(wt.h)(c,{key:1,class:"username",title:"@"+(e.user&&e.user.screen_name_ui),html:e.htmlTitle,emoji:e.user.emoji||[]},null,8,["title","html","emoji"])):Object(wt.i)("",!0)],8,Rc)}]]);function Vc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Hc(e){for(var t=1;t".concat(this.$t("chats.you")," ").concat(r):r;return{summary:"",emojis:t,raw_html:i,text:i,attachments:[]}}}),methods:{openChat:function(e){this.chat.id&&this.$router.push({name:"chat",params:{username:this.currentUser.screen_name,recipient_id:this.chat.account.id}})}}};n(576);var Jc=Fn()(qc,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("UserAvatar"),a=Object(wt.J)("ChatTitle"),c=Object(wt.J)("Timeago"),l=Object(wt.J)("StatusBody");return Object(wt.D)(),Object(wt.j)("div",{class:"chat-list-item",onClickCapture:t[0]||(t[0]=Object(wt.Y)((...t)=>e.openChat&&e.openChat(...t),["prevent"]))},[Object(wt.k)("div",Pc,[Object(wt.m)(s,{user:e.chat.account,height:"48px",width:"48px"},null,8,["user"])]),Object(wt.k)("div",xc,[Object(wt.k)("div",Dc,[e.chat.account?(Object(wt.D)(),Object(wt.j)("span",Tc,[Object(wt.m)(a,{user:e.chat.account},null,8,["user"])])):Object(wt.i)("",!0),Ic,Object(wt.k)("div",$c,[Object(wt.m)(c,{time:e.chat.updated_at,"auto-update":60},null,8,["time"])])]),Object(wt.k)("div",zc,[Object(wt.m)(l,{class:"chat-preview-body",status:e.messageForStatusContent,"single-line":!0},null,8,["status"]),e.chat.unread>0?(Object(wt.D)(),Object(wt.j)("div",Mc,Object(wt.O)(e.chat.unread),1)):Object(wt.i)("",!0)])])],32)}]]);const Wc={class:"panel-default panel chat-new"},Yc={ref:"header",class:"panel-heading"},Gc={class:"input-wrap"},Kc={class:"input-search"},Xc={class:"member-list"},Zc=["onClickCapture"];var Qc=n(53);function el(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function tl(e){for(var t=1;te.goBack&&e.goBack(...t))},[Object(wt.m)(s,{size:"lg",icon:"chevron-left"})])],512),Object(wt.k)("div",Gc,[Object(wt.k)("div",Kc,[Object(wt.m)(s,{class:"search-icon fa-scale-110 fa-old-padding",icon:"search"})]),Object(wt.W)(Object(wt.k)("input",{ref:"search","onUpdate:modelValue":t[1]||(t[1]=t=>e.query=t),placeholder:"Search people",onInput:t[2]||(t[2]=(...t)=>e.onInput&&e.onInput(...t))},null,544),[[wt.S,e.query]])]),Object(wt.k)("div",Xc,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.availableUsers,t=>(Object(wt.D)(),Object(wt.j)("div",{key:t.id,class:"member"},[Object(wt.k)("div",{onClickCapture:Object(wt.Y)(n=>e.goToChat(t),["prevent"])},[Object(wt.m)(a,{user:t},null,8,["user"])],40,Zc)]))),128))])])}]]);function il(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ol(e){for(var t=1;te.newChat&&e.newChat(...t))},Object(wt.O)(e.$t("chats.new")),1)]),Object(wt.k)("div",_c,[e.sortedChatList.length>0?(Object(wt.D)(),Object(wt.j)("div",Sc,[Object(wt.m)(c,{items:e.sortedChatList},{item:Object(wt.V)(({item:e})=>[(Object(wt.D)(),Object(wt.h)(a,{key:e.id,compact:!1,chat:e},null,8,["chat"]))]),_:1},8,["items"])])):(Object(wt.D)(),Object(wt.j)("div",Cc,[Object(wt.k)("span",null,Object(wt.O)(e.$t("chats.empty_chat_list_placeholder")),1)]))])]))}]]);const cl={class:"chat-view"},ll={class:"chat-view-inner"},ul={ref:"inner",class:"panel-default panel chat-view-body"},dl={ref:"header",class:"panel-heading -sticky chat-view-heading"},pl={class:"title text-center"},hl={key:1,class:"chat-loading-error"},bl={class:"alert error"},ml={ref:"footer",class:"panel-body footer"},fl={key:0,class:"badge badge-notification unread-chat-count unread-message-count"};const Ol={key:0,class:"avatar-wrapper"},jl={class:"chat-message-inner"},gl={class:"dropdown-menu"},vl=["title"],yl={class:"created-at"},wl={key:1,class:"chat-message-date-separator"};var kl=n(58),_l=n(78),Sl=n(142);var Cl=n(38),Pl={name:"Timeago",props:["date"],computed:{displayDate:function(){var e=new Date;return e.setHours(0,0,0,0),this.date.getTime()===e.getTime()?this.$t("display_date.today"):this.date.toLocaleDateString(Cl.a.internalToBrowserLocale(this.$i18n.locale),{day:"numeric",month:"long"})}}};var xl=Fn()(Pl,[["render",function(e,t,n,r,i,o){return Object(wt.D)(),Object(wt.j)("time",null,Object(wt.O)(o.displayDate),1)}]]);function Dl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Tl(e){for(var t=1;t0}},Object(a.e)({betterShadow:function(e){return e.interface.browserSupport.cssFilter},currentUser:function(e){return e.users.currentUser},restrictedNicknames:function(e){return e.instance.restrictedNicknames}})),{},{popoverMarginStyle:function(){return this.isCurrentUser?{}:{left:50}}},Object(a.c)(["mergedConfig","findUser"])),data:function(){return{hovered:!1,menuOpened:!1}},methods:{onHover:function(e){this.$emit("hover",{isHovered:e,messageChainId:this.chatViewItem.messageChainId})},deleteMessage:function(){var e=this;return i()(s.a.mark((function t(){return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!window.confirm(e.$t("chats.delete_confirm"))){t.next=4;break}return t.next=4,e.$store.dispatch("deleteChatMessage",{messageId:e.chatViewItem.data.id,chatId:e.chatViewItem.data.chat_id});case 4:e.hovered=!1,e.menuOpened=!1;case 6:case"end":return t.stop()}}),t)})))()}}};n(580);var $l=Fn()(Il,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("UserAvatar"),a=Object(wt.J)("router-link"),c=Object(wt.J)("FAIcon"),l=Object(wt.J)("Popover"),u=Object(wt.J)("StatusContent"),d=Object(wt.J)("ChatMessageDate");return e.isMessage?(Object(wt.D)(),Object(wt.j)("div",{key:0,class:Object(wt.w)(["chat-message-wrapper",{"hovered-message-chain":e.hoveredMessageChain}]),onMouseover:t[5]||(t[5]=t=>e.onHover(!0)),onMouseleave:t[6]||(t[6]=t=>e.onHover(!1))},[Object(wt.k)("div",{class:Object(wt.w)(["chat-message",[{outgoing:e.isCurrentUser,incoming:!e.isCurrentUser}]])},[e.isCurrentUser?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("div",Ol,[e.chatViewItem.isHead?(Object(wt.D)(),Object(wt.h)(a,{key:0,to:e.userProfileLink},{default:Object(wt.V)(()=>[Object(wt.m)(s,{compact:!0,"better-shadow":e.betterShadow,user:e.author},null,8,["better-shadow","user"])]),_:1},8,["to"])):Object(wt.i)("",!0)])),Object(wt.k)("div",jl,[Object(wt.k)("div",{class:"status-body",style:Object(wt.x)({"min-width":e.message.attachment?"80%":""})},[Object(wt.k)("div",{class:Object(wt.w)(["media status",{"without-attachment":!e.hasAttachment,pending:e.chatViewItem.data.pending,error:e.chatViewItem.data.error}]),style:{position:"relative"},onMouseenter:t[3]||(t[3]=t=>e.hovered=!0),onMouseleave:t[4]||(t[4]=t=>e.hovered=!1)},[Object(wt.k)("div",{class:Object(wt.w)(["chat-message-menu",{visible:e.hovered||e.menuOpened}])},[Object(wt.m)(l,{trigger:"click",placement:"top","bound-to-selector":e.isCurrentUser?"":".scrollable-message-list","bound-to":{x:"container"},margin:e.popoverMarginStyle,onShow:t[1]||(t[1]=t=>e.menuOpened=!0),onClose:t[2]||(t[2]=t=>e.menuOpened=!1)},{content:Object(wt.V)(()=>[Object(wt.k)("div",gl,[Object(wt.k)("button",{class:"button-default dropdown-item dropdown-item-icon",onClick:t[0]||(t[0]=(...t)=>e.deleteMessage&&e.deleteMessage(...t))},[Object(wt.m)(c,{icon:"times"}),Object(wt.l)(" "+Object(wt.O)(e.$t("chats.delete")),1)])])]),trigger:Object(wt.V)(()=>[Object(wt.k)("button",{class:"button-default menu-icon",title:e.$t("chats.more")},[Object(wt.m)(c,{icon:"ellipsis-h"})],8,vl)]),_:1},8,["bound-to-selector","margin"])],2),Object(wt.m)(u,{class:"message-content",status:e.messageForStatusContent,"full-content":!0},{footer:Object(wt.V)(()=>[Object(wt.k)("span",yl,Object(wt.O)(e.createdAt),1)]),_:1},8,["status"])],34)],4)])],2)],34)):(Object(wt.D)(),Object(wt.j)("div",wl,[Object(wt.m)(d,{date:e.chatViewItem.date},null,8,["date"])]))}]]),zl=function(){return{scrollTop:window.scrollY,scrollHeight:document.documentElement.scrollHeight,offsetHeight:window.innerHeight}};function Ml(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ul(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},n=t.expand,r=void 0!==n&&n,i=t.delayed,o=void 0!==i&&i;o?setTimeout((function(){e.handleResize(Ul(Ul({},t),{},{delayed:!1}))}),100):this.$nextTick((function(){var t=zl().offsetHeight,n=void 0===t?void 0:t,i=e.lastScrollPosition.offsetHeight-n;(0!==i||!e.bottomedOut()&&r)&&e.$nextTick((function(){window.scrollTo({top:window.scrollY+i})})),e.lastScrollPosition=zl()}))},scrollDown:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.behavior,n=void 0===t?"auto":t,r=e.forceRead,i=void 0!==r&&r;this.$nextTick((function(){window.scrollTo({top:document.documentElement.scrollHeight,behavior:n})})),i&&this.readChat()},readChat:function(){if(this.currentChatMessageService&&this.currentChatMessageService.maxId&&!document.hidden){var e=this.currentChatMessageService.maxId;this.$store.dispatch("readChat",{id:this.currentChat.id,lastReadId:e})}},bottomedOut:function(e){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=window.scrollY+e,n=document.documentElement.scrollHeight-window.innerHeight;return n<=t}(e)},reachedTop:function(){return window.scrollY<=0},cullOlderCheck:function(){var e=this;window.setTimeout((function(){e.bottomedOut(10)&&e.$store.dispatch("cullOlderMessages",e.currentChatMessageService.chatId)}),5e3)},handleScroll:pa()((function(){var e=this;this.currentChat&&(this.reachedTop()?this.fetchChat({maxId:this.currentChatMessageService.minId}):this.bottomedOut(10)?(this.jumpToBottomButtonVisible=!1,this.cullOlderCheck(),this.newMessageCount>0&&window.setTimeout((function(){e.$el&&e.readChat()}),1500)):this.jumpToBottomButtonVisible=!0)}),200),handleScrollUp:function(e){var t,n,r=zl();window.scrollTo({top:(t=e,n=r,t.scrollTop+(n.scrollHeight-t.scrollHeight))})},fetchChat:function(e){var t=this,n=e.isFirstFetch,r=void 0!==n&&n,i=e.fetchLatest,o=void 0!==i&&i,s=e.maxId,a=this.currentChatMessageService;if(a&&(!o||!this.streamingEnabled)){var c=a.chatId,l=!!s,u=o&&a.maxId;return this.backendInteractor.chatMessages({id:c,maxId:s,sinceId:u}).then((function(e){r&&$t.clear(a);var n=zl();t.$store.dispatch("addChatMessages",{chatId:c,messages:e}).then((function(){t.$nextTick((function(){l&&t.handleScrollUp(n),!(document.documentElement.scrollHeight>window.innerHeight)&&e.length>0&&t.fetchChat({maxId:t.currentChatMessageService.minId})}))}))}))}},startFetching:function(){var e=this;return i()(s.a.mark((function t(){var n;return s.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.findOpenedChatByRecipientId(e.recipientId)){t.next=12;break}return t.prev=2,t.next=5,e.backendInteractor.getOrCreateChat({accountId:e.recipientId});case 5:n=t.sent,t.next=12;break;case 8:t.prev=8,t.t0=t.catch(2),console.error("Error creating or getting a chat",t.t0),e.errorLoadingChat=!0;case 12:n&&(e.$nextTick((function(){e.scrollDown({forceRead:!0})})),e.$store.dispatch("addOpenedChat",{chat:n}),e.doStartFetching());case 13:case"end":return t.stop()}}),t,null,[[2,8]])})))()},doStartFetching:function(){var e=this;this.$store.dispatch("startFetchingCurrentChat",{fetcher:function(){return Object(je.a)((function(){return e.fetchChat({fetchLatest:!0})}),5e3)}}),this.fetchChat({isFirstFetch:!0})},handleAttachmentPosting:function(){var e=this;this.$nextTick((function(){e.handleResize(),e.scrollDown({forceRead:!0})}))},sendMessage:function(e){var t=this,n=e.status,r=e.media,i=e.idempotencyKey,o={id:this.currentChat.id,content:n,idempotencyKey:i};r[0]&&(o.mediaId=r[0].id);var s=function(e){var t=e.content,n=e.chatId,r=e.attachments,i=e.userId,o=e.idempotencyKey,s={content:t,chat_id:n,created_at:new Date,id:"".concat((new Date).getTime()),attachments:r,account_id:i,idempotency_key:o,emojis:[],pending:!0,isNormalized:!0};return r[0]&&(s.attachment=r[0]),s}({attachments:r,chatId:this.currentChat.id,content:n,userId:this.currentUser.id,idempotencyKey:i});return this.$store.dispatch("addChatMessages",{chatId:this.currentChat.id,messages:[s]}).then((function(){t.handleAttachmentPosting()})),this.doSendMessage({params:o,fakeMessage:s,retriesLeft:10})},doSendMessage:function(e){var t=this,n=e.params,r=e.fakeMessage,i=e.retriesLeft,o=void 0===i?10:i;if(!(o<=0))return this.backendInteractor.sendChatMessage(n).then((function(e){return t.$store.dispatch("addChatMessages",{chatId:t.currentChat.id,updateMaxId:!1,messages:[Ul(Ul({},e),{},{fakeId:r.id})]}),e})).catch((function(e){return console.error("Error sending message",e),t.$store.dispatch("handleMessageError",{chatId:t.currentChat.id,fakeId:r.id,isRetry:10!==o}),(e.statusCode>=500&&e.statusCode<600||"Failed to fetch"===e.message)&&(t.messageRetriers[r.id]=setTimeout((function(){t.doSendMessage({params:n,fakeMessage:r,retriesLeft:o-1})}),1e3*Math.pow(2,10-o))),{}})),Promise.resolve(r)},goBack:function(){this.$router.push({name:"chats",params:{username:this.currentUser.screen_name}})}}};n(581);var El=Fn()(Fl,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("FAIcon"),a=Object(wt.J)("ChatTitle"),c=Object(wt.J)("ChatMessage"),l=Object(wt.J)("PostStatusForm");return Object(wt.D)(),Object(wt.j)("div",cl,[Object(wt.k)("div",ll,[Object(wt.k)("div",ul,[Object(wt.k)("div",dl,[Object(wt.k)("button",{class:"button-unstyled go-back-button",onClick:t[0]||(t[0]=(...t)=>e.goBack&&e.goBack(...t))},[Object(wt.m)(s,{size:"lg",icon:"chevron-left"})]),Object(wt.k)("div",pl,[Object(wt.m)(a,{user:e.recipient,"with-avatar":!0},null,8,["user"])])],512),Object(wt.k)("div",{class:"message-list",style:Object(wt.x)({height:e.scrollableContainerHeight})},[e.errorLoadingChat?(Object(wt.D)(),Object(wt.j)("div",hl,[Object(wt.k)("div",bl,Object(wt.O)(e.$t("chats.error_loading_chat")),1)])):(Object(wt.D)(!0),Object(wt.j)(wt.a,{key:0},Object(wt.H)(e.chatViewItems,t=>(Object(wt.D)(),Object(wt.h)(c,{key:t.id,author:e.recipient,"chat-view-item":t,"hovered-message-chain":t.messageChainId===e.hoveredMessageChainId,onHover:e.onMessageHover},null,8,["author","chat-view-item","hovered-message-chain","onHover"]))),128))],4),Object(wt.k)("div",ml,[Object(wt.k)("div",{class:Object(wt.w)(["jump-to-bottom-button",{visible:e.jumpToBottomButtonVisible}]),onClick:t[1]||(t[1]=t=>e.scrollDown({behavior:"smooth"}))},[Object(wt.k)("span",null,[Object(wt.m)(s,{icon:"chevron-down"}),e.newMessageCount?(Object(wt.D)(),Object(wt.j)("div",fl,Object(wt.O)(e.newMessageCount),1)):Object(wt.i)("",!0)])],2),Object(wt.m)(l,{"disable-subject":!0,"disable-scope-selector":!0,"disable-notice":!0,"disable-lock-warning":!0,"disable-polls":!0,"disable-sensitivity-checkbox":!0,"disable-submit":e.errorLoadingChat||!e.currentChat,"disable-preview":!0,"optimistic-posting":!0,"post-handler":e.sendMessage,"submit-on-enter":!e.mobileLayout,"preserve-focus":!e.mobileLayout,"auto-focus":!e.mobileLayout,placeholder:e.formPlaceholder,"file-limit":1,"max-height":"160","emoji-picker-placement":"top",onResize:e.handleResize},null,8,["disable-submit","post-handler","submit-on-enter","preserve-focus","auto-focus","placeholder","onResize"])],512)],512)])])}]]);const Ll={key:0,class:"user-profile panel panel-default"},Rl={key:0,class:"user-profile-fields"},Al=["title"],Nl=["title"],Bl=["label","disabled"],Vl=["label","disabled"],Hl={key:1,class:"panel user-profile-placeholder"},ql={class:"panel-heading"},Jl={class:"title"},Wl={class:"panel-body"},Yl={key:0};const Gl={class:"follow-card-content-container"},Kl={key:0,class:"faint"},Xl={key:0,class:"follow-card-follow-button"};var Zl=n(143),Ql=n(140),eu={props:["user","noFollowsYou"],components:{BasicUserCard:Qc.a,RemoteFollow:Zl.a,FollowButton:Ql.a},computed:{isMe:function(){return this.$store.state.users.currentUser.id===this.user.id},loggedIn:function(){return this.$store.state.users.currentUser},relationship:function(){return this.$store.getters.relationship(this.user.id)}}};n(582);var tu=Fn()(eu,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("RemoteFollow"),a=Object(wt.J)("FollowButton"),c=Object(wt.J)("basic-user-card");return Object(wt.D)(),Object(wt.h)(c,{user:e.user},{default:Object(wt.V)(()=>[Object(wt.k)("div",Gl,[e.isMe||!e.noFollowsYou&&e.relationship.followed_by?(Object(wt.D)(),Object(wt.j)("span",Kl,Object(wt.O)(e.isMe?e.$t("user_card.its_you"):e.$t("user_card.follows_you")),1)):Object(wt.i)("",!0),e.loggedIn?e.isMe?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.h)(a,{key:2,relationship:e.relationship,"label-following":e.$t("user_card.follow_unfollow"),class:"follow-card-follow-button",user:e.user},null,8,["relationship","label-following","user"])):(Object(wt.D)(),Object(wt.j)(wt.a,{key:1},[e.relationship.following?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("div",Xl,[Object(wt.m)(s,{user:e.user},null,8,["user"])]))],64))])]),_:1},8,["user"])}]]),nu=n(300),ru=n.n(nu),iu=n(301);n(583);function ou(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function su(e){for(var t=1;t0&&window.innerHeight+window.pageYOffset>=n-750&&this.fetchEntries()}},render:function(){var t,n=su(su({},this.$props),{},h()({},o,this.entries)),r=this.$slots;return Object(wt.m)("div",{class:"with-load-more"},[Object(wt.m)(e,n,(t=r,"function"==typeof t||"[object Object]"===Object.prototype.toString.call(t)&&!Object(wt.t)(t)?r:{default:function(){return[r]}})),Object(wt.m)("div",{class:"with-load-more-footer"},[this.error&&Object(wt.m)("button",{onClick:this.fetchEntries,class:"button-unstyled -link -fullwidth alert error"},[this.$t("general.generic_error")]),!this.error&&this.loading&&Object(wt.m)(sn.a,{spin:!0,icon:"circle-notch"},null),!this.error&&!this.loading&&!this.bottomedOut&&Object(wt.m)("a",{onClick:this.fetchEntries},[this.$t("general.more")])])])}}}};Tn.c.add(In.r);var cu=au({fetch:function(e,t){return t.dispatch("fetchFollowers",e.userId)},select:function(e,t){return qt()(t.getters.findUser(e.userId),"followerIds",[]).map((function(e){return t.getters.findUser(e)}))},destroy:function(e,t){return t.dispatch("clearFollowers",e.userId)},childPropName:"items",additionalPropNames:["userId"]})(Bs.a),lu=au({fetch:function(e,t){return t.dispatch("fetchFriends",e.userId)},select:function(e,t){return qt()(t.getters.findUser(e.userId),"friendIds",[]).map((function(e){return t.getters.findUser(e)}))},destroy:function(e,t){return t.dispatch("clearFriends",e.userId)},childPropName:"items",additionalPropNames:["userId"]})(Bs.a),uu={data:function(){return{error:!1,userId:null,tab:"statuses",footerRef:null}},created:function(){var e=this.$route.params;this.load(e.name||e.id),this.tab=qt()(this.$route,"query.tab","statuses")},unmounted:function(){this.stopFetching()},computed:{timeline:function(){return this.$store.state.statuses.timelines.user},favorites:function(){return this.$store.state.statuses.timelines.favorites},media:function(){return this.$store.state.statuses.timelines.media},isUs:function(){return this.userId&&this.$store.state.users.currentUser.id&&this.userId===this.$store.state.users.currentUser.id},user:function(){return this.$store.getters.findUser(this.userId)},isExternal:function(){return"external-user-profile"===this.$route.name},followsTabVisible:function(){return this.isUs||!this.user.hide_follows},followersTabVisible:function(){return this.isUs||!this.user.hide_followers}},methods:{setFooterRef:function(e){this.footerRef=e},load:function(e){var t=this,n=function(e,n){n!==t.$store.state.statuses.timelines[e].userId&&t.$store.commit("clearTimeline",{timeline:e}),t.$store.dispatch("startFetchingTimeline",{timeline:e,userId:n})},r=function(e){t.userId=e,n("user",e),n("media",e),t.isUs&&n("favorites",e),t.$store.dispatch("fetchPinnedStatuses",e)};this.userId=null,this.error=!1;var i=this.$store.getters.findUser(e);i?r(i.id):this.$store.dispatch("fetchUser",e).then((function(e){var t=e.id;return r(t)})).catch((function(e){var n=qt()(e,"error.error");t.error="No user with such user_id"===n?t.$t("user_profile.profile_does_not_exist"):n||t.$t("user_profile.profile_loading_error")}))},stopFetching:function(){this.$store.dispatch("stopFetchingTimeline","user"),this.$store.dispatch("stopFetchingTimeline","favorites"),this.$store.dispatch("stopFetchingTimeline","media")},switchUser:function(e){this.stopFetching(),this.load(e)},onTabSwitch:function(e){this.tab=e,this.$router.replace({query:{tab:e}})},linkClicked:function(e){var t=e.target;"SPAN"===t.tagName&&(t=t.parentNode),"A"===t.tagName&&window.open(t.href,"_blank")}},watch:{"$route.params.id":function(e){e&&this.switchUser(e)},"$route.params.name":function(e){e&&this.switchUser(e)},"$route.query":function(e){this.tab=e.tab||"statuses"}},components:{UserCard:jr.a,Timeline:Ya,FollowerList:cu,FriendList:lu,FollowCard:tu,TabSwitcher:bc.a,Conversation:za,RichContent:Ac.a}};n(584);var du=Fn()(uu,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("UserCard"),a=Object(wt.J)("RichContent"),c=Object(wt.J)("Timeline"),l=Object(wt.J)("FollowCard"),u=Object(wt.J)("FriendList"),d=Object(wt.J)("FollowerList"),p=Object(wt.J)("tab-switcher"),h=Object(wt.J)("FAIcon");return Object(wt.D)(),Object(wt.j)("div",null,[e.user?(Object(wt.D)(),Object(wt.j)("div",Ll,[Object(wt.m)(s,{"user-id":e.userId,switcher:!0,selected:e.timeline.viewing,"allow-zooming-avatar":!0,rounded:"top"},null,8,["user-id","selected"]),e.user.fields_html&&e.user.fields_html.length>0?(Object(wt.D)(),Object(wt.j)("div",Rl,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.user.fields_html,(t,n)=>(Object(wt.D)(),Object(wt.j)("dl",{key:n,class:"user-profile-field"},[Object(wt.k)("dt",{title:e.user.fields_text[n].name,class:"user-profile-field-name"},[Object(wt.m)(a,{html:t.name,emoji:e.user.emoji},null,8,["html","emoji"])],8,Al),Object(wt.k)("dd",{title:e.user.fields_text[n].value,class:"user-profile-field-value"},[Object(wt.m)(a,{html:t.value,emoji:e.user.emoji},null,8,["html","emoji"])],8,Nl)]))),128))])):Object(wt.i)("",!0),Object(wt.m)(p,{"active-tab":e.tab,"render-only-focused":!0,"on-switch":e.onTabSwitch},{default:Object(wt.V)(()=>[Object(wt.m)(c,{key:"statuses",label:e.$t("user_card.statuses"),count:e.user.statuses_count,embedded:!0,title:e.$t("user_profile.timeline_title"),timeline:e.timeline,"timeline-name":"user","user-id":e.userId,"pinned-status-ids":e.user.pinnedStatusIds,"in-profile":!0,footerSlipgate:e.footerRef},null,8,["label","count","title","timeline","user-id","pinned-status-ids","footerSlipgate"]),e.followsTabVisible?(Object(wt.D)(),Object(wt.j)("div",{key:"followees",label:e.$t("user_card.followees"),disabled:!e.user.friends_count},[Object(wt.m)(u,{"user-id":e.userId},{item:Object(wt.V)(({item:e})=>[Object(wt.m)(l,{user:e},null,8,["user"])]),_:1},8,["user-id"])],8,Bl)):Object(wt.i)("",!0),e.followersTabVisible?(Object(wt.D)(),Object(wt.j)("div",{key:"followers",label:e.$t("user_card.followers"),disabled:!e.user.followers_count},[Object(wt.m)(d,{"user-id":e.userId},{item:Object(wt.V)(({item:t})=>[Object(wt.m)(l,{user:t,"no-follows-you":e.isUs},null,8,["user","no-follows-you"])]),_:1},8,["user-id"])],8,Vl)):Object(wt.i)("",!0),Object(wt.m)(c,{key:"media",label:e.$t("user_card.media"),disabled:!e.media.visibleStatuses.length,embedded:!0,title:e.$t("user_card.media"),"timeline-name":"media",timeline:e.media,"user-id":e.userId,"in-profile":!0,footerSlipgate:e.footerRef},null,8,["label","disabled","title","timeline","user-id","footerSlipgate"]),e.isUs?(Object(wt.D)(),Object(wt.h)(c,{key:"favorites",label:e.$t("user_card.favorites"),disabled:!e.favorites.visibleStatuses.length,embedded:!0,title:e.$t("user_card.favorites"),"timeline-name":"favorites",timeline:e.favorites,"in-profile":!0,footerSlipgate:e.footerRef},null,8,["label","disabled","title","timeline","footerSlipgate"])):Object(wt.i)("",!0)]),_:1},8,["active-tab","on-switch"]),Object(wt.k)("div",{class:"panel-footer",ref:e.setFooterRef},null,512)])):(Object(wt.D)(),Object(wt.j)("div",Hl,[Object(wt.k)("div",ql,[Object(wt.k)("div",Jl,Object(wt.O)(e.$t("settings.profile_tab")),1)]),Object(wt.k)("div",Wl,[e.error?(Object(wt.D)(),Object(wt.j)("span",Yl,Object(wt.O)(e.error),1)):(Object(wt.D)(),Object(wt.h)(h,{key:1,spin:"",icon:"circle-notch"}))])]))])}]]);const pu={class:"panel panel-default"},hu={class:"panel-heading"},bu={class:"title"},mu={class:"search-input-container"},fu=["placeholder"],Ou={key:0,class:"text-center loading-icon"},ju={key:1},gu={class:"search-nav-heading"},vu=["label"],yu=["label"],wu=["label"],ku={class:"panel-body"},_u={key:0},Su={key:0,class:"search-result-heading"},Cu={key:1},Pu={key:0,class:"search-result-heading"},xu={key:2},Du={key:0,class:"search-result-heading"},Tu={class:"hashtag"},Iu={key:0},$u={key:0},zu={key:1},Mu={key:0,class:"count"},Uu=Object(wt.k)("div",{class:"search-result-footer text-center panel-footer faint"},null,-1);Tn.c.add(In.r,In.cb);var Fu={components:{FollowCard:tu,Conversation:za,Status:Ns.default,TabSwitcher:bc.a},props:["query"],data:function(){return{loaded:!1,loading:!1,searchTerm:this.query||"",userIds:[],statuses:[],hashtags:[],currenResultTab:"statuses"}},computed:{users:function(){var e=this;return this.userIds.map((function(t){return e.$store.getters.findUser(t)}))},visibleStatuses:function(){var e=this.$store.state.statuses.allStatusesObject;return this.statuses.filter((function(t){return e[t.id]&&!e[t.id].deleted}))}},mounted:function(){this.search(this.query)},watch:{query:function(e){this.searchTerm=e,this.search(e)}},methods:{newQuery:function(e){this.$router.push({name:"search",query:{query:e}}),this.$refs.searchInput.focus()},search:function(e){var t=this;e?(this.loading=!0,this.userIds=[],this.statuses=[],this.hashtags=[],this.$refs.searchInput.blur(),this.$store.dispatch("search",{q:e,resolve:!0}).then((function(e){t.loading=!1,t.userIds=he()(e.accounts,"id"),t.statuses=e.statuses,t.hashtags=e.hashtags,t.currenResultTab=t.getActiveTab(),t.loaded=!0}))):this.loading=!1},resultCount:function(e){var t=this[e].length;return 0===t?"":" (".concat(t,")")},onResultTabSwitch:function(e){this.currenResultTab=e},getActiveTab:function(){return this.visibleStatuses.length>0?"statuses":this.users.length>0?"people":this.hashtags.length>0?"hashtags":"statuses"},lastHistoryRecord:function(e){return e.history&&e.history[0]}}};n(585);var Eu=Fn()(Fu,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("FAIcon"),a=Object(wt.J)("tab-switcher"),c=Object(wt.J)("Status"),l=Object(wt.J)("FollowCard"),u=Object(wt.J)("router-link");return Object(wt.D)(),Object(wt.j)("div",pu,[Object(wt.k)("div",hu,[Object(wt.k)("div",bu,Object(wt.O)(e.$t("nav.search")),1)]),Object(wt.k)("div",mu,[Object(wt.W)(Object(wt.k)("input",{ref:"searchInput","onUpdate:modelValue":t[0]||(t[0]=t=>e.searchTerm=t),class:"search-input",placeholder:e.$t("nav.search"),onKeyup:t[1]||(t[1]=Object(wt.X)(t=>e.newQuery(e.searchTerm),["enter"]))},null,40,fu),[[wt.S,e.searchTerm]]),Object(wt.k)("button",{class:"btn button-default search-button",type:"submit",onClick:t[2]||(t[2]=t=>e.newQuery(e.searchTerm))},[Object(wt.m)(s,{icon:"search"})])]),e.loading?(Object(wt.D)(),Object(wt.j)("div",Ou,[Object(wt.m)(s,{icon:"circle-notch",spin:"",size:"lg"})])):e.loaded?(Object(wt.D)(),Object(wt.j)("div",ju,[Object(wt.k)("div",gu,[Object(wt.m)(a,{ref:"tabSwitcher","on-switch":e.onResultTabSwitch,"active-tab":e.currenResultTab},{default:Object(wt.V)(()=>[Object(wt.k)("span",{key:"statuses",label:e.$t("user_card.statuses")+e.resultCount("visibleStatuses")},null,8,vu),Object(wt.k)("span",{key:"people",label:e.$t("search.people")+e.resultCount("users")},null,8,yu),Object(wt.k)("span",{key:"hashtags",label:e.$t("search.hashtags")+e.resultCount("hashtags")},null,8,wu)]),_:1},8,["on-switch","active-tab"])])])):Object(wt.i)("",!0),Object(wt.k)("div",ku,["statuses"===e.currenResultTab?(Object(wt.D)(),Object(wt.j)("div",_u,[0===e.visibleStatuses.length&&!e.loading&&e.loaded?(Object(wt.D)(),Object(wt.j)("div",Su,[Object(wt.k)("h4",null,Object(wt.O)(e.$t("search.no_results")),1)])):Object(wt.i)("",!0),(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.visibleStatuses,e=>(Object(wt.D)(),Object(wt.h)(c,{key:e.id,collapsable:!1,expandable:!1,compact:!1,class:"search-result",statusoid:e,"no-heading":!1},null,8,["statusoid"]))),128))])):"people"===e.currenResultTab?(Object(wt.D)(),Object(wt.j)("div",Cu,[0===e.users.length&&!e.loading&&e.loaded?(Object(wt.D)(),Object(wt.j)("div",Pu,[Object(wt.k)("h4",null,Object(wt.O)(e.$t("search.no_results")),1)])):Object(wt.i)("",!0),(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.users,e=>(Object(wt.D)(),Object(wt.h)(l,{key:e.id,user:e,class:"list-item search-result"},null,8,["user"]))),128))])):"hashtags"===e.currenResultTab?(Object(wt.D)(),Object(wt.j)("div",xu,[0===e.hashtags.length&&!e.loading&&e.loaded?(Object(wt.D)(),Object(wt.j)("div",Du,[Object(wt.k)("h4",null,Object(wt.O)(e.$t("search.no_results")),1)])):Object(wt.i)("",!0),(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.hashtags,t=>(Object(wt.D)(),Object(wt.j)("div",{key:t.url,class:"status trend search-result"},[Object(wt.k)("div",Tu,[Object(wt.m)(u,{to:{name:"tag-timeline",params:{tag:t.name}}},{default:Object(wt.V)(()=>[Object(wt.l)(" #"+Object(wt.O)(t.name),1)]),_:2},1032,["to"]),e.lastHistoryRecord(t)?(Object(wt.D)(),Object(wt.j)("div",Iu,[1==e.lastHistoryRecord(t).accounts?(Object(wt.D)(),Object(wt.j)("span",$u,Object(wt.O)(e.$t("search.person_talking",{count:e.lastHistoryRecord(t).accounts})),1)):(Object(wt.D)(),Object(wt.j)("span",zu,Object(wt.O)(e.$t("search.people_talking",{count:e.lastHistoryRecord(t).accounts})),1))])):Object(wt.i)("",!0)]),e.lastHistoryRecord(t)?(Object(wt.D)(),Object(wt.j)("div",Mu,Object(wt.O)(e.lastHistoryRecord(t).uses),1)):Object(wt.i)("",!0)]))),128))])):Object(wt.i)("",!0)]),Uu])}]]);const Lu={class:"settings panel panel-default"},Ru={class:"panel-heading"},Au={class:"panel-body"},Nu={class:"container"},Bu={class:"text-fields"},Vu={class:"form--label",for:"sign-up-username"},Hu=["disabled","placeholder"],qu={key:0,class:"form-error"},Ju={key:0},Wu={class:"form--label",for:"sign-up-fullname"},Yu=["disabled","placeholder"],Gu={key:1,class:"form-error"},Ku={key:0},Xu={class:"form--label",for:"email"},Zu=["disabled"],Qu={key:2,class:"form-error"},ed={key:0},td={class:"form-group"},nd={class:"form--label",for:"bio"},rd=["disabled","placeholder"],id={class:"form--label",for:"sign-up-password"},od=["disabled"],sd={key:3,class:"form-error"},ad={key:0},cd={class:"form--label",for:"sign-up-password-confirmation"},ld=["disabled"],ud={key:4,class:"form-error"},dd={key:0},pd={key:1},hd={key:5,class:"form-group"},bd={class:"form--label",for:"reason"},md=["disabled","placeholder"],fd={key:6,id:"captcha-group",class:"form-group"},Od={class:"form--label",for:"captcha-label"},jd=["src"],gd=["disabled"],vd={key:7,class:"form-group"},yd={for:"token"},wd={class:"form-group"},kd=["disabled"],_d=["innerHTML"],Sd={key:0,class:"form-group"},Cd={class:"alert error"};var Pd=n(333),xd=n(62);function Dd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Td(e){for(var t=1;te.submit(e.user),["prevent"]))},[Object(wt.k)("div",Nu,[Object(wt.k)("div",Bu,[Object(wt.k)("div",{class:Object(wt.w)(["form-group",{"form-group--error":e.v$.user.username.$error}])},[Object(wt.k)("label",Vu,Object(wt.O)(e.$t("login.username")),1),Object(wt.W)(Object(wt.k)("input",{id:"sign-up-username","onUpdate:modelValue":t[0]||(t[0]=t=>e.v$.user.username.$model=t),disabled:e.isPending,class:"form-control",placeholder:e.$t("registration.username_placeholder")},null,8,Hu),[[wt.S,e.v$.user.username.$model,void 0,{trim:!0}]])],2),e.v$.user.username.$dirty?(Object(wt.D)(),Object(wt.j)("div",qu,[Object(wt.k)("ul",null,[e.v$.user.username.required?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("li",Ju,[Object(wt.k)("span",null,Object(wt.O)(e.$t("registration.validations.username_required")),1)]))])])):Object(wt.i)("",!0),Object(wt.k)("div",{class:Object(wt.w)(["form-group",{"form-group--error":e.v$.user.fullname.$error}])},[Object(wt.k)("label",Wu,Object(wt.O)(e.$t("registration.fullname")),1),Object(wt.W)(Object(wt.k)("input",{id:"sign-up-fullname","onUpdate:modelValue":t[1]||(t[1]=t=>e.v$.user.fullname.$model=t),disabled:e.isPending,class:"form-control",placeholder:e.$t("registration.fullname_placeholder")},null,8,Yu),[[wt.S,e.v$.user.fullname.$model,void 0,{trim:!0}]])],2),e.v$.user.fullname.$dirty?(Object(wt.D)(),Object(wt.j)("div",Gu,[Object(wt.k)("ul",null,[e.v$.user.fullname.required?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("li",Ku,[Object(wt.k)("span",null,Object(wt.O)(e.$t("registration.validations.fullname_required")),1)]))])])):Object(wt.i)("",!0),Object(wt.k)("div",{class:Object(wt.w)(["form-group",{"form-group--error":e.v$.user.email.$error}])},[Object(wt.k)("label",Xu,Object(wt.O)(e.$t("registration.email")),1),Object(wt.W)(Object(wt.k)("input",{id:"email","onUpdate:modelValue":t[2]||(t[2]=t=>e.v$.user.email.$model=t),disabled:e.isPending,class:"form-control",type:"email"},null,8,Zu),[[wt.S,e.v$.user.email.$model]])],2),e.v$.user.email.$dirty?(Object(wt.D)(),Object(wt.j)("div",Qu,[Object(wt.k)("ul",null,[e.v$.user.email.required?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("li",ed,[Object(wt.k)("span",null,Object(wt.O)(e.$t("registration.validations.email_required")),1)]))])])):Object(wt.i)("",!0),Object(wt.k)("div",td,[Object(wt.k)("label",nd,Object(wt.O)(e.$t("registration.bio"))+" ("+Object(wt.O)(e.$t("general.optional"))+")",1),Object(wt.W)(Object(wt.k)("textarea",{id:"bio","onUpdate:modelValue":t[3]||(t[3]=t=>e.user.bio=t),disabled:e.isPending,class:"form-control",placeholder:e.bioPlaceholder},null,8,rd),[[wt.S,e.user.bio]])]),Object(wt.k)("div",{class:Object(wt.w)(["form-group",{"form-group--error":e.v$.user.password.$error}])},[Object(wt.k)("label",id,Object(wt.O)(e.$t("login.password")),1),Object(wt.W)(Object(wt.k)("input",{id:"sign-up-password","onUpdate:modelValue":t[4]||(t[4]=t=>e.user.password=t),disabled:e.isPending,class:"form-control",type:"password"},null,8,od),[[wt.S,e.user.password]])],2),e.v$.user.password.$dirty?(Object(wt.D)(),Object(wt.j)("div",sd,[Object(wt.k)("ul",null,[e.v$.user.password.required?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("li",ad,[Object(wt.k)("span",null,Object(wt.O)(e.$t("registration.validations.password_required")),1)]))])])):Object(wt.i)("",!0),Object(wt.k)("div",{class:Object(wt.w)(["form-group",{"form-group--error":e.v$.user.confirm.$error}])},[Object(wt.k)("label",cd,Object(wt.O)(e.$t("registration.password_confirm")),1),Object(wt.W)(Object(wt.k)("input",{id:"sign-up-password-confirmation","onUpdate:modelValue":t[5]||(t[5]=t=>e.user.confirm=t),disabled:e.isPending,class:"form-control",type:"password"},null,8,ld),[[wt.S,e.user.confirm]])],2),e.v$.user.confirm.$dirty?(Object(wt.D)(),Object(wt.j)("div",ud,[Object(wt.k)("ul",null,[e.v$.user.confirm.required?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("li",dd,[Object(wt.k)("span",null,Object(wt.O)(e.$t("registration.validations.password_confirmation_required")),1)])),e.v$.user.confirm.sameAsPassword?Object(wt.i)("",!0):(Object(wt.D)(),Object(wt.j)("li",pd,[Object(wt.k)("span",null,Object(wt.O)(e.$t("registration.validations.password_confirmation_match")),1)]))])])):Object(wt.i)("",!0),Object(wt.k)("div",{class:Object(wt.w)(["form-group",{"form-group--error":e.v$.user.language.$error}])},[Object(wt.m)(s,{for:"email-language","prompt-text":e.$t("registration.email_language"),language:e.v$.user.language.$model,"set-language":t=>e.v$.user.language.$model=t},null,8,["prompt-text","language","set-language"])],2),e.accountApprovalRequired?(Object(wt.D)(),Object(wt.j)("div",hd,[Object(wt.k)("label",bd,Object(wt.O)(e.$t("registration.reason")),1),Object(wt.W)(Object(wt.k)("textarea",{id:"reason","onUpdate:modelValue":t[6]||(t[6]=t=>e.user.reason=t),disabled:e.isPending,class:"form-control",placeholder:e.reasonPlaceholder},null,8,md),[[wt.S,e.user.reason]])])):Object(wt.i)("",!0),"none"!=e.captcha.type?(Object(wt.D)(),Object(wt.j)("div",fd,[Object(wt.k)("label",Od,Object(wt.O)(e.$t("registration.captcha")),1),["kocaptcha","native"].includes(e.captcha.type)?(Object(wt.D)(),Object(wt.j)(wt.a,{key:0},[Object(wt.k)("img",{src:e.captcha.url,onClick:t[7]||(t[7]=(...t)=>e.setCaptcha&&e.setCaptcha(...t))},null,8,jd),Object(wt.k)("sub",null,Object(wt.O)(e.$t("registration.new_captcha")),1),Object(wt.W)(Object(wt.k)("input",{id:"captcha-answer","onUpdate:modelValue":t[8]||(t[8]=t=>e.captcha.solution=t),disabled:e.isPending,class:"form-control",type:"text",autocomplete:"off",autocorrect:"off",autocapitalize:"off",spellcheck:"false"},null,8,gd),[[wt.S,e.captcha.solution]])],64)):Object(wt.i)("",!0)])):Object(wt.i)("",!0),e.token?(Object(wt.D)(),Object(wt.j)("div",vd,[Object(wt.k)("label",yd,Object(wt.O)(e.$t("registration.token")),1),Object(wt.W)(Object(wt.k)("input",{id:"token","onUpdate:modelValue":t[9]||(t[9]=t=>e.token=t),disabled:"true",class:"form-control",type:"text"},null,512),[[wt.S,e.token]])])):Object(wt.i)("",!0),Object(wt.k)("div",wd,[Object(wt.k)("button",{disabled:e.isPending,type:"submit",class:"btn button-default"},Object(wt.O)(e.$t("registration.register")),9,kd)])]),Object(wt.k)("div",{class:"terms-of-service",innerHTML:e.termsOfService},null,8,_d)]),e.serverValidationErrors.length?(Object(wt.D)(),Object(wt.j)("div",Sd,[Object(wt.k)("div",Cd,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.serverValidationErrors,e=>(Object(wt.D)(),Object(wt.j)("span",{key:e},Object(wt.O)(e),1))),128))])])):Object(wt.i)("",!0)],32)])])}]]);const zd={class:"settings panel panel-default"},Md={class:"panel-heading"},Ud={class:"panel-body"},Fd={class:"container"},Ed={key:0},Ld={key:0},Rd={key:1},Ad={key:1},Nd={key:0},Bd={class:"form-group text-center"},Vd={key:2},Hd={key:0,class:"password-reset-required error"},qd={class:"form-group"},Jd=["disabled","placeholder"],Wd={class:"form-group"},Yd=["disabled"],Gd={key:3,class:"alert error notice-dismissible"};var Kd=function(e){var t=e.instance,n={email:e.email},r=De()(n,(function(e,t,n){var r="".concat(n,"=").concat(encodeURIComponent(t));return"".concat(e,"&").concat(r)}),""),i="".concat(t).concat("/auth/password","?").concat(r);return window.fetch(i,{method:"POST"})};function Xd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Zd(e){for(var t=1;te.submit&&e.submit(...t),["prevent"]))},[Object(wt.k)("div",Fd,[e.mailerEnabled?e.success||e.throttled?(Object(wt.D)(),Object(wt.j)("div",Ad,[e.success?(Object(wt.D)(),Object(wt.j)("p",Nd,Object(wt.O)(e.$t("password_reset.check_email")),1)):Object(wt.i)("",!0),Object(wt.k)("div",Bd,[Object(wt.m)(s,{to:{name:"root"}},{default:Object(wt.V)(()=>[Object(wt.l)(Object(wt.O)(e.$t("password_reset.return_home")),1)]),_:1})])])):(Object(wt.D)(),Object(wt.j)("div",Vd,[e.passwordResetRequested?(Object(wt.D)(),Object(wt.j)("p",Hd,Object(wt.O)(e.$t("password_reset.password_reset_required")),1)):Object(wt.i)("",!0),Object(wt.k)("p",null,Object(wt.O)(e.$t("password_reset.instruction")),1),Object(wt.k)("div",qd,[Object(wt.W)(Object(wt.k)("input",{ref:"email","onUpdate:modelValue":t[0]||(t[0]=t=>e.user.email=t),disabled:e.isPending,placeholder:e.$t("password_reset.placeholder"),class:"form-control",type:"input"},null,8,Jd),[[wt.S,e.user.email]])]),Object(wt.k)("div",Wd,[Object(wt.k)("button",{disabled:e.isPending,type:"submit",class:"btn button-default btn-block"},Object(wt.O)(e.$t("settings.save")),9,Yd)])])):(Object(wt.D)(),Object(wt.j)("div",Ed,[e.passwordResetRequested?(Object(wt.D)(),Object(wt.j)("p",Ld,Object(wt.O)(e.$t("password_reset.password_reset_required_but_mailer_is_disabled")),1)):(Object(wt.D)(),Object(wt.j)("p",Rd,Object(wt.O)(e.$t("password_reset.password_reset_disabled")),1))])),e.error?(Object(wt.D)(),Object(wt.j)("p",Gd,[Object(wt.k)("span",null,Object(wt.O)(e.error),1),Object(wt.k)("a",{class:"fa-scale-110 fa-old-padding dismiss",onClick:t[1]||(t[1]=Object(wt.Y)(t=>e.dismissError(),["prevent"]))},[Object(wt.m)(a,{icon:"times"})])])):Object(wt.i)("",!0)])],32)])])}]]);const tp={class:"settings panel panel-default"},np={class:"panel-heading"},rp={class:"title"},ip={class:"panel-body"};const op={class:"follow-request-card-content-container"};var sp={props:["user"],components:{BasicUserCard:Qc.a},methods:{findFollowRequestNotificationId:function(){var e=this,t=Object(W.e)(this.$store).find((function(t){return t.from_profile.id===e.user.id&&"follow_request"===t.type}));return t&&t.id},approveUser:function(){this.$store.state.api.backendInteractor.approveUser({id:this.user.id}),this.$store.dispatch("removeFollowRequest",this.user);var e=this.findFollowRequestNotificationId();this.$store.dispatch("markSingleNotificationAsSeen",{id:e}),this.$store.dispatch("updateNotification",{id:e,updater:function(e){e.type="follow"}})},denyUser:function(){var e=this,t=this.findFollowRequestNotificationId();this.$store.state.api.backendInteractor.denyUser({id:this.user.id}).then((function(){e.$store.dispatch("dismissNotificationLocal",{id:t}),e.$store.dispatch("removeFollowRequest",e.user)}))}}};n(589);var ap={components:{FollowRequestCard:Fn()(sp,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("basic-user-card");return Object(wt.D)(),Object(wt.h)(s,{user:e.user},{default:Object(wt.V)(()=>[Object(wt.k)("div",op,[Object(wt.k)("button",{class:"btn button-default",onClick:t[0]||(t[0]=(...t)=>e.approveUser&&e.approveUser(...t))},Object(wt.O)(e.$t("user_card.approve")),1),Object(wt.k)("button",{class:"btn button-default",onClick:t[1]||(t[1]=(...t)=>e.denyUser&&e.denyUser(...t))},Object(wt.O)(e.$t("user_card.deny")),1)])]),_:1},8,["user"])}]])},computed:{requests:function(){return this.$store.state.api.followRequests}}};var cp=Fn()(ap,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("FollowRequestCard");return Object(wt.D)(),Object(wt.j)("div",tp,[Object(wt.k)("div",np,[Object(wt.k)("div",rp,Object(wt.O)(e.$t("nav.friend_requests")),1)]),Object(wt.k)("div",ip,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.requests,e=>(Object(wt.D)(),Object(wt.h)(s,{key:e.id,user:e,class:"list-item"},null,8,["user"]))),128))])])}]]);var lp={props:["code"],mounted:function(){var e=this;if(this.code){var t=this.$store.state.oauth,n=t.clientId,r=t.clientSecret;ze.getToken({clientId:n,clientSecret:r,instance:this.$store.state.instance.server,code:this.code}).then((function(t){e.$store.commit("setToken",t.access_token),e.$store.dispatch("loginUser",t.access_token),e.$router.push({name:"friends"})}))}}};var up=Fn()(lp,[["render",function(e,t,n,r,i,o){return Object(wt.D)(),Object(wt.j)("h1",null,"...")}]]);const dp={class:"panel panel-default"},pp={class:"panel-heading"},hp={class:"panel-body"};var bp={components:{FollowCard:tu},data:function(){return{users:[]}},mounted:function(){this.getWhoToFollow()},methods:{showWhoToFollow:function(e){var t=this;e.forEach((function(e,n){t.$store.state.api.backendInteractor.fetchUser({id:e.acct}).then((function(e){e.error||(t.$store.commit("addNewUsers",[e]),t.users.push(e))}))}))},getWhoToFollow:function(){var e=this,t=this.$store.state.users.currentUser.credentials;t&&j.c.suggestions({credentials:t}).then((function(t){e.showWhoToFollow(t)}))}}};var mp=Fn()(bp,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("FollowCard");return Object(wt.D)(),Object(wt.j)("div",dp,[Object(wt.k)("div",pp,Object(wt.O)(e.$t("who_to_follow.who_to_follow")),1),Object(wt.k)("div",hp,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.users,e=>(Object(wt.D)(),Object(wt.h)(s,{key:e.id,user:e,class:"list-item"},null,8,["user"]))),128))])])}]]);const fp={class:"column-inner"};const Op={class:"panel panel-default"},jp={class:"panel-body"},gp=["innerHTML"];var vp={computed:{content:function(){return this.$store.state.instance.tos}}};n(590);var yp=Fn()(vp,[["render",function(e,t,n,r,i,o){return Object(wt.D)(),Object(wt.j)("div",null,[Object(wt.k)("div",Op,[Object(wt.k)("div",jp,[Object(wt.k)("div",{class:"tos-content",innerHTML:e.content},null,8,gp)])])])}]]);const wp={class:"staff-panel"},kp={class:"panel panel-default base01-background"},_p={class:"panel-heading timeline-heading base02-background"},Sp={class:"title"},Cp={class:"panel-body"};var Pp=n(334),xp=n.n(Pp);function Dp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Tp(e){for(var t=1;t(Object(wt.D)(),Object(wt.j)("div",{key:t.role,class:"staff-group"},[Object(wt.k)("h4",null,Object(wt.O)(e.$t("general.role."+t.role)),1),(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(t.users,e=>(Object(wt.D)(),Object(wt.h)(s,{key:e.screen_name,user:e},null,8,["user"]))),128))]))),128))])])])}]]);const zp={key:0,class:"mrf-transparency-panel"},Mp={class:"panel panel-default base01-background"},Up={class:"panel-heading timeline-heading base02-background"},Fp={class:"title"},Ep={class:"panel-body"},Lp={class:"mrf-section"},Rp=["textContent"],Ap={key:0},Np={key:1},Bp={key:0},Vp={key:1},Hp={key:2},qp={key:0},Jp={key:1},Wp={key:3},Yp={key:0},Gp={key:1},Kp={key:4},Xp={key:0},Zp={key:1},Qp={key:5},eh={key:0},th={key:1},nh={key:6},rh={key:0},ih={key:1},oh={key:7},sh={key:8},ah=["textContent"],ch={key:9},lh=["textContent"],uh={key:10};function dh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ph(e){for(var t=1;t(Object(wt.D)(),Object(wt.j)("li",{key:e,textContent:Object(wt.O)(e)},null,8,Rp))),128))]),e.hasInstanceSpecificPolicies?(Object(wt.D)(),Object(wt.j)("h2",Ap,Object(wt.O)(e.$t("about.mrf.simple.simple_policies")),1)):Object(wt.i)("",!0),e.acceptInstances.length?(Object(wt.D)(),Object(wt.j)("div",Np,[Object(wt.k)("h4",null,Object(wt.O)(e.$t("about.mrf.simple.accept")),1),Object(wt.k)("p",null,Object(wt.O)(e.$t("about.mrf.simple.accept_desc")),1),Object(wt.k)("table",null,[Object(wt.k)("tr",null,[Object(wt.k)("th",null,Object(wt.O)(e.$t("about.mrf.simple.instance")),1),Object(wt.k)("th",null,Object(wt.O)(e.$t("about.mrf.simple.reason")),1)]),(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.acceptInstances,t=>(Object(wt.D)(),Object(wt.j)("tr",{key:t.instance+"_accept"},[Object(wt.k)("td",null,Object(wt.O)(t.instance),1),""===t.reason?(Object(wt.D)(),Object(wt.j)("td",Bp,Object(wt.O)(e.$t("about.mrf.simple.not_applicable")),1)):(Object(wt.D)(),Object(wt.j)("td",Vp,Object(wt.O)(t.reason),1))]))),128))])])):Object(wt.i)("",!0),e.rejectInstances.length?(Object(wt.D)(),Object(wt.j)("div",Hp,[Object(wt.k)("h4",null,Object(wt.O)(e.$t("about.mrf.simple.reject")),1),Object(wt.k)("p",null,Object(wt.O)(e.$t("about.mrf.simple.reject_desc")),1),Object(wt.k)("table",null,[Object(wt.k)("tr",null,[Object(wt.k)("th",null,Object(wt.O)(e.$t("about.mrf.simple.instance")),1),Object(wt.k)("th",null,Object(wt.O)(e.$t("about.mrf.simple.reason")),1)]),(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.rejectInstances,t=>(Object(wt.D)(),Object(wt.j)("tr",{key:t.instance+"_reject"},[Object(wt.k)("td",null,Object(wt.O)(t.instance),1),""===t.reason?(Object(wt.D)(),Object(wt.j)("td",qp,Object(wt.O)(e.$t("about.mrf.simple.not_applicable")),1)):(Object(wt.D)(),Object(wt.j)("td",Jp,Object(wt.O)(t.reason),1))]))),128))])])):Object(wt.i)("",!0),e.quarantineInstances.length?(Object(wt.D)(),Object(wt.j)("div",Wp,[Object(wt.k)("h4",null,Object(wt.O)(e.$t("about.mrf.simple.quarantine")),1),Object(wt.k)("p",null,Object(wt.O)(e.$t("about.mrf.simple.quarantine_desc")),1),Object(wt.k)("table",null,[Object(wt.k)("tr",null,[Object(wt.k)("th",null,Object(wt.O)(e.$t("about.mrf.simple.instance")),1),Object(wt.k)("th",null,Object(wt.O)(e.$t("about.mrf.simple.reason")),1)]),(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.quarantineInstances,t=>(Object(wt.D)(),Object(wt.j)("tr",{key:t.instance+"_quarantine"},[Object(wt.k)("td",null,Object(wt.O)(t.instance),1),""===t.reason?(Object(wt.D)(),Object(wt.j)("td",Yp,Object(wt.O)(e.$t("about.mrf.simple.not_applicable")),1)):(Object(wt.D)(),Object(wt.j)("td",Gp,Object(wt.O)(t.reason),1))]))),128))])])):Object(wt.i)("",!0),e.ftlRemovalInstances.length?(Object(wt.D)(),Object(wt.j)("div",Kp,[Object(wt.k)("h4",null,Object(wt.O)(e.$t("about.mrf.simple.ftl_removal")),1),Object(wt.k)("p",null,Object(wt.O)(e.$t("about.mrf.simple.ftl_removal_desc")),1),Object(wt.k)("table",null,[Object(wt.k)("tr",null,[Object(wt.k)("th",null,Object(wt.O)(e.$t("about.mrf.simple.instance")),1),Object(wt.k)("th",null,Object(wt.O)(e.$t("about.mrf.simple.reason")),1)]),(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.ftlRemovalInstances,t=>(Object(wt.D)(),Object(wt.j)("tr",{key:t.instance+"_ftl_removal"},[Object(wt.k)("td",null,Object(wt.O)(t.instance),1),""===t.reason?(Object(wt.D)(),Object(wt.j)("td",Xp,Object(wt.O)(e.$t("about.mrf.simple.not_applicable")),1)):(Object(wt.D)(),Object(wt.j)("td",Zp,Object(wt.O)(t.reason),1))]))),128))])])):Object(wt.i)("",!0),e.mediaNsfwInstances.length?(Object(wt.D)(),Object(wt.j)("div",Qp,[Object(wt.k)("h4",null,Object(wt.O)(e.$t("about.mrf.simple.media_nsfw")),1),Object(wt.k)("p",null,Object(wt.O)(e.$t("about.mrf.simple.media_nsfw_desc")),1),Object(wt.k)("table",null,[Object(wt.k)("tr",null,[Object(wt.k)("th",null,Object(wt.O)(e.$t("about.mrf.simple.instance")),1),Object(wt.k)("th",null,Object(wt.O)(e.$t("about.mrf.simple.reason")),1)]),(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.mediaNsfwInstances,t=>(Object(wt.D)(),Object(wt.j)("tr",{key:t.instance+"_media_nsfw"},[Object(wt.k)("td",null,Object(wt.O)(t.instance),1),""===t.reason?(Object(wt.D)(),Object(wt.j)("td",eh,Object(wt.O)(e.$t("about.mrf.simple.not_applicable")),1)):(Object(wt.D)(),Object(wt.j)("td",th,Object(wt.O)(t.reason),1))]))),128))])])):Object(wt.i)("",!0),e.mediaRemovalInstances.length?(Object(wt.D)(),Object(wt.j)("div",nh,[Object(wt.k)("h4",null,Object(wt.O)(e.$t("about.mrf.simple.media_removal")),1),Object(wt.k)("p",null,Object(wt.O)(e.$t("about.mrf.simple.media_removal_desc")),1),Object(wt.k)("table",null,[Object(wt.k)("tr",null,[Object(wt.k)("th",null,Object(wt.O)(e.$t("about.mrf.simple.instance")),1),Object(wt.k)("th",null,Object(wt.O)(e.$t("about.mrf.simple.reason")),1)]),(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.mediaRemovalInstances,t=>(Object(wt.D)(),Object(wt.j)("tr",{key:t.instance+"_media_removal"},[Object(wt.k)("td",null,Object(wt.O)(t.instance),1),""===t.reason?(Object(wt.D)(),Object(wt.j)("td",rh,Object(wt.O)(e.$t("about.mrf.simple.not_applicable")),1)):(Object(wt.D)(),Object(wt.j)("td",ih,Object(wt.O)(t.reason),1))]))),128))])])):Object(wt.i)("",!0),e.hasKeywordPolicies?(Object(wt.D)(),Object(wt.j)("h2",oh,Object(wt.O)(e.$t("about.mrf.keyword.keyword_policies")),1)):Object(wt.i)("",!0),e.keywordsFtlRemoval.length?(Object(wt.D)(),Object(wt.j)("div",sh,[Object(wt.k)("h4",null,Object(wt.O)(e.$t("about.mrf.keyword.ftl_removal")),1),Object(wt.k)("ul",null,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.keywordsFtlRemoval,e=>(Object(wt.D)(),Object(wt.j)("li",{key:e,textContent:Object(wt.O)(e)},null,8,ah))),128))])])):Object(wt.i)("",!0),e.keywordsReject.length?(Object(wt.D)(),Object(wt.j)("div",ch,[Object(wt.k)("h4",null,Object(wt.O)(e.$t("about.mrf.keyword.reject")),1),Object(wt.k)("ul",null,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.keywordsReject,e=>(Object(wt.D)(),Object(wt.j)("li",{key:e,textContent:Object(wt.O)(e)},null,8,lh))),128))])])):Object(wt.i)("",!0),e.keywordsReplace.length?(Object(wt.D)(),Object(wt.j)("div",uh,[Object(wt.k)("h4",null,Object(wt.O)(e.$t("about.mrf.keyword.replace")),1),Object(wt.k)("ul",null,[(Object(wt.D)(!0),Object(wt.j)(wt.a,null,Object(wt.H)(e.keywordsReplace,t=>(Object(wt.D)(),Object(wt.j)("li",{key:t},Object(wt.O)(t.pattern)+" "+Object(wt.O)(e.$t("about.mrf.keyword.is_replaced_by"))+" "+Object(wt.O)(t.replacement),1))),128))])])):Object(wt.i)("",!0)])])])])):Object(wt.i)("",!0)}]])},computed:{showFeaturesPanel:function(){return this.$store.state.instance.showFeaturesPanel},showInstanceSpecificPanel:function(){return this.$store.state.instance.showInstanceSpecificPanel&&!this.$store.getters.mergedConfig.hideISP&&this.$store.state.instance.instanceSpecificPanelContent}}};var fh=Fn()(mh,[["render",function(e,t,n,r,i,o){const s=Object(wt.J)("instance-specific-panel"),a=Object(wt.J)("staff-panel"),c=Object(wt.J)("terms-of-service-panel"),l=Object(wt.J)("MRFTransparencyPanel"),u=Object(wt.J)("features-panel");return Object(wt.D)(),Object(wt.j)("div",fp,[e.showInstanceSpecificPanel?(Object(wt.D)(),Object(wt.h)(s,{key:0})):Object(wt.i)("",!0),Object(wt.m)(a),Object(wt.m)(c),Object(wt.m)(l),e.showFeaturesPanel?(Object(wt.D)(),Object(wt.h)(u,{key:1})):Object(wt.i)("",!0)])}]]);const Oh={class:"panel panel-default"},jh={class:"panel-heading"},gh={class:"panel-body"},vh={key:0};var yh={data:function(){return{error:!1}},mounted:function(){this.redirect()},methods:{redirect:function(){var e=this,t=this.$route.params.username+"@"+this.$route.params.hostname;this.$store.state.api.backendInteractor.fetchUser({id:t}).then((function(t){if(t.error)e.error=!0;else{e.$store.commit("addNewUsers",[t]);var n=t.id;e.$router.replace({name:"external-user-profile",params:{id:n}})}})).catch((function(){e.error=!0}))}}};var wh,kh,_h=Fn()(yh,[["render",function(e,t,n,r,i,o){return Object(wt.D)(),Object(wt.j)("div",Oh,[Object(wt.k)("div",jh,Object(wt.O)(e.$t("remote_user_resolver.remote_user_resolver")),1),Object(wt.k)("div",gh,[Object(wt.k)("p",null,Object(wt.O)(e.$t("remote_user_resolver.searching_for"))+" @"+Object(wt.O)(e.$route.params.username)+"@"+Object(wt.O)(e.$route.params.hostname),1),e.error?(Object(wt.D)(),Object(wt.j)("p",vh,Object(wt.O)(e.$t("remote_user_resolver.error")),1)):Object(wt.i)("",!0)])])}]]),Sh=function(e){var t=function(t,n,r){e.state.users.currentUser?r():r(e.state.instance.redirectRootNoLogin||"/main/all")},n=[{name:"root",path:"/",redirect:function(t){return(e.state.users.currentUser?e.state.instance.redirectRootLogin:e.state.instance.redirectRootNoLogin)||"/main/all"}},{name:"public-external-timeline",path:"/main/all",component:Za},{name:"public-timeline",path:"/main/public",component:Ka},{name:"friends",path:"/main/friends",component:ec,beforeEnter:t},{name:"tag-timeline",path:"/tag/:tag",component:nc},{name:"bookmarks",path:"/bookmarks",component:ic},{name:"conversation",path:"/notice/:id",component:sc,meta:{dontScroll:!0}},{name:"remote-user-profile-acct",path:"/remote-users/:_(@)?:username([^/@]+)@:hostname([^/@]+)",component:_h,beforeEnter:t},{name:"remote-user-profile",path:"/remote-users/:hostname/:username",component:_h,beforeEnter:t},{name:"external-user-profile",path:"/users/:id",component:du},{name:"interactions",path:"/users/:username/interactions",component:Oc,beforeEnter:t},{name:"dms",path:"/users/:username/dms",component:gc,beforeEnter:t},{name:"registration",path:"/registration",component:$d},{name:"password-reset",path:"/password-reset",component:ep,props:!0},{name:"registration-token",path:"/registration/:token",component:$d},{name:"friend-requests",path:"/friend-requests",component:cp,beforeEnter:t},{name:"notifications",path:"/:username/notifications",component:fs.default,props:function(){return{disableTeleport:!0}},beforeEnter:t},{name:"login",path:"/login",component:fr},{name:"shout-panel",path:"/shout-panel",component:Fi,props:function(){return{floating:!1}}},{name:"oauth-callback",path:"/oauth-callback",component:up,props:function(e){return{code:e.query.code}}},{name:"search",path:"/search",component:Eu,props:function(e){return{query:e.query.query}}},{name:"who-to-follow",path:"/who-to-follow",component:mp,beforeEnter:t},{name:"about",path:"/about",component:fh},{name:"user-profile",path:"/:_(users)?/:name",component:du}];return e.state.instance.pleromaChatMessagesAvailable&&(n=n.concat([{name:"chat",path:"/users/:username/chats/:recipient_id",component:El,meta:{dontScroll:!1},beforeEnter:t},{name:"chats",path:"/users/:username/chats",component:al,meta:{dontScroll:!1},beforeEnter:t}])),n},Ch=n(170),Ph=new Set([]),xh=function(e){var t=window.innerWidth-document.documentElement.clientWidth;Ch.disableBodyScroll(e,{reserveScrollBarGap:!0}),Ph.add(e),setTimeout((function(){if(Ph.size<=1){if(void 0===wh){var e=document.getElementById("nav");wh=window.getComputedStyle(e).getPropertyValue("padding-right"),e.style.paddingRight=wh?"calc(".concat(wh," + ").concat(t,"px)"):"".concat(t,"px")}if(void 0===kh){var n=document.getElementById("app_bg_wrapper");kh=window.getComputedStyle(n).getPropertyValue("right"),n.style.right=kh?"calc(".concat(kh," + ").concat(t,"px)"):"".concat(t,"px")}document.body.classList.add("scroll-locked")}}))},Dh=function(e){Ph.delete(e),setTimeout((function(){0===Ph.size&&(void 0!==wh&&(document.getElementById("nav").style.paddingRight=wh,wh=void 0),void 0!==kh&&(document.getElementById("app_bg_wrapper").style.right=kh,kh=void 0),document.body.classList.remove("scroll-locked"))})),Ch.enableBodyScroll(e)},Th={mounted:function(e,t){t.value&&xh(e)},updated:function(e,t){t.oldValue!==t.value&&(t.value?xh(e):Dh(e))},unmounted:function(e){Dh(e)}},Ih=function(e){e.directive("body-scroll-lock",Th)},$h=n(101);function zh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Mh(e){for(var t=1;t {\n if (status.is_post_verb) {\n return 'status'\n }\n\n if (status.retweeted_status) {\n return 'retweet'\n }\n\n if ((typeof status.uri === 'string' && status.uri.match(/(fave|objectType=Favourite)/)) ||\n (typeof status.text === 'string' && status.text.match(/favorited/))) {\n return 'favorite'\n }\n\n if (status.text.match(/deleted notice {{tag/) || status.qvitter_delete_notice) {\n return 'deletion'\n }\n\n if (status.text.match(/started following/) || status.activity_type === 'follow') {\n return 'follow'\n }\n\n return 'unknown'\n}\n\nexport const parseUser = (data) => {\n const output = {}\n const masto = data.hasOwnProperty('acct')\n // case for users in \"mentions\" property for statuses in MastoAPI\n const mastoShort = masto && !data.hasOwnProperty('avatar')\n\n output.id = String(data.id)\n output._original = data // used for server-side settings\n\n if (masto) {\n output.screen_name = data.acct\n output.statusnet_profile_url = data.url\n\n // There's nothing else to get\n if (mastoShort) {\n return output\n }\n\n output.emoji = data.emojis\n output.name = escape(data.display_name)\n output.name_html = output.name\n output.name_unescaped = data.display_name\n\n output.description = data.note\n // TODO cleanup this shit, output.description is overriden with source data\n output.description_html = data.note\n\n output.fields = data.fields\n output.fields_html = data.fields.map(field => {\n return {\n name: escape(field.name),\n value: field.value\n }\n })\n output.fields_text = data.fields.map(field => {\n return {\n name: unescape(field.name.replace(/<[^>]*>/g, '')),\n value: unescape(field.value.replace(/<[^>]*>/g, ''))\n }\n })\n\n // Utilize avatar_static for gif avatars?\n output.profile_image_url = data.avatar\n output.profile_image_url_original = data.avatar\n\n // Same, utilize header_static?\n output.cover_photo = data.header\n\n output.friends_count = data.following_count\n\n output.bot = data.bot\n\n if (data.pleroma) {\n const relationship = data.pleroma.relationship\n\n output.background_image = data.pleroma.background_image\n output.favicon = data.pleroma.favicon\n output.token = data.pleroma.chat_token\n\n if (relationship) {\n output.relationship = relationship\n }\n\n output.allow_following_move = data.pleroma.allow_following_move\n\n output.hide_follows = data.pleroma.hide_follows\n output.hide_followers = data.pleroma.hide_followers\n output.hide_follows_count = data.pleroma.hide_follows_count\n output.hide_followers_count = data.pleroma.hide_followers_count\n\n output.rights = {\n moderator: data.pleroma.is_moderator,\n admin: data.pleroma.is_admin\n }\n // TODO: Clean up in UI? This is duplication from what BE does for qvitterapi\n if (output.rights.admin) {\n output.role = 'admin'\n } else if (output.rights.moderator) {\n output.role = 'moderator'\n } else {\n output.role = 'member'\n }\n }\n\n if (data.source) {\n output.description = data.source.note\n output.default_scope = data.source.privacy\n output.fields = data.source.fields\n if (data.source.pleroma) {\n output.no_rich_text = data.source.pleroma.no_rich_text\n output.show_role = data.source.pleroma.show_role\n output.discoverable = data.source.pleroma.discoverable\n }\n }\n\n // TODO: handle is_local\n output.is_local = !output.screen_name.includes('@')\n } else {\n output.screen_name = data.screen_name\n\n output.name = data.name\n output.name_html = data.name_html\n\n output.description = data.description\n output.description_html = data.description_html\n\n output.profile_image_url = data.profile_image_url\n output.profile_image_url_original = data.profile_image_url_original\n\n output.cover_photo = data.cover_photo\n\n output.friends_count = data.friends_count\n\n // output.bot = ??? missing\n\n output.statusnet_profile_url = data.statusnet_profile_url\n\n output.is_local = data.is_local\n output.role = data.role\n output.show_role = data.show_role\n\n if (data.rights) {\n output.rights = {\n moderator: data.rights.delete_others_notice,\n admin: data.rights.admin\n }\n }\n output.no_rich_text = data.no_rich_text\n output.default_scope = data.default_scope\n output.hide_follows = data.hide_follows\n output.hide_followers = data.hide_followers\n output.hide_follows_count = data.hide_follows_count\n output.hide_followers_count = data.hide_followers_count\n output.background_image = data.background_image\n // Websocket token\n output.token = data.token\n\n // Convert relationsip data to expected format\n output.relationship = {\n muting: data.muted,\n blocking: data.statusnet_blocking,\n followed_by: data.follows_you,\n following: data.following\n }\n }\n\n output.created_at = new Date(data.created_at)\n output.locked = data.locked\n output.followers_count = data.followers_count\n output.statuses_count = data.statuses_count\n\n if (data.pleroma) {\n output.follow_request_count = data.pleroma.follow_request_count\n\n output.tags = data.pleroma.tags\n\n // deactivated was changed to is_active in Pleroma 2.3.0\n // so check if is_active is present\n output.deactivated = typeof data.pleroma.is_active !== 'undefined'\n ? !data.pleroma.is_active // new backend\n : data.pleroma.deactivated // old backend\n\n output.notification_settings = data.pleroma.notification_settings\n output.unread_chat_count = data.pleroma.unread_chat_count\n }\n\n output.tags = output.tags || []\n output.rights = output.rights || {}\n output.notification_settings = output.notification_settings || {}\n\n // Convert punycode to unicode for UI\n output.screen_name_ui = output.screen_name\n if (output.screen_name && output.screen_name.includes('@')) {\n const parts = output.screen_name.split('@')\n let unicodeDomain = punycode.toUnicode(parts[1])\n if (unicodeDomain !== parts[1]) {\n // Add some identifier so users can potentially spot spoofing attempts:\n // lain.com and xn--lin-6cd.com would appear identical otherwise.\n unicodeDomain = '🌏' + unicodeDomain\n output.screen_name_ui = [parts[0], unicodeDomain].join('@')\n }\n }\n\n return output\n}\n\nexport const parseAttachment = (data) => {\n const output = {}\n const masto = !data.hasOwnProperty('oembed')\n\n if (masto) {\n // Not exactly same...\n output.mimetype = data.pleroma ? data.pleroma.mime_type : data.type\n output.meta = data.meta // not present in BE yet\n output.id = data.id\n } else {\n output.mimetype = data.mimetype\n // output.meta = ??? missing\n }\n\n output.url = data.url\n output.large_thumb_url = data.preview_url\n output.description = data.description\n\n return output\n}\n\nexport const parseStatus = (data) => {\n const output = {}\n const masto = data.hasOwnProperty('account')\n\n if (masto) {\n output.favorited = data.favourited\n output.fave_num = data.favourites_count\n\n output.repeated = data.reblogged\n output.repeat_num = data.reblogs_count\n\n output.bookmarked = data.bookmarked\n\n output.type = data.reblog ? 'retweet' : 'status'\n output.nsfw = data.sensitive\n\n output.raw_html = data.content\n output.emojis = data.emojis\n\n output.tags = data.tags\n\n if (data.pleroma) {\n const { pleroma } = data\n output.text = pleroma.content ? data.pleroma.content['text/plain'] : data.content\n output.summary = pleroma.spoiler_text ? data.pleroma.spoiler_text['text/plain'] : data.spoiler_text\n output.statusnet_conversation_id = data.pleroma.conversation_id\n output.is_local = pleroma.local\n output.in_reply_to_screen_name = data.pleroma.in_reply_to_account_acct\n output.thread_muted = pleroma.thread_muted\n output.emoji_reactions = pleroma.emoji_reactions\n output.parent_visible = pleroma.parent_visible === undefined ? true : pleroma.parent_visible\n } else {\n output.text = data.content\n output.summary = data.spoiler_text\n }\n\n if (data.akkoma) {\n const { akkoma } = data\n if (akkoma && akkoma.source && akkoma.source.mediaType === 'text/x.misskeymarkdown') {\n output.mfm_content = akkoma.source.content\n }\n } else {\n output.mfm_content = null\n }\n\n output.in_reply_to_status_id = data.in_reply_to_id\n output.in_reply_to_user_id = data.in_reply_to_account_id\n output.replies_count = data.replies_count\n\n if (output.type === 'retweet') {\n output.retweeted_status = parseStatus(data.reblog)\n }\n\n output.summary_raw_html = escape(data.spoiler_text)\n output.external_url = data.url\n output.poll = data.poll\n if (output.poll) {\n output.poll.options = (output.poll.options || []).map(field => ({\n ...field,\n title_html: escape(field.title)\n }))\n }\n output.pinned = data.pinned\n output.muted = data.muted\n } else {\n output.favorited = data.favorited\n output.fave_num = data.fave_num\n\n output.repeated = data.repeated\n output.repeat_num = data.repeat_num\n\n // catchall, temporary\n // Object.assign(output, data)\n\n output.type = qvitterStatusType(data)\n\n if (data.nsfw === undefined) {\n output.nsfw = isNsfw(data)\n if (data.retweeted_status) {\n output.nsfw = data.retweeted_status.nsfw\n }\n } else {\n output.nsfw = data.nsfw\n }\n\n output.raw_html = data.statusnet_html\n output.text = data.text\n\n output.in_reply_to_status_id = data.in_reply_to_status_id\n output.in_reply_to_user_id = data.in_reply_to_user_id\n output.in_reply_to_screen_name = data.in_reply_to_screen_name\n output.statusnet_conversation_id = data.statusnet_conversation_id\n\n if (output.type === 'retweet') {\n output.retweeted_status = parseStatus(data.retweeted_status)\n }\n\n output.summary = data.summary\n output.summary_html = data.summary_html\n output.external_url = data.external_url\n output.is_local = data.is_local\n }\n\n output.id = String(data.id)\n output.visibility = data.visibility\n output.card = data.card\n output.created_at = new Date(data.created_at)\n\n // Converting to string, the right way.\n output.in_reply_to_status_id = output.in_reply_to_status_id\n ? String(output.in_reply_to_status_id)\n : null\n output.in_reply_to_user_id = output.in_reply_to_user_id\n ? String(output.in_reply_to_user_id)\n : null\n\n output.user = parseUser(masto ? data.account : data.user)\n\n output.attentions = ((masto ? data.mentions : data.attentions) || []).map(parseUser)\n\n output.attachments = ((masto ? data.media_attachments : data.attachments) || [])\n .map(parseAttachment)\n\n const retweetedStatus = masto ? data.reblog : data.retweeted_status\n if (retweetedStatus) {\n output.retweeted_status = parseStatus(retweetedStatus)\n }\n\n output.favoritedBy = []\n output.rebloggedBy = []\n\n return output\n}\n\nexport const parseNotification = (data) => {\n const mastoDict = {\n 'favourite': 'like',\n 'reblog': 'repeat'\n }\n const masto = !data.hasOwnProperty('ntype')\n const output = {}\n\n if (masto) {\n output.type = mastoDict[data.type] || data.type\n output.seen = data.pleroma.is_seen\n output.status = isStatusNotification(output.type) ? parseStatus(data.status) : null\n output.action = output.status // TODO: Refactor, this is unneeded\n output.target = output.type !== 'move'\n ? null\n : parseUser(data.target)\n output.from_profile = parseUser(data.account)\n output.emoji = data.emoji\n output.emoji_url = data.emoji_url\n } else {\n const parsedNotice = parseStatus(data.notice)\n output.type = data.ntype\n output.seen = Boolean(data.is_seen)\n output.status = output.type === 'like'\n ? parseStatus(data.notice.favorited_status)\n : parsedNotice\n output.action = parsedNotice\n output.from_profile = output.type === 'pleroma:chat_mention' ? parseUser(data.account) : parseUser(data.from_profile)\n }\n\n output.created_at = new Date(data.created_at)\n output.id = parseInt(data.id)\n\n return output\n}\n\nconst isNsfw = (status) => {\n const nsfwRegex = /#nsfw/i\n return (status.tags || []).includes('nsfw') || !!(status.text || '').match(nsfwRegex)\n}\n\nexport const parseLinkHeaderPagination = (linkHeader, opts = {}) => {\n const flakeId = opts.flakeId\n const parsedLinkHeader = parseLinkHeader(linkHeader)\n if (!parsedLinkHeader) return\n const maxId = parsedLinkHeader.next.max_id\n const minId = parsedLinkHeader.prev.min_id\n\n return {\n maxId: flakeId ? maxId : parseInt(maxId, 10),\n minId: flakeId ? minId : parseInt(minId, 10)\n }\n}\n\nexport const parseChat = (chat) => {\n const output = {}\n output.id = chat.id\n output.account = parseUser(chat.account)\n output.unread = chat.unread\n output.lastMessage = parseChatMessage(chat.last_message)\n output.updated_at = new Date(chat.updated_at)\n return output\n}\n\nexport const parseChatMessage = (message) => {\n if (!message) { return }\n if (message.isNormalized) { return message }\n const output = message\n output.id = message.id\n output.created_at = new Date(message.created_at)\n output.chat_id = message.chat_id\n output.emojis = message.emojis\n output.content = message.content\n if (message.attachment) {\n output.attachments = [parseAttachment(message.attachment)]\n } else {\n output.attachments = []\n }\n output.pending = !!message.pending\n output.error = false\n output.idempotency_key = message.idempotency_key\n output.isNormalized = true\n return output\n}\n","import { humanizeErrors } from '../../modules/errors'\n\nexport function StatusCodeError (statusCode, body, options, response) {\n this.name = 'StatusCodeError'\n this.statusCode = statusCode\n this.message = statusCode + ' - ' + (JSON && JSON.stringify ? JSON.stringify(body) : body)\n this.error = body // legacy attribute\n this.options = options\n this.response = response\n\n if (Error.captureStackTrace) { // required for non-V8 environments\n Error.captureStackTrace(this)\n }\n}\nStatusCodeError.prototype = Object.create(Error.prototype)\nStatusCodeError.prototype.constructor = StatusCodeError\n\nexport class RegistrationError extends Error {\n constructor (error) {\n super()\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this)\n }\n\n try {\n // the error is probably a JSON object with a single key, \"errors\", whose value is another JSON object containing the real errors\n if (typeof error === 'string') {\n error = JSON.parse(error)\n if (error.hasOwnProperty('error')) {\n error = JSON.parse(error.error)\n }\n }\n\n if (typeof error === 'object') {\n const errorContents = JSON.parse(error.error)\n // keys will have the property that has the error, for example 'ap_id',\n // 'email' or 'captcha', the value will be an array of its error\n // like \"ap_id\": [\"has been taken\"] or \"captcha\": [\"Invalid CAPTCHA\"]\n\n // replace ap_id with username\n if (errorContents.ap_id) {\n errorContents.username = errorContents.ap_id\n delete errorContents.ap_id\n }\n\n this.message = humanizeErrors(errorContents)\n } else {\n this.message = error\n }\n } catch (e) {\n // can't parse it, so just treat it like a string\n this.message = error\n }\n }\n}\n","import { capitalize } from 'lodash'\n\nexport function humanizeErrors (errors) {\n return Object.entries(errors).reduce((errs, [k, val]) => {\n let message = val.reduce((acc, message) => {\n let key = capitalize(k.replace(/_/g, ' '))\n return acc + [key, message].join(' ') + '. '\n }, '')\n return [...errs, message]\n }, [])\n}\n","import { each, map, concat, last, get } from 'lodash'\nimport { parseStatus, parseUser, parseNotification, parseAttachment, parseChat, parseLinkHeaderPagination } from '../entity_normalizer/entity_normalizer.service.js'\nimport { RegistrationError, StatusCodeError } from '../errors/errors'\n\n/* eslint-env browser */\nconst MUTES_IMPORT_URL = '/api/pleroma/mutes_import'\nconst BLOCKS_IMPORT_URL = '/api/pleroma/blocks_import'\nconst FOLLOW_IMPORT_URL = '/api/pleroma/follow_import'\nconst DELETE_ACCOUNT_URL = '/api/pleroma/delete_account'\nconst CHANGE_EMAIL_URL = '/api/pleroma/change_email'\nconst CHANGE_PASSWORD_URL = '/api/pleroma/change_password'\nconst TAG_USER_URL = '/api/pleroma/admin/users/tag'\nconst PERMISSION_GROUP_URL = (screenName, right) => `/api/pleroma/admin/users/${screenName}/permission_group/${right}`\nconst ACTIVATE_USER_URL = '/api/pleroma/admin/users/activate'\nconst DEACTIVATE_USER_URL = '/api/pleroma/admin/users/deactivate'\nconst ADMIN_USERS_URL = '/api/pleroma/admin/users'\nconst SUGGESTIONS_URL = '/api/v1/suggestions'\nconst NOTIFICATION_SETTINGS_URL = '/api/pleroma/notification_settings'\nconst NOTIFICATION_READ_URL = '/api/v1/pleroma/notifications/read'\n\nconst MFA_SETTINGS_URL = '/api/pleroma/accounts/mfa'\nconst MFA_BACKUP_CODES_URL = '/api/pleroma/accounts/mfa/backup_codes'\n\nconst MFA_SETUP_OTP_URL = '/api/pleroma/accounts/mfa/setup/totp'\nconst MFA_CONFIRM_OTP_URL = '/api/pleroma/accounts/mfa/confirm/totp'\nconst MFA_DISABLE_OTP_URL = '/api/pleroma/accounts/mfa/totp'\n\nconst MASTODON_LOGIN_URL = '/api/v1/accounts/verify_credentials'\nconst MASTODON_REGISTRATION_URL = '/api/v1/accounts'\nconst MASTODON_USER_FAVORITES_TIMELINE_URL = '/api/v1/favourites'\nconst MASTODON_USER_NOTIFICATIONS_URL = '/api/v1/notifications'\nconst MASTODON_DISMISS_NOTIFICATION_URL = id => `/api/v1/notifications/${id}/dismiss`\nconst MASTODON_FAVORITE_URL = id => `/api/v1/statuses/${id}/favourite`\nconst MASTODON_UNFAVORITE_URL = id => `/api/v1/statuses/${id}/unfavourite`\nconst MASTODON_RETWEET_URL = id => `/api/v1/statuses/${id}/reblog`\nconst MASTODON_UNRETWEET_URL = id => `/api/v1/statuses/${id}/unreblog`\nconst MASTODON_DELETE_URL = id => `/api/v1/statuses/${id}`\nconst MASTODON_FOLLOW_URL = id => `/api/v1/accounts/${id}/follow`\nconst MASTODON_UNFOLLOW_URL = id => `/api/v1/accounts/${id}/unfollow`\nconst MASTODON_FOLLOWING_URL = id => `/api/v1/accounts/${id}/following`\nconst MASTODON_FOLLOWERS_URL = id => `/api/v1/accounts/${id}/followers`\nconst MASTODON_FOLLOW_REQUESTS_URL = '/api/v1/follow_requests'\nconst MASTODON_APPROVE_USER_URL = id => `/api/v1/follow_requests/${id}/authorize`\nconst MASTODON_DENY_USER_URL = id => `/api/v1/follow_requests/${id}/reject`\nconst MASTODON_DIRECT_MESSAGES_TIMELINE_URL = '/api/v1/timelines/direct'\nconst MASTODON_PUBLIC_TIMELINE = '/api/v1/timelines/public'\nconst MASTODON_USER_HOME_TIMELINE_URL = '/api/v1/timelines/home'\nconst MASTODON_STATUS_URL = id => `/api/v1/statuses/${id}`\nconst MASTODON_STATUS_CONTEXT_URL = id => `/api/v1/statuses/${id}/context`\nconst MASTODON_USER_URL = '/api/v1/accounts'\nconst MASTODON_USER_RELATIONSHIPS_URL = '/api/v1/accounts/relationships'\nconst MASTODON_USER_TIMELINE_URL = id => `/api/v1/accounts/${id}/statuses`\nconst MASTODON_TAG_TIMELINE_URL = tag => `/api/v1/timelines/tag/${tag}`\nconst MASTODON_BOOKMARK_TIMELINE_URL = '/api/v1/bookmarks'\nconst MASTODON_USER_BLOCKS_URL = '/api/v1/blocks/'\nconst MASTODON_USER_MUTES_URL = '/api/v1/mutes/'\nconst MASTODON_BLOCK_USER_URL = id => `/api/v1/accounts/${id}/block`\nconst MASTODON_UNBLOCK_USER_URL = id => `/api/v1/accounts/${id}/unblock`\nconst MASTODON_MUTE_USER_URL = id => `/api/v1/accounts/${id}/mute`\nconst MASTODON_UNMUTE_USER_URL = id => `/api/v1/accounts/${id}/unmute`\nconst MASTODON_SUBSCRIBE_USER = id => `/api/v1/pleroma/accounts/${id}/subscribe`\nconst MASTODON_UNSUBSCRIBE_USER = id => `/api/v1/pleroma/accounts/${id}/unsubscribe`\nconst MASTODON_BOOKMARK_STATUS_URL = id => `/api/v1/statuses/${id}/bookmark`\nconst MASTODON_UNBOOKMARK_STATUS_URL = id => `/api/v1/statuses/${id}/unbookmark`\nconst MASTODON_POST_STATUS_URL = '/api/v1/statuses'\nconst MASTODON_MEDIA_UPLOAD_URL = '/api/v1/media'\nconst MASTODON_VOTE_URL = id => `/api/v1/polls/${id}/votes`\nconst MASTODON_POLL_URL = id => `/api/v1/polls/${id}`\nconst MASTODON_STATUS_FAVORITEDBY_URL = id => `/api/v1/statuses/${id}/favourited_by`\nconst MASTODON_STATUS_REBLOGGEDBY_URL = id => `/api/v1/statuses/${id}/reblogged_by`\nconst MASTODON_PROFILE_UPDATE_URL = '/api/v1/accounts/update_credentials'\nconst MASTODON_REPORT_USER_URL = '/api/v1/reports'\nconst MASTODON_PIN_OWN_STATUS = id => `/api/v1/statuses/${id}/pin`\nconst MASTODON_UNPIN_OWN_STATUS = id => `/api/v1/statuses/${id}/unpin`\nconst MASTODON_MUTE_CONVERSATION = id => `/api/v1/statuses/${id}/mute`\nconst MASTODON_UNMUTE_CONVERSATION = id => `/api/v1/statuses/${id}/unmute`\nconst MASTODON_SEARCH_2 = `/api/v2/search`\nconst MASTODON_USER_SEARCH_URL = '/api/v1/accounts/search'\nconst MASTODON_MASCOT_URL = '/api/v1/pleroma/mascot'\nconst MASTODON_DOMAIN_BLOCKS_URL = '/api/v1/domain_blocks'\nconst MASTODON_STREAMING = '/api/v1/streaming'\nconst MASTODON_KNOWN_DOMAIN_LIST_URL = '/api/v1/instance/peers'\nconst PLEROMA_EMOJI_REACTIONS_URL = id => `/api/v1/pleroma/statuses/${id}/reactions`\nconst PLEROMA_EMOJI_REACT_URL = (id, emoji) => `/api/v1/pleroma/statuses/${id}/reactions/${emoji}`\nconst PLEROMA_EMOJI_UNREACT_URL = (id, emoji) => `/api/v1/pleroma/statuses/${id}/reactions/${emoji}`\nconst PLEROMA_CHATS_URL = `/api/v1/pleroma/chats`\nconst PLEROMA_CHAT_URL = id => `/api/v1/pleroma/chats/by-account-id/${id}`\nconst PLEROMA_CHAT_MESSAGES_URL = id => `/api/v1/pleroma/chats/${id}/messages`\nconst PLEROMA_CHAT_READ_URL = id => `/api/v1/pleroma/chats/${id}/read`\nconst PLEROMA_DELETE_CHAT_MESSAGE_URL = (chatId, messageId) => `/api/v1/pleroma/chats/${chatId}/messages/${messageId}`\n\nconst oldfetch = window.fetch\n\nlet fetch = (url, options) => {\n options = options || {}\n const baseUrl = ''\n const fullUrl = baseUrl + url\n options.credentials = 'same-origin'\n return oldfetch(fullUrl, options)\n}\n\nconst promisedRequest = ({ method, url, params, payload, credentials, headers = {} }) => {\n const options = {\n method,\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n ...headers\n }\n }\n if (params) {\n url += '?' + Object.entries(params)\n .map(([key, value]) => encodeURIComponent(key) + '=' + encodeURIComponent(value))\n .join('&')\n }\n if (payload) {\n options.body = JSON.stringify(payload)\n }\n if (credentials) {\n options.headers = {\n ...options.headers,\n ...authHeaders(credentials)\n }\n }\n return fetch(url, options)\n .then((response) => {\n return new Promise((resolve, reject) => response.json()\n .then((json) => {\n if (!response.ok) {\n return reject(new StatusCodeError(response.status, json, { url, options }, response))\n }\n return resolve(json)\n })\n .catch((error) => {\n return reject(new StatusCodeError(response.status, error, { url, options }, response))\n })\n )\n })\n}\n\nconst updateNotificationSettings = ({ credentials, settings }) => {\n const form = new FormData()\n\n each(settings, (value, key) => {\n form.append(key, value)\n })\n\n return fetch(NOTIFICATION_SETTINGS_URL, {\n headers: authHeaders(credentials),\n method: 'PUT',\n body: form\n }).then((data) => data.json())\n}\n\nconst updateProfileImages = ({ credentials, avatar = null, avatarName = null, banner = null, background = null }) => {\n const form = new FormData()\n if (avatar !== null) {\n if (avatarName !== null) {\n form.append('avatar', avatar, avatarName)\n } else {\n form.append('avatar', avatar)\n }\n }\n if (banner !== null) form.append('header', banner)\n if (background !== null) form.append('pleroma_background_image', background)\n return fetch(MASTODON_PROFILE_UPDATE_URL, {\n headers: authHeaders(credentials),\n method: 'PATCH',\n body: form\n })\n .then((data) => data.json())\n .then((data) => {\n if (data.error) {\n throw new Error(data.error)\n }\n return parseUser(data)\n })\n}\n\nconst updateProfile = ({ credentials, params }) => {\n return promisedRequest({\n url: MASTODON_PROFILE_UPDATE_URL,\n method: 'PATCH',\n payload: params,\n credentials\n }).then((data) => parseUser(data))\n}\n\n// Params needed:\n// nickname\n// email\n// fullname\n// password\n// password_confirm\n//\n// Optional\n// bio\n// homepage\n// location\n// token\n// language\nconst register = ({ params, credentials }) => {\n const { nickname, ...rest } = params\n return fetch(MASTODON_REGISTRATION_URL, {\n method: 'POST',\n headers: {\n ...authHeaders(credentials),\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n nickname,\n locale: 'en_US',\n agreement: true,\n ...rest\n })\n })\n .then((response) => {\n if (response.ok) {\n return response.json()\n } else {\n return response.json().then((error) => { throw new RegistrationError(error) })\n }\n })\n}\n\nconst getCaptcha = () => fetch('/api/pleroma/captcha').then(resp => resp.json())\n\nconst authHeaders = (accessToken) => {\n if (accessToken) {\n return { 'Authorization': `Bearer ${accessToken}` }\n } else {\n return { }\n }\n}\n\nconst followUser = ({ id, credentials, ...options }) => {\n let url = MASTODON_FOLLOW_URL(id)\n const form = {}\n if (options.reblogs !== undefined) { form['reblogs'] = options.reblogs }\n return fetch(url, {\n body: JSON.stringify(form),\n headers: {\n ...authHeaders(credentials),\n 'Content-Type': 'application/json'\n },\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst unfollowUser = ({ id, credentials }) => {\n let url = MASTODON_UNFOLLOW_URL(id)\n return fetch(url, {\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst pinOwnStatus = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_PIN_OWN_STATUS(id), credentials, method: 'POST' })\n .then((data) => parseStatus(data))\n}\n\nconst unpinOwnStatus = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_UNPIN_OWN_STATUS(id), credentials, method: 'POST' })\n .then((data) => parseStatus(data))\n}\n\nconst muteConversation = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_MUTE_CONVERSATION(id), credentials, method: 'POST' })\n .then((data) => parseStatus(data))\n}\n\nconst unmuteConversation = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_UNMUTE_CONVERSATION(id), credentials, method: 'POST' })\n .then((data) => parseStatus(data))\n}\n\nconst blockUser = ({ id, credentials }) => {\n return fetch(MASTODON_BLOCK_USER_URL(id), {\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst unblockUser = ({ id, credentials }) => {\n return fetch(MASTODON_UNBLOCK_USER_URL(id), {\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst approveUser = ({ id, credentials }) => {\n let url = MASTODON_APPROVE_USER_URL(id)\n return fetch(url, {\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst denyUser = ({ id, credentials }) => {\n let url = MASTODON_DENY_USER_URL(id)\n return fetch(url, {\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst fetchUser = ({ id, credentials }) => {\n let url = `${MASTODON_USER_URL}/${id}`\n return promisedRequest({ url, credentials })\n .then((data) => parseUser(data))\n}\n\nconst fetchUserRelationship = ({ id, credentials }) => {\n let url = `${MASTODON_USER_RELATIONSHIPS_URL}/?id=${id}`\n return fetch(url, { headers: authHeaders(credentials) })\n .then((response) => {\n return new Promise((resolve, reject) => response.json()\n .then((json) => {\n if (!response.ok) {\n return reject(new StatusCodeError(response.status, json, { url }, response))\n }\n return resolve(json)\n }))\n })\n}\n\nconst fetchFriends = ({ id, maxId, sinceId, limit = 20, credentials }) => {\n let url = MASTODON_FOLLOWING_URL(id)\n const args = [\n maxId && `max_id=${maxId}`,\n sinceId && `since_id=${sinceId}`,\n limit && `limit=${limit}`,\n `with_relationships=true`\n ].filter(_ => _).join('&')\n\n url = url + (args ? '?' + args : '')\n return fetch(url, { headers: authHeaders(credentials) })\n .then((data) => data.json())\n .then((data) => data.map(parseUser))\n}\n\nconst exportFriends = ({ id, credentials }) => {\n return new Promise(async (resolve, reject) => {\n try {\n let friends = []\n let more = true\n while (more) {\n const maxId = friends.length > 0 ? last(friends).id : undefined\n const users = await fetchFriends({ id, maxId, credentials })\n friends = concat(friends, users)\n if (users.length === 0) {\n more = false\n }\n }\n resolve(friends)\n } catch (err) {\n reject(err)\n }\n })\n}\n\nconst fetchFollowers = ({ id, maxId, sinceId, limit = 20, credentials }) => {\n let url = MASTODON_FOLLOWERS_URL(id)\n const args = [\n maxId && `max_id=${maxId}`,\n sinceId && `since_id=${sinceId}`,\n limit && `limit=${limit}`,\n `with_relationships=true`\n ].filter(_ => _).join('&')\n\n url += args ? '?' + args : ''\n return fetch(url, { headers: authHeaders(credentials) })\n .then((data) => data.json())\n .then((data) => data.map(parseUser))\n}\n\nconst fetchFollowRequests = ({ credentials }) => {\n const url = MASTODON_FOLLOW_REQUESTS_URL\n return fetch(url, { headers: authHeaders(credentials) })\n .then((data) => data.json())\n .then((data) => data.map(parseUser))\n}\n\nconst fetchConversation = ({ id, credentials }) => {\n let urlContext = MASTODON_STATUS_CONTEXT_URL(id)\n return fetch(urlContext, { headers: authHeaders(credentials) })\n .then((data) => {\n if (data.ok) {\n return data\n }\n throw new Error('Error fetching timeline', data)\n })\n .then((data) => data.json())\n .then(({ ancestors, descendants }) => ({\n ancestors: ancestors.map(parseStatus),\n descendants: descendants.map(parseStatus)\n }))\n}\n\nconst fetchStatus = ({ id, credentials }) => {\n let url = MASTODON_STATUS_URL(id)\n return fetch(url, { headers: authHeaders(credentials) })\n .then((data) => {\n if (data.ok) {\n return data\n }\n throw new Error('Error fetching timeline', data)\n })\n .then((data) => data.json())\n .then((data) => parseStatus(data))\n}\n\nconst tagUser = ({ tag, credentials, user }) => {\n const screenName = user.screen_name\n const form = {\n nicknames: [screenName],\n tags: [tag]\n }\n\n const headers = authHeaders(credentials)\n headers['Content-Type'] = 'application/json'\n\n return fetch(TAG_USER_URL, {\n method: 'PUT',\n headers: headers,\n body: JSON.stringify(form)\n })\n}\n\nconst untagUser = ({ tag, credentials, user }) => {\n const screenName = user.screen_name\n const body = {\n nicknames: [screenName],\n tags: [tag]\n }\n\n const headers = authHeaders(credentials)\n headers['Content-Type'] = 'application/json'\n\n return fetch(TAG_USER_URL, {\n method: 'DELETE',\n headers: headers,\n body: JSON.stringify(body)\n })\n}\n\nconst addRight = ({ right, credentials, user }) => {\n const screenName = user.screen_name\n\n return fetch(PERMISSION_GROUP_URL(screenName, right), {\n method: 'POST',\n headers: authHeaders(credentials),\n body: {}\n })\n}\n\nconst deleteRight = ({ right, credentials, user }) => {\n const screenName = user.screen_name\n\n return fetch(PERMISSION_GROUP_URL(screenName, right), {\n method: 'DELETE',\n headers: authHeaders(credentials),\n body: {}\n })\n}\n\nconst activateUser = ({ credentials, user: { screen_name: nickname } }) => {\n return promisedRequest({\n url: ACTIVATE_USER_URL,\n method: 'PATCH',\n credentials,\n payload: {\n nicknames: [nickname]\n }\n }).then(response => get(response, 'users.0'))\n}\n\nconst deactivateUser = ({ credentials, user: { screen_name: nickname } }) => {\n return promisedRequest({\n url: DEACTIVATE_USER_URL,\n method: 'PATCH',\n credentials,\n payload: {\n nicknames: [nickname]\n }\n }).then(response => get(response, 'users.0'))\n}\n\nconst deleteUser = ({ credentials, user }) => {\n const screenName = user.screen_name\n const headers = authHeaders(credentials)\n\n return fetch(`${ADMIN_USERS_URL}?nickname=${screenName}`, {\n method: 'DELETE',\n headers: headers\n })\n}\n\nconst fetchTimeline = ({\n timeline,\n credentials,\n since = false,\n until = false,\n userId = false,\n tag = false,\n withMuted = false,\n replyVisibility = 'all'\n}) => {\n const timelineUrls = {\n public: MASTODON_PUBLIC_TIMELINE,\n friends: MASTODON_USER_HOME_TIMELINE_URL,\n dms: MASTODON_DIRECT_MESSAGES_TIMELINE_URL,\n notifications: MASTODON_USER_NOTIFICATIONS_URL,\n 'publicAndExternal': MASTODON_PUBLIC_TIMELINE,\n user: MASTODON_USER_TIMELINE_URL,\n media: MASTODON_USER_TIMELINE_URL,\n favorites: MASTODON_USER_FAVORITES_TIMELINE_URL,\n tag: MASTODON_TAG_TIMELINE_URL,\n bookmarks: MASTODON_BOOKMARK_TIMELINE_URL\n }\n const isNotifications = timeline === 'notifications'\n const params = []\n\n let url = timelineUrls[timeline]\n\n if (timeline === 'user' || timeline === 'media') {\n url = url(userId)\n }\n\n if (since) {\n params.push(['since_id', since])\n }\n if (until) {\n params.push(['max_id', until])\n }\n if (tag) {\n url = url(tag)\n }\n if (timeline === 'media') {\n params.push(['only_media', 1])\n }\n if (timeline === 'public') {\n params.push(['local', true])\n }\n if (timeline === 'public' || timeline === 'publicAndExternal') {\n params.push(['only_media', false])\n }\n if (timeline !== 'favorites' && timeline !== 'bookmarks') {\n params.push(['with_muted', withMuted])\n }\n if (replyVisibility !== 'all') {\n params.push(['reply_visibility', replyVisibility])\n }\n\n params.push(['limit', 20])\n\n const queryString = map(params, (param) => `${param[0]}=${param[1]}`).join('&')\n url += `?${queryString}`\n\n let status = ''\n let statusText = ''\n\n let pagination = {}\n return fetch(url, { headers: authHeaders(credentials) })\n .then((data) => {\n status = data.status\n statusText = data.statusText\n pagination = parseLinkHeaderPagination(data.headers.get('Link'), {\n flakeId: timeline !== 'bookmarks' && timeline !== 'notifications'\n })\n return data\n })\n .then((data) => data.json())\n .then((data) => {\n if (!data.errors) {\n return { data: data.map(isNotifications ? parseNotification : parseStatus), pagination }\n } else {\n data.status = status\n data.statusText = statusText\n return data\n }\n })\n}\n\nconst fetchPinnedStatuses = ({ id, credentials }) => {\n const url = MASTODON_USER_TIMELINE_URL(id) + '?pinned=true'\n return promisedRequest({ url, credentials })\n .then((data) => data.map(parseStatus))\n}\n\nconst verifyCredentials = (user) => {\n return fetch(MASTODON_LOGIN_URL, {\n headers: authHeaders(user)\n })\n .then((response) => {\n if (response.ok) {\n return response.json()\n } else {\n return {\n error: response\n }\n }\n })\n .then((data) => data.error ? data : parseUser(data))\n}\n\nconst favorite = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_FAVORITE_URL(id), method: 'POST', credentials })\n .then((data) => parseStatus(data))\n}\n\nconst unfavorite = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_UNFAVORITE_URL(id), method: 'POST', credentials })\n .then((data) => parseStatus(data))\n}\n\nconst retweet = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_RETWEET_URL(id), method: 'POST', credentials })\n .then((data) => parseStatus(data))\n}\n\nconst unretweet = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_UNRETWEET_URL(id), method: 'POST', credentials })\n .then((data) => parseStatus(data))\n}\n\nconst bookmarkStatus = ({ id, credentials }) => {\n return promisedRequest({\n url: MASTODON_BOOKMARK_STATUS_URL(id),\n headers: authHeaders(credentials),\n method: 'POST'\n })\n}\n\nconst unbookmarkStatus = ({ id, credentials }) => {\n return promisedRequest({\n url: MASTODON_UNBOOKMARK_STATUS_URL(id),\n headers: authHeaders(credentials),\n method: 'POST'\n })\n}\n\nconst postStatus = ({\n credentials,\n status,\n spoilerText,\n visibility,\n sensitive,\n poll,\n mediaIds = [],\n inReplyToStatusId,\n contentType,\n preview,\n idempotencyKey\n}) => {\n const form = new FormData()\n const pollOptions = poll.options || []\n\n form.append('status', status)\n form.append('source', 'Pleroma FE')\n if (spoilerText) form.append('spoiler_text', spoilerText)\n if (visibility) form.append('visibility', visibility)\n if (sensitive) form.append('sensitive', sensitive)\n if (contentType) form.append('content_type', contentType)\n mediaIds.forEach(val => {\n form.append('media_ids[]', val)\n })\n if (pollOptions.some(option => option !== '')) {\n const normalizedPoll = {\n expires_in: poll.expiresIn,\n multiple: poll.multiple\n }\n Object.keys(normalizedPoll).forEach(key => {\n form.append(`poll[${key}]`, normalizedPoll[key])\n })\n\n pollOptions.forEach(option => {\n form.append('poll[options][]', option)\n })\n }\n if (inReplyToStatusId) {\n form.append('in_reply_to_id', inReplyToStatusId)\n }\n if (preview) {\n form.append('preview', 'true')\n }\n\n let postHeaders = authHeaders(credentials)\n if (idempotencyKey) {\n postHeaders['idempotency-key'] = idempotencyKey\n }\n\n return fetch(MASTODON_POST_STATUS_URL, {\n body: form,\n method: 'POST',\n headers: postHeaders\n })\n .then((response) => {\n return response.json()\n })\n .then((data) => data.error ? data : parseStatus(data))\n}\n\nconst deleteStatus = ({ id, credentials }) => {\n return fetch(MASTODON_DELETE_URL(id), {\n headers: authHeaders(credentials),\n method: 'DELETE'\n })\n}\n\nconst uploadMedia = ({ formData, credentials }) => {\n return fetch(MASTODON_MEDIA_UPLOAD_URL, {\n body: formData,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((data) => data.json())\n .then((data) => parseAttachment(data))\n}\n\nconst setMediaDescription = ({ id, description, credentials }) => {\n return promisedRequest({\n url: `${MASTODON_MEDIA_UPLOAD_URL}/${id}`,\n method: 'PUT',\n headers: authHeaders(credentials),\n payload: {\n description\n }\n }).then((data) => parseAttachment(data))\n}\n\nconst importMutes = ({ file, credentials }) => {\n const formData = new FormData()\n formData.append('list', file)\n return fetch(MUTES_IMPORT_URL, {\n body: formData,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((response) => response.ok)\n}\n\nconst importBlocks = ({ file, credentials }) => {\n const formData = new FormData()\n formData.append('list', file)\n return fetch(BLOCKS_IMPORT_URL, {\n body: formData,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((response) => response.ok)\n}\n\nconst importFollows = ({ file, credentials }) => {\n const formData = new FormData()\n formData.append('list', file)\n return fetch(FOLLOW_IMPORT_URL, {\n body: formData,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((response) => response.ok)\n}\n\nconst deleteAccount = ({ credentials, password }) => {\n const form = new FormData()\n\n form.append('password', password)\n\n return fetch(DELETE_ACCOUNT_URL, {\n body: form,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((response) => response.json())\n}\n\nconst changeEmail = ({ credentials, email, password }) => {\n const form = new FormData()\n\n form.append('email', email)\n form.append('password', password)\n\n return fetch(CHANGE_EMAIL_URL, {\n body: form,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((response) => response.json())\n}\n\nconst changePassword = ({ credentials, password, newPassword, newPasswordConfirmation }) => {\n const form = new FormData()\n\n form.append('password', password)\n form.append('new_password', newPassword)\n form.append('new_password_confirmation', newPasswordConfirmation)\n\n return fetch(CHANGE_PASSWORD_URL, {\n body: form,\n method: 'POST',\n headers: authHeaders(credentials)\n })\n .then((response) => response.json())\n}\n\nconst settingsMFA = ({ credentials }) => {\n return fetch(MFA_SETTINGS_URL, {\n headers: authHeaders(credentials),\n method: 'GET'\n }).then((data) => data.json())\n}\n\nconst mfaDisableOTP = ({ credentials, password }) => {\n const form = new FormData()\n\n form.append('password', password)\n\n return fetch(MFA_DISABLE_OTP_URL, {\n body: form,\n method: 'DELETE',\n headers: authHeaders(credentials)\n })\n .then((response) => response.json())\n}\n\nconst mfaConfirmOTP = ({ credentials, password, token }) => {\n const form = new FormData()\n\n form.append('password', password)\n form.append('code', token)\n\n return fetch(MFA_CONFIRM_OTP_URL, {\n body: form,\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\nconst mfaSetupOTP = ({ credentials }) => {\n return fetch(MFA_SETUP_OTP_URL, {\n headers: authHeaders(credentials),\n method: 'GET'\n }).then((data) => data.json())\n}\nconst generateMfaBackupCodes = ({ credentials }) => {\n return fetch(MFA_BACKUP_CODES_URL, {\n headers: authHeaders(credentials),\n method: 'GET'\n }).then((data) => data.json())\n}\n\nconst fetchMutes = ({ credentials }) => {\n return promisedRequest({ url: MASTODON_USER_MUTES_URL, credentials })\n .then((users) => users.map(parseUser))\n}\n\nconst muteUser = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_MUTE_USER_URL(id), credentials, method: 'POST' })\n}\n\nconst unmuteUser = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_UNMUTE_USER_URL(id), credentials, method: 'POST' })\n}\n\nconst fetchMascot = ({ credentials }) => {\n return promisedRequest({ url: MASTODON_MASCOT_URL, credentials })\n}\n\nconst updateMascot = ({ mascot, credentials }) => {\n const form = new FormData()\n form.append('file', mascot)\n return fetch(MASTODON_MASCOT_URL, {\n headers: authHeaders(credentials),\n method: 'PUT',\n body: form\n }).then((data) => data.json())\n}\n\nconst subscribeUser = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_SUBSCRIBE_USER(id), credentials, method: 'POST' })\n}\n\nconst unsubscribeUser = ({ id, credentials }) => {\n return promisedRequest({ url: MASTODON_UNSUBSCRIBE_USER(id), credentials, method: 'POST' })\n}\n\nconst fetchBlocks = ({ credentials }) => {\n return promisedRequest({ url: MASTODON_USER_BLOCKS_URL, credentials })\n .then((users) => users.map(parseUser))\n}\n\nconst fetchOAuthTokens = ({ credentials }) => {\n const url = '/api/oauth_tokens.json'\n\n return fetch(url, {\n headers: authHeaders(credentials)\n }).then((data) => {\n if (data.ok) {\n return data.json()\n }\n throw new Error('Error fetching auth tokens', data)\n })\n}\n\nconst revokeOAuthToken = ({ id, credentials }) => {\n const url = `/api/oauth_tokens/${id}`\n\n return fetch(url, {\n headers: authHeaders(credentials),\n method: 'DELETE'\n })\n}\n\nconst suggestions = ({ credentials }) => {\n return fetch(SUGGESTIONS_URL, {\n headers: authHeaders(credentials)\n }).then((data) => data.json())\n}\n\nconst markNotificationsAsSeen = ({ id, credentials, single = false }) => {\n const body = new FormData()\n\n if (single) {\n body.append('id', id)\n } else {\n body.append('max_id', id)\n }\n\n return fetch(NOTIFICATION_READ_URL, {\n body,\n headers: authHeaders(credentials),\n method: 'POST'\n }).then((data) => data.json())\n}\n\nconst vote = ({ pollId, choices, credentials }) => {\n const form = new FormData()\n form.append('choices', choices)\n\n return promisedRequest({\n url: MASTODON_VOTE_URL(encodeURIComponent(pollId)),\n method: 'POST',\n credentials,\n payload: {\n choices: choices\n }\n })\n}\n\nconst fetchPoll = ({ pollId, credentials }) => {\n return promisedRequest(\n {\n url: MASTODON_POLL_URL(encodeURIComponent(pollId)),\n method: 'GET',\n credentials\n }\n )\n}\n\nconst fetchFavoritedByUsers = ({ id, credentials }) => {\n return promisedRequest({\n url: MASTODON_STATUS_FAVORITEDBY_URL(id),\n method: 'GET',\n credentials\n }).then((users) => users.map(parseUser))\n}\n\nconst fetchRebloggedByUsers = ({ id, credentials }) => {\n return promisedRequest({\n url: MASTODON_STATUS_REBLOGGEDBY_URL(id),\n method: 'GET',\n credentials\n }).then((users) => users.map(parseUser))\n}\n\nconst fetchEmojiReactions = ({ id, credentials }) => {\n return promisedRequest({ url: PLEROMA_EMOJI_REACTIONS_URL(id), credentials })\n .then((reactions) => reactions.map(r => {\n r.accounts = r.accounts.map(parseUser)\n return r\n }))\n}\n\nconst reactWithEmoji = ({ id, emoji, credentials }) => {\n return promisedRequest({\n url: PLEROMA_EMOJI_REACT_URL(id, emoji),\n method: 'PUT',\n credentials\n }).then(parseStatus)\n}\n\nconst unreactWithEmoji = ({ id, emoji, credentials }) => {\n return promisedRequest({\n url: PLEROMA_EMOJI_UNREACT_URL(id, emoji),\n method: 'DELETE',\n credentials\n }).then(parseStatus)\n}\n\nconst reportUser = ({ credentials, userId, statusIds, comment, forward }) => {\n return promisedRequest({\n url: MASTODON_REPORT_USER_URL,\n method: 'POST',\n payload: {\n 'account_id': userId,\n 'status_ids': statusIds,\n comment,\n forward\n },\n credentials\n })\n}\n\nconst searchUsers = ({ credentials, query }) => {\n return promisedRequest({\n url: MASTODON_USER_SEARCH_URL,\n params: {\n q: query,\n resolve: true\n },\n credentials\n })\n .then((data) => data.map(parseUser))\n}\n\nconst search2 = ({ credentials, q, resolve, limit, offset, following }) => {\n let url = MASTODON_SEARCH_2\n let params = []\n\n if (q) {\n params.push(['q', encodeURIComponent(q)])\n }\n\n if (resolve) {\n params.push(['resolve', resolve])\n }\n\n if (limit) {\n params.push(['limit', limit])\n }\n\n if (offset) {\n params.push(['offset', offset])\n }\n\n if (following) {\n params.push(['following', true])\n }\n\n params.push(['with_relationships', true])\n\n let queryString = map(params, (param) => `${param[0]}=${param[1]}`).join('&')\n url += `?${queryString}`\n\n return fetch(url, { headers: authHeaders(credentials) })\n .then((data) => {\n if (data.ok) {\n return data\n }\n throw new Error('Error fetching search result', data)\n })\n .then((data) => { return data.json() })\n .then((data) => {\n data.accounts = data.accounts.slice(0, limit).map(u => parseUser(u))\n data.statuses = data.statuses.slice(0, limit).map(s => parseStatus(s))\n return data\n })\n}\n\nconst fetchKnownDomains = ({ credentials }) => {\n return promisedRequest({ url: MASTODON_KNOWN_DOMAIN_LIST_URL, credentials })\n}\n\nconst fetchDomainMutes = ({ credentials }) => {\n return promisedRequest({ url: MASTODON_DOMAIN_BLOCKS_URL, credentials })\n}\n\nconst muteDomain = ({ domain, credentials }) => {\n return promisedRequest({\n url: MASTODON_DOMAIN_BLOCKS_URL,\n method: 'POST',\n payload: { domain },\n credentials\n })\n}\n\nconst unmuteDomain = ({ domain, credentials }) => {\n return promisedRequest({\n url: MASTODON_DOMAIN_BLOCKS_URL,\n method: 'DELETE',\n payload: { domain },\n credentials\n })\n}\n\nconst dismissNotification = ({ credentials, id }) => {\n return promisedRequest({\n url: MASTODON_DISMISS_NOTIFICATION_URL(id),\n method: 'POST',\n payload: { id },\n credentials\n })\n}\n\nexport const getMastodonSocketURI = ({ credentials, stream, args = {} }) => {\n return Object.entries({\n ...(credentials\n ? { access_token: credentials }\n : {}\n ),\n stream,\n ...args\n }).reduce((acc, [key, val]) => {\n return acc + `${key}=${val}&`\n }, MASTODON_STREAMING + '?')\n}\n\nconst MASTODON_STREAMING_EVENTS = new Set([\n 'update',\n 'notification',\n 'delete',\n 'filters_changed'\n])\n\nconst PLEROMA_STREAMING_EVENTS = new Set([\n 'pleroma:chat_update'\n])\n\n// A thin wrapper around WebSocket API that allows adding a pre-processor to it\n// Uses EventTarget and a CustomEvent to proxy events\nexport const ProcessedWS = ({\n url,\n preprocessor = handleMastoWS,\n id = 'Unknown'\n}) => {\n const eventTarget = new EventTarget()\n const socket = new WebSocket(url)\n if (!socket) throw new Error(`Failed to create socket ${id}`)\n const proxy = (original, eventName, processor = a => a) => {\n original.addEventListener(eventName, (eventData) => {\n eventTarget.dispatchEvent(new CustomEvent(\n eventName,\n { detail: processor(eventData) }\n ))\n })\n }\n socket.addEventListener('open', (wsEvent) => {\n console.debug(`[WS][${id}] Socket connected`, wsEvent)\n })\n socket.addEventListener('error', (wsEvent) => {\n console.debug(`[WS][${id}] Socket errored`, wsEvent)\n })\n socket.addEventListener('close', (wsEvent) => {\n console.debug(\n `[WS][${id}] Socket disconnected with code ${wsEvent.code}`,\n wsEvent\n )\n })\n // Commented code reason: very spammy, uncomment to enable message debug logging\n /*\n socket.addEventListener('message', (wsEvent) => {\n console.debug(\n `[WS][${id}] Message received`,\n wsEvent\n )\n })\n /**/\n\n proxy(socket, 'open')\n proxy(socket, 'close')\n proxy(socket, 'message', preprocessor)\n proxy(socket, 'error')\n\n // 1000 = Normal Closure\n eventTarget.close = () => { socket.close(1000, 'Shutting down socket') }\n eventTarget.getState = () => socket.readyState\n\n return eventTarget\n}\n\nexport const handleMastoWS = (wsEvent) => {\n const { data } = wsEvent\n if (!data) return\n const parsedEvent = JSON.parse(data)\n const { event, payload } = parsedEvent\n if (MASTODON_STREAMING_EVENTS.has(event) || PLEROMA_STREAMING_EVENTS.has(event)) {\n // MastoBE and PleromaBE both send payload for delete as a PLAIN string\n if (event === 'delete') {\n return { event, id: payload }\n }\n const data = payload ? JSON.parse(payload) : null\n if (event === 'update') {\n return { event, status: parseStatus(data) }\n } else if (event === 'notification') {\n return { event, notification: parseNotification(data) }\n } else if (event === 'pleroma:chat_update') {\n return { event, chatUpdate: parseChat(data) }\n }\n } else {\n console.warn('Unknown event', wsEvent)\n return null\n }\n}\n\nexport const WSConnectionStatus = Object.freeze({\n 'JOINED': 1,\n 'CLOSED': 2,\n 'ERROR': 3,\n 'DISABLED': 4,\n 'STARTING': 5,\n 'STARTING_INITIAL': 6\n})\n\nconst chats = ({ credentials }) => {\n return fetch(PLEROMA_CHATS_URL, { headers: authHeaders(credentials) })\n .then((data) => data.json())\n .then((data) => {\n return { chats: data.map(parseChat).filter(c => c) }\n })\n}\n\nconst getOrCreateChat = ({ accountId, credentials }) => {\n return promisedRequest({\n url: PLEROMA_CHAT_URL(accountId),\n method: 'POST',\n credentials\n })\n}\n\nconst chatMessages = ({ id, credentials, maxId, sinceId, limit = 20 }) => {\n let url = PLEROMA_CHAT_MESSAGES_URL(id)\n const args = [\n maxId && `max_id=${maxId}`,\n sinceId && `since_id=${sinceId}`,\n limit && `limit=${limit}`\n ].filter(_ => _).join('&')\n\n url = url + (args ? '?' + args : '')\n\n return promisedRequest({\n url,\n method: 'GET',\n credentials\n })\n}\n\nconst sendChatMessage = ({ id, content, mediaId = null, idempotencyKey, credentials }) => {\n const payload = {\n 'content': content\n }\n\n if (mediaId) {\n payload['media_id'] = mediaId\n }\n\n const headers = {}\n\n if (idempotencyKey) {\n headers['idempotency-key'] = idempotencyKey\n }\n\n return promisedRequest({\n url: PLEROMA_CHAT_MESSAGES_URL(id),\n method: 'POST',\n payload: payload,\n credentials,\n headers\n })\n}\n\nconst readChat = ({ id, lastReadId, credentials }) => {\n return promisedRequest({\n url: PLEROMA_CHAT_READ_URL(id),\n method: 'POST',\n payload: {\n 'last_read_id': lastReadId\n },\n credentials\n })\n}\n\nconst deleteChatMessage = ({ chatId, messageId, credentials }) => {\n return promisedRequest({\n url: PLEROMA_DELETE_CHAT_MESSAGE_URL(chatId, messageId),\n method: 'DELETE',\n credentials\n })\n}\n\nconst apiService = {\n verifyCredentials,\n fetchTimeline,\n fetchPinnedStatuses,\n fetchConversation,\n fetchStatus,\n fetchFriends,\n exportFriends,\n fetchFollowers,\n followUser,\n unfollowUser,\n pinOwnStatus,\n unpinOwnStatus,\n muteConversation,\n unmuteConversation,\n blockUser,\n unblockUser,\n fetchUser,\n fetchUserRelationship,\n favorite,\n unfavorite,\n retweet,\n unretweet,\n bookmarkStatus,\n unbookmarkStatus,\n postStatus,\n deleteStatus,\n uploadMedia,\n setMediaDescription,\n fetchMutes,\n muteUser,\n unmuteUser,\n subscribeUser,\n unsubscribeUser,\n fetchBlocks,\n fetchOAuthTokens,\n revokeOAuthToken,\n tagUser,\n untagUser,\n deleteUser,\n addRight,\n deleteRight,\n activateUser,\n deactivateUser,\n register,\n getCaptcha,\n updateProfileImages,\n updateProfile,\n importMutes,\n importBlocks,\n importFollows,\n deleteAccount,\n changeEmail,\n changePassword,\n settingsMFA,\n mfaDisableOTP,\n generateMfaBackupCodes,\n mfaSetupOTP,\n mfaConfirmOTP,\n fetchFollowRequests,\n approveUser,\n denyUser,\n suggestions,\n markNotificationsAsSeen,\n dismissNotification,\n vote,\n fetchPoll,\n fetchFavoritedByUsers,\n fetchRebloggedByUsers,\n fetchMascot,\n updateMascot,\n fetchEmojiReactions,\n reactWithEmoji,\n unreactWithEmoji,\n reportUser,\n updateNotificationSettings,\n search2,\n searchUsers,\n fetchKnownDomains,\n fetchDomainMutes,\n muteDomain,\n unmuteDomain,\n chats,\n getOrCreateChat,\n chatMessages,\n sendChatMessage,\n readChat,\n deleteChatMessage\n}\n\nexport default apiService\n","import { invertLightness, contrastRatio } from 'chromatism'\n\n// useful for visualizing color when debugging\nexport const consoleColor = (color) => console.log('%c##########', 'background: ' + color + '; color: ' + color)\n\n/**\n * Convert r, g, b values into hex notation. All components are [0-255]\n *\n * @param {Number|String|Object} r - Either red component, {r,g,b} object, or hex string\n * @param {Number} [g] - Green component\n * @param {Number} [b] - Blue component\n */\nexport const rgb2hex = (r, g, b) => {\n if (r === null || typeof r === 'undefined') {\n return undefined\n }\n // TODO: clean up this mess\n if (r[0] === '#' || r === 'transparent') {\n return r\n }\n if (typeof r === 'object') {\n ({ r, g, b } = r)\n }\n [r, g, b] = [r, g, b].map(val => {\n val = Math.ceil(val)\n val = val < 0 ? 0 : val\n val = val > 255 ? 255 : val\n return val\n })\n return `#${((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)}`\n}\n\n/**\n * Converts 8-bit RGB component into linear component\n * https://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n * https://www.w3.org/TR/2008/REC-WCAG20-20081211/relative-luminance.xml\n * https://en.wikipedia.org/wiki/SRGB#The_reverse_transformation\n *\n * @param {Number} bit - color component [0..255]\n * @returns {Number} linear component [0..1]\n */\nconst c2linear = (bit) => {\n // W3C gives 0.03928 while wikipedia states 0.04045\n // what those magical numbers mean - I don't know.\n // something about gamma-correction, i suppose.\n // Sticking with W3C example.\n const c = bit / 255\n if (c < 0.03928) {\n return c / 12.92\n } else {\n return Math.pow((c + 0.055) / 1.055, 2.4)\n }\n}\n\n/**\n * Converts sRGB into linear RGB\n * @param {Object} srgb - sRGB color\n * @returns {Object} linear rgb color\n */\nconst srgbToLinear = (srgb) => {\n return 'rgb'.split('').reduce((acc, c) => { acc[c] = c2linear(srgb[c]); return acc }, {})\n}\n\n/**\n * Calculates relative luminance for given color\n * https://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n * https://www.w3.org/TR/2008/REC-WCAG20-20081211/relative-luminance.xml\n *\n * @param {Object} srgb - sRGB color\n * @returns {Number} relative luminance\n */\nexport const relativeLuminance = (srgb) => {\n const { r, g, b } = srgbToLinear(srgb)\n return 0.2126 * r + 0.7152 * g + 0.0722 * b\n}\n\n/**\n * Generates color ratio between two colors. Order is unimporant\n * https://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef\n *\n * @param {Object} a - sRGB color\n * @param {Object} b - sRGB color\n * @returns {Number} color ratio\n */\nexport const getContrastRatio = (a, b) => {\n const la = relativeLuminance(a)\n const lb = relativeLuminance(b)\n const [l1, l2] = la > lb ? [la, lb] : [lb, la]\n\n return (l1 + 0.05) / (l2 + 0.05)\n}\n\n/**\n * Same as `getContrastRatio` but for multiple layers in-between\n *\n * @param {Object} text - text color (topmost layer)\n * @param {[Object, Number]} layers[] - layers between text and bedrock\n * @param {Object} bedrock - layer at the very bottom\n */\nexport const getContrastRatioLayers = (text, layers, bedrock) => {\n return getContrastRatio(alphaBlendLayers(bedrock, layers), text)\n}\n\n/**\n * This performs alpha blending between solid background and semi-transparent foreground\n *\n * @param {Object} fg - top layer color\n * @param {Number} fga - top layer's alpha\n * @param {Object} bg - bottom layer color\n * @returns {Object} sRGB of resulting color\n */\nexport const alphaBlend = (fg, fga, bg) => {\n if (fga === 1 || typeof fga === 'undefined') return fg\n return 'rgb'.split('').reduce((acc, c) => {\n // Simplified https://en.wikipedia.org/wiki/Alpha_compositing#Alpha_blending\n // for opaque bg and transparent fg\n acc[c] = (fg[c] * fga + bg[c] * (1 - fga))\n return acc\n }, {})\n}\n\n/**\n * Same as `alphaBlend` but for multiple layers in-between\n *\n * @param {Object} bedrock - layer at the very bottom\n * @param {[Object, Number]} layers[] - layers between text and bedrock\n */\nexport const alphaBlendLayers = (bedrock, layers) => layers.reduce((acc, [color, opacity]) => {\n return alphaBlend(color, opacity, acc)\n}, bedrock)\n\nexport const invert = (rgb) => {\n return 'rgb'.split('').reduce((acc, c) => {\n acc[c] = 255 - rgb[c]\n return acc\n }, {})\n}\n\n/**\n * Converts #rrggbb hex notation into an {r, g, b} object\n *\n * @param {String} hex - #rrggbb string\n * @returns {Object} rgb representation of the color, values are 0-255\n */\nexport const hex2rgb = (hex) => {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null\n}\n\n/**\n * Old somewhat weird function for mixing two colors together\n *\n * @param {Object} a - one color (rgb)\n * @param {Object} b - other color (rgb)\n * @returns {Object} result\n */\nexport const mixrgb = (a, b) => {\n return 'rgb'.split('').reduce((acc, k) => {\n acc[k] = (a[k] + b[k]) / 2\n return acc\n }, {})\n}\n/**\n * Converts rgb object into a CSS rgba() color\n *\n * @param {Object} color - rgb\n * @returns {String} CSS rgba() color\n */\nexport const rgba2css = function (rgba) {\n return `rgba(${Math.floor(rgba.r)}, ${Math.floor(rgba.g)}, ${Math.floor(rgba.b)}, ${rgba.a})`\n}\n\n/**\n * Get text color for given background color and intended text color\n * This checks if text and background don't have enough color and inverts\n * text color's lightness if needed. If text color is still not enough it\n * will fall back to black or white\n *\n * @param {Object} bg - background color\n * @param {Object} text - intended text color\n * @param {Boolean} preserve - try to preserve intended text color's hue/saturation (i.e. no BW)\n */\nexport const getTextColor = function (bg, text, preserve) {\n const contrast = getContrastRatio(bg, text)\n\n if (contrast < 4.5) {\n const base = typeof text.a !== 'undefined' ? { a: text.a } : {}\n const result = Object.assign(base, invertLightness(text).rgb)\n if (!preserve && getContrastRatio(bg, result) < 4.5) {\n // B&W\n return contrastRatio(bg, text).rgb\n }\n // Inverted color\n return result\n }\n return text\n}\n\n/**\n * Converts color to CSS Color value\n *\n * @param {Object|String} input - color\n * @param {Number} [a] - alpha value\n * @returns {String} a CSS Color value\n */\nexport const getCssColor = (input, a) => {\n let rgb = {}\n if (typeof input === 'object') {\n rgb = input\n } else if (typeof input === 'string') {\n if (input.startsWith('#')) {\n rgb = hex2rgb(input)\n } else {\n return input\n }\n }\n return rgba2css({ ...rgb, a })\n}\n","import StillImage from '../still-image/still-image.vue'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\n\nimport {\n faRobot\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faRobot\n)\n\nconst UserAvatar = {\n props: [\n 'user',\n 'betterShadow',\n 'compact',\n 'bot'\n ],\n data () {\n return {\n showPlaceholder: false,\n defaultAvatar: `${this.$store.state.instance.server + this.$store.state.instance.defaultAvatar}`\n }\n },\n components: {\n StillImage\n },\n methods: {\n imgSrc (src) {\n return (!src || this.showPlaceholder) ? this.defaultAvatar : src\n },\n imageLoadError () {\n this.showPlaceholder = true\n }\n }\n}\n\nexport default UserAvatar\n","import { render } from \"./user_avatar.vue?vue&type=template&id=764c87f9\"\nimport script from \"./user_avatar.js?vue&type=script&lang=js\"\nexport * from \"./user_avatar.js?vue&type=script&lang=js\"\n\nimport \"./user_avatar.vue?vue&type=style&index=0&id=764c87f9&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import { includes } from 'lodash'\n\nconst generateProfileLink = (id, screenName, restrictedNicknames) => {\n const complicated = !screenName || (isExternal(screenName) || includes(restrictedNicknames, screenName))\n return {\n name: (complicated ? 'external-user-profile' : 'user-profile'),\n params: (complicated ? { id } : { name: screenName })\n }\n}\n\nconst isExternal = screenName => screenName && screenName.includes('@')\n\nexport default generateProfileLink\n","const Popover = {\n name: 'Popover',\n props: {\n // Action to trigger popover: either 'hover' or 'click'\n trigger: String,\n\n // Either 'top' or 'bottom'\n placement: String,\n\n // Takes object with properties 'x' and 'y', values of these can be\n // 'container' for using offsetParent as boundaries for either axis\n // or 'viewport'\n boundTo: Object,\n\n // Takes a selector to use as a replacement for the parent container\n // for getting boundaries for x an y axis\n boundToSelector: String,\n\n // Takes a top/bottom/left/right object, how much space to leave\n // between boundary and popover element\n margin: Object,\n\n // Takes a x/y object and tells how many pixels to offset from\n // anchor point on either axis\n offset: Object,\n\n // Replaces the classes you may want for the popover container.\n // Use 'popover-default' in addition to get the default popover\n // styles with your custom class.\n popoverClass: String,\n\n // If true, subtract padding when calculating position for the popover,\n // use it when popover offset looks to be different on top vs bottom.\n removePadding: Boolean\n },\n data () {\n return {\n hidden: true,\n styles: { opacity: 0 },\n oldSize: { width: 0, height: 0 }\n }\n },\n methods: {\n containerBoundingClientRect () {\n const container = this.boundToSelector ? this.$el.closest(this.boundToSelector) : this.$el.offsetParent\n return container.getBoundingClientRect()\n },\n updateStyles () {\n if (this.hidden) {\n this.styles = {\n opacity: 0\n }\n return\n }\n\n // Popover will be anchored around this element, trigger ref is the container, so\n // its children are what are inside the slot. Expect only one v-slot:trigger.\n const anchorEl = (this.$refs.trigger && this.$refs.trigger.children[0]) || this.$el\n // SVGs don't have offsetWidth/Height, use fallback\n const anchorWidth = anchorEl.offsetWidth || anchorEl.clientWidth\n const anchorHeight = anchorEl.offsetHeight || anchorEl.clientHeight\n const screenBox = anchorEl.getBoundingClientRect()\n // Screen position of the origin point for popover\n const origin = { x: screenBox.left + screenBox.width * 0.5, y: screenBox.top }\n const content = this.$refs.content\n // Minor optimization, don't call a slow reflow call if we don't have to\n const parentBounds = this.boundTo &&\n (this.boundTo.x === 'container' || this.boundTo.y === 'container') &&\n this.containerBoundingClientRect()\n\n const margin = this.margin || {}\n\n // What are the screen bounds for the popover? Viewport vs container\n // when using viewport, using default margin values to dodge the navbar\n const xBounds = this.boundTo && this.boundTo.x === 'container' ? {\n min: parentBounds.left + (margin.left || 0),\n max: parentBounds.right - (margin.right || 0)\n } : {\n min: 0 + (margin.left || 10),\n max: window.innerWidth - (margin.right || 10)\n }\n\n const yBounds = this.boundTo && this.boundTo.y === 'container' ? {\n min: parentBounds.top + (margin.top || 0),\n max: parentBounds.bottom - (margin.bottom || 0)\n } : {\n min: 0 + (margin.top || 50),\n max: window.innerHeight - (margin.bottom || 5)\n }\n\n let horizOffset = 0\n\n // If overflowing from left, move it so that it doesn't\n if ((origin.x - content.offsetWidth * 0.5) < xBounds.min) {\n horizOffset += -(origin.x - content.offsetWidth * 0.5) + xBounds.min\n }\n\n // If overflowing from right, move it so that it doesn't\n if ((origin.x + horizOffset + content.offsetWidth * 0.5) > xBounds.max) {\n horizOffset -= (origin.x + horizOffset + content.offsetWidth * 0.5) - xBounds.max\n }\n\n // Default to whatever user wished with placement prop\n let usingTop = this.placement !== 'bottom'\n\n // Handle special cases, first force to displaying on top if there's not space on bottom,\n // regardless of what placement value was. Then check if there's not space on top, and\n // force to bottom, again regardless of what placement value was.\n if (origin.y + content.offsetHeight > yBounds.max) usingTop = true\n if (origin.y - content.offsetHeight < yBounds.min) usingTop = false\n\n let vPadding = 0\n if (this.removePadding && usingTop) {\n const anchorStyle = getComputedStyle(anchorEl)\n vPadding = parseFloat(anchorStyle.paddingTop) + parseFloat(anchorStyle.paddingBottom)\n }\n\n const yOffset = (this.offset && this.offset.y) || 0\n const translateY = usingTop\n ? -anchorHeight + vPadding - yOffset - content.offsetHeight\n : yOffset\n\n const xOffset = (this.offset && this.offset.x) || 0\n const translateX = anchorWidth * 0.5 - content.offsetWidth * 0.5 + horizOffset + xOffset\n\n // Note, separate translateX and translateY avoids blurry text on chromium,\n // single translate or translate3d resulted in blurry text.\n this.styles = {\n opacity: 1,\n transform: `translateX(${Math.round(translateX)}px) translateY(${Math.round(translateY)}px)`\n }\n },\n showPopover () {\n const wasHidden = this.hidden\n this.hidden = false\n this.$nextTick(() => {\n if (wasHidden) this.$emit('show')\n this.updateStyles()\n })\n },\n hidePopover () {\n if (!this.hidden) this.$emit('close')\n this.hidden = true\n this.styles = { opacity: 0 }\n },\n onMouseenter (e) {\n if (this.trigger === 'hover') this.showPopover()\n },\n onMouseleave (e) {\n if (this.trigger === 'hover') this.hidePopover()\n },\n onClick (e) {\n if (this.trigger === 'click') {\n if (this.hidden) {\n this.showPopover()\n } else {\n this.hidePopover()\n }\n }\n },\n onClickOutside (e) {\n if (this.hidden) return\n if (this.$el.contains(e.target)) return\n this.hidePopover()\n }\n },\n updated () {\n // Monitor changes to content size, update styles only when content sizes have changed,\n // that should be the only time we need to move the popover box if we don't care about scroll\n // or resize\n const content = this.$refs.content\n if (!content) return\n if (this.oldSize.width !== content.offsetWidth || this.oldSize.height !== content.offsetHeight) {\n this.updateStyles()\n this.oldSize = { width: content.offsetWidth, height: content.offsetHeight }\n }\n },\n created () {\n document.addEventListener('click', this.onClickOutside)\n },\n unmounted () {\n document.removeEventListener('click', this.onClickOutside)\n this.hidePopover()\n }\n}\n\nexport default Popover\n","import { render } from \"./popover.vue?vue&type=template&id=24420bf0\"\nimport script from \"./popover.js?vue&type=script&lang=js\"\nexport * from \"./popover.js?vue&type=script&lang=js\"\n\nimport \"./popover.vue?vue&type=style&index=0&id=24420bf0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import { library } from '@fortawesome/fontawesome-svg-core'\nimport { faReply } from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(faReply)\n\nconst ReplyButton = {\n name: 'ReplyButton',\n props: ['status', 'replying'],\n computed: {\n loggedIn () {\n return !!this.$store.state.users.currentUser\n }\n }\n}\n\nexport default ReplyButton\n","import { render } from \"./reply_button.vue?vue&type=template&id=56f413c0\"\nimport script from \"./reply_button.js?vue&type=script&lang=js\"\nexport * from \"./reply_button.js?vue&type=script&lang=js\"\n\nimport \"./reply_button.vue?vue&type=style&index=0&id=56f413c0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { mapGetters } from 'vuex'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { faStar } from '@fortawesome/free-solid-svg-icons'\nimport {\n faStar as faStarRegular\n} from '@fortawesome/free-regular-svg-icons'\n\nlibrary.add(\n faStar,\n faStarRegular\n)\n\nconst FavoriteButton = {\n props: ['status', 'loggedIn'],\n data () {\n return {\n animated: false\n }\n },\n methods: {\n favorite () {\n if (!this.status.favorited) {\n this.$store.dispatch('favorite', { id: this.status.id })\n } else {\n this.$store.dispatch('unfavorite', { id: this.status.id })\n }\n this.animated = true\n setTimeout(() => {\n this.animated = false\n }, 500)\n }\n },\n computed: {\n ...mapGetters(['mergedConfig'])\n }\n}\n\nexport default FavoriteButton\n","import { render } from \"./favorite_button.vue?vue&type=template&id=21f861d8\"\nimport script from \"./favorite_button.js?vue&type=script&lang=js\"\nexport * from \"./favorite_button.js?vue&type=script&lang=js\"\n\nimport \"./favorite_button.vue?vue&type=style&index=0&id=21f861d8&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import Popover from '../popover/popover.vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { faSmileBeam } from '@fortawesome/free-regular-svg-icons'\n\nlibrary.add(faSmileBeam)\n\nconst ReactButton = {\n props: ['status'],\n data () {\n return {\n filterWord: ''\n }\n },\n components: {\n Popover\n },\n methods: {\n addReaction (event, emoji, close) {\n const existingReaction = this.status.emoji_reactions.find(r => r.name === emoji)\n if (existingReaction && existingReaction.me) {\n this.$store.dispatch('unreactWithEmoji', { id: this.status.id, emoji })\n } else {\n this.$store.dispatch('reactWithEmoji', { id: this.status.id, emoji })\n }\n close()\n },\n focusInput () {\n this.$nextTick(() => {\n const input = this.$el.querySelector('input')\n if (input) input.focus()\n })\n }\n },\n computed: {\n commonEmojis () {\n return [\n { displayText: 'thumbsup', replacement: '👍' },\n { displayText: 'angry', replacement: '😠' },\n { displayText: 'eyes', replacement: '👀' },\n { displayText: 'joy', replacement: '😂' },\n { displayText: 'fire', replacement: '🔥' }\n ]\n },\n emojis () {\n if (this.filterWord !== '') {\n const filterWordLowercase = this.filterWord.toLowerCase()\n let orderedEmojiList = []\n for (const emoji of [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ]) {\n if (emoji.replacement === this.filterWord) return [emoji]\n\n const indexOfFilterWord = emoji.displayText.toLowerCase().indexOf(filterWordLowercase)\n if (indexOfFilterWord > -1) {\n if (!Array.isArray(orderedEmojiList[indexOfFilterWord])) {\n orderedEmojiList[indexOfFilterWord] = []\n }\n orderedEmojiList[indexOfFilterWord].push(emoji)\n }\n }\n return orderedEmojiList.flat()\n }\n return [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ] || []\n },\n mergedConfig () {\n return this.$store.getters.mergedConfig\n }\n }\n}\n\nexport default ReactButton\n","import { render } from \"./react_button.vue?vue&type=template&id=0101edf8\"\nimport script from \"./react_button.js?vue&type=script&lang=js\"\nexport * from \"./react_button.js?vue&type=script&lang=js\"\n\nimport \"./react_button.vue?vue&type=style&index=0&id=0101edf8&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { library } from '@fortawesome/fontawesome-svg-core'\nimport { faRetweet } from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(faRetweet)\n\nconst RetweetButton = {\n props: ['status', 'loggedIn', 'visibility'],\n data () {\n return {\n animated: false\n }\n },\n methods: {\n retweet () {\n if (!this.status.repeated) {\n this.$store.dispatch('retweet', { id: this.status.id })\n } else {\n this.$store.dispatch('unretweet', { id: this.status.id })\n }\n this.animated = true\n setTimeout(() => {\n this.animated = false\n }, 500)\n }\n },\n computed: {\n mergedConfig () {\n return this.$store.getters.mergedConfig\n }\n }\n}\n\nexport default RetweetButton\n","import { render } from \"./retweet_button.vue?vue&type=template&id=46fe49c4\"\nimport script from \"./retweet_button.js?vue&type=script&lang=js\"\nexport * from \"./retweet_button.js?vue&type=script&lang=js\"\n\nimport \"./retweet_button.vue?vue&type=style&index=0&id=46fe49c4&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import Popover from '../popover/popover.vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faEllipsisH,\n faBookmark,\n faEyeSlash,\n faThumbtack,\n faShareAlt,\n faExternalLinkAlt\n} from '@fortawesome/free-solid-svg-icons'\nimport {\n faBookmark as faBookmarkReg,\n faFlag\n} from '@fortawesome/free-regular-svg-icons'\n\nlibrary.add(\n faEllipsisH,\n faBookmark,\n faBookmarkReg,\n faEyeSlash,\n faThumbtack,\n faShareAlt,\n faExternalLinkAlt,\n faFlag\n)\n\nconst ExtraButtons = {\n props: [ 'status' ],\n components: { Popover },\n methods: {\n deleteStatus () {\n const confirmed = window.confirm(this.$t('status.delete_confirm'))\n if (confirmed) {\n this.$store.dispatch('deleteStatus', { id: this.status.id })\n }\n },\n pinStatus () {\n this.$store.dispatch('pinStatus', this.status.id)\n .then(() => this.$emit('onSuccess'))\n .catch(err => this.$emit('onError', err.error.error))\n },\n unpinStatus () {\n this.$store.dispatch('unpinStatus', this.status.id)\n .then(() => this.$emit('onSuccess'))\n .catch(err => this.$emit('onError', err.error.error))\n },\n muteConversation () {\n this.$store.dispatch('muteConversation', this.status.id)\n .then(() => this.$emit('onSuccess'))\n .catch(err => this.$emit('onError', err.error.error))\n },\n unmuteConversation () {\n this.$store.dispatch('unmuteConversation', this.status.id)\n .then(() => this.$emit('onSuccess'))\n .catch(err => this.$emit('onError', err.error.error))\n },\n copyLink () {\n navigator.clipboard.writeText(this.statusLink)\n .then(() => this.$emit('onSuccess'))\n .catch(err => this.$emit('onError', err.error.error))\n },\n bookmarkStatus () {\n this.$store.dispatch('bookmark', { id: this.status.id })\n .then(() => this.$emit('onSuccess'))\n .catch(err => this.$emit('onError', err.error.error))\n },\n unbookmarkStatus () {\n this.$store.dispatch('unbookmark', { id: this.status.id })\n .then(() => this.$emit('onSuccess'))\n .catch(err => this.$emit('onError', err.error.error))\n },\n reportStatus () {\n this.$store.dispatch('openUserReportingModal', { userId: this.status.user.id, statusIds: [this.status.id] })\n }\n },\n computed: {\n currentUser () { return this.$store.state.users.currentUser },\n canDelete () {\n if (!this.currentUser) { return }\n const superuser = this.currentUser.rights.moderator || this.currentUser.rights.admin\n return superuser || this.status.user.id === this.currentUser.id\n },\n ownStatus () {\n return this.status.user.id === this.currentUser.id\n },\n canPin () {\n return this.ownStatus && (this.status.visibility === 'public' || this.status.visibility === 'unlisted')\n },\n canMute () {\n return !!this.currentUser\n },\n statusLink () {\n return `${this.$store.state.instance.server}${this.$router.resolve({ name: 'conversation', params: { id: this.status.id } }).href}`\n }\n }\n}\n\nexport default ExtraButtons\n","import { render } from \"./extra_buttons.vue?vue&type=template&id=3a956a44\"\nimport script from \"./extra_buttons.js?vue&type=script&lang=js\"\nexport * from \"./extra_buttons.js?vue&type=script&lang=js\"\n\nimport \"./extra_buttons.vue?vue&type=style&index=0&id=3a956a44&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { find } from 'lodash'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { faCircleNotch } from '@fortawesome/free-solid-svg-icons'\nimport { defineAsyncComponent } from 'vue'\n\nlibrary.add(\n faCircleNotch\n)\n\nconst StatusPopover = {\n name: 'StatusPopover',\n props: [\n 'statusId'\n ],\n data () {\n return {\n error: false\n }\n },\n computed: {\n status () {\n return find(this.$store.state.statuses.allStatuses, { id: this.statusId })\n }\n },\n components: {\n Status: defineAsyncComponent(() => import('../status/status.vue')),\n Popover: defineAsyncComponent(() => import('../popover/popover.vue'))\n },\n methods: {\n enter () {\n if (!this.status) {\n if (!this.statusId) {\n this.error = true\n return\n }\n this.$store.dispatch('fetchStatus', this.statusId)\n .then(data => (this.error = false))\n .catch(e => (this.error = true))\n }\n }\n }\n}\n\nexport default StatusPopover\n","import { render } from \"./status_popover.vue?vue&type=template&id=fa4a5d94\"\nimport script from \"./status_popover.js?vue&type=script&lang=js\"\nexport * from \"./status_popover.js?vue&type=script&lang=js\"\n\nimport \"./status_popover.vue?vue&type=style&index=0&id=fa4a5d94&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { defineAsyncComponent } from 'vue'\nimport RichContent from 'src/components/rich_content/rich_content.jsx'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { faCircleNotch } from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCircleNotch\n)\n\nconst UserListPopover = {\n name: 'UserListPopover',\n props: [\n 'users'\n ],\n components: {\n RichContent,\n Popover: defineAsyncComponent(() => import('../popover/popover.vue')),\n UserAvatar: defineAsyncComponent(() => import('../user_avatar/user_avatar.vue'))\n },\n computed: {\n usersCapped () {\n return this.users.slice(0, 16)\n }\n }\n}\n\nexport default UserListPopover\n","import { render } from \"./user_list_popover.vue?vue&type=template&id=3dc0c2d4\"\nimport script from \"./user_list_popover.js?vue&type=script&lang=js\"\nexport * from \"./user_list_popover.js?vue&type=script&lang=js\"\n\nimport \"./user_list_popover.vue?vue&type=style&index=0&id=3dc0c2d4&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","import UserAvatar from '../user_avatar/user_avatar.vue'\nimport UserListPopover from '../user_list_popover/user_list_popover.vue'\n\nconst EMOJI_REACTION_COUNT_CUTOFF = 12\n\nconst EmojiReactions = {\n name: 'EmojiReactions',\n components: {\n UserAvatar,\n UserListPopover\n },\n props: ['status'],\n data: () => ({\n showAll: false\n }),\n computed: {\n tooManyReactions () {\n return this.status.emoji_reactions.length > EMOJI_REACTION_COUNT_CUTOFF\n },\n emojiReactions () {\n return this.showAll\n ? this.status.emoji_reactions\n : this.status.emoji_reactions.slice(0, EMOJI_REACTION_COUNT_CUTOFF)\n },\n showMoreString () {\n return `+${this.status.emoji_reactions.length - EMOJI_REACTION_COUNT_CUTOFF}`\n },\n accountsForEmoji () {\n return this.status.emoji_reactions.reduce((acc, reaction) => {\n acc[reaction.name] = reaction.accounts || []\n return acc\n }, {})\n },\n loggedIn () {\n return !!this.$store.state.users.currentUser\n }\n },\n methods: {\n toggleShowAll () {\n this.showAll = !this.showAll\n },\n reactedWith (emoji) {\n return this.status.emoji_reactions.find(r => r.name === emoji).me\n },\n fetchEmojiReactionsByIfMissing () {\n const hasNoAccounts = this.status.emoji_reactions.find(r => !r.accounts)\n if (hasNoAccounts) {\n this.$store.dispatch('fetchEmojiReactionsBy', this.status.id)\n }\n },\n reactWith (emoji) {\n this.$store.dispatch('reactWithEmoji', { id: this.status.id, emoji })\n },\n unreact (emoji) {\n this.$store.dispatch('unreactWithEmoji', { id: this.status.id, emoji })\n },\n emojiOnClick (emoji, event) {\n if (!this.loggedIn) return\n\n if (this.reactedWith(emoji)) {\n this.unreact(emoji)\n } else {\n this.reactWith(emoji)\n }\n }\n }\n}\n\nexport default EmojiReactions\n","import { render } from \"./emoji_reactions.vue?vue&type=template&id=1bf35779\"\nimport script from \"./emoji_reactions.js?vue&type=script&lang=js\"\nexport * from \"./emoji_reactions.js?vue&type=script&lang=js\"\n\nimport \"./emoji_reactions.vue?vue&type=style&index=0&id=1bf35779&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import ReplyButton from '../reply_button/reply_button.vue'\nimport FavoriteButton from '../favorite_button/favorite_button.vue'\nimport ReactButton from '../react_button/react_button.vue'\nimport RetweetButton from '../retweet_button/retweet_button.vue'\nimport ExtraButtons from '../extra_buttons/extra_buttons.vue'\nimport PostStatusForm from '../post_status_form/post_status_form.vue'\nimport UserCard from '../user_card/user_card.vue'\nimport UserAvatar from '../user_avatar/user_avatar.vue'\nimport AvatarList from '../avatar_list/avatar_list.vue'\nimport Timeago from '../timeago/timeago.vue'\nimport StatusContent from '../status_content/status_content.vue'\nimport RichContent from 'src/components/rich_content/rich_content.jsx'\nimport StatusPopover from '../status_popover/status_popover.vue'\nimport UserListPopover from '../user_list_popover/user_list_popover.vue'\nimport EmojiReactions from '../emoji_reactions/emoji_reactions.vue'\nimport MentionsLine from 'src/components/mentions_line/mentions_line.vue'\nimport MentionLink from 'src/components/mention_link/mention_link.vue'\nimport generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\nimport { highlightClass, highlightStyle } from '../../services/user_highlighter/user_highlighter.js'\nimport { muteWordHits } from '../../services/status_parser/status_parser.js'\nimport { unescape, uniqBy } from 'lodash'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faEnvelope,\n faLock,\n faLockOpen,\n faGlobe,\n faTimes,\n faRetweet,\n faReply,\n faPlusSquare,\n faSmileBeam,\n faEllipsisH,\n faStar,\n faEyeSlash,\n faEye,\n faThumbtack,\n faChevronUp,\n faChevronDown,\n faAngleDoubleRight\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faEnvelope,\n faGlobe,\n faLock,\n faLockOpen,\n faTimes,\n faRetweet,\n faReply,\n faPlusSquare,\n faStar,\n faSmileBeam,\n faEllipsisH,\n faEyeSlash,\n faEye,\n faThumbtack,\n faChevronUp,\n faChevronDown,\n faAngleDoubleRight\n)\n\nconst camelCase = name => name.charAt(0).toUpperCase() + name.slice(1)\n\nconst controlledOrUncontrolledGetters = list => list.reduce((res, name) => {\n const camelized = camelCase(name)\n const toggle = `controlledToggle${camelized}`\n const controlledName = `controlled${camelized}`\n const uncontrolledName = `uncontrolled${camelized}`\n res[name] = function () {\n return ((this.$data[toggle] !== undefined || this.$props[toggle] !== undefined) && this[toggle]) ? this[controlledName] : this[uncontrolledName]\n }\n return res\n}, {})\n\nconst controlledOrUncontrolledToggle = (obj, name) => {\n const camelized = camelCase(name)\n const toggle = `controlledToggle${camelized}`\n const uncontrolledName = `uncontrolled${camelized}`\n if (obj[toggle]) {\n obj[toggle]()\n } else {\n obj[uncontrolledName] = !obj[uncontrolledName]\n }\n}\n\nconst controlledOrUncontrolledSet = (obj, name, val) => {\n const camelized = camelCase(name)\n const set = `controlledSet${camelized}`\n const uncontrolledName = `uncontrolled${camelized}`\n if (obj[set]) {\n obj[set](val)\n } else {\n obj[uncontrolledName] = val\n }\n}\n\nconst Status = {\n name: 'Status',\n components: {\n ReplyButton,\n FavoriteButton,\n ReactButton,\n RetweetButton,\n ExtraButtons,\n PostStatusForm,\n UserCard,\n UserAvatar,\n AvatarList,\n Timeago,\n StatusPopover,\n UserListPopover,\n EmojiReactions,\n StatusContent,\n RichContent,\n MentionLink,\n MentionsLine\n },\n props: [\n 'statusoid',\n 'expandable',\n 'inConversation',\n 'focused',\n 'highlight',\n 'compact',\n 'replies',\n 'isPreview',\n 'noHeading',\n 'inlineExpanded',\n 'showPinned',\n 'inProfile',\n 'profileUserId',\n\n 'simpleTree',\n 'controlledThreadDisplayStatus',\n 'controlledToggleThreadDisplay',\n 'showOtherRepliesAsButton',\n\n 'controlledShowingTall',\n 'controlledToggleShowingTall',\n 'controlledExpandingSubject',\n 'controlledToggleExpandingSubject',\n 'controlledShowingLongSubject',\n 'controlledToggleShowingLongSubject',\n 'controlledReplying',\n 'controlledToggleReplying',\n 'controlledMediaPlaying',\n 'controlledSetMediaPlaying',\n 'dive'\n ],\n data () {\n return {\n uncontrolledReplying: false,\n unmuted: false,\n userExpanded: false,\n uncontrolledMediaPlaying: [],\n suspendable: true,\n error: null,\n headTailLinks: null\n }\n },\n computed: {\n ...controlledOrUncontrolledGetters(['replying', 'mediaPlaying']),\n muteWords () {\n return this.mergedConfig.muteWords\n },\n showReasonMutedThread () {\n return (\n this.status.thread_muted ||\n (this.status.reblog && this.status.reblog.thread_muted)\n ) && !this.inConversation\n },\n repeaterClass () {\n const user = this.statusoid.user\n return highlightClass(user)\n },\n userClass () {\n const user = this.retweet ? (this.statusoid.retweeted_status.user) : this.statusoid.user\n return highlightClass(user)\n },\n deleted () {\n return this.statusoid.deleted\n },\n repeaterStyle () {\n const user = this.statusoid.user\n const highlight = this.mergedConfig.highlight\n return highlightStyle(highlight[user.screen_name])\n },\n userStyle () {\n if (this.noHeading) return\n const user = this.retweet ? (this.statusoid.retweeted_status.user) : this.statusoid.user\n const highlight = this.mergedConfig.highlight\n return highlightStyle(highlight[user.screen_name])\n },\n userProfileLink () {\n return this.generateUserProfileLink(this.status.user.id, this.status.user.screen_name)\n },\n replyProfileLink () {\n if (this.isReply) {\n const user = this.$store.getters.findUser(this.status.in_reply_to_user_id)\n // FIXME Why user not found sometimes???\n return user ? user.statusnet_profile_url : 'NOT_FOUND'\n }\n },\n retweet () { return !!this.statusoid.retweeted_status },\n retweeterUser () { return this.statusoid.user },\n retweeter () { return this.statusoid.user.name || this.statusoid.user.screen_name_ui },\n retweeterHtml () { return this.statusoid.user.name },\n retweeterProfileLink () { return this.generateUserProfileLink(this.statusoid.user.id, this.statusoid.user.screen_name) },\n status () {\n if (this.retweet) {\n return this.statusoid.retweeted_status\n } else {\n return this.statusoid\n }\n },\n statusFromGlobalRepository () {\n // NOTE: Consider to replace status with statusFromGlobalRepository\n return this.$store.state.statuses.allStatusesObject[this.status.id]\n },\n loggedIn () {\n return !!this.currentUser\n },\n muteWordHits () {\n return muteWordHits(this.status, this.muteWords)\n },\n rtBotStatus () {\n return this.statusoid.user.bot\n },\n botStatus () {\n return this.status.user.bot\n },\n botIndicator () {\n return this.botStatus && !this.hideBotIndication\n },\n rtBotIndicator () {\n return this.rtBotStatus && !this.hideBotIndication\n },\n mentionsLine () {\n if (!this.headTailLinks) return []\n const writtenSet = new Set(this.headTailLinks.writtenMentions.map(_ => _.url))\n return this.status.attentions.filter(attn => {\n // no reply user\n return attn.id !== this.status.in_reply_to_user_id &&\n // no self-replies\n attn.statusnet_profile_url !== this.status.user.statusnet_profile_url &&\n // don't include if mentions is written\n !writtenSet.has(attn.statusnet_profile_url)\n }).map(attn => ({\n url: attn.statusnet_profile_url,\n content: attn.screen_name,\n userId: attn.id\n }))\n },\n hasMentionsLine () {\n return this.mentionsLine.length > 0\n },\n muted () {\n if (this.statusoid.user.id === this.currentUser.id) return false\n const reasonsToMute = this.userIsMuted ||\n // Thread is muted\n status.thread_muted ||\n // Wordfiltered\n this.muteWordHits.length > 0 ||\n // bot status\n (this.muteBotStatuses && this.botStatus && !this.compact)\n return !this.unmuted && !this.shouldNotMute && reasonsToMute\n },\n userIsMuted () {\n if (this.statusoid.user.id === this.currentUser.id) return false\n const { status } = this\n const { reblog } = status\n const relationship = this.$store.getters.relationship(status.user.id)\n const relationshipReblog = reblog && this.$store.getters.relationship(reblog.user.id)\n return status.muted ||\n // Reprööt of a muted post according to BE\n (reblog && reblog.muted) ||\n // Muted user\n relationship.muting ||\n // Muted user of a reprööt\n (relationshipReblog && relationshipReblog.muting)\n },\n shouldNotMute () {\n const { status } = this\n const { reblog } = status\n return (\n (\n this.inProfile && (\n // Don't mute user's posts on user timeline (except reblogs)\n (!reblog && status.user.id === this.profileUserId) ||\n // Same as above but also allow self-reblogs\n (reblog && reblog.user.id === this.profileUserId)\n )\n ) ||\n // Don't mute statuses in muted conversation when said conversation is opened\n (this.inConversation && status.thread_muted)\n // No excuses if post has muted words\n ) && !this.muteWordHits.length > 0\n },\n hideMutedUsers () {\n return this.mergedConfig.hideMutedPosts\n },\n hideMutedThreads () {\n return this.mergedConfig.hideMutedThreads\n },\n hideFilteredStatuses () {\n return this.mergedConfig.hideFilteredStatuses\n },\n hideWordFilteredPosts () {\n return this.mergedConfig.hideWordFilteredPosts\n },\n hideStatus () {\n return (!this.shouldNotMute) && (\n (this.muted && this.hideFilteredStatuses) ||\n (this.userIsMuted && this.hideMutedUsers) ||\n (this.status.thread_muted && this.hideMutedThreads) ||\n (this.muteWordHits.length > 0 && this.hideWordFilteredPosts)\n )\n },\n isFocused () {\n // retweet or root of an expanded conversation\n if (this.focused) {\n return true\n } else if (!this.inConversation) {\n return false\n }\n // use conversation highlight only when in conversation\n return this.status.id === this.highlight\n },\n isReply () {\n return !!(this.status.in_reply_to_status_id && this.status.in_reply_to_user_id)\n },\n replyToName () {\n if (this.status.in_reply_to_screen_name) {\n return this.status.in_reply_to_screen_name\n } else {\n const user = this.$store.getters.findUser(this.status.in_reply_to_user_id)\n return user && user.screen_name_ui\n }\n },\n replySubject () {\n if (!this.status.summary) return ''\n const decodedSummary = unescape(this.status.summary)\n const behavior = this.mergedConfig.subjectLineBehavior\n const startsWithRe = decodedSummary.match(/^re[: ]/i)\n if ((behavior !== 'noop' && startsWithRe) || behavior === 'masto') {\n return decodedSummary\n } else if (behavior === 'email') {\n return 're: '.concat(decodedSummary)\n } else if (behavior === 'noop') {\n return ''\n }\n },\n combinedFavsAndRepeatsUsers () {\n // Use the status from the global status repository since favs and repeats are saved in it\n const combinedUsers = [].concat(\n this.statusFromGlobalRepository.favoritedBy,\n this.statusFromGlobalRepository.rebloggedBy\n )\n return uniqBy(combinedUsers, 'id')\n },\n tags () {\n return this.status.tags.filter(tagObj => tagObj.hasOwnProperty('name')).map(tagObj => tagObj.name).join(' ')\n },\n hidePostStats () {\n return this.mergedConfig.hidePostStats\n },\n muteBotStatuses () {\n return this.mergedConfig.muteBotStatuses\n },\n hideBotIndication () {\n return this.mergedConfig.hideBotIndication\n },\n currentUser () {\n return this.$store.state.users.currentUser\n },\n betterShadow () {\n return this.$store.state.interface.browserSupport.cssFilter\n },\n mergedConfig () {\n return this.$store.getters.mergedConfig\n },\n isSuspendable () {\n return !this.replying && this.mediaPlaying.length === 0\n },\n inThreadForest () {\n return !!this.controlledThreadDisplayStatus\n },\n threadShowing () {\n return this.controlledThreadDisplayStatus === 'showing'\n },\n visibilityLocalized () {\n return this.$i18n.t('general.scope_in_timeline.' + this.status.visibility)\n }\n },\n methods: {\n visibilityIcon (visibility) {\n switch (visibility) {\n case 'private':\n return 'lock'\n case 'unlisted':\n return 'lock-open'\n case 'direct':\n return 'envelope'\n case 'local':\n return 'users'\n default:\n return 'globe'\n }\n },\n showError (error) {\n this.error = error\n },\n clearError () {\n this.error = undefined\n },\n toggleReplying () {\n controlledOrUncontrolledToggle(this, 'replying')\n },\n gotoOriginal (id) {\n if (this.inConversation) {\n this.$emit('goto', id)\n }\n },\n toggleExpanded () {\n this.$emit('toggleExpanded')\n },\n toggleMute () {\n this.unmuted = !this.unmuted\n },\n toggleUserExpanded () {\n this.userExpanded = !this.userExpanded\n },\n generateUserProfileLink (id, name) {\n return generateProfileLink(id, name, this.$store.state.instance.restrictedNicknames)\n },\n addMediaPlaying (id) {\n controlledOrUncontrolledSet(this, 'mediaPlaying', this.mediaPlaying.concat(id))\n },\n removeMediaPlaying (id) {\n controlledOrUncontrolledSet(this, 'mediaPlaying', this.mediaPlaying.filter(mediaId => mediaId !== id))\n },\n setHeadTailLinks (headTailLinks) {\n this.headTailLinks = headTailLinks\n },\n toggleThreadDisplay () {\n this.controlledToggleThreadDisplay()\n },\n scrollIfHighlighted (highlightId) {\n const id = highlightId\n if (this.status.id === id) {\n let rect = this.$el.getBoundingClientRect()\n if (rect.top < 100) {\n // Post is above screen, match its top to screen top\n window.scrollBy(0, rect.top - 100)\n } else if (rect.height >= (window.innerHeight - 50)) {\n // Post we want to see is taller than screen so match its top to screen top\n window.scrollBy(0, rect.top - 100)\n } else if (rect.bottom > window.innerHeight - 50) {\n // Post is below screen, match its bottom to screen bottom\n window.scrollBy(0, rect.bottom - window.innerHeight + 50)\n }\n }\n }\n },\n watch: {\n 'highlight': function (id) {\n this.scrollIfHighlighted(id)\n },\n 'status.repeat_num': function (num) {\n // refetch repeats when repeat_num is changed in any way\n if (this.isFocused && this.statusFromGlobalRepository.rebloggedBy && this.statusFromGlobalRepository.rebloggedBy.length !== num) {\n this.$store.dispatch('fetchRepeats', this.status.id)\n }\n },\n 'status.fave_num': function (num) {\n // refetch favs when fave_num is changed in any way\n if (this.isFocused && this.statusFromGlobalRepository.favoritedBy && this.statusFromGlobalRepository.favoritedBy.length !== num) {\n this.$store.dispatch('fetchFavs', this.status.id)\n }\n },\n 'isSuspendable': function (val) {\n this.suspendable = val\n }\n }\n}\n\nexport default Status\n","import { render } from \"./status.vue?vue&type=template&id=7387c01f\"\nimport script from \"./status.js?vue&type=script&lang=js\"\nexport * from \"./status.js?vue&type=script&lang=js\"\n\nimport \"./status.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","const DialogModal = {\n props: {\n darkOverlay: {\n default: true,\n type: Boolean\n },\n onCancel: {\n default: () => {},\n type: Function\n }\n }\n}\n\nexport default DialogModal\n","import { render } from \"./dialog_modal.vue?vue&type=template&id=202a26c4\"\nimport script from \"./dialog_modal.js?vue&type=script&lang=js\"\nexport * from \"./dialog_modal.js?vue&type=script&lang=js\"\n\nimport \"./dialog_modal.vue?vue&type=style&index=0&id=202a26c4&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { library } from '@fortawesome/fontawesome-svg-core'\nimport { faChevronDown } from '@fortawesome/free-solid-svg-icons'\n\nimport DialogModal from '../dialog_modal/dialog_modal.vue'\nimport Popover from '../popover/popover.vue'\n\nlibrary.add(faChevronDown)\n\nconst FORCE_NSFW = 'mrf_tag:media-force-nsfw'\nconst STRIP_MEDIA = 'mrf_tag:media-strip'\nconst FORCE_UNLISTED = 'mrf_tag:force-unlisted'\nconst DISABLE_REMOTE_SUBSCRIPTION = 'mrf_tag:disable-remote-subscription'\nconst DISABLE_ANY_SUBSCRIPTION = 'mrf_tag:disable-any-subscription'\nconst SANDBOX = 'mrf_tag:sandbox'\nconst QUARANTINE = 'mrf_tag:quarantine'\n\nconst ModerationTools = {\n props: [\n 'user'\n ],\n data () {\n return {\n tags: {\n FORCE_NSFW,\n STRIP_MEDIA,\n FORCE_UNLISTED,\n DISABLE_REMOTE_SUBSCRIPTION,\n DISABLE_ANY_SUBSCRIPTION,\n SANDBOX,\n QUARANTINE\n },\n showDeleteUserDialog: false,\n toggled: false\n }\n },\n components: {\n DialogModal,\n Popover\n },\n computed: {\n tagsSet () {\n return new Set(this.user.tags)\n },\n hasTagPolicy () {\n return this.$store.state.instance.tagPolicyAvailable\n }\n },\n methods: {\n hasTag (tagName) {\n return this.tagsSet.has(tagName)\n },\n toggleTag (tag) {\n const store = this.$store\n if (this.tagsSet.has(tag)) {\n store.state.api.backendInteractor.untagUser({ user: this.user, tag }).then(response => {\n if (!response.ok) { return }\n store.commit('untagUser', { user: this.user, tag })\n })\n } else {\n store.state.api.backendInteractor.tagUser({ user: this.user, tag }).then(response => {\n if (!response.ok) { return }\n store.commit('tagUser', { user: this.user, tag })\n })\n }\n },\n toggleRight (right) {\n const store = this.$store\n if (this.user.rights[right]) {\n store.state.api.backendInteractor.deleteRight({ user: this.user, right }).then(response => {\n if (!response.ok) { return }\n store.commit('updateRight', { user: this.user, right, value: false })\n })\n } else {\n store.state.api.backendInteractor.addRight({ user: this.user, right }).then(response => {\n if (!response.ok) { return }\n store.commit('updateRight', { user: this.user, right, value: true })\n })\n }\n },\n toggleActivationStatus () {\n this.$store.dispatch('toggleActivationStatus', { user: this.user })\n },\n deleteUserDialog (show) {\n this.showDeleteUserDialog = show\n },\n deleteUser () {\n const store = this.$store\n const user = this.user\n const { id, name } = user\n store.state.api.backendInteractor.deleteUser({ user })\n .then(e => {\n this.$store.dispatch('markStatusesAsDeleted', status => user.id === status.user.id)\n const isProfile = this.$route.name === 'external-user-profile' || this.$route.name === 'user-profile'\n const isTargetUser = this.$route.params.name === name || this.$route.params.id === id\n if (isProfile && isTargetUser) {\n window.history.back()\n }\n })\n },\n setToggled (value) {\n this.toggled = value\n }\n }\n}\n\nexport default ModerationTools\n","import { render } from \"./moderation_tools.vue?vue&type=template&id=0ae1f97e\"\nimport script from \"./moderation_tools.js?vue&type=script&lang=js\"\nexport * from \"./moderation_tools.js?vue&type=script&lang=js\"\n\nimport \"./moderation_tools.vue?vue&type=style&index=0&id=0ae1f97e&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { mapState } from 'vuex'\nimport ProgressButton from '../progress_button/progress_button.vue'\nimport Popover from '../popover/popover.vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faEllipsisV\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faEllipsisV\n)\n\nconst AccountActions = {\n props: [\n 'user', 'relationship'\n ],\n data () {\n return { }\n },\n components: {\n ProgressButton,\n Popover\n },\n methods: {\n showRepeats () {\n this.$store.dispatch('showReblogs', this.user.id)\n },\n hideRepeats () {\n this.$store.dispatch('hideReblogs', this.user.id)\n },\n blockUser () {\n this.$store.dispatch('blockUser', this.user.id)\n },\n unblockUser () {\n this.$store.dispatch('unblockUser', this.user.id)\n },\n reportUser () {\n this.$store.dispatch('openUserReportingModal', { userId: this.user.id })\n },\n openChat () {\n this.$router.push({\n name: 'chat',\n params: { username: this.$store.state.users.currentUser.screen_name, recipient_id: this.user.id }\n })\n }\n },\n computed: {\n ...mapState({\n pleromaChatMessagesAvailable: state => state.instance.pleromaChatMessagesAvailable\n })\n }\n}\n\nexport default AccountActions\n","import { render } from \"./account_actions.vue?vue&type=template&id=cbff36f6\"\nimport script from \"./account_actions.js?vue&type=script&lang=js\"\nexport * from \"./account_actions.js?vue&type=script&lang=js\"\n\nimport \"./account_actions.vue?vue&type=style&index=0&id=cbff36f6&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import UserAvatar from '../user_avatar/user_avatar.vue'\nimport RemoteFollow from '../remote_follow/remote_follow.vue'\nimport ProgressButton from '../progress_button/progress_button.vue'\nimport FollowButton from '../follow_button/follow_button.vue'\nimport ModerationTools from '../moderation_tools/moderation_tools.vue'\nimport AccountActions from '../account_actions/account_actions.vue'\nimport Select from '../select/select.vue'\nimport RichContent from 'src/components/rich_content/rich_content.jsx'\nimport generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\nimport { mapGetters } from 'vuex'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faBell,\n faRss,\n faSearchPlus,\n faExternalLinkAlt,\n faEdit\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faRss,\n faBell,\n faSearchPlus,\n faExternalLinkAlt,\n faEdit\n)\n\nexport default {\n props: [\n 'userId', 'switcher', 'selected', 'hideBio', 'rounded', 'bordered', 'allowZoomingAvatar'\n ],\n data () {\n return {\n followRequestInProgress: false,\n betterShadow: this.$store.state.interface.browserSupport.cssFilter\n }\n },\n created () {\n this.$store.dispatch('fetchUserRelationship', this.user.id)\n },\n computed: {\n user () {\n return this.$store.getters.findUser(this.userId)\n },\n relationship () {\n return this.$store.getters.relationship(this.userId)\n },\n classes () {\n return [{\n 'user-card-rounded-t': this.rounded === 'top', // set border-top-left-radius and border-top-right-radius\n 'user-card-rounded': this.rounded === true, // set border-radius for all sides\n 'user-card-bordered': this.bordered === true // set border for all sides\n }]\n },\n style () {\n return {\n backgroundImage: [\n `linear-gradient(to bottom, var(--profileTint), var(--profileTint))`,\n `url(${this.user.cover_photo})`\n ].join(', ')\n }\n },\n isOtherUser () {\n return this.user.id !== this.$store.state.users.currentUser.id\n },\n subscribeUrl () {\n // eslint-disable-next-line no-undef\n const serverUrl = new URL(this.user.statusnet_profile_url)\n return `${serverUrl.protocol}//${serverUrl.host}/main/ostatus`\n },\n loggedIn () {\n return this.$store.state.users.currentUser\n },\n dailyAvg () {\n const days = Math.ceil((new Date() - new Date(this.user.created_at)) / (60 * 60 * 24 * 1000))\n return Math.round(this.user.statuses_count / days)\n },\n userHighlightType: {\n get () {\n const data = this.$store.getters.mergedConfig.highlight[this.user.screen_name]\n return (data && data.type) || 'disabled'\n },\n set (type) {\n const data = this.$store.getters.mergedConfig.highlight[this.user.screen_name]\n if (type !== 'disabled') {\n this.$store.dispatch('setHighlight', { user: this.user.screen_name, color: (data && data.color) || '#FFFFFF', type })\n } else {\n this.$store.dispatch('setHighlight', { user: this.user.screen_name, color: undefined })\n }\n },\n ...mapGetters(['mergedConfig'])\n },\n userHighlightColor: {\n get () {\n const data = this.$store.getters.mergedConfig.highlight[this.user.screen_name]\n return data && data.color\n },\n set (color) {\n this.$store.dispatch('setHighlight', { user: this.user.screen_name, color })\n }\n },\n visibleRole () {\n const rights = this.user.rights\n if (!rights) { return }\n const validRole = rights.admin || rights.moderator\n const roleTitle = rights.admin ? 'admin' : 'moderator'\n return validRole && roleTitle\n },\n hideFollowsCount () {\n return this.isOtherUser && this.user.hide_follows_count\n },\n hideFollowersCount () {\n return this.isOtherUser && this.user.hide_followers_count\n },\n ...mapGetters(['mergedConfig'])\n },\n components: {\n UserAvatar,\n RemoteFollow,\n ModerationTools,\n AccountActions,\n ProgressButton,\n FollowButton,\n Select,\n RichContent\n },\n methods: {\n refetchRelationship () {\n return this.$store.dispatch('fetchUserRelationship', this.user.id)\n },\n muteUser () {\n this.$store.dispatch('muteUser', this.user.id)\n },\n unmuteUser () {\n this.$store.dispatch('unmuteUser', this.user.id)\n },\n muteDomain () {\n this.$store.dispatch('muteDomain', this.user.screen_name.split('@')[1])\n .then(() => this.refetchRelationship())\n },\n unmuteDomain () {\n this.$store.dispatch('unmuteDomain', this.user.screen_name.split('@')[1])\n .then(() => this.refetchRelationship())\n },\n subscribeUser () {\n return this.$store.dispatch('subscribeUser', this.user.id)\n },\n unsubscribeUser () {\n return this.$store.dispatch('unsubscribeUser', this.user.id)\n },\n setProfileView (v) {\n if (this.switcher) {\n const store = this.$store\n store.commit('setProfileView', { v })\n }\n },\n linkClicked ({ target }) {\n if (target.tagName === 'SPAN') {\n target = target.parentNode\n }\n if (target.tagName === 'A') {\n window.open(target.href, '_blank')\n }\n },\n userProfileLink (user) {\n return generateProfileLink(\n user.id, user.screen_name,\n this.$store.state.instance.restrictedNicknames\n )\n },\n openProfileTab () {\n this.$store.dispatch('openSettingsModalTab', 'profile')\n },\n zoomAvatar () {\n const attachment = {\n url: this.user.profile_image_url_original,\n mimetype: 'image'\n }\n this.$store.dispatch('setMedia', [attachment])\n this.$store.dispatch('setCurrentMedia', attachment)\n },\n mentionUser () {\n this.$store.dispatch('openPostStatusModal', { replyTo: true, repliedUser: this.user })\n }\n }\n}\n","import { render } from \"./user_card.vue?vue&type=template&id=3cf2819d\"\nimport script from \"./user_card.js?vue&type=script&lang=js\"\nexport * from \"./user_card.js?vue&type=script&lang=js\"\n\nimport \"./user_card.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { invertLightness, brightness } from 'chromatism'\nimport { alphaBlend, mixrgb } from '../color_convert/color_convert.js'\n/* This is a definition of all layer combinations\n * each key is a topmost layer, each value represents layer underneath\n * this is essentially a simplified tree\n */\nexport const LAYERS = {\n undelay: null, // root\n topBar: null, // no transparency support\n badge: null, // no transparency support\n profileTint: null, // doesn't matter\n fg: null,\n bg: 'underlay',\n highlight: 'bg',\n panel: 'bg',\n popover: 'bg',\n selectedMenu: 'popover',\n btn: 'bg',\n btnPanel: 'panel',\n btnTopBar: 'topBar',\n input: 'bg',\n inputPanel: 'panel',\n inputTopBar: 'topBar',\n alert: 'bg',\n alertPanel: 'panel',\n poll: 'bg',\n chatBg: 'underlay',\n chatMessage: 'chatBg'\n}\n\n/* By default opacity slots have 1 as default opacity\n * this allows redefining it to something else\n */\nexport const DEFAULT_OPACITY = {\n profileTint: 0.5,\n alert: 0.5,\n input: 0.5,\n faint: 0.5,\n underlay: 0.15,\n alertPopup: 0.95\n}\n\n/** SUBJECT TO CHANGE IN THE FUTURE, this is all beta\n * Color and opacity slots definitions. Each key represents a slot.\n *\n * Short-hands:\n * String beginning with `--` - value after dashes treated as sole\n * dependency - i.e. `--value` equivalent to { depends: ['value']}\n * String beginning with `#` - value would be treated as solid color\n * defined in hexadecimal representation (i.e. #FFFFFF) and will be\n * used as default. `#FFFFFF` is equivalent to { default: '#FFFFFF'}\n *\n * Full definition:\n * @property {String[]} depends - color slot names this color depends ones.\n * cyclic dependencies are supported to some extent but not recommended.\n * @property {String} [opacity] - opacity slot used by this color slot.\n * opacity is inherited from parents. To break inheritance graph use null\n * @property {Number} [priority] - EXPERIMENTAL. used to pre-sort slots so\n * that slots with higher priority come earlier\n * @property {Function(mod, ...colors)} [color] - function that will be\n * used to determine the color. By default it just copies first color in\n * dependency list.\n * @argument {Number} mod - `1` (light-on-dark) or `-1` (dark-on-light)\n * depending on background color (for textColor)/given color.\n * @argument {...Object} deps - each argument after mod represents each\n * color from `depends` array. All colors take user customizations into\n * account and represented by { r, g, b } objects.\n * @returns {Object} resulting color, should be in { r, g, b } form\n *\n * @property {Boolean|String} [textColor] - true to mark color slot as text\n * color. This enables automatic text color generation for the slot. Use\n * 'preserve' string if you don't want text color to fall back to\n * black/white. Use 'bw' to only ever use black or white. This also makes\n * following properties required:\n * @property {String} [layer] - which layer the text sit on top on - used\n * to account for transparency in text color calculation\n * layer is inherited from parents. To break inheritance graph use null\n * @property {String} [variant] - which color slot is background (same as\n * above, used to account for transparency)\n */\nexport const SLOT_INHERITANCE = {\n bg: {\n depends: [],\n opacity: 'bg',\n priority: 1\n },\n wallpaper: {\n depends: ['bg'],\n color: (mod, bg) => brightness(-2 * mod, bg).rgb\n },\n fg: {\n depends: [],\n priority: 1\n },\n text: {\n depends: [],\n layer: 'bg',\n opacity: null,\n priority: 1\n },\n underlay: {\n default: '#000000',\n opacity: 'underlay'\n },\n link: {\n depends: ['accent'],\n priority: 1\n },\n accent: {\n depends: ['link'],\n priority: 1\n },\n faint: {\n depends: ['text'],\n opacity: 'faint'\n },\n faintLink: {\n depends: ['link'],\n opacity: 'faint'\n },\n postFaintLink: {\n depends: ['postLink'],\n opacity: 'faint'\n },\n\n cBlue: '#0000ff',\n cRed: '#FF0000',\n cGreen: '#00FF00',\n cOrange: '#E3FF00',\n\n profileBg: {\n depends: ['bg'],\n color: (mod, bg) => ({\n r: Math.floor(bg.r * 0.53),\n g: Math.floor(bg.g * 0.56),\n b: Math.floor(bg.b * 0.59)\n })\n },\n profileTint: {\n depends: ['bg'],\n layer: 'profileTint',\n opacity: 'profileTint'\n },\n\n highlight: {\n depends: ['bg'],\n color: (mod, bg) => brightness(5 * mod, bg).rgb\n },\n highlightLightText: {\n depends: ['lightText'],\n layer: 'highlight',\n textColor: true\n },\n highlightPostLink: {\n depends: ['postLink'],\n layer: 'highlight',\n textColor: 'preserve'\n },\n highlightFaintText: {\n depends: ['faint'],\n layer: 'highlight',\n textColor: true\n },\n highlightFaintLink: {\n depends: ['faintLink'],\n layer: 'highlight',\n textColor: 'preserve'\n },\n highlightPostFaintLink: {\n depends: ['postFaintLink'],\n layer: 'highlight',\n textColor: 'preserve'\n },\n highlightText: {\n depends: ['text'],\n layer: 'highlight',\n textColor: true\n },\n highlightLink: {\n depends: ['link'],\n layer: 'highlight',\n textColor: 'preserve'\n },\n highlightIcon: {\n depends: ['highlight', 'highlightText'],\n color: (mod, bg, text) => mixrgb(bg, text)\n },\n\n popover: {\n depends: ['bg'],\n opacity: 'popover'\n },\n popoverLightText: {\n depends: ['lightText'],\n layer: 'popover',\n textColor: true\n },\n popoverPostLink: {\n depends: ['postLink'],\n layer: 'popover',\n textColor: 'preserve'\n },\n popoverFaintText: {\n depends: ['faint'],\n layer: 'popover',\n textColor: true\n },\n popoverFaintLink: {\n depends: ['faintLink'],\n layer: 'popover',\n textColor: 'preserve'\n },\n popoverPostFaintLink: {\n depends: ['postFaintLink'],\n layer: 'popover',\n textColor: 'preserve'\n },\n popoverText: {\n depends: ['text'],\n layer: 'popover',\n textColor: true\n },\n popoverLink: {\n depends: ['link'],\n layer: 'popover',\n textColor: 'preserve'\n },\n popoverIcon: {\n depends: ['popover', 'popoverText'],\n color: (mod, bg, text) => mixrgb(bg, text)\n },\n\n selectedPost: '--highlight',\n selectedPostFaintText: {\n depends: ['highlightFaintText'],\n layer: 'highlight',\n variant: 'selectedPost',\n textColor: true\n },\n selectedPostLightText: {\n depends: ['highlightLightText'],\n layer: 'highlight',\n variant: 'selectedPost',\n textColor: true\n },\n selectedPostPostLink: {\n depends: ['highlightPostLink'],\n layer: 'highlight',\n variant: 'selectedPost',\n textColor: 'preserve'\n },\n selectedPostFaintLink: {\n depends: ['highlightFaintLink'],\n layer: 'highlight',\n variant: 'selectedPost',\n textColor: 'preserve'\n },\n selectedPostText: {\n depends: ['highlightText'],\n layer: 'highlight',\n variant: 'selectedPost',\n textColor: true\n },\n selectedPostLink: {\n depends: ['highlightLink'],\n layer: 'highlight',\n variant: 'selectedPost',\n textColor: 'preserve'\n },\n selectedPostIcon: {\n depends: ['selectedPost', 'selectedPostText'],\n color: (mod, bg, text) => mixrgb(bg, text)\n },\n\n selectedMenu: {\n depends: ['bg'],\n color: (mod, bg) => brightness(5 * mod, bg).rgb\n },\n selectedMenuLightText: {\n depends: ['highlightLightText'],\n layer: 'selectedMenu',\n variant: 'selectedMenu',\n textColor: true\n },\n selectedMenuFaintText: {\n depends: ['highlightFaintText'],\n layer: 'selectedMenu',\n variant: 'selectedMenu',\n textColor: true\n },\n selectedMenuFaintLink: {\n depends: ['highlightFaintLink'],\n layer: 'selectedMenu',\n variant: 'selectedMenu',\n textColor: 'preserve'\n },\n selectedMenuText: {\n depends: ['highlightText'],\n layer: 'selectedMenu',\n variant: 'selectedMenu',\n textColor: true\n },\n selectedMenuLink: {\n depends: ['highlightLink'],\n layer: 'selectedMenu',\n variant: 'selectedMenu',\n textColor: 'preserve'\n },\n selectedMenuIcon: {\n depends: ['selectedMenu', 'selectedMenuText'],\n color: (mod, bg, text) => mixrgb(bg, text)\n },\n\n selectedMenuPopover: {\n depends: ['popover'],\n color: (mod, bg) => brightness(5 * mod, bg).rgb\n },\n selectedMenuPopoverLightText: {\n depends: ['selectedMenuLightText'],\n layer: 'selectedMenuPopover',\n variant: 'selectedMenuPopover',\n textColor: true\n },\n selectedMenuPopoverFaintText: {\n depends: ['selectedMenuFaintText'],\n layer: 'selectedMenuPopover',\n variant: 'selectedMenuPopover',\n textColor: true\n },\n selectedMenuPopoverFaintLink: {\n depends: ['selectedMenuFaintLink'],\n layer: 'selectedMenuPopover',\n variant: 'selectedMenuPopover',\n textColor: 'preserve'\n },\n selectedMenuPopoverText: {\n depends: ['selectedMenuText'],\n layer: 'selectedMenuPopover',\n variant: 'selectedMenuPopover',\n textColor: true\n },\n selectedMenuPopoverLink: {\n depends: ['selectedMenuLink'],\n layer: 'selectedMenuPopover',\n variant: 'selectedMenuPopover',\n textColor: 'preserve'\n },\n selectedMenuPopoverIcon: {\n depends: ['selectedMenuPopover', 'selectedMenuText'],\n color: (mod, bg, text) => mixrgb(bg, text)\n },\n\n lightText: {\n depends: ['text'],\n layer: 'bg',\n textColor: 'preserve',\n color: (mod, text) => brightness(20 * mod, text).rgb\n },\n\n postLink: {\n depends: ['link'],\n layer: 'bg',\n textColor: 'preserve'\n },\n\n postGreentext: {\n depends: ['cGreen'],\n layer: 'bg',\n textColor: 'preserve'\n },\n\n postCyantext: {\n depends: ['cBlue'],\n layer: 'bg',\n textColor: 'preserve'\n },\n\n border: {\n depends: ['fg'],\n opacity: 'border',\n color: (mod, fg) => brightness(2 * mod, fg).rgb\n },\n\n poll: {\n depends: ['accent', 'bg'],\n copacity: 'poll',\n color: (mod, accent, bg) => alphaBlend(accent, 0.4, bg)\n },\n pollText: {\n depends: ['text'],\n layer: 'poll',\n textColor: true\n },\n\n icon: {\n depends: ['bg', 'text'],\n inheritsOpacity: false,\n color: (mod, bg, text) => mixrgb(bg, text)\n },\n\n // Foreground\n fgText: {\n depends: ['text'],\n layer: 'fg',\n textColor: true\n },\n fgLink: {\n depends: ['link'],\n layer: 'fg',\n textColor: 'preserve'\n },\n\n // Panel header\n panel: {\n depends: ['fg'],\n opacity: 'panel'\n },\n panelText: {\n depends: ['text'],\n layer: 'panel',\n textColor: true\n },\n panelFaint: {\n depends: ['fgText'],\n layer: 'panel',\n opacity: 'faint',\n textColor: true\n },\n panelLink: {\n depends: ['fgLink'],\n layer: 'panel',\n textColor: 'preserve'\n },\n\n // Top bar\n topBar: '--fg',\n topBarText: {\n depends: ['fgText'],\n layer: 'topBar',\n textColor: true\n },\n topBarLink: {\n depends: ['fgLink'],\n layer: 'topBar',\n textColor: 'preserve'\n },\n\n // Tabs\n tab: {\n depends: ['btn']\n },\n tabText: {\n depends: ['btnText'],\n layer: 'btn',\n textColor: true\n },\n tabActiveText: {\n depends: ['text'],\n layer: 'bg',\n textColor: true\n },\n\n // Buttons\n btn: {\n depends: ['fg'],\n variant: 'btn',\n opacity: 'btn'\n },\n btnText: {\n depends: ['fgText'],\n layer: 'btn',\n textColor: true\n },\n btnPanelText: {\n depends: ['btnText'],\n layer: 'btnPanel',\n variant: 'btn',\n textColor: true\n },\n btnTopBarText: {\n depends: ['btnText'],\n layer: 'btnTopBar',\n variant: 'btn',\n textColor: true\n },\n\n // Buttons: pressed\n btnPressed: {\n depends: ['btn'],\n layer: 'btn'\n },\n btnPressedText: {\n depends: ['btnText'],\n layer: 'btn',\n variant: 'btnPressed',\n textColor: true\n },\n btnPressedPanel: {\n depends: ['btnPressed'],\n layer: 'btn'\n },\n btnPressedPanelText: {\n depends: ['btnPanelText'],\n layer: 'btnPanel',\n variant: 'btnPressed',\n textColor: true\n },\n btnPressedTopBar: {\n depends: ['btnPressed'],\n layer: 'btn'\n },\n btnPressedTopBarText: {\n depends: ['btnTopBarText'],\n layer: 'btnTopBar',\n variant: 'btnPressed',\n textColor: true\n },\n\n // Buttons: toggled\n btnToggled: {\n depends: ['btn'],\n layer: 'btn',\n color: (mod, btn) => brightness(mod * 20, btn).rgb\n },\n btnToggledText: {\n depends: ['btnText'],\n layer: 'btn',\n variant: 'btnToggled',\n textColor: true\n },\n btnToggledPanelText: {\n depends: ['btnPanelText'],\n layer: 'btnPanel',\n variant: 'btnToggled',\n textColor: true\n },\n btnToggledTopBarText: {\n depends: ['btnTopBarText'],\n layer: 'btnTopBar',\n variant: 'btnToggled',\n textColor: true\n },\n\n // Buttons: disabled\n btnDisabled: {\n depends: ['btn', 'bg'],\n color: (mod, btn, bg) => alphaBlend(btn, 0.25, bg)\n },\n btnDisabledText: {\n depends: ['btnText', 'btnDisabled'],\n layer: 'btn',\n variant: 'btnDisabled',\n color: (mod, text, btn) => alphaBlend(text, 0.25, btn)\n },\n btnDisabledPanelText: {\n depends: ['btnPanelText', 'btnDisabled'],\n layer: 'btnPanel',\n variant: 'btnDisabled',\n color: (mod, text, btn) => alphaBlend(text, 0.25, btn)\n },\n btnDisabledTopBarText: {\n depends: ['btnTopBarText', 'btnDisabled'],\n layer: 'btnTopBar',\n variant: 'btnDisabled',\n color: (mod, text, btn) => alphaBlend(text, 0.25, btn)\n },\n\n // Input fields\n input: {\n depends: ['fg'],\n opacity: 'input'\n },\n inputText: {\n depends: ['text'],\n layer: 'input',\n textColor: true\n },\n inputPanelText: {\n depends: ['panelText'],\n layer: 'inputPanel',\n variant: 'input',\n textColor: true\n },\n inputTopbarText: {\n depends: ['topBarText'],\n layer: 'inputTopBar',\n variant: 'input',\n textColor: true\n },\n\n alertError: {\n depends: ['cRed'],\n opacity: 'alert'\n },\n alertErrorText: {\n depends: ['text'],\n layer: 'alert',\n variant: 'alertError',\n textColor: true\n },\n alertErrorPanelText: {\n depends: ['panelText'],\n layer: 'alertPanel',\n variant: 'alertError',\n textColor: true\n },\n\n alertWarning: {\n depends: ['cOrange'],\n opacity: 'alert'\n },\n alertWarningText: {\n depends: ['text'],\n layer: 'alert',\n variant: 'alertWarning',\n textColor: true\n },\n alertWarningPanelText: {\n depends: ['panelText'],\n layer: 'alertPanel',\n variant: 'alertWarning',\n textColor: true\n },\n\n alertSuccess: {\n depends: ['cGreen'],\n opacity: 'alert'\n },\n alertSuccessText: {\n depends: ['text'],\n layer: 'alert',\n variant: 'alertSuccess',\n textColor: true\n },\n alertSuccessPanelText: {\n depends: ['panelText'],\n layer: 'alertPanel',\n variant: 'alertSuccess',\n textColor: true\n },\n\n alertNeutral: {\n depends: ['text'],\n opacity: 'alert'\n },\n alertNeutralText: {\n depends: ['text'],\n layer: 'alert',\n variant: 'alertNeutral',\n color: (mod, text) => invertLightness(text).rgb,\n textColor: true\n },\n alertNeutralPanelText: {\n depends: ['panelText'],\n layer: 'alertPanel',\n variant: 'alertNeutral',\n textColor: true\n },\n\n alertPopupError: {\n depends: ['alertError'],\n opacity: 'alertPopup'\n },\n alertPopupErrorText: {\n depends: ['alertErrorText'],\n layer: 'popover',\n variant: 'alertPopupError',\n textColor: true\n },\n\n alertPopupWarning: {\n depends: ['alertWarning'],\n opacity: 'alertPopup'\n },\n alertPopupWarningText: {\n depends: ['alertWarningText'],\n layer: 'popover',\n variant: 'alertPopupWarning',\n textColor: true\n },\n\n alertPopupSuccess: {\n depends: ['alertSuccess'],\n opacity: 'alertPopup'\n },\n alertPopupSuccessText: {\n depends: ['alertSuccessText'],\n layer: 'popover',\n variant: 'alertPopupSuccess',\n textColor: true\n },\n\n alertPopupNeutral: {\n depends: ['alertNeutral'],\n opacity: 'alertPopup'\n },\n alertPopupNeutralText: {\n depends: ['alertNeutralText'],\n layer: 'popover',\n variant: 'alertPopupNeutral',\n textColor: true\n },\n\n badgeNotification: '--cRed',\n badgeNotificationText: {\n depends: ['text', 'badgeNotification'],\n layer: 'badge',\n variant: 'badgeNotification',\n textColor: 'bw'\n },\n\n chatBg: {\n depends: ['bg']\n },\n\n chatMessageIncomingBg: {\n depends: ['chatBg']\n },\n\n chatMessageIncomingText: {\n depends: ['text'],\n layer: 'chatMessage',\n variant: 'chatMessageIncomingBg',\n textColor: true\n },\n\n chatMessageIncomingLink: {\n depends: ['link'],\n layer: 'chatMessage',\n variant: 'chatMessageIncomingBg',\n textColor: 'preserve'\n },\n\n chatMessageIncomingBorder: {\n depends: ['border'],\n opacity: 'border',\n color: (mod, border) => brightness(2 * mod, border).rgb\n },\n\n chatMessageOutgoingBg: {\n depends: ['chatMessageIncomingBg'],\n color: (mod, chatMessage) => brightness(5 * mod, chatMessage).rgb\n },\n\n chatMessageOutgoingText: {\n depends: ['text'],\n layer: 'chatMessage',\n variant: 'chatMessageOutgoingBg',\n textColor: true\n },\n\n chatMessageOutgoingLink: {\n depends: ['link'],\n layer: 'chatMessage',\n variant: 'chatMessageOutgoingBg',\n textColor: 'preserve'\n },\n\n chatMessageOutgoingBorder: {\n depends: ['chatMessageOutgoingBg'],\n opacity: 'border',\n color: (mod, border) => brightness(2 * mod, border).rgb\n }\n}\n","import languagesObject from '../../i18n/messages'\nimport ISO6391 from 'iso-639-1'\nimport _ from 'lodash'\n\nconst specialLanguageCodes = {\n 'ja_easy': 'ja',\n 'zh_Hant': 'zh-HANT',\n 'zh': 'zh-Hans'\n}\n\nconst internalToBrowserLocale = code => specialLanguageCodes[code] || code\n\nconst internalToBackendLocale = code => internalToBrowserLocale(code).replace('_', '-')\n\nconst getLanguageName = (code) => {\n const specialLanguageNames = {\n 'ja_easy': 'やさしいにほんご',\n 'zh': '简体中文',\n 'zh_Hant': '繁體中文'\n }\n const languageName = specialLanguageNames[code] || ISO6391.getNativeName(code)\n const browserLocale = internalToBrowserLocale(code)\n return languageName.charAt(0).toLocaleUpperCase(browserLocale) + languageName.slice(1)\n}\n\nconst languages = _.map(languagesObject.languages, (code) => ({ code: code, name: getLanguageName(code) })).sort((a, b) => a.name.localeCompare(b.name))\n\nconst localeService = {\n internalToBrowserLocale,\n internalToBackendLocale,\n languages,\n getLanguageName\n}\n\nexport default localeService\n","import { convert } from 'chromatism'\nimport { rgb2hex, hex2rgb, rgba2css, getCssColor, relativeLuminance } from '../color_convert/color_convert.js'\nimport { getColors, computeDynamicColor, getOpacitySlot } from '../theme_data/theme_data.service.js'\n\nexport const applyTheme = (input) => {\n const { rules } = generatePreset(input)\n const head = document.head\n const body = document.body\n body.classList.add('hidden')\n\n const styleEl = document.createElement('style')\n head.appendChild(styleEl)\n const styleSheet = styleEl.sheet\n\n styleSheet.toString()\n styleSheet.insertRule(`:root { ${rules.radii} }`, 'index-max')\n styleSheet.insertRule(`:root { ${rules.colors} }`, 'index-max')\n styleSheet.insertRule(`:root { ${rules.shadows} }`, 'index-max')\n styleSheet.insertRule(`:root { ${rules.fonts} }`, 'index-max')\n body.classList.remove('hidden')\n}\n\nexport const getCssShadow = (input, usesDropShadow) => {\n if (input.length === 0) {\n return 'none'\n }\n\n return input\n .filter(_ => usesDropShadow ? _.inset : _)\n .map((shad) => [\n shad.x,\n shad.y,\n shad.blur,\n shad.spread\n ].map(_ => _ + 'px').concat([\n getCssColor(shad.color, shad.alpha),\n shad.inset ? 'inset' : ''\n ]).join(' ')).join(', ')\n}\n\nconst getCssShadowFilter = (input) => {\n if (input.length === 0) {\n return 'none'\n }\n\n return input\n // drop-shadow doesn't support inset or spread\n .filter((shad) => !shad.inset && Number(shad.spread) === 0)\n .map((shad) => [\n shad.x,\n shad.y,\n // drop-shadow's blur is twice as strong compared to box-shadow\n shad.blur / 2\n ].map(_ => _ + 'px').concat([\n getCssColor(shad.color, shad.alpha)\n ]).join(' '))\n .map(_ => `drop-shadow(${_})`)\n .join(' ')\n}\n\nexport const generateColors = (themeData) => {\n const sourceColors = !themeData.themeEngineVersion\n ? colors2to3(themeData.colors || themeData)\n : themeData.colors || themeData\n\n const { colors, opacity } = getColors(sourceColors, themeData.opacity || {})\n\n const htmlColors = Object.entries(colors)\n .reduce((acc, [k, v]) => {\n if (!v) return acc\n acc.solid[k] = rgb2hex(v)\n acc.complete[k] = typeof v.a === 'undefined' ? rgb2hex(v) : rgba2css(v)\n return acc\n }, { complete: {}, solid: {} })\n return {\n rules: {\n colors: Object.entries(htmlColors.complete)\n .filter(([k, v]) => v)\n .map(([k, v]) => `--${k}: ${v}`)\n .join(';')\n },\n theme: {\n colors: htmlColors.solid,\n opacity\n }\n }\n}\n\nexport const generateRadii = (input) => {\n let inputRadii = input.radii || {}\n // v1 -> v2\n if (typeof input.btnRadius !== 'undefined') {\n inputRadii = Object\n .entries(input)\n .filter(([k, v]) => k.endsWith('Radius'))\n .reduce((acc, e) => { acc[e[0].split('Radius')[0]] = e[1]; return acc }, {})\n }\n const radii = Object.entries(inputRadii).filter(([k, v]) => v).reduce((acc, [k, v]) => {\n acc[k] = v\n return acc\n }, {\n btn: 4,\n input: 4,\n checkbox: 2,\n panel: 10,\n avatar: 5,\n avatarAlt: 50,\n tooltip: 2,\n attachment: 5,\n chatMessage: inputRadii.panel\n })\n\n return {\n rules: {\n radii: Object.entries(radii).filter(([k, v]) => v).map(([k, v]) => `--${k}Radius: ${v}px`).join(';')\n },\n theme: {\n radii\n }\n }\n}\n\nexport const generateFonts = (input) => {\n const fonts = Object.entries(input.fonts || {}).filter(([k, v]) => v).reduce((acc, [k, v]) => {\n acc[k] = Object.entries(v).filter(([k, v]) => v).reduce((acc, [k, v]) => {\n acc[k] = v\n return acc\n }, acc[k])\n return acc\n }, {\n interface: {\n family: 'sans-serif'\n },\n input: {\n family: 'inherit'\n },\n post: {\n family: 'inherit'\n },\n postCode: {\n family: 'monospace'\n }\n })\n\n return {\n rules: {\n fonts: Object\n .entries(fonts)\n .filter(([k, v]) => v)\n .map(([k, v]) => `--${k}Font: ${v.family}`).join(';')\n },\n theme: {\n fonts\n }\n }\n}\n\nconst border = (top, shadow) => ({\n x: 0,\n y: top ? 1 : -1,\n blur: 0,\n spread: 0,\n color: shadow ? '#000000' : '#FFFFFF',\n alpha: 0.2,\n inset: true\n})\nconst buttonInsetFakeBorders = [border(true, false), border(false, true)]\nconst inputInsetFakeBorders = [border(true, true), border(false, false)]\nconst hoverGlow = {\n x: 0,\n y: 0,\n blur: 4,\n spread: 0,\n color: '--faint',\n alpha: 1\n}\n\nexport const DEFAULT_SHADOWS = {\n panel: [{\n x: 1,\n y: 1,\n blur: 4,\n spread: 0,\n color: '#000000',\n alpha: 0.6\n }],\n topBar: [{\n x: 0,\n y: 0,\n blur: 4,\n spread: 0,\n color: '#000000',\n alpha: 0.6\n }],\n popup: [{\n x: 2,\n y: 2,\n blur: 3,\n spread: 0,\n color: '#000000',\n alpha: 0.5\n }],\n avatar: [{\n x: 0,\n y: 1,\n blur: 8,\n spread: 0,\n color: '#000000',\n alpha: 0.7\n }],\n avatarStatus: [],\n panelHeader: [],\n button: [{\n x: 0,\n y: 0,\n blur: 2,\n spread: 0,\n color: '#000000',\n alpha: 1\n }, ...buttonInsetFakeBorders],\n buttonHover: [hoverGlow, ...buttonInsetFakeBorders],\n buttonPressed: [hoverGlow, ...inputInsetFakeBorders],\n input: [...inputInsetFakeBorders, {\n x: 0,\n y: 0,\n blur: 2,\n inset: true,\n spread: 0,\n color: '#000000',\n alpha: 1\n }]\n}\nexport const generateShadows = (input, colors) => {\n // TODO this is a small hack for `mod` to work with shadows\n // this is used to get the \"context\" of shadow, i.e. for `mod` properly depend on background color of element\n const hackContextDict = {\n button: 'btn',\n panel: 'bg',\n top: 'topBar',\n popup: 'popover',\n avatar: 'bg',\n panelHeader: 'panel',\n input: 'input'\n }\n\n const cleanInputShadows = Object.fromEntries(\n Object.entries(input.shadows || {})\n .map(([name, shadowSlot]) => [\n name,\n // defaulting color to black to avoid potential problems\n shadowSlot.map(shadowDef => ({ color: '#000000', ...shadowDef }))\n ])\n )\n const inputShadows = cleanInputShadows && !input.themeEngineVersion\n ? shadows2to3(cleanInputShadows, input.opacity)\n : cleanInputShadows || {}\n const shadows = Object.entries({\n ...DEFAULT_SHADOWS,\n ...inputShadows\n }).reduce((shadowsAcc, [slotName, shadowDefs]) => {\n const slotFirstWord = slotName.replace(/[A-Z].*$/, '')\n const colorSlotName = hackContextDict[slotFirstWord]\n const isLightOnDark = relativeLuminance(convert(colors[colorSlotName]).rgb) < 0.5\n const mod = isLightOnDark ? 1 : -1\n const newShadow = shadowDefs.reduce((shadowAcc, def) => [\n ...shadowAcc,\n {\n ...def,\n color: rgb2hex(computeDynamicColor(\n def.color,\n (variableSlot) => convert(colors[variableSlot]).rgb,\n mod\n ))\n }\n ], [])\n return { ...shadowsAcc, [slotName]: newShadow }\n }, {})\n\n return {\n rules: {\n shadows: Object\n .entries(shadows)\n // TODO for v2.2: if shadow doesn't have non-inset shadows with spread > 0 - optionally\n // convert all non-inset shadows into filter: drop-shadow() to boost performance\n .map(([k, v]) => [\n `--${k}Shadow: ${getCssShadow(v)}`,\n `--${k}ShadowFilter: ${getCssShadowFilter(v)}`,\n `--${k}ShadowInset: ${getCssShadow(v, true)}`\n ].join(';'))\n .join(';')\n },\n theme: {\n shadows\n }\n }\n}\n\nexport const composePreset = (colors, radii, shadows, fonts) => {\n return {\n rules: {\n ...shadows.rules,\n ...colors.rules,\n ...radii.rules,\n ...fonts.rules\n },\n theme: {\n ...shadows.theme,\n ...colors.theme,\n ...radii.theme,\n ...fonts.theme\n }\n }\n}\n\nexport const generatePreset = (input) => {\n const colors = generateColors(input)\n return composePreset(\n colors,\n generateRadii(input),\n generateShadows(input, colors.theme.colors, colors.mod),\n generateFonts(input)\n )\n}\n\nexport const getThemes = () => {\n const cache = 'no-store'\n\n return window.fetch('/static/styles.json', { cache })\n .then((data) => data.json())\n .then((themes) => {\n return Object.entries(themes).map(([k, v]) => {\n let promise = null\n if (typeof v === 'object') {\n promise = Promise.resolve(v)\n } else if (typeof v === 'string') {\n promise = window.fetch(v, { cache })\n .then((data) => data.json())\n .catch((e) => {\n console.error(e)\n return null\n })\n }\n return [k, promise]\n })\n })\n .then((promises) => {\n return promises\n .reduce((acc, [k, v]) => {\n acc[k] = v\n return acc\n }, {})\n })\n}\nexport const colors2to3 = (colors) => {\n return Object.entries(colors).reduce((acc, [slotName, color]) => {\n const btnPositions = ['', 'Panel', 'TopBar']\n switch (slotName) {\n case 'lightBg':\n return { ...acc, highlight: color }\n case 'btnText':\n return {\n ...acc,\n ...btnPositions\n .reduce(\n (statePositionAcc, position) =>\n ({ ...statePositionAcc, ['btn' + position + 'Text']: color })\n , {}\n )\n }\n default:\n return { ...acc, [slotName]: color }\n }\n }, {})\n}\n\n/**\n * This handles compatibility issues when importing v2 theme's shadows to current format\n *\n * Back in v2 shadows allowed you to use dynamic colors however those used pure CSS3 variables\n */\nexport const shadows2to3 = (shadows, opacity) => {\n return Object.entries(shadows).reduce((shadowsAcc, [slotName, shadowDefs]) => {\n const isDynamic = ({ color = '#000000' }) => color.startsWith('--')\n const getOpacity = ({ color }) => opacity[getOpacitySlot(color.substring(2).split(',')[0])]\n const newShadow = shadowDefs.reduce((shadowAcc, def) => [\n ...shadowAcc,\n {\n ...def,\n alpha: isDynamic(def) ? getOpacity(def) || 1 : def.alpha\n }\n ], [])\n return { ...shadowsAcc, [slotName]: newShadow }\n }, {})\n}\n\nexport const getPreset = (val) => {\n return getThemes()\n .then((themes) => themes[val] ? themes[val] : themes['pleroma-dark'])\n .then((theme) => {\n const isV1 = Array.isArray(theme)\n const data = isV1 ? {} : theme.theme\n\n if (isV1) {\n const bg = hex2rgb(theme[1])\n const fg = hex2rgb(theme[2])\n const text = hex2rgb(theme[3])\n const link = hex2rgb(theme[4])\n\n const cRed = hex2rgb(theme[5] || '#FF0000')\n const cGreen = hex2rgb(theme[6] || '#00FF00')\n const cBlue = hex2rgb(theme[7] || '#0000FF')\n const cOrange = hex2rgb(theme[8] || '#E3FF00')\n\n data.colors = { bg, fg, text, link, cRed, cBlue, cGreen, cOrange }\n }\n\n return { theme: data, source: theme.source }\n })\n}\n\nexport const setPreset = (val) => getPreset(val).then(data => applyTheme(data.theme))\n","\n// promiseInterval - replacement for setInterval for promises, starts counting\n// the interval only after a promise is done instead of immediately.\n// - promiseCall is a function that returns a promise, it's called the first\n// time after the first interval.\n// - interval is the interval delay in ms.\n\nexport const promiseInterval = (promiseCall, interval) => {\n let stopped = false\n let timeout = null\n\n const func = () => {\n const promise = promiseCall()\n // something unexpected happened and promiseCall did not\n // return a promise, abort the loop.\n if (!(promise && promise.finally)) {\n console.warn('promiseInterval: promise call did not return a promise, stopping interval.')\n return\n }\n promise.finally(() => {\n if (stopped) return\n timeout = window.setTimeout(func, interval)\n })\n }\n\n const stopFetcher = () => {\n stopped = true\n window.clearTimeout(timeout)\n }\n\n timeout = window.setTimeout(func, interval)\n\n return { stop: stopFetcher }\n}\n","\n\n\n\n","\n\n\n\n\n","import Timeago from 'components/timeago/timeago.vue'\nimport RichContent from 'components/rich_content/rich_content.jsx'\nimport { forEach, map } from 'lodash'\n\nexport default {\n name: 'Poll',\n props: ['basePoll', 'emoji'],\n components: {\n Timeago,\n RichContent\n },\n data () {\n return {\n loading: false,\n choices: []\n }\n },\n created () {\n if (!this.$store.state.polls.pollsObject[this.pollId]) {\n this.$store.dispatch('mergeOrAddPoll', this.basePoll)\n }\n this.$store.dispatch('trackPoll', this.pollId)\n },\n unmounted () {\n this.$store.dispatch('untrackPoll', this.pollId)\n },\n computed: {\n pollId () {\n return this.basePoll.id\n },\n poll () {\n const storePoll = this.$store.state.polls.pollsObject[this.pollId]\n return storePoll || {}\n },\n options () {\n return (this.poll && this.poll.options) || []\n },\n expiresAt () {\n return (this.poll && this.poll.expires_at) || 0\n },\n expired () {\n return (this.poll && this.poll.expired) || false\n },\n loggedIn () {\n return this.$store.state.users.currentUser\n },\n showResults () {\n return this.poll.voted || this.expired || !this.loggedIn\n },\n totalVotesCount () {\n return this.poll.votes_count\n },\n containerClass () {\n return {\n loading: this.loading\n }\n },\n choiceIndices () {\n // Convert array of booleans into an array of indices of the\n // items that were 'true', so [true, false, false, true] becomes\n // [0, 3].\n return this.choices\n .map((entry, index) => entry && index)\n .filter(value => typeof value === 'number')\n },\n isDisabled () {\n const noChoice = this.choiceIndices.length === 0\n return this.loading || noChoice\n }\n },\n methods: {\n percentageForOption (count) {\n return this.totalVotesCount === 0 ? 0 : Math.round(count / this.totalVotesCount * 100)\n },\n resultTitle (option) {\n return `${option.votes_count}/${this.totalVotesCount} ${this.$t('polls.votes')}`\n },\n fetchPoll () {\n this.$store.dispatch('refreshPoll', { id: this.statusId, pollId: this.poll.id })\n },\n activateOption (index) {\n // forgive me father: doing checking the radio/checkboxes\n // in code because of customized input elements need either\n // a) an extra element for the actual graphic, or b) use a\n // pseudo element for the label. We use b) which mandates\n // using \"for\" and \"id\" matching which isn't nice when the\n // same poll appears multiple times on the site (notifs and\n // timeline for example). With code we can make sure it just\n // works without altering the pseudo element implementation.\n const allElements = this.$el.querySelectorAll('input')\n const clickedElement = this.$el.querySelector(`input[value=\"${index}\"]`)\n if (this.poll.multiple) {\n // Checkboxes, toggle only the clicked one\n clickedElement.checked = !clickedElement.checked\n } else {\n // Radio button, uncheck everything and check the clicked one\n forEach(allElements, element => { element.checked = false })\n clickedElement.checked = true\n }\n this.choices = map(allElements, e => e.checked)\n },\n optionId (index) {\n return `poll${this.poll.id}-${index}`\n },\n vote () {\n if (this.choiceIndices.length === 0) return\n this.loading = true\n this.$store.dispatch(\n 'votePoll',\n { id: this.statusId, pollId: this.poll.id, choices: this.choiceIndices }\n ).then(poll => {\n this.loading = false\n })\n }\n }\n}\n","import { render } from \"./poll.vue?vue&type=template&id=5e9dea28\"\nimport script from \"./poll.js?vue&type=script&lang=js\"\nexport * from \"./poll.js?vue&type=script&lang=js\"\n\nimport \"./poll.vue?vue&type=style&index=0&id=5e9dea28&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","const StillImage = {\n props: [\n 'src',\n 'referrerpolicy',\n 'mimetype',\n 'imageLoadError',\n 'imageLoadHandler',\n 'alt',\n 'height',\n 'width'\n ],\n data () {\n return {\n stopGifs: this.$store.getters.mergedConfig.stopGifs\n }\n },\n computed: {\n animated () {\n return this.stopGifs && (this.mimetype === 'image/gif' || this.src.endsWith('.gif'))\n },\n style () {\n const appendPx = (str) => /\\d$/.test(str) ? str + 'px' : str\n return {\n height: this.height ? appendPx(this.height) : null,\n width: this.width ? appendPx(this.width) : null\n }\n }\n },\n methods: {\n onLoad () {\n const image = this.$refs.src\n if (!image) return\n this.imageLoadHandler && this.imageLoadHandler(image)\n const canvas = this.$refs.canvas\n if (!canvas) return\n const width = image.naturalWidth\n const height = image.naturalHeight\n canvas.width = width\n canvas.height = height\n canvas.getContext('2d').drawImage(image, 0, 0, width, height)\n },\n onError () {\n this.imageLoadError && this.imageLoadError()\n }\n }\n}\n\nexport default StillImage\n","import { render } from \"./still-image.vue?vue&type=template&id=4da90e4a\"\nimport script from \"./still-image.js?vue&type=script&lang=js\"\nexport * from \"./still-image.js?vue&type=script&lang=js\"\n\nimport \"./still-image.vue?vue&type=style&index=0&id=4da90e4a&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./checkbox.vue?vue&type=template&id=deb5bfe6\"\nimport script from \"./checkbox.vue?vue&type=script&lang=js\"\nexport * from \"./checkbox.vue?vue&type=script&lang=js\"\n\nimport \"./checkbox.vue?vue&type=style&index=0&id=deb5bfe6&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faChevronDown\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faChevronDown\n)\n\nexport default {\n emits: ['update:modelValue'],\n props: [\n 'modelValue',\n 'disabled',\n 'unstyled',\n 'kind'\n ]\n}\n","import { render } from \"./select.vue?vue&type=template&id=099d3e32\"\nimport script from \"./select.js?vue&type=script&lang=js\"\nexport * from \"./select.js?vue&type=script&lang=js\"\n\nimport \"./select.vue?vue&type=style&index=0&id=099d3e32&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import UserCard from '../user_card/user_card.vue'\nimport UserAvatar from '../user_avatar/user_avatar.vue'\nimport RichContent from 'src/components/rich_content/rich_content.jsx'\nimport generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\n\nconst BasicUserCard = {\n props: [\n 'user'\n ],\n data () {\n return {\n userExpanded: false\n }\n },\n components: {\n UserCard,\n UserAvatar,\n RichContent\n },\n methods: {\n toggleUserExpanded () {\n this.userExpanded = !this.userExpanded\n },\n userProfileLink (user) {\n return generateProfileLink(user.id, user.screen_name, this.$store.state.instance.restrictedNicknames)\n }\n }\n}\n\nexport default BasicUserCard\n","import { render } from \"./basic_user_card.vue?vue&type=template&id=dd332bac\"\nimport script from \"./basic_user_card.js?vue&type=script&lang=js\"\nexport * from \"./basic_user_card.js?vue&type=script&lang=js\"\n\nimport \"./basic_user_card.vue?vue&type=style&index=0&id=dd332bac&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { convert, brightness, contrastRatio } from 'chromatism'\nimport { alphaBlendLayers, getTextColor, relativeLuminance } from '../color_convert/color_convert.js'\nimport { LAYERS, DEFAULT_OPACITY, SLOT_INHERITANCE } from './pleromafe.js'\n\n/*\n * # What's all this?\n * Here be theme engine for pleromafe. All of this supposed to ease look\n * and feel customization, making widget styles and make developer's life\n * easier when it comes to supporting themes. Like many other theme systems\n * it operates on color definitions, or \"slots\" - for example you define\n * \"button\" color slot and then in UI component Button's CSS you refer to\n * it as a CSS3 Variable.\n *\n * Some applications allow you to customize colors for certain things.\n * Some UI toolkits allow you to define colors for each type of widget.\n * Most of them are pretty barebones and have no assistance for common\n * problems and cases, and in general themes themselves are very hard to\n * maintain in all aspects. This theme engine tries to solve all of the\n * common problems with themes.\n *\n * You don't have redefine several similar colors if you just want to\n * change one color - all color slots are derived from other ones, so you\n * can have at least one or two \"basic\" colors defined and have all other\n * components inherit and modify basic ones.\n *\n * You don't have to test contrast ratio for colors or pick text color for\n * each element even if you have light-on-dark elements in dark-on-light\n * theme.\n *\n * You don't have to maintain order of code for inheriting slots from othet\n * slots - dependency graph resolving does it for you.\n */\n\n/* This indicates that this version of code outputs similar theme data and\n * should be incremented if output changes - for instance if getTextColor\n * function changes and older themes no longer render text colors as\n * author intended previously.\n */\nexport const CURRENT_VERSION = 3\n\nexport const getLayersArray = (layer, data = LAYERS) => {\n let array = [layer]\n let parent = data[layer]\n while (parent) {\n array.unshift(parent)\n parent = data[parent]\n }\n return array\n}\n\nexport const getLayers = (layer, variant = layer, opacitySlot, colors, opacity) => {\n return getLayersArray(layer).map((currentLayer) => ([\n currentLayer === layer\n ? colors[variant]\n : colors[currentLayer],\n currentLayer === layer\n ? opacity[opacitySlot] || 1\n : opacity[currentLayer]\n ]))\n}\n\nconst getDependencies = (key, inheritance) => {\n const data = inheritance[key]\n if (typeof data === 'string' && data.startsWith('--')) {\n return [data.substring(2)]\n } else {\n if (data === null) return []\n const { depends, layer, variant } = data\n const layerDeps = layer\n ? getLayersArray(layer).map(currentLayer => {\n return currentLayer === layer\n ? variant || layer\n : currentLayer\n })\n : []\n if (Array.isArray(depends)) {\n return [...depends, ...layerDeps]\n } else {\n return [...layerDeps]\n }\n }\n}\n\n/**\n * Sorts inheritance object topologically - dependant slots come after\n * dependencies\n *\n * @property {Object} inheritance - object defining the nodes\n * @property {Function} getDeps - function that returns dependencies for\n * given value and inheritance object.\n * @returns {String[]} keys of inheritance object, sorted in topological\n * order. Additionally, dependency-less nodes will always be first in line\n */\nexport const topoSort = (\n inheritance = SLOT_INHERITANCE,\n getDeps = getDependencies\n) => {\n // This is an implementation of https://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm\n\n const allKeys = Object.keys(inheritance)\n const whites = new Set(allKeys)\n const grays = new Set()\n const blacks = new Set()\n const unprocessed = [...allKeys]\n const output = []\n\n const step = (node) => {\n if (whites.has(node)) {\n // Make node \"gray\"\n whites.delete(node)\n grays.add(node)\n // Do step for each node connected to it (one way)\n getDeps(node, inheritance).forEach(step)\n // Make node \"black\"\n grays.delete(node)\n blacks.add(node)\n // Put it into the output list\n output.push(node)\n } else if (grays.has(node)) {\n console.debug('Cyclic depenency in topoSort, ignoring')\n output.push(node)\n } else if (blacks.has(node)) {\n // do nothing\n } else {\n throw new Error('Unintended condition in topoSort!')\n }\n }\n while (unprocessed.length > 0) {\n step(unprocessed.pop())\n }\n\n // The index thing is to make sorting stable on browsers\n // where Array.sort() isn't stable\n return output.map((data, index) => ({ data, index })).sort(({ data: a, index: ai }, { data: b, index: bi }) => {\n const depsA = getDeps(a, inheritance).length\n const depsB = getDeps(b, inheritance).length\n\n if (depsA === depsB || (depsB !== 0 && depsA !== 0)) return ai - bi\n if (depsA === 0 && depsB !== 0) return -1\n if (depsB === 0 && depsA !== 0) return 1\n }).map(({ data }) => data)\n}\n\nconst expandSlotValue = (value) => {\n if (typeof value === 'object') return value\n return {\n depends: value.startsWith('--') ? [value.substring(2)] : [],\n default: value.startsWith('#') ? value : undefined\n }\n}\n/**\n * retrieves opacity slot for given slot. This goes up the depenency graph\n * to find which parent has opacity slot defined for it.\n * TODO refactor this\n */\nexport const getOpacitySlot = (\n k,\n inheritance = SLOT_INHERITANCE,\n getDeps = getDependencies\n) => {\n const value = expandSlotValue(inheritance[k])\n if (value.opacity === null) return\n if (value.opacity) return value.opacity\n const findInheritedOpacity = (key, visited = [k]) => {\n const depSlot = getDeps(key, inheritance)[0]\n if (depSlot === undefined) return\n const dependency = inheritance[depSlot]\n if (dependency === undefined) return\n if (dependency.opacity || dependency === null) {\n return dependency.opacity\n } else if (dependency.depends && visited.includes(depSlot)) {\n return findInheritedOpacity(depSlot, [...visited, depSlot])\n } else {\n return null\n }\n }\n if (value.depends) {\n return findInheritedOpacity(k)\n }\n}\n\n/**\n * retrieves layer slot for given slot. This goes up the depenency graph\n * to find which parent has opacity slot defined for it.\n * this is basically copypaste of getOpacitySlot except it checks if key is\n * in LAYERS\n * TODO refactor this\n */\nexport const getLayerSlot = (\n k,\n inheritance = SLOT_INHERITANCE,\n getDeps = getDependencies\n) => {\n const value = expandSlotValue(inheritance[k])\n if (LAYERS[k]) return k\n if (value.layer === null) return\n if (value.layer) return value.layer\n const findInheritedLayer = (key, visited = [k]) => {\n const depSlot = getDeps(key, inheritance)[0]\n if (depSlot === undefined) return\n const dependency = inheritance[depSlot]\n if (dependency === undefined) return\n if (dependency.layer || dependency === null) {\n return dependency.layer\n } else if (dependency.depends) {\n return findInheritedLayer(dependency, [...visited, depSlot])\n } else {\n return null\n }\n }\n if (value.depends) {\n return findInheritedLayer(k)\n }\n}\n\n/**\n * topologically sorted SLOT_INHERITANCE\n */\nexport const SLOT_ORDERED = topoSort(\n Object.entries(SLOT_INHERITANCE)\n .sort(([aK, aV], [bK, bV]) => ((aV && aV.priority) || 0) - ((bV && bV.priority) || 0))\n .reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {})\n)\n\n/**\n * All opacity slots used in color slots, their default values and affected\n * color slots.\n */\nexport const OPACITIES = Object.entries(SLOT_INHERITANCE).reduce((acc, [k, v]) => {\n const opacity = getOpacitySlot(k, SLOT_INHERITANCE, getDependencies)\n if (opacity) {\n return {\n ...acc,\n [opacity]: {\n defaultValue: DEFAULT_OPACITY[opacity] || 1,\n affectedSlots: [...((acc[opacity] && acc[opacity].affectedSlots) || []), k]\n }\n }\n } else {\n return acc\n }\n}, {})\n\n/**\n * Handle dynamic color\n */\nexport const computeDynamicColor = (sourceColor, getColor, mod) => {\n if (typeof sourceColor !== 'string' || !sourceColor.startsWith('--')) return sourceColor\n let targetColor = null\n // Color references other color\n const [variable, modifier] = sourceColor.split(/,/g).map(str => str.trim())\n const variableSlot = variable.substring(2)\n targetColor = getColor(variableSlot)\n if (modifier) {\n targetColor = brightness(Number.parseFloat(modifier) * mod, targetColor).rgb\n }\n return targetColor\n}\n\n/**\n * THE function you want to use. Takes provided colors and opacities\n * value and uses inheritance data to figure out color needed for the slot.\n */\nexport const getColors = (sourceColors, sourceOpacity) => SLOT_ORDERED.reduce(({ colors, opacity }, key) => {\n const sourceColor = sourceColors[key]\n const value = expandSlotValue(SLOT_INHERITANCE[key])\n const deps = getDependencies(key, SLOT_INHERITANCE)\n const isTextColor = !!value.textColor\n const variant = value.variant || value.layer\n\n let backgroundColor = null\n\n if (isTextColor) {\n backgroundColor = alphaBlendLayers(\n { ...(colors[deps[0]] || convert(sourceColors[key] || '#FF00FF').rgb) },\n getLayers(\n getLayerSlot(key) || 'bg',\n variant || 'bg',\n getOpacitySlot(variant),\n colors,\n opacity\n )\n )\n } else if (variant && variant !== key) {\n backgroundColor = colors[variant] || convert(sourceColors[variant]).rgb\n } else {\n backgroundColor = colors.bg || convert(sourceColors.bg)\n }\n\n const isLightOnDark = relativeLuminance(backgroundColor) < 0.5\n const mod = isLightOnDark ? 1 : -1\n\n let outputColor = null\n if (sourceColor) {\n // Color is defined in source color\n let targetColor = sourceColor\n if (targetColor === 'transparent') {\n // We take only layers below current one\n const layers = getLayers(\n getLayerSlot(key),\n key,\n getOpacitySlot(key) || key,\n colors,\n opacity\n ).slice(0, -1)\n targetColor = {\n ...alphaBlendLayers(\n convert('#FF00FF').rgb,\n layers\n ),\n a: 0\n }\n } else if (typeof sourceColor === 'string' && sourceColor.startsWith('--')) {\n targetColor = computeDynamicColor(\n sourceColor,\n variableSlot => colors[variableSlot] || sourceColors[variableSlot],\n mod\n )\n } else if (typeof sourceColor === 'string' && sourceColor.startsWith('#')) {\n targetColor = convert(targetColor).rgb\n }\n outputColor = { ...targetColor }\n } else if (value.default) {\n // same as above except in object form\n outputColor = convert(value.default).rgb\n } else {\n // calculate color\n const defaultColorFunc = (mod, dep) => ({ ...dep })\n const colorFunc = value.color || defaultColorFunc\n\n if (value.textColor) {\n if (value.textColor === 'bw') {\n outputColor = contrastRatio(backgroundColor).rgb\n } else {\n let color = { ...colors[deps[0]] }\n if (value.color) {\n color = colorFunc(mod, ...deps.map((dep) => ({ ...colors[dep] })))\n }\n outputColor = getTextColor(\n backgroundColor,\n { ...color },\n value.textColor === 'preserve'\n )\n }\n } else {\n // background color case\n outputColor = colorFunc(\n mod,\n ...deps.map((dep) => ({ ...colors[dep] }))\n )\n }\n }\n if (!outputColor) {\n throw new Error('Couldn\\'t generate color for ' + key)\n }\n\n const opacitySlot = value.opacity || getOpacitySlot(key)\n const ownOpacitySlot = value.opacity\n\n if (ownOpacitySlot === null) {\n outputColor.a = 1\n } else if (sourceColor === 'transparent') {\n outputColor.a = 0\n } else {\n const opacityOverriden = ownOpacitySlot && sourceOpacity[opacitySlot] !== undefined\n\n const dependencySlot = deps[0]\n const dependencyColor = dependencySlot && colors[dependencySlot]\n\n if (!ownOpacitySlot && dependencyColor && !value.textColor && ownOpacitySlot !== null) {\n // Inheriting color from dependency (weird, i know)\n // except if it's a text color or opacity slot is set to 'null'\n outputColor.a = dependencyColor.a\n } else if (!dependencyColor && !opacitySlot) {\n // Remove any alpha channel if no dependency and no opacitySlot found\n delete outputColor.a\n } else {\n // Otherwise try to assign opacity\n if (dependencyColor && dependencyColor.a === 0) {\n // transparent dependency shall make dependents transparent too\n outputColor.a = 0\n } else {\n // Otherwise check if opacity is overriden and use that or default value instead\n outputColor.a = Number(\n opacityOverriden\n ? sourceOpacity[opacitySlot]\n : (OPACITIES[opacitySlot] || {}).defaultValue\n )\n }\n }\n }\n\n if (Number.isNaN(outputColor.a) || outputColor.a === undefined) {\n outputColor.a = 1\n }\n\n if (opacitySlot) {\n return {\n colors: { ...colors, [key]: outputColor },\n opacity: { ...opacity, [opacitySlot]: outputColor.a }\n }\n } else {\n return {\n colors: { ...colors, [key]: outputColor },\n opacity\n }\n }\n}, { colors: {}, opacity: {} })\n","\n\n\n\n\n","/* eslint-env browser */\nimport statusPosterService from '../../services/status_poster/status_poster.service.js'\nimport fileSizeFormatService from '../../services/file_size_format/file_size_format.js'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { faUpload, faCircleNotch } from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faUpload,\n faCircleNotch\n)\n\nconst mediaUpload = {\n data () {\n return {\n uploadCount: 0,\n uploadReady: true\n }\n },\n computed: {\n uploading () {\n return this.uploadCount > 0\n }\n },\n methods: {\n uploadFile (file) {\n const self = this\n const store = this.$store\n if (file.size > store.state.instance.uploadlimit) {\n const filesize = fileSizeFormatService.fileSizeFormat(file.size)\n const allowedsize = fileSizeFormatService.fileSizeFormat(store.state.instance.uploadlimit)\n self.$emit('upload-failed', 'file_too_big', { filesize: filesize.num, filesizeunit: filesize.unit, allowedsize: allowedsize.num, allowedsizeunit: allowedsize.unit })\n return\n }\n const formData = new FormData()\n formData.append('file', file)\n\n self.$emit('uploading')\n self.uploadCount++\n\n statusPosterService.uploadMedia({ store, formData })\n .then((fileData) => {\n self.$emit('uploaded', fileData)\n self.decreaseUploadCount()\n }, (error) => { // eslint-disable-line handle-callback-err\n self.$emit('upload-failed', 'default')\n self.decreaseUploadCount()\n })\n },\n decreaseUploadCount () {\n this.uploadCount--\n if (this.uploadCount === 0) {\n this.$emit('all-uploaded')\n }\n },\n clearFile () {\n this.uploadReady = false\n this.$nextTick(() => {\n this.uploadReady = true\n })\n },\n multiUpload (files) {\n for (const file of files) {\n this.uploadFile(file)\n }\n },\n change ({ target }) {\n this.multiUpload(target.files)\n }\n },\n props: [\n 'dropFiles',\n 'disabled'\n ],\n watch: {\n 'dropFiles': function (fileInfos) {\n if (!this.uploading) {\n this.multiUpload(fileInfos)\n }\n }\n }\n}\n\nexport default mediaUpload\n","import { render } from \"./media_upload.vue?vue&type=template&id=8e180d3a\"\nimport script from \"./media_upload.js?vue&type=script&lang=js\"\nexport * from \"./media_upload.js?vue&type=script&lang=js\"\n\nimport \"./media_upload.vue?vue&type=style&index=0&id=8e180d3a&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","\n\n\n\n\n","import * as DateUtils from 'src/services/date_utils/date_utils.js'\nimport { uniq } from 'lodash'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport Select from '../select/select.vue'\nimport {\n faTimes,\n faPlus\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faTimes,\n faPlus\n)\n\nexport default {\n components: {\n Select\n },\n name: 'PollForm',\n props: ['visible'],\n data: () => ({\n pollType: 'single',\n options: ['', ''],\n expiryAmount: 10,\n expiryUnit: 'minutes'\n }),\n computed: {\n pollLimits () {\n return this.$store.state.instance.pollLimits\n },\n maxOptions () {\n return this.pollLimits.max_options\n },\n maxLength () {\n return this.pollLimits.max_option_chars\n },\n expiryUnits () {\n const allUnits = ['minutes', 'hours', 'days']\n const expiry = this.convertExpiryFromUnit\n return allUnits.filter(\n unit => this.pollLimits.max_expiration >= expiry(unit, 1)\n )\n },\n minExpirationInCurrentUnit () {\n return Math.ceil(\n this.convertExpiryToUnit(\n this.expiryUnit,\n this.pollLimits.min_expiration\n )\n )\n },\n maxExpirationInCurrentUnit () {\n return Math.floor(\n this.convertExpiryToUnit(\n this.expiryUnit,\n this.pollLimits.max_expiration\n )\n )\n }\n },\n methods: {\n clear () {\n this.pollType = 'single'\n this.options = ['', '']\n this.expiryAmount = 10\n this.expiryUnit = 'minutes'\n },\n nextOption (index) {\n const element = this.$el.querySelector(`#poll-${index + 1}`)\n if (element) {\n element.focus()\n } else {\n // Try adding an option and try focusing on it\n const addedOption = this.addOption()\n if (addedOption) {\n this.$nextTick(function () {\n this.nextOption(index)\n })\n }\n }\n },\n addOption () {\n if (this.options.length < this.maxOptions) {\n this.options.push('')\n return true\n }\n return false\n },\n deleteOption (index, event) {\n if (this.options.length > 2) {\n this.options.splice(index, 1)\n this.updatePollToParent()\n }\n },\n convertExpiryToUnit (unit, amount) {\n // Note: we want seconds and not milliseconds\n switch (unit) {\n case 'minutes': return (1000 * amount) / DateUtils.MINUTE\n case 'hours': return (1000 * amount) / DateUtils.HOUR\n case 'days': return (1000 * amount) / DateUtils.DAY\n }\n },\n convertExpiryFromUnit (unit, amount) {\n // Note: we want seconds and not milliseconds\n switch (unit) {\n case 'minutes': return 0.001 * amount * DateUtils.MINUTE\n case 'hours': return 0.001 * amount * DateUtils.HOUR\n case 'days': return 0.001 * amount * DateUtils.DAY\n }\n },\n expiryAmountChange () {\n this.expiryAmount =\n Math.max(this.minExpirationInCurrentUnit, this.expiryAmount)\n this.expiryAmount =\n Math.min(this.maxExpirationInCurrentUnit, this.expiryAmount)\n this.updatePollToParent()\n },\n updatePollToParent () {\n const expiresIn = this.convertExpiryFromUnit(\n this.expiryUnit,\n this.expiryAmount\n )\n\n const options = uniq(this.options.filter(option => option !== ''))\n if (options.length < 2) {\n this.$emit('update-poll', { error: this.$t('polls.not_enough_options') })\n return\n }\n this.$emit('update-poll', {\n options,\n multiple: this.pollType === 'multiple',\n expiresIn\n })\n }\n }\n}\n","import { render } from \"./poll_form.vue?vue&type=template&id=21f5ba7b\"\nimport script from \"./poll_form.js?vue&type=script&lang=js\"\nexport * from \"./poll_form.js?vue&type=script&lang=js\"\n\nimport \"./poll_form.vue?vue&type=style&index=0&id=21f5ba7b&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import statusPoster from '../../services/status_poster/status_poster.service.js'\nimport MediaUpload from '../media_upload/media_upload.vue'\nimport ScopeSelector from '../scope_selector/scope_selector.vue'\nimport EmojiInput from '../emoji_input/emoji_input.vue'\nimport PollForm from '../poll/poll_form.vue'\nimport Attachment from '../attachment/attachment.vue'\nimport Gallery from 'src/components/gallery/gallery.vue'\nimport StatusContent from '../status_content/status_content.vue'\nimport fileTypeService from '../../services/file_type/file_type.service.js'\nimport { findOffset } from '../../services/offset_finder/offset_finder.service.js'\nimport { reject, map, uniqBy, debounce } from 'lodash'\nimport suggestor from '../emoji_input/suggestor.js'\nimport { mapGetters, mapState } from 'vuex'\nimport Checkbox from '../checkbox/checkbox.vue'\nimport Select from '../select/select.vue'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faSmileBeam,\n faPollH,\n faUpload,\n faBan,\n faTimes,\n faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faSmileBeam,\n faPollH,\n faUpload,\n faBan,\n faTimes,\n faCircleNotch\n)\n\nconst buildMentionsString = ({ user, attentions = [] }, currentUser) => {\n let allAttentions = [...attentions]\n\n allAttentions.unshift(user)\n\n allAttentions = uniqBy(allAttentions, 'id')\n allAttentions = reject(allAttentions, { id: currentUser.id })\n\n let mentions = map(allAttentions, (attention) => {\n return `@${attention.screen_name}`\n })\n\n return mentions.length > 0 ? mentions.join(' ') + ' ' : ''\n}\n\n// Converts a string with px to a number like '2px' -> 2\nconst pxStringToNumber = (str) => {\n return Number(str.substring(0, str.length - 2))\n}\n\nconst PostStatusForm = {\n props: [\n 'replyTo',\n 'repliedUser',\n 'attentions',\n 'copyMessageScope',\n 'subject',\n 'disableSubject',\n 'disableScopeSelector',\n 'disableNotice',\n 'disableLockWarning',\n 'disablePolls',\n 'disableSensitivityCheckbox',\n 'disableSubmit',\n 'disablePreview',\n 'placeholder',\n 'maxHeight',\n 'postHandler',\n 'preserveFocus',\n 'autoFocus',\n 'fileLimit',\n 'submitOnEnter',\n 'emojiPickerPlacement',\n 'optimisticPosting'\n ],\n emits: [\n 'posted',\n 'resize',\n 'mediaplay',\n 'mediapause'\n ],\n components: {\n MediaUpload,\n EmojiInput,\n PollForm,\n ScopeSelector,\n Checkbox,\n Select,\n Attachment,\n StatusContent,\n Gallery\n },\n mounted () {\n this.updateIdempotencyKey()\n this.resize(this.$refs.textarea)\n\n if (this.replyTo) {\n const textLength = this.$refs.textarea.value.length\n this.$refs.textarea.setSelectionRange(textLength, textLength)\n }\n\n if (this.replyTo || this.autoFocus) {\n this.$refs.textarea.focus()\n }\n },\n data () {\n const preset = this.$route.query.message\n let statusText = preset || ''\n\n const { scopeCopy } = this.$store.getters.mergedConfig\n\n if (this.replyTo) {\n const currentUser = this.$store.state.users.currentUser\n statusText = buildMentionsString({ user: this.repliedUser, attentions: this.attentions }, currentUser)\n }\n\n const scope = ((this.copyMessageScope && scopeCopy) || this.copyMessageScope === 'direct')\n ? this.copyMessageScope\n : this.$store.state.users.currentUser.default_scope\n\n const { postContentType: contentType, sensitiveByDefault, sensitiveIfSubject } = this.$store.getters.mergedConfig\n\n return {\n dropFiles: [],\n uploadingFiles: false,\n error: null,\n posting: false,\n highlighted: 0,\n newStatus: {\n spoilerText: this.subject || '',\n status: statusText,\n sensitiveIfSubject,\n nsfw: !!sensitiveByDefault,\n files: [],\n poll: {},\n mediaDescriptions: {},\n visibility: scope,\n contentType\n },\n caret: 0,\n pollFormVisible: false,\n showDropIcon: 'hide',\n dropStopTimeout: null,\n preview: null,\n previewLoading: false,\n emojiInputShown: false,\n idempotencyKey: ''\n }\n },\n computed: {\n users () {\n return this.$store.state.users.users\n },\n userDefaultScope () {\n return this.$store.state.users.currentUser.default_scope\n },\n showAllScopes () {\n return !this.mergedConfig.minimalScopesMode\n },\n emojiUserSuggestor () {\n return suggestor({\n emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ],\n store: this.$store\n })\n },\n emojiSuggestor () {\n return suggestor({\n emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ]\n })\n },\n emoji () {\n return this.$store.state.instance.emoji || []\n },\n customEmoji () {\n return this.$store.state.instance.customEmoji || []\n },\n statusLength () {\n return this.newStatus.status.length\n },\n spoilerTextLength () {\n return this.newStatus.spoilerText.length\n },\n statusLengthLimit () {\n return this.$store.state.instance.textlimit\n },\n hasStatusLengthLimit () {\n return this.statusLengthLimit > 0\n },\n charactersLeft () {\n return this.statusLengthLimit - (this.statusLength + this.spoilerTextLength)\n },\n isOverLengthLimit () {\n return this.hasStatusLengthLimit && (this.charactersLeft < 0)\n },\n minimalScopesMode () {\n return this.$store.state.instance.minimalScopesMode\n },\n alwaysShowSubject () {\n return this.mergedConfig.alwaysShowSubjectInput\n },\n postFormats () {\n return this.$store.state.instance.postFormats || []\n },\n safeDMEnabled () {\n return this.$store.state.instance.safeDM\n },\n pollsAvailable () {\n return this.$store.state.instance.pollsAvailable &&\n this.$store.state.instance.pollLimits.max_options >= 2 &&\n this.disablePolls !== true\n },\n hideScopeNotice () {\n return this.disableNotice || this.$store.getters.mergedConfig.hideScopeNotice\n },\n pollContentError () {\n return this.pollFormVisible &&\n this.newStatus.poll &&\n this.newStatus.poll.error\n },\n showPreview () {\n return !this.disablePreview && (!!this.preview || this.previewLoading)\n },\n emptyStatus () {\n return this.newStatus.status.trim() === '' && this.newStatus.files.length === 0\n },\n uploadFileLimitReached () {\n return this.newStatus.files.length >= this.fileLimit\n },\n ...mapGetters(['mergedConfig']),\n ...mapState({\n mobileLayout: state => state.interface.mobileLayout\n })\n },\n watch: {\n 'newStatus': {\n deep: true,\n handler () {\n this.statusChanged()\n }\n }\n },\n methods: {\n statusChanged () {\n this.autoPreview()\n this.updateIdempotencyKey()\n },\n clearStatus () {\n const newStatus = this.newStatus\n this.newStatus = {\n status: '',\n spoilerText: '',\n files: [],\n visibility: newStatus.visibility,\n contentType: newStatus.contentType,\n poll: {},\n mediaDescriptions: {}\n }\n this.pollFormVisible = false\n this.$refs.mediaUpload && this.$refs.mediaUpload.clearFile()\n this.clearPollForm()\n if (this.preserveFocus) {\n this.$nextTick(() => {\n this.$refs.textarea.focus()\n })\n }\n let el = this.$el.querySelector('textarea')\n el.style.height = 'auto'\n el.style.height = undefined\n this.error = null\n if (this.preview) this.previewStatus()\n },\n async postStatus (event, newStatus, opts = {}) {\n const { sensitiveIfSubject } = this.$store.getters.mergedConfig\n\n if (this.posting && !this.optimisticPosting) { return }\n if (this.disableSubmit) { return }\n if (this.emojiInputShown) { return }\n if (this.submitOnEnter) {\n event.stopPropagation()\n event.preventDefault()\n }\n\n if (this.optimisticPosting && (this.emptyStatus || this.isOverLengthLimit)) { return }\n\n if (this.emptyStatus) {\n this.error = this.$t('post_status.empty_status_error')\n return\n }\n\n const poll = this.pollFormVisible ? this.newStatus.poll : {}\n if (this.pollContentError) {\n this.error = this.pollContentError\n return\n }\n\n this.posting = true\n\n try {\n await this.setAllMediaDescriptions()\n } catch (e) {\n this.error = this.$t('post_status.media_description_error')\n this.posting = false\n return\n }\n\n const postingOptions = {\n status: newStatus.status,\n spoilerText: newStatus.spoilerText || null,\n visibility: newStatus.visibility,\n sensitive: (newStatus.nsfw || (sensitiveIfSubject && newStatus.spoilerText)),\n media: newStatus.files,\n store: this.$store,\n inReplyToStatusId: this.replyTo,\n contentType: newStatus.contentType,\n poll,\n idempotencyKey: this.idempotencyKey\n }\n\n const postHandler = this.postHandler ? this.postHandler : statusPoster.postStatus\n\n postHandler(postingOptions).then((data) => {\n if (!data.error) {\n this.clearStatus()\n this.$emit('posted', data)\n } else {\n this.error = data.error\n }\n this.posting = false\n })\n },\n previewStatus () {\n if (this.emptyStatus && this.newStatus.spoilerText.trim() === '') {\n this.preview = { error: this.$t('post_status.preview_empty') }\n this.previewLoading = false\n return\n }\n const newStatus = this.newStatus\n this.previewLoading = true\n statusPoster.postStatus({\n status: newStatus.status,\n spoilerText: newStatus.spoilerText || null,\n visibility: newStatus.visibility,\n sensitive: newStatus.nsfw,\n media: [],\n store: this.$store,\n inReplyToStatusId: this.replyTo,\n contentType: newStatus.contentType,\n poll: {},\n preview: true\n }).then((data) => {\n // Don't apply preview if not loading, because it means\n // user has closed the preview manually.\n if (!this.previewLoading) return\n if (!data.error) {\n this.preview = data\n } else {\n this.preview = { error: data.error }\n }\n }).catch((error) => {\n this.preview = { error }\n }).finally(() => {\n this.previewLoading = false\n })\n },\n debouncePreviewStatus: debounce(function () { this.previewStatus() }, 500),\n autoPreview () {\n if (!this.preview) return\n this.previewLoading = true\n this.debouncePreviewStatus()\n },\n closePreview () {\n this.preview = null\n this.previewLoading = false\n },\n togglePreview () {\n if (this.showPreview) {\n this.closePreview()\n } else {\n this.previewStatus()\n }\n },\n addMediaFile (fileInfo) {\n this.newStatus.files.push(fileInfo)\n this.$emit('resize', { delayed: true })\n },\n removeMediaFile (fileInfo) {\n let index = this.newStatus.files.indexOf(fileInfo)\n this.newStatus.files.splice(index, 1)\n this.$emit('resize')\n },\n editAttachment (fileInfo, newText) {\n this.newStatus.mediaDescriptions[fileInfo.id] = newText\n },\n shiftUpMediaFile (fileInfo) {\n const { files } = this.newStatus\n const index = this.newStatus.files.indexOf(fileInfo)\n files.splice(index, 1)\n files.splice(index - 1, 0, fileInfo)\n },\n shiftDnMediaFile (fileInfo) {\n const { files } = this.newStatus\n const index = this.newStatus.files.indexOf(fileInfo)\n files.splice(index, 1)\n files.splice(index + 1, 0, fileInfo)\n },\n uploadFailed (errString, templateArgs) {\n templateArgs = templateArgs || {}\n this.error = this.$t('upload.error.base') + ' ' + this.$t('upload.error.' + errString, templateArgs)\n },\n startedUploadingFiles () {\n this.uploadingFiles = true\n },\n finishedUploadingFiles () {\n this.$emit('resize')\n this.uploadingFiles = false\n },\n type (fileInfo) {\n return fileTypeService.fileType(fileInfo.mimetype)\n },\n paste (e) {\n this.autoPreview()\n this.resize(e)\n if (e.clipboardData.files.length > 0) {\n // prevent pasting of file as text\n e.preventDefault()\n // Strangely, files property gets emptied after event propagation\n // Trying to wrap it in array doesn't work. Plus I doubt it's possible\n // to hold more than one file in clipboard.\n this.dropFiles = [e.clipboardData.files[0]]\n }\n },\n fileDrop (e) {\n if (e.dataTransfer && e.dataTransfer.types.includes('Files')) {\n e.preventDefault() // allow dropping text like before\n this.dropFiles = e.dataTransfer.files\n clearTimeout(this.dropStopTimeout)\n this.showDropIcon = 'hide'\n }\n },\n fileDragStop (e) {\n // The false-setting is done with delay because just using leave-events\n // directly caused unwanted flickering, this is not perfect either but\n // much less noticable.\n clearTimeout(this.dropStopTimeout)\n this.showDropIcon = 'fade'\n this.dropStopTimeout = setTimeout(() => (this.showDropIcon = 'hide'), 500)\n },\n fileDrag (e) {\n e.dataTransfer.dropEffect = this.uploadFileLimitReached ? 'none' : 'copy'\n if (e.dataTransfer && e.dataTransfer.types.includes('Files')) {\n clearTimeout(this.dropStopTimeout)\n this.showDropIcon = 'show'\n }\n },\n onEmojiInputInput (e) {\n this.$nextTick(() => {\n this.resize(this.$refs['textarea'])\n })\n },\n resize (e) {\n const target = e.target || e\n if (!(target instanceof window.Element)) { return }\n\n // Reset to default height for empty form, nothing else to do here.\n if (target.value === '') {\n target.style.height = null\n this.$emit('resize')\n this.$refs['emoji-input'].resize()\n return\n }\n\n const formRef = this.$refs['form']\n const bottomRef = this.$refs['bottom']\n /* Scroller is either `window` (replies in TL), sidebar (main post form,\n * replies in notifs) or mobile post form. Note that getting and setting\n * scroll is different for `Window` and `Element`s\n */\n const bottomBottomPaddingStr = window.getComputedStyle(bottomRef)['padding-bottom']\n const bottomBottomPadding = pxStringToNumber(bottomBottomPaddingStr)\n\n const scrollerRef = this.$el.closest('.column.-scrollable') ||\n this.$el.closest('.post-form-modal-view') ||\n window\n\n // Getting info about padding we have to account for, removing 'px' part\n const topPaddingStr = window.getComputedStyle(target)['padding-top']\n const bottomPaddingStr = window.getComputedStyle(target)['padding-bottom']\n const topPadding = pxStringToNumber(topPaddingStr)\n const bottomPadding = pxStringToNumber(bottomPaddingStr)\n const vertPadding = topPadding + bottomPadding\n\n const oldHeight = pxStringToNumber(target.style.height)\n\n /* Explanation:\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight\n * scrollHeight returns element's scrollable content height, i.e. visible\n * element + overscrolled parts of it. We use it to determine when text\n * inside the textarea exceeded its height, so we can set height to prevent\n * overscroll, i.e. make textarea grow with the text. HOWEVER, since we\n * explicitly set new height, scrollHeight won't go below that, so we can't\n * SHRINK the textarea when there's extra space. To workaround that we set\n * height to 'auto' which makes textarea tiny again, so that scrollHeight\n * will match text height again. HOWEVER, shrinking textarea can screw with\n * the scroll since there might be not enough padding around form-bottom to even\n * warrant a scroll, so it will jump to 0 and refuse to move anywhere,\n * so we check current scroll position before shrinking and then restore it\n * with needed delta.\n */\n\n // this part has to be BEFORE the content size update\n const currentScroll = scrollerRef === window\n ? scrollerRef.scrollY\n : scrollerRef.scrollTop\n const scrollerHeight = scrollerRef === window\n ? scrollerRef.innerHeight\n : scrollerRef.offsetHeight\n const scrollerBottomBorder = currentScroll + scrollerHeight\n\n // BEGIN content size update\n target.style.height = 'auto'\n const heightWithoutPadding = Math.floor(target.scrollHeight - vertPadding)\n let newHeight = this.maxHeight ? Math.min(heightWithoutPadding, this.maxHeight) : heightWithoutPadding\n // This is a bit of a hack to combat target.scrollHeight being different on every other input\n // on some browsers for whatever reason. Don't change the height if difference is 1px or less.\n if (Math.abs(newHeight - oldHeight) <= 1) {\n newHeight = oldHeight\n }\n target.style.height = `${newHeight}px`\n this.$emit('resize', newHeight)\n // END content size update\n\n // We check where the bottom border of form-bottom element is, this uses findOffset\n // to find offset relative to scrollable container (scroller)\n const bottomBottomBorder = bottomRef.offsetHeight + findOffset(bottomRef, scrollerRef).top + bottomBottomPadding\n\n const isBottomObstructed = scrollerBottomBorder < bottomBottomBorder\n const isFormBiggerThanScroller = scrollerHeight < formRef.offsetHeight\n const bottomChangeDelta = bottomBottomBorder - scrollerBottomBorder\n // The intention is basically this;\n // Keep form-bottom always visible so that submit button is in view EXCEPT\n // if form element bigger than scroller and caret isn't at the end, so that\n // if you scroll up and edit middle of text you won't get scrolled back to bottom\n const shouldScrollToBottom = isBottomObstructed &&\n !(isFormBiggerThanScroller &&\n this.$refs.textarea.selectionStart !== this.$refs.textarea.value.length)\n const totalDelta = shouldScrollToBottom ? bottomChangeDelta : 0\n const targetScroll = Math.round(currentScroll + totalDelta)\n\n if (scrollerRef === window) {\n scrollerRef.scroll(0, targetScroll)\n } else {\n scrollerRef.scrollTop = targetScroll\n }\n\n this.$refs['emoji-input'].resize()\n },\n showEmojiPicker () {\n this.$refs['textarea'].focus()\n this.$refs['emoji-input'].triggerShowPicker()\n },\n clearError () {\n this.error = null\n },\n changeVis (visibility) {\n this.newStatus.visibility = visibility\n },\n togglePollForm () {\n this.pollFormVisible = !this.pollFormVisible\n },\n setPoll (poll) {\n this.newStatus.poll = poll\n },\n clearPollForm () {\n if (this.$refs.pollForm) {\n this.$refs.pollForm.clear()\n }\n },\n dismissScopeNotice () {\n this.$store.dispatch('setOption', { name: 'hideScopeNotice', value: true })\n },\n setMediaDescription (id) {\n const description = this.newStatus.mediaDescriptions[id]\n if (!description || description.trim() === '') return\n return statusPoster.setMediaDescription({ store: this.$store, id, description })\n },\n setAllMediaDescriptions () {\n const ids = this.newStatus.files.map(file => file.id)\n return Promise.all(ids.map(id => this.setMediaDescription(id)))\n },\n handleEmojiInputShow (value) {\n this.emojiInputShown = value\n },\n updateIdempotencyKey () {\n this.idempotencyKey = Date.now().toString()\n },\n openProfileTab () {\n this.$store.dispatch('openSettingsModalTab', 'profile')\n }\n }\n}\n\nexport default PostStatusForm\n","import { render } from \"./post_status_form.vue?vue&type=template&id=ae252da2\"\nimport script from \"./post_status_form.js?vue&type=script&lang=js\"\nexport * from \"./post_status_form.js?vue&type=script&lang=js\"\n\nimport \"./post_status_form.vue?vue&type=style&index=0&id=ae252da2&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import StillImage from '../still-image/still-image.vue'\nimport Flash from '../flash/flash.vue'\nimport VideoAttachment from '../video_attachment/video_attachment.vue'\nimport nsfwImage from '../../assets/nsfw.png'\nimport fileTypeService from '../../services/file_type/file_type.service.js'\nimport { mapGetters } from 'vuex'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faFile,\n faMusic,\n faImage,\n faVideo,\n faPlayCircle,\n faTimes,\n faStop,\n faSearchPlus,\n faTrashAlt,\n faPencilAlt,\n faAlignRight\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faFile,\n faMusic,\n faImage,\n faVideo,\n faPlayCircle,\n faTimes,\n faStop,\n faSearchPlus,\n faTrashAlt,\n faPencilAlt,\n faAlignRight\n)\n\nconst Attachment = {\n props: [\n 'attachment',\n 'description',\n 'hideDescription',\n 'nsfw',\n 'size',\n 'setMedia',\n 'remove',\n 'shiftUp',\n 'shiftDn',\n 'edit'\n ],\n data () {\n return {\n localDescription: this.description || this.attachment.description,\n nsfwImage: this.$store.state.instance.nsfwCensorImage || nsfwImage,\n hideNsfwLocal: this.$store.getters.mergedConfig.hideNsfw,\n preloadImage: this.$store.getters.mergedConfig.preloadImage,\n loading: false,\n img: fileTypeService.fileType(this.attachment.mimetype) === 'image' && document.createElement('img'),\n modalOpen: false,\n showHidden: false,\n flashLoaded: false,\n showDescription: false\n }\n },\n components: {\n Flash,\n StillImage,\n VideoAttachment\n },\n computed: {\n classNames () {\n return [\n {\n '-loading': this.loading,\n '-nsfw-placeholder': this.hidden,\n '-editable': this.edit !== undefined\n },\n '-type-' + this.type,\n this.size && '-size-' + this.size,\n `-${this.useContainFit ? 'contain' : 'cover'}-fit`\n ]\n },\n usePlaceholder () {\n return this.size === 'hide'\n },\n useContainFit () {\n return this.$store.getters.mergedConfig.useContainFit\n },\n placeholderName () {\n if (this.attachment.description === '' || !this.attachment.description) {\n return this.type.toUpperCase()\n }\n return this.attachment.description\n },\n placeholderIconClass () {\n if (this.type === 'image') return 'image'\n if (this.type === 'video') return 'video'\n if (this.type === 'audio') return 'music'\n return 'file'\n },\n referrerpolicy () {\n return this.$store.state.instance.mediaProxyAvailable ? '' : 'no-referrer'\n },\n type () {\n return fileTypeService.fileType(this.attachment.mimetype)\n },\n hidden () {\n return this.nsfw && this.hideNsfwLocal && !this.showHidden\n },\n isEmpty () {\n return (this.type === 'html' && !this.attachment.oembed)\n },\n useModal () {\n let modalTypes = []\n switch (this.size) {\n case 'hide':\n case 'small':\n modalTypes = ['image', 'video', 'audio', 'flash']\n break\n default:\n modalTypes = this.mergedConfig.playVideosInModal\n ? ['image', 'video', 'flash']\n : ['image']\n break\n }\n return modalTypes.includes(this.type)\n },\n videoTag () {\n return this.useModal ? 'button' : 'span'\n },\n ...mapGetters(['mergedConfig'])\n },\n watch: {\n localDescription (newVal) {\n this.onEdit(newVal)\n }\n },\n methods: {\n linkClicked ({ target }) {\n if (target.tagName === 'A') {\n window.open(target.href, '_blank')\n }\n },\n openModal (event) {\n if (this.useModal) {\n this.$emit('setMedia')\n this.$store.dispatch('setCurrentMedia', this.attachment)\n } else if (this.type === 'unknown') {\n window.open(this.attachment.url)\n }\n },\n openModalForce (event) {\n this.$emit('setMedia')\n this.$store.dispatch('setCurrentMedia', this.attachment)\n },\n onEdit (event) {\n this.edit && this.edit(this.attachment, event)\n },\n onRemove () {\n this.remove && this.remove(this.attachment)\n },\n onShiftUp () {\n this.shiftUp && this.shiftUp(this.attachment)\n },\n onShiftDn () {\n this.shiftDn && this.shiftDn(this.attachment)\n },\n stopFlash () {\n this.$refs.flash.closePlayer()\n },\n setFlashLoaded (event) {\n this.flashLoaded = event\n },\n toggleDescription () {\n this.showDescription = !this.showDescription\n },\n toggleHidden (event) {\n if (\n (this.mergedConfig.useOneClickNsfw && !this.showHidden) &&\n (this.type !== 'video' || this.mergedConfig.playVideosInModal)\n ) {\n this.openModal(event)\n return\n }\n if (this.img && !this.preloadImage) {\n if (this.img.onload) {\n this.img.onload()\n } else {\n this.loading = true\n this.img.src = this.attachment.url\n this.img.onload = () => {\n this.loading = false\n this.showHidden = !this.showHidden\n }\n }\n } else {\n this.showHidden = !this.showHidden\n }\n },\n onImageLoad (image) {\n const width = image.naturalWidth\n const height = image.naturalHeight\n this.$emit('naturalSizeLoad', { id: this.attachment.id, width, height })\n }\n }\n}\n\nexport default Attachment\n","import { render } from \"./attachment.vue?vue&type=template&id=1177e21f\"\nimport script from \"./attachment.js?vue&type=script&lang=js\"\nexport * from \"./attachment.js?vue&type=script&lang=js\"\n\nimport \"./attachment.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { render } from \"./timeago.vue?vue&type=template&id=4a007a5d\"\nimport script from \"./timeago.vue?vue&type=script&lang=js\"\nexport * from \"./timeago.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./list.vue?vue&type=template&id=c1790f52\"\nimport script from \"./list.vue?vue&type=script&lang=js\"\nexport * from \"./list.vue?vue&type=script&lang=js\"\n\nimport \"./list.vue?vue&type=style&index=0&id=c1790f52&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","// When contributing, please sort JSON before committing so it would be easier to see what's missing and what's being added compared to English and other languages. It's not obligatory, but just an advice.\n// To sort json use jq https://stedolan.github.io/jq and invoke it like `jq -S . xx.json > xx.sorted.json`, AFAIK, there's no inplace edit option like in sed\n// Also, when adding a new language to \"messages\" variable, please do it alphabetically by language code so that users can search or check their custom language easily.\n\n// For anyone contributing to old huge messages.js and in need to quickly convert it to JSON\n// sed command for converting currently formatted JS to JSON:\n// sed -i -e \"s/'//gm\" -e 's/\"/\\\\\"/gm' -re 's/^( +)(.+?): ((.+?))?(,?)(\\{?)$/\\1\"\\2\": \"\\4\"/gm' -e 's/\\\"\\{\\\"/{/g' -e 's/,\"$/\",/g' file.json\n// There's only problem that apostrophe character ' gets replaced by \\\\ so you have to fix it manually, sorry.\n\nconst loaders = {\n ar: () => import('./ar.json'),\n ca: () => import('./ca.json'),\n cs: () => import('./cs.json'),\n de: () => import('./de.json'),\n eo: () => import('./eo.json'),\n es: () => import('./es.json'),\n et: () => import('./et.json'),\n eu: () => import('./eu.json'),\n fi: () => import('./fi.json'),\n fr: () => import('./fr.json'),\n ga: () => import('./ga.json'),\n he: () => import('./he.json'),\n hu: () => import('./hu.json'),\n it: () => import('./it.json'),\n ja: () => import('./ja_pedantic.json'),\n ja_easy: () => import('./ja_easy.json'),\n ko: () => import('./ko.json'),\n nb: () => import('./nb.json'),\n nl: () => import('./nl.json'),\n oc: () => import('./oc.json'),\n pl: () => import('./pl.json'),\n pt: () => import('./pt.json'),\n ro: () => import('./ro.json'),\n ru: () => import('./ru.json'),\n te: () => import('./te.json'),\n uk: () => import('./uk.json'),\n zh: () => import('./zh.json'),\n zh_Hant: () => import('./zh_Hant.json')\n}\n\nconst messages = {\n languages: ['en', ...Object.keys(loaders)],\n default: {\n en: require('./en.json').default\n },\n setLanguage: async (i18n, language) => {\n if (loaders[language]) {\n let messages = await loaders[language]()\n i18n.setLocaleMessage(language, messages.default)\n }\n i18n.locale = language\n }\n}\n\nexport default messages\n","// eslint-disable-next-line no-unused\nimport { h, Fragment } from 'vue'\nimport { mapState } from 'vuex'\nimport { FontAwesomeIcon as FAIcon } from '@fortawesome/vue-fontawesome'\n\nimport './tab_switcher.scss'\n\nconst findFirstUsable = (slots) => slots.findIndex(_ => _.props)\n\nexport default {\n name: 'TabSwitcher',\n props: {\n renderOnlyFocused: {\n required: false,\n type: Boolean,\n default: false\n },\n onSwitch: {\n required: false,\n type: Function,\n default: undefined\n },\n activeTab: {\n required: false,\n type: String,\n default: undefined\n },\n scrollableTabs: {\n required: false,\n type: Boolean,\n default: false\n },\n sideTabBar: {\n required: false,\n type: Boolean,\n default: false\n },\n bodyScrollLock: {\n required: false,\n type: Boolean,\n default: false\n }\n },\n data () {\n return {\n active: findFirstUsable(this.slots())\n }\n },\n computed: {\n activeIndex () {\n // In case of controlled component\n if (this.activeTab) {\n return this.slots().findIndex(slot => slot && slot.props && this.activeTab === slot.props.key)\n } else {\n return this.active\n }\n },\n isActive () {\n return tabName => {\n const isWanted = slot => slot.props && slot.props['data-tab-name'] === tabName\n return this.$slots.default().findIndex(isWanted) === this.activeIndex\n }\n },\n settingsModalVisible () {\n return this.settingsModalState === 'visible'\n },\n ...mapState({\n settingsModalState: state => state.interface.settingsModalState\n })\n },\n beforeUpdate () {\n const currentSlot = this.slots()[this.active]\n if (!currentSlot.props) {\n this.active = findFirstUsable(this.slots())\n }\n },\n methods: {\n clickTab (index) {\n return (e) => {\n e.preventDefault()\n this.setTab(index)\n }\n },\n // DO NOT put it to computed, it doesn't work (caching?)\n slots () {\n if (this.$slots.default()[0].type === Fragment) {\n return this.$slots.default()[0].children\n }\n return this.$slots.default()\n },\n setTab (index) {\n if (typeof this.onSwitch === 'function') {\n this.onSwitch.call(null, this.slots()[index].key)\n }\n this.active = index\n if (this.scrollableTabs) {\n this.$refs.contents.scrollTop = 0\n }\n }\n },\n render () {\n const tabs = this.slots()\n .map((slot, index) => {\n const props = slot.props\n if (!props) return\n const classesTab = ['tab', 'button-default']\n const classesWrapper = ['tab-wrapper']\n if (this.activeIndex === index) {\n classesTab.push('active')\n classesWrapper.push('active')\n }\n if (props.image) {\n return (\n
\n \n \n {props.label ? '' : props.label}\n \n
\n )\n }\n return (\n
\n \n {!props.icon ? '' : ()}\n \n {props.label}\n \n \n
\n )\n })\n\n const contents = this.slots().map((slot, index) => {\n const props = slot.props\n if (!props) return\n const active = this.activeIndex === index\n const classes = [ active ? 'active' : 'hidden' ]\n if (props.fullHeight) {\n classes.push('full-height')\n }\n const renderSlot = (!this.renderOnlyFocused || active)\n ? slot\n : ''\n\n return (\n
\n {\n this.sideTabBar\n ?

{props.label}

\n : ''\n }\n {renderSlot}\n
\n )\n })\n\n return (\n
\n
\n {tabs}\n
\n \n {contents}\n
\n \n )\n }\n}\n","import { map } from 'lodash'\nimport apiService from '../api/api.service.js'\n\nconst postStatus = ({\n store,\n status,\n spoilerText,\n visibility,\n sensitive,\n poll,\n media = [],\n inReplyToStatusId = undefined,\n contentType = 'text/plain',\n preview = false,\n idempotencyKey = ''\n}) => {\n const mediaIds = map(media, 'id')\n\n return apiService.postStatus({\n credentials: store.state.users.currentUser.credentials,\n status,\n spoilerText,\n visibility,\n sensitive,\n mediaIds,\n inReplyToStatusId,\n contentType,\n poll,\n preview,\n idempotencyKey\n })\n .then((data) => {\n if (!data.error && !preview) {\n store.dispatch('addNewStatuses', {\n statuses: [data],\n timeline: 'friends',\n showImmediately: true,\n noIdUpdate: true // To prevent missing notices on next pull.\n })\n }\n return data\n })\n .catch((err) => {\n return {\n error: err.message\n }\n })\n}\n\nconst uploadMedia = ({ store, formData }) => {\n const credentials = store.state.users.currentUser.credentials\n return apiService.uploadMedia({ credentials, formData })\n}\n\nconst setMediaDescription = ({ store, id, description }) => {\n const credentials = store.state.users.currentUser.credentials\n return apiService.setMediaDescription({ credentials, id, description })\n}\n\nconst statusPosterService = {\n postStatus,\n uploadMedia,\n setMediaDescription\n}\n\nexport default statusPosterService\n","\n\n\n\n","\n\n\n\n","import StatusContent from '../status_content/status_content.vue'\nimport { mapState } from 'vuex'\nimport Status from '../status/status.vue'\nimport UserAvatar from '../user_avatar/user_avatar.vue'\nimport UserCard from '../user_card/user_card.vue'\nimport Timeago from '../timeago/timeago.vue'\nimport RichContent from 'src/components/rich_content/rich_content.jsx'\nimport { isStatusNotification } from '../../services/notification_utils/notification_utils.js'\nimport { highlightClass, highlightStyle } from '../../services/user_highlighter/user_highlighter.js'\nimport generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faCheck,\n faTimes,\n faStar,\n faRetweet,\n faUserPlus,\n faEyeSlash,\n faUser,\n faSuitcaseRolling\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCheck,\n faTimes,\n faStar,\n faRetweet,\n faUserPlus,\n faUser,\n faEyeSlash,\n faSuitcaseRolling\n)\n\nconst Notification = {\n data () {\n return {\n userExpanded: false,\n betterShadow: this.$store.state.interface.browserSupport.cssFilter,\n unmuted: false\n }\n },\n props: [ 'notification' ],\n components: {\n StatusContent,\n UserAvatar,\n UserCard,\n Timeago,\n Status,\n RichContent\n },\n methods: {\n toggleUserExpanded () {\n this.userExpanded = !this.userExpanded\n },\n generateUserProfileLink (user) {\n return generateProfileLink(user.id, user.screen_name, this.$store.state.instance.restrictedNicknames)\n },\n getUser (notification) {\n return this.$store.state.users.usersObject[notification.from_profile.id]\n },\n toggleMute () {\n this.unmuted = !this.unmuted\n },\n approveUser () {\n this.$store.state.api.backendInteractor.approveUser({ id: this.user.id })\n this.$store.dispatch('removeFollowRequest', this.user)\n this.$store.dispatch('markSingleNotificationAsSeen', { id: this.notification.id })\n this.$store.dispatch('updateNotification', {\n id: this.notification.id,\n updater: notification => {\n notification.type = 'follow'\n }\n })\n },\n denyUser () {\n this.$store.state.api.backendInteractor.denyUser({ id: this.user.id })\n .then(() => {\n this.$store.dispatch('dismissNotificationLocal', { id: this.notification.id })\n this.$store.dispatch('removeFollowRequest', this.user)\n })\n }\n },\n computed: {\n userClass () {\n return highlightClass(this.notification.from_profile)\n },\n userStyle () {\n const highlight = this.$store.getters.mergedConfig.highlight\n const user = this.notification.from_profile\n return highlightStyle(highlight[user.screen_name])\n },\n user () {\n return this.$store.getters.findUser(this.notification.from_profile.id)\n },\n userProfileLink () {\n return this.generateUserProfileLink(this.user)\n },\n targetUser () {\n return this.$store.getters.findUser(this.notification.target.id)\n },\n targetUserProfileLink () {\n return this.generateUserProfileLink(this.targetUser)\n },\n needMute () {\n return this.$store.getters.relationship(this.user.id).muting\n },\n isStatusNotification () {\n return isStatusNotification(this.notification.type)\n },\n ...mapState({\n currentUser: state => state.users.currentUser\n })\n }\n}\n\nexport default Notification\n","import { render } from \"./notification.vue?vue&type=template&id=437c5ef8\"\nimport script from \"./notification.js?vue&type=script&lang=js\"\nexport * from \"./notification.js?vue&type=script&lang=js\"\n\nimport \"./notification.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { render } from \"./notification_filters.vue?vue&type=template&id=afbf2f10\"\nimport script from \"./notification_filters.vue?vue&type=script&lang=js\"\nexport * from \"./notification_filters.vue?vue&type=script&lang=js\"\n\nimport \"./notification_filters.vue?vue&type=style&index=0&id=afbf2f10&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { mapGetters } from 'vuex'\nimport Notification from '../notification/notification.vue'\nimport NotificationFilters from './notification_filters.vue'\nimport notificationsFetcher from '../../services/notifications_fetcher/notifications_fetcher.service.js'\nimport {\n notificationsFromStore,\n filteredNotificationsFromStore,\n unseenNotificationsFromStore\n} from '../../services/notification_utils/notification_utils.js'\nimport FaviconService from '../../services/favicon_service/favicon_service.js'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { faCircleNotch } from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCircleNotch\n)\n\nconst DEFAULT_SEEN_TO_DISPLAY_COUNT = 30\n\nconst Notifications = {\n components: {\n Notification,\n NotificationFilters\n },\n props: {\n // Disables panel styles, unread mark, potentially other notification-related actions\n // meant for \"Interactions\" timeline\n minimalMode: Boolean,\n // Custom filter mode, an array of strings, possible values 'mention', 'repeat', 'like', 'follow', used to override global filter for use in \"Interactions\" timeline\n filterMode: Array,\n // Disable teleporting (i.e. for /users/user/notifications)\n disableTeleport: Boolean\n },\n data () {\n return {\n bottomedOut: false,\n // How many seen notifications to display in the list. The more there are,\n // the heavier the page becomes. This count is increased when loading\n // older notifications, and cut back to default whenever hitting \"Read!\".\n seenToDisplayCount: DEFAULT_SEEN_TO_DISPLAY_COUNT\n }\n },\n computed: {\n mainClass () {\n return this.minimalMode ? '' : 'panel panel-default'\n },\n notifications () {\n return notificationsFromStore(this.$store)\n },\n error () {\n return this.$store.state.statuses.notifications.error\n },\n unseenNotifications () {\n return unseenNotificationsFromStore(this.$store)\n },\n filteredNotifications () {\n return filteredNotificationsFromStore(this.$store, this.filterMode)\n },\n unseenCount () {\n return this.unseenNotifications.length\n },\n unseenCountTitle () {\n return this.unseenCount + (this.unreadChatCount)\n },\n loading () {\n return this.$store.state.statuses.notifications.loading\n },\n noHeading () {\n const { layoutType } = this.$store.state.interface\n return this.minimalMode || layoutType === 'mobile'\n },\n teleportTarget () {\n const { layoutType } = this.$store.state.interface\n const map = {\n wide: '#notifs-column',\n mobile: '#mobile-notifications'\n }\n return map[layoutType] || '#notifs-sidebar'\n },\n notificationsToDisplay () {\n return this.filteredNotifications.slice(0, this.unseenCount + this.seenToDisplayCount)\n },\n ...mapGetters(['unreadChatCount'])\n },\n watch: {\n unseenCountTitle (count) {\n if (count > 0) {\n FaviconService.drawFaviconBadge()\n this.$store.dispatch('setPageTitle', `(${count})`)\n } else {\n FaviconService.clearFaviconBadge()\n this.$store.dispatch('setPageTitle', '')\n }\n }\n },\n methods: {\n markAsSeen () {\n this.$store.dispatch('markNotificationsAsSeen')\n this.seenToDisplayCount = DEFAULT_SEEN_TO_DISPLAY_COUNT\n },\n fetchOlderNotifications () {\n if (this.loading) {\n return\n }\n\n const seenCount = this.filteredNotifications.length - this.unseenCount\n if (this.seenToDisplayCount < seenCount) {\n this.seenToDisplayCount = Math.min(this.seenToDisplayCount + 20, seenCount)\n return\n } else if (this.seenToDisplayCount > seenCount) {\n this.seenToDisplayCount = seenCount\n }\n\n const store = this.$store\n const credentials = store.state.users.currentUser.credentials\n store.commit('setNotificationsLoading', { value: true })\n notificationsFetcher.fetchAndUpdate({\n store,\n credentials,\n older: true\n }).then(notifs => {\n store.commit('setNotificationsLoading', { value: false })\n if (notifs.length === 0) {\n this.bottomedOut = true\n }\n this.seenToDisplayCount += notifs.length\n })\n }\n }\n}\n\nexport default Notifications\n","import { render } from \"./notifications.vue?vue&type=template&id=8a71648a\"\nimport script from \"./notifications.js?vue&type=script&lang=js\"\nexport * from \"./notifications.js?vue&type=script&lang=js\"\n\nimport \"./notifications.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import Attachment from '../attachment/attachment.vue'\nimport { sumBy, set } from 'lodash'\n\nconst Gallery = {\n props: [\n 'attachments',\n 'limitRows',\n 'descriptions',\n 'limit',\n 'nsfw',\n 'setMedia',\n 'size',\n 'editable',\n 'removeAttachment',\n 'shiftUpAttachment',\n 'shiftDnAttachment',\n 'editAttachment',\n 'grid'\n ],\n data () {\n return {\n sizes: {},\n hidingLong: true\n }\n },\n components: { Attachment },\n computed: {\n rows () {\n if (!this.attachments) {\n return []\n }\n const attachments = this.limit > 0\n ? this.attachments.slice(0, this.limit)\n : this.attachments\n if (this.size === 'hide') {\n return attachments.map(item => ({ minimal: true, items: [item] }))\n }\n const rows = this.grid\n ? [{ grid: true, items: attachments }]\n : attachments.reduce((acc, attachment, i) => {\n if (attachment.mimetype.includes('audio')) {\n return [...acc, { audio: true, items: [attachment] }, { items: [] }]\n }\n if (!(\n attachment.mimetype.includes('image') ||\n attachment.mimetype.includes('video') ||\n attachment.mimetype.includes('flash')\n )) {\n return [...acc, { minimal: true, items: [attachment] }, { items: [] }]\n }\n const maxPerRow = 3\n const attachmentsRemaining = this.attachments.length - i + 1\n const currentRow = acc[acc.length - 1].items\n currentRow.push(attachment)\n if (currentRow.length >= maxPerRow && attachmentsRemaining > maxPerRow) {\n return [...acc, { items: [] }]\n } else {\n return acc\n }\n }, [{ items: [] }]).filter(_ => _.items.length > 0)\n return rows\n },\n attachmentsDimensionalScore () {\n return this.rows.reduce((acc, row) => {\n let size = 0\n if (row.minimal) {\n size += 1 / 8\n } else if (row.audio) {\n size += 1 / 4\n } else {\n size += 1 / (row.items.length + 0.6)\n }\n return acc + size\n }, 0)\n },\n tooManyAttachments () {\n if (this.editable || this.size === 'small') {\n return false\n } else if (this.size === 'hide') {\n return this.attachments.length > 8\n } else {\n return this.attachmentsDimensionalScore > 1\n }\n }\n },\n methods: {\n onNaturalSizeLoad ({ id, width, height }) {\n set(this.sizes, id, { width, height })\n },\n rowStyle (row) {\n if (row.audio) {\n return { 'padding-bottom': '25%' } // fixed reduced height for audio\n } else if (!row.minimal && !row.grid) {\n return { 'padding-bottom': `${(100 / (row.items.length + 0.6))}%` }\n }\n },\n itemStyle (id, row) {\n const total = sumBy(row, item => this.getAspectRatio(item.id))\n return { flex: `${this.getAspectRatio(id) / total} 1 0%` }\n },\n getAspectRatio (id) {\n const size = this.sizes[id]\n return size ? size.width / size.height : 1\n },\n toggleHidingLong (event) {\n this.hidingLong = event\n },\n openGallery () {\n this.$store.dispatch('setMedia', this.attachments)\n this.$store.dispatch('setCurrentMedia', this.attachments[0])\n },\n onMedia () {\n this.$store.dispatch('setMedia', this.attachments)\n }\n }\n}\n\nexport default Gallery\n","import { render } from \"./gallery.vue?vue&type=template&id=2bf4ca36\"\nimport script from \"./gallery.js?vue&type=script&lang=js\"\nexport * from \"./gallery.js?vue&type=script&lang=js\"\n\nimport \"./gallery.vue?vue&type=style&index=0&id=2bf4ca36&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n","const createRuffleService = () => {\n let ruffleInstance = null\n\n const getRuffle = () => new Promise((resolve, reject) => {\n if (ruffleInstance) {\n resolve(ruffleInstance)\n return\n }\n // Ruffle needs these to be set before it's loaded\n // https://github.com/ruffle-rs/ruffle/issues/3952\n window.RufflePlayer = {}\n window.RufflePlayer.config = {\n polyfills: false,\n publicPath: '/static/ruffle'\n }\n\n // Currently it's seems like a better way of loading ruffle\n // because it needs the wasm publically accessible, but it needs path to it\n // and filename of wasm seems to be pseudo-randomly generated (is it a hash?)\n const script = document.createElement('script')\n // see webpack config, using CopyPlugin to copy it from node_modules\n // provided via ruffle-mirror\n script.src = '/static/ruffle/ruffle.js'\n script.type = 'text/javascript'\n script.onerror = (e) => { reject(e) }\n script.onabort = (e) => { reject(e) }\n script.oncancel = (e) => { reject(e) }\n script.onload = () => {\n ruffleInstance = window.RufflePlayer\n resolve(ruffleInstance)\n }\n document.body.appendChild(script)\n })\n\n return { getRuffle }\n}\n\nconst RuffleService = createRuffleService()\n\nexport default RuffleService\n","import RuffleService from '../../services/ruffle_service/ruffle_service.js'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faStop,\n faExclamationTriangle\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faStop,\n faExclamationTriangle\n)\n\nconst Flash = {\n props: [ 'src' ],\n data () {\n return {\n player: false, // can be true, \"hidden\", false. hidden = element exists\n loaded: false,\n ruffleInstance: null\n }\n },\n methods: {\n openPlayer () {\n if (this.player) return // prevent double-loading, or re-loading on failure\n this.player = 'hidden'\n RuffleService.getRuffle().then((ruffle) => {\n const player = ruffle.newest().createPlayer()\n player.config = {\n letterbox: 'on'\n }\n const container = this.$refs.container\n container.appendChild(player)\n player.style.width = '100%'\n player.style.height = '100%'\n player.load(this.src).then(() => {\n this.player = true\n }).catch((e) => {\n console.error('Error loading ruffle', e)\n this.player = 'error'\n })\n this.ruffleInstance = player\n this.$emit('playerOpened')\n })\n },\n closePlayer () {\n this.ruffleInstance && this.ruffleInstance.remove()\n this.player = false\n this.$emit('playerClosed')\n }\n }\n}\n\nexport default Flash\n","import { render } from \"./flash.vue?vue&type=template&id=0dec384a\"\nimport script from \"./flash.js?vue&type=script&lang=js\"\nexport * from \"./flash.js?vue&type=script&lang=js\"\n\nimport \"./flash.vue?vue&type=style&index=0&id=0dec384a&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","const fetchRelationship = (attempt, userId, store) => new Promise((resolve, reject) => {\n setTimeout(() => {\n store.state.api.backendInteractor.fetchUserRelationship({ id: userId })\n .then((relationship) => {\n store.commit('updateUserRelationship', [relationship])\n return relationship\n })\n .then((relationship) => resolve([relationship.following, relationship.requested, relationship.locked, attempt]))\n .catch((e) => reject(e))\n }, 500)\n}).then(([following, sent, locked, attempt]) => {\n if (!following && !(locked && sent) && attempt <= 3) {\n // If we BE reports that we still not following that user - retry,\n // increment attempts by one\n fetchRelationship(++attempt, userId, store)\n }\n})\n\nexport const requestFollow = (userId, store) => new Promise((resolve, reject) => {\n store.state.api.backendInteractor.followUser({ id: userId })\n .then((updated) => {\n store.commit('updateUserRelationship', [updated])\n\n if (updated.following || (updated.locked && updated.requested)) {\n // If we get result immediately or the account is locked, just stop.\n resolve()\n return\n }\n\n // But usually we don't get result immediately, so we ask server\n // for updated user profile to confirm if we are following them\n // Sometimes it takes several tries. Sometimes we end up not following\n // user anyway, probably because they locked themselves and we\n // don't know that yet.\n // Recursive Promise, it will call itself up to 3 times.\n\n return fetchRelationship(1, updated, store)\n .then(() => {\n resolve()\n })\n })\n})\n\nexport const requestUnfollow = (userId, store) => new Promise((resolve, reject) => {\n store.state.api.backendInteractor.unfollowUser({ id: userId })\n .then((updated) => {\n store.commit('updateUserRelationship', [updated])\n resolve({\n updated\n })\n })\n})\n","import { requestFollow, requestUnfollow } from '../../services/follow_manipulate/follow_manipulate'\nexport default {\n props: ['relationship', 'user', 'labelFollowing', 'buttonClass'],\n data () {\n return {\n inProgress: false\n }\n },\n computed: {\n isPressed () {\n return this.inProgress || this.relationship.following\n },\n title () {\n if (this.inProgress || this.relationship.following) {\n return this.$t('user_card.follow_unfollow')\n } else if (this.relationship.requested) {\n return this.$t('user_card.follow_cancel')\n } else {\n return this.$t('user_card.follow')\n }\n },\n label () {\n if (this.inProgress) {\n return this.$t('user_card.follow_progress')\n } else if (this.relationship.following) {\n return this.labelFollowing || this.$t('user_card.following')\n } else if (this.relationship.requested) {\n return this.$t('user_card.follow_sent')\n } else {\n return this.$t('user_card.follow')\n }\n },\n disabled () {\n return this.inProgress || this.user.deactivated\n }\n },\n methods: {\n onClick () {\n this.relationship.following || this.relationship.requested ? this.unfollow() : this.follow()\n },\n follow () {\n this.inProgress = true\n requestFollow(this.relationship.id, this.$store).then(() => {\n this.inProgress = false\n })\n },\n unfollow () {\n const store = this.$store\n this.inProgress = true\n requestUnfollow(this.relationship.id, store).then(() => {\n this.inProgress = false\n store.commit('removeStatus', { timeline: 'friends', userId: this.relationship.id })\n })\n }\n }\n}\n","import { render } from \"./follow_button.vue?vue&type=template&id=2c877477\"\nimport script from \"./follow_button.js?vue&type=script&lang=js\"\nexport * from \"./follow_button.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","\nconst VideoAttachment = {\n props: ['attachment', 'controls'],\n data () {\n return {\n blocksSuspend: false,\n // Start from true because removing \"loop\" property seems buggy in Vue\n hasAudio: true\n }\n },\n computed: {\n loopVideo () {\n if (this.$store.getters.mergedConfig.loopVideoSilentOnly) {\n return !this.hasAudio\n }\n return this.$store.getters.mergedConfig.loopVideo\n }\n },\n methods: {\n onPlaying (e) {\n this.setHasAudio(e)\n if (this.loopVideo) {\n this.$emit('play', { looping: true })\n return\n }\n this.$emit('play')\n },\n onPaused (e) {\n this.$emit('pause')\n },\n setHasAudio (e) {\n const target = e.srcElement || e.target\n // If hasAudio is false, we've already marked this video to not have audio,\n // a video can't gain audio out of nowhere so don't bother checking again.\n if (!this.hasAudio) return\n if (typeof target.webkitAudioDecodedByteCount !== 'undefined') {\n // non-zero if video has audio track\n if (target.webkitAudioDecodedByteCount > 0) return\n }\n if (typeof target.mozHasAudio !== 'undefined') {\n // true if video has audio track\n if (target.mozHasAudio) return\n }\n if (typeof target.audioTracks !== 'undefined') {\n if (target.audioTracks.length > 0) return\n }\n this.hasAudio = false\n }\n }\n}\n\nexport default VideoAttachment\n","import { render } from \"./video_attachment.vue?vue&type=template&id=dda2841a\"\nimport script from \"./video_attachment.js?vue&type=script&lang=js\"\nexport * from \"./video_attachment.js?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","\n\n\n\n\n","import { mapGetters } from 'vuex'\n\nconst LinkPreview = {\n name: 'LinkPreview',\n props: [\n 'card',\n 'size',\n 'nsfw'\n ],\n data () {\n return {\n imageLoaded: false\n }\n },\n computed: {\n useImage () {\n // Currently BE shoudn't give cards if tagged NSFW, this is a bit paranoid\n // as it makes sure to hide the image if somehow NSFW tagged preview can\n // exist.\n return this.card.image && !this.censored && this.size !== 'hide'\n },\n censored () {\n return this.nsfw && this.hideNsfwConfig\n },\n useDescription () {\n return this.card.description && /\\S/.test(this.card.description)\n },\n hideNsfwConfig () {\n return this.mergedConfig.hideNsfw\n },\n ...mapGetters([\n 'mergedConfig'\n ])\n },\n created () {\n if (this.useImage) {\n const newImg = new Image()\n newImg.onload = () => {\n this.imageLoaded = true\n }\n newImg.src = this.card.image\n }\n }\n}\n\nexport default LinkPreview\n","import { render } from \"./link-preview.vue?vue&type=template&id=03087feb\"\nimport script from \"./link-preview.js?vue&type=script&lang=js\"\nexport * from \"./link-preview.js?vue&type=script&lang=js\"\n\nimport \"./link-preview.vue?vue&type=style&index=0&id=03087feb&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","export default {\n props: [ 'user' ],\n computed: {\n subscribeUrl () {\n // eslint-disable-next-line no-undef\n const serverUrl = new URL(this.user.statusnet_profile_url)\n return `${serverUrl.protocol}//${serverUrl.host}/main/ostatus`\n }\n }\n}\n","import { render } from \"./remote_follow.vue?vue&type=template&id=2aed8421\"\nimport script from \"./remote_follow.js?vue&type=script&lang=js\"\nexport * from \"./remote_follow.js?vue&type=script&lang=js\"\n\nimport \"./remote_follow.vue?vue&type=style&index=0&id=2aed8421&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import UserAvatar from '../user_avatar/user_avatar.vue'\nimport generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\n\nconst AvatarList = {\n props: ['users'],\n computed: {\n slicedUsers () {\n return this.users ? this.users.slice(0, 15) : []\n }\n },\n components: {\n UserAvatar\n },\n methods: {\n userProfileLink (user) {\n return generateProfileLink(user.id, user.screen_name, this.$store.state.instance.restrictedNicknames)\n }\n }\n}\n\nexport default AvatarList\n","import { render } from \"./avatar_list.vue?vue&type=template&id=4cea5bcf\"\nimport script from \"./avatar_list.js?vue&type=script&lang=js\"\nexport * from \"./avatar_list.js?vue&type=script&lang=js\"\n\nimport \"./avatar_list.vue?vue&type=style&index=0&id=4cea5bcf&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","/**\n * suggest - generates a suggestor function to be used by emoji-input\n * data: object providing source information for specific types of suggestions:\n * data.emoji - optional, an array of all emoji available i.e.\n * (state.instance.emoji + state.instance.customEmoji)\n * data.users - optional, an array of all known users\n * updateUsersList - optional, a function to search and append to users\n *\n * Depending on data present one or both (or none) can be present, so if field\n * doesn't support user linking you can just provide only emoji.\n */\n\nexport default data => {\n const emojiCurry = suggestEmoji(data.emoji)\n const usersCurry = data.store && suggestUsers(data.store)\n return input => {\n const firstChar = input[0]\n if (firstChar === ':' && data.emoji) {\n return emojiCurry(input)\n }\n if (firstChar === '@' && usersCurry) {\n return usersCurry(input)\n }\n return []\n }\n}\n\nexport const suggestEmoji = emojis => input => {\n const noPrefix = input.toLowerCase().substr(1)\n return emojis\n .filter(({ displayText }) => displayText.toLowerCase().match(noPrefix))\n .sort((a, b) => {\n let aScore = 0\n let bScore = 0\n\n // An exact match always wins\n aScore += a.displayText.toLowerCase() === noPrefix ? 200 : 0\n bScore += b.displayText.toLowerCase() === noPrefix ? 200 : 0\n\n // Prioritize custom emoji a lot\n aScore += a.imageUrl ? 100 : 0\n bScore += b.imageUrl ? 100 : 0\n\n // Prioritize prefix matches somewhat\n aScore += a.displayText.toLowerCase().startsWith(noPrefix) ? 10 : 0\n bScore += b.displayText.toLowerCase().startsWith(noPrefix) ? 10 : 0\n\n // Sort by length\n aScore -= a.displayText.length\n bScore -= b.displayText.length\n\n // Break ties alphabetically\n const alphabetically = a.displayText > b.displayText ? 0.5 : -0.5\n\n return bScore - aScore + alphabetically\n })\n}\n\nexport const suggestUsers = ({ dispatch, state }) => {\n // Keep some persistent values in closure, most importantly for the\n // custom debounce to work. Lodash debounce does not return a promise.\n let suggestions = []\n let previousQuery = ''\n let timeout = null\n let cancelUserSearch = null\n\n const userSearch = (query) => dispatch('searchUsers', { query })\n const debounceUserSearch = (query) => {\n cancelUserSearch && cancelUserSearch()\n return new Promise((resolve, reject) => {\n timeout = setTimeout(() => {\n userSearch(query).then(resolve).catch(reject)\n }, 300)\n cancelUserSearch = () => {\n clearTimeout(timeout)\n resolve([])\n }\n })\n }\n\n return async input => {\n const noPrefix = input.toLowerCase().substr(1)\n if (previousQuery === noPrefix) return suggestions\n\n suggestions = []\n previousQuery = noPrefix\n // Fetch more and wait, don't fetch if there's the 2nd @ because\n // the backend user search can't deal with it.\n // Reference semantics make it so that we get the updated data after\n // the await.\n if (!noPrefix.includes('@')) {\n await debounceUserSearch(noPrefix)\n }\n\n const newSuggestions = state.users.users.filter(\n user =>\n user.screen_name.toLowerCase().startsWith(noPrefix) ||\n user.name.toLowerCase().startsWith(noPrefix)\n ).slice(0, 20).sort((a, b) => {\n let aScore = 0\n let bScore = 0\n\n // Matches on screen name (i.e. user@instance) makes a priority\n aScore += a.screen_name.toLowerCase().startsWith(noPrefix) ? 2 : 0\n bScore += b.screen_name.toLowerCase().startsWith(noPrefix) ? 2 : 0\n\n // Matches on name takes second priority\n aScore += a.name.toLowerCase().startsWith(noPrefix) ? 1 : 0\n bScore += b.name.toLowerCase().startsWith(noPrefix) ? 1 : 0\n\n const diff = (bScore - aScore) * 10\n\n // Then sort alphabetically\n const nameAlphabetically = a.name > b.name ? 1 : -1\n const screenNameAlphabetically = a.screen_name > b.screen_name ? 1 : -1\n\n return diff + nameAlphabetically + screenNameAlphabetically\n /* eslint-disable camelcase */\n }).map(({ screen_name, screen_name_ui, name, profile_image_url_original }) => ({\n displayText: screen_name_ui,\n detailText: name,\n imageUrl: profile_image_url_original,\n replacement: '@' + screen_name + ' '\n }))\n /* eslint-enable camelcase */\n\n suggestions = newSuggestions || []\n return suggestions\n }\n}\n","\n\n\n","import { render } from \"./interface_language_switcher.vue?vue&type=template&id=25be3710\"\nimport script from \"./interface_language_switcher.vue?vue&type=script&lang=js\"\nexport * from \"./interface_language_switcher.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n\n\n","import { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faEnvelope,\n faLock,\n faLockOpen,\n faGlobe\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faEnvelope,\n faGlobe,\n faLock,\n faLockOpen\n)\n\nconst ScopeSelector = {\n props: [\n 'showAll',\n 'userDefault',\n 'originalScope',\n 'initialScope',\n 'onScopeChange'\n ],\n data () {\n return {\n currentScope: this.initialScope\n }\n },\n computed: {\n showNothing () {\n return !this.showPublic && !this.showUnlisted && !this.showPrivate && !this.showDirect\n },\n showPublic () {\n return this.originalScope !== 'direct' && this.shouldShow('public')\n },\n showLocal () {\n return this.originalScope !== 'direct' && this.shouldShow('local')\n },\n showUnlisted () {\n return this.originalScope !== 'direct' && this.shouldShow('unlisted')\n },\n showPrivate () {\n return this.originalScope !== 'direct' && this.shouldShow('private')\n },\n showDirect () {\n return this.shouldShow('direct')\n },\n css () {\n return {\n public: { selected: this.currentScope === 'public' },\n unlisted: { selected: this.currentScope === 'unlisted' },\n private: { selected: this.currentScope === 'private' },\n direct: { selected: this.currentScope === 'direct' },\n local: { selected: this.currentScope === 'local' }\n }\n }\n },\n methods: {\n shouldShow (scope) {\n return this.showAll ||\n this.currentScope === scope ||\n this.originalScope === scope ||\n this.userDefault === scope ||\n scope === 'direct'\n },\n changeVis (scope) {\n this.currentScope = scope\n this.onScopeChange && this.onScopeChange(scope)\n }\n }\n}\n\nexport default ScopeSelector\n","import { render } from \"./scope_selector.vue?vue&type=template&id=4ebab9b5\"\nimport script from \"./scope_selector.js?vue&type=script&lang=js\"\nexport * from \"./scope_selector.js?vue&type=script&lang=js\"\n\nimport \"./scope_selector.vue?vue&type=style&index=0&id=4ebab9b5&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { get, set } from 'lodash'\n\nconst defaultApi = ({ rootState, commit }, { path, value }) => {\n const params = {}\n set(params, path, value)\n return rootState\n .api\n .backendInteractor\n .updateProfile({ params })\n .then(result => {\n commit('addNewUsers', [result])\n commit('setCurrentUser', result)\n })\n}\n\nconst notificationsApi = ({ rootState, commit }, { path, value, oldValue }) => {\n const settings = {}\n set(settings, path, value)\n return rootState\n .api\n .backendInteractor\n .updateNotificationSettings({ settings })\n .then(result => {\n if (result.status === 'success') {\n commit('confirmServerSideOption', { name, value })\n } else {\n commit('confirmServerSideOption', { name, value: oldValue })\n }\n })\n}\n\n/**\n * Map that stores relation between path for reading (from user profile),\n * for writing (into API) an what API to use.\n *\n * Shorthand - instead of { get, set, api? } object it's possible to use string\n * in case default api is used and get = set\n *\n * If no api is specified, defaultApi is used (see above)\n */\nexport const settingsMap = {\n 'defaultScope': 'source.privacy',\n 'defaultNSFW': 'source.sensitive', // BROKEN: pleroma/pleroma#2837\n 'stripRichContent': {\n get: 'source.pleroma.no_rich_text',\n set: 'no_rich_text'\n },\n // Privacy\n 'locked': 'locked',\n 'acceptChatMessages': {\n get: 'pleroma.accepts_chat_messages',\n set: 'accepts_chat_messages'\n },\n 'allowFollowingMove': {\n get: 'pleroma.allow_following_move',\n set: 'allow_following_move'\n },\n 'discoverable': {\n get: 'source.pleroma.discoverable',\n set: 'discoverable'\n },\n 'hideFavorites': {\n get: 'pleroma.hide_favorites',\n set: 'hide_favorites'\n },\n 'hideFollowers': {\n get: 'pleroma.hide_followers',\n set: 'hide_followers'\n },\n 'hideFollows': {\n get: 'pleroma.hide_follows',\n set: 'hide_follows'\n },\n 'hideFollowersCount': {\n get: 'pleroma.hide_followers_count',\n set: 'hide_followers_count'\n },\n 'hideFollowsCount': {\n get: 'pleroma.hide_follows_count',\n set: 'hide_follows_count'\n },\n // NotificationSettingsAPIs\n 'webPushHideContents': {\n get: 'pleroma.notification_settings.hide_notification_contents',\n set: 'hide_notification_contents',\n api: notificationsApi\n },\n 'blockNotificationsFromStrangers': {\n get: 'pleroma.notification_settings.block_from_strangers',\n set: 'block_from_strangers',\n api: notificationsApi\n }\n}\n\nexport const defaultState = Object.fromEntries(Object.keys(settingsMap).map(key => [key, null]))\n\nconst serverSideConfig = {\n state: { ...defaultState },\n mutations: {\n confirmServerSideOption (state, { name, value }) {\n set(state, name, value)\n },\n wipeServerSideOption (state, { name }) {\n set(state, name, null)\n },\n wipeAllServerSideOptions (state) {\n Object.keys(settingsMap).forEach(key => {\n set(state, key, null)\n })\n },\n // Set the settings based on their path location\n setCurrentUser (state, user) {\n Object.entries(settingsMap).forEach((map) => {\n const [name, value] = map\n const { get: path = value } = value\n set(state, name, get(user._original, path))\n })\n }\n },\n actions: {\n setServerSideOption ({ rootState, state, commit, dispatch }, { name, value }) {\n const oldValue = get(state, name)\n const map = settingsMap[name]\n if (!map) throw new Error('Invalid server-side setting')\n const { set: path = map, api = defaultApi } = map\n commit('wipeServerSideOption', { name })\n\n api({ rootState, commit }, { path, value, oldValue })\n .catch((e) => {\n console.warn('Error setting server-side option:', e)\n commit('confirmServerSideOption', { name, value: oldValue })\n })\n },\n logout ({ commit }) {\n commit('wipeAllServerSideOptions')\n }\n }\n}\n\nexport default serverSideConfig\n","import isFunction from 'lodash/isFunction'\n\nconst getComponentOptions = (Component) => (isFunction(Component)) ? Component.options : Component\n\nconst getComponentProps = (Component) => getComponentOptions(Component).props\n\nexport {\n getComponentOptions,\n getComponentProps\n}\n","\n\n\n\n\n","import { reduce, find } from 'lodash'\n\nexport const replaceWord = (str, toReplace, replacement) => {\n return str.slice(0, toReplace.start) + replacement + str.slice(toReplace.end)\n}\n\nexport const wordAtPosition = (str, pos) => {\n const words = splitByWhitespaceBoundary(str)\n const wordsWithPosition = addPositionToWords(words)\n\n return find(wordsWithPosition, ({ start, end }) => start <= pos && end > pos)\n}\n\nexport const addPositionToWords = (words) => {\n return reduce(words, (result, word) => {\n const data = {\n word,\n start: 0,\n end: word.length\n }\n\n if (result.length > 0) {\n const previous = result.pop()\n\n data.start += previous.end\n data.end += previous.end\n\n result.push(previous)\n }\n\n result.push(data)\n\n return result\n }, [])\n}\n\nexport const splitByWhitespaceBoundary = (str) => {\n let result = []\n let currentWord = ''\n for (let i = 0; i < str.length; i++) {\n const currentChar = str[i]\n // Starting a new word\n if (!currentWord) {\n currentWord = currentChar\n continue\n }\n // current character is whitespace while word isn't, or vice versa:\n // add our current word to results, start over the current word.\n if (!!currentChar.trim() !== !!currentWord.trim()) {\n result.push(currentWord)\n currentWord = currentChar\n continue\n }\n currentWord += currentChar\n }\n // Add the last word we were working on\n if (currentWord) {\n result.push(currentWord)\n }\n return result\n}\n\nconst completion = {\n wordAtPosition,\n addPositionToWords,\n splitByWhitespaceBoundary,\n replaceWord\n}\n\nexport default completion\n","\n\n\n\n","import { defineAsyncComponent } from 'vue'\nimport Checkbox from '../checkbox/checkbox.vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faBoxOpen,\n faStickyNote,\n faSmileBeam\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faBoxOpen,\n faStickyNote,\n faSmileBeam\n)\n\n// At widest, approximately 20 emoji are visible in a row,\n// loading 3 rows, could be overkill for narrow picker\nconst LOAD_EMOJI_BY = 60\n\n// When to start loading new batch emoji, in pixels\nconst LOAD_EMOJI_MARGIN = 64\n\nconst filterByKeyword = (list, keyword = '') => {\n if (keyword === '') return list\n\n const keywordLowercase = keyword.toLowerCase()\n let orderedEmojiList = []\n for (const emoji of list) {\n const indexOfKeyword = emoji.displayText.toLowerCase().indexOf(keywordLowercase)\n if (indexOfKeyword > -1) {\n if (!Array.isArray(orderedEmojiList[indexOfKeyword])) {\n orderedEmojiList[indexOfKeyword] = []\n }\n orderedEmojiList[indexOfKeyword].push(emoji)\n }\n }\n return orderedEmojiList.flat()\n}\n\nconst EmojiPicker = {\n props: {\n enableStickerPicker: {\n required: false,\n type: Boolean,\n default: false\n }\n },\n data () {\n return {\n keyword: '',\n activeGroup: 'custom',\n showingStickers: false,\n groupsScrolledClass: 'scrolled-top',\n keepOpen: false,\n customEmojiBufferSlice: LOAD_EMOJI_BY,\n customEmojiTimeout: null,\n customEmojiLoadAllConfirmed: false\n }\n },\n components: {\n StickerPicker: defineAsyncComponent(() => import('../sticker_picker/sticker_picker.vue')),\n Checkbox\n },\n methods: {\n onStickerUploaded (e) {\n this.$emit('sticker-uploaded', e)\n },\n onStickerUploadFailed (e) {\n this.$emit('sticker-upload-failed', e)\n },\n onEmoji (emoji) {\n const value = emoji.imageUrl ? `:${emoji.displayText}:` : emoji.replacement\n this.$emit('emoji', { insertion: value, keepOpen: this.keepOpen })\n },\n onScroll (e) {\n const target = (e && e.target) || this.$refs['emoji-groups']\n this.updateScrolledClass(target)\n this.scrolledGroup(target)\n this.triggerLoadMore(target)\n },\n highlight (key) {\n const ref = this.$refs['group-' + key]\n const top = ref.offsetTop\n this.setShowStickers(false)\n this.activeGroup = key\n this.$nextTick(() => {\n this.$refs['emoji-groups'].scrollTop = top + 1\n })\n },\n updateScrolledClass (target) {\n if (target.scrollTop <= 5) {\n this.groupsScrolledClass = 'scrolled-top'\n } else if (target.scrollTop >= target.scrollTopMax - 5) {\n this.groupsScrolledClass = 'scrolled-bottom'\n } else {\n this.groupsScrolledClass = 'scrolled-middle'\n }\n },\n triggerLoadMore (target) {\n const ref = this.$refs['group-end-custom']\n if (!ref) return\n const bottom = ref.offsetTop + ref.offsetHeight\n\n const scrollerBottom = target.scrollTop + target.clientHeight\n const scrollerTop = target.scrollTop\n const scrollerMax = target.scrollHeight\n\n // Loads more emoji when they come into view\n const approachingBottom = bottom - scrollerBottom < LOAD_EMOJI_MARGIN\n // Always load when at the very top in case there's no scroll space yet\n const atTop = scrollerTop < 5\n // Don't load when looking at unicode category or at the very bottom\n const bottomAboveViewport = bottom < scrollerTop || scrollerBottom === scrollerMax\n if (!bottomAboveViewport && (approachingBottom || atTop)) {\n this.loadEmoji()\n }\n },\n scrolledGroup (target) {\n const top = target.scrollTop + 5\n this.$nextTick(() => {\n this.emojisView.forEach(group => {\n const ref = this.$refs['group-' + group.id]\n if (ref.offsetTop <= top) {\n this.activeGroup = group.id\n }\n })\n })\n },\n loadEmoji () {\n const allLoaded = this.customEmojiBuffer.length === this.filteredEmoji.length\n\n if (allLoaded) {\n return\n }\n\n this.customEmojiBufferSlice += LOAD_EMOJI_BY\n },\n startEmojiLoad (forceUpdate = false) {\n if (!forceUpdate) {\n this.keyword = ''\n }\n this.$nextTick(() => {\n this.$refs['emoji-groups'].scrollTop = 0\n })\n const bufferSize = this.customEmojiBuffer.length\n const bufferPrefilledAll = bufferSize === this.filteredEmoji.length\n if (bufferPrefilledAll && !forceUpdate) {\n return\n }\n this.customEmojiBufferSlice = LOAD_EMOJI_BY\n },\n toggleStickers () {\n this.showingStickers = !this.showingStickers\n },\n setShowStickers (value) {\n this.showingStickers = value\n }\n },\n watch: {\n keyword () {\n this.customEmojiLoadAllConfirmed = false\n this.onScroll()\n this.startEmojiLoad(true)\n }\n },\n computed: {\n activeGroupView () {\n return this.showingStickers ? '' : this.activeGroup\n },\n stickersAvailable () {\n if (this.$store.state.instance.stickers) {\n return this.$store.state.instance.stickers.length > 0\n }\n return 0\n },\n filteredEmoji () {\n return filterByKeyword(\n this.$store.state.instance.customEmoji || [],\n this.keyword\n )\n },\n customEmojiBuffer () {\n return this.filteredEmoji.slice(0, this.customEmojiBufferSlice)\n },\n emojis () {\n const standardEmojis = this.$store.state.instance.emoji || []\n const customEmojis = this.customEmojiBuffer\n\n return [\n {\n id: 'custom',\n text: this.$t('emoji.custom'),\n icon: 'smile-beam',\n emojis: customEmojis\n },\n {\n id: 'standard',\n text: this.$t('emoji.unicode'),\n icon: 'box-open',\n emojis: filterByKeyword(standardEmojis, this.keyword)\n }\n ]\n },\n emojisView () {\n return this.emojis.filter(value => value.emojis.length > 0)\n },\n stickerPickerEnabled () {\n return (this.$store.state.instance.stickers || []).length !== 0\n }\n }\n}\n\nexport default EmojiPicker\n","import { render } from \"./emoji_picker.vue?vue&type=template&id=50bb08b3\"\nimport script from \"./emoji_picker.js?vue&type=script&lang=js\"\nexport * from \"./emoji_picker.js?vue&type=script&lang=js\"\n\nimport \"./emoji_picker.scss?vue&type=style&index=0&lang=scss\"\n\nimport exportComponent from \"/home/hannah/personal/pleroma-fe/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import Completion from '../../services/completion/completion.js'\nimport EmojiPicker from '../emoji_picker/emoji_picker.vue'\nimport { take } from 'lodash'\nimport { findOffset } from '../../services/offset_finder/offset_finder.service.js'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faSmileBeam\n} from '@fortawesome/free-regular-svg-icons'\n\nlibrary.add(\n faSmileBeam\n)\n\n/**\n * EmojiInput - augmented inputs for emoji and autocomplete support in inputs\n * without having to give up the comfort of and