diff --git a/src/ui/dist/assets/Albums-2ca88dd0.js b/src/ui/dist/assets/Albums-184c439c.js similarity index 59% rename from src/ui/dist/assets/Albums-2ca88dd0.js rename to src/ui/dist/assets/Albums-184c439c.js index 354b4ca6a..154830af9 100644 --- a/src/ui/dist/assets/Albums-2ca88dd0.js +++ b/src/ui/dist/assets/Albums-184c439c.js @@ -1 +1 @@ -import{C as s}from"./CollectionHeader-693dcfcb.js";import{_ as t,e as a,c,g as n,o as _,m as d,n as p,a as l}from"./index-1d15d58c.js";const r={components:{CollectionHeader:s},name:"Albums"},m=e=>(d("data-v-f1ef2787"),e=e(),p(),e),i={class:"padding-20"},f=m(()=>l("div",{class:"albums"}," Albums ",-1));function u(e,v,b,h,C,x){const o=a("CollectionHeader");return _(),c("div",i,[n(o),f])}const $=t(r,[["render",u],["__scopeId","data-v-f1ef2787"]]);export{$ as default}; +import{C as s}from"./CollectionHeader-0134ecc9.js";import{_ as t,e as a,c,g as n,o as _,m as d,n as p,a as l}from"./index-286d536d.js";const r={components:{CollectionHeader:s},name:"Albums"},m=e=>(d("data-v-f1ef2787"),e=e(),p(),e),i={class:"padding-20"},f=m(()=>l("div",{class:"albums"}," Albums ",-1));function u(e,v,b,h,C,x){const o=a("CollectionHeader");return _(),c("div",i,[n(o),f])}const $=t(r,[["render",u],["__scopeId","data-v-f1ef2787"]]);export{$ as default}; diff --git a/src/ui/dist/assets/Artist-0e218e56.js.gz b/src/ui/dist/assets/Artist-0e218e56.js.gz deleted file mode 100644 index 147977219..000000000 Binary files a/src/ui/dist/assets/Artist-0e218e56.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Artist-0e218e56.js b/src/ui/dist/assets/Artist-701c2336.js similarity index 95% rename from src/ui/dist/assets/Artist-0e218e56.js rename to src/ui/dist/assets/Artist-701c2336.js index 12de78454..265689bbd 100644 --- a/src/ui/dist/assets/Artist-0e218e56.js +++ b/src/ui/dist/assets/Artist-701c2336.js @@ -1 +1 @@ -import{i as A,o as t,f as n,w as x,b as j,t as p,C as w,_ as F,B as D,s as H,D as R,q as h,G as N,E as q,c as o,ca as z,d as i,g as y,L as M,a,h as U,aZ as B,F as v,j as g,u as G,V as J,P as O,bX as W,cg as X,cl as Y,ck as E,bP as Z,m as K,n as Q}from"./index-1d15d58c.js";import{F as P}from"./FactCard-d063b1a1.js";import{P as ee}from"./PlaylistEntry-32f74c9a.js";import{s as te}from"./spotify-8606af53.js";import"./EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js";import"./playerInPicture-af203fdf.js";const ae=A({__name:"Tag",props:{tag:{type:String,required:!0},withHash:{type:Boolean,default:!1}},setup(d){return(b,C)=>(t(),n(w,{class:"tag px-4 py-2 cursor-pointer","with-hover":""},{default:x(()=>[j(p(d.withHash?"#":"")+p(d.tag),1)]),_:1}))}});const se=F(ae,[["__scopeId","data-v-2712639d"]]),k=d=>(K("data-v-58a94783"),d=d(),Q(),d),le={key:1,class:"fill-page"},oe={key:2,class:"artist p-4"},ne={class:"wrap"},re={class:"artist__data"},ie={class:"upper"},ue={class:"trac__info__details__normal"},ce={key:0,class:"mt-0 mb-2 flex flex-row gap-2"},de={class:"flex flew-row items-center"},_e={class:"font-black text-5xl ml-4"},ve={class:"features flex flex-row gap-4 mt-4 overflow-x-auto"},pe={class:"spotify-infos pt-4 pb-2"},me={class:"meta items-center"},fe={key:0,class:"flex flex-row align-items"},he=k(()=>a("span",{class:"material-symbols-rounded ms-fill mr-2"},"local_fire_department",-1)),ye={class:"font-bold"},ge=k(()=>a("hr",{class:"mb-4"},null,-1)),xe={class:"items"},we={key:0,class:"spotify-suggestions mt-4"},ke=k(()=>a("h2",null,"Top Tracks",-1)),be={class:"items"},Ce=k(()=>a("h2",null,"Related Artists",-1)),$e={class:"flex flex-row items-center gap-4"},Ie={class:"flex flex-col"},Se={class:"font-bold"},Te=A({__name:"Artist",setup(d){const b=D();H();const C=R(()=>b.params.name),e=h(null),m=h(null),u=h(null),f=h("url"),c=h(!1),$=async()=>{const r=await fetch(`/api/artists/${C.value}`);e.value=await r.json(),m.value=null,u.value="",c.value=!1,e.value.metadata.id.length==22&&(u.value="https://open.spotify.com/artist/"+e.value.metadata.id,c.value=!0),f.value="link"},I=async r=>{await fetch(`/api/artists/${C.value}`,{method:"PUT",body:JSON.stringify({spotifyId:r})}),e.value=null,await $()};N(u,()=>{var r,l;if(((l=(r=e.value)==null?void 0:r.metadata)==null?void 0:l.id)==E(u.value,"artist")){f.value="link";return}f.value="save"});const L=()=>{if(f.value=="link"){Y(u.value);return}I(E(u.value,"artist"))};return q($),N(()=>b.params.name,()=>{e.value=null,$()}),(r,l)=>{var S,T,V;return t(),o(v,null,[e.value?(t(),n(z,{key:0,src:e.value.cover,class:"-z-10"},null,8,["src"])):i("",!0),e.value?(t(),o("div",oe,[a("div",ne,[a("div",re,[a("div",ie,[y(U,{src:e.value.cover,class:"max-w-sm rounded-xl",placeholder:"person"},null,8,["src"]),a("div",{class:B([{"justify-end":e.value.metadata,"justify-center":!e.value.metadata},"track__info__details flex flex-col"])},[a("div",ue,[(S=e.value.metadata)!=null&&S.genres?(t(),o("div",ce,[(t(!0),o(v,null,g(e.value.metadata.genres,s=>(t(),n(se,{tag:s,"with-hash":""},null,8,["tag"]))),256))])):i("",!0),a("div",de,[a("h1",_e,p(e.value.name),1)])]),e.value.metadata?(t(),o(v,{key:0},[a("div",ve,[e.value.metadata.followers?(t(),n(P,{key:0,"primary-text":e.value.metadata.followers.toLocaleString(),class:"w-full","secondary-text":"Followers"},null,8,["primary-text"])):i("",!0),e.value.songs.length?(t(),n(P,{key:1,"primary-text":e.value.songs.length,class:"w-full","secondary-text":"Tracks in Your Library"},null,8,["primary-text"])):i("",!0)]),a("div",pe,[a("div",me,[e.value.metadata.popularity?(t(),o("span",fe,[he,a("span",ye,p(e.value.metadata.popularity),1)])):i("",!0)]),y(G(te),{class:B([{enabled:c.value},"spotify-enable"]),onClick:l[0]||(l[0]=s=>c.value=!c.value)},null,8,["class"]),c.value?(t(),n(J,{key:0,modelValue:u.value,"onUpdate:modelValue":l[1]||(l[1]=s=>u.value=s),icon:f.value,onClick:L},null,8,["modelValue","icon"])):i("",!0),a("span",{class:"material-symbols-rounded cursor-pointer",onClick:l[2]||(l[2]=s=>c.value?I(!1):I(!0))},p(c.value?"delete":"search"),1)])],64)):i("",!0)],2)]),y(O,{class:"hideIfMobile mt-8","with-album":"","with-more":""}),ge,a("div",xe,[(t(!0),o(v,null,g(e.value.songs,s=>W((t(),n(ee,{index:e.value.songs.findIndex(_=>_.source==s.source),selected:m.value==s.id,song:s,"playlist-id":"artist","with-album":"","with-cover":"","with-more":"",artist:e.value.name,onClick:_=>m.value==s.id?m.value=-1:m.value=s.id,onUpdate:l[3]||(l[3]=_=>r.$emit("update"))},null,8,["index","selected","song","artist","onClick"])),[[Z,!0]])),256))]),e.value.metadata?(t(),o("div",we,[(T=e.value.metadata.topTracks)!=null&&T.length?(t(),n(w,{key:0,class:"p-4"},{default:x(()=>[ke,a("div",be,[(t(!0),o(v,null,g(e.value.metadata.topTracks,(s,_)=>(t(),n(X,{index:_,song:s,"can-import":"","cannot-add":"","with-album":"","with-cover":"","with-more":"",onUpdate:l[4]||(l[4]=Ve=>r.$emit("update"))},null,8,["index","song"]))),256))])]),_:1})):i("",!0),(V=e.value.metadata.related)!=null&&V.length?(t(),n(w,{key:1,class:"p-4 flex flex-col gap-2 related overflow-y-auto"},{default:x(()=>[Ce,(t(!0),o(v,null,g(e.value.metadata.related,s=>(t(),n(w,{class:"cursor-pointer px-4 py-2","with-hover":"",onClick:_=>r.$router.push(`/artist/${s.name}`)},{default:x(()=>[a("div",$e,[y(U,{src:s.cover,class:"w-8 h-8 rounded-xl",placeholder:"person"},null,8,["src"]),a("div",Ie,[a("h3",Se,p(s.name),1)])])]),_:2},1032,["onClick"]))),256))]),_:1})):i("",!0)])):i("",!0)])])])):(t(),o("div",le,[y(M)]))],64)}}});const Fe=F(Te,[["__scopeId","data-v-58a94783"]]);export{Fe as default}; +import{i as A,o as t,f as n,w as x,b as j,t as p,C as w,_ as F,B as D,s as H,D as R,q as h,G as N,E as q,c as o,ca as z,d as i,g as y,L as M,a,h as U,aZ as B,F as v,j as g,u as G,V as J,P as O,bX as W,cg as X,cl as Y,ck as E,bP as Z,m as K,n as Q}from"./index-286d536d.js";import{F as P}from"./FactCard-ecaa8541.js";import{P as ee}from"./PlaylistEntry-bb67bf25.js";import{s as te}from"./spotify-ec5e61f9.js";import"./EditSong.vue_vue_type_script_setup_true_lang-94868e65.js";import"./playerInPicture-af203fdf.js";const ae=A({__name:"Tag",props:{tag:{type:String,required:!0},withHash:{type:Boolean,default:!1}},setup(d){return(b,C)=>(t(),n(w,{class:"tag px-4 py-2 cursor-pointer","with-hover":""},{default:x(()=>[j(p(d.withHash?"#":"")+p(d.tag),1)]),_:1}))}});const se=F(ae,[["__scopeId","data-v-2712639d"]]),k=d=>(K("data-v-58a94783"),d=d(),Q(),d),le={key:1,class:"fill-page"},oe={key:2,class:"artist p-4"},ne={class:"wrap"},re={class:"artist__data"},ie={class:"upper"},ue={class:"trac__info__details__normal"},ce={key:0,class:"mt-0 mb-2 flex flex-row gap-2"},de={class:"flex flew-row items-center"},_e={class:"font-black text-5xl ml-4"},ve={class:"features flex flex-row gap-4 mt-4 overflow-x-auto"},pe={class:"spotify-infos pt-4 pb-2"},me={class:"meta items-center"},fe={key:0,class:"flex flex-row align-items"},he=k(()=>a("span",{class:"material-symbols-rounded ms-fill mr-2"},"local_fire_department",-1)),ye={class:"font-bold"},ge=k(()=>a("hr",{class:"mb-4"},null,-1)),xe={class:"items"},we={key:0,class:"spotify-suggestions mt-4"},ke=k(()=>a("h2",null,"Top Tracks",-1)),be={class:"items"},Ce=k(()=>a("h2",null,"Related Artists",-1)),$e={class:"flex flex-row items-center gap-4"},Ie={class:"flex flex-col"},Se={class:"font-bold"},Te=A({__name:"Artist",setup(d){const b=D();H();const C=R(()=>b.params.name),e=h(null),m=h(null),u=h(null),f=h("url"),c=h(!1),$=async()=>{const r=await fetch(`/api/artists/${C.value}`);e.value=await r.json(),m.value=null,u.value="",c.value=!1,e.value.metadata.id.length==22&&(u.value="https://open.spotify.com/artist/"+e.value.metadata.id,c.value=!0),f.value="link"},I=async r=>{await fetch(`/api/artists/${C.value}`,{method:"PUT",body:JSON.stringify({spotifyId:r})}),e.value=null,await $()};N(u,()=>{var r,l;if(((l=(r=e.value)==null?void 0:r.metadata)==null?void 0:l.id)==E(u.value,"artist")){f.value="link";return}f.value="save"});const L=()=>{if(f.value=="link"){Y(u.value);return}I(E(u.value,"artist"))};return q($),N(()=>b.params.name,()=>{e.value=null,$()}),(r,l)=>{var S,T,V;return t(),o(v,null,[e.value?(t(),n(z,{key:0,src:e.value.cover,class:"-z-10"},null,8,["src"])):i("",!0),e.value?(t(),o("div",oe,[a("div",ne,[a("div",re,[a("div",ie,[y(U,{src:e.value.cover,class:"max-w-sm rounded-xl",placeholder:"person"},null,8,["src"]),a("div",{class:B([{"justify-end":e.value.metadata,"justify-center":!e.value.metadata},"track__info__details flex flex-col"])},[a("div",ue,[(S=e.value.metadata)!=null&&S.genres?(t(),o("div",ce,[(t(!0),o(v,null,g(e.value.metadata.genres,s=>(t(),n(se,{tag:s,"with-hash":""},null,8,["tag"]))),256))])):i("",!0),a("div",de,[a("h1",_e,p(e.value.name),1)])]),e.value.metadata?(t(),o(v,{key:0},[a("div",ve,[e.value.metadata.followers?(t(),n(P,{key:0,"primary-text":e.value.metadata.followers.toLocaleString(),class:"w-full","secondary-text":"Followers"},null,8,["primary-text"])):i("",!0),e.value.songs.length?(t(),n(P,{key:1,"primary-text":e.value.songs.length,class:"w-full","secondary-text":"Tracks in Your Library"},null,8,["primary-text"])):i("",!0)]),a("div",pe,[a("div",me,[e.value.metadata.popularity?(t(),o("span",fe,[he,a("span",ye,p(e.value.metadata.popularity),1)])):i("",!0)]),y(G(te),{class:B([{enabled:c.value},"spotify-enable"]),onClick:l[0]||(l[0]=s=>c.value=!c.value)},null,8,["class"]),c.value?(t(),n(J,{key:0,modelValue:u.value,"onUpdate:modelValue":l[1]||(l[1]=s=>u.value=s),icon:f.value,onClick:L},null,8,["modelValue","icon"])):i("",!0),a("span",{class:"material-symbols-rounded cursor-pointer",onClick:l[2]||(l[2]=s=>c.value?I(!1):I(!0))},p(c.value?"delete":"search"),1)])],64)):i("",!0)],2)]),y(O,{class:"hideIfMobile mt-8","with-album":"","with-more":""}),ge,a("div",xe,[(t(!0),o(v,null,g(e.value.songs,s=>W((t(),n(ee,{index:e.value.songs.findIndex(_=>_.source==s.source),selected:m.value==s.id,song:s,"playlist-id":"artist","with-album":"","with-cover":"","with-more":"",artist:e.value.name,onClick:_=>m.value==s.id?m.value=-1:m.value=s.id,onUpdate:l[3]||(l[3]=_=>r.$emit("update"))},null,8,["index","selected","song","artist","onClick"])),[[Z,!0]])),256))]),e.value.metadata?(t(),o("div",we,[(T=e.value.metadata.topTracks)!=null&&T.length?(t(),n(w,{key:0,class:"p-4"},{default:x(()=>[ke,a("div",be,[(t(!0),o(v,null,g(e.value.metadata.topTracks,(s,_)=>(t(),n(X,{index:_,song:s,"can-import":"","cannot-add":"","with-album":"","with-cover":"","with-more":"",onUpdate:l[4]||(l[4]=Ve=>r.$emit("update"))},null,8,["index","song"]))),256))])]),_:1})):i("",!0),(V=e.value.metadata.related)!=null&&V.length?(t(),n(w,{key:1,class:"p-4 flex flex-col gap-2 related overflow-y-auto"},{default:x(()=>[Ce,(t(!0),o(v,null,g(e.value.metadata.related,s=>(t(),n(w,{class:"cursor-pointer px-4 py-2","with-hover":"",onClick:_=>r.$router.push(`/artist/${s.name}`)},{default:x(()=>[a("div",$e,[y(U,{src:s.cover,class:"w-8 h-8 rounded-xl",placeholder:"person"},null,8,["src"]),a("div",Ie,[a("h3",Se,p(s.name),1)])])]),_:2},1032,["onClick"]))),256))]),_:1})):i("",!0)])):i("",!0)])])])):(t(),o("div",le,[y(M)]))],64)}}});const Fe=F(Te,[["__scopeId","data-v-58a94783"]]);export{Fe as default}; diff --git a/src/ui/dist/assets/Artist-701c2336.js.gz b/src/ui/dist/assets/Artist-701c2336.js.gz new file mode 100644 index 000000000..08bfa41f8 Binary files /dev/null and b/src/ui/dist/assets/Artist-701c2336.js.gz differ diff --git a/src/ui/dist/assets/Artists-8ad4193c.js.gz b/src/ui/dist/assets/Artists-8ad4193c.js.gz deleted file mode 100644 index ad0d12a81..000000000 Binary files a/src/ui/dist/assets/Artists-8ad4193c.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Artists-8ad4193c.js b/src/ui/dist/assets/Artists-8ef7411e.js similarity index 91% rename from src/ui/dist/assets/Artists-8ad4193c.js rename to src/ui/dist/assets/Artists-8ef7411e.js index 3d3a401c5..2dd2dc75b 100644 --- a/src/ui/dist/assets/Artists-8ad4193c.js +++ b/src/ui/dist/assets/Artists-8ef7411e.js @@ -1 +1 @@ -import{F as C}from"./FullShelf-d5d3eac0.js";import{_ as h,C as F,e as i,o as n,f as w,w as g,g as f,a as e,t as m,c as p,J as u,d as A,F as B,j as S}from"./index-1d15d58c.js";import{C as k}from"./CollectionHeader-693dcfcb.js";const x={components:{Card:F},name:"ArtistItem",methods:{follow(o){o.stopPropagation();const s=this.following?"DELETE":"POST";fetch("/api/spotify/following",{method:s,body:JSON.stringify({artistId:this.id})}).then(t=>{t.status==200&&(this.following=!this.following)})}},data(){return{following:this.initiallyFollowing}},props:{cover:String,name:String,description:String,id:String,initiallyFollowing:Boolean,showFollowButton:Boolean}},I={class:"item"},b=["src"],H=["innerHTML"];function E(o,s,t,y,r,c){const d=i("add-artist-to-playlist"),_=i("Card");return n(),w(_,{class:"wrapper","with-hover":"",onClick:s[1]||(s[1]=u(l=>o.$router.push("/artist/"+t.name),["stop"]))},{default:g(()=>[f(d,{ref:"import",artist:{id:t.id,name:t.name,href:`https://open.spotify.com/artist/${t.id}`,image:t.cover}},null,8,["artist"]),e("div",I,[e("img",{src:t.cover},null,8,b),e("h4",null,m(t.name),1),e("p",{innerHTML:t.description},null,8,H),t.showFollowButton?(n(),p("button",{key:0,class:"followButton",onClick:s[0]||(s[0]=u((...l)=>c.follow&&c.follow(...l),["stop"]))},m(r.following?"unfollow":"Follow"),1)):A("",!0)])]),_:1})}const L=h(x,[["render",E],["__scopeId","data-v-353b4692"]]);const N={components:{CollectionHeader:k,ArtistItem:L,FullShelf:C},name:"Artists",data(){return fetch("/api/spotify/artists").then(o=>o.json()).then(o=>this.spotifyArtists.push(...o)),{spotifyArtists:[]}}},T={class:"padding-20"},M={class:"artists"};function V(o,s,t,y,r,c){const d=i("CollectionHeader"),_=i("artist-item"),l=i("full-shelf");return n(),p("div",T,[f(d),e("div",M,[f(l,{heading:"Following on Spotify"},{default:g(()=>[(n(!0),p(B,null,S(r.spotifyArtists,(a,v)=>(n(),w(_,{id:a.id,key:v,cover:a.cover,description:a.description,name:a.name,"initially-following":"","show-follow-button":""},null,8,["id","cover","description","name"]))),128))]),_:1})])])}const O=h(N,[["render",V],["__scopeId","data-v-f17668c2"]]);export{O as default}; +import{F as C}from"./FullShelf-77f6f5f1.js";import{_ as h,C as F,e as i,o as n,f as w,w as g,g as f,a as e,t as m,c as p,J as u,d as A,F as B,j as S}from"./index-286d536d.js";import{C as k}from"./CollectionHeader-0134ecc9.js";const x={components:{Card:F},name:"ArtistItem",methods:{follow(o){o.stopPropagation();const s=this.following?"DELETE":"POST";fetch("/api/spotify/following",{method:s,body:JSON.stringify({artistId:this.id})}).then(t=>{t.status==200&&(this.following=!this.following)})}},data(){return{following:this.initiallyFollowing}},props:{cover:String,name:String,description:String,id:String,initiallyFollowing:Boolean,showFollowButton:Boolean}},I={class:"item"},b=["src"],H=["innerHTML"];function E(o,s,t,y,r,c){const d=i("add-artist-to-playlist"),_=i("Card");return n(),w(_,{class:"wrapper","with-hover":"",onClick:s[1]||(s[1]=u(l=>o.$router.push("/artist/"+t.name),["stop"]))},{default:g(()=>[f(d,{ref:"import",artist:{id:t.id,name:t.name,href:`https://open.spotify.com/artist/${t.id}`,image:t.cover}},null,8,["artist"]),e("div",I,[e("img",{src:t.cover},null,8,b),e("h4",null,m(t.name),1),e("p",{innerHTML:t.description},null,8,H),t.showFollowButton?(n(),p("button",{key:0,class:"followButton",onClick:s[0]||(s[0]=u((...l)=>c.follow&&c.follow(...l),["stop"]))},m(r.following?"unfollow":"Follow"),1)):A("",!0)])]),_:1})}const L=h(x,[["render",E],["__scopeId","data-v-353b4692"]]);const N={components:{CollectionHeader:k,ArtistItem:L,FullShelf:C},name:"Artists",data(){return fetch("/api/spotify/artists").then(o=>o.json()).then(o=>this.spotifyArtists.push(...o)),{spotifyArtists:[]}}},T={class:"padding-20"},M={class:"artists"};function V(o,s,t,y,r,c){const d=i("CollectionHeader"),_=i("artist-item"),l=i("full-shelf");return n(),p("div",T,[f(d),e("div",M,[f(l,{heading:"Following on Spotify"},{default:g(()=>[(n(!0),p(B,null,S(r.spotifyArtists,(a,v)=>(n(),w(_,{id:a.id,key:v,cover:a.cover,description:a.description,name:a.name,"initially-following":"","show-follow-button":""},null,8,["id","cover","description","name"]))),128))]),_:1})])])}const O=h(N,[["render",V],["__scopeId","data-v-f17668c2"]]);export{O as default}; diff --git a/src/ui/dist/assets/Artists-8ef7411e.js.gz b/src/ui/dist/assets/Artists-8ef7411e.js.gz new file mode 100644 index 000000000..02e1f151d Binary files /dev/null and b/src/ui/dist/assets/Artists-8ef7411e.js.gz differ diff --git a/src/ui/dist/assets/BigPlayer-fe0f9e65.js b/src/ui/dist/assets/BigPlayer-c0cc19bd.js similarity index 90% rename from src/ui/dist/assets/BigPlayer-fe0f9e65.js rename to src/ui/dist/assets/BigPlayer-c0cc19bd.js index 71a47a666..489926864 100644 --- a/src/ui/dist/assets/BigPlayer-fe0f9e65.js +++ b/src/ui/dist/assets/BigPlayer-c0cc19bd.js @@ -1 +1 @@ -import{i as T,c8 as z,k as D,D as c,q as m,G as E,E as M,e as V,o as a,c as p,u as o,F as h,a as s,g as k,aZ as w,h as q,f as x,w as F,d as j,t as C,z as A,j as G,J,m as L,n as O,_ as Z}from"./index-1d15d58c.js";import{_ as H}from"./Playlist.vue_vue_type_script_setup_true_lang-b6ff16a9.js";import{P as K}from"./PlaylistItem-b2b662c6.js";import"./PlaylistEntry-32f74c9a.js";import"./EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js";import"./playerInPicture-af203fdf.js";const _=r=>(L("data-v-a333f56f"),r=r(),O(),r),Q={class:"bigPlayer"},R={class:"upNow"},U=_(()=>s("div",{style:{"animation-delay":"0s"},class:"block"},null,-1)),W=_(()=>s("div",{style:{"animation-delay":".25s"},class:"block"},null,-1)),X=_(()=>s("div",{style:{"animation-delay":".5s"},class:"block"},null,-1)),Y=[U,W,X],ss={class:"settings"},es={key:1,class:"no-playlist-selected"},ts={class:"wrapper"},as=_(()=>s("h2",null,"Nothing playing yet...",-1)),os={class:"playlists"},ls=T({__name:"BigPlayer",emits:["maximise"],setup(r,{emit:B}){const e=z(),b=D(),v=c(()=>e.playing),P=c(()=>e.song.cover),S=c(()=>e.song.id),f=c(()=>e.loaded?`${e.song.title} • ${e.song.artist}`:"reAudioPlayer One"),I=c(()=>b.playlists),g=m(null),$=B;document.title=f.value,E(f,n=>{document.title=n}),M(()=>{window.setTimeout(()=>{var t,u;if((t=g.value)!=null&&t.scrollTop)return;const n=(u=document.getElementById(`bplayer-entry-${S.value}`))==null?void 0:u.offsetTop;n>=354&&(g.value.scrollTop=n-354)},1e3)});let d=m(!1);const N=()=>{d.value=!d.value,$("maximise",d.value)},y=m(!1),l=m(!1);return(n,t)=>{const u=V("Card");return a(),p("div",Q,[o(e).loaded?(a(),p(h,{key:0},[s("div",R,[k(q,{class:w([{playing:v.value,animate:l.value},"drop-shadow-2xl"]),src:P.value,type:"track","with-ambient":""},null,8,["class","src"]),s("div",{class:w([{playing:v.value,animate:l.value},"blocks"])},Y,2)]),o(e).playlist?(a(),x(u,{class:"playlist-overflow drop-shadow-2xl relative",key:o(e).playlist.id},{default:F(()=>[k(H,{playlist:o(e).playlist,"use-queue":""},null,8,["playlist"])]),_:1})):j("",!0),s("div",ss,[s("span",{class:"iconButton material-symbols-rounded",onClick:N},C(o(d)?"fullscreen_exit":"fullscreen"),1),s("span",{style:A({transform:`rotate(${y.value?0:180}deg)`}),class:"iconButton material-symbols-rounded",onClick:t[0]||(t[0]=()=>y.value=!y.value)},"menu_open",4),s("span",{class:"iconButton material-symbols-rounded",onClick:t[1]||(t[1]=()=>l.value=!l.value)},C(l.value?"motion_photos_off":"animation"),1)])],64)):(a(),p("div",es,[s("div",ts,[as,s("div",os,[(a(!0),p(h,null,G(I.value,i=>(a(),x(K,{key:i.id,cover:i.cover,description:i.description,title:i.name,onClick:J(()=>o(e).loadPlaylist(i.id),["stop"])},null,8,["cover","description","title","onClick"]))),128))])])]))])}}});const ms=Z(ls,[["__scopeId","data-v-a333f56f"]]);export{ms as default}; +import{i as T,c8 as z,k as D,D as c,q as m,G as E,E as M,e as V,o as a,c as p,u as o,F as h,a as s,g as k,aZ as w,h as q,f as x,w as F,d as j,t as C,z as A,j as G,J,m as L,n as O,_ as Z}from"./index-286d536d.js";import{_ as H}from"./Playlist.vue_vue_type_script_setup_true_lang-2e3ae256.js";import{P as K}from"./PlaylistItem-6fc351b2.js";import"./PlaylistEntry-bb67bf25.js";import"./EditSong.vue_vue_type_script_setup_true_lang-94868e65.js";import"./playerInPicture-af203fdf.js";const _=r=>(L("data-v-a333f56f"),r=r(),O(),r),Q={class:"bigPlayer"},R={class:"upNow"},U=_(()=>s("div",{style:{"animation-delay":"0s"},class:"block"},null,-1)),W=_(()=>s("div",{style:{"animation-delay":".25s"},class:"block"},null,-1)),X=_(()=>s("div",{style:{"animation-delay":".5s"},class:"block"},null,-1)),Y=[U,W,X],ss={class:"settings"},es={key:1,class:"no-playlist-selected"},ts={class:"wrapper"},as=_(()=>s("h2",null,"Nothing playing yet...",-1)),os={class:"playlists"},ls=T({__name:"BigPlayer",emits:["maximise"],setup(r,{emit:B}){const e=z(),b=D(),v=c(()=>e.playing),P=c(()=>e.song.cover),S=c(()=>e.song.id),f=c(()=>e.loaded?`${e.song.title} • ${e.song.artist}`:"reAudioPlayer One"),I=c(()=>b.playlists),g=m(null),$=B;document.title=f.value,E(f,n=>{document.title=n}),M(()=>{window.setTimeout(()=>{var t,u;if((t=g.value)!=null&&t.scrollTop)return;const n=(u=document.getElementById(`bplayer-entry-${S.value}`))==null?void 0:u.offsetTop;n>=354&&(g.value.scrollTop=n-354)},1e3)});let d=m(!1);const N=()=>{d.value=!d.value,$("maximise",d.value)},y=m(!1),l=m(!1);return(n,t)=>{const u=V("Card");return a(),p("div",Q,[o(e).loaded?(a(),p(h,{key:0},[s("div",R,[k(q,{class:w([{playing:v.value,animate:l.value},"drop-shadow-2xl"]),src:P.value,type:"track","with-ambient":""},null,8,["class","src"]),s("div",{class:w([{playing:v.value,animate:l.value},"blocks"])},Y,2)]),o(e).playlist?(a(),x(u,{class:"playlist-overflow drop-shadow-2xl relative",key:o(e).playlist.id},{default:F(()=>[k(H,{playlist:o(e).playlist,"use-queue":""},null,8,["playlist"])]),_:1})):j("",!0),s("div",ss,[s("span",{class:"iconButton material-symbols-rounded",onClick:N},C(o(d)?"fullscreen_exit":"fullscreen"),1),s("span",{style:A({transform:`rotate(${y.value?0:180}deg)`}),class:"iconButton material-symbols-rounded",onClick:t[0]||(t[0]=()=>y.value=!y.value)},"menu_open",4),s("span",{class:"iconButton material-symbols-rounded",onClick:t[1]||(t[1]=()=>l.value=!l.value)},C(l.value?"motion_photos_off":"animation"),1)])],64)):(a(),p("div",es,[s("div",ts,[as,s("div",os,[(a(!0),p(h,null,G(I.value,i=>(a(),x(K,{key:i.id,cover:i.cover,description:i.description,title:i.name,onClick:J(()=>o(e).loadPlaylist(i.id),["stop"])},null,8,["cover","description","title","onClick"]))),128))])])]))])}}});const ms=Z(ls,[["__scopeId","data-v-a333f56f"]]);export{ms as default}; diff --git a/src/ui/dist/assets/BigPlayer-c0cc19bd.js.gz b/src/ui/dist/assets/BigPlayer-c0cc19bd.js.gz new file mode 100644 index 000000000..6d4a45201 Binary files /dev/null and b/src/ui/dist/assets/BigPlayer-c0cc19bd.js.gz differ diff --git a/src/ui/dist/assets/BigPlayer-fe0f9e65.js.gz b/src/ui/dist/assets/BigPlayer-fe0f9e65.js.gz deleted file mode 100644 index 4832fea56..000000000 Binary files a/src/ui/dist/assets/BigPlayer-fe0f9e65.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Breaking-795a537c.js b/src/ui/dist/assets/Breaking-795a537c.js new file mode 100644 index 000000000..88cffb129 --- /dev/null +++ b/src/ui/dist/assets/Breaking-795a537c.js @@ -0,0 +1 @@ +import{T as r}from"./Template-8dffc963.js";import{f as o,o as t}from"./index-286d536d.js";import"./PlaylistEntry-bb67bf25.js";import"./EditSong.vue_vue_type_script_setup_true_lang-94868e65.js";import"./playerInPicture-af203fdf.js";import"./FactCard-ecaa8541.js";import"./gistClient-be4ed4e2.js";import"./Markdown.vue_vue_type_style_index_0_lang-d9462c8d.js";const k={__name:"Breaking",setup(e){return(p,i)=>(t(),o(r,{id:"breaking","cover-icon":"trending_up"}))}};export{k as default}; diff --git a/src/ui/dist/assets/Breaking-e9fbbd65.js b/src/ui/dist/assets/Breaking-e9fbbd65.js deleted file mode 100644 index 2adb85c5a..000000000 --- a/src/ui/dist/assets/Breaking-e9fbbd65.js +++ /dev/null @@ -1 +0,0 @@ -import{T as r}from"./Template-a12b99e6.js";import{f as o,o as t}from"./index-1d15d58c.js";import"./PlaylistEntry-32f74c9a.js";import"./EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js";import"./playerInPicture-af203fdf.js";import"./FactCard-d063b1a1.js";import"./gistClient-63d02b96.js";import"./Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js";const k={__name:"Breaking",setup(e){return(p,i)=>(t(),o(r,{id:"breaking","cover-icon":"trending_up"}))}};export{k as default}; diff --git a/src/ui/dist/assets/CollectionHeader-693dcfcb.js b/src/ui/dist/assets/CollectionHeader-0134ecc9.js similarity index 91% rename from src/ui/dist/assets/CollectionHeader-693dcfcb.js rename to src/ui/dist/assets/CollectionHeader-0134ecc9.js index 2cfaf1b30..e8a5d0405 100644 --- a/src/ui/dist/assets/CollectionHeader-693dcfcb.js +++ b/src/ui/dist/assets/CollectionHeader-0134ecc9.js @@ -1 +1 @@ -import{_ as l,e as n,c as _,g as s,w as t,d as i,o as d,m as r,n as p,a as c}from"./index-1d15d58c.js";const u={name:"CollectionHeader",props:{href:String}},a=e=>(r("data-v-88d87bb1"),e=e(),p(),e),m={class:"wrapper"},f=a(()=>c("div",{class:"collection"}," Playlists ",-1)),h=a(()=>c("div",{class:"collection"}," Releases ",-1)),v=a(()=>c("div",{class:"collection"}," Artists ",-1));function k(e,C,b,x,w,y){const o=n("router-link");return d(),_("div",m,[s(o,{class:"link",to:"/collection/playlists"},{default:t(()=>[f]),_:1}),s(o,{class:"link",to:"/collection/releases"},{default:t(()=>[h]),_:1}),s(o,{class:"link",to:"/collection/artists"},{default:t(()=>[v]),_:1}),i("",!0)])}const S=l(u,[["render",k],["__scopeId","data-v-88d87bb1"]]);export{S as C}; +import{_ as l,e as n,c as _,g as s,w as t,d as i,o as d,m as r,n as p,a as c}from"./index-286d536d.js";const u={name:"CollectionHeader",props:{href:String}},a=e=>(r("data-v-88d87bb1"),e=e(),p(),e),m={class:"wrapper"},f=a(()=>c("div",{class:"collection"}," Playlists ",-1)),h=a(()=>c("div",{class:"collection"}," Releases ",-1)),v=a(()=>c("div",{class:"collection"}," Artists ",-1));function k(e,C,b,x,w,y){const o=n("router-link");return d(),_("div",m,[s(o,{class:"link",to:"/collection/playlists"},{default:t(()=>[f]),_:1}),s(o,{class:"link",to:"/collection/releases"},{default:t(()=>[h]),_:1}),s(o,{class:"link",to:"/collection/artists"},{default:t(()=>[v]),_:1}),i("",!0)])}const S=l(u,[["render",k],["__scopeId","data-v-88d87bb1"]]);export{S as C}; diff --git a/src/ui/dist/assets/Create-9551fe1a.js b/src/ui/dist/assets/Create-92ac9a69.js similarity index 94% rename from src/ui/dist/assets/Create-9551fe1a.js rename to src/ui/dist/assets/Create-92ac9a69.js index 11a8b0663..e496f7ea7 100644 --- a/src/ui/dist/assets/Create-9551fe1a.js +++ b/src/ui/dist/assets/Create-92ac9a69.js @@ -1 +1 @@ -import{i as d,s as u,o as p,c as m,a as s,g as c,w as n,C as i,N as y,m as f,n as x,_ as h}from"./index-1d15d58c.js";const e=a=>(f("data-v-4acb5804"),a=a(),x(),a),v={class:"flex h-full w-full items-center justify-center"},C={class:"types"},w=e(()=>s("div",{class:"flex flex-row justify-center"},[s("span",{class:"text-9xl material-symbols-rounded icon"},"library_music")],-1)),b=e(()=>s("h4",null,"Classic Playlist",-1)),k=e(()=>s("p",{class:"text-sm text-muted"},"Manage your playlist manually",-1)),I=e(()=>s("div",{class:"flex flex-row justify-center"},[s("span",{class:"text-9xl material-symbols-rounded icon"},"bolt")],-1)),S=e(()=>s("h4",null,"Smart Playlist",-1)),g=e(()=>s("p",{class:"text-sm text-muted"}," Define rules to automatically update your playlist ",-1)),j=d({__name:"Create",setup(a){const r=u(),o=async l=>{const t=await y(l);r.push(t)};return(l,t)=>(p(),m("div",v,[s("div",C,[c(i,{"with-hover":"",class:"cursor-pointer",onClick:t[0]||(t[0]=_=>o("classic"))},{default:n(()=>[w,b,k]),_:1}),c(i,{"with-hover":"",class:"cursor-pointer",onClick:t[1]||(t[1]=_=>o("smart"))},{default:n(()=>[I,S,g]),_:1})])]))}});const N=h(j,[["__scopeId","data-v-4acb5804"]]);export{N as default}; +import{i as d,s as u,o as p,c as m,a as s,g as c,w as n,C as i,N as y,m as f,n as x,_ as h}from"./index-286d536d.js";const e=a=>(f("data-v-4acb5804"),a=a(),x(),a),v={class:"flex h-full w-full items-center justify-center"},C={class:"types"},w=e(()=>s("div",{class:"flex flex-row justify-center"},[s("span",{class:"text-9xl material-symbols-rounded icon"},"library_music")],-1)),b=e(()=>s("h4",null,"Classic Playlist",-1)),k=e(()=>s("p",{class:"text-sm text-muted"},"Manage your playlist manually",-1)),I=e(()=>s("div",{class:"flex flex-row justify-center"},[s("span",{class:"text-9xl material-symbols-rounded icon"},"bolt")],-1)),S=e(()=>s("h4",null,"Smart Playlist",-1)),g=e(()=>s("p",{class:"text-sm text-muted"}," Define rules to automatically update your playlist ",-1)),j=d({__name:"Create",setup(a){const r=u(),o=async l=>{const t=await y(l);r.push(t)};return(l,t)=>(p(),m("div",v,[s("div",C,[c(i,{"with-hover":"",class:"cursor-pointer",onClick:t[0]||(t[0]=_=>o("classic"))},{default:n(()=>[w,b,k]),_:1}),c(i,{"with-hover":"",class:"cursor-pointer",onClick:t[1]||(t[1]=_=>o("smart"))},{default:n(()=>[I,S,g]),_:1})])]))}});const N=h(j,[["__scopeId","data-v-4acb5804"]]);export{N as default}; diff --git a/src/ui/dist/assets/Create-92ac9a69.js.gz b/src/ui/dist/assets/Create-92ac9a69.js.gz new file mode 100644 index 000000000..55ee148db Binary files /dev/null and b/src/ui/dist/assets/Create-92ac9a69.js.gz differ diff --git a/src/ui/dist/assets/Create-9551fe1a.js.gz b/src/ui/dist/assets/Create-9551fe1a.js.gz deleted file mode 100644 index 2150dafc8..000000000 Binary files a/src/ui/dist/assets/Create-9551fe1a.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js similarity index 96% rename from src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js rename to src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js index 6303b78c0..d0aa21610 100644 --- a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js +++ b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js @@ -1 +1 @@ -import{i as y,q as s,G as w,o as b,f as x,w as _,g as h,x as S,c3 as k,cK as q,cr as F}from"./index-1d15d58c.js";const j=y({__name:"EditSong",props:{song:{type:Object,required:!0}},emits:["close","update"],setup(u,{expose:l,emit:p}){const a=u,m=p,i=async(t,e)=>{const o=new FormData,v="."+e.name.split(".").pop();var f=e.slice(0,e.size,e.type),g=new File([f],a.song.id+v,{type:e.type});return o.append("file",g),await(await fetch(t,{method:"POST",body:o})).text()},n=s([{name:"source",type:"upload",icon:"music_note",accept:"audio/mp3",required:!0,onUpload:t=>{i("/api/config/tracks",t).then(e=>n.value.find(o=>o.name=="source").value=e)},value:a.song.source},{name:"title",type:"text",icon:"title",required:!0,value:a.song.title},{name:"artist",type:"text",icon:"person",required:!0,value:a.song.artist},{name:"album",type:"text",icon:"album",value:a.song.album},{name:"cover",type:"upload",icon:"art_track",accept:"image/*",imagePreview:!0,value:a.song.cover,onUpload:t=>{i("/api/config/images",t).then(e=>n.value.find(o=>o.name=="cover").value=e)}}]),d=async()=>{const t=c.value.toObject();await q({...a.song,...t}),m("update"),F.addSuccess(t.title,"Updated",3e3)},r=s(null),c=s(null);return l({show:()=>{r.value.show()}}),w(a,()=>{var t;for(const e of n.value.map(o=>o.name))n.value.find(o=>o.name==e).value=(t=a.song)==null?void 0:t[e]},{deep:!0}),(t,e)=>(b(),x(k,{ref_key:"modal",ref:r,submit:{label:"Save",icon:"save"},name:"Edit Song",onClose:e[0]||(e[0]=o=>t.$emit("close")),onSubmit:d},{default:_(()=>[h(S,{ref_key:"form",ref:c,options:n.value},null,8,["options"])]),_:1},512))}});export{j as _}; +import{i as y,q as s,G as w,o as b,f as x,w as _,g as h,x as S,c3 as k,cK as q,cr as F}from"./index-286d536d.js";const j=y({__name:"EditSong",props:{song:{type:Object,required:!0}},emits:["close","update"],setup(u,{expose:l,emit:p}){const a=u,m=p,i=async(t,e)=>{const o=new FormData,v="."+e.name.split(".").pop();var f=e.slice(0,e.size,e.type),g=new File([f],a.song.id+v,{type:e.type});return o.append("file",g),await(await fetch(t,{method:"POST",body:o})).text()},n=s([{name:"source",type:"upload",icon:"music_note",accept:"audio/mp3",required:!0,onUpload:t=>{i("/api/config/tracks",t).then(e=>n.value.find(o=>o.name=="source").value=e)},value:a.song.source},{name:"title",type:"text",icon:"title",required:!0,value:a.song.title},{name:"artist",type:"text",icon:"person",required:!0,value:a.song.artist},{name:"album",type:"text",icon:"album",value:a.song.album},{name:"cover",type:"upload",icon:"art_track",accept:"image/*",imagePreview:!0,value:a.song.cover,onUpload:t=>{i("/api/config/images",t).then(e=>n.value.find(o=>o.name=="cover").value=e)}}]),d=async()=>{const t=c.value.toObject();await q({...a.song,...t}),m("update"),F.addSuccess(t.title,"Updated",3e3)},r=s(null),c=s(null);return l({show:()=>{r.value.show()}}),w(a,()=>{var t;for(const e of n.value.map(o=>o.name))n.value.find(o=>o.name==e).value=(t=a.song)==null?void 0:t[e]},{deep:!0}),(t,e)=>(b(),x(k,{ref_key:"modal",ref:r,submit:{label:"Save",icon:"save"},name:"Edit Song",onClose:e[0]||(e[0]=o=>t.$emit("close")),onSubmit:d},{default:_(()=>[h(S,{ref_key:"form",ref:c,options:n.value},null,8,["options"])]),_:1},512))}});export{j as _}; diff --git a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js.gz b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js.gz new file mode 100644 index 000000000..061fc1b68 Binary files /dev/null and b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js.gz differ diff --git a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js.gz b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js.gz deleted file mode 100644 index 80f9f3dba..000000000 Binary files a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Editor-2cdd6692.js.gz b/src/ui/dist/assets/Editor-2cdd6692.js.gz deleted file mode 100644 index d6dc7f9f9..000000000 Binary files a/src/ui/dist/assets/Editor-2cdd6692.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Editor-2cdd6692.js b/src/ui/dist/assets/Editor-cd9fc5c1.js similarity index 91% rename from src/ui/dist/assets/Editor-2cdd6692.js rename to src/ui/dist/assets/Editor-cd9fc5c1.js index 5f36fdd2b..18e5a1571 100644 --- a/src/ui/dist/assets/Editor-2cdd6692.js +++ b/src/ui/dist/assets/Editor-cd9fc5c1.js @@ -1 +1 @@ -import{i as S,B as x,s as I,D as E,k as B,q as _,G as U,O as R,Q as $,E as A,R as F,o as i,c as n,a as l,g as s,I as d,U as O,t as f,V as y,F as b,j as h,w as L,C as M,W as N,X as T,_ as W}from"./index-1d15d58c.js";import{_ as j}from"./Playlist.vue_vue_type_script_setup_true_lang-b6ff16a9.js";import"./PlaylistEntry-32f74c9a.js";import"./EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js";import"./playerInPicture-af203fdf.js";const q={class:"playlist-editor"},G={class:"editor"},Q={class:"sort my-2"},X={class:"filters"},z={class:"uppercase mt-0"},H={class:"items"},J={class:"item"},K=["onClick"],Y={class:"preview"},Z=S({__name:"Editor",setup(ee){const w=x(),V=I(),r=E(()=>w.params.id),c=B(),e=_({name:"",description:"",direction:"asc",sort:"id",filter:{title:[],artist:[],album:[],duration:{}}}),p=_();U([()=>e.value.sort,()=>e.value.filter,()=>e.value.direction],R.debounce(async()=>{p.value=await $(e.value)},3*1e3),{deep:!0});const k=[{value:"title",label:"Title",icon:"title"},{value:"artist",label:"Artist",icon:"person"},{value:"album",label:"Album",icon:"album"},{value:"duration",label:"Duration",icon:"timer"},{value:"id",label:"Added",icon:"date_range"}],m=["title","artist","album"],C={title:"title",artist:"person",album:"album"};A(async()=>{e.value=await F(r.value),e.value.filter||(e.value.filter={});const o=e.value.filter;for(const a of m)o[a]||(o[a]=[]);e.value.filter=o});const g=async()=>{await N(r.value,e.value),c.fetchPlaylists()},D=async()=>{await T(r.value),c.fetchPlaylists(),V.push("/")};return(o,a)=>(i(),n("div",q,[l("div",G,[l("div",Q,[s(d,{label:"Save",icon:"save",type:"success",class:"!mt-0",onClick:g}),s(d,{label:"Delete",icon:"delete",type:"danger",class:"!mt-0",onClick:D}),s(O,{modelValue:e.value.sort,"onUpdate:modelValue":a[0]||(a[0]=t=>e.value.sort=t),options:k,icon:"filter_list"},null,8,["modelValue"]),l("span",{class:"cursor-pointer material-symbols-rounded ms-wght-100 text-5xl",onClick:a[1]||(a[1]=t=>e.value.direction=e.value.direction=="asc"?"desc":"asc")},f(e.value.direction=="asc"?"arrow_drop_up":"arrow_drop_down"),1),s(y,{modelValue:e.value.limit,"onUpdate:modelValue":a[2]||(a[2]=t=>e.value.limit=t),type:"number",placeholder:"Limit...",icon:"123"},null,8,["modelValue"])]),l("div",X,[(i(),n(b,null,h(m,t=>s(M,{class:"filter"},{default:L(()=>[l("h4",z,f(t),1),l("div",H,[(i(!0),n(b,null,h(e.value.filter[t],(P,u)=>(i(),n("div",J,[s(y,{modelValue:e.value.filter[t][u],"onUpdate:modelValue":v=>e.value.filter[t][u]=v,icon:C[t]},null,8,["modelValue","onUpdate:modelValue","icon"]),l("span",{class:"material-symbols-rounded",onClick:v=>e.value.filter[t].splice(u,1)}," delete ",8,K)]))),256)),s(d,{label:"OR",icon:"add",onClick:P=>e.value.filter[t].push("")},null,8,["onClick"])])]),_:2},1024)),64))])]),l("div",Y,[s(j,{playlist:p.value},null,8,["playlist"])])]))}});const ie=W(Z,[["__scopeId","data-v-51eda3dd"]]);export{ie as default}; +import{i as S,B as x,s as I,D as E,k as B,q as _,G as U,O as R,Q as $,E as A,R as F,o as i,c as n,a as l,g as s,I as d,U as O,t as f,V as y,F as b,j as h,w as L,C as M,W as N,X as T,_ as W}from"./index-286d536d.js";import{_ as j}from"./Playlist.vue_vue_type_script_setup_true_lang-2e3ae256.js";import"./PlaylistEntry-bb67bf25.js";import"./EditSong.vue_vue_type_script_setup_true_lang-94868e65.js";import"./playerInPicture-af203fdf.js";const q={class:"playlist-editor"},G={class:"editor"},Q={class:"sort my-2"},X={class:"filters"},z={class:"uppercase mt-0"},H={class:"items"},J={class:"item"},K=["onClick"],Y={class:"preview"},Z=S({__name:"Editor",setup(ee){const w=x(),V=I(),r=E(()=>w.params.id),c=B(),e=_({name:"",description:"",direction:"asc",sort:"id",filter:{title:[],artist:[],album:[],duration:{}}}),p=_();U([()=>e.value.sort,()=>e.value.filter,()=>e.value.direction],R.debounce(async()=>{p.value=await $(e.value)},3*1e3),{deep:!0});const k=[{value:"title",label:"Title",icon:"title"},{value:"artist",label:"Artist",icon:"person"},{value:"album",label:"Album",icon:"album"},{value:"duration",label:"Duration",icon:"timer"},{value:"id",label:"Added",icon:"date_range"}],m=["title","artist","album"],C={title:"title",artist:"person",album:"album"};A(async()=>{e.value=await F(r.value),e.value.filter||(e.value.filter={});const o=e.value.filter;for(const a of m)o[a]||(o[a]=[]);e.value.filter=o});const g=async()=>{await N(r.value,e.value),c.fetchPlaylists()},D=async()=>{await T(r.value),c.fetchPlaylists(),V.push("/")};return(o,a)=>(i(),n("div",q,[l("div",G,[l("div",Q,[s(d,{label:"Save",icon:"save",type:"success",class:"!mt-0",onClick:g}),s(d,{label:"Delete",icon:"delete",type:"danger",class:"!mt-0",onClick:D}),s(O,{modelValue:e.value.sort,"onUpdate:modelValue":a[0]||(a[0]=t=>e.value.sort=t),options:k,icon:"filter_list"},null,8,["modelValue"]),l("span",{class:"cursor-pointer material-symbols-rounded ms-wght-100 text-5xl",onClick:a[1]||(a[1]=t=>e.value.direction=e.value.direction=="asc"?"desc":"asc")},f(e.value.direction=="asc"?"arrow_drop_up":"arrow_drop_down"),1),s(y,{modelValue:e.value.limit,"onUpdate:modelValue":a[2]||(a[2]=t=>e.value.limit=t),type:"number",placeholder:"Limit...",icon:"123"},null,8,["modelValue"])]),l("div",X,[(i(),n(b,null,h(m,t=>s(M,{class:"filter"},{default:L(()=>[l("h4",z,f(t),1),l("div",H,[(i(!0),n(b,null,h(e.value.filter[t],(P,u)=>(i(),n("div",J,[s(y,{modelValue:e.value.filter[t][u],"onUpdate:modelValue":v=>e.value.filter[t][u]=v,icon:C[t]},null,8,["modelValue","onUpdate:modelValue","icon"]),l("span",{class:"material-symbols-rounded",onClick:v=>e.value.filter[t].splice(u,1)}," delete ",8,K)]))),256)),s(d,{label:"OR",icon:"add",onClick:P=>e.value.filter[t].push("")},null,8,["onClick"])])]),_:2},1024)),64))])]),l("div",Y,[s(j,{playlist:p.value},null,8,["playlist"])])]))}});const ie=W(Z,[["__scopeId","data-v-51eda3dd"]]);export{ie as default}; diff --git a/src/ui/dist/assets/Editor-cd9fc5c1.js.gz b/src/ui/dist/assets/Editor-cd9fc5c1.js.gz new file mode 100644 index 000000000..4cd17a35b Binary files /dev/null and b/src/ui/dist/assets/Editor-cd9fc5c1.js.gz differ diff --git a/src/ui/dist/assets/Explore-06afc866.js.gz b/src/ui/dist/assets/Explore-06afc866.js.gz deleted file mode 100644 index c4fe4c56e..000000000 Binary files a/src/ui/dist/assets/Explore-06afc866.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Explore-06afc866.js b/src/ui/dist/assets/Explore-91377c61.js similarity index 96% rename from src/ui/dist/assets/Explore-06afc866.js rename to src/ui/dist/assets/Explore-91377c61.js index fc3087427..09362ecb1 100644 --- a/src/ui/dist/assets/Explore-06afc866.js +++ b/src/ui/dist/assets/Explore-91377c61.js @@ -1 +1 @@ -import{_,o as n,c as r,a as t,r as u,z as h,m as f,n as m,e as y,F as k,j as v,p,A as g,g as o,w as c,M as d,u as S}from"./index-1d15d58c.js";const $={props:{src:String}},x=s=>(f("data-v-34da3e65"),s=s(),m(),s),C=x(()=>t("div",{class:"filter"},null,-1)),I={class:"info"};function O(s,a,l,i,e,B){return n(),r("div",{class:"image",style:h({backgroundImage:"url("+l.src+")"})},[C,t("div",I,[u(s.$slots,"default",{},void 0,!0)])],4)}const b=_($,[["render",O],["__scopeId","data-v-34da3e65"]]);const w={class:"songContent"},E={class:"play"},H=["onClick"],M={class:"info"},P={data(){return fetch("/api/playlists").then(async s=>{this.playlists=await s.json(),this.pick()}),{playlists:[],picks:[]}},mounted(){},methods:{parseCover:p,pick(){console.log("pick"),this.songs=this.playlists.map(s=>s.songs).flat();for(let s=0;s<4;s++)this.picks.push(this.songs[Math.floor(Math.random()*this.songs.length)])},onScroll(){this.$refs.container.clientHeight+this.$refs.container.scrollTop>=this.$refs.container.scrollHeight-100&&this.pick()},href(s){return`/track/${g(s.id)}`},loadPlaylist(s){console.log(s),fetch("/api/player/load",{method:"POST",body:JSON.stringify({id:s,type:"track"})})}}},j=Object.assign(P,{__name:"Explore",setup(s){return(a,l)=>{const i=y("router-link");return n(),r("div",{ref:"container",class:"explore",onScroll:l[0]||(l[0]=(...e)=>a.onScroll&&a.onScroll(...e))},[(n(!0),r(k,null,v(a.picks,e=>(n(),r("div",{key:e.name,class:"item"},[o(b,{src:S(p)(e.cover)},{default:c(()=>[t("div",w,[t("div",E,[t("span",{id:"loadPlaylist",class:"material-symbols-rounded play",onClick:()=>a.loadPlaylist(e.id)},"play_circle",8,H)]),t("div",M,[o(i,{to:a.href(e),class:"linkOnHover"},{default:c(()=>[t("h1",null,[o(d,{text:e.title},null,8,["text"])])]),_:2},1032,["to"]),o(i,{to:`/search/${e.artist}`,class:"linkOnHover"},{default:c(()=>[t("p",null,[o(d,{text:e.artist},null,8,["text"])])]),_:2},1032,["to"])])])]),_:2},1032,["src"])]))),128))],544)}}}),T=_(j,[["__scopeId","data-v-579c8068"]]);export{T as default}; +import{_,o as n,c as r,a as t,r as u,z as h,m as f,n as m,e as y,F as k,j as v,p,A as g,g as o,w as c,M as d,u as S}from"./index-286d536d.js";const $={props:{src:String}},x=s=>(f("data-v-34da3e65"),s=s(),m(),s),C=x(()=>t("div",{class:"filter"},null,-1)),I={class:"info"};function O(s,a,l,i,e,B){return n(),r("div",{class:"image",style:h({backgroundImage:"url("+l.src+")"})},[C,t("div",I,[u(s.$slots,"default",{},void 0,!0)])],4)}const b=_($,[["render",O],["__scopeId","data-v-34da3e65"]]);const w={class:"songContent"},E={class:"play"},H=["onClick"],M={class:"info"},P={data(){return fetch("/api/playlists").then(async s=>{this.playlists=await s.json(),this.pick()}),{playlists:[],picks:[]}},mounted(){},methods:{parseCover:p,pick(){console.log("pick"),this.songs=this.playlists.map(s=>s.songs).flat();for(let s=0;s<4;s++)this.picks.push(this.songs[Math.floor(Math.random()*this.songs.length)])},onScroll(){this.$refs.container.clientHeight+this.$refs.container.scrollTop>=this.$refs.container.scrollHeight-100&&this.pick()},href(s){return`/track/${g(s.id)}`},loadPlaylist(s){console.log(s),fetch("/api/player/load",{method:"POST",body:JSON.stringify({id:s,type:"track"})})}}},j=Object.assign(P,{__name:"Explore",setup(s){return(a,l)=>{const i=y("router-link");return n(),r("div",{ref:"container",class:"explore",onScroll:l[0]||(l[0]=(...e)=>a.onScroll&&a.onScroll(...e))},[(n(!0),r(k,null,v(a.picks,e=>(n(),r("div",{key:e.name,class:"item"},[o(b,{src:S(p)(e.cover)},{default:c(()=>[t("div",w,[t("div",E,[t("span",{id:"loadPlaylist",class:"material-symbols-rounded play",onClick:()=>a.loadPlaylist(e.id)},"play_circle",8,H)]),t("div",M,[o(i,{to:a.href(e),class:"linkOnHover"},{default:c(()=>[t("h1",null,[o(d,{text:e.title},null,8,["text"])])]),_:2},1032,["to"]),o(i,{to:`/search/${e.artist}`,class:"linkOnHover"},{default:c(()=>[t("p",null,[o(d,{text:e.artist},null,8,["text"])])]),_:2},1032,["to"])])])]),_:2},1032,["src"])]))),128))],544)}}}),T=_(j,[["__scopeId","data-v-579c8068"]]);export{T as default}; diff --git a/src/ui/dist/assets/Explore-91377c61.js.gz b/src/ui/dist/assets/Explore-91377c61.js.gz new file mode 100644 index 000000000..1bc57055d Binary files /dev/null and b/src/ui/dist/assets/Explore-91377c61.js.gz differ diff --git a/src/ui/dist/assets/Export-4a955656.js b/src/ui/dist/assets/Export-442d1672.js similarity index 99% rename from src/ui/dist/assets/Export-4a955656.js rename to src/ui/dist/assets/Export-442d1672.js index 1d01663da..d2f407c08 100644 --- a/src/ui/dist/assets/Export-4a955656.js +++ b/src/ui/dist/assets/Export-442d1672.js @@ -1,4 +1,4 @@ -import{h as Yt,C as qt,p as Wt,c5 as Jt,_ as wt,e as W,f as xt,w as Ht,o as L,a as _,g as q,c as V,t as N,d as Z,b as yt,F as Bt,cu as dt,c7 as Xt,k as zt,I as Kt,j as Zt,m as Qt,n as vt}from"./index-1d15d58c.js";import{G as Q}from"./gistClient-63d02b96.js";var gt={},J={};J.byteLength=ir;J.toByteArray=nr;J.fromByteArray=ur;var R=[],T=[],tr=typeof Uint8Array<"u"?Uint8Array:Array,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var D=0,rr=v.length;D0)throw new Error("Invalid string. Length must be a multiple of 4");var h=l.indexOf("=");h===-1&&(h=c);var p=h===c?0:4-h%4;return[h,p]}function ir(l){var c=mt(l),h=c[0],p=c[1];return(h+p)*3/4-p}function er(l,c,h){return(c+h)*3/4-h}function nr(l){var c,h=mt(l),p=h[0],y=h[1],f=new tr(er(l,p,y)),a=0,o=y>0?p-4:p,w;for(w=0;w>16&255,f[a++]=c>>8&255,f[a++]=c&255;return y===2&&(c=T[l.charCodeAt(w)]<<2|T[l.charCodeAt(w+1)]>>4,f[a++]=c&255),y===1&&(c=T[l.charCodeAt(w)]<<10|T[l.charCodeAt(w+1)]<<4|T[l.charCodeAt(w+2)]>>2,f[a++]=c>>8&255,f[a++]=c&255),f}function or(l){return R[l>>18&63]+R[l>>12&63]+R[l>>6&63]+R[l&63]}function sr(l,c,h){for(var p,y=[],f=c;fo?o:a+f));return p===1?(c=l[h-1],y.push(R[c>>2]+R[c<<4&63]+"==")):p===2&&(c=(l[h-2]<<8)+l[h-1],y.push(R[c>>10]+R[c>>4&63]+R[c<<2&63]+"=")),y.join("")}var tt={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */tt.read=function(l,c,h,p,y){var f,a,o=y*8-p-1,w=(1<>1,I=-7,F=h?y-1:0,P=h?-1:1,A=l[c+F];for(F+=P,f=A&(1<<-I)-1,A>>=-I,I+=o;I>0;f=f*256+l[c+F],F+=P,I-=8);for(a=f&(1<<-I)-1,f>>=-I,I+=p;I>0;a=a*256+l[c+F],F+=P,I-=8);if(f===0)f=1-C;else{if(f===w)return a?NaN:(A?-1:1)*(1/0);a=a+Math.pow(2,p),f=f-C}return(A?-1:1)*a*Math.pow(2,f-p)};tt.write=function(l,c,h,p,y,f){var a,o,w,C=f*8-y-1,I=(1<>1,P=y===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=p?0:f-1,O=p?1:-1,G=c<0||c===0&&1/c<0?1:0;for(c=Math.abs(c),isNaN(c)||c===1/0?(o=isNaN(c)?1:0,a=I):(a=Math.floor(Math.log(c)/Math.LN2),c*(w=Math.pow(2,-a))<1&&(a--,w*=2),a+F>=1?c+=P/w:c+=P*Math.pow(2,1-F),c*w>=2&&(a++,w/=2),a+F>=I?(o=0,a=I):a+F>=1?(o=(c*w-1)*Math.pow(2,y),a=a+F):(o=c*Math.pow(2,F-1)*Math.pow(2,y),a=0));y>=8;l[h+A]=o&255,A+=O,o/=256,y-=8);for(a=a<0;l[h+A]=a&255,A+=O,a/=256,C-=8);l[h+A-O]|=G*128};/*! +import{h as Yt,C as qt,p as Wt,c5 as Jt,_ as wt,e as W,f as xt,w as Ht,o as L,a as _,g as q,c as V,t as N,d as Z,b as yt,F as Bt,cu as dt,c7 as Xt,k as zt,I as Kt,j as Zt,m as Qt,n as vt}from"./index-286d536d.js";import{G as Q}from"./gistClient-be4ed4e2.js";var gt={},J={};J.byteLength=ir;J.toByteArray=nr;J.fromByteArray=ur;var R=[],T=[],tr=typeof Uint8Array<"u"?Uint8Array:Array,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var D=0,rr=v.length;D0)throw new Error("Invalid string. Length must be a multiple of 4");var h=l.indexOf("=");h===-1&&(h=c);var p=h===c?0:4-h%4;return[h,p]}function ir(l){var c=mt(l),h=c[0],p=c[1];return(h+p)*3/4-p}function er(l,c,h){return(c+h)*3/4-h}function nr(l){var c,h=mt(l),p=h[0],y=h[1],f=new tr(er(l,p,y)),a=0,o=y>0?p-4:p,w;for(w=0;w>16&255,f[a++]=c>>8&255,f[a++]=c&255;return y===2&&(c=T[l.charCodeAt(w)]<<2|T[l.charCodeAt(w+1)]>>4,f[a++]=c&255),y===1&&(c=T[l.charCodeAt(w)]<<10|T[l.charCodeAt(w+1)]<<4|T[l.charCodeAt(w+2)]>>2,f[a++]=c>>8&255,f[a++]=c&255),f}function or(l){return R[l>>18&63]+R[l>>12&63]+R[l>>6&63]+R[l&63]}function sr(l,c,h){for(var p,y=[],f=c;fo?o:a+f));return p===1?(c=l[h-1],y.push(R[c>>2]+R[c<<4&63]+"==")):p===2&&(c=(l[h-2]<<8)+l[h-1],y.push(R[c>>10]+R[c>>4&63]+R[c<<2&63]+"=")),y.join("")}var tt={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */tt.read=function(l,c,h,p,y){var f,a,o=y*8-p-1,w=(1<>1,I=-7,F=h?y-1:0,P=h?-1:1,A=l[c+F];for(F+=P,f=A&(1<<-I)-1,A>>=-I,I+=o;I>0;f=f*256+l[c+F],F+=P,I-=8);for(a=f&(1<<-I)-1,f>>=-I,I+=p;I>0;a=a*256+l[c+F],F+=P,I-=8);if(f===0)f=1-C;else{if(f===w)return a?NaN:(A?-1:1)*(1/0);a=a+Math.pow(2,p),f=f-C}return(A?-1:1)*a*Math.pow(2,f-p)};tt.write=function(l,c,h,p,y,f){var a,o,w,C=f*8-y-1,I=(1<>1,P=y===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=p?0:f-1,O=p?1:-1,G=c<0||c===0&&1/c<0?1:0;for(c=Math.abs(c),isNaN(c)||c===1/0?(o=isNaN(c)?1:0,a=I):(a=Math.floor(Math.log(c)/Math.LN2),c*(w=Math.pow(2,-a))<1&&(a--,w*=2),a+F>=1?c+=P/w:c+=P*Math.pow(2,1-F),c*w>=2&&(a++,w/=2),a+F>=I?(o=0,a=I):a+F>=1?(o=(c*w-1)*Math.pow(2,y),a=a+F):(o=c*Math.pow(2,F-1)*Math.pow(2,y),a=0));y>=8;l[h+A]=o&255,A+=O,o/=256,y-=8);for(a=a<0;l[h+A]=a&255,A+=O,a/=256,C-=8);l[h+A-O]|=G*128};/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh diff --git a/src/ui/dist/assets/Export-442d1672.js.gz b/src/ui/dist/assets/Export-442d1672.js.gz new file mode 100644 index 000000000..aa71f86fa Binary files /dev/null and b/src/ui/dist/assets/Export-442d1672.js.gz differ diff --git a/src/ui/dist/assets/Export-4a955656.js.gz b/src/ui/dist/assets/Export-4a955656.js.gz deleted file mode 100644 index 1d144075b..000000000 Binary files a/src/ui/dist/assets/Export-4a955656.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/FactCard-d063b1a1.js b/src/ui/dist/assets/FactCard-ecaa8541.js similarity index 88% rename from src/ui/dist/assets/FactCard-d063b1a1.js rename to src/ui/dist/assets/FactCard-ecaa8541.js index ff7524dd4..7aa11e64d 100644 --- a/src/ui/dist/assets/FactCard-d063b1a1.js +++ b/src/ui/dist/assets/FactCard-ecaa8541.js @@ -1 +1 @@ -import{i as s,o as t,f as c,w as o,a as r,t as a,c as d,d as n,C as l,_}from"./index-1d15d58c.js";const i={class:"mx-4"},m={key:0,class:"my-0 text-muted"},p=s({__name:"FactCard",props:{withHover:{type:Boolean,default:!1},primaryText:{type:null,default:""},secondaryText:{type:String,default:"",required:!1}},setup(e){return(u,y)=>(t(),c(l,{"with-hover":e.withHover,class:"card p-4"},{default:o(()=>[r("h2",i,a(e.primaryText),1),e.secondaryText?(t(),d("p",m,a(e.secondaryText),1)):n("",!0)]),_:1},8,["with-hover"]))}});const f=_(p,[["__scopeId","data-v-23b147ec"]]);export{f as F}; +import{i as s,o as t,f as c,w as o,a as r,t as a,c as d,d as n,C as l,_}from"./index-286d536d.js";const i={class:"mx-4"},m={key:0,class:"my-0 text-muted"},p=s({__name:"FactCard",props:{withHover:{type:Boolean,default:!1},primaryText:{type:null,default:""},secondaryText:{type:String,default:"",required:!1}},setup(e){return(u,y)=>(t(),c(l,{"with-hover":e.withHover,class:"card p-4"},{default:o(()=>[r("h2",i,a(e.primaryText),1),e.secondaryText?(t(),d("p",m,a(e.secondaryText),1)):n("",!0)]),_:1},8,["with-hover"]))}});const f=_(p,[["__scopeId","data-v-23b147ec"]]);export{f as F}; diff --git a/src/ui/dist/assets/FullShelf-d5d3eac0.js b/src/ui/dist/assets/FullShelf-77f6f5f1.js similarity index 87% rename from src/ui/dist/assets/FullShelf-d5d3eac0.js rename to src/ui/dist/assets/FullShelf-77f6f5f1.js index b56cf4d19..026fa20fb 100644 --- a/src/ui/dist/assets/FullShelf-d5d3eac0.js +++ b/src/ui/dist/assets/FullShelf-77f6f5f1.js @@ -1 +1 @@ -import{_ as c,c as t,a as s,b as d,t as n,d as i,r as l,o}from"./index-1d15d58c.js";const _={name:"FullShelf",props:{heading:String,icon:String}},r={class:"shelf"},u={class:"header"},f={key:0,class:"icon material-icons-outlined"},h={class:"items"};function m(a,p,e,S,g,v){return o(),t("div",r,[s("div",u,[s("h2",null,[d(n(e.heading),1),e.icon?(o(),t("span",f,n(e.icon),1)):i("",!0)])]),s("div",h,[l(a.$slots,"default",{},void 0,!0)])])}const y=c(_,[["render",m],["__scopeId","data-v-fceb85d9"]]);export{y as F}; +import{_ as c,c as t,a as s,b as d,t as n,d as i,r as l,o}from"./index-286d536d.js";const _={name:"FullShelf",props:{heading:String,icon:String}},r={class:"shelf"},u={class:"header"},f={key:0,class:"icon material-icons-outlined"},h={class:"items"};function m(a,p,e,S,g,v){return o(),t("div",r,[s("div",u,[s("h2",null,[d(n(e.heading),1),e.icon?(o(),t("span",f,n(e.icon),1)):i("",!0)])]),s("div",h,[l(a.$slots,"default",{},void 0,!0)])])}const y=c(_,[["render",m],["__scopeId","data-v-fceb85d9"]]);export{y as F}; diff --git a/src/ui/dist/assets/Import-11822f11.js.gz b/src/ui/dist/assets/Import-11822f11.js.gz deleted file mode 100644 index 064c87297..000000000 Binary files a/src/ui/dist/assets/Import-11822f11.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Import-11822f11.js b/src/ui/dist/assets/Import-f0947c15.js similarity index 98% rename from src/ui/dist/assets/Import-11822f11.js rename to src/ui/dist/assets/Import-f0947c15.js index 0178f7f95..b35e9ac74 100644 --- a/src/ui/dist/assets/Import-11822f11.js +++ b/src/ui/dist/assets/Import-f0947c15.js @@ -1,4 +1,4 @@ -import{i as N,D as F,o as d,c as m,g as P,h as V,a as r,M as A,cb as H,t as k,F as B,j as D,aZ as M,d as h,_ as G,f as C,w as q,b as j,C as I,q as S,k as K,G as X,E as Z,I as Q,L as R,cu as U,y as Y,W as ee,X as te,m as se,n as ae,cv as le,cw as ne,cx as oe}from"./index-1d15d58c.js";import{G as J}from"./gistClient-63d02b96.js";const ie=(e,c)=>{const t={source:e.source,id:e.id,changed:{}},a=t.changed,i=["id","href","duration","plays","artists"];for(const l of Object.keys(e))if(!i.includes(l)){if(l==="metadata"){const f=e.metadata,p=c.metadata;if(f&&p){if(!f.spotify&&!p.spotify)continue;if(!f.spotify&&p.spotify){a.metadata={from:f,to:p};continue}if(f.spotify&&!p.spotify){a.metadata={from:f,to:p};continue}f.spotify.id!==p.spotify.id&&(a.metadata={from:f,to:p})}else(f||p)&&(a.metadata={from:f,to:p});continue}l!=="id"&&e[l]!==c[l]&&(a[l]={from:e[l],to:c[l]})}return Object.keys(a).length?t:null},de=(e,c)=>{const t={name:e.playlist.name,id:e.playlist.id,added:[],removed:[],modified:[]};if(e.playlist.type!==c.playlist.type)return null;if(e.playlist.type==="smart"){const a=e.playlist,i=c.playlist;return JSON.stringify(a.definition)!==JSON.stringify(i.definition)?t:null}if(c.playlist.type!=="smart"){for(const a of e.playlist.songs){const i=c.playlist.songs.find(l=>l.source===a.source);if(i){const l=ie(a,i);l&&t.modified.push(l)}else t.removed.push(a)}for(const a of c.playlist.songs)e.playlist.songs.find(l=>l.source===a.source)||t.added.push(a);return t.added.length||t.removed.length||t.modified.length?t:null}},ce=(e,c)=>{const t={added:[],removed:[],modified:[]};for(const a of e.collection){const i=c.collection.find(l=>l.playlist.name===a.playlist.name);if(i){const l=de(a,i);l&&t.modified.push(l)}else t.removed.push(a)}for(const a of c.collection)e.collection.find(l=>l.playlist.name===a.playlist.name)||t.added.push(a);return t},re={class:"overflow-hidden"},ue={class:"title my-0"},fe={key:0,class:"info"},pe={class:"key"},ye={class:"value"},me=N({__name:"SongDiff",props:{song:{type:Object,required:!0},diff:{type:Object,required:!0},isBase:{type:Boolean,required:!1},expanded:{type:Object,required:!1}},emits:["exclude","toggle-expanded"],setup(e,{emit:c}){const t=e,a=F(()=>t.diff.removed.some(o=>o.source===t.song.source)?"removed":t.diff.modified.some(o=>o.source===t.song.source)?"modified":t.isBase?"base":t.diff.added.some(o=>o.source===t.song.source)?"added":"base"),i=c,l=()=>{i("toggle-expanded",t.song)},f=["title","artist","album","source","cover","favourite","metadata"],p=o=>{var _,b,w;const x=(b=(_=t.diff.modified.find($=>$.source===t.song.source))==null?void 0:_.changed)==null?void 0:b[o],v=t.isBase?"from":"to",y=(x==null?void 0:x[v])??t.song[o];return o=="metadata"?(w=y==null?void 0:y.spotify)==null?void 0:w.id:y};return(o,x)=>{var v,y;return!e.isBase&&a.value=="removed"?h("",!0):(d(),m("div",{key:0,class:M([a.value,"song px-4 py-2"])},[P(V,{src:e.song.cover,class:"rounded-md"},null,8,["src"]),r("div",re,[r("p",ue,[P(A,{text:e.song.title},null,8,["text"])]),P(H,{artist:e.song.artist,class:"artist text-muted"},null,8,["artist"])]),r("span",{class:"material-symbols-rounded cursor-pointer",onClick:l},k(((v=e.expanded)==null?void 0:v.source)==e.song.source?"expand_less":"expand_more"),1),((y=e.expanded)==null?void 0:y.source)==e.song.source?(d(),m("div",fe,[(d(),m(B,null,D(f,_=>{var b,w;return r("div",{key:_,class:M([{modified:(w=(b=e.diff.modified.find($=>$.source===e.song.source))==null?void 0:b.changed)==null?void 0:w[_]},"info__table"])},[r("span",pe,k(_),1),r("span",ye,k(p(_)),1)],2)}),64))])):h("",!0)],2))}}});const ge=G(me,[["__scopeId","data-v-1805c709"]]),ve={class:"info"},xe={class:"title"},he={key:0,class:"material-symbols-rounded"},_e={key:0,class:"text-muted"},be={class:"flex flex-row justify-between items-center"},ke={key:0,class:"text-very-muted"},Se={key:0},Pe=N({__name:"PlaylistDiff",props:{playlist:{type:Object,required:!0},diff:{type:Object,required:!0},isBase:{type:Boolean,required:!1},expanded:{type:Boolean,required:!1},expandedSong:{type:Object,required:!1}},emits:["exclude","toggle-expanded","toggle-expanded-song"],setup(e,{emit:c}){const t=e,a=F(()=>t.diff.removed.some(o=>o.playlist.name===t.playlist.name)?"removed":t.diff.modified.some(o=>o.name===t.playlist.name)?"modified":t.isBase?"base":t.diff.added.some(o=>o.playlist.name===t.playlist.name)?"added":"base"),i=c,l=()=>{i("toggle-expanded",t.playlist)},f=o=>{i("toggle-expanded-song",o)},p=o=>{const x=t.diff.modified.find(v=>v.name===o.name);return x||{name:o.name,added:[],removed:[],modified:[]}};return(o,x)=>(d(),C(I,{class:M([a.value,"playlist p-4 rounded-xl relative"])},{default:q(()=>{var v;return[P(V,{src:e.playlist.cover,class:"rounded-xl self-start"},null,8,["src"]),r("div",ve,[r("div",xe,[e.playlist.type!="classic"?(d(),m("span",he,k(e.playlist.type=="smart"?"neurology":"bolt"),1)):h("",!0),r("h2",null,k(e.playlist.name),1)]),e.playlist.description?(d(),m("p",_e,k(e.playlist.description),1)):h("",!0),r("div",be,[e.playlist.type==="classic"?(d(),m("p",ke,[r("strong",null,k((v=e.playlist.songs)==null?void 0:v.length),1),j(" tracks ")])):h("",!0),r("span",{class:"material-symbols-rounded cursor-pointer",title:"Expand",onClick:l},k(e.expanded?"expand_less":"expand_more"),1)])]),e.expanded?(d(),C(I,{key:0,class:"col-span-2 flex flex-col gap-2 z-10 p-4"},{default:q(()=>[e.playlist.type==="classic"?(d(!0),m(B,{key:0},D(e.playlist.songs,y=>(d(),C(ge,{key:y.source,diff:p(e.playlist),expanded:e.expandedSong,"is-base":e.isBase,song:y,onToggleExpanded:f},null,8,["diff","expanded","is-base","song"]))),128)):h("",!0),r("pre",null,[j(" "),e.playlist.type==="smart"?(d(),m("code",Se,` +import{i as N,D as F,o as d,c as m,g as P,h as V,a as r,M as A,cb as H,t as k,F as B,j as D,aZ as M,d as h,_ as G,f as C,w as q,b as j,C as I,q as S,k as K,G as X,E as Z,I as Q,L as R,cu as U,y as Y,W as ee,X as te,m as se,n as ae,cv as le,cw as ne,cx as oe}from"./index-286d536d.js";import{G as J}from"./gistClient-be4ed4e2.js";const ie=(e,c)=>{const t={source:e.source,id:e.id,changed:{}},a=t.changed,i=["id","href","duration","plays","artists"];for(const l of Object.keys(e))if(!i.includes(l)){if(l==="metadata"){const f=e.metadata,p=c.metadata;if(f&&p){if(!f.spotify&&!p.spotify)continue;if(!f.spotify&&p.spotify){a.metadata={from:f,to:p};continue}if(f.spotify&&!p.spotify){a.metadata={from:f,to:p};continue}f.spotify.id!==p.spotify.id&&(a.metadata={from:f,to:p})}else(f||p)&&(a.metadata={from:f,to:p});continue}l!=="id"&&e[l]!==c[l]&&(a[l]={from:e[l],to:c[l]})}return Object.keys(a).length?t:null},de=(e,c)=>{const t={name:e.playlist.name,id:e.playlist.id,added:[],removed:[],modified:[]};if(e.playlist.type!==c.playlist.type)return null;if(e.playlist.type==="smart"){const a=e.playlist,i=c.playlist;return JSON.stringify(a.definition)!==JSON.stringify(i.definition)?t:null}if(c.playlist.type!=="smart"){for(const a of e.playlist.songs){const i=c.playlist.songs.find(l=>l.source===a.source);if(i){const l=ie(a,i);l&&t.modified.push(l)}else t.removed.push(a)}for(const a of c.playlist.songs)e.playlist.songs.find(l=>l.source===a.source)||t.added.push(a);return t.added.length||t.removed.length||t.modified.length?t:null}},ce=(e,c)=>{const t={added:[],removed:[],modified:[]};for(const a of e.collection){const i=c.collection.find(l=>l.playlist.name===a.playlist.name);if(i){const l=de(a,i);l&&t.modified.push(l)}else t.removed.push(a)}for(const a of c.collection)e.collection.find(l=>l.playlist.name===a.playlist.name)||t.added.push(a);return t},re={class:"overflow-hidden"},ue={class:"title my-0"},fe={key:0,class:"info"},pe={class:"key"},ye={class:"value"},me=N({__name:"SongDiff",props:{song:{type:Object,required:!0},diff:{type:Object,required:!0},isBase:{type:Boolean,required:!1},expanded:{type:Object,required:!1}},emits:["exclude","toggle-expanded"],setup(e,{emit:c}){const t=e,a=F(()=>t.diff.removed.some(o=>o.source===t.song.source)?"removed":t.diff.modified.some(o=>o.source===t.song.source)?"modified":t.isBase?"base":t.diff.added.some(o=>o.source===t.song.source)?"added":"base"),i=c,l=()=>{i("toggle-expanded",t.song)},f=["title","artist","album","source","cover","favourite","metadata"],p=o=>{var _,b,w;const x=(b=(_=t.diff.modified.find($=>$.source===t.song.source))==null?void 0:_.changed)==null?void 0:b[o],v=t.isBase?"from":"to",y=(x==null?void 0:x[v])??t.song[o];return o=="metadata"?(w=y==null?void 0:y.spotify)==null?void 0:w.id:y};return(o,x)=>{var v,y;return!e.isBase&&a.value=="removed"?h("",!0):(d(),m("div",{key:0,class:M([a.value,"song px-4 py-2"])},[P(V,{src:e.song.cover,class:"rounded-md"},null,8,["src"]),r("div",re,[r("p",ue,[P(A,{text:e.song.title},null,8,["text"])]),P(H,{artist:e.song.artist,class:"artist text-muted"},null,8,["artist"])]),r("span",{class:"material-symbols-rounded cursor-pointer",onClick:l},k(((v=e.expanded)==null?void 0:v.source)==e.song.source?"expand_less":"expand_more"),1),((y=e.expanded)==null?void 0:y.source)==e.song.source?(d(),m("div",fe,[(d(),m(B,null,D(f,_=>{var b,w;return r("div",{key:_,class:M([{modified:(w=(b=e.diff.modified.find($=>$.source===e.song.source))==null?void 0:b.changed)==null?void 0:w[_]},"info__table"])},[r("span",pe,k(_),1),r("span",ye,k(p(_)),1)],2)}),64))])):h("",!0)],2))}}});const ge=G(me,[["__scopeId","data-v-1805c709"]]),ve={class:"info"},xe={class:"title"},he={key:0,class:"material-symbols-rounded"},_e={key:0,class:"text-muted"},be={class:"flex flex-row justify-between items-center"},ke={key:0,class:"text-very-muted"},Se={key:0},Pe=N({__name:"PlaylistDiff",props:{playlist:{type:Object,required:!0},diff:{type:Object,required:!0},isBase:{type:Boolean,required:!1},expanded:{type:Boolean,required:!1},expandedSong:{type:Object,required:!1}},emits:["exclude","toggle-expanded","toggle-expanded-song"],setup(e,{emit:c}){const t=e,a=F(()=>t.diff.removed.some(o=>o.playlist.name===t.playlist.name)?"removed":t.diff.modified.some(o=>o.name===t.playlist.name)?"modified":t.isBase?"base":t.diff.added.some(o=>o.playlist.name===t.playlist.name)?"added":"base"),i=c,l=()=>{i("toggle-expanded",t.playlist)},f=o=>{i("toggle-expanded-song",o)},p=o=>{const x=t.diff.modified.find(v=>v.name===o.name);return x||{name:o.name,added:[],removed:[],modified:[]}};return(o,x)=>(d(),C(I,{class:M([a.value,"playlist p-4 rounded-xl relative"])},{default:q(()=>{var v;return[P(V,{src:e.playlist.cover,class:"rounded-xl self-start"},null,8,["src"]),r("div",ve,[r("div",xe,[e.playlist.type!="classic"?(d(),m("span",he,k(e.playlist.type=="smart"?"neurology":"bolt"),1)):h("",!0),r("h2",null,k(e.playlist.name),1)]),e.playlist.description?(d(),m("p",_e,k(e.playlist.description),1)):h("",!0),r("div",be,[e.playlist.type==="classic"?(d(),m("p",ke,[r("strong",null,k((v=e.playlist.songs)==null?void 0:v.length),1),j(" tracks ")])):h("",!0),r("span",{class:"material-symbols-rounded cursor-pointer",title:"Expand",onClick:l},k(e.expanded?"expand_less":"expand_more"),1)])]),e.expanded?(d(),C(I,{key:0,class:"col-span-2 flex flex-col gap-2 z-10 p-4"},{default:q(()=>[e.playlist.type==="classic"?(d(!0),m(B,{key:0},D(e.playlist.songs,y=>(d(),C(ge,{key:y.source,diff:p(e.playlist),expanded:e.expandedSong,"is-base":e.isBase,song:y,onToggleExpanded:f},null,8,["diff","expanded","is-base","song"]))),128)):h("",!0),r("pre",null,[j(" "),e.playlist.type==="smart"?(d(),m("code",Se,` `+k(JSON.stringify(e.playlist.definition,null,4))+` `,1)):h("",!0),j(` `)])]),_:1})):h("",!0),a.value!="base"?(d(),m("span",{key:1,class:"material-symbols-rounded exclude",title:"Exclude",onClick:x[0]||(x[0]=y=>o.$emit("exclude",e.playlist))}," block ")):h("",!0)]}),_:1},8,["class"]))}});const T=G(Pe,[["__scopeId","data-v-cda0dc11"]]),L=e=>(se("data-v-5b4910f3"),e=e(),ae(),e),we={class:"pb-4 pr-4 flex flex-col gap-4 h-full"},Ee={class:"flex flex-row justify-end"},$e=L(()=>r("div",{class:"grid grid-cols-2 gap-4"},[r("h1",null,"Local"),r("h1",null,"Incoming")],-1)),Be={key:1,class:"fill-page"},Ce={key:1,class:"fill-page !grid !grid-cols-2 gap-4"},Oe=L(()=>r("h2",null,[r("span",{class:"material-symbols-rounded"},"file_upload"),j(" From File ")],-1)),je=L(()=>r("h2",null,[r("span",{class:"material-symbols-rounded"},"cloud_download"),j(" GitHub Gist ")],-1)),De=N({__name:"Import",setup(e){const c=S(!1),t=S(null),a=S({}),i=S({}),l=F(()=>ce(a.value,i.value)),f=K();let p=!1;const o=async()=>{var g;if(c.value||p)return;p=!0;const n=[];for(const s of(g=f.playlists)==null?void 0:g.filter(u=>u.type!="special")){const u=Object.assign({},s);n.push(u)}a.value=await U(n),p=!1};X(()=>f.playlists,o),Z(o);const x=n=>{a.value.collection=a.value.collection.filter(g=>g.playlist.name!==n.name),i.value.collection=i.value.collection.filter(g=>g.playlist.name!==n.name)},v=S(null),y=S(null),_=n=>{var g;((g=v.value)==null?void 0:g.name)===n.name?v.value=null:v.value=n},b=n=>{var g;((g=y.value)==null?void 0:g.id)===n.id?y.value=null:y.value=n},w=async()=>{c.value=!0;const n=[],g=s=>{n.push(le(s.id,s.added));for(const u of s.removed)n.push(ne(s.id,u.id));for(const u of s.modified)for(const E of Object.keys(u.changed))n.push(oe(u.id,E,u.changed[E].to))};for(const s of l.value.added)a.value.collection.push(s),n.push(Y(s.playlist.type,s.playlist.name,s.playlist.description,s.playlist.cover).then(u=>{s.playlist.id=u,s.playlist.type==="classic"?g({id:s.playlist.id,name:s.playlist.name,added:s.playlist.songs,removed:[],modified:[]}):s.playlist.type==="smart"&&n.push(ee(s.playlist.id,s.playlist.definition))}));for(const s of l.value.modified)g(s);for(const s of l.value.removed)n.push(te(s.playlist.id));await Promise.all(n),window.setTimeout(async()=>{await f.fetchPlaylists(),c.value=!1,await o()},1e3)},$=S(!1);J.connected().then(n=>$.value=n);const W=async()=>{const n=document.createElement("input");n.type="file",n.accept=".one.*",n.name="my.one.collection",n.onchange=async()=>{if(!n.files)return;const s=await n.files[0].text(),u=JSON.parse(s);i.value=u,t.value="file"},n.click()},z=async()=>{i.value=await J.getContent(),t.value="gist"};return S(null),(n,g)=>(d(),m("div",we,[r("div",Ee,[P(Q,{icon:"merge",label:"Merge",onClick:w})]),t.value?(d(),m(B,{key:0},[c.value?(d(),m("div",Be,[P(R)])):(d(),m(B,{key:0},[$e,(d(!0),m(B,null,D(a.value.collection,s=>{var u,E;return d(),m("div",{key:s.playlist.name,class:"grid grid-cols-2 gap-4"},[a.value.collection.some(O=>O.playlist.name===s.playlist.name)?(d(),C(T,{key:0,diff:l.value,expanded:((u=v.value)==null?void 0:u.name)===s.playlist.name,"expanded-song":y.value,playlist:s.playlist,class:"grid-1","is-base":"",onExclude:x,onToggleExpanded:_,onToggleExpandedSong:b},null,8,["diff","expanded","expanded-song","playlist"])):h("",!0),i.value.collection.some(O=>O.playlist.name===s.playlist.name)?(d(),C(T,{key:1,diff:l.value,expanded:((E=v.value)==null?void 0:E.name)===s.playlist.name,"expanded-song":y.value,playlist:i.value.collection.find(O=>O.playlist.name===s.playlist.name).playlist,class:"grid-2",onExclude:x,onToggleExpanded:_,onToggleExpandedSong:b},null,8,["diff","expanded","expanded-song","playlist"])):h("",!0)])}),128)),(d(!0),m(B,null,D(l.value.added,s=>{var u;return d(),m("div",{key:s.playlist.name,class:"grid grid-cols-2 gap-4"},[i.value.collection.some(E=>E.playlist.name===s.playlist.name)?(d(),C(T,{key:0,diff:l.value,expanded:((u=v.value)==null?void 0:u.name)===s.playlist.name,"expanded-song":y.value,playlist:s.playlist,class:"grid-2",onExclude:x,onToggleExpanded:_,onToggleExpandedSong:b},null,8,["diff","expanded","expanded-song","playlist"])):h("",!0)])}),128))],64))],64)):(d(),m("div",Ce,[P(I,{"with-hover":"",class:"cursor-pointer",onClick:W},{default:q(()=>[Oe]),_:1}),P(I,{disabled:!$.value,"with-hover":"",class:"cursor-pointer",onClick:z},{default:q(()=>[je]),_:1},8,["disabled"])]))]))}});const Te=G(De,[["__scopeId","data-v-5b4910f3"]]);export{Te as default}; diff --git a/src/ui/dist/assets/Import-f0947c15.js.gz b/src/ui/dist/assets/Import-f0947c15.js.gz new file mode 100644 index 000000000..81d4da63b Binary files /dev/null and b/src/ui/dist/assets/Import-f0947c15.js.gz differ diff --git a/src/ui/dist/assets/ImportLink-944a284d.js b/src/ui/dist/assets/ImportLink-878046b9.js similarity index 95% rename from src/ui/dist/assets/ImportLink-944a284d.js rename to src/ui/dist/assets/ImportLink-878046b9.js index a6b2850cd..e8ed85e39 100644 --- a/src/ui/dist/assets/ImportLink-944a284d.js +++ b/src/ui/dist/assets/ImportLink-878046b9.js @@ -1 +1 @@ -import{i as w,B as b,s as C,q as _,E as B,o as a,c as n,a as s,t as c,b as d,f as I,w as j,F as $,j as L,g as f,I as m,u as N,C as R,cy as V,_ as E}from"./index-1d15d58c.js";const F={class:"max-w-[60ch] w-full h-full flex items-center justify-center"},S={class:"flex-col"},q={key:0,class:"text-muted italic text-sm"},A={class:"ml-0"},D={class:"flex gap-2 items-center"},M={class:"text-muted uppercase text-sm"},O=["onClick"],T={class:"buttons flex gap-2"},z=w({__name:"ImportLink",setup(G){const h=b(),l=C(),r=_(""),e=_([]);B(async()=>{const i=h.params.id,o=atob(i),[t,...u]=o.split(":");if(t==="gist"){const[p,v,y]=u,g=`https://gist.githubusercontent.com/${p}/${v}/raw/${y}`,k=await(await fetch(g)).json();e.value=[k],r.value=p}});const x=async()=>{await V(e.value),l.push("/")};return(i,o)=>(a(),n("div",F,[s("div",S,[s("strong",null,c(r.value),1),d(" wants to share: "),e.value.length==0?(a(),n("span",q,"Nothing")):(a(),I(R,{key:1,class:"p-4 mt-4 w-max flex flex-col gap-4"},{default:j(()=>[s("ul",A,[(a(!0),n($,null,L(e.value,t=>(a(),n("li",D,[s("span",M,c(t.type),1),d(" "+c(t.playlist.name)+" ",1),s("span",{class:"material-symbols-rounded cursor-pointer",onClick:u=>e.value.splice(e.value.indexOf(t),1)}," delete ",8,O)]))),256))]),s("div",T,[f(m,{type:"success",icon:"check",label:"Accept",onClick:x}),f(m,{type:"danger",icon:"close",label:"Reject",onClick:o[0]||(o[0]=t=>N(l).push("/"))})])]),_:1}))])]))}});const K=E(z,[["__scopeId","data-v-608ea9fa"]]);export{K as default}; +import{i as w,B as b,s as C,q as _,E as B,o as a,c as n,a as s,t as c,b as d,f as I,w as j,F as $,j as L,g as f,I as m,u as N,C as R,cy as V,_ as E}from"./index-286d536d.js";const F={class:"max-w-[60ch] w-full h-full flex items-center justify-center"},S={class:"flex-col"},q={key:0,class:"text-muted italic text-sm"},A={class:"ml-0"},D={class:"flex gap-2 items-center"},M={class:"text-muted uppercase text-sm"},O=["onClick"],T={class:"buttons flex gap-2"},z=w({__name:"ImportLink",setup(G){const h=b(),l=C(),r=_(""),e=_([]);B(async()=>{const i=h.params.id,o=atob(i),[t,...u]=o.split(":");if(t==="gist"){const[p,v,y]=u,g=`https://gist.githubusercontent.com/${p}/${v}/raw/${y}`,k=await(await fetch(g)).json();e.value=[k],r.value=p}});const x=async()=>{await V(e.value),l.push("/")};return(i,o)=>(a(),n("div",F,[s("div",S,[s("strong",null,c(r.value),1),d(" wants to share: "),e.value.length==0?(a(),n("span",q,"Nothing")):(a(),I(R,{key:1,class:"p-4 mt-4 w-max flex flex-col gap-4"},{default:j(()=>[s("ul",A,[(a(!0),n($,null,L(e.value,t=>(a(),n("li",D,[s("span",M,c(t.type),1),d(" "+c(t.playlist.name)+" ",1),s("span",{class:"material-symbols-rounded cursor-pointer",onClick:u=>e.value.splice(e.value.indexOf(t),1)}," delete ",8,O)]))),256))]),s("div",T,[f(m,{type:"success",icon:"check",label:"Accept",onClick:x}),f(m,{type:"danger",icon:"close",label:"Reject",onClick:o[0]||(o[0]=t=>N(l).push("/"))})])]),_:1}))])]))}});const K=E(z,[["__scopeId","data-v-608ea9fa"]]);export{K as default}; diff --git a/src/ui/dist/assets/ImportLink-878046b9.js.gz b/src/ui/dist/assets/ImportLink-878046b9.js.gz new file mode 100644 index 000000000..6ffe2b21f Binary files /dev/null and b/src/ui/dist/assets/ImportLink-878046b9.js.gz differ diff --git a/src/ui/dist/assets/ImportLink-944a284d.js.gz b/src/ui/dist/assets/ImportLink-944a284d.js.gz deleted file mode 100644 index bd0a923d8..000000000 Binary files a/src/ui/dist/assets/ImportLink-944a284d.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Liked-4a8e9dc3.js b/src/ui/dist/assets/Liked-4a8e9dc3.js new file mode 100644 index 000000000..e6cc5ac39 --- /dev/null +++ b/src/ui/dist/assets/Liked-4a8e9dc3.js @@ -0,0 +1 @@ +import{T as o}from"./Template-8dffc963.js";import{f as r,o as t}from"./index-286d536d.js";import"./PlaylistEntry-bb67bf25.js";import"./EditSong.vue_vue_type_script_setup_true_lang-94868e65.js";import"./playerInPicture-af203fdf.js";import"./FactCard-ecaa8541.js";import"./gistClient-be4ed4e2.js";import"./Markdown.vue_vue_type_style_index_0_lang-d9462c8d.js";const d={__name:"Liked",setup(e){return(p,m)=>(t(),r(o,{id:"liked"}))}};export{d as default}; diff --git a/src/ui/dist/assets/Liked-ca4d7086.js b/src/ui/dist/assets/Liked-ca4d7086.js deleted file mode 100644 index 845f839ec..000000000 --- a/src/ui/dist/assets/Liked-ca4d7086.js +++ /dev/null @@ -1 +0,0 @@ -import{T as o}from"./Template-a12b99e6.js";import{f as r,o as t}from"./index-1d15d58c.js";import"./PlaylistEntry-32f74c9a.js";import"./EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js";import"./playerInPicture-af203fdf.js";import"./FactCard-d063b1a1.js";import"./gistClient-63d02b96.js";import"./Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js";const d={__name:"Liked",setup(e){return(p,m)=>(t(),r(o,{id:"liked"}))}};export{d as default}; diff --git a/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js.gz b/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js.gz deleted file mode 100644 index 343ef7260..000000000 Binary files a/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js b/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-d9462c8d.js similarity index 99% rename from src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js rename to src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-d9462c8d.js index 159f63c5a..0de37d2f7 100644 --- a/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js +++ b/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-d9462c8d.js @@ -1,4 +1,4 @@ -import{b$ as Ht,c1 as Zt,i as Jt,q as Wt,o as Yt,f as Qt,w as Kt,a as Xt,u as nr,c3 as tr}from"./index-1d15d58c.js";var q={};const rr="Á",or="á",er="Ă",sr="ă",cr="∾",ir="∿",ar="∾̳",lr="Â",ur="â",pr="´",fr="А",hr="а",dr="Æ",mr="æ",gr="⁡",_r="𝔄",br="𝔞",kr="À",xr="à",vr="ℵ",yr="ℵ",Cr="Α",wr="α",Ar="Ā",qr="ā",Dr="⨿",Er="&",Sr="&",Fr="⩕",Lr="⩓",Tr="∧",Rr="⩜",zr="⩘",Ir="⩚",Br="∠",Nr="⦤",Mr="∠",Pr="⦨",Or="⦩",Ur="⦪",Vr="⦫",$r="⦬",Gr="⦭",jr="⦮",Hr="⦯",Zr="∡",Jr="∟",Wr="⊾",Yr="⦝",Qr="∢",Kr="Å",Xr="⍼",no="Ą",to="ą",ro="𝔸",oo="𝕒",eo="⩯",so="≈",co="⩰",io="≊",ao="≋",lo="'",uo="⁡",po="≈",fo="≊",ho="Å",mo="å",go="𝒜",_o="𝒶",bo="≔",ko="*",xo="≈",vo="≍",yo="Ã",Co="ã",wo="Ä",Ao="ä",qo="∳",Do="⨑",Eo="≌",So="϶",Fo="‵",Lo="∽",To="⋍",Ro="∖",zo="⫧",Io="⊽",Bo="⌅",No="⌆",Mo="⌅",Po="⎵",Oo="⎶",Uo="≌",Vo="Б",$o="б",Go="„",jo="∵",Ho="∵",Zo="∵",Jo="⦰",Wo="϶",Yo="ℬ",Qo="ℬ",Ko="Β",Xo="β",ne="ℶ",te="≬",re="𝔅",oe="𝔟",ee="⋂",se="◯",ce="⋃",ie="⨀",ae="⨁",le="⨂",ue="⨆",pe="★",fe="▽",he="△",de="⨄",me="⋁",ge="⋀",_e="⤍",be="⧫",ke="▪",xe="▴",ve="▾",ye="◂",Ce="▸",we="␣",Ae="▒",qe="░",De="▓",Ee="█",Se="=⃥",Fe="≡⃥",Le="⫭",Te="⌐",Re="𝔹",ze="𝕓",Ie="⊥",Be="⊥",Ne="⋈",Me="⧉",Pe="┐",Oe="╕",Ue="╖",Ve="╗",$e="┌",Ge="╒",je="╓",He="╔",Ze="─",Je="═",We="┬",Ye="╤",Qe="╥",Ke="╦",Xe="┴",ns="╧",ts="╨",rs="╩",os="⊟",es="⊞",ss="⊠",cs="┘",is="╛",as="╜",ls="╝",us="└",ps="╘",fs="╙",hs="╚",ds="│",ms="║",gs="┼",_s="╪",bs="╫",ks="╬",xs="┤",vs="╡",ys="╢",Cs="╣",ws="├",As="╞",qs="╟",Ds="╠",Es="‵",Ss="˘",Fs="˘",Ls="¦",Ts="𝒷",Rs="ℬ",zs="⁏",Is="∽",Bs="⋍",Ns="⧅",Ms="\\",Ps="⟈",Os="•",Us="•",Vs="≎",$s="⪮",Gs="≏",js="≎",Hs="≏",Zs="Ć",Js="ć",Ws="⩄",Ys="⩉",Qs="⩋",Ks="∩",Xs="⋒",nc="⩇",tc="⩀",rc="ⅅ",oc="∩︀",ec="⁁",sc="ˇ",cc="ℭ",ic="⩍",ac="Č",lc="č",uc="Ç",pc="ç",fc="Ĉ",hc="ĉ",dc="∰",mc="⩌",gc="⩐",_c="Ċ",bc="ċ",kc="¸",xc="¸",vc="⦲",yc="¢",Cc="·",wc="·",Ac="𝔠",qc="ℭ",Dc="Ч",Ec="ч",Sc="✓",Fc="✓",Lc="Χ",Tc="χ",Rc="ˆ",zc="≗",Ic="↺",Bc="↻",Nc="⊛",Mc="⊚",Pc="⊝",Oc="⊙",Uc="®",Vc="Ⓢ",$c="⊖",Gc="⊕",jc="⊗",Hc="○",Zc="⧃",Jc="≗",Wc="⨐",Yc="⫯",Qc="⧂",Kc="∲",Xc="”",ni="’",ti="♣",ri="♣",oi=":",ei="∷",si="⩴",ci="≔",ii="≔",ai=",",li="@",ui="∁",pi="∘",fi="∁",hi="ℂ",di="≅",mi="⩭",gi="≡",_i="∮",bi="∯",ki="∮",xi="𝕔",vi="ℂ",yi="∐",Ci="∐",wi="©",Ai="©",qi="℗",Di="∳",Ei="↵",Si="✗",Fi="⨯",Li="𝒞",Ti="𝒸",Ri="⫏",zi="⫑",Ii="⫐",Bi="⫒",Ni="⋯",Mi="⤸",Pi="⤵",Oi="⋞",Ui="⋟",Vi="↶",$i="⤽",Gi="⩈",ji="⩆",Hi="≍",Zi="∪",Ji="⋓",Wi="⩊",Yi="⊍",Qi="⩅",Ki="∪︀",Xi="↷",na="⤼",ta="⋞",ra="⋟",oa="⋎",ea="⋏",sa="¤",ca="↶",ia="↷",aa="⋎",la="⋏",ua="∲",pa="∱",fa="⌭",ha="†",da="‡",ma="ℸ",ga="↓",_a="↡",ba="⇓",ka="‐",xa="⫤",va="⊣",ya="⤏",Ca="˝",wa="Ď",Aa="ď",qa="Д",Da="д",Ea="‡",Sa="⇊",Fa="ⅅ",La="ⅆ",Ta="⤑",Ra="⩷",za="°",Ia="∇",Ba="Δ",Na="δ",Ma="⦱",Pa="⥿",Oa="𝔇",Ua="𝔡",Va="⥥",$a="⇃",Ga="⇂",ja="´",Ha="˙",Za="˝",Ja="`",Wa="˜",Ya="⋄",Qa="⋄",Ka="⋄",Xa="♦",nl="♦",tl="¨",rl="ⅆ",ol="ϝ",el="⋲",sl="÷",cl="÷",il="⋇",al="⋇",ll="Ђ",ul="ђ",pl="⌞",fl="⌍",hl="$",dl="𝔻",ml="𝕕",gl="¨",_l="˙",bl="⃜",kl="≐",xl="≑",vl="≐",yl="∸",Cl="∔",wl="⊡",Al="⌆",ql="∯",Dl="¨",El="⇓",Sl="⇐",Fl="⇔",Ll="⫤",Tl="⟸",Rl="⟺",zl="⟹",Il="⇒",Bl="⊨",Nl="⇑",Ml="⇕",Pl="∥",Ol="⤓",Ul="↓",Vl="↓",$l="⇓",Gl="⇵",jl="̑",Hl="⇊",Zl="⇃",Jl="⇂",Wl="⥐",Yl="⥞",Ql="⥖",Kl="↽",Xl="⥟",nu="⥗",tu="⇁",ru="↧",ou="⊤",eu="⤐",su="⌟",cu="⌌",iu="𝒟",au="𝒹",lu="Ѕ",uu="ѕ",pu="⧶",fu="Đ",hu="đ",du="⋱",mu="▿",gu="▾",_u="⇵",bu="⥯",ku="⦦",xu="Џ",vu="џ",yu="⟿",Cu="É",wu="é",Au="⩮",qu="Ě",Du="ě",Eu="Ê",Su="ê",Fu="≖",Lu="≕",Tu="Э",Ru="э",zu="⩷",Iu="Ė",Bu="ė",Nu="≑",Mu="ⅇ",Pu="≒",Ou="𝔈",Uu="𝔢",Vu="⪚",$u="È",Gu="è",ju="⪖",Hu="⪘",Zu="⪙",Ju="∈",Wu="⏧",Yu="ℓ",Qu="⪕",Ku="⪗",Xu="Ē",np="ē",tp="∅",rp="∅",op="◻",ep="∅",sp="▫",cp=" ",ip=" ",ap=" ",lp="Ŋ",up="ŋ",pp=" ",fp="Ę",hp="ę",dp="𝔼",mp="𝕖",gp="⋕",_p="⧣",bp="⩱",kp="ε",xp="Ε",vp="ε",yp="ϵ",Cp="≖",wp="≕",Ap="≂",qp="⪖",Dp="⪕",Ep="⩵",Sp="=",Fp="≂",Lp="≟",Tp="⇌",Rp="≡",zp="⩸",Ip="⧥",Bp="⥱",Np="≓",Mp="ℯ",Pp="ℰ",Op="≐",Up="⩳",Vp="≂",$p="Η",Gp="η",jp="Ð",Hp="ð",Zp="Ë",Jp="ë",Wp="€",Yp="!",Qp="∃",Kp="∃",Xp="ℰ",nf="ⅇ",tf="ⅇ",rf="≒",of="Ф",ef="ф",sf="♀",cf="ffi",af="ff",lf="ffl",uf="𝔉",pf="𝔣",ff="fi",hf="◼",df="▪",mf="fj",gf="♭",_f="fl",bf="▱",kf="ƒ",xf="𝔽",vf="𝕗",yf="∀",Cf="∀",wf="⋔",Af="⫙",qf="ℱ",Df="⨍",Ef="½",Sf="⅓",Ff="¼",Lf="⅕",Tf="⅙",Rf="⅛",zf="⅔",If="⅖",Bf="¾",Nf="⅗",Mf="⅜",Pf="⅘",Of="⅚",Uf="⅝",Vf="⅞",$f="⁄",Gf="⌢",jf="𝒻",Hf="ℱ",Zf="ǵ",Jf="Γ",Wf="γ",Yf="Ϝ",Qf="ϝ",Kf="⪆",Xf="Ğ",nh="ğ",th="Ģ",rh="Ĝ",oh="ĝ",eh="Г",sh="г",ch="Ġ",ih="ġ",ah="≥",lh="≧",uh="⪌",ph="⋛",fh="≥",hh="≧",dh="⩾",mh="⪩",gh="⩾",_h="⪀",bh="⪂",kh="⪄",xh="⋛︀",vh="⪔",yh="𝔊",Ch="𝔤",wh="≫",Ah="⋙",qh="⋙",Dh="ℷ",Eh="Ѓ",Sh="ѓ",Fh="⪥",Lh="≷",Th="⪒",Rh="⪤",zh="⪊",Ih="⪊",Bh="⪈",Nh="≩",Mh="⪈",Ph="≩",Oh="⋧",Uh="𝔾",Vh="𝕘",$h="`",Gh="≥",jh="⋛",Hh="≧",Zh="⪢",Jh="≷",Wh="⩾",Yh="≳",Qh="𝒢",Kh="ℊ",Xh="≳",nd="⪎",td="⪐",rd="⪧",od="⩺",ed=">",sd=">",cd="≫",id="⋗",ad="⦕",ld="⩼",ud="⪆",pd="⥸",fd="⋗",hd="⋛",dd="⪌",md="≷",gd="≳",_d="≩︀",bd="≩︀",kd="ˇ",xd=" ",vd="½",yd="ℋ",Cd="Ъ",wd="ъ",Ad="⥈",qd="↔",Dd="⇔",Ed="↭",Sd="^",Fd="ℏ",Ld="Ĥ",Td="ĥ",Rd="♥",zd="♥",Id="…",Bd="⊹",Nd="𝔥",Md="ℌ",Pd="ℋ",Od="⤥",Ud="⤦",Vd="⇿",$d="∻",Gd="↩",jd="↪",Hd="𝕙",Zd="ℍ",Jd="―",Wd="─",Yd="𝒽",Qd="ℋ",Kd="ℏ",Xd="Ħ",nm="ħ",tm="≎",rm="≏",om="⁃",em="‐",sm="Í",cm="í",im="⁣",am="Î",lm="î",um="И",pm="и",fm="İ",hm="Е",dm="е",mm="¡",gm="⇔",_m="𝔦",bm="ℑ",km="Ì",xm="ì",vm="ⅈ",ym="⨌",Cm="∭",wm="⧜",Am="℩",qm="IJ",Dm="ij",Em="Ī",Sm="ī",Fm="ℑ",Lm="ⅈ",Tm="ℐ",Rm="ℑ",zm="ı",Im="ℑ",Bm="⊷",Nm="Ƶ",Mm="⇒",Pm="℅",Om="∞",Um="⧝",Vm="ı",$m="⊺",Gm="∫",jm="∬",Hm="ℤ",Zm="∫",Jm="⊺",Wm="⋂",Ym="⨗",Qm="⨼",Km="⁣",Xm="⁢",ng="Ё",tg="ё",rg="Į",og="į",eg="𝕀",sg="𝕚",cg="Ι",ig="ι",ag="⨼",lg="¿",ug="𝒾",pg="ℐ",fg="∈",hg="⋵",dg="⋹",mg="⋴",gg="⋳",_g="∈",bg="⁢",kg="Ĩ",xg="ĩ",vg="І",yg="і",Cg="Ï",wg="ï",Ag="Ĵ",qg="ĵ",Dg="Й",Eg="й",Sg="𝔍",Fg="𝔧",Lg="ȷ",Tg="𝕁",Rg="𝕛",zg="𝒥",Ig="𝒿",Bg="Ј",Ng="ј",Mg="Є",Pg="є",Og="Κ",Ug="κ",Vg="ϰ",$g="Ķ",Gg="ķ",jg="К",Hg="к",Zg="𝔎",Jg="𝔨",Wg="ĸ",Yg="Х",Qg="х",Kg="Ќ",Xg="ќ",n0="𝕂",t0="𝕜",r0="𝒦",o0="𝓀",e0="⇚",s0="Ĺ",c0="ĺ",i0="⦴",a0="ℒ",l0="Λ",u0="λ",p0="⟨",f0="⟪",h0="⦑",d0="⟨",m0="⪅",g0="ℒ",_0="«",b0="⇤",k0="⤟",x0="←",v0="↞",y0="⇐",C0="⤝",w0="↩",A0="↫",q0="⤹",D0="⥳",E0="↢",S0="⤙",F0="⤛",L0="⪫",T0="⪭",R0="⪭︀",z0="⤌",I0="⤎",B0="❲",N0="{",M0="[",P0="⦋",O0="⦏",U0="⦍",V0="Ľ",$0="ľ",G0="Ļ",j0="ļ",H0="⌈",Z0="{",J0="Л",W0="л",Y0="⤶",Q0="“",K0="„",X0="⥧",n_="⥋",t_="↲",r_="≤",o_="≦",e_="⟨",s_="⇤",c_="←",i_="←",a_="⇐",l_="⇆",u_="↢",p_="⌈",f_="⟦",h_="⥡",d_="⥙",m_="⇃",g_="⌊",__="↽",b_="↼",k_="⇇",x_="↔",v_="↔",y_="⇔",C_="⇆",w_="⇋",A_="↭",q_="⥎",D_="↤",E_="⊣",S_="⥚",F_="⋋",L_="⧏",T_="⊲",R_="⊴",z_="⥑",I_="⥠",B_="⥘",N_="↿",M_="⥒",P_="↼",O_="⪋",U_="⋚",V_="≤",$_="≦",G_="⩽",j_="⪨",H_="⩽",Z_="⩿",J_="⪁",W_="⪃",Y_="⋚︀",Q_="⪓",K_="⪅",X_="⋖",nb="⋚",tb="⪋",rb="⋚",ob="≦",eb="≶",sb="≶",cb="⪡",ib="≲",ab="⩽",lb="≲",ub="⥼",pb="⌊",fb="𝔏",hb="𝔩",db="≶",mb="⪑",gb="⥢",_b="↽",bb="↼",kb="⥪",xb="▄",vb="Љ",yb="љ",Cb="⇇",wb="≪",Ab="⋘",qb="⌞",Db="⇚",Eb="⥫",Sb="◺",Fb="Ŀ",Lb="ŀ",Tb="⎰",Rb="⎰",zb="⪉",Ib="⪉",Bb="⪇",Nb="≨",Mb="⪇",Pb="≨",Ob="⋦",Ub="⟬",Vb="⇽",$b="⟦",Gb="⟵",jb="⟵",Hb="⟸",Zb="⟷",Jb="⟷",Wb="⟺",Yb="⟼",Qb="⟶",Kb="⟶",Xb="⟹",nk="↫",tk="↬",rk="⦅",ok="𝕃",ek="𝕝",sk="⨭",ck="⨴",ik="∗",ak="_",lk="↙",uk="↘",pk="◊",fk="◊",hk="⧫",dk="(",mk="⦓",gk="⇆",_k="⌟",bk="⇋",kk="⥭",xk="‎",vk="⊿",yk="‹",Ck="𝓁",wk="ℒ",Ak="↰",qk="↰",Dk="≲",Ek="⪍",Sk="⪏",Fk="[",Lk="‘",Tk="‚",Rk="Ł",zk="ł",Ik="⪦",Bk="⩹",Nk="<",Mk="<",Pk="≪",Ok="⋖",Uk="⋋",Vk="⋉",$k="⥶",Gk="⩻",jk="◃",Hk="⊴",Zk="◂",Jk="⦖",Wk="⥊",Yk="⥦",Qk="≨︀",Kk="≨︀",Xk="¯",nx="♂",tx="✠",rx="✠",ox="↦",ex="↦",sx="↧",cx="↤",ix="↥",ax="▮",lx="⨩",ux="М",px="м",fx="—",hx="∺",dx="∡",mx=" ",gx="ℳ",_x="𝔐",bx="𝔪",kx="℧",xx="µ",vx="*",yx="⫰",Cx="∣",wx="·",Ax="⊟",qx="−",Dx="∸",Ex="⨪",Sx="∓",Fx="⫛",Lx="…",Tx="∓",Rx="⊧",zx="𝕄",Ix="𝕞",Bx="∓",Nx="𝓂",Mx="ℳ",Px="∾",Ox="Μ",Ux="μ",Vx="⊸",$x="⊸",Gx="∇",jx="Ń",Hx="ń",Zx="∠⃒",Jx="≉",Wx="⩰̸",Yx="≋̸",Qx="ʼn",Kx="≉",Xx="♮",nv="ℕ",tv="♮",rv=" ",ov="≎̸",ev="≏̸",sv="⩃",cv="Ň",iv="ň",av="Ņ",lv="ņ",uv="≇",pv="⩭̸",fv="⩂",hv="Н",dv="н",mv="–",gv="⤤",_v="↗",bv="⇗",kv="↗",xv="≠",vv="≐̸",yv="​",Cv="​",wv="​",Av="​",qv="≢",Dv="⤨",Ev="≂̸",Sv="≫",Fv="≪",Lv=` +import{b$ as Ht,c1 as Zt,i as Jt,q as Wt,o as Yt,f as Qt,w as Kt,a as Xt,u as nr,c3 as tr}from"./index-286d536d.js";var q={};const rr="Á",or="á",er="Ă",sr="ă",cr="∾",ir="∿",ar="∾̳",lr="Â",ur="â",pr="´",fr="А",hr="а",dr="Æ",mr="æ",gr="⁡",_r="𝔄",br="𝔞",kr="À",xr="à",vr="ℵ",yr="ℵ",Cr="Α",wr="α",Ar="Ā",qr="ā",Dr="⨿",Er="&",Sr="&",Fr="⩕",Lr="⩓",Tr="∧",Rr="⩜",zr="⩘",Ir="⩚",Br="∠",Nr="⦤",Mr="∠",Pr="⦨",Or="⦩",Ur="⦪",Vr="⦫",$r="⦬",Gr="⦭",jr="⦮",Hr="⦯",Zr="∡",Jr="∟",Wr="⊾",Yr="⦝",Qr="∢",Kr="Å",Xr="⍼",no="Ą",to="ą",ro="𝔸",oo="𝕒",eo="⩯",so="≈",co="⩰",io="≊",ao="≋",lo="'",uo="⁡",po="≈",fo="≊",ho="Å",mo="å",go="𝒜",_o="𝒶",bo="≔",ko="*",xo="≈",vo="≍",yo="Ã",Co="ã",wo="Ä",Ao="ä",qo="∳",Do="⨑",Eo="≌",So="϶",Fo="‵",Lo="∽",To="⋍",Ro="∖",zo="⫧",Io="⊽",Bo="⌅",No="⌆",Mo="⌅",Po="⎵",Oo="⎶",Uo="≌",Vo="Б",$o="б",Go="„",jo="∵",Ho="∵",Zo="∵",Jo="⦰",Wo="϶",Yo="ℬ",Qo="ℬ",Ko="Β",Xo="β",ne="ℶ",te="≬",re="𝔅",oe="𝔟",ee="⋂",se="◯",ce="⋃",ie="⨀",ae="⨁",le="⨂",ue="⨆",pe="★",fe="▽",he="△",de="⨄",me="⋁",ge="⋀",_e="⤍",be="⧫",ke="▪",xe="▴",ve="▾",ye="◂",Ce="▸",we="␣",Ae="▒",qe="░",De="▓",Ee="█",Se="=⃥",Fe="≡⃥",Le="⫭",Te="⌐",Re="𝔹",ze="𝕓",Ie="⊥",Be="⊥",Ne="⋈",Me="⧉",Pe="┐",Oe="╕",Ue="╖",Ve="╗",$e="┌",Ge="╒",je="╓",He="╔",Ze="─",Je="═",We="┬",Ye="╤",Qe="╥",Ke="╦",Xe="┴",ns="╧",ts="╨",rs="╩",os="⊟",es="⊞",ss="⊠",cs="┘",is="╛",as="╜",ls="╝",us="└",ps="╘",fs="╙",hs="╚",ds="│",ms="║",gs="┼",_s="╪",bs="╫",ks="╬",xs="┤",vs="╡",ys="╢",Cs="╣",ws="├",As="╞",qs="╟",Ds="╠",Es="‵",Ss="˘",Fs="˘",Ls="¦",Ts="𝒷",Rs="ℬ",zs="⁏",Is="∽",Bs="⋍",Ns="⧅",Ms="\\",Ps="⟈",Os="•",Us="•",Vs="≎",$s="⪮",Gs="≏",js="≎",Hs="≏",Zs="Ć",Js="ć",Ws="⩄",Ys="⩉",Qs="⩋",Ks="∩",Xs="⋒",nc="⩇",tc="⩀",rc="ⅅ",oc="∩︀",ec="⁁",sc="ˇ",cc="ℭ",ic="⩍",ac="Č",lc="č",uc="Ç",pc="ç",fc="Ĉ",hc="ĉ",dc="∰",mc="⩌",gc="⩐",_c="Ċ",bc="ċ",kc="¸",xc="¸",vc="⦲",yc="¢",Cc="·",wc="·",Ac="𝔠",qc="ℭ",Dc="Ч",Ec="ч",Sc="✓",Fc="✓",Lc="Χ",Tc="χ",Rc="ˆ",zc="≗",Ic="↺",Bc="↻",Nc="⊛",Mc="⊚",Pc="⊝",Oc="⊙",Uc="®",Vc="Ⓢ",$c="⊖",Gc="⊕",jc="⊗",Hc="○",Zc="⧃",Jc="≗",Wc="⨐",Yc="⫯",Qc="⧂",Kc="∲",Xc="”",ni="’",ti="♣",ri="♣",oi=":",ei="∷",si="⩴",ci="≔",ii="≔",ai=",",li="@",ui="∁",pi="∘",fi="∁",hi="ℂ",di="≅",mi="⩭",gi="≡",_i="∮",bi="∯",ki="∮",xi="𝕔",vi="ℂ",yi="∐",Ci="∐",wi="©",Ai="©",qi="℗",Di="∳",Ei="↵",Si="✗",Fi="⨯",Li="𝒞",Ti="𝒸",Ri="⫏",zi="⫑",Ii="⫐",Bi="⫒",Ni="⋯",Mi="⤸",Pi="⤵",Oi="⋞",Ui="⋟",Vi="↶",$i="⤽",Gi="⩈",ji="⩆",Hi="≍",Zi="∪",Ji="⋓",Wi="⩊",Yi="⊍",Qi="⩅",Ki="∪︀",Xi="↷",na="⤼",ta="⋞",ra="⋟",oa="⋎",ea="⋏",sa="¤",ca="↶",ia="↷",aa="⋎",la="⋏",ua="∲",pa="∱",fa="⌭",ha="†",da="‡",ma="ℸ",ga="↓",_a="↡",ba="⇓",ka="‐",xa="⫤",va="⊣",ya="⤏",Ca="˝",wa="Ď",Aa="ď",qa="Д",Da="д",Ea="‡",Sa="⇊",Fa="ⅅ",La="ⅆ",Ta="⤑",Ra="⩷",za="°",Ia="∇",Ba="Δ",Na="δ",Ma="⦱",Pa="⥿",Oa="𝔇",Ua="𝔡",Va="⥥",$a="⇃",Ga="⇂",ja="´",Ha="˙",Za="˝",Ja="`",Wa="˜",Ya="⋄",Qa="⋄",Ka="⋄",Xa="♦",nl="♦",tl="¨",rl="ⅆ",ol="ϝ",el="⋲",sl="÷",cl="÷",il="⋇",al="⋇",ll="Ђ",ul="ђ",pl="⌞",fl="⌍",hl="$",dl="𝔻",ml="𝕕",gl="¨",_l="˙",bl="⃜",kl="≐",xl="≑",vl="≐",yl="∸",Cl="∔",wl="⊡",Al="⌆",ql="∯",Dl="¨",El="⇓",Sl="⇐",Fl="⇔",Ll="⫤",Tl="⟸",Rl="⟺",zl="⟹",Il="⇒",Bl="⊨",Nl="⇑",Ml="⇕",Pl="∥",Ol="⤓",Ul="↓",Vl="↓",$l="⇓",Gl="⇵",jl="̑",Hl="⇊",Zl="⇃",Jl="⇂",Wl="⥐",Yl="⥞",Ql="⥖",Kl="↽",Xl="⥟",nu="⥗",tu="⇁",ru="↧",ou="⊤",eu="⤐",su="⌟",cu="⌌",iu="𝒟",au="𝒹",lu="Ѕ",uu="ѕ",pu="⧶",fu="Đ",hu="đ",du="⋱",mu="▿",gu="▾",_u="⇵",bu="⥯",ku="⦦",xu="Џ",vu="џ",yu="⟿",Cu="É",wu="é",Au="⩮",qu="Ě",Du="ě",Eu="Ê",Su="ê",Fu="≖",Lu="≕",Tu="Э",Ru="э",zu="⩷",Iu="Ė",Bu="ė",Nu="≑",Mu="ⅇ",Pu="≒",Ou="𝔈",Uu="𝔢",Vu="⪚",$u="È",Gu="è",ju="⪖",Hu="⪘",Zu="⪙",Ju="∈",Wu="⏧",Yu="ℓ",Qu="⪕",Ku="⪗",Xu="Ē",np="ē",tp="∅",rp="∅",op="◻",ep="∅",sp="▫",cp=" ",ip=" ",ap=" ",lp="Ŋ",up="ŋ",pp=" ",fp="Ę",hp="ę",dp="𝔼",mp="𝕖",gp="⋕",_p="⧣",bp="⩱",kp="ε",xp="Ε",vp="ε",yp="ϵ",Cp="≖",wp="≕",Ap="≂",qp="⪖",Dp="⪕",Ep="⩵",Sp="=",Fp="≂",Lp="≟",Tp="⇌",Rp="≡",zp="⩸",Ip="⧥",Bp="⥱",Np="≓",Mp="ℯ",Pp="ℰ",Op="≐",Up="⩳",Vp="≂",$p="Η",Gp="η",jp="Ð",Hp="ð",Zp="Ë",Jp="ë",Wp="€",Yp="!",Qp="∃",Kp="∃",Xp="ℰ",nf="ⅇ",tf="ⅇ",rf="≒",of="Ф",ef="ф",sf="♀",cf="ffi",af="ff",lf="ffl",uf="𝔉",pf="𝔣",ff="fi",hf="◼",df="▪",mf="fj",gf="♭",_f="fl",bf="▱",kf="ƒ",xf="𝔽",vf="𝕗",yf="∀",Cf="∀",wf="⋔",Af="⫙",qf="ℱ",Df="⨍",Ef="½",Sf="⅓",Ff="¼",Lf="⅕",Tf="⅙",Rf="⅛",zf="⅔",If="⅖",Bf="¾",Nf="⅗",Mf="⅜",Pf="⅘",Of="⅚",Uf="⅝",Vf="⅞",$f="⁄",Gf="⌢",jf="𝒻",Hf="ℱ",Zf="ǵ",Jf="Γ",Wf="γ",Yf="Ϝ",Qf="ϝ",Kf="⪆",Xf="Ğ",nh="ğ",th="Ģ",rh="Ĝ",oh="ĝ",eh="Г",sh="г",ch="Ġ",ih="ġ",ah="≥",lh="≧",uh="⪌",ph="⋛",fh="≥",hh="≧",dh="⩾",mh="⪩",gh="⩾",_h="⪀",bh="⪂",kh="⪄",xh="⋛︀",vh="⪔",yh="𝔊",Ch="𝔤",wh="≫",Ah="⋙",qh="⋙",Dh="ℷ",Eh="Ѓ",Sh="ѓ",Fh="⪥",Lh="≷",Th="⪒",Rh="⪤",zh="⪊",Ih="⪊",Bh="⪈",Nh="≩",Mh="⪈",Ph="≩",Oh="⋧",Uh="𝔾",Vh="𝕘",$h="`",Gh="≥",jh="⋛",Hh="≧",Zh="⪢",Jh="≷",Wh="⩾",Yh="≳",Qh="𝒢",Kh="ℊ",Xh="≳",nd="⪎",td="⪐",rd="⪧",od="⩺",ed=">",sd=">",cd="≫",id="⋗",ad="⦕",ld="⩼",ud="⪆",pd="⥸",fd="⋗",hd="⋛",dd="⪌",md="≷",gd="≳",_d="≩︀",bd="≩︀",kd="ˇ",xd=" ",vd="½",yd="ℋ",Cd="Ъ",wd="ъ",Ad="⥈",qd="↔",Dd="⇔",Ed="↭",Sd="^",Fd="ℏ",Ld="Ĥ",Td="ĥ",Rd="♥",zd="♥",Id="…",Bd="⊹",Nd="𝔥",Md="ℌ",Pd="ℋ",Od="⤥",Ud="⤦",Vd="⇿",$d="∻",Gd="↩",jd="↪",Hd="𝕙",Zd="ℍ",Jd="―",Wd="─",Yd="𝒽",Qd="ℋ",Kd="ℏ",Xd="Ħ",nm="ħ",tm="≎",rm="≏",om="⁃",em="‐",sm="Í",cm="í",im="⁣",am="Î",lm="î",um="И",pm="и",fm="İ",hm="Е",dm="е",mm="¡",gm="⇔",_m="𝔦",bm="ℑ",km="Ì",xm="ì",vm="ⅈ",ym="⨌",Cm="∭",wm="⧜",Am="℩",qm="IJ",Dm="ij",Em="Ī",Sm="ī",Fm="ℑ",Lm="ⅈ",Tm="ℐ",Rm="ℑ",zm="ı",Im="ℑ",Bm="⊷",Nm="Ƶ",Mm="⇒",Pm="℅",Om="∞",Um="⧝",Vm="ı",$m="⊺",Gm="∫",jm="∬",Hm="ℤ",Zm="∫",Jm="⊺",Wm="⋂",Ym="⨗",Qm="⨼",Km="⁣",Xm="⁢",ng="Ё",tg="ё",rg="Į",og="į",eg="𝕀",sg="𝕚",cg="Ι",ig="ι",ag="⨼",lg="¿",ug="𝒾",pg="ℐ",fg="∈",hg="⋵",dg="⋹",mg="⋴",gg="⋳",_g="∈",bg="⁢",kg="Ĩ",xg="ĩ",vg="І",yg="і",Cg="Ï",wg="ï",Ag="Ĵ",qg="ĵ",Dg="Й",Eg="й",Sg="𝔍",Fg="𝔧",Lg="ȷ",Tg="𝕁",Rg="𝕛",zg="𝒥",Ig="𝒿",Bg="Ј",Ng="ј",Mg="Є",Pg="є",Og="Κ",Ug="κ",Vg="ϰ",$g="Ķ",Gg="ķ",jg="К",Hg="к",Zg="𝔎",Jg="𝔨",Wg="ĸ",Yg="Х",Qg="х",Kg="Ќ",Xg="ќ",n0="𝕂",t0="𝕜",r0="𝒦",o0="𝓀",e0="⇚",s0="Ĺ",c0="ĺ",i0="⦴",a0="ℒ",l0="Λ",u0="λ",p0="⟨",f0="⟪",h0="⦑",d0="⟨",m0="⪅",g0="ℒ",_0="«",b0="⇤",k0="⤟",x0="←",v0="↞",y0="⇐",C0="⤝",w0="↩",A0="↫",q0="⤹",D0="⥳",E0="↢",S0="⤙",F0="⤛",L0="⪫",T0="⪭",R0="⪭︀",z0="⤌",I0="⤎",B0="❲",N0="{",M0="[",P0="⦋",O0="⦏",U0="⦍",V0="Ľ",$0="ľ",G0="Ļ",j0="ļ",H0="⌈",Z0="{",J0="Л",W0="л",Y0="⤶",Q0="“",K0="„",X0="⥧",n_="⥋",t_="↲",r_="≤",o_="≦",e_="⟨",s_="⇤",c_="←",i_="←",a_="⇐",l_="⇆",u_="↢",p_="⌈",f_="⟦",h_="⥡",d_="⥙",m_="⇃",g_="⌊",__="↽",b_="↼",k_="⇇",x_="↔",v_="↔",y_="⇔",C_="⇆",w_="⇋",A_="↭",q_="⥎",D_="↤",E_="⊣",S_="⥚",F_="⋋",L_="⧏",T_="⊲",R_="⊴",z_="⥑",I_="⥠",B_="⥘",N_="↿",M_="⥒",P_="↼",O_="⪋",U_="⋚",V_="≤",$_="≦",G_="⩽",j_="⪨",H_="⩽",Z_="⩿",J_="⪁",W_="⪃",Y_="⋚︀",Q_="⪓",K_="⪅",X_="⋖",nb="⋚",tb="⪋",rb="⋚",ob="≦",eb="≶",sb="≶",cb="⪡",ib="≲",ab="⩽",lb="≲",ub="⥼",pb="⌊",fb="𝔏",hb="𝔩",db="≶",mb="⪑",gb="⥢",_b="↽",bb="↼",kb="⥪",xb="▄",vb="Љ",yb="љ",Cb="⇇",wb="≪",Ab="⋘",qb="⌞",Db="⇚",Eb="⥫",Sb="◺",Fb="Ŀ",Lb="ŀ",Tb="⎰",Rb="⎰",zb="⪉",Ib="⪉",Bb="⪇",Nb="≨",Mb="⪇",Pb="≨",Ob="⋦",Ub="⟬",Vb="⇽",$b="⟦",Gb="⟵",jb="⟵",Hb="⟸",Zb="⟷",Jb="⟷",Wb="⟺",Yb="⟼",Qb="⟶",Kb="⟶",Xb="⟹",nk="↫",tk="↬",rk="⦅",ok="𝕃",ek="𝕝",sk="⨭",ck="⨴",ik="∗",ak="_",lk="↙",uk="↘",pk="◊",fk="◊",hk="⧫",dk="(",mk="⦓",gk="⇆",_k="⌟",bk="⇋",kk="⥭",xk="‎",vk="⊿",yk="‹",Ck="𝓁",wk="ℒ",Ak="↰",qk="↰",Dk="≲",Ek="⪍",Sk="⪏",Fk="[",Lk="‘",Tk="‚",Rk="Ł",zk="ł",Ik="⪦",Bk="⩹",Nk="<",Mk="<",Pk="≪",Ok="⋖",Uk="⋋",Vk="⋉",$k="⥶",Gk="⩻",jk="◃",Hk="⊴",Zk="◂",Jk="⦖",Wk="⥊",Yk="⥦",Qk="≨︀",Kk="≨︀",Xk="¯",nx="♂",tx="✠",rx="✠",ox="↦",ex="↦",sx="↧",cx="↤",ix="↥",ax="▮",lx="⨩",ux="М",px="м",fx="—",hx="∺",dx="∡",mx=" ",gx="ℳ",_x="𝔐",bx="𝔪",kx="℧",xx="µ",vx="*",yx="⫰",Cx="∣",wx="·",Ax="⊟",qx="−",Dx="∸",Ex="⨪",Sx="∓",Fx="⫛",Lx="…",Tx="∓",Rx="⊧",zx="𝕄",Ix="𝕞",Bx="∓",Nx="𝓂",Mx="ℳ",Px="∾",Ox="Μ",Ux="μ",Vx="⊸",$x="⊸",Gx="∇",jx="Ń",Hx="ń",Zx="∠⃒",Jx="≉",Wx="⩰̸",Yx="≋̸",Qx="ʼn",Kx="≉",Xx="♮",nv="ℕ",tv="♮",rv=" ",ov="≎̸",ev="≏̸",sv="⩃",cv="Ň",iv="ň",av="Ņ",lv="ņ",uv="≇",pv="⩭̸",fv="⩂",hv="Н",dv="н",mv="–",gv="⤤",_v="↗",bv="⇗",kv="↗",xv="≠",vv="≐̸",yv="​",Cv="​",wv="​",Av="​",qv="≢",Dv="⤨",Ev="≂̸",Sv="≫",Fv="≪",Lv=` `,Tv="∄",Rv="∄",zv="𝔑",Iv="𝔫",Bv="≧̸",Nv="≱",Mv="≱",Pv="≧̸",Ov="⩾̸",Uv="⩾̸",Vv="⋙̸",$v="≵",Gv="≫⃒",jv="≯",Hv="≯",Zv="≫̸",Jv="↮",Wv="⇎",Yv="⫲",Qv="∋",Kv="⋼",Xv="⋺",ny="∋",ty="Њ",ry="њ",oy="↚",ey="⇍",sy="‥",cy="≦̸",iy="≰",ay="↚",ly="⇍",uy="↮",py="⇎",fy="≰",hy="≦̸",dy="⩽̸",my="⩽̸",gy="≮",_y="⋘̸",by="≴",ky="≪⃒",xy="≮",vy="⋪",yy="⋬",Cy="≪̸",wy="∤",Ay="⁠",qy=" ",Dy="𝕟",Ey="ℕ",Sy="⫬",Fy="¬",Ly="≢",Ty="≭",Ry="∦",zy="∉",Iy="≠",By="≂̸",Ny="∄",My="≯",Py="≱",Oy="≧̸",Uy="≫̸",Vy="≹",$y="⩾̸",Gy="≵",jy="≎̸",Hy="≏̸",Zy="∉",Jy="⋵̸",Wy="⋹̸",Yy="∉",Qy="⋷",Ky="⋶",Xy="⧏̸",nC="⋪",tC="⋬",rC="≮",oC="≰",eC="≸",sC="≪̸",cC="⩽̸",iC="≴",aC="⪢̸",lC="⪡̸",uC="∌",pC="∌",fC="⋾",hC="⋽",dC="⊀",mC="⪯̸",gC="⋠",_C="∌",bC="⧐̸",kC="⋫",xC="⋭",vC="⊏̸",yC="⋢",CC="⊐̸",wC="⋣",AC="⊂⃒",qC="⊈",DC="⊁",EC="⪰̸",SC="⋡",FC="≿̸",LC="⊃⃒",TC="⊉",RC="≁",zC="≄",IC="≇",BC="≉",NC="∤",MC="∦",PC="∦",OC="⫽⃥",UC="∂̸",VC="⨔",$C="⊀",GC="⋠",jC="⊀",HC="⪯̸",ZC="⪯̸",JC="⤳̸",WC="↛",YC="⇏",QC="↝̸",KC="↛",XC="⇏",nw="⋫",tw="⋭",rw="⊁",ow="⋡",ew="⪰̸",sw="𝒩",cw="𝓃",iw="∤",aw="∦",lw="≁",uw="≄",pw="≄",fw="∤",hw="∦",dw="⋢",mw="⋣",gw="⊄",_w="⫅̸",bw="⊈",kw="⊂⃒",xw="⊈",vw="⫅̸",yw="⊁",Cw="⪰̸",ww="⊅",Aw="⫆̸",qw="⊉",Dw="⊃⃒",Ew="⊉",Sw="⫆̸",Fw="≹",Lw="Ñ",Tw="ñ",Rw="≸",zw="⋪",Iw="⋬",Bw="⋫",Nw="⋭",Mw="Ν",Pw="ν",Ow="#",Uw="№",Vw=" ",$w="≍⃒",Gw="⊬",jw="⊭",Hw="⊮",Zw="⊯",Jw="≥⃒",Ww=">⃒",Yw="⤄",Qw="⧞",Kw="⤂",Xw="≤⃒",n1="<⃒",t1="⊴⃒",r1="⤃",o1="⊵⃒",e1="∼⃒",s1="⤣",c1="↖",i1="⇖",a1="↖",l1="⤧",u1="Ó",p1="ó",f1="⊛",h1="Ô",d1="ô",m1="⊚",g1="О",_1="о",b1="⊝",k1="Ő",x1="ő",v1="⨸",y1="⊙",C1="⦼",w1="Œ",A1="œ",q1="⦿",D1="𝔒",E1="𝔬",S1="˛",F1="Ò",L1="ò",T1="⧁",R1="⦵",z1="Ω",I1="∮",B1="↺",N1="⦾",M1="⦻",P1="‾",O1="⧀",U1="Ō",V1="ō",$1="Ω",G1="ω",j1="Ο",H1="ο",Z1="⦶",J1="⊖",W1="𝕆",Y1="𝕠",Q1="⦷",K1="“",X1="‘",nA="⦹",tA="⊕",rA="↻",oA="⩔",eA="∨",sA="⩝",cA="ℴ",iA="ℴ",aA="ª",lA="º",uA="⊶",pA="⩖",fA="⩗",hA="⩛",dA="Ⓢ",mA="𝒪",gA="ℴ",_A="Ø",bA="ø",kA="⊘",xA="Õ",vA="õ",yA="⨶",CA="⨷",wA="⊗",AA="Ö",qA="ö",DA="⌽",EA="‾",SA="⏞",FA="⎴",LA="⏜",TA="¶",RA="∥",zA="∥",IA="⫳",BA="⫽",NA="∂",MA="∂",PA="П",OA="п",UA="%",VA=".",$A="‰",GA="⊥",jA="‱",HA="𝔓",ZA="𝔭",JA="Φ",WA="φ",YA="ϕ",QA="ℳ",KA="☎",XA="Π",nq="π",tq="⋔",rq="ϖ",oq="ℏ",eq="ℎ",sq="ℏ",cq="⨣",iq="⊞",aq="⨢",lq="+",uq="∔",pq="⨥",fq="⩲",hq="±",dq="±",mq="⨦",gq="⨧",_q="±",bq="ℌ",kq="⨕",xq="𝕡",vq="ℙ",yq="£",Cq="⪷",wq="⪻",Aq="≺",qq="≼",Dq="⪷",Eq="≺",Sq="≼",Fq="≺",Lq="⪯",Tq="≼",Rq="≾",zq="⪯",Iq="⪹",Bq="⪵",Nq="⋨",Mq="⪯",Pq="⪳",Oq="≾",Uq="′",Vq="″",$q="ℙ",Gq="⪹",jq="⪵",Hq="⋨",Zq="∏",Jq="∏",Wq="⌮",Yq="⌒",Qq="⌓",Kq="∝",Xq="∝",nD="∷",tD="∝",rD="≾",oD="⊰",eD="𝒫",sD="𝓅",cD="Ψ",iD="ψ",aD=" ",lD="𝔔",uD="𝔮",pD="⨌",fD="𝕢",hD="ℚ",dD="⁗",mD="𝒬",gD="𝓆",_D="ℍ",bD="⨖",kD="?",xD="≟",vD='"',yD='"',CD="⇛",wD="∽̱",AD="Ŕ",qD="ŕ",DD="√",ED="⦳",SD="⟩",FD="⟫",LD="⦒",TD="⦥",RD="⟩",zD="»",ID="⥵",BD="⇥",ND="⤠",MD="⤳",PD="→",OD="↠",UD="⇒",VD="⤞",$D="↪",GD="↬",jD="⥅",HD="⥴",ZD="⤖",JD="↣",WD="↝",YD="⤚",QD="⤜",KD="∶",XD="ℚ",nE="⤍",tE="⤏",rE="⤐",oE="❳",eE="}",sE="]",cE="⦌",iE="⦎",aE="⦐",lE="Ř",uE="ř",pE="Ŗ",fE="ŗ",hE="⌉",dE="}",mE="Р",gE="р",_E="⤷",bE="⥩",kE="”",xE="”",vE="↳",yE="ℜ",CE="ℛ",wE="ℜ",AE="ℝ",qE="ℜ",DE="▭",EE="®",SE="®",FE="∋",LE="⇋",TE="⥯",RE="⥽",zE="⌋",IE="𝔯",BE="ℜ",NE="⥤",ME="⇁",PE="⇀",OE="⥬",UE="Ρ",VE="ρ",$E="ϱ",GE="⟩",jE="⇥",HE="→",ZE="→",JE="⇒",WE="⇄",YE="↣",QE="⌉",KE="⟧",XE="⥝",nS="⥕",tS="⇂",rS="⌋",oS="⇁",eS="⇀",sS="⇄",cS="⇌",iS="⇉",aS="↝",lS="↦",uS="⊢",pS="⥛",fS="⋌",hS="⧐",dS="⊳",mS="⊵",gS="⥏",_S="⥜",bS="⥔",kS="↾",xS="⥓",vS="⇀",yS="˚",CS="≓",wS="⇄",AS="⇌",qS="‏",DS="⎱",ES="⎱",SS="⫮",FS="⟭",LS="⇾",TS="⟧",RS="⦆",zS="𝕣",IS="ℝ",BS="⨮",NS="⨵",MS="⥰",PS=")",OS="⦔",US="⨒",VS="⇉",$S="⇛",GS="›",jS="𝓇",HS="ℛ",ZS="↱",JS="↱",WS="]",YS="’",QS="’",KS="⋌",XS="⋊",nF="▹",tF="⊵",rF="▸",oF="⧎",eF="⧴",sF="⥨",cF="℞",iF="Ś",aF="ś",lF="‚",uF="⪸",pF="Š",fF="š",hF="⪼",dF="≻",mF="≽",gF="⪰",_F="⪴",bF="Ş",kF="ş",xF="Ŝ",vF="ŝ",yF="⪺",CF="⪶",wF="⋩",AF="⨓",qF="≿",DF="С",EF="с",SF="⊡",FF="⋅",LF="⩦",TF="⤥",RF="↘",zF="⇘",IF="↘",BF="§",NF=";",MF="⤩",PF="∖",OF="∖",UF="✶",VF="𝔖",$F="𝔰",GF="⌢",jF="♯",HF="Щ",ZF="щ",JF="Ш",WF="ш",YF="↓",QF="←",KF="∣",XF="∥",nL="→",tL="↑",rL="­",oL="Σ",eL="σ",sL="ς",cL="ς",iL="∼",aL="⩪",lL="≃",uL="≃",pL="⪞",fL="⪠",hL="⪝",dL="⪟",mL="≆",gL="⨤",_L="⥲",bL="←",kL="∘",xL="∖",vL="⨳",yL="⧤",CL="∣",wL="⌣",AL="⪪",qL="⪬",DL="⪬︀",EL="Ь",SL="ь",FL="⌿",LL="⧄",TL="/",RL="𝕊",zL="𝕤",IL="♠",BL="♠",NL="∥",ML="⊓",PL="⊓︀",OL="⊔",UL="⊔︀",VL="√",$L="⊏",GL="⊑",jL="⊏",HL="⊑",ZL="⊐",JL="⊒",WL="⊐",YL="⊒",QL="□",KL="□",XL="⊓",nT="⊏",tT="⊑",rT="⊐",oT="⊒",eT="⊔",sT="▪",cT="□",iT="▪",aT="→",lT="𝒮",uT="𝓈",pT="∖",fT="⌣",hT="⋆",dT="⋆",mT="☆",gT="★",_T="ϵ",bT="ϕ",kT="¯",xT="⊂",vT="⋐",yT="⪽",CT="⫅",wT="⊆",AT="⫃",qT="⫁",DT="⫋",ET="⊊",ST="⪿",FT="⥹",LT="⊂",TT="⋐",RT="⊆",zT="⫅",IT="⊆",BT="⊊",NT="⫋",MT="⫇",PT="⫕",OT="⫓",UT="⪸",VT="≻",$T="≽",GT="≻",jT="⪰",HT="≽",ZT="≿",JT="⪰",WT="⪺",YT="⪶",QT="⋩",KT="≿",XT="∋",n2="∑",t2="∑",r2="♪",o2="¹",e2="²",s2="³",c2="⊃",i2="⋑",a2="⪾",l2="⫘",u2="⫆",p2="⊇",f2="⫄",h2="⊃",d2="⊇",m2="⟉",g2="⫗",_2="⥻",b2="⫂",k2="⫌",x2="⊋",v2="⫀",y2="⊃",C2="⋑",w2="⊇",A2="⫆",q2="⊋",D2="⫌",E2="⫈",S2="⫔",F2="⫖",L2="⤦",T2="↙",R2="⇙",z2="↙",I2="⤪",B2="ß",N2=" ",M2="⌖",P2="Τ",O2="τ",U2="⎴",V2="Ť",$2="ť",G2="Ţ",j2="ţ",H2="Т",Z2="т",J2="⃛",W2="⌕",Y2="𝔗",Q2="𝔱",K2="∴",X2="∴",nR="∴",tR="Θ",rR="θ",oR="ϑ",eR="ϑ",sR="≈",cR="∼",iR="  ",aR=" ",lR=" ",uR="≈",pR="∼",fR="Þ",hR="þ",dR="˜",mR="∼",gR="≃",_R="≅",bR="≈",kR="⨱",xR="⊠",vR="×",yR="⨰",CR="∭",wR="⤨",AR="⌶",qR="⫱",DR="⊤",ER="𝕋",SR="𝕥",FR="⫚",LR="⤩",TR="‴",RR="™",zR="™",IR="▵",BR="▿",NR="◃",MR="⊴",PR="≜",OR="▹",UR="⊵",VR="◬",$R="≜",GR="⨺",jR="⃛",HR="⨹",ZR="⧍",JR="⨻",WR="⏢",YR="𝒯",QR="𝓉",KR="Ц",XR="ц",nz="Ћ",tz="ћ",rz="Ŧ",oz="ŧ",ez="≬",sz="↞",cz="↠",iz="Ú",az="ú",lz="↑",uz="↟",pz="⇑",fz="⥉",hz="Ў",dz="ў",mz="Ŭ",gz="ŭ",_z="Û",bz="û",kz="У",xz="у",vz="⇅",yz="Ű",Cz="ű",wz="⥮",Az="⥾",qz="𝔘",Dz="𝔲",Ez="Ù",Sz="ù",Fz="⥣",Lz="↿",Tz="↾",Rz="▀",zz="⌜",Iz="⌜",Bz="⌏",Nz="◸",Mz="Ū",Pz="ū",Oz="¨",Uz="_",Vz="⏟",$z="⎵",Gz="⏝",jz="⋃",Hz="⊎",Zz="Ų",Jz="ų",Wz="𝕌",Yz="𝕦",Qz="⤒",Kz="↑",Xz="↑",nI="⇑",tI="⇅",rI="↕",oI="↕",eI="⇕",sI="⥮",cI="↿",iI="↾",aI="⊎",lI="↖",uI="↗",pI="υ",fI="ϒ",hI="ϒ",dI="Υ",mI="υ",gI="↥",_I="⊥",bI="⇈",kI="⌝",xI="⌝",vI="⌎",yI="Ů",CI="ů",wI="◹",AI="𝒰",qI="𝓊",DI="⋰",EI="Ũ",SI="ũ",FI="▵",LI="▴",TI="⇈",RI="Ü",zI="ü",II="⦧",BI="⦜",NI="ϵ",MI="ϰ",PI="∅",OI="ϕ",UI="ϖ",VI="∝",$I="↕",GI="⇕",jI="ϱ",HI="ς",ZI="⊊︀",JI="⫋︀",WI="⊋︀",YI="⫌︀",QI="ϑ",KI="⊲",XI="⊳",nB="⫨",tB="⫫",rB="⫩",oB="В",eB="в",sB="⊢",cB="⊨",iB="⊩",aB="⊫",lB="⫦",uB="⊻",pB="∨",fB="⋁",hB="≚",dB="⋮",mB="|",gB="‖",_B="|",bB="‖",kB="∣",xB="|",vB="❘",yB="≀",CB=" ",wB="𝔙",AB="𝔳",qB="⊲",DB="⊂⃒",EB="⊃⃒",SB="𝕍",FB="𝕧",LB="∝",TB="⊳",RB="𝒱",zB="𝓋",IB="⫋︀",BB="⊊︀",NB="⫌︀",MB="⊋︀",PB="⊪",OB="⦚",UB="Ŵ",VB="ŵ",$B="⩟",GB="∧",jB="⋀",HB="≙",ZB="℘",JB="𝔚",WB="𝔴",YB="𝕎",QB="𝕨",KB="℘",XB="≀",n3="≀",t3="𝒲",r3="𝓌",o3="⋂",e3="◯",s3="⋃",c3="▽",i3="𝔛",a3="𝔵",l3="⟷",u3="⟺",p3="Ξ",f3="ξ",h3="⟵",d3="⟸",m3="⟼",g3="⋻",_3="⨀",b3="𝕏",k3="𝕩",x3="⨁",v3="⨂",y3="⟶",C3="⟹",w3="𝒳",A3="𝓍",q3="⨆",D3="⨄",E3="△",S3="⋁",F3="⋀",L3="Ý",T3="ý",R3="Я",z3="я",I3="Ŷ",B3="ŷ",N3="Ы",M3="ы",P3="¥",O3="𝔜",U3="𝔶",V3="Ї",$3="ї",G3="𝕐",j3="𝕪",H3="𝒴",Z3="𝓎",J3="Ю",W3="ю",Y3="ÿ",Q3="Ÿ",K3="Ź",X3="ź",nN="Ž",tN="ž",rN="З",oN="з",eN="Ż",sN="ż",cN="ℨ",iN="​",aN="Ζ",lN="ζ",uN="𝔷",pN="ℨ",fN="Ж",hN="ж",dN="⇝",mN="𝕫",gN="ℤ",_N="𝒵",bN="𝓏",kN="‍",xN="‌",vN={Aacute:rr,aacute:or,Abreve:er,abreve:sr,ac:cr,acd:ir,acE:ar,Acirc:lr,acirc:ur,acute:pr,Acy:fr,acy:hr,AElig:dr,aelig:mr,af:gr,Afr:_r,afr:br,Agrave:kr,agrave:xr,alefsym:vr,aleph:yr,Alpha:Cr,alpha:wr,Amacr:Ar,amacr:qr,amalg:Dr,amp:Er,AMP:Sr,andand:Fr,And:Lr,and:Tr,andd:Rr,andslope:zr,andv:Ir,ang:Br,ange:Nr,angle:Mr,angmsdaa:Pr,angmsdab:Or,angmsdac:Ur,angmsdad:Vr,angmsdae:$r,angmsdaf:Gr,angmsdag:jr,angmsdah:Hr,angmsd:Zr,angrt:Jr,angrtvb:Wr,angrtvbd:Yr,angsph:Qr,angst:Kr,angzarr:Xr,Aogon:no,aogon:to,Aopf:ro,aopf:oo,apacir:eo,ap:so,apE:co,ape:io,apid:ao,apos:lo,ApplyFunction:uo,approx:po,approxeq:fo,Aring:ho,aring:mo,Ascr:go,ascr:_o,Assign:bo,ast:ko,asymp:xo,asympeq:vo,Atilde:yo,atilde:Co,Auml:wo,auml:Ao,awconint:qo,awint:Do,backcong:Eo,backepsilon:So,backprime:Fo,backsim:Lo,backsimeq:To,Backslash:Ro,Barv:zo,barvee:Io,barwed:Bo,Barwed:No,barwedge:Mo,bbrk:Po,bbrktbrk:Oo,bcong:Uo,Bcy:Vo,bcy:$o,bdquo:Go,becaus:jo,because:Ho,Because:Zo,bemptyv:Jo,bepsi:Wo,bernou:Yo,Bernoullis:Qo,Beta:Ko,beta:Xo,beth:ne,between:te,Bfr:re,bfr:oe,bigcap:ee,bigcirc:se,bigcup:ce,bigodot:ie,bigoplus:ae,bigotimes:le,bigsqcup:ue,bigstar:pe,bigtriangledown:fe,bigtriangleup:he,biguplus:de,bigvee:me,bigwedge:ge,bkarow:_e,blacklozenge:be,blacksquare:ke,blacktriangle:xe,blacktriangledown:ve,blacktriangleleft:ye,blacktriangleright:Ce,blank:we,blk12:Ae,blk14:qe,blk34:De,block:Ee,bne:Se,bnequiv:Fe,bNot:Le,bnot:Te,Bopf:Re,bopf:ze,bot:Ie,bottom:Be,bowtie:Ne,boxbox:Me,boxdl:Pe,boxdL:Oe,boxDl:Ue,boxDL:Ve,boxdr:$e,boxdR:Ge,boxDr:je,boxDR:He,boxh:Ze,boxH:Je,boxhd:We,boxHd:Ye,boxhD:Qe,boxHD:Ke,boxhu:Xe,boxHu:ns,boxhU:ts,boxHU:rs,boxminus:os,boxplus:es,boxtimes:ss,boxul:cs,boxuL:is,boxUl:as,boxUL:ls,boxur:us,boxuR:ps,boxUr:fs,boxUR:hs,boxv:ds,boxV:ms,boxvh:gs,boxvH:_s,boxVh:bs,boxVH:ks,boxvl:xs,boxvL:vs,boxVl:ys,boxVL:Cs,boxvr:ws,boxvR:As,boxVr:qs,boxVR:Ds,bprime:Es,breve:Ss,Breve:Fs,brvbar:Ls,bscr:Ts,Bscr:Rs,bsemi:zs,bsim:Is,bsime:Bs,bsolb:Ns,bsol:Ms,bsolhsub:Ps,bull:Os,bullet:Us,bump:Vs,bumpE:$s,bumpe:Gs,Bumpeq:js,bumpeq:Hs,Cacute:Zs,cacute:Js,capand:Ws,capbrcup:Ys,capcap:Qs,cap:Ks,Cap:Xs,capcup:nc,capdot:tc,CapitalDifferentialD:rc,caps:oc,caret:ec,caron:sc,Cayleys:cc,ccaps:ic,Ccaron:ac,ccaron:lc,Ccedil:uc,ccedil:pc,Ccirc:fc,ccirc:hc,Cconint:dc,ccups:mc,ccupssm:gc,Cdot:_c,cdot:bc,cedil:kc,Cedilla:xc,cemptyv:vc,cent:yc,centerdot:Cc,CenterDot:wc,cfr:Ac,Cfr:qc,CHcy:Dc,chcy:Ec,check:Sc,checkmark:Fc,Chi:Lc,chi:Tc,circ:Rc,circeq:zc,circlearrowleft:Ic,circlearrowright:Bc,circledast:Nc,circledcirc:Mc,circleddash:Pc,CircleDot:Oc,circledR:Uc,circledS:Vc,CircleMinus:$c,CirclePlus:Gc,CircleTimes:jc,cir:Hc,cirE:Zc,cire:Jc,cirfnint:Wc,cirmid:Yc,cirscir:Qc,ClockwiseContourIntegral:Kc,CloseCurlyDoubleQuote:Xc,CloseCurlyQuote:ni,clubs:ti,clubsuit:ri,colon:oi,Colon:ei,Colone:si,colone:ci,coloneq:ii,comma:ai,commat:li,comp:ui,compfn:pi,complement:fi,complexes:hi,cong:di,congdot:mi,Congruent:gi,conint:_i,Conint:bi,ContourIntegral:ki,copf:xi,Copf:vi,coprod:yi,Coproduct:Ci,copy:wi,COPY:Ai,copysr:qi,CounterClockwiseContourIntegral:Di,crarr:Ei,cross:Si,Cross:Fi,Cscr:Li,cscr:Ti,csub:Ri,csube:zi,csup:Ii,csupe:Bi,ctdot:Ni,cudarrl:Mi,cudarrr:Pi,cuepr:Oi,cuesc:Ui,cularr:Vi,cularrp:$i,cupbrcap:Gi,cupcap:ji,CupCap:Hi,cup:Zi,Cup:Ji,cupcup:Wi,cupdot:Yi,cupor:Qi,cups:Ki,curarr:Xi,curarrm:na,curlyeqprec:ta,curlyeqsucc:ra,curlyvee:oa,curlywedge:ea,curren:sa,curvearrowleft:ca,curvearrowright:ia,cuvee:aa,cuwed:la,cwconint:ua,cwint:pa,cylcty:fa,dagger:ha,Dagger:da,daleth:ma,darr:ga,Darr:_a,dArr:ba,dash:ka,Dashv:xa,dashv:va,dbkarow:ya,dblac:Ca,Dcaron:wa,dcaron:Aa,Dcy:qa,dcy:Da,ddagger:Ea,ddarr:Sa,DD:Fa,dd:La,DDotrahd:Ta,ddotseq:Ra,deg:za,Del:Ia,Delta:Ba,delta:Na,demptyv:Ma,dfisht:Pa,Dfr:Oa,dfr:Ua,dHar:Va,dharl:$a,dharr:Ga,DiacriticalAcute:ja,DiacriticalDot:Ha,DiacriticalDoubleAcute:Za,DiacriticalGrave:Ja,DiacriticalTilde:Wa,diam:Ya,diamond:Qa,Diamond:Ka,diamondsuit:Xa,diams:nl,die:tl,DifferentialD:rl,digamma:ol,disin:el,div:sl,divide:cl,divideontimes:il,divonx:al,DJcy:ll,djcy:ul,dlcorn:pl,dlcrop:fl,dollar:hl,Dopf:dl,dopf:ml,Dot:gl,dot:_l,DotDot:bl,doteq:kl,doteqdot:xl,DotEqual:vl,dotminus:yl,dotplus:Cl,dotsquare:wl,doublebarwedge:Al,DoubleContourIntegral:ql,DoubleDot:Dl,DoubleDownArrow:El,DoubleLeftArrow:Sl,DoubleLeftRightArrow:Fl,DoubleLeftTee:Ll,DoubleLongLeftArrow:Tl,DoubleLongLeftRightArrow:Rl,DoubleLongRightArrow:zl,DoubleRightArrow:Il,DoubleRightTee:Bl,DoubleUpArrow:Nl,DoubleUpDownArrow:Ml,DoubleVerticalBar:Pl,DownArrowBar:Ol,downarrow:Ul,DownArrow:Vl,Downarrow:$l,DownArrowUpArrow:Gl,DownBreve:jl,downdownarrows:Hl,downharpoonleft:Zl,downharpoonright:Jl,DownLeftRightVector:Wl,DownLeftTeeVector:Yl,DownLeftVectorBar:Ql,DownLeftVector:Kl,DownRightTeeVector:Xl,DownRightVectorBar:nu,DownRightVector:tu,DownTeeArrow:ru,DownTee:ou,drbkarow:eu,drcorn:su,drcrop:cu,Dscr:iu,dscr:au,DScy:lu,dscy:uu,dsol:pu,Dstrok:fu,dstrok:hu,dtdot:du,dtri:mu,dtrif:gu,duarr:_u,duhar:bu,dwangle:ku,DZcy:xu,dzcy:vu,dzigrarr:yu,Eacute:Cu,eacute:wu,easter:Au,Ecaron:qu,ecaron:Du,Ecirc:Eu,ecirc:Su,ecir:Fu,ecolon:Lu,Ecy:Tu,ecy:Ru,eDDot:zu,Edot:Iu,edot:Bu,eDot:Nu,ee:Mu,efDot:Pu,Efr:Ou,efr:Uu,eg:Vu,Egrave:$u,egrave:Gu,egs:ju,egsdot:Hu,el:Zu,Element:Ju,elinters:Wu,ell:Yu,els:Qu,elsdot:Ku,Emacr:Xu,emacr:np,empty:tp,emptyset:rp,EmptySmallSquare:op,emptyv:ep,EmptyVerySmallSquare:sp,emsp13:cp,emsp14:ip,emsp:ap,ENG:lp,eng:up,ensp:pp,Eogon:fp,eogon:hp,Eopf:dp,eopf:mp,epar:gp,eparsl:_p,eplus:bp,epsi:kp,Epsilon:xp,epsilon:vp,epsiv:yp,eqcirc:Cp,eqcolon:wp,eqsim:Ap,eqslantgtr:qp,eqslantless:Dp,Equal:Ep,equals:Sp,EqualTilde:Fp,equest:Lp,Equilibrium:Tp,equiv:Rp,equivDD:zp,eqvparsl:Ip,erarr:Bp,erDot:Np,escr:Mp,Escr:Pp,esdot:Op,Esim:Up,esim:Vp,Eta:$p,eta:Gp,ETH:jp,eth:Hp,Euml:Zp,euml:Jp,euro:Wp,excl:Yp,exist:Qp,Exists:Kp,expectation:Xp,exponentiale:nf,ExponentialE:tf,fallingdotseq:rf,Fcy:of,fcy:ef,female:sf,ffilig:cf,fflig:af,ffllig:lf,Ffr:uf,ffr:pf,filig:ff,FilledSmallSquare:hf,FilledVerySmallSquare:df,fjlig:mf,flat:gf,fllig:_f,fltns:bf,fnof:kf,Fopf:xf,fopf:vf,forall:yf,ForAll:Cf,fork:wf,forkv:Af,Fouriertrf:qf,fpartint:Df,frac12:Ef,frac13:Sf,frac14:Ff,frac15:Lf,frac16:Tf,frac18:Rf,frac23:zf,frac25:If,frac34:Bf,frac35:Nf,frac38:Mf,frac45:Pf,frac56:Of,frac58:Uf,frac78:Vf,frasl:$f,frown:Gf,fscr:jf,Fscr:Hf,gacute:Zf,Gamma:Jf,gamma:Wf,Gammad:Yf,gammad:Qf,gap:Kf,Gbreve:Xf,gbreve:nh,Gcedil:th,Gcirc:rh,gcirc:oh,Gcy:eh,gcy:sh,Gdot:ch,gdot:ih,ge:ah,gE:lh,gEl:uh,gel:ph,geq:fh,geqq:hh,geqslant:dh,gescc:mh,ges:gh,gesdot:_h,gesdoto:bh,gesdotol:kh,gesl:xh,gesles:vh,Gfr:yh,gfr:Ch,gg:wh,Gg:Ah,ggg:qh,gimel:Dh,GJcy:Eh,gjcy:Sh,gla:Fh,gl:Lh,glE:Th,glj:Rh,gnap:zh,gnapprox:Ih,gne:Bh,gnE:Nh,gneq:Mh,gneqq:Ph,gnsim:Oh,Gopf:Uh,gopf:Vh,grave:$h,GreaterEqual:Gh,GreaterEqualLess:jh,GreaterFullEqual:Hh,GreaterGreater:Zh,GreaterLess:Jh,GreaterSlantEqual:Wh,GreaterTilde:Yh,Gscr:Qh,gscr:Kh,gsim:Xh,gsime:nd,gsiml:td,gtcc:rd,gtcir:od,gt:ed,GT:sd,Gt:cd,gtdot:id,gtlPar:ad,gtquest:ld,gtrapprox:ud,gtrarr:pd,gtrdot:fd,gtreqless:hd,gtreqqless:dd,gtrless:md,gtrsim:gd,gvertneqq:_d,gvnE:bd,Hacek:kd,hairsp:xd,half:vd,hamilt:yd,HARDcy:Cd,hardcy:wd,harrcir:Ad,harr:qd,hArr:Dd,harrw:Ed,Hat:Sd,hbar:Fd,Hcirc:Ld,hcirc:Td,hearts:Rd,heartsuit:zd,hellip:Id,hercon:Bd,hfr:Nd,Hfr:Md,HilbertSpace:Pd,hksearow:Od,hkswarow:Ud,hoarr:Vd,homtht:$d,hookleftarrow:Gd,hookrightarrow:jd,hopf:Hd,Hopf:Zd,horbar:Jd,HorizontalLine:Wd,hscr:Yd,Hscr:Qd,hslash:Kd,Hstrok:Xd,hstrok:nm,HumpDownHump:tm,HumpEqual:rm,hybull:om,hyphen:em,Iacute:sm,iacute:cm,ic:im,Icirc:am,icirc:lm,Icy:um,icy:pm,Idot:fm,IEcy:hm,iecy:dm,iexcl:mm,iff:gm,ifr:_m,Ifr:bm,Igrave:km,igrave:xm,ii:vm,iiiint:ym,iiint:Cm,iinfin:wm,iiota:Am,IJlig:qm,ijlig:Dm,Imacr:Em,imacr:Sm,image:Fm,ImaginaryI:Lm,imagline:Tm,imagpart:Rm,imath:zm,Im,imof:Bm,imped:Nm,Implies:Mm,incare:Pm,in:"∈",infin:Om,infintie:Um,inodot:Vm,intcal:$m,int:Gm,Int:jm,integers:Hm,Integral:Zm,intercal:Jm,Intersection:Wm,intlarhk:Ym,intprod:Qm,InvisibleComma:Km,InvisibleTimes:Xm,IOcy:ng,iocy:tg,Iogon:rg,iogon:og,Iopf:eg,iopf:sg,Iota:cg,iota:ig,iprod:ag,iquest:lg,iscr:ug,Iscr:pg,isin:fg,isindot:hg,isinE:dg,isins:mg,isinsv:gg,isinv:_g,it:bg,Itilde:kg,itilde:xg,Iukcy:vg,iukcy:yg,Iuml:Cg,iuml:wg,Jcirc:Ag,jcirc:qg,Jcy:Dg,jcy:Eg,Jfr:Sg,jfr:Fg,jmath:Lg,Jopf:Tg,jopf:Rg,Jscr:zg,jscr:Ig,Jsercy:Bg,jsercy:Ng,Jukcy:Mg,jukcy:Pg,Kappa:Og,kappa:Ug,kappav:Vg,Kcedil:$g,kcedil:Gg,Kcy:jg,kcy:Hg,Kfr:Zg,kfr:Jg,kgreen:Wg,KHcy:Yg,khcy:Qg,KJcy:Kg,kjcy:Xg,Kopf:n0,kopf:t0,Kscr:r0,kscr:o0,lAarr:e0,Lacute:s0,lacute:c0,laemptyv:i0,lagran:a0,Lambda:l0,lambda:u0,lang:p0,Lang:f0,langd:h0,langle:d0,lap:m0,Laplacetrf:g0,laquo:_0,larrb:b0,larrbfs:k0,larr:x0,Larr:v0,lArr:y0,larrfs:C0,larrhk:w0,larrlp:A0,larrpl:q0,larrsim:D0,larrtl:E0,latail:S0,lAtail:F0,lat:L0,late:T0,lates:R0,lbarr:z0,lBarr:I0,lbbrk:B0,lbrace:N0,lbrack:M0,lbrke:P0,lbrksld:O0,lbrkslu:U0,Lcaron:V0,lcaron:$0,Lcedil:G0,lcedil:j0,lceil:H0,lcub:Z0,Lcy:J0,lcy:W0,ldca:Y0,ldquo:Q0,ldquor:K0,ldrdhar:X0,ldrushar:n_,ldsh:t_,le:r_,lE:o_,LeftAngleBracket:e_,LeftArrowBar:s_,leftarrow:c_,LeftArrow:i_,Leftarrow:a_,LeftArrowRightArrow:l_,leftarrowtail:u_,LeftCeiling:p_,LeftDoubleBracket:f_,LeftDownTeeVector:h_,LeftDownVectorBar:d_,LeftDownVector:m_,LeftFloor:g_,leftharpoondown:__,leftharpoonup:b_,leftleftarrows:k_,leftrightarrow:x_,LeftRightArrow:v_,Leftrightarrow:y_,leftrightarrows:C_,leftrightharpoons:w_,leftrightsquigarrow:A_,LeftRightVector:q_,LeftTeeArrow:D_,LeftTee:E_,LeftTeeVector:S_,leftthreetimes:F_,LeftTriangleBar:L_,LeftTriangle:T_,LeftTriangleEqual:R_,LeftUpDownVector:z_,LeftUpTeeVector:I_,LeftUpVectorBar:B_,LeftUpVector:N_,LeftVectorBar:M_,LeftVector:P_,lEg:O_,leg:U_,leq:V_,leqq:$_,leqslant:G_,lescc:j_,les:H_,lesdot:Z_,lesdoto:J_,lesdotor:W_,lesg:Y_,lesges:Q_,lessapprox:K_,lessdot:X_,lesseqgtr:nb,lesseqqgtr:tb,LessEqualGreater:rb,LessFullEqual:ob,LessGreater:eb,lessgtr:sb,LessLess:cb,lesssim:ib,LessSlantEqual:ab,LessTilde:lb,lfisht:ub,lfloor:pb,Lfr:fb,lfr:hb,lg:db,lgE:mb,lHar:gb,lhard:_b,lharu:bb,lharul:kb,lhblk:xb,LJcy:vb,ljcy:yb,llarr:Cb,ll:wb,Ll:Ab,llcorner:qb,Lleftarrow:Db,llhard:Eb,lltri:Sb,Lmidot:Fb,lmidot:Lb,lmoustache:Tb,lmoust:Rb,lnap:zb,lnapprox:Ib,lne:Bb,lnE:Nb,lneq:Mb,lneqq:Pb,lnsim:Ob,loang:Ub,loarr:Vb,lobrk:$b,longleftarrow:Gb,LongLeftArrow:jb,Longleftarrow:Hb,longleftrightarrow:Zb,LongLeftRightArrow:Jb,Longleftrightarrow:Wb,longmapsto:Yb,longrightarrow:Qb,LongRightArrow:Kb,Longrightarrow:Xb,looparrowleft:nk,looparrowright:tk,lopar:rk,Lopf:ok,lopf:ek,loplus:sk,lotimes:ck,lowast:ik,lowbar:ak,LowerLeftArrow:lk,LowerRightArrow:uk,loz:pk,lozenge:fk,lozf:hk,lpar:dk,lparlt:mk,lrarr:gk,lrcorner:_k,lrhar:bk,lrhard:kk,lrm:xk,lrtri:vk,lsaquo:yk,lscr:Ck,Lscr:wk,lsh:Ak,Lsh:qk,lsim:Dk,lsime:Ek,lsimg:Sk,lsqb:Fk,lsquo:Lk,lsquor:Tk,Lstrok:Rk,lstrok:zk,ltcc:Ik,ltcir:Bk,lt:Nk,LT:Mk,Lt:Pk,ltdot:Ok,lthree:Uk,ltimes:Vk,ltlarr:$k,ltquest:Gk,ltri:jk,ltrie:Hk,ltrif:Zk,ltrPar:Jk,lurdshar:Wk,luruhar:Yk,lvertneqq:Qk,lvnE:Kk,macr:Xk,male:nx,malt:tx,maltese:rx,Map:"⤅",map:ox,mapsto:ex,mapstodown:sx,mapstoleft:cx,mapstoup:ix,marker:ax,mcomma:lx,Mcy:ux,mcy:px,mdash:fx,mDDot:hx,measuredangle:dx,MediumSpace:mx,Mellintrf:gx,Mfr:_x,mfr:bx,mho:kx,micro:xx,midast:vx,midcir:yx,mid:Cx,middot:wx,minusb:Ax,minus:qx,minusd:Dx,minusdu:Ex,MinusPlus:Sx,mlcp:Fx,mldr:Lx,mnplus:Tx,models:Rx,Mopf:zx,mopf:Ix,mp:Bx,mscr:Nx,Mscr:Mx,mstpos:Px,Mu:Ox,mu:Ux,multimap:Vx,mumap:$x,nabla:Gx,Nacute:jx,nacute:Hx,nang:Zx,nap:Jx,napE:Wx,napid:Yx,napos:Qx,napprox:Kx,natural:Xx,naturals:nv,natur:tv,nbsp:rv,nbump:ov,nbumpe:ev,ncap:sv,Ncaron:cv,ncaron:iv,Ncedil:av,ncedil:lv,ncong:uv,ncongdot:pv,ncup:fv,Ncy:hv,ncy:dv,ndash:mv,nearhk:gv,nearr:_v,neArr:bv,nearrow:kv,ne:xv,nedot:vv,NegativeMediumSpace:yv,NegativeThickSpace:Cv,NegativeThinSpace:wv,NegativeVeryThinSpace:Av,nequiv:qv,nesear:Dv,nesim:Ev,NestedGreaterGreater:Sv,NestedLessLess:Fv,NewLine:Lv,nexist:Tv,nexists:Rv,Nfr:zv,nfr:Iv,ngE:Bv,nge:Nv,ngeq:Mv,ngeqq:Pv,ngeqslant:Ov,nges:Uv,nGg:Vv,ngsim:$v,nGt:Gv,ngt:jv,ngtr:Hv,nGtv:Zv,nharr:Jv,nhArr:Wv,nhpar:Yv,ni:Qv,nis:Kv,nisd:Xv,niv:ny,NJcy:ty,njcy:ry,nlarr:oy,nlArr:ey,nldr:sy,nlE:cy,nle:iy,nleftarrow:ay,nLeftarrow:ly,nleftrightarrow:uy,nLeftrightarrow:py,nleq:fy,nleqq:hy,nleqslant:dy,nles:my,nless:gy,nLl:_y,nlsim:by,nLt:ky,nlt:xy,nltri:vy,nltrie:yy,nLtv:Cy,nmid:wy,NoBreak:Ay,NonBreakingSpace:qy,nopf:Dy,Nopf:Ey,Not:Sy,not:Fy,NotCongruent:Ly,NotCupCap:Ty,NotDoubleVerticalBar:Ry,NotElement:zy,NotEqual:Iy,NotEqualTilde:By,NotExists:Ny,NotGreater:My,NotGreaterEqual:Py,NotGreaterFullEqual:Oy,NotGreaterGreater:Uy,NotGreaterLess:Vy,NotGreaterSlantEqual:$y,NotGreaterTilde:Gy,NotHumpDownHump:jy,NotHumpEqual:Hy,notin:Zy,notindot:Jy,notinE:Wy,notinva:Yy,notinvb:Qy,notinvc:Ky,NotLeftTriangleBar:Xy,NotLeftTriangle:nC,NotLeftTriangleEqual:tC,NotLess:rC,NotLessEqual:oC,NotLessGreater:eC,NotLessLess:sC,NotLessSlantEqual:cC,NotLessTilde:iC,NotNestedGreaterGreater:aC,NotNestedLessLess:lC,notni:uC,notniva:pC,notnivb:fC,notnivc:hC,NotPrecedes:dC,NotPrecedesEqual:mC,NotPrecedesSlantEqual:gC,NotReverseElement:_C,NotRightTriangleBar:bC,NotRightTriangle:kC,NotRightTriangleEqual:xC,NotSquareSubset:vC,NotSquareSubsetEqual:yC,NotSquareSuperset:CC,NotSquareSupersetEqual:wC,NotSubset:AC,NotSubsetEqual:qC,NotSucceeds:DC,NotSucceedsEqual:EC,NotSucceedsSlantEqual:SC,NotSucceedsTilde:FC,NotSuperset:LC,NotSupersetEqual:TC,NotTilde:RC,NotTildeEqual:zC,NotTildeFullEqual:IC,NotTildeTilde:BC,NotVerticalBar:NC,nparallel:MC,npar:PC,nparsl:OC,npart:UC,npolint:VC,npr:$C,nprcue:GC,nprec:jC,npreceq:HC,npre:ZC,nrarrc:JC,nrarr:WC,nrArr:YC,nrarrw:QC,nrightarrow:KC,nRightarrow:XC,nrtri:nw,nrtrie:tw,nsc:rw,nsccue:ow,nsce:ew,Nscr:sw,nscr:cw,nshortmid:iw,nshortparallel:aw,nsim:lw,nsime:uw,nsimeq:pw,nsmid:fw,nspar:hw,nsqsube:dw,nsqsupe:mw,nsub:gw,nsubE:_w,nsube:bw,nsubset:kw,nsubseteq:xw,nsubseteqq:vw,nsucc:yw,nsucceq:Cw,nsup:ww,nsupE:Aw,nsupe:qw,nsupset:Dw,nsupseteq:Ew,nsupseteqq:Sw,ntgl:Fw,Ntilde:Lw,ntilde:Tw,ntlg:Rw,ntriangleleft:zw,ntrianglelefteq:Iw,ntriangleright:Bw,ntrianglerighteq:Nw,Nu:Mw,nu:Pw,num:Ow,numero:Uw,numsp:Vw,nvap:$w,nvdash:Gw,nvDash:jw,nVdash:Hw,nVDash:Zw,nvge:Jw,nvgt:Ww,nvHarr:Yw,nvinfin:Qw,nvlArr:Kw,nvle:Xw,nvlt:n1,nvltrie:t1,nvrArr:r1,nvrtrie:o1,nvsim:e1,nwarhk:s1,nwarr:c1,nwArr:i1,nwarrow:a1,nwnear:l1,Oacute:u1,oacute:p1,oast:f1,Ocirc:h1,ocirc:d1,ocir:m1,Ocy:g1,ocy:_1,odash:b1,Odblac:k1,odblac:x1,odiv:v1,odot:y1,odsold:C1,OElig:w1,oelig:A1,ofcir:q1,Ofr:D1,ofr:E1,ogon:S1,Ograve:F1,ograve:L1,ogt:T1,ohbar:R1,ohm:z1,oint:I1,olarr:B1,olcir:N1,olcross:M1,oline:P1,olt:O1,Omacr:U1,omacr:V1,Omega:$1,omega:G1,Omicron:j1,omicron:H1,omid:Z1,ominus:J1,Oopf:W1,oopf:Y1,opar:Q1,OpenCurlyDoubleQuote:K1,OpenCurlyQuote:X1,operp:nA,oplus:tA,orarr:rA,Or:oA,or:eA,ord:sA,order:cA,orderof:iA,ordf:aA,ordm:lA,origof:uA,oror:pA,orslope:fA,orv:hA,oS:dA,Oscr:mA,oscr:gA,Oslash:_A,oslash:bA,osol:kA,Otilde:xA,otilde:vA,otimesas:yA,Otimes:CA,otimes:wA,Ouml:AA,ouml:qA,ovbar:DA,OverBar:EA,OverBrace:SA,OverBracket:FA,OverParenthesis:LA,para:TA,parallel:RA,par:zA,parsim:IA,parsl:BA,part:NA,PartialD:MA,Pcy:PA,pcy:OA,percnt:UA,period:VA,permil:$A,perp:GA,pertenk:jA,Pfr:HA,pfr:ZA,Phi:JA,phi:WA,phiv:YA,phmmat:QA,phone:KA,Pi:XA,pi:nq,pitchfork:tq,piv:rq,planck:oq,planckh:eq,plankv:sq,plusacir:cq,plusb:iq,pluscir:aq,plus:lq,plusdo:uq,plusdu:pq,pluse:fq,PlusMinus:hq,plusmn:dq,plussim:mq,plustwo:gq,pm:_q,Poincareplane:bq,pointint:kq,popf:xq,Popf:vq,pound:yq,prap:Cq,Pr:wq,pr:Aq,prcue:qq,precapprox:Dq,prec:Eq,preccurlyeq:Sq,Precedes:Fq,PrecedesEqual:Lq,PrecedesSlantEqual:Tq,PrecedesTilde:Rq,preceq:zq,precnapprox:Iq,precneqq:Bq,precnsim:Nq,pre:Mq,prE:Pq,precsim:Oq,prime:Uq,Prime:Vq,primes:$q,prnap:Gq,prnE:jq,prnsim:Hq,prod:Zq,Product:Jq,profalar:Wq,profline:Yq,profsurf:Qq,prop:Kq,Proportional:Xq,Proportion:nD,propto:tD,prsim:rD,prurel:oD,Pscr:eD,pscr:sD,Psi:cD,psi:iD,puncsp:aD,Qfr:lD,qfr:uD,qint:pD,qopf:fD,Qopf:hD,qprime:dD,Qscr:mD,qscr:gD,quaternions:_D,quatint:bD,quest:kD,questeq:xD,quot:vD,QUOT:yD,rAarr:CD,race:wD,Racute:AD,racute:qD,radic:DD,raemptyv:ED,rang:SD,Rang:FD,rangd:LD,range:TD,rangle:RD,raquo:zD,rarrap:ID,rarrb:BD,rarrbfs:ND,rarrc:MD,rarr:PD,Rarr:OD,rArr:UD,rarrfs:VD,rarrhk:$D,rarrlp:GD,rarrpl:jD,rarrsim:HD,Rarrtl:ZD,rarrtl:JD,rarrw:WD,ratail:YD,rAtail:QD,ratio:KD,rationals:XD,rbarr:nE,rBarr:tE,RBarr:rE,rbbrk:oE,rbrace:eE,rbrack:sE,rbrke:cE,rbrksld:iE,rbrkslu:aE,Rcaron:lE,rcaron:uE,Rcedil:pE,rcedil:fE,rceil:hE,rcub:dE,Rcy:mE,rcy:gE,rdca:_E,rdldhar:bE,rdquo:kE,rdquor:xE,rdsh:vE,real:yE,realine:CE,realpart:wE,reals:AE,Re:qE,rect:DE,reg:EE,REG:SE,ReverseElement:FE,ReverseEquilibrium:LE,ReverseUpEquilibrium:TE,rfisht:RE,rfloor:zE,rfr:IE,Rfr:BE,rHar:NE,rhard:ME,rharu:PE,rharul:OE,Rho:UE,rho:VE,rhov:$E,RightAngleBracket:GE,RightArrowBar:jE,rightarrow:HE,RightArrow:ZE,Rightarrow:JE,RightArrowLeftArrow:WE,rightarrowtail:YE,RightCeiling:QE,RightDoubleBracket:KE,RightDownTeeVector:XE,RightDownVectorBar:nS,RightDownVector:tS,RightFloor:rS,rightharpoondown:oS,rightharpoonup:eS,rightleftarrows:sS,rightleftharpoons:cS,rightrightarrows:iS,rightsquigarrow:aS,RightTeeArrow:lS,RightTee:uS,RightTeeVector:pS,rightthreetimes:fS,RightTriangleBar:hS,RightTriangle:dS,RightTriangleEqual:mS,RightUpDownVector:gS,RightUpTeeVector:_S,RightUpVectorBar:bS,RightUpVector:kS,RightVectorBar:xS,RightVector:vS,ring:yS,risingdotseq:CS,rlarr:wS,rlhar:AS,rlm:qS,rmoustache:DS,rmoust:ES,rnmid:SS,roang:FS,roarr:LS,robrk:TS,ropar:RS,ropf:zS,Ropf:IS,roplus:BS,rotimes:NS,RoundImplies:MS,rpar:PS,rpargt:OS,rppolint:US,rrarr:VS,Rrightarrow:$S,rsaquo:GS,rscr:jS,Rscr:HS,rsh:ZS,Rsh:JS,rsqb:WS,rsquo:YS,rsquor:QS,rthree:KS,rtimes:XS,rtri:nF,rtrie:tF,rtrif:rF,rtriltri:oF,RuleDelayed:eF,ruluhar:sF,rx:cF,Sacute:iF,sacute:aF,sbquo:lF,scap:uF,Scaron:pF,scaron:fF,Sc:hF,sc:dF,sccue:mF,sce:gF,scE:_F,Scedil:bF,scedil:kF,Scirc:xF,scirc:vF,scnap:yF,scnE:CF,scnsim:wF,scpolint:AF,scsim:qF,Scy:DF,scy:EF,sdotb:SF,sdot:FF,sdote:LF,searhk:TF,searr:RF,seArr:zF,searrow:IF,sect:BF,semi:NF,seswar:MF,setminus:PF,setmn:OF,sext:UF,Sfr:VF,sfr:$F,sfrown:GF,sharp:jF,SHCHcy:HF,shchcy:ZF,SHcy:JF,shcy:WF,ShortDownArrow:YF,ShortLeftArrow:QF,shortmid:KF,shortparallel:XF,ShortRightArrow:nL,ShortUpArrow:tL,shy:rL,Sigma:oL,sigma:eL,sigmaf:sL,sigmav:cL,sim:iL,simdot:aL,sime:lL,simeq:uL,simg:pL,simgE:fL,siml:hL,simlE:dL,simne:mL,simplus:gL,simrarr:_L,slarr:bL,SmallCircle:kL,smallsetminus:xL,smashp:vL,smeparsl:yL,smid:CL,smile:wL,smt:AL,smte:qL,smtes:DL,SOFTcy:EL,softcy:SL,solbar:FL,solb:LL,sol:TL,Sopf:RL,sopf:zL,spades:IL,spadesuit:BL,spar:NL,sqcap:ML,sqcaps:PL,sqcup:OL,sqcups:UL,Sqrt:VL,sqsub:$L,sqsube:GL,sqsubset:jL,sqsubseteq:HL,sqsup:ZL,sqsupe:JL,sqsupset:WL,sqsupseteq:YL,square:QL,Square:KL,SquareIntersection:XL,SquareSubset:nT,SquareSubsetEqual:tT,SquareSuperset:rT,SquareSupersetEqual:oT,SquareUnion:eT,squarf:sT,squ:cT,squf:iT,srarr:aT,Sscr:lT,sscr:uT,ssetmn:pT,ssmile:fT,sstarf:hT,Star:dT,star:mT,starf:gT,straightepsilon:_T,straightphi:bT,strns:kT,sub:xT,Sub:vT,subdot:yT,subE:CT,sube:wT,subedot:AT,submult:qT,subnE:DT,subne:ET,subplus:ST,subrarr:FT,subset:LT,Subset:TT,subseteq:RT,subseteqq:zT,SubsetEqual:IT,subsetneq:BT,subsetneqq:NT,subsim:MT,subsub:PT,subsup:OT,succapprox:UT,succ:VT,succcurlyeq:$T,Succeeds:GT,SucceedsEqual:jT,SucceedsSlantEqual:HT,SucceedsTilde:ZT,succeq:JT,succnapprox:WT,succneqq:YT,succnsim:QT,succsim:KT,SuchThat:XT,sum:n2,Sum:t2,sung:r2,sup1:o2,sup2:e2,sup3:s2,sup:c2,Sup:i2,supdot:a2,supdsub:l2,supE:u2,supe:p2,supedot:f2,Superset:h2,SupersetEqual:d2,suphsol:m2,suphsub:g2,suplarr:_2,supmult:b2,supnE:k2,supne:x2,supplus:v2,supset:y2,Supset:C2,supseteq:w2,supseteqq:A2,supsetneq:q2,supsetneqq:D2,supsim:E2,supsub:S2,supsup:F2,swarhk:L2,swarr:T2,swArr:R2,swarrow:z2,swnwar:I2,szlig:B2,Tab:N2,target:M2,Tau:P2,tau:O2,tbrk:U2,Tcaron:V2,tcaron:$2,Tcedil:G2,tcedil:j2,Tcy:H2,tcy:Z2,tdot:J2,telrec:W2,Tfr:Y2,tfr:Q2,there4:K2,therefore:X2,Therefore:nR,Theta:tR,theta:rR,thetasym:oR,thetav:eR,thickapprox:sR,thicksim:cR,ThickSpace:iR,ThinSpace:aR,thinsp:lR,thkap:uR,thksim:pR,THORN:fR,thorn:hR,tilde:dR,Tilde:mR,TildeEqual:gR,TildeFullEqual:_R,TildeTilde:bR,timesbar:kR,timesb:xR,times:vR,timesd:yR,tint:CR,toea:wR,topbot:AR,topcir:qR,top:DR,Topf:ER,topf:SR,topfork:FR,tosa:LR,tprime:TR,trade:RR,TRADE:zR,triangle:IR,triangledown:BR,triangleleft:NR,trianglelefteq:MR,triangleq:PR,triangleright:OR,trianglerighteq:UR,tridot:VR,trie:$R,triminus:GR,TripleDot:jR,triplus:HR,trisb:ZR,tritime:JR,trpezium:WR,Tscr:YR,tscr:QR,TScy:KR,tscy:XR,TSHcy:nz,tshcy:tz,Tstrok:rz,tstrok:oz,twixt:ez,twoheadleftarrow:sz,twoheadrightarrow:cz,Uacute:iz,uacute:az,uarr:lz,Uarr:uz,uArr:pz,Uarrocir:fz,Ubrcy:hz,ubrcy:dz,Ubreve:mz,ubreve:gz,Ucirc:_z,ucirc:bz,Ucy:kz,ucy:xz,udarr:vz,Udblac:yz,udblac:Cz,udhar:wz,ufisht:Az,Ufr:qz,ufr:Dz,Ugrave:Ez,ugrave:Sz,uHar:Fz,uharl:Lz,uharr:Tz,uhblk:Rz,ulcorn:zz,ulcorner:Iz,ulcrop:Bz,ultri:Nz,Umacr:Mz,umacr:Pz,uml:Oz,UnderBar:Uz,UnderBrace:Vz,UnderBracket:$z,UnderParenthesis:Gz,Union:jz,UnionPlus:Hz,Uogon:Zz,uogon:Jz,Uopf:Wz,uopf:Yz,UpArrowBar:Qz,uparrow:Kz,UpArrow:Xz,Uparrow:nI,UpArrowDownArrow:tI,updownarrow:rI,UpDownArrow:oI,Updownarrow:eI,UpEquilibrium:sI,upharpoonleft:cI,upharpoonright:iI,uplus:aI,UpperLeftArrow:lI,UpperRightArrow:uI,upsi:pI,Upsi:fI,upsih:hI,Upsilon:dI,upsilon:mI,UpTeeArrow:gI,UpTee:_I,upuparrows:bI,urcorn:kI,urcorner:xI,urcrop:vI,Uring:yI,uring:CI,urtri:wI,Uscr:AI,uscr:qI,utdot:DI,Utilde:EI,utilde:SI,utri:FI,utrif:LI,uuarr:TI,Uuml:RI,uuml:zI,uwangle:II,vangrt:BI,varepsilon:NI,varkappa:MI,varnothing:PI,varphi:OI,varpi:UI,varpropto:VI,varr:$I,vArr:GI,varrho:jI,varsigma:HI,varsubsetneq:ZI,varsubsetneqq:JI,varsupsetneq:WI,varsupsetneqq:YI,vartheta:QI,vartriangleleft:KI,vartriangleright:XI,vBar:nB,Vbar:tB,vBarv:rB,Vcy:oB,vcy:eB,vdash:sB,vDash:cB,Vdash:iB,VDash:aB,Vdashl:lB,veebar:uB,vee:pB,Vee:fB,veeeq:hB,vellip:dB,verbar:mB,Verbar:gB,vert:_B,Vert:bB,VerticalBar:kB,VerticalLine:xB,VerticalSeparator:vB,VerticalTilde:yB,VeryThinSpace:CB,Vfr:wB,vfr:AB,vltri:qB,vnsub:DB,vnsup:EB,Vopf:SB,vopf:FB,vprop:LB,vrtri:TB,Vscr:RB,vscr:zB,vsubnE:IB,vsubne:BB,vsupnE:NB,vsupne:MB,Vvdash:PB,vzigzag:OB,Wcirc:UB,wcirc:VB,wedbar:$B,wedge:GB,Wedge:jB,wedgeq:HB,weierp:ZB,Wfr:JB,wfr:WB,Wopf:YB,wopf:QB,wp:KB,wr:XB,wreath:n3,Wscr:t3,wscr:r3,xcap:o3,xcirc:e3,xcup:s3,xdtri:c3,Xfr:i3,xfr:a3,xharr:l3,xhArr:u3,Xi:p3,xi:f3,xlarr:h3,xlArr:d3,xmap:m3,xnis:g3,xodot:_3,Xopf:b3,xopf:k3,xoplus:x3,xotime:v3,xrarr:y3,xrArr:C3,Xscr:w3,xscr:A3,xsqcup:q3,xuplus:D3,xutri:E3,xvee:S3,xwedge:F3,Yacute:L3,yacute:T3,YAcy:R3,yacy:z3,Ycirc:I3,ycirc:B3,Ycy:N3,ycy:M3,yen:P3,Yfr:O3,yfr:U3,YIcy:V3,yicy:$3,Yopf:G3,yopf:j3,Yscr:H3,yscr:Z3,YUcy:J3,yucy:W3,yuml:Y3,Yuml:Q3,Zacute:K3,zacute:X3,Zcaron:nN,zcaron:tN,Zcy:rN,zcy:oN,Zdot:eN,zdot:sN,zeetrf:cN,ZeroWidthSpace:iN,Zeta:aN,zeta:lN,zfr:uN,Zfr:pN,ZHcy:fN,zhcy:hN,zigrarr:dN,zopf:mN,Zopf:gN,Zscr:_N,zscr:bN,zwj:kN,zwnj:xN};var At=vN,Tn=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,Z={},$n={};function yN(r){var n,t,o=$n[r];if(o)return o;for(o=$n[r]=[],n=0;n<128;n++)t=String.fromCharCode(n),/^[0-9a-z]$/i.test(t)?o.push(t):o.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2));for(n=0;n"u"&&(t=!0),c=yN(n),o=0,e=r.length;o=55296&&s<=57343){if(s>=55296&&s<=56319&&o+1=56320&&i<=57343)){a+=encodeURIComponent(r[o]+r[o+1]),o++;continue}a+="%EF%BF%BD";continue}a+=encodeURIComponent(r[o])}return a}cn.defaultChars=";/?:@&=+$,-_.!~*'()#";cn.componentChars="-_.!~*'()";var CN=cn,Gn={};function wN(r){var n,t,o=Gn[r];if(o)return o;for(o=Gn[r]=[],n=0;n<128;n++)t=String.fromCharCode(n),o.push(t);for(n=0;n=55296&&u<=57343?p+="���":p+=String.fromCharCode(u),e+=6;continue}if((i&248)===240&&e+91114111?p+="����":(u-=65536,p+=String.fromCharCode(55296+(u>>10),56320+(u&1023))),e+=9;continue}p+="�"}return p})}an.defaultChars=";/?:@&=+$,#";an.componentChars="";var AN=an,qN=function(n){var t="";return t+=n.protocol||"",t+=n.slashes?"//":"",t+=n.auth?n.auth+"@":"",n.hostname&&n.hostname.indexOf(":")!==-1?t+="["+n.hostname+"]":t+=n.hostname||"",t+=n.port?":"+n.port:"",t+=n.pathname||"",t+=n.search||"",t+=n.hash||"",t};function en(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var DN=/^([a-z0-9.+-]+:)/i,EN=/:[0-9]*$/,SN=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,FN=["<",">",'"',"`"," ","\r",` `," "],LN=["{","}","|","\\","^","`"].concat(FN),TN=["'"].concat(LN),jn=["%","/","?",";","#"].concat(TN),Hn=["/","?","#"],RN=255,Zn=/^[+a-z0-9A-Z_-]{0,63}$/,zN=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Jn={javascript:!0,"javascript:":!0},Wn={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function IN(r,n){if(r&&r instanceof en)return r;var t=new en;return t.parse(r,n),t}en.prototype.parse=function(r,n){var t,o,e,s,i,c=r;if(c=c.trim(),!n&&r.split("#").length===1){var a=SN.exec(c);if(a)return this.pathname=a[1],a[2]&&(this.search=a[2]),this}var l=DN.exec(c);if(l&&(l=l[0],e=l.toLowerCase(),this.protocol=l,c=c.substr(l.length)),(n||l||c.match(/^\/\/[^@\/]+@[^@\/]+/))&&(i=c.substr(0,2)==="//",i&&!(l&&Jn[l])&&(c=c.substr(2),this.slashes=!0)),!Jn[l]&&(i||l&&!Wn[l])){var u=-1;for(t=0;t127?k+="x":k+=v[m];if(!k.match(Zn)){var C=_.slice(0,t),w=_.slice(t+1),g=v.match(zN);g&&(C.push(g[1]),w.unshift(g[2])),w.length&&(c=w.join(".")+c),this.hostname=C.join(".");break}}}}this.hostname.length>RN&&(this.hostname=""),b&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}var E=c.indexOf("#");E!==-1&&(this.hash=c.substr(E),c=c.slice(0,E));var S=c.indexOf("?");return S!==-1&&(this.search=c.substr(S),c=c.slice(0,S)),c&&(this.pathname=c),Wn[e]&&this.hostname&&!this.pathname&&(this.pathname=""),this};en.prototype.parseHost=function(r){var n=EN.exec(r);n&&(n=n[0],n!==":"&&(this.port=n.substr(1)),r=r.substr(0,r.length-n.length)),r&&(this.hostname=r)};var BN=IN;Z.encode=CN;Z.decode=AN;Z.format=qN;Z.parse=BN;var U={},gn,Yn;function qt(){return Yn||(Yn=1,gn=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/),gn}var _n,Qn;function Dt(){return Qn||(Qn=1,_n=/[\0-\x1F\x7F-\x9F]/),_n}var bn,Kn;function NN(){return Kn||(Kn=1,bn=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/),bn}var kn,Xn;function Et(){return Xn||(Xn=1,kn=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/),kn}var nt;function MN(){return nt||(nt=1,U.Any=qt(),U.Cc=Dt(),U.Cf=NN(),U.P=Tn,U.Z=Et()),U}(function(r){function n(d){return Object.prototype.toString.call(d)}function t(d){return n(d)==="[object String]"}var o=Object.prototype.hasOwnProperty;function e(d,A){return o.call(d,A)}function s(d){var A=Array.prototype.slice.call(arguments,1);return A.forEach(function(x){if(x){if(typeof x!="object")throw new TypeError(x+"must be object");Object.keys(x).forEach(function(P){d[P]=x[P]})}}),d}function i(d,A,x){return[].concat(d.slice(0,A),x,d.slice(A+1))}function c(d){return!(d>=55296&&d<=57343||d>=64976&&d<=65007||(d&65535)===65535||(d&65535)===65534||d>=0&&d<=8||d===11||d>=14&&d<=31||d>=127&&d<=159||d>1114111)}function a(d){if(d>65535){d-=65536;var A=55296+(d>>10),x=56320+(d&1023);return String.fromCharCode(A,x)}return String.fromCharCode(d)}var l=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,u=/&([a-z#][a-z0-9]{1,31});/gi,p=new RegExp(l.source+"|"+u.source,"gi"),f=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i,h=At;function b(d,A){var x;return e(h,A)?h[A]:A.charCodeAt(0)===35&&f.test(A)&&(x=A[1].toLowerCase()==="x"?parseInt(A.slice(2),16):parseInt(A.slice(1),10),c(x))?a(x):d}function _(d){return d.indexOf("\\")<0?d:d.replace(l,"$1")}function v(d){return d.indexOf("\\")<0&&d.indexOf("&")<0?d:d.replace(p,function(A,x,P){return x||b(A,P)})}var k=/[&<>"]/,m=/[&<>"]/g,y={"&":"&","<":"<",">":">",'"':"""};function C(d){return y[d]}function w(d){return k.test(d)?d.replace(m,C):d}var g=/[.?*+^$[\]\\(){}|-]/g;function E(d){return d.replace(g,"\\$&")}function S(d){switch(d){case 9:case 32:return!0}return!1}function M(d){if(d>=8192&&d<=8202)return!0;switch(d){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}var D=Tn;function R(d){return D.test(d)}function G(d){switch(d){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function Y(d){return d=d.trim().replace(/\s+/g," "),"ẞ".toLowerCase()==="Ṿ"&&(d=d.replace(/ẞ/g,"ß")),d.toLowerCase().toUpperCase()}r.lib={},r.lib.mdurl=Z,r.lib.ucmicro=MN(),r.assign=s,r.isString=t,r.has=e,r.unescapeMd=_,r.unescapeAll=v,r.isValidEntityCode=c,r.fromCodePoint=a,r.escapeHtml=w,r.arrayReplaceAt=i,r.isSpace=S,r.isWhiteSpace=M,r.isMdAsciiPunct=G,r.isPunctChar=R,r.escapeRE=E,r.normalizeReference=Y})(q);var ln={},PN=function(n,t,o){var e,s,i,c,a=-1,l=n.posMax,u=n.pos;for(n.pos=t+1,e=1;n.pos32))return c;if(e===41){if(s===0)break;s--}i++}return t===i||s!==0||(c.str=tt(n.slice(t,i)),c.pos=i,c.ok=!0),c},UN=q.unescapeAll,VN=function(n,t,o){var e,s,i=0,c=t,a={ok:!1,pos:0,lines:0,str:""};if(c>=o||(s=n.charCodeAt(c),s!==34&&s!==39&&s!==40))return a;for(c++,s===40&&(s=41);c"+$(s.content)+""};B.code_block=function(r,n,t,o,e){var s=r[n];return""+$(r[n].content)+` `};B.fence=function(r,n,t,o,e){var s=r[n],i=s.info?GN(s.info).trim():"",c="",a="",l,u,p,f,h;return i&&(p=i.split(/(\s+)/g),c=p[0],a=p.slice(2).join("")),t.highlight?l=t.highlight(s.content,c,a)||$(s.content):l=$(s.content),l.indexOf("[t.image?(n(),o("img",{key:0,src:t.image},null,8,M)):y("",!0),r("h4",null,p(t.title),1),r("p",{class:"newsSummary",innerHTML:t.summary},null,8,B),r("p",F,p(`${u.updatedTimestamp}, ${t.source}`),1)]),_:1},8,["onClick"])}const D=f(x,[["render",L],["__scopeId","data-v-15299eaa"]]);const U={components:{Loader:N,FullShelf:C,NewsItemBig:D},name:"News",data(){return{news:[]}},mounted(){fetch("/api/news/articles").then(e=>e.json()).then(e=>{this.news.length=0;for(const s of e){const t=this.news.findIndex(i=>i.source==s.source);t>=0?this.news[t].items.push(s):this.news.push({source:s.source,items:[s]})}})}},H=e=>(k("data-v-55d1a00d"),e=e(),I(),e),b={class:"padding-20"},A={class:"news"},J=H(()=>r("h1",null,"News",-1)),V={key:0,class:"fillPage"};function j(e,s,t,i,d,u){const _=c("Loader"),S=c("news-item-big"),v=c("full-shelf");return n(),o("div",b,[r("div",A,[J,d.news.length?y("",!0):(n(),o("div",V,[$(_)])),(n(!0),o(h,null,g(d.news,l=>(n(),m(v,{key:l.source,heading:l.source,class:"mt-10"},{default:w(()=>[(n(!0),o(h,null,g(l.items,a=>(n(),m(S,{key:a.url,href:a.link,image:a.image,source:a.source,summary:a.summary,title:a.title,updated:a.updated},null,8,["href","image","source","summary","title","updated"]))),128))]),_:2},1032,["heading"]))),128))])])}const E=f(U,[["render",j],["__scopeId","data-v-55d1a00d"]]);export{E as default}; +import{F as C}from"./FullShelf-77f6f5f1.js";import{_ as f,C as T,e as c,o as n,f as m,w,c as o,d as y,a as r,t as p,L as N,g as $,F as h,j as g,m as k,n as I}from"./index-286d536d.js";const x={name:"NewsItemBig",components:{Card:T},methods:{redirect(){this.$router.push(this.href)}},computed:{updatedTimestamp(){const e=new Date(this.updated),s=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return`${s[e.getUTCDay()]} ${e.getUTCDate()} ${t[e.getUTCMonth()]} ${e.getUTCFullYear()} ${e.getUTCHours()}.${e.getUTCMinutes()} GMT`}},props:{image:String,title:String,summary:String,href:String,updated:String,source:String}},M=["src"],B=["innerHTML"],F={class:"small"};function L(e,s,t,i,d,u){const _=c("Card");return n(),m(_,{class:"p-4 col-span-2 cursor-pointer","with-hover":"",onClick:u.redirect},{default:w(()=>[t.image?(n(),o("img",{key:0,src:t.image},null,8,M)):y("",!0),r("h4",null,p(t.title),1),r("p",{class:"newsSummary",innerHTML:t.summary},null,8,B),r("p",F,p(`${u.updatedTimestamp}, ${t.source}`),1)]),_:1},8,["onClick"])}const D=f(x,[["render",L],["__scopeId","data-v-15299eaa"]]);const U={components:{Loader:N,FullShelf:C,NewsItemBig:D},name:"News",data(){return{news:[]}},mounted(){fetch("/api/news/articles").then(e=>e.json()).then(e=>{this.news.length=0;for(const s of e){const t=this.news.findIndex(i=>i.source==s.source);t>=0?this.news[t].items.push(s):this.news.push({source:s.source,items:[s]})}})}},H=e=>(k("data-v-55d1a00d"),e=e(),I(),e),b={class:"padding-20"},A={class:"news"},J=H(()=>r("h1",null,"News",-1)),V={key:0,class:"fillPage"};function j(e,s,t,i,d,u){const _=c("Loader"),S=c("news-item-big"),v=c("full-shelf");return n(),o("div",b,[r("div",A,[J,d.news.length?y("",!0):(n(),o("div",V,[$(_)])),(n(!0),o(h,null,g(d.news,l=>(n(),m(v,{key:l.source,heading:l.source,class:"mt-10"},{default:w(()=>[(n(!0),o(h,null,g(l.items,a=>(n(),m(S,{key:a.url,href:a.link,image:a.image,source:a.source,summary:a.summary,title:a.title,updated:a.updated},null,8,["href","image","source","summary","title","updated"]))),128))]),_:2},1032,["heading"]))),128))])])}const E=f(U,[["render",j],["__scopeId","data-v-55d1a00d"]]);export{E as default}; diff --git a/src/ui/dist/assets/News-53589a37.js.gz b/src/ui/dist/assets/News-53589a37.js.gz new file mode 100644 index 000000000..9b442acb2 Binary files /dev/null and b/src/ui/dist/assets/News-53589a37.js.gz differ diff --git a/src/ui/dist/assets/News-75f9af9a.js.gz b/src/ui/dist/assets/News-75f9af9a.js.gz deleted file mode 100644 index 8cd4c945f..000000000 Binary files a/src/ui/dist/assets/News-75f9af9a.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/NewsArticle-3a0c05a2.js.gz b/src/ui/dist/assets/NewsArticle-3a0c05a2.js.gz deleted file mode 100644 index 5719f4c9a..000000000 Binary files a/src/ui/dist/assets/NewsArticle-3a0c05a2.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/NewsArticle-3a0c05a2.js b/src/ui/dist/assets/NewsArticle-6a4ee6d7.js similarity index 97% rename from src/ui/dist/assets/NewsArticle-3a0c05a2.js rename to src/ui/dist/assets/NewsArticle-6a4ee6d7.js index 1ba22c6fc..3a165032c 100644 --- a/src/ui/dist/assets/NewsArticle-3a0c05a2.js +++ b/src/ui/dist/assets/NewsArticle-6a4ee6d7.js @@ -1 +1 @@ -import{_ as p,o as i,c as _,a as r,L as m,e as d,f as h,t as c,b as y,d as u,aZ as g}from"./index-1d15d58c.js";const w={name:"Error",props:{msg:String},methods:{toggleSidebar(){this.$emit("toggleSidebar")}}},v={class:"error"},b=["innerHTML"];function L(s,t,o,l,e,a){return i(),_("div",v,[r("h1",{innerHTML:o.msg},null,8,b)])}const k=p(w,[["render",L],["__scopeId","data-v-409a6b55"]]);const x={name:"NewsArticle",components:{Loader:m,Error:k},data(){return{error:"",article:{},fullWidth:!1}},methods:{updateData(){fetch(`/api/news/articles/${this.$route.params.url}`).then(async s=>{if(s.status==404){this.error="This wouldn't have happened if you had clicked on the links we provided!
ヽ(ಠ_ಠ)ノ",setTimeout(this.updateData,1e3);return}if(s.status==400){window.open(await s.text()),this.$router.push("/news");return}if(s.status==200){if(this.article=await s.json(),this.article.headline==="N/A"){window.open(this.article.href),this.$router.push("/news");return}let t=this.article.body.split(" ").filter(e=>e.includes('href="/'));t=t.map(e=>e.split('href="')[1].split('"')[0]);const o=this.article.href.split("/")[2],l=t.map(e=>"https://"+o+e);for(const e in t){let a=l[e];fetch("/api/news/articles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:l[e]})}).then(async n=>{n.status==200?a=await n.text():console.error(await n.text()),this.article.body=this.article.body.replaceAll(t[e],a)})}return}this.error=s.statusText})}},mounted(){this.updateData()}},T={key:2,class:"padding-20 newsArticle"},N=["innerHTML"],H={class:"leading-tight headline"},M=["innerHTML"],A={key:0,class:"date"},E=["href"],S={key:1,class:"my-4"},W=["innerHTML"];function C(s,t,o,l,e,a){const n=d("Error"),f=d("Loader");return e.error?(i(),h(n,{key:0,msg:e.error},null,8,["msg"])):e.article.headline?(i(),_("div",T,[r("span",{class:"toggleWidth material-icons-round",onClick:t[0]||(t[0]=B=>e.fullWidth=!e.fullWidth)},c(e.fullWidth?"close_fullscreen":"open_in_full"),1),r("div",{class:g([{slim:!e.fullWidth},"wrapper"])},[r("h6",{class:"accentLink topic",innerHTML:e.article.topic},null,8,N),r("h1",H,c(e.article.headline),1),r("h4",{class:"standfirst",innerHTML:e.article.standfirst},null,8,M),e.article.date?(i(),_("h6",A,[y(c(e.article.date)+", ",1),r("a",{href:e.article.href},c(e.article.href),9,E)])):u("",!0),e.article.body?(i(),_("hr",S)):u("",!0),r("div",{class:"body leading-relaxed text-md",innerHTML:e.article.body},null,8,W)],2)])):(i(),h(f,{key:1}))}const V=p(x,[["render",C],["__scopeId","data-v-32bc12c0"]]);export{V as default}; +import{_ as p,o as i,c as _,a as r,L as m,e as d,f as h,t as c,b as y,d as u,aZ as g}from"./index-286d536d.js";const w={name:"Error",props:{msg:String},methods:{toggleSidebar(){this.$emit("toggleSidebar")}}},v={class:"error"},b=["innerHTML"];function L(s,t,o,l,e,a){return i(),_("div",v,[r("h1",{innerHTML:o.msg},null,8,b)])}const k=p(w,[["render",L],["__scopeId","data-v-409a6b55"]]);const x={name:"NewsArticle",components:{Loader:m,Error:k},data(){return{error:"",article:{},fullWidth:!1}},methods:{updateData(){fetch(`/api/news/articles/${this.$route.params.url}`).then(async s=>{if(s.status==404){this.error="This wouldn't have happened if you had clicked on the links we provided!
ヽ(ಠ_ಠ)ノ",setTimeout(this.updateData,1e3);return}if(s.status==400){window.open(await s.text()),this.$router.push("/news");return}if(s.status==200){if(this.article=await s.json(),this.article.headline==="N/A"){window.open(this.article.href),this.$router.push("/news");return}let t=this.article.body.split(" ").filter(e=>e.includes('href="/'));t=t.map(e=>e.split('href="')[1].split('"')[0]);const o=this.article.href.split("/")[2],l=t.map(e=>"https://"+o+e);for(const e in t){let a=l[e];fetch("/api/news/articles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:l[e]})}).then(async n=>{n.status==200?a=await n.text():console.error(await n.text()),this.article.body=this.article.body.replaceAll(t[e],a)})}return}this.error=s.statusText})}},mounted(){this.updateData()}},T={key:2,class:"padding-20 newsArticle"},N=["innerHTML"],H={class:"leading-tight headline"},M=["innerHTML"],A={key:0,class:"date"},E=["href"],S={key:1,class:"my-4"},W=["innerHTML"];function C(s,t,o,l,e,a){const n=d("Error"),f=d("Loader");return e.error?(i(),h(n,{key:0,msg:e.error},null,8,["msg"])):e.article.headline?(i(),_("div",T,[r("span",{class:"toggleWidth material-icons-round",onClick:t[0]||(t[0]=B=>e.fullWidth=!e.fullWidth)},c(e.fullWidth?"close_fullscreen":"open_in_full"),1),r("div",{class:g([{slim:!e.fullWidth},"wrapper"])},[r("h6",{class:"accentLink topic",innerHTML:e.article.topic},null,8,N),r("h1",H,c(e.article.headline),1),r("h4",{class:"standfirst",innerHTML:e.article.standfirst},null,8,M),e.article.date?(i(),_("h6",A,[y(c(e.article.date)+", ",1),r("a",{href:e.article.href},c(e.article.href),9,E)])):u("",!0),e.article.body?(i(),_("hr",S)):u("",!0),r("div",{class:"body leading-relaxed text-md",innerHTML:e.article.body},null,8,W)],2)])):(i(),h(f,{key:1}))}const V=p(x,[["render",C],["__scopeId","data-v-32bc12c0"]]);export{V as default}; diff --git a/src/ui/dist/assets/NewsArticle-6a4ee6d7.js.gz b/src/ui/dist/assets/NewsArticle-6a4ee6d7.js.gz new file mode 100644 index 000000000..f1fb89e74 Binary files /dev/null and b/src/ui/dist/assets/NewsArticle-6a4ee6d7.js.gz differ diff --git a/src/ui/dist/assets/Normal-415d545e.js b/src/ui/dist/assets/Normal-415d545e.js deleted file mode 100644 index 52bf96dfa..000000000 --- a/src/ui/dist/assets/Normal-415d545e.js +++ /dev/null @@ -1 +0,0 @@ -import{i as n,B as i,k as p,D as m,o as c,f as l}from"./index-1d15d58c.js";import{T as d}from"./Template-a12b99e6.js";import"./PlaylistEntry-32f74c9a.js";import"./EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js";import"./playerInPicture-af203fdf.js";import"./FactCard-d063b1a1.js";import"./gistClient-63d02b96.js";import"./Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js";const B=n({__name:"Normal",setup(u){const e=i(),s=p(),t=m(()=>e.params.id),r=async(a,o)=>{await fetch(`/api/playlists/${t.value}/tracks`,{method:"PUT",body:JSON.stringify({songOldIndex:a,songNewIndex:o})}),await s.fetchPlaylists()};return(a,o)=>(c(),l(d,{id:t.value,onRearrange:r},null,8,["id"]))}});export{B as default}; diff --git a/src/ui/dist/assets/Normal-8b3ddd4a.js b/src/ui/dist/assets/Normal-8b3ddd4a.js new file mode 100644 index 000000000..d1f0a2c95 --- /dev/null +++ b/src/ui/dist/assets/Normal-8b3ddd4a.js @@ -0,0 +1 @@ +import{i as n,B as i,k as p,D as m,o as c,f as l}from"./index-286d536d.js";import{T as d}from"./Template-8dffc963.js";import"./PlaylistEntry-bb67bf25.js";import"./EditSong.vue_vue_type_script_setup_true_lang-94868e65.js";import"./playerInPicture-af203fdf.js";import"./FactCard-ecaa8541.js";import"./gistClient-be4ed4e2.js";import"./Markdown.vue_vue_type_style_index_0_lang-d9462c8d.js";const B=n({__name:"Normal",setup(u){const e=i(),s=p(),t=m(()=>e.params.id),r=async(a,o)=>{await fetch(`/api/playlists/${t.value}/tracks`,{method:"PUT",body:JSON.stringify({songOldIndex:a,songNewIndex:o})}),await s.fetchPlaylists()};return(a,o)=>(c(),l(d,{id:t.value,onRearrange:r},null,8,["id"]))}});export{B as default}; diff --git a/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-b6ff16a9.js b/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-2e3ae256.js similarity index 81% rename from src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-b6ff16a9.js rename to src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-2e3ae256.js index 6a821a479..db6cbf282 100644 --- a/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-b6ff16a9.js +++ b/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-2e3ae256.js @@ -1 +1 @@ -import{P as i}from"./PlaylistEntry-32f74c9a.js";import{i as o,q as c,o as l,c as t,g as n,P as u,F as d,j as y,f,d as p}from"./index-1d15d58c.js";const k={key:0,ref:"playlist-scroll",class:"playlist"},B=o({__name:"Playlist",props:{playlist:{type:Object,required:!1},useQueue:{type:Boolean,required:!1,default:!1}},setup(s){const a=c(-1);return(v,g)=>s.playlist?(l(),t("div",k,[n(u),(l(!0),t(d,null,y(s.useQueue?s.playlist.queue:s.playlist.songs,(e,r)=>(l(),f(i,{id:"bplayer-entry-"+e.id,key:e.source,index:r,selected:a.value==e.id,song:e,"with-cover":"",onClick:m=>a.value==e.id?a.value=-1:a.value=e.id},null,8,["id","index","selected","song","onClick"]))),128))],512)):p("",!0)}});export{B as _}; +import{P as i}from"./PlaylistEntry-bb67bf25.js";import{i as o,q as c,o as l,c as t,g as n,P as u,F as d,j as y,f,d as p}from"./index-286d536d.js";const k={key:0,ref:"playlist-scroll",class:"playlist"},B=o({__name:"Playlist",props:{playlist:{type:Object,required:!1},useQueue:{type:Boolean,required:!1,default:!1}},setup(s){const a=c(-1);return(v,g)=>s.playlist?(l(),t("div",k,[n(u),(l(!0),t(d,null,y(s.useQueue?s.playlist.queue:s.playlist.songs,(e,r)=>(l(),f(i,{id:"bplayer-entry-"+e.id,key:e.source,index:r,selected:a.value==e.id,song:e,"with-cover":"",onClick:m=>a.value==e.id?a.value=-1:a.value=e.id},null,8,["id","index","selected","song","onClick"]))),128))],512)):p("",!0)}});export{B as _}; diff --git a/src/ui/dist/assets/PlaylistEntry-32f74c9a.js.gz b/src/ui/dist/assets/PlaylistEntry-32f74c9a.js.gz deleted file mode 100644 index b683b93e0..000000000 Binary files a/src/ui/dist/assets/PlaylistEntry-32f74c9a.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/PlaylistEntry-32f74c9a.js b/src/ui/dist/assets/PlaylistEntry-bb67bf25.js similarity index 97% rename from src/ui/dist/assets/PlaylistEntry-32f74c9a.js rename to src/ui/dist/assets/PlaylistEntry-bb67bf25.js index 3cb65d3ee..5488ace0c 100644 --- a/src/ui/dist/assets/PlaylistEntry-32f74c9a.js +++ b/src/ui/dist/assets/PlaylistEntry-bb67bf25.js @@ -1 +1 @@ -import{i as L,k as G,D as p,q as B,e as S,bi as J,bX as W,o as u,c as g,r as Z,g as o,w as s,b as d,F as O,j as U,f as A,t as k,d as I,u as b,ce as K,cF as Q,c5 as ee,cr as te,y as oe,cw as ne,cG as se,c7 as ae,cz as ie,c8 as le,a as h,cH as ue,aZ as j,h as re,M as V,A as de,cb as ce,cI as ve,cd as ge,cJ as fe,_ as me}from"./index-1d15d58c.js";import{_ as ye}from"./EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js";import{p as pe}from"./playerInPicture-af203fdf.js";const ke=L({__name:"SongContext",props:{song:{type:Object,required:!0},playlistId:{type:String,required:!1,default:""}},emits:["update","edit"],setup(t,{expose:F,emit:N}){const a=G(),$=p(()=>a.playlists),e=t,m=N,v=p(()=>e.playlistId==-1),C=()=>{pe(e.song.artist,e.song.title,e.song.source)},f=async n=>{var i;n!=-1&&(await ee(n,e.song),te.addSuccess(e.song.title,`Added to ${(i=$.value.find(l=>l.id==n))==null?void 0:i.name}`,3e3),m("update"))},_=async()=>{const n=await oe(e.song.title,e.song.artist,e.song.cover);await f(n),m("update")},q=async()=>{await ne(e.playlistId,e.song.id),m("update")},P=B(null),y=B(null),E=()=>{y.value.visible?M():c()},M=()=>{y.value.hide()},c=()=>{const n=P.value.getBoundingClientRect(),i={top:n.height+n.top+window.scrollY,left:n.width+n.left+window.scrollX};y.value.show(i)};F({show:c,toggle:E,hide:M});const D=p(()=>({Soundcloud:`https://soundcloud.com/search?q=${e.song.artist} ${e.song.title}`,Audius:`https://audius.co/search/${e.song.artist} ${e.song.title}`,"Youtube Music":`https://music.youtube.com/search?q=${e.song.artist} ${e.song.title}`,Spotify:`https://open.spotify.com/search/${e.song.artist} ${e.song.title}`})),w=()=>{m("edit")},R=n=>{window.open(D.value[n]),w()},z=()=>{const n=se(e.song);ae(n,`${e.song.artist} - ${e.song.title}`)};return(n,i)=>{const l=S("v-contextmenu-item"),T=S("v-contextmenu-submenu"),x=S("v-contextmenu-divider"),H=S("v-contextmenu"),X=J("contextmenu");return W((u(),g("div",{ref_key:"box",ref:P},[Z(n.$slots,"default"),o(H,{ref_key:"contextmenu",ref:y},{default:s(()=>[o(l,{onClick:C},{default:s(()=>[d(" Preview ")]),_:1}),o(T,{title:"Find source"},{default:s(()=>[(u(!0),g(O,null,U(Object.keys(D.value),r=>(u(),A(l,{key:r,onClick:Y=>R(r)},{default:s(()=>[d(k(r),1)]),_:2},1032,["onClick"]))),128))]),_:1}),o(x),o(l,{onClick:i[0]||(i[0]=r=>n.$emit("like"))},{default:s(()=>[d(k((t.song.favourite?"Remove from":"Save to")+" your Liked Songs"),1)]),_:1}),v.value?I("",!0):(u(),A(l,{key:0,onClick:q},{default:s(()=>[d(" Remove from this playlist ")]),_:1})),o(T,{title:"Add to playlist"},{default:s(()=>[o(l,{onClick:_},{default:s(()=>[d("Add to new playlist")]),_:1}),o(x),(u(!0),g(O,null,U($.value,r=>(u(),A(l,{key:r.id,onClick:Y=>f(r.id)},{default:s(()=>[d(k(r.name),1)]),_:2},1032,["onClick"]))),128))]),_:1}),o(x),o(l,{onClick:w},{default:s(()=>[d(" Update Metadata ")]),_:1}),o(x),o(l,{onClick:i[1]||(i[1]=r=>b(K)(t.song.id))},{default:s(()=>[d(" Download ")]),_:1}),o(l,{onClick:i[2]||(i[2]=r=>b(Q)(t.song.id))},{default:s(()=>[d(" Uncache ")]),_:1}),o(x),o(T,{title:"Export..."},{default:s(()=>[o(l,{onClick:i[3]||(i[3]=r=>z())},{default:s(()=>[d(" to file ")]),_:1})]),_:1})]),_:1},512)])),[[X,void 0,"contextmenu"]])}}}),we={key:0,class:"index text-right downloading"},xe={key:2,class:"cover"},he={class:"artist-title"},Se={class:"title"},be={class:"artist"},$e={key:3,class:"album"},Ce={class:"duration text-center"},_e=L({__name:"PlaylistEntry",props:{song:{type:Object,required:!0},index:{type:Number,required:!0},withCover:{type:Boolean,required:!1,default:!1},withAlbum:{type:Boolean,required:!1,default:!1},withMore:{type:Boolean,required:!1,default:!1},selected:{type:Boolean,required:!1,default:!1},playlistId:{type:String,required:!1,default:null},artist:{type:String,required:!1,default:null}},emits:["update"],setup(t,{emit:F}){const N=ie(),a=t,$=F,e=le(),m=p(()=>a.song.id==e.song.id),v=B(!1),C=()=>{a.song.favourite=!a.song.favourite,fe(a.song.id,a.song.favourite)},f=p(()=>a.playlistId==null?e.playlist.id:a.playlistId),_=async()=>{if(f.value=="track"){e.loadPlaylist("track",a.song.id);return}if(f.value=="artist"){await e.loadPlaylist("artist",a.artist),e.loadSong(null,a.index);return}e.loadSong(f.value,a.index)},q=B(null),P=()=>{q.value.show()},y=()=>{$("update")},E=p(()=>N.isSongDownloading(a.song.id));return(M,c)=>{const D=S("router-link");return u(),A(ke,{ref:"ctxMenu",liked:t.song.favourite,playlistId:f.value,song:t.song,onEdit:P,onLike:C,onUpdate:y},{default:s(()=>[o(ye,{ref_key:"updatePopup",ref:q,song:t.song,onUpdate:c[0]||(c[0]=w=>M.$emit("update"))},null,8,["song"]),h("div",{class:j([{playing:m.value,selected:t.selected,hovering:v.value,withCover:t.withCover,withAlbum:t.withAlbum,withMore:t.withMore},"playlist-entry"]),onDblclick:_,onMouseenter:c[1]||(c[1]=w=>v.value=!0),onMouseleave:c[2]||(c[2]=w=>v.value=!1)},[E.value?(u(),g("div",we,[o(ue)])):(u(),g("div",{key:1,class:j([{"material-symbols-rounded":v.value},"index text-right"]),onClick:_},k(v.value?"play_arrow":t.index+1),3)),t.withCover?(u(),g("div",xe,[o(re,{src:t.song.cover,type:"track"},null,8,["src"])])):I("",!0),h("div",he,[h("span",Se,[o(D,{to:`/track/${b(de)(t.song.id)}`,class:"linkOnHover"},{default:s(()=>[o(V,{text:t.song.title},null,8,["text"])]),_:1},8,["to"])]),h("span",be,[o(ce,{artist:t.song.artist,class:"text-muted text-xs"},null,8,["artist"])])]),t.withAlbum&&!b(ve)?(u(),g("div",$e,[o(V,{text:t.song.album},null,8,["text"])])):I("",!0),t.selected||v.value||t.song.favourite?(u(),g("div",{key:4,class:j([{favourite:t.song.favourite},"favourite-icon icon text-right material-symbols-rounded"]),onClick:C},k(t.song.favourite?"favorite":"heart_plus"),3)):I("",!0),h("div",Ce,k(b(ge)(t.song.duration)),1)],34)]),_:1},8,["liked","playlistId","song"])}}});const De=me(_e,[["__scopeId","data-v-2189838e"]]);export{De as P}; +import{i as L,k as G,D as p,q as B,e as S,bi as J,bX as W,o as u,c as g,r as Z,g as o,w as s,b as d,F as O,j as U,f as A,t as k,d as I,u as b,ce as K,cF as Q,c5 as ee,cr as te,y as oe,cw as ne,cG as se,c7 as ae,cz as ie,c8 as le,a as h,cH as ue,aZ as j,h as re,M as V,A as de,cb as ce,cI as ve,cd as ge,cJ as fe,_ as me}from"./index-286d536d.js";import{_ as ye}from"./EditSong.vue_vue_type_script_setup_true_lang-94868e65.js";import{p as pe}from"./playerInPicture-af203fdf.js";const ke=L({__name:"SongContext",props:{song:{type:Object,required:!0},playlistId:{type:String,required:!1,default:""}},emits:["update","edit"],setup(t,{expose:F,emit:N}){const a=G(),$=p(()=>a.playlists),e=t,m=N,v=p(()=>e.playlistId==-1),C=()=>{pe(e.song.artist,e.song.title,e.song.source)},f=async n=>{var i;n!=-1&&(await ee(n,e.song),te.addSuccess(e.song.title,`Added to ${(i=$.value.find(l=>l.id==n))==null?void 0:i.name}`,3e3),m("update"))},_=async()=>{const n=await oe(e.song.title,e.song.artist,e.song.cover);await f(n),m("update")},q=async()=>{await ne(e.playlistId,e.song.id),m("update")},P=B(null),y=B(null),E=()=>{y.value.visible?M():c()},M=()=>{y.value.hide()},c=()=>{const n=P.value.getBoundingClientRect(),i={top:n.height+n.top+window.scrollY,left:n.width+n.left+window.scrollX};y.value.show(i)};F({show:c,toggle:E,hide:M});const D=p(()=>({Soundcloud:`https://soundcloud.com/search?q=${e.song.artist} ${e.song.title}`,Audius:`https://audius.co/search/${e.song.artist} ${e.song.title}`,"Youtube Music":`https://music.youtube.com/search?q=${e.song.artist} ${e.song.title}`,Spotify:`https://open.spotify.com/search/${e.song.artist} ${e.song.title}`})),w=()=>{m("edit")},R=n=>{window.open(D.value[n]),w()},z=()=>{const n=se(e.song);ae(n,`${e.song.artist} - ${e.song.title}`)};return(n,i)=>{const l=S("v-contextmenu-item"),T=S("v-contextmenu-submenu"),x=S("v-contextmenu-divider"),H=S("v-contextmenu"),X=J("contextmenu");return W((u(),g("div",{ref_key:"box",ref:P},[Z(n.$slots,"default"),o(H,{ref_key:"contextmenu",ref:y},{default:s(()=>[o(l,{onClick:C},{default:s(()=>[d(" Preview ")]),_:1}),o(T,{title:"Find source"},{default:s(()=>[(u(!0),g(O,null,U(Object.keys(D.value),r=>(u(),A(l,{key:r,onClick:Y=>R(r)},{default:s(()=>[d(k(r),1)]),_:2},1032,["onClick"]))),128))]),_:1}),o(x),o(l,{onClick:i[0]||(i[0]=r=>n.$emit("like"))},{default:s(()=>[d(k((t.song.favourite?"Remove from":"Save to")+" your Liked Songs"),1)]),_:1}),v.value?I("",!0):(u(),A(l,{key:0,onClick:q},{default:s(()=>[d(" Remove from this playlist ")]),_:1})),o(T,{title:"Add to playlist"},{default:s(()=>[o(l,{onClick:_},{default:s(()=>[d("Add to new playlist")]),_:1}),o(x),(u(!0),g(O,null,U($.value,r=>(u(),A(l,{key:r.id,onClick:Y=>f(r.id)},{default:s(()=>[d(k(r.name),1)]),_:2},1032,["onClick"]))),128))]),_:1}),o(x),o(l,{onClick:w},{default:s(()=>[d(" Update Metadata ")]),_:1}),o(x),o(l,{onClick:i[1]||(i[1]=r=>b(K)(t.song.id))},{default:s(()=>[d(" Download ")]),_:1}),o(l,{onClick:i[2]||(i[2]=r=>b(Q)(t.song.id))},{default:s(()=>[d(" Uncache ")]),_:1}),o(x),o(T,{title:"Export..."},{default:s(()=>[o(l,{onClick:i[3]||(i[3]=r=>z())},{default:s(()=>[d(" to file ")]),_:1})]),_:1})]),_:1},512)])),[[X,void 0,"contextmenu"]])}}}),we={key:0,class:"index text-right downloading"},xe={key:2,class:"cover"},he={class:"artist-title"},Se={class:"title"},be={class:"artist"},$e={key:3,class:"album"},Ce={class:"duration text-center"},_e=L({__name:"PlaylistEntry",props:{song:{type:Object,required:!0},index:{type:Number,required:!0},withCover:{type:Boolean,required:!1,default:!1},withAlbum:{type:Boolean,required:!1,default:!1},withMore:{type:Boolean,required:!1,default:!1},selected:{type:Boolean,required:!1,default:!1},playlistId:{type:String,required:!1,default:null},artist:{type:String,required:!1,default:null}},emits:["update"],setup(t,{emit:F}){const N=ie(),a=t,$=F,e=le(),m=p(()=>a.song.id==e.song.id),v=B(!1),C=()=>{a.song.favourite=!a.song.favourite,fe(a.song.id,a.song.favourite)},f=p(()=>a.playlistId==null?e.playlist.id:a.playlistId),_=async()=>{if(f.value=="track"){e.loadPlaylist("track",a.song.id);return}if(f.value=="artist"){await e.loadPlaylist("artist",a.artist),e.loadSong(null,a.index);return}e.loadSong(f.value,a.index)},q=B(null),P=()=>{q.value.show()},y=()=>{$("update")},E=p(()=>N.isSongDownloading(a.song.id));return(M,c)=>{const D=S("router-link");return u(),A(ke,{ref:"ctxMenu",liked:t.song.favourite,playlistId:f.value,song:t.song,onEdit:P,onLike:C,onUpdate:y},{default:s(()=>[o(ye,{ref_key:"updatePopup",ref:q,song:t.song,onUpdate:c[0]||(c[0]=w=>M.$emit("update"))},null,8,["song"]),h("div",{class:j([{playing:m.value,selected:t.selected,hovering:v.value,withCover:t.withCover,withAlbum:t.withAlbum,withMore:t.withMore},"playlist-entry"]),onDblclick:_,onMouseenter:c[1]||(c[1]=w=>v.value=!0),onMouseleave:c[2]||(c[2]=w=>v.value=!1)},[E.value?(u(),g("div",we,[o(ue)])):(u(),g("div",{key:1,class:j([{"material-symbols-rounded":v.value},"index text-right"]),onClick:_},k(v.value?"play_arrow":t.index+1),3)),t.withCover?(u(),g("div",xe,[o(re,{src:t.song.cover,type:"track"},null,8,["src"])])):I("",!0),h("div",he,[h("span",Se,[o(D,{to:`/track/${b(de)(t.song.id)}`,class:"linkOnHover"},{default:s(()=>[o(V,{text:t.song.title},null,8,["text"])]),_:1},8,["to"])]),h("span",be,[o(ce,{artist:t.song.artist,class:"text-muted text-xs"},null,8,["artist"])])]),t.withAlbum&&!b(ve)?(u(),g("div",$e,[o(V,{text:t.song.album},null,8,["text"])])):I("",!0),t.selected||v.value||t.song.favourite?(u(),g("div",{key:4,class:j([{favourite:t.song.favourite},"favourite-icon icon text-right material-symbols-rounded"]),onClick:C},k(t.song.favourite?"favorite":"heart_plus"),3)):I("",!0),h("div",Ce,k(b(ge)(t.song.duration)),1)],34)]),_:1},8,["liked","playlistId","song"])}}});const De=me(_e,[["__scopeId","data-v-2189838e"]]);export{De as P}; diff --git a/src/ui/dist/assets/PlaylistEntry-bb67bf25.js.gz b/src/ui/dist/assets/PlaylistEntry-bb67bf25.js.gz new file mode 100644 index 000000000..f3374587d Binary files /dev/null and b/src/ui/dist/assets/PlaylistEntry-bb67bf25.js.gz differ diff --git a/src/ui/dist/assets/PlaylistItem-b2b662c6.js b/src/ui/dist/assets/PlaylistItem-6fc351b2.js similarity index 97% rename from src/ui/dist/assets/PlaylistItem-b2b662c6.js rename to src/ui/dist/assets/PlaylistItem-6fc351b2.js index 54f39f628..e90929bec 100644 --- a/src/ui/dist/assets/PlaylistItem-b2b662c6.js +++ b/src/ui/dist/assets/PlaylistItem-6fc351b2.js @@ -1 +1 @@ -import{i as b,k as x,q as p,o as u,f as v,w as S,g as y,cD as A,u as I,cl as T,x as B,cE as D,c3 as j,a as r,c5 as M,y as N,_ as q,C as E,h as O,p as V,e as _,d as g,c as H,t as P}from"./index-1d15d58c.js";import{p as L}from"./playerInPicture-af203fdf.js";const F=r("br",null,null,-1),W=b({__name:"ImportSpotifyPlaylist",props:{playlist:{type:Object,required:!0}},setup(n,{expose:c}){const e=x(),l=n,d=p([{name:"playlist",type:"dropdown",required:!0,value:null,options:e.playlistsAsDropdown}]),o=p(null),i=p(null),s=p([]),m=async()=>{if(o.value.load(),s.value.length==0){const t=await fetch(`/api/spotify/playlists/${l.playlist.id}`);s.value=await t.json()}o.value.show()},f=()=>{L("Spotify Playlist",l.playlist.name,l.playlist.href)},h=async t=>{if(t==="new"){const a=await N("classic",l.playlist.name,l.playlist.description,l.playlist.cover);return d.value[0].options=e.playlistsAsDropdown,d.value[0].value=a,a}return t},w=async(t,a=null)=>{s.value[t].added||(a??(a=i.value.toObject().playlist),a=await h(a),await M(a,s.value[t]),s.value[t].added=!0)},k=async()=>{let t=i.value.toObject().playlist;t=await h(t),s.value.forEach((a,C)=>{w(C,t)})};return c({show:m}),(t,a)=>(u(),v(j,{ref_key:"modal",ref:o,submit:{label:"Add All",icon:"add"},name:"Import Playlist",onClose:a[0]||(a[0]=C=>t.$emit("close")),onSubmit:k},{default:S(()=>[y(A,{cover:n.playlist.cover,icons:[{name:"share",onClick:()=>I(T)(n.playlist.href)},{name:"play_arrow",onClick:f}],title:n.playlist.name},null,8,["cover","icons","title"]),y(B,{ref_key:"form",ref:i,options:d.value},null,8,["options"]),F,y(D,{songs:s.value,onAdd:w},null,8,["songs"])]),_:1},512))}});const z={components:{Card:E,Cover:O,AddPlaylistToPlaylist:W},name:"PlaylistItem",methods:{parseCover:V,redirect(){this.spotify?this.$refs.import.show():this.$router.push(this.href)}},props:{cover:String,title:String,description:String,href:String,spotify:Boolean,id:String,type:{type:String,default:"classic"}}},G={class:"title"},J={key:0,class:"material-symbols-rounded"},K=["innerHTML"];function Q(n,c,e,l,d,o){const i=_("add-playlist-to-playlist"),s=_("Cover"),m=_("Card");return u(),v(m,{class:"wrapper drop-shadow-md","with-hover":""},{default:S(()=>[e.spotify?(u(),v(i,{key:0,ref:"import",playlist:{cover:e.cover,name:e.title,description:e.description,id:e.id,href:e.href}},null,8,["playlist"])):g("",!0),r("div",{class:"item",onClick:c[0]||(c[0]=(...f)=>o.redirect&&o.redirect(...f))},[y(s,{src:o.parseCover(e.cover),type:"playlist"},null,8,["src"]),r("div",G,[e.type!="classic"?(u(),H("span",J,P(e.type=="smart"?"neurology":"bolt"),1)):g("",!0),r("h4",null,P(e.title),1)]),r("p",{class:"text-muted text-xs hideIfMobile",innerHTML:e.description},null,8,K)])]),_:1})}const X=q(z,[["render",Q],["__scopeId","data-v-7d67aac6"]]);export{X as P}; +import{i as b,k as x,q as p,o as u,f as v,w as S,g as y,cD as A,u as I,cl as T,x as B,cE as D,c3 as j,a as r,c5 as M,y as N,_ as q,C as E,h as O,p as V,e as _,d as g,c as H,t as P}from"./index-286d536d.js";import{p as L}from"./playerInPicture-af203fdf.js";const F=r("br",null,null,-1),W=b({__name:"ImportSpotifyPlaylist",props:{playlist:{type:Object,required:!0}},setup(n,{expose:c}){const e=x(),l=n,d=p([{name:"playlist",type:"dropdown",required:!0,value:null,options:e.playlistsAsDropdown}]),o=p(null),i=p(null),s=p([]),m=async()=>{if(o.value.load(),s.value.length==0){const t=await fetch(`/api/spotify/playlists/${l.playlist.id}`);s.value=await t.json()}o.value.show()},f=()=>{L("Spotify Playlist",l.playlist.name,l.playlist.href)},h=async t=>{if(t==="new"){const a=await N("classic",l.playlist.name,l.playlist.description,l.playlist.cover);return d.value[0].options=e.playlistsAsDropdown,d.value[0].value=a,a}return t},w=async(t,a=null)=>{s.value[t].added||(a??(a=i.value.toObject().playlist),a=await h(a),await M(a,s.value[t]),s.value[t].added=!0)},k=async()=>{let t=i.value.toObject().playlist;t=await h(t),s.value.forEach((a,C)=>{w(C,t)})};return c({show:m}),(t,a)=>(u(),v(j,{ref_key:"modal",ref:o,submit:{label:"Add All",icon:"add"},name:"Import Playlist",onClose:a[0]||(a[0]=C=>t.$emit("close")),onSubmit:k},{default:S(()=>[y(A,{cover:n.playlist.cover,icons:[{name:"share",onClick:()=>I(T)(n.playlist.href)},{name:"play_arrow",onClick:f}],title:n.playlist.name},null,8,["cover","icons","title"]),y(B,{ref_key:"form",ref:i,options:d.value},null,8,["options"]),F,y(D,{songs:s.value,onAdd:w},null,8,["songs"])]),_:1},512))}});const z={components:{Card:E,Cover:O,AddPlaylistToPlaylist:W},name:"PlaylistItem",methods:{parseCover:V,redirect(){this.spotify?this.$refs.import.show():this.$router.push(this.href)}},props:{cover:String,title:String,description:String,href:String,spotify:Boolean,id:String,type:{type:String,default:"classic"}}},G={class:"title"},J={key:0,class:"material-symbols-rounded"},K=["innerHTML"];function Q(n,c,e,l,d,o){const i=_("add-playlist-to-playlist"),s=_("Cover"),m=_("Card");return u(),v(m,{class:"wrapper drop-shadow-md","with-hover":""},{default:S(()=>[e.spotify?(u(),v(i,{key:0,ref:"import",playlist:{cover:e.cover,name:e.title,description:e.description,id:e.id,href:e.href}},null,8,["playlist"])):g("",!0),r("div",{class:"item",onClick:c[0]||(c[0]=(...f)=>o.redirect&&o.redirect(...f))},[y(s,{src:o.parseCover(e.cover),type:"playlist"},null,8,["src"]),r("div",G,[e.type!="classic"?(u(),H("span",J,P(e.type=="smart"?"neurology":"bolt"),1)):g("",!0),r("h4",null,P(e.title),1)]),r("p",{class:"text-muted text-xs hideIfMobile",innerHTML:e.description},null,8,K)])]),_:1})}const X=q(z,[["render",Q],["__scopeId","data-v-7d67aac6"]]);export{X as P}; diff --git a/src/ui/dist/assets/PlaylistItem-6fc351b2.js.gz b/src/ui/dist/assets/PlaylistItem-6fc351b2.js.gz new file mode 100644 index 000000000..f83ca6d4b Binary files /dev/null and b/src/ui/dist/assets/PlaylistItem-6fc351b2.js.gz differ diff --git a/src/ui/dist/assets/PlaylistItem-b2b662c6.js.gz b/src/ui/dist/assets/PlaylistItem-b2b662c6.js.gz deleted file mode 100644 index 282ce3c95..000000000 Binary files a/src/ui/dist/assets/PlaylistItem-b2b662c6.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Playlists-afa205e6.js.gz b/src/ui/dist/assets/Playlists-afa205e6.js.gz deleted file mode 100644 index 7d7c7fc21..000000000 Binary files a/src/ui/dist/assets/Playlists-afa205e6.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Playlists-afa205e6.js b/src/ui/dist/assets/Playlists-dd51ccb9.js similarity index 79% rename from src/ui/dist/assets/Playlists-afa205e6.js rename to src/ui/dist/assets/Playlists-dd51ccb9.js index a571efb42..52b8f2b81 100644 --- a/src/ui/dist/assets/Playlists-afa205e6.js +++ b/src/ui/dist/assets/Playlists-dd51ccb9.js @@ -1 +1 @@ -import{F as c}from"./FullShelf-d5d3eac0.js";import{P as p}from"./PlaylistItem-b2b662c6.js";import{C as y}from"./CollectionHeader-693dcfcb.js";import{i as h,k as v,D as m,q as g,o as e,c as r,g as k,a as P,f as a,w as n,F as d,j as f,d as _,_ as x}from"./index-1d15d58c.js";import"./playerInPicture-af203fdf.js";const C={class:"padding-20"},F={class:"playlists"},B=h({__name:"Playlists",setup(S){const u=v(),l=m(()=>u.playlists),o=g([]);return fetch("/api/spotify/playlists").then(s=>s.json()).then(s=>{o.value=s}),(s,I)=>(e(),r("div",C,[k(y),P("div",F,[l.value.length?(e(),a(c,{key:0,heading:"Playlists"},{default:n(()=>[(e(!0),r(d,null,f(l.value,(t,i)=>(e(),a(p,{key:i,href:t.href,cover:t.cover,description:t.description,title:t.name,type:t.type,spotify:!1},null,8,["href","cover","description","title","type"]))),128))]),_:1})):_("",!0),o.value.length?(e(),a(c,{key:1,heading:"Import From Spotify"},{default:n(()=>[(e(!0),r(d,null,f(o.value,(t,i)=>(e(),a(p,{key:i,cover:t.cover,description:t.description,title:t.name,id:t.id,spotify:!0,href:`https://open.spotify.com/playlist/${t.id}`},null,8,["cover","description","title","id","href"]))),128))]),_:1})):_("",!0)])]))}});const q=x(B,[["__scopeId","data-v-8dcf0184"]]);export{q as default}; +import{F as c}from"./FullShelf-77f6f5f1.js";import{P as p}from"./PlaylistItem-6fc351b2.js";import{C as y}from"./CollectionHeader-0134ecc9.js";import{i as h,k as v,D as m,q as g,o as e,c as r,g as k,a as P,f as a,w as n,F as d,j as f,d as _,_ as x}from"./index-286d536d.js";import"./playerInPicture-af203fdf.js";const C={class:"padding-20"},F={class:"playlists"},B=h({__name:"Playlists",setup(S){const u=v(),l=m(()=>u.playlists),o=g([]);return fetch("/api/spotify/playlists").then(s=>s.json()).then(s=>{o.value=s}),(s,I)=>(e(),r("div",C,[k(y),P("div",F,[l.value.length?(e(),a(c,{key:0,heading:"Playlists"},{default:n(()=>[(e(!0),r(d,null,f(l.value,(t,i)=>(e(),a(p,{key:i,href:t.href,cover:t.cover,description:t.description,title:t.name,type:t.type,spotify:!1},null,8,["href","cover","description","title","type"]))),128))]),_:1})):_("",!0),o.value.length?(e(),a(c,{key:1,heading:"Import From Spotify"},{default:n(()=>[(e(!0),r(d,null,f(o.value,(t,i)=>(e(),a(p,{key:i,cover:t.cover,description:t.description,title:t.name,id:t.id,spotify:!0,href:`https://open.spotify.com/playlist/${t.id}`},null,8,["cover","description","title","id","href"]))),128))]),_:1})):_("",!0)])]))}});const q=x(B,[["__scopeId","data-v-8dcf0184"]]);export{q as default}; diff --git a/src/ui/dist/assets/Playlists-dd51ccb9.js.gz b/src/ui/dist/assets/Playlists-dd51ccb9.js.gz new file mode 100644 index 000000000..0aa196958 Binary files /dev/null and b/src/ui/dist/assets/Playlists-dd51ccb9.js.gz differ diff --git a/src/ui/dist/assets/Releases-fe528779.js b/src/ui/dist/assets/Releases-7a81f458.js similarity index 95% rename from src/ui/dist/assets/Releases-fe528779.js rename to src/ui/dist/assets/Releases-7a81f458.js index 432173028..017628dc6 100644 --- a/src/ui/dist/assets/Releases-fe528779.js +++ b/src/ui/dist/assets/Releases-7a81f458.js @@ -1 +1 @@ -import{F as A}from"./FullShelf-d5d3eac0.js";import{_ as w,C,K as k,e as o,f as n,w as y,o as s,g as b,a as r,t as m,c as _,d as f,L as B,F as D,j as S}from"./index-1d15d58c.js";import{C as R}from"./CollectionHeader-693dcfcb.js";const x={name:"ReleaseItem",components:{Card:C,AddAlbumToPlaylist:k},methods:{redirect(){this.$refs.addAlbum.show()}},props:{cover:String,title:String,artist:String,href:String,releaseDate:String}},N=["src"],F={key:0,class:"note"};function j(u,a,e,c,l,h){const g=o("add-album-to-playlist"),v=o("Card");return s(),n(v,{class:"wrapper","with-hover":""},{default:y(()=>{var d,i;return[b(g,{id:(d=this.href)==null?void 0:d.replace("https://open.spotify.com/album/",""),ref:"addAlbum",album:{id:(i=this.href)==null?void 0:i.replace("https://open.spotify.com/album/",""),title:this.title,artist:this.artist,cover:this.cover,href:this.href,releaseDate:this.releaseDate},artist:e.artist,cover:e.cover,href:e.href,title:e.title},null,8,["id","album","artist","cover","href","title"]),r("div",{class:"item",onClick:a[0]||(a[0]=(...p)=>h.redirect&&h.redirect(...p))},[r("img",{src:e.cover},null,8,N),r("h4",null,m(e.title),1),r("p",null,m(e.artist),1),e.releaseDate?(s(),_("p",F,"Released on "+m(e.releaseDate),1)):f("",!0)])]}),_:1})}const L=w(x,[["render",j],["__scopeId","data-v-448c5702"]]);const H={components:{Card:C,AddAlbumToPlaylist:k},name:"ReleaseItemBig",methods:{redirect(){this.$refs.addAlbum.show()}},props:{cover:String,title:String,artist:String,href:String,releaseDate:String}},V=["src"],M={class:"wrapper"},O={key:0,class:"note"};function P(u,a,e,c,l,h){const g=o("add-album-to-playlist"),v=o("Card");return s(),n(v,{class:"itemBig","with-hover":""},{default:y(()=>{var d,i;return[b(g,{id:(d=this.href)==null?void 0:d.replace("https://open.spotify.com/album/",""),ref:"addAlbum",album:{id:(i=this.href)==null?void 0:i.replace("https://open.spotify.com/album/",""),title:this.title,artist:this.artist,cover:this.cover,href:this.href,releaseDate:this.releaseDate},artist:e.artist,cover:e.cover,href:e.href,title:e.title},null,8,["id","album","artist","cover","href","title"]),r("div",{class:"item",onClick:a[0]||(a[0]=(...p)=>h.redirect&&h.redirect(...p))},[r("img",{src:e.cover},null,8,V),r("div",M,[r("h4",null,m(e.title),1),r("p",null,m(e.artist),1),e.releaseDate?(s(),_("p",O,"Released on "+m(e.releaseDate),1)):f("",!0)])])]}),_:1})}const T=w(H,[["render",P],["__scopeId","data-v-a069bd39"]]),Y={components:{Loader:B,CollectionHeader:R,FullShelf:A,Item:L,ItemBig:T},name:"Releases",data(){return{outSoon:[],outNow:[],outAlready:[],loading:!0}},mounted(){this.loading=!0,fetch("/api/releases").then(u=>u.json()).then(u=>{const a=new Date;for(const e of u){const c=new Date(e.releaseDate);a[(s(!0),_(D,null,S(l.outSoon,t=>(s(),n(d,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.url,releaseDate:t.releaseDate,title:t.title},null,8,["artist","cover","href","releaseDate","title"]))),128))]),_:1})):f("",!0),l.outNow.length?(s(),n(i,{key:1,heading:"Out Now"},{default:y(()=>[(s(!0),_(D,null,S(l.outNow,t=>(s(),n(p,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.url,releaseDate:t.releaseDate,title:t.title},null,8,["artist","cover","href","releaseDate","title"]))),128))]),_:1})):f("",!0),l.outAlready.length?(s(),n(i,{key:2,heading:"Releases"},{default:y(()=>[(s(!0),_(D,null,S(l.outAlready,t=>(s(),n(I,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.url,releaseDate:t.releaseDate,title:t.title},null,8,["artist","cover","href","releaseDate","title"]))),128))]),_:1})):f("",!0)])])],64)}const U=w(Y,[["render",z],["__scopeId","data-v-08907f69"]]);export{U as default}; +import{F as A}from"./FullShelf-77f6f5f1.js";import{_ as w,C,K as k,e as o,f as n,w as y,o as s,g as b,a as r,t as m,c as _,d as f,L as B,F as D,j as S}from"./index-286d536d.js";import{C as R}from"./CollectionHeader-0134ecc9.js";const x={name:"ReleaseItem",components:{Card:C,AddAlbumToPlaylist:k},methods:{redirect(){this.$refs.addAlbum.show()}},props:{cover:String,title:String,artist:String,href:String,releaseDate:String}},N=["src"],F={key:0,class:"note"};function j(u,a,e,c,l,h){const g=o("add-album-to-playlist"),v=o("Card");return s(),n(v,{class:"wrapper","with-hover":""},{default:y(()=>{var d,i;return[b(g,{id:(d=this.href)==null?void 0:d.replace("https://open.spotify.com/album/",""),ref:"addAlbum",album:{id:(i=this.href)==null?void 0:i.replace("https://open.spotify.com/album/",""),title:this.title,artist:this.artist,cover:this.cover,href:this.href,releaseDate:this.releaseDate},artist:e.artist,cover:e.cover,href:e.href,title:e.title},null,8,["id","album","artist","cover","href","title"]),r("div",{class:"item",onClick:a[0]||(a[0]=(...p)=>h.redirect&&h.redirect(...p))},[r("img",{src:e.cover},null,8,N),r("h4",null,m(e.title),1),r("p",null,m(e.artist),1),e.releaseDate?(s(),_("p",F,"Released on "+m(e.releaseDate),1)):f("",!0)])]}),_:1})}const L=w(x,[["render",j],["__scopeId","data-v-448c5702"]]);const H={components:{Card:C,AddAlbumToPlaylist:k},name:"ReleaseItemBig",methods:{redirect(){this.$refs.addAlbum.show()}},props:{cover:String,title:String,artist:String,href:String,releaseDate:String}},V=["src"],M={class:"wrapper"},O={key:0,class:"note"};function P(u,a,e,c,l,h){const g=o("add-album-to-playlist"),v=o("Card");return s(),n(v,{class:"itemBig","with-hover":""},{default:y(()=>{var d,i;return[b(g,{id:(d=this.href)==null?void 0:d.replace("https://open.spotify.com/album/",""),ref:"addAlbum",album:{id:(i=this.href)==null?void 0:i.replace("https://open.spotify.com/album/",""),title:this.title,artist:this.artist,cover:this.cover,href:this.href,releaseDate:this.releaseDate},artist:e.artist,cover:e.cover,href:e.href,title:e.title},null,8,["id","album","artist","cover","href","title"]),r("div",{class:"item",onClick:a[0]||(a[0]=(...p)=>h.redirect&&h.redirect(...p))},[r("img",{src:e.cover},null,8,V),r("div",M,[r("h4",null,m(e.title),1),r("p",null,m(e.artist),1),e.releaseDate?(s(),_("p",O,"Released on "+m(e.releaseDate),1)):f("",!0)])])]}),_:1})}const T=w(H,[["render",P],["__scopeId","data-v-a069bd39"]]),Y={components:{Loader:B,CollectionHeader:R,FullShelf:A,Item:L,ItemBig:T},name:"Releases",data(){return{outSoon:[],outNow:[],outAlready:[],loading:!0}},mounted(){this.loading=!0,fetch("/api/releases").then(u=>u.json()).then(u=>{const a=new Date;for(const e of u){const c=new Date(e.releaseDate);a[(s(!0),_(D,null,S(l.outSoon,t=>(s(),n(d,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.url,releaseDate:t.releaseDate,title:t.title},null,8,["artist","cover","href","releaseDate","title"]))),128))]),_:1})):f("",!0),l.outNow.length?(s(),n(i,{key:1,heading:"Out Now"},{default:y(()=>[(s(!0),_(D,null,S(l.outNow,t=>(s(),n(p,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.url,releaseDate:t.releaseDate,title:t.title},null,8,["artist","cover","href","releaseDate","title"]))),128))]),_:1})):f("",!0),l.outAlready.length?(s(),n(i,{key:2,heading:"Releases"},{default:y(()=>[(s(!0),_(D,null,S(l.outAlready,t=>(s(),n(I,{key:t.url,artist:t.artists.join(", "),cover:t.cover,href:t.url,releaseDate:t.releaseDate,title:t.title},null,8,["artist","cover","href","releaseDate","title"]))),128))]),_:1})):f("",!0)])])],64)}const U=w(Y,[["render",z],["__scopeId","data-v-08907f69"]]);export{U as default}; diff --git a/src/ui/dist/assets/Releases-7a81f458.js.gz b/src/ui/dist/assets/Releases-7a81f458.js.gz new file mode 100644 index 000000000..793b20de8 Binary files /dev/null and b/src/ui/dist/assets/Releases-7a81f458.js.gz differ diff --git a/src/ui/dist/assets/Releases-fe528779.js.gz b/src/ui/dist/assets/Releases-fe528779.js.gz deleted file mode 100644 index 16f0d61b9..000000000 Binary files a/src/ui/dist/assets/Releases-fe528779.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Sports-56e566b5.js.gz b/src/ui/dist/assets/Sports-56e566b5.js.gz deleted file mode 100644 index fe0153c3d..000000000 Binary files a/src/ui/dist/assets/Sports-56e566b5.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Sports-56e566b5.js b/src/ui/dist/assets/Sports-e337ea6b.js similarity index 98% rename from src/ui/dist/assets/Sports-56e566b5.js rename to src/ui/dist/assets/Sports-e337ea6b.js index 1d8c09148..de3c861e9 100644 --- a/src/ui/dist/assets/Sports-56e566b5.js +++ b/src/ui/dist/assets/Sports-e337ea6b.js @@ -1 +1 @@ -import{F as C}from"./FullShelf-d5d3eac0.js";import{_ as k,C as D,e as v,o as p,f as w,w as M,a as o,t as _,aZ as A,V as b,cr as F,c as m,g as N,F as S,j as y,d as V,m as j,n as B}from"./index-1d15d58c.js";const O={name:"FootballItem",components:{Card:D},methods:{redirect(){window.open(this.oref)},remove(e){e.stopPropagation(),this.$emit("remove")}},props:{result:String,date:String,competition:String,href:String,oref:String,team1:String,team2:String,progress:String}},H={class:"wrapper topalign"},L={class:"wrapper"},J=["innerHTML"],P=["innerHTML"],U=["innerHTML"],W={class:"wrapper bottomalign"},$={class:"small"};function E(e,s,t,c,n,r){const h=v("Card");return p(),w(h,{class:"itemBig","with-hover":""},{default:M(()=>{var u;return[o("div",{class:"item",onClick:s[1]||(s[1]=(...i)=>r.redirect&&r.redirect(...i))},[o("div",H,[o("p",null,_(t.competition),1),o("p",{class:A([{accent:(u=t.progress)==null?void 0:u.includes("'")},"right progress"])},_(t.progress),3)]),o("div",L,[o("p",{class:"team",innerHTML:t.team1},null,8,J),o("h4",{class:"result",innerHTML:t.result},null,8,P),o("p",{class:"team",innerHTML:t.team2},null,8,U)]),o("div",W,[o("p",$,_(t.date)+", "+_(t.href),1),o("span",{class:"deleteIcon small material-icons-round",onClick:s[0]||(s[0]=(...i)=>r.remove&&r.remove(...i))},"clear")])])]}),_:1})}const K=k(O,[["render",E],["__scopeId","data-v-b3cf3eea"]]);const R={components:{TextInputWithIcon:b,FullShelf:C,FootballItem:K},name:"Sports",data(){return{sports:[],watchMatches:[],sourceToAdd:"",supportedSources:["https://onefootball.com/en/team/","https://onefootball.com/en/match/","https://onefootball.com/en/competition/","https://www.cev.eu/match-centres/","https://championsleague.cev.eu/en/match-centres/","https://www.cev.eu/calendar/","https://cev-nex.tk/#/match/","https://cevnex.tk/#/match/"]}},mounted(){this.watchMatches=JSON.parse(window.localStorage.getItem("sports.watchMatches"))||[],this.updateMatches()},computed:{volleyMatches(){return this.watchMatches.filter(e=>e.includes("cev")).map(e=>{let s=e;return e.includes("nex.tk")&&(s=e.split("/match/")[1]),{src:s,ref:e}})},notVolleyMatches(){return this.watchMatches.filter(e=>!e.includes("cev"))}},methods:{removeSource(e,s,t){this.watchMatches.splice(this.watchMatches.indexOf(e),1),this.sports[s].items.splice(t,1),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches))},removeSourceD(e){this.watchMatches.splice(this.watchMatches.indexOf(e),1),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches))},tryAddSource(){for(const e of this.supportedSources)if(this.sourceToAdd.startsWith(e)){this.addSource();return}F.addError("unsupported source")},addSource(){this.watchMatches.push(this.sourceToAdd),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches)),this.sourceToAdd=""},updateMatches(){if(!(this.$route.path=="/sports"||this.$route.path=="/sports/")){console.log("not update",this.$route.path);return}fetch("/api/sports",{method:"POST",body:JSON.stringify({urls:this.notVolleyMatches})}).then(e=>e.json()).then(e=>{this.sports=[];for(const s of e){const t=this.sports.findIndex(c=>c.sport==s.sport);t>=0?this.sports[t].items.push(s):this.sports.push({sport:s.sport,icon:s.sportIcon,items:[s]})}for(const s of this.sports)s.items.sort((t,c)=>{if(t.progress=t.progress.replace("Half time","45'"),c.progress=c.progress.replace("Half time","45'"),(t.progress.includes("Pens")||t.progress.includes("N/A"))&&(t.progress="Full time"),(c.progress.includes("Pens")||c.progress.includes("N/A"))&&(c.progress="Full time"),t.progress.includes("'")&&!c.progress.includes("'"))return-1;if(!t.progress.includes("'")&&c.progress.includes("'"))return 1;if(t.progress.includes("'")&&c.progress.includes("'")){const g=Number(t.progress.replace("'","").replace("+","")),x=Number(c.progress.replace("'","").replace("+",""));return gg.toISOString().split("T")[0];n=n.replace("Today",a(i)).split("/").reverse().join("-"),n=n.replace("Tomorrow",a(l)).split("/").reverse().join("-"),n=n.replace("Yesterday",a(d)).split("/").reverse().join("-"),r=r.replace("Today",a(i)).split("/").reverse().join("-"),r=r.replace("Tomorrow",a(l)).split("/").reverse().join("-"),r=r.replace("Yesterday",a(d)).split("/").reverse().join("-");let f=new Date(`${n}T${h}`.replace(" ","")),I=new Date(`${r}T${u}`.replace(" ",""));return f>I?-1:f==I?0:1})}),setTimeout(this.updateMatches,1e3*45)}}},T=e=>(j("data-v-2339d0be"),e=e(),B(),e),Y={class:"news"},z=T(()=>o("div",{class:"padding-20"},[o("h1",null,"Sports")],-1)),Z=T(()=>o("hr",null,null,-1)),q={class:"padding-20"},G={class:"small"},Q={class:"addWrapper"},X=T(()=>o("hr",null,null,-1)),ee=["src"],te=["onClick"];function se(e,s,t,c,n,r){const h=v("TextInputWithIcon"),u=v("football-item"),i=v("full-shelf");return p(),m("div",Y,[z,Z,o("div",q,[o("p",G,"Supported urls: "+_(n.supportedSources.join("*, ")),1),o("div",Q,[N(h,{modelValue:n.sourceToAdd,"onUpdate:modelValue":s[0]||(s[0]=l=>n.sourceToAdd=l),icon:"link",onKeyup:e.enterText},null,8,["modelValue","onKeyup"]),o("span",{id:"addToPlaylist",class:"material-icons-outlined",onClick:s[1]||(s[1]=(...l)=>r.tryAddSource&&r.tryAddSource(...l))},"add_circle")]),X,(p(!0),m(S,null,y(n.sports,(l,d)=>(p(),w(i,{key:l.sport,heading:l.sport,icon:l.icon},{default:M(()=>[(p(!0),m(S,null,y(l.items,(a,f)=>(p(),w(u,{key:a.href,competition:a.competition,date:a.date,href:a.href,oref:a.oref,progress:a.progress,result:a.result,team1:a.team1,team2:a.team2,onRemove:()=>r.removeSource(a.sref,d,f)},null,8,["competition","date","href","oref","progress","result","team1","team2","onRemove"]))),128))]),_:2},1032,["heading","icon"]))),128)),r.volleyMatches.length?(p(),w(i,{key:0,heading:"Volleyball",icon:"sports_volleyball"},{default:M(()=>[(p(!0),m(S,null,y(r.volleyMatches,(l,d)=>(p(),m("div",{key:d,class:"wrapIframe"},[o("iframe",{src:`https://cev-nex.tk/#/embed?match=${l.src}`},null,8,ee),o("span",{class:"deleteIcon small material-symbols-rounded",onClick:()=>r.removeSourceD(l.ref)},"clear",8,te)]))),128))]),_:1})):V("",!0)])])}const ae=k(R,[["render",se],["__scopeId","data-v-2339d0be"]]);export{ae as default}; +import{F as C}from"./FullShelf-77f6f5f1.js";import{_ as k,C as D,e as v,o as p,f as w,w as M,a as o,t as _,aZ as A,V as b,cr as F,c as m,g as N,F as S,j as y,d as V,m as j,n as B}from"./index-286d536d.js";const O={name:"FootballItem",components:{Card:D},methods:{redirect(){window.open(this.oref)},remove(e){e.stopPropagation(),this.$emit("remove")}},props:{result:String,date:String,competition:String,href:String,oref:String,team1:String,team2:String,progress:String}},H={class:"wrapper topalign"},L={class:"wrapper"},J=["innerHTML"],P=["innerHTML"],U=["innerHTML"],W={class:"wrapper bottomalign"},$={class:"small"};function E(e,s,t,c,n,r){const h=v("Card");return p(),w(h,{class:"itemBig","with-hover":""},{default:M(()=>{var u;return[o("div",{class:"item",onClick:s[1]||(s[1]=(...i)=>r.redirect&&r.redirect(...i))},[o("div",H,[o("p",null,_(t.competition),1),o("p",{class:A([{accent:(u=t.progress)==null?void 0:u.includes("'")},"right progress"])},_(t.progress),3)]),o("div",L,[o("p",{class:"team",innerHTML:t.team1},null,8,J),o("h4",{class:"result",innerHTML:t.result},null,8,P),o("p",{class:"team",innerHTML:t.team2},null,8,U)]),o("div",W,[o("p",$,_(t.date)+", "+_(t.href),1),o("span",{class:"deleteIcon small material-icons-round",onClick:s[0]||(s[0]=(...i)=>r.remove&&r.remove(...i))},"clear")])])]}),_:1})}const K=k(O,[["render",E],["__scopeId","data-v-b3cf3eea"]]);const R={components:{TextInputWithIcon:b,FullShelf:C,FootballItem:K},name:"Sports",data(){return{sports:[],watchMatches:[],sourceToAdd:"",supportedSources:["https://onefootball.com/en/team/","https://onefootball.com/en/match/","https://onefootball.com/en/competition/","https://www.cev.eu/match-centres/","https://championsleague.cev.eu/en/match-centres/","https://www.cev.eu/calendar/","https://cev-nex.tk/#/match/","https://cevnex.tk/#/match/"]}},mounted(){this.watchMatches=JSON.parse(window.localStorage.getItem("sports.watchMatches"))||[],this.updateMatches()},computed:{volleyMatches(){return this.watchMatches.filter(e=>e.includes("cev")).map(e=>{let s=e;return e.includes("nex.tk")&&(s=e.split("/match/")[1]),{src:s,ref:e}})},notVolleyMatches(){return this.watchMatches.filter(e=>!e.includes("cev"))}},methods:{removeSource(e,s,t){this.watchMatches.splice(this.watchMatches.indexOf(e),1),this.sports[s].items.splice(t,1),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches))},removeSourceD(e){this.watchMatches.splice(this.watchMatches.indexOf(e),1),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches))},tryAddSource(){for(const e of this.supportedSources)if(this.sourceToAdd.startsWith(e)){this.addSource();return}F.addError("unsupported source")},addSource(){this.watchMatches.push(this.sourceToAdd),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches)),this.sourceToAdd=""},updateMatches(){if(!(this.$route.path=="/sports"||this.$route.path=="/sports/")){console.log("not update",this.$route.path);return}fetch("/api/sports",{method:"POST",body:JSON.stringify({urls:this.notVolleyMatches})}).then(e=>e.json()).then(e=>{this.sports=[];for(const s of e){const t=this.sports.findIndex(c=>c.sport==s.sport);t>=0?this.sports[t].items.push(s):this.sports.push({sport:s.sport,icon:s.sportIcon,items:[s]})}for(const s of this.sports)s.items.sort((t,c)=>{if(t.progress=t.progress.replace("Half time","45'"),c.progress=c.progress.replace("Half time","45'"),(t.progress.includes("Pens")||t.progress.includes("N/A"))&&(t.progress="Full time"),(c.progress.includes("Pens")||c.progress.includes("N/A"))&&(c.progress="Full time"),t.progress.includes("'")&&!c.progress.includes("'"))return-1;if(!t.progress.includes("'")&&c.progress.includes("'"))return 1;if(t.progress.includes("'")&&c.progress.includes("'")){const g=Number(t.progress.replace("'","").replace("+","")),x=Number(c.progress.replace("'","").replace("+",""));return gg.toISOString().split("T")[0];n=n.replace("Today",a(i)).split("/").reverse().join("-"),n=n.replace("Tomorrow",a(l)).split("/").reverse().join("-"),n=n.replace("Yesterday",a(d)).split("/").reverse().join("-"),r=r.replace("Today",a(i)).split("/").reverse().join("-"),r=r.replace("Tomorrow",a(l)).split("/").reverse().join("-"),r=r.replace("Yesterday",a(d)).split("/").reverse().join("-");let f=new Date(`${n}T${h}`.replace(" ","")),I=new Date(`${r}T${u}`.replace(" ",""));return f>I?-1:f==I?0:1})}),setTimeout(this.updateMatches,1e3*45)}}},T=e=>(j("data-v-2339d0be"),e=e(),B(),e),Y={class:"news"},z=T(()=>o("div",{class:"padding-20"},[o("h1",null,"Sports")],-1)),Z=T(()=>o("hr",null,null,-1)),q={class:"padding-20"},G={class:"small"},Q={class:"addWrapper"},X=T(()=>o("hr",null,null,-1)),ee=["src"],te=["onClick"];function se(e,s,t,c,n,r){const h=v("TextInputWithIcon"),u=v("football-item"),i=v("full-shelf");return p(),m("div",Y,[z,Z,o("div",q,[o("p",G,"Supported urls: "+_(n.supportedSources.join("*, ")),1),o("div",Q,[N(h,{modelValue:n.sourceToAdd,"onUpdate:modelValue":s[0]||(s[0]=l=>n.sourceToAdd=l),icon:"link",onKeyup:e.enterText},null,8,["modelValue","onKeyup"]),o("span",{id:"addToPlaylist",class:"material-icons-outlined",onClick:s[1]||(s[1]=(...l)=>r.tryAddSource&&r.tryAddSource(...l))},"add_circle")]),X,(p(!0),m(S,null,y(n.sports,(l,d)=>(p(),w(i,{key:l.sport,heading:l.sport,icon:l.icon},{default:M(()=>[(p(!0),m(S,null,y(l.items,(a,f)=>(p(),w(u,{key:a.href,competition:a.competition,date:a.date,href:a.href,oref:a.oref,progress:a.progress,result:a.result,team1:a.team1,team2:a.team2,onRemove:()=>r.removeSource(a.sref,d,f)},null,8,["competition","date","href","oref","progress","result","team1","team2","onRemove"]))),128))]),_:2},1032,["heading","icon"]))),128)),r.volleyMatches.length?(p(),w(i,{key:0,heading:"Volleyball",icon:"sports_volleyball"},{default:M(()=>[(p(!0),m(S,null,y(r.volleyMatches,(l,d)=>(p(),m("div",{key:d,class:"wrapIframe"},[o("iframe",{src:`https://cev-nex.tk/#/embed?match=${l.src}`},null,8,ee),o("span",{class:"deleteIcon small material-symbols-rounded",onClick:()=>r.removeSourceD(l.ref)},"clear",8,te)]))),128))]),_:1})):V("",!0)])])}const ae=k(R,[["render",se],["__scopeId","data-v-2339d0be"]]);export{ae as default}; diff --git a/src/ui/dist/assets/Sports-e337ea6b.js.gz b/src/ui/dist/assets/Sports-e337ea6b.js.gz new file mode 100644 index 000000000..e60b31f5e Binary files /dev/null and b/src/ui/dist/assets/Sports-e337ea6b.js.gz differ diff --git a/src/ui/dist/assets/Template-a12b99e6.js b/src/ui/dist/assets/Template-8dffc963.js similarity index 99% rename from src/ui/dist/assets/Template-a12b99e6.js rename to src/ui/dist/assets/Template-8dffc963.js index ff173d301..006643850 100644 --- a/src/ui/dist/assets/Template-a12b99e6.js +++ b/src/ui/dist/assets/Template-8dffc963.js @@ -1,4 +1,4 @@ -import{Y as Mr,Z as Nr,$ as jr,a0 as Fr,F as He,a1 as Lr,a2 as $r,a3 as Ur,a4 as Gr,a5 as lr,a6 as Br,a7 as Vr,a8 as Kr,a9 as Hr,aa as Wr,ab as Xr,ac as Yr,ad as zr,ae as Jr,af as Zr,ag as Qr,D as zt,ah as kr,f as Jt,d as Ft,c as gt,a as _,ai as qr,aj as _r,ak as to,al as eo,am as no,an as ro,b as ie,g as ot,ao as oo,ap as ao,i as ue,aq as io,ar as so,as as lo,at as uo,au as co,av as fo,aw as vo,ax as po,ay as ho,az as mo,aA as go,aB as yo,aC as bo,aD as So,aE as xo,aF as Eo,aG as Oo,aH as To,aI as Io,aJ as Po,aK as Co,aL as Do,aM as Ao,aN as wo,aO as Ro,aP as Mo,aQ as No,aR as jo,aS as Fo,aT as Lo,aU as $o,aV as Uo,aW as Go,aX as Bo,aY as $n,aZ as We,a_ as Vo,z as ur,a$ as Ko,b0 as Ho,b1 as Wo,b2 as Xo,b3 as Yo,b4 as zo,E as pn,b5 as Jo,b6 as Zo,b7 as Qo,b8 as ko,b9 as qo,ba as _o,o as et,n as Un,bb as ta,bc as ea,m as Gn,bd as na,be as ra,bf as oa,q as rt,bg as aa,bh as ia,j as wn,r as Bn,e as $e,bi as Vn,bj as sa,bk as la,bl as ua,bm as ca,bn as fa,bo as da,bp as va,bq as pa,br as ha,bs as ma,bt as ga,bu as ya,t as Bt,bv as ba,bw as Sa,bx as xa,by as Ea,bz as Oa,bA as Ta,bB as Ia,bC as Pa,u as Yt,bD as Ca,bE as Da,bF as Aa,bG as wa,bH as Ra,bI as Ma,bJ as Na,bK as ja,bL as Fa,bM as La,bN as $a,bO as cr,bP as fr,bQ as Ua,bR as Ga,G as le,bS as dr,bT as Ba,bU as Va,bV as Ka,w as Rt,bW as Ha,bX as Xe,bY as Rn,bZ as Wa,J as me,b_ as Xa,b$ as vr,c0 as Ya,c1 as za,_ as Ye,P as pr,B as Ja,c2 as Za,x as Qa,c3 as hr,A as ka,c4 as qa,c5 as _a,I as zn,k as Kn,s as mr,X as ti,c6 as Jn,c7 as ei,c8 as ni,h as ri,C as Zn,V as oi,U as ai,c9 as ii,ca as si}from"./index-1d15d58c.js";import{P as li}from"./PlaylistEntry-32f74c9a.js";import{F as yn}from"./FactCard-d063b1a1.js";import{G as ui}from"./gistClient-63d02b96.js";import{M as ci,_ as fi}from"./Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js";const di=()=>{},vi=Object.freeze(Object.defineProperty({__proto__:null,BaseTransition:Mr,BaseTransitionPropsValidators:Nr,Comment:jr,EffectScope:Fr,Fragment:He,KeepAlive:Lr,ReactiveEffect:$r,Static:Ur,Suspense:Gr,Teleport:lr,Text:Br,Transition:Vr,TransitionGroup:Kr,VueElement:Hr,assertNumber:Wr,callWithAsyncErrorHandling:Xr,callWithErrorHandling:Yr,camelize:zr,capitalize:Jr,cloneVNode:Zr,compatUtils:Qr,compile:di,computed:zt,createApp:kr,createBlock:Jt,createCommentVNode:Ft,createElementBlock:gt,createElementVNode:_,createHydrationRenderer:qr,createPropsRestProxy:_r,createRenderer:to,createSSRApp:eo,createSlots:no,createStaticVNode:ro,createTextVNode:ie,createVNode:ot,customRef:oo,defineAsyncComponent:ao,defineComponent:ue,defineCustomElement:io,defineEmits:so,defineExpose:lo,defineModel:uo,defineOptions:co,defineProps:fo,defineSSRCustomElement:vo,defineSlots:po,get devtools(){return ho},effect:mo,effectScope:go,getCurrentInstance:yo,getCurrentScope:bo,getTransitionRawChildren:So,guardReactiveProps:xo,h:Eo,handleError:Oo,hasInjectionContext:To,hydrate:Io,initCustomFormatter:Po,initDirectivesForSSR:Co,inject:Do,isMemoSame:Ao,isProxy:wo,isReactive:Ro,isReadonly:Mo,isRef:No,isRuntimeOnly:jo,isShallow:Fo,isVNode:Lo,markRaw:$o,mergeDefaults:Uo,mergeModels:Go,mergeProps:Bo,nextTick:$n,normalizeClass:We,normalizeProps:Vo,normalizeStyle:ur,onActivated:Ko,onBeforeMount:Ho,onBeforeUnmount:Wo,onBeforeUpdate:Xo,onDeactivated:Yo,onErrorCaptured:zo,onMounted:pn,onRenderTracked:Jo,onRenderTriggered:Zo,onScopeDispose:Qo,onServerPrefetch:ko,onUnmounted:qo,onUpdated:_o,openBlock:et,popScopeId:Un,provide:ta,proxyRefs:ea,pushScopeId:Gn,queuePostFlushCb:na,reactive:ra,readonly:oa,ref:rt,registerRuntimeCompiler:aa,render:ia,renderList:wn,renderSlot:Bn,resolveComponent:$e,resolveDirective:Vn,resolveDynamicComponent:sa,resolveFilter:la,resolveTransitionHooks:ua,setBlockTracking:ca,setDevtoolsHook:fa,setTransitionHooks:da,shallowReactive:va,shallowReadonly:pa,shallowRef:ha,ssrContextKey:ma,ssrUtils:ga,stop:ya,toDisplayString:Bt,toHandlerKey:ba,toHandlers:Sa,toRaw:xa,toRef:Ea,toRefs:Oa,toValue:Ta,transformVNodeArgs:Ia,triggerRef:Pa,unref:Yt,useAttrs:Ca,useCssModule:Da,useCssVars:Aa,useModel:wa,useSSRContext:Ra,useSlots:Ma,useTransitionState:Na,vModelCheckbox:ja,vModelDynamic:Fa,vModelRadio:La,vModelSelect:$a,vModelText:cr,vShow:fr,version:Ua,warn:Ga,watch:le,watchEffect:dr,watchPostEffect:Ba,watchSyncEffect:Va,withAsyncContext:Ka,withCtx:Rt,withDefaults:Ha,withDirectives:Xe,withKeys:Rn,withMemo:Wa,withModifiers:me,withScopeId:Xa},Symbol.toStringTag,{value:"Module"}));var gr={exports:{}};const pi=vr(vi);/**! +import{Y as Mr,Z as Nr,$ as jr,a0 as Fr,F as He,a1 as Lr,a2 as $r,a3 as Ur,a4 as Gr,a5 as lr,a6 as Br,a7 as Vr,a8 as Kr,a9 as Hr,aa as Wr,ab as Xr,ac as Yr,ad as zr,ae as Jr,af as Zr,ag as Qr,D as zt,ah as kr,f as Jt,d as Ft,c as gt,a as _,ai as qr,aj as _r,ak as to,al as eo,am as no,an as ro,b as ie,g as ot,ao as oo,ap as ao,i as ue,aq as io,ar as so,as as lo,at as uo,au as co,av as fo,aw as vo,ax as po,ay as ho,az as mo,aA as go,aB as yo,aC as bo,aD as So,aE as xo,aF as Eo,aG as Oo,aH as To,aI as Io,aJ as Po,aK as Co,aL as Do,aM as Ao,aN as wo,aO as Ro,aP as Mo,aQ as No,aR as jo,aS as Fo,aT as Lo,aU as $o,aV as Uo,aW as Go,aX as Bo,aY as $n,aZ as We,a_ as Vo,z as ur,a$ as Ko,b0 as Ho,b1 as Wo,b2 as Xo,b3 as Yo,b4 as zo,E as pn,b5 as Jo,b6 as Zo,b7 as Qo,b8 as ko,b9 as qo,ba as _o,o as et,n as Un,bb as ta,bc as ea,m as Gn,bd as na,be as ra,bf as oa,q as rt,bg as aa,bh as ia,j as wn,r as Bn,e as $e,bi as Vn,bj as sa,bk as la,bl as ua,bm as ca,bn as fa,bo as da,bp as va,bq as pa,br as ha,bs as ma,bt as ga,bu as ya,t as Bt,bv as ba,bw as Sa,bx as xa,by as Ea,bz as Oa,bA as Ta,bB as Ia,bC as Pa,u as Yt,bD as Ca,bE as Da,bF as Aa,bG as wa,bH as Ra,bI as Ma,bJ as Na,bK as ja,bL as Fa,bM as La,bN as $a,bO as cr,bP as fr,bQ as Ua,bR as Ga,G as le,bS as dr,bT as Ba,bU as Va,bV as Ka,w as Rt,bW as Ha,bX as Xe,bY as Rn,bZ as Wa,J as me,b_ as Xa,b$ as vr,c0 as Ya,c1 as za,_ as Ye,P as pr,B as Ja,c2 as Za,x as Qa,c3 as hr,A as ka,c4 as qa,c5 as _a,I as zn,k as Kn,s as mr,X as ti,c6 as Jn,c7 as ei,c8 as ni,h as ri,C as Zn,V as oi,U as ai,c9 as ii,ca as si}from"./index-286d536d.js";import{P as li}from"./PlaylistEntry-bb67bf25.js";import{F as yn}from"./FactCard-ecaa8541.js";import{G as ui}from"./gistClient-be4ed4e2.js";import{M as ci,_ as fi}from"./Markdown.vue_vue_type_style_index_0_lang-d9462c8d.js";const di=()=>{},vi=Object.freeze(Object.defineProperty({__proto__:null,BaseTransition:Mr,BaseTransitionPropsValidators:Nr,Comment:jr,EffectScope:Fr,Fragment:He,KeepAlive:Lr,ReactiveEffect:$r,Static:Ur,Suspense:Gr,Teleport:lr,Text:Br,Transition:Vr,TransitionGroup:Kr,VueElement:Hr,assertNumber:Wr,callWithAsyncErrorHandling:Xr,callWithErrorHandling:Yr,camelize:zr,capitalize:Jr,cloneVNode:Zr,compatUtils:Qr,compile:di,computed:zt,createApp:kr,createBlock:Jt,createCommentVNode:Ft,createElementBlock:gt,createElementVNode:_,createHydrationRenderer:qr,createPropsRestProxy:_r,createRenderer:to,createSSRApp:eo,createSlots:no,createStaticVNode:ro,createTextVNode:ie,createVNode:ot,customRef:oo,defineAsyncComponent:ao,defineComponent:ue,defineCustomElement:io,defineEmits:so,defineExpose:lo,defineModel:uo,defineOptions:co,defineProps:fo,defineSSRCustomElement:vo,defineSlots:po,get devtools(){return ho},effect:mo,effectScope:go,getCurrentInstance:yo,getCurrentScope:bo,getTransitionRawChildren:So,guardReactiveProps:xo,h:Eo,handleError:Oo,hasInjectionContext:To,hydrate:Io,initCustomFormatter:Po,initDirectivesForSSR:Co,inject:Do,isMemoSame:Ao,isProxy:wo,isReactive:Ro,isReadonly:Mo,isRef:No,isRuntimeOnly:jo,isShallow:Fo,isVNode:Lo,markRaw:$o,mergeDefaults:Uo,mergeModels:Go,mergeProps:Bo,nextTick:$n,normalizeClass:We,normalizeProps:Vo,normalizeStyle:ur,onActivated:Ko,onBeforeMount:Ho,onBeforeUnmount:Wo,onBeforeUpdate:Xo,onDeactivated:Yo,onErrorCaptured:zo,onMounted:pn,onRenderTracked:Jo,onRenderTriggered:Zo,onScopeDispose:Qo,onServerPrefetch:ko,onUnmounted:qo,onUpdated:_o,openBlock:et,popScopeId:Un,provide:ta,proxyRefs:ea,pushScopeId:Gn,queuePostFlushCb:na,reactive:ra,readonly:oa,ref:rt,registerRuntimeCompiler:aa,render:ia,renderList:wn,renderSlot:Bn,resolveComponent:$e,resolveDirective:Vn,resolveDynamicComponent:sa,resolveFilter:la,resolveTransitionHooks:ua,setBlockTracking:ca,setDevtoolsHook:fa,setTransitionHooks:da,shallowReactive:va,shallowReadonly:pa,shallowRef:ha,ssrContextKey:ma,ssrUtils:ga,stop:ya,toDisplayString:Bt,toHandlerKey:ba,toHandlers:Sa,toRaw:xa,toRef:Ea,toRefs:Oa,toValue:Ta,transformVNodeArgs:Ia,triggerRef:Pa,unref:Yt,useAttrs:Ca,useCssModule:Da,useCssVars:Aa,useModel:wa,useSSRContext:Ra,useSlots:Ma,useTransitionState:Na,vModelCheckbox:ja,vModelDynamic:Fa,vModelRadio:La,vModelSelect:$a,vModelText:cr,vShow:fr,version:Ua,warn:Ga,watch:le,watchEffect:dr,watchPostEffect:Ba,watchSyncEffect:Va,withAsyncContext:Ka,withCtx:Rt,withDefaults:Ha,withDirectives:Xe,withKeys:Rn,withMemo:Wa,withModifiers:me,withScopeId:Xa},Symbol.toStringTag,{value:"Module"}));var gr={exports:{}};const pi=vr(vi);/**! * Sortable 1.14.0 * @author RubaXa * @author owenm diff --git a/src/ui/dist/assets/Template-8dffc963.js.gz b/src/ui/dist/assets/Template-8dffc963.js.gz new file mode 100644 index 000000000..48c359787 Binary files /dev/null and b/src/ui/dist/assets/Template-8dffc963.js.gz differ diff --git a/src/ui/dist/assets/Template-a12b99e6.js.gz b/src/ui/dist/assets/Template-a12b99e6.js.gz deleted file mode 100644 index b21ce9969..000000000 Binary files a/src/ui/dist/assets/Template-a12b99e6.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Track-29247377.js.gz b/src/ui/dist/assets/Track-29247377.js.gz deleted file mode 100644 index f74df5fbd..000000000 Binary files a/src/ui/dist/assets/Track-29247377.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Track-29247377.js b/src/ui/dist/assets/Track-8da48201.js similarity index 96% rename from src/ui/dist/assets/Track-29247377.js rename to src/ui/dist/assets/Track-8da48201.js index 03c122acf..6b3b66e07 100644 --- a/src/ui/dist/assets/Track-29247377.js +++ b/src/ui/dist/assets/Track-8da48201.js @@ -1 +1 @@ -import{i as I,q as m,G as P,E,o as t,c as _,_ as U,f as n,w as S,a as s,t as f,d as r,C as B,B as F,c8 as A,D as H,ca as K,g as x,h as O,aZ as M,cb as R,u as h,F as V,cc as W,cd as G,ce as Z,cf as J,V as Q,j as T,b as X,cg as Y,ch as ee,ci as ae,cj as te,ck as j,cl as se,L as le,m as oe,n as ne}from"./index-1d15d58c.js";import{F as g}from"./FactCard-d063b1a1.js";import{_ as ue}from"./EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js";import{s as re}from"./spotify-8606af53.js";const ie=["aria-valuemax","aria-valuenow"],ce=I({__name:"ProgressCircle",props:{max:{type:Number,required:!1,default:100},modelValue:{type:Number,required:!1,default:0},displayValue:{type:String,required:!0}},setup(u){const v=u,c=m(null),b=()=>{if(c.value){const d=v.modelValue/v.max*100;c.value.style.setProperty("--progress",`${d}%`),c.value.innerHTML=v.displayValue}};P(v,b,{deep:!0});const l=()=>{c.value&&(c.value.style.height=c.value.offsetWidth+"px")};return E(()=>{l(),b()}),window.addEventListener("resize",l),(d,y)=>(t(),_("div",{ref_key:"radialProgress",ref:c,"aria-valuemax":u.max,"aria-valuenow":u.modelValue,"aria-valuemin":"0",class:"radialProgress",role:"progressbar"},null,8,ie))}});const q=U(ce,[["__scopeId","data-v-2329319f"]]),de={class:"material-symbols-rounded ms-fill"},pe={key:0,class:"text-muted"},_e=I({__name:"ButtonCard",props:{icon:{type:String,required:!0},label:{type:String,required:!1}},setup(u){return(v,c)=>(t(),n(B,{class:"p-4 flex flex-col w-full items-center justify-center"},{default:S(()=>[s("span",de,f(u.icon),1),u.label?(t(),_("span",pe,f(u.label),1)):r("",!0)]),_:1}))}});const D=U(_e,[["__scopeId","data-v-1b7199f2"]]),N=u=>(oe("data-v-56a3b0f7"),u=u(),ne(),u),ve={class:"track p-4"},me={key:2},fe={class:"track__data"},ye={class:"upper"},xe={class:"trac__info__details__normal"},he={class:"text-secondary my-0 text-2xl font-bold"},ke={class:"text-muted text-base ml-4 font-light"},ge={class:"flex flew-row items-center"},be={class:"font-black text-5xl ml-4"},we={key:0,class:"features flex flex-row gap-4 pt-4 pb-2 overflow-x-auto"},Ce={class:"spotify-infos mt-4"},Ve={class:"meta items-center"},$e={class:"text-muted"},Pe={key:0,class:"material-symbols-rounded ms-fill"},Se={class:"flex flex-row align-items"},Be=N(()=>s("span",{class:"material-symbols-rounded ms-fill mr-2"},"local_fire_department",-1)),Ie={class:"font-bold"},Ue={class:"relative w-full mt-4"},Me={class:"spotify__features__circles"},Te={class:"text-muted mb-0 text-center text-sm capitalize flex justify-center"},je={class:"material-symbols-rounded mr-2"},qe=N(()=>s("h2",{class:"!text-left"},"Similar Songs",-1)),De=I({__name:"Track",setup(u){const v=F(),c=A(),b=H(()=>v.params.hash),l=m(null),d=m(null),y=m("url"),a=m(null),w=m([]),$=m([]),k=m(!1),L={acousticness:"piano",danceability:"nightlife",energy:"electric_bolt",happiness:"mood",instrumentalness:"mic_off",liveness:"groups_2",speechiness:"mic",loudness:"volume_up"},C=async(p=null)=>{var o;l.value=null,a.value=null,w.value=[],l.value=await ee(b.value),window.document.title=`${l.value.title} - reAudioPlayer One`,a.value=await ae(l.value.id,!!p,p),d.value=`https://open.spotify.com/track/${a.value.spotify.id}`,y.value="link",k.value=((o=a.value.spotify.id)==null?void 0:o.length)==22,w.value=await te(l.value.id),$.value=[];for(let[e,i]of Object.entries(a.value.spotify.features))["key","mode","tempo","duration_ms","time_signature"].includes(e)||typeof i=="number"&&(e=e.replaceAll("_"," "),e=e.replace("valence","happiness"),e==="loudness"&&(i=60+i),$.value.push({key:e,value:i,icon:L[e]}))};E(C),P(v,()=>C(),{deep:!0}),P(d,()=>{var p,o;if(((o=(p=a.value)==null?void 0:p.spotify)==null?void 0:o.id)==j(d.value,"track")){y.value="link";return}y.value="save"});const z=()=>{if(y.value==="save"){const p=j(d.value,"track");if(!p)return;C(p);return}se(d.value)};return(p,o)=>(t(),_(V,null,[l.value?(t(),n(K,{key:0,src:l.value.cover,class:"-z-10"},null,8,["src"])):r("",!0),s("div",ve,[l.value?(t(),n(ue,{key:0,ref:"updatePopup",song:l.value,onUpdate:o[0]||(o[0]=()=>C())},null,8,["song"])):r("",!0),l.value?(t(),_("div",me,[s("div",fe,[s("div",ye,[x(O,{src:l.value.cover,class:"max-w-sm rounded-xl"},null,8,["src"]),s("div",{class:M([{"justify-end":a.value,"justify-center":!a.value},"track__info__details flex flex-col"])},[s("div",xe,[s("h3",he,[x(R,{artist:l.value.artist,class:"inline"},null,8,["artist"]),s("span",ke,f(l.value.album),1)]),s("div",ge,[s("span",{class:"text-5xl cursor-pointer material-symbols-rounded ms-fill my-auto",onClick:o[1]||(o[1]=e=>h(c).loadPlaylist("track",l.value.id))}," play_circle "),s("h1",be,f(l.value.title),1)])]),a.value&&a.value.spotify.features?(t(),_(V,{key:0},[a.value&&a.value.spotify.features?(t(),_("div",we,[a.value?(t(),n(g,{key:0,"primary-text":a.value.spotify.features.key+" "+a.value.spotify.features.mode,class:"w-full","secondary-text":"Key"},null,8,["primary-text"])):r("",!0),a.value?(t(),n(g,{key:1,"primary-text":h(W)(a.value),class:"w-full","secondary-text":"Camelot"},null,8,["primary-text"])):r("",!0),a.value?(t(),n(g,{key:2,"primary-text":Math.round(a.value.spotify.features.tempo),class:"w-full","secondary-text":"BPM"},null,8,["primary-text"])):r("",!0),x(g,{"primary-text":h(G)(l.value.duration),class:"w-full","secondary-text":"Duration"},null,8,["primary-text"]),a.value?(t(),n(g,{key:3,"primary-text":a.value.plays,class:"w-full","secondary-text":"Plays"},null,8,["primary-text"])):r("",!0),x(D,{icon:"edit",label:"Edit",onClick:o[2]||(o[2]=e=>p.$refs.updatePopup.show())}),x(D,{icon:"download",label:"Download",onClick:o[3]||(o[3]=e=>h(Z)(l.value.id))})])):r("",!0),s("div",Ce,[s("div",Ve,[s("span",$e,f(h(J)(a.value.spotify.releaseDate)),1),a.value.spotify.explicit?(t(),_("span",Pe,"explicit")):r("",!0),s("span",Se,[Be,s("span",Ie,f(a.value.spotify.popularity),1)])]),x(h(re),{class:M([{enabled:k.value},"spotify-enable"]),onClick:o[4]||(o[4]=e=>k.value=!k.value)},null,8,["class"]),k.value?(t(),n(Q,{key:0,modelValue:d.value,"onUpdate:modelValue":o[5]||(o[5]=e=>d.value=e),icon:y.value,onClick:z},null,8,["modelValue","icon"])):r("",!0)])],64)):r("",!0)],2)])]),s("div",Ue,[s("div",Me,[(t(!0),_(V,null,T($.value,e=>(t(),n(B,{class:"p-2"},{default:S(()=>[e.key==="loudness"?(t(),n(q,{key:0,modelValue:e.value,"onUpdate:modelValue":i=>e.value=i,"display-value":Math.round(-60+e.value)+"dB",class:"circle",max:"60"},null,8,["modelValue","onUpdate:modelValue","display-value"])):(t(),n(q,{key:1,modelValue:e.value,"onUpdate:modelValue":i=>e.value=i,"display-value":Math.round(e.value*100)+"%",class:"circle",max:"1"},null,8,["modelValue","onUpdate:modelValue","display-value"])),s("p",Te,[s("span",je,f(e.icon),1),X(" "+f(e.key),1)])]),_:2},1024))),256))])]),w.value.length?(t(),n(B,{key:0,class:"p-4 mt-4"},{default:S(()=>[qe,(t(!0),_(V,null,T(w.value,(e,i)=>(t(),n(Y,{key:i,index:i,song:e,"can-import":"","cannot-add":"","with-album":"","with-cover":""},null,8,["index","song"]))),128))]),_:1})):r("",!0)])):(t(),n(le,{key:1}))])],64))}});const Fe=U(De,[["__scopeId","data-v-56a3b0f7"]]);export{Fe as default}; +import{i as I,q as m,G as P,E,o as t,c as _,_ as U,f as n,w as S,a as s,t as f,d as r,C as B,B as F,c8 as A,D as H,ca as K,g as x,h as O,aZ as M,cb as R,u as h,F as V,cc as W,cd as G,ce as Z,cf as J,V as Q,j as T,b as X,cg as Y,ch as ee,ci as ae,cj as te,ck as j,cl as se,L as le,m as oe,n as ne}from"./index-286d536d.js";import{F as g}from"./FactCard-ecaa8541.js";import{_ as ue}from"./EditSong.vue_vue_type_script_setup_true_lang-94868e65.js";import{s as re}from"./spotify-ec5e61f9.js";const ie=["aria-valuemax","aria-valuenow"],ce=I({__name:"ProgressCircle",props:{max:{type:Number,required:!1,default:100},modelValue:{type:Number,required:!1,default:0},displayValue:{type:String,required:!0}},setup(u){const v=u,c=m(null),b=()=>{if(c.value){const d=v.modelValue/v.max*100;c.value.style.setProperty("--progress",`${d}%`),c.value.innerHTML=v.displayValue}};P(v,b,{deep:!0});const l=()=>{c.value&&(c.value.style.height=c.value.offsetWidth+"px")};return E(()=>{l(),b()}),window.addEventListener("resize",l),(d,y)=>(t(),_("div",{ref_key:"radialProgress",ref:c,"aria-valuemax":u.max,"aria-valuenow":u.modelValue,"aria-valuemin":"0",class:"radialProgress",role:"progressbar"},null,8,ie))}});const q=U(ce,[["__scopeId","data-v-2329319f"]]),de={class:"material-symbols-rounded ms-fill"},pe={key:0,class:"text-muted"},_e=I({__name:"ButtonCard",props:{icon:{type:String,required:!0},label:{type:String,required:!1}},setup(u){return(v,c)=>(t(),n(B,{class:"p-4 flex flex-col w-full items-center justify-center"},{default:S(()=>[s("span",de,f(u.icon),1),u.label?(t(),_("span",pe,f(u.label),1)):r("",!0)]),_:1}))}});const D=U(_e,[["__scopeId","data-v-1b7199f2"]]),N=u=>(oe("data-v-56a3b0f7"),u=u(),ne(),u),ve={class:"track p-4"},me={key:2},fe={class:"track__data"},ye={class:"upper"},xe={class:"trac__info__details__normal"},he={class:"text-secondary my-0 text-2xl font-bold"},ke={class:"text-muted text-base ml-4 font-light"},ge={class:"flex flew-row items-center"},be={class:"font-black text-5xl ml-4"},we={key:0,class:"features flex flex-row gap-4 pt-4 pb-2 overflow-x-auto"},Ce={class:"spotify-infos mt-4"},Ve={class:"meta items-center"},$e={class:"text-muted"},Pe={key:0,class:"material-symbols-rounded ms-fill"},Se={class:"flex flex-row align-items"},Be=N(()=>s("span",{class:"material-symbols-rounded ms-fill mr-2"},"local_fire_department",-1)),Ie={class:"font-bold"},Ue={class:"relative w-full mt-4"},Me={class:"spotify__features__circles"},Te={class:"text-muted mb-0 text-center text-sm capitalize flex justify-center"},je={class:"material-symbols-rounded mr-2"},qe=N(()=>s("h2",{class:"!text-left"},"Similar Songs",-1)),De=I({__name:"Track",setup(u){const v=F(),c=A(),b=H(()=>v.params.hash),l=m(null),d=m(null),y=m("url"),a=m(null),w=m([]),$=m([]),k=m(!1),L={acousticness:"piano",danceability:"nightlife",energy:"electric_bolt",happiness:"mood",instrumentalness:"mic_off",liveness:"groups_2",speechiness:"mic",loudness:"volume_up"},C=async(p=null)=>{var o;l.value=null,a.value=null,w.value=[],l.value=await ee(b.value),window.document.title=`${l.value.title} - reAudioPlayer One`,a.value=await ae(l.value.id,!!p,p),d.value=`https://open.spotify.com/track/${a.value.spotify.id}`,y.value="link",k.value=((o=a.value.spotify.id)==null?void 0:o.length)==22,w.value=await te(l.value.id),$.value=[];for(let[e,i]of Object.entries(a.value.spotify.features))["key","mode","tempo","duration_ms","time_signature"].includes(e)||typeof i=="number"&&(e=e.replaceAll("_"," "),e=e.replace("valence","happiness"),e==="loudness"&&(i=60+i),$.value.push({key:e,value:i,icon:L[e]}))};E(C),P(v,()=>C(),{deep:!0}),P(d,()=>{var p,o;if(((o=(p=a.value)==null?void 0:p.spotify)==null?void 0:o.id)==j(d.value,"track")){y.value="link";return}y.value="save"});const z=()=>{if(y.value==="save"){const p=j(d.value,"track");if(!p)return;C(p);return}se(d.value)};return(p,o)=>(t(),_(V,null,[l.value?(t(),n(K,{key:0,src:l.value.cover,class:"-z-10"},null,8,["src"])):r("",!0),s("div",ve,[l.value?(t(),n(ue,{key:0,ref:"updatePopup",song:l.value,onUpdate:o[0]||(o[0]=()=>C())},null,8,["song"])):r("",!0),l.value?(t(),_("div",me,[s("div",fe,[s("div",ye,[x(O,{src:l.value.cover,class:"max-w-sm rounded-xl"},null,8,["src"]),s("div",{class:M([{"justify-end":a.value,"justify-center":!a.value},"track__info__details flex flex-col"])},[s("div",xe,[s("h3",he,[x(R,{artist:l.value.artist,class:"inline"},null,8,["artist"]),s("span",ke,f(l.value.album),1)]),s("div",ge,[s("span",{class:"text-5xl cursor-pointer material-symbols-rounded ms-fill my-auto",onClick:o[1]||(o[1]=e=>h(c).loadPlaylist("track",l.value.id))}," play_circle "),s("h1",be,f(l.value.title),1)])]),a.value&&a.value.spotify.features?(t(),_(V,{key:0},[a.value&&a.value.spotify.features?(t(),_("div",we,[a.value?(t(),n(g,{key:0,"primary-text":a.value.spotify.features.key+" "+a.value.spotify.features.mode,class:"w-full","secondary-text":"Key"},null,8,["primary-text"])):r("",!0),a.value?(t(),n(g,{key:1,"primary-text":h(W)(a.value),class:"w-full","secondary-text":"Camelot"},null,8,["primary-text"])):r("",!0),a.value?(t(),n(g,{key:2,"primary-text":Math.round(a.value.spotify.features.tempo),class:"w-full","secondary-text":"BPM"},null,8,["primary-text"])):r("",!0),x(g,{"primary-text":h(G)(l.value.duration),class:"w-full","secondary-text":"Duration"},null,8,["primary-text"]),a.value?(t(),n(g,{key:3,"primary-text":a.value.plays,class:"w-full","secondary-text":"Plays"},null,8,["primary-text"])):r("",!0),x(D,{icon:"edit",label:"Edit",onClick:o[2]||(o[2]=e=>p.$refs.updatePopup.show())}),x(D,{icon:"download",label:"Download",onClick:o[3]||(o[3]=e=>h(Z)(l.value.id))})])):r("",!0),s("div",Ce,[s("div",Ve,[s("span",$e,f(h(J)(a.value.spotify.releaseDate)),1),a.value.spotify.explicit?(t(),_("span",Pe,"explicit")):r("",!0),s("span",Se,[Be,s("span",Ie,f(a.value.spotify.popularity),1)])]),x(h(re),{class:M([{enabled:k.value},"spotify-enable"]),onClick:o[4]||(o[4]=e=>k.value=!k.value)},null,8,["class"]),k.value?(t(),n(Q,{key:0,modelValue:d.value,"onUpdate:modelValue":o[5]||(o[5]=e=>d.value=e),icon:y.value,onClick:z},null,8,["modelValue","icon"])):r("",!0)])],64)):r("",!0)],2)])]),s("div",Ue,[s("div",Me,[(t(!0),_(V,null,T($.value,e=>(t(),n(B,{class:"p-2"},{default:S(()=>[e.key==="loudness"?(t(),n(q,{key:0,modelValue:e.value,"onUpdate:modelValue":i=>e.value=i,"display-value":Math.round(-60+e.value)+"dB",class:"circle",max:"60"},null,8,["modelValue","onUpdate:modelValue","display-value"])):(t(),n(q,{key:1,modelValue:e.value,"onUpdate:modelValue":i=>e.value=i,"display-value":Math.round(e.value*100)+"%",class:"circle",max:"1"},null,8,["modelValue","onUpdate:modelValue","display-value"])),s("p",Te,[s("span",je,f(e.icon),1),X(" "+f(e.key),1)])]),_:2},1024))),256))])]),w.value.length?(t(),n(B,{key:0,class:"p-4 mt-4"},{default:S(()=>[qe,(t(!0),_(V,null,T(w.value,(e,i)=>(t(),n(Y,{key:i,index:i,song:e,"can-import":"","cannot-add":"","with-album":"","with-cover":""},null,8,["index","song"]))),128))]),_:1})):r("",!0)])):(t(),n(le,{key:1}))])],64))}});const Fe=U(De,[["__scopeId","data-v-56a3b0f7"]]);export{Fe as default}; diff --git a/src/ui/dist/assets/Track-8da48201.js.gz b/src/ui/dist/assets/Track-8da48201.js.gz new file mode 100644 index 000000000..99417474c Binary files /dev/null and b/src/ui/dist/assets/Track-8da48201.js.gz differ diff --git a/src/ui/dist/assets/TrackCompact-63a74737.js.gz b/src/ui/dist/assets/TrackCompact-63a74737.js.gz deleted file mode 100644 index 7246e8fd0..000000000 Binary files a/src/ui/dist/assets/TrackCompact-63a74737.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/TrackCompact-63a74737.js b/src/ui/dist/assets/TrackCompact-667d7442.js similarity index 94% rename from src/ui/dist/assets/TrackCompact-63a74737.js rename to src/ui/dist/assets/TrackCompact-667d7442.js index 9b59be88a..fb985f4f6 100644 --- a/src/ui/dist/assets/TrackCompact-63a74737.js +++ b/src/ui/dist/assets/TrackCompact-667d7442.js @@ -1 +1 @@ -import{_ as T,s as B,A as D,q as n,G as H,D as N,cs as i,e as M,o as r,c as b,f as d,K as O,d as p,ct as R,g as l,w as u,a,z as V,u as _,M as S,t as q,C as z,m as A,n as E}from"./index-1d15d58c.js";const G=e=>(A("data-v-d34b4deb"),e=e(),E(),e),K={class:"home-track-compact-wrapper"},P=["src"],j=G(()=>a("div",{class:"play"},[a("span",{class:"material-symbols-rounded"},"play_arrow")],-1)),F={class:"info"},J={class:"title"},L=["href"],Q={class:"artist"},U={__name:"TrackCompact",props:{title:String,artist:String,cover:String,id:Number,href:String},emits:["play"],setup(e,{emit:C}){const t=e,w=C,x=B(),m=`/track/${D(String(t.id))}`,f=n(null),h=n(null),I=c=>{c.stopPropagation(),w("play")},$=()=>{var c,o;if(!((c=t==null?void 0:t.href)!=null&&c.includes("spotify.com"))){x.push(m);return}if((o=t==null?void 0:t.href)!=null&&o.includes("spotify.com/album/")){h.value.show();return}f.value.show()},s=n(t.cover);H(()=>t.cover,()=>{s.value=t.cover});const v=N(()=>i(s.value));return(c,o)=>{var y,g;const k=M("router-link");return r(),b("div",K,[(y=e.href)!=null&&y.includes("spotify.com/album/")?(r(),d(O,{key:0,ref_key:"addRelease",ref:h,album:{cover:v.value,name:e.title,artist:e.artist,id:e.href.replace("https://open.spotify.com/album/",""),href:e.href,releaseDate:null}},null,8,["album"])):p("",!0),(g=e.href)!=null&&g.includes("spotify.com/track/")?(r(),d(R,{key:1,ref_key:"addSong",ref:f,song:{cover:v.value,title:e.title,artist:e.artist,id:e.href.replace("https://open.spotify.com/track/",""),href:e.href,releaseDate:null}},null,8,["song"])):p("",!0),l(z,{class:"home-track-compact","with-hover":"",onClick:$},{default:u(()=>[a("div",{style:V({backgroundImage:`url(${_(i)(s.value)})`}),class:"cover",onClick:I},[a("img",{src:_(i)(s.value),class:"hidden",onError:o[0]||(o[0]=X=>s.value=null)},null,40,P),j],4),a("div",F,[a("span",J,[e.href?(r(),b("a",{key:1,href:e.href,class:"linkOnHover"},[l(S,{text:e.title},null,8,["text"])],8,L)):(r(),d(k,{key:0,to:m,class:"linkOnHover"},{default:u(()=>[l(S,{text:e.title},null,8,["text"])]),_:1}))]),l(k,{to:`/search/artist:${e.artist}`,class:"linkOnHover"},{default:u(()=>[a("span",Q,q(e.artist),1)]),_:1},8,["to"])])]),_:1})])}}},Z=T(U,[["__scopeId","data-v-d34b4deb"]]);export{Z as T}; +import{_ as T,s as B,A as D,q as n,G as H,D as N,cs as i,e as M,o as r,c as b,f as d,K as O,d as p,ct as R,g as l,w as u,a,z as V,u as _,M as S,t as q,C as z,m as A,n as E}from"./index-286d536d.js";const G=e=>(A("data-v-d34b4deb"),e=e(),E(),e),K={class:"home-track-compact-wrapper"},P=["src"],j=G(()=>a("div",{class:"play"},[a("span",{class:"material-symbols-rounded"},"play_arrow")],-1)),F={class:"info"},J={class:"title"},L=["href"],Q={class:"artist"},U={__name:"TrackCompact",props:{title:String,artist:String,cover:String,id:Number,href:String},emits:["play"],setup(e,{emit:C}){const t=e,w=C,x=B(),m=`/track/${D(String(t.id))}`,f=n(null),h=n(null),I=c=>{c.stopPropagation(),w("play")},$=()=>{var c,o;if(!((c=t==null?void 0:t.href)!=null&&c.includes("spotify.com"))){x.push(m);return}if((o=t==null?void 0:t.href)!=null&&o.includes("spotify.com/album/")){h.value.show();return}f.value.show()},s=n(t.cover);H(()=>t.cover,()=>{s.value=t.cover});const v=N(()=>i(s.value));return(c,o)=>{var y,g;const k=M("router-link");return r(),b("div",K,[(y=e.href)!=null&&y.includes("spotify.com/album/")?(r(),d(O,{key:0,ref_key:"addRelease",ref:h,album:{cover:v.value,name:e.title,artist:e.artist,id:e.href.replace("https://open.spotify.com/album/",""),href:e.href,releaseDate:null}},null,8,["album"])):p("",!0),(g=e.href)!=null&&g.includes("spotify.com/track/")?(r(),d(R,{key:1,ref_key:"addSong",ref:f,song:{cover:v.value,title:e.title,artist:e.artist,id:e.href.replace("https://open.spotify.com/track/",""),href:e.href,releaseDate:null}},null,8,["song"])):p("",!0),l(z,{class:"home-track-compact","with-hover":"",onClick:$},{default:u(()=>[a("div",{style:V({backgroundImage:`url(${_(i)(s.value)})`}),class:"cover",onClick:I},[a("img",{src:_(i)(s.value),class:"hidden",onError:o[0]||(o[0]=X=>s.value=null)},null,40,P),j],4),a("div",F,[a("span",J,[e.href?(r(),b("a",{key:1,href:e.href,class:"linkOnHover"},[l(S,{text:e.title},null,8,["text"])],8,L)):(r(),d(k,{key:0,to:m,class:"linkOnHover"},{default:u(()=>[l(S,{text:e.title},null,8,["text"])]),_:1}))]),l(k,{to:`/search/artist:${e.artist}`,class:"linkOnHover"},{default:u(()=>[a("span",Q,q(e.artist),1)]),_:1},8,["to"])])]),_:1})])}}},Z=T(U,[["__scopeId","data-v-d34b4deb"]]);export{Z as T}; diff --git a/src/ui/dist/assets/TrackCompact-667d7442.js.gz b/src/ui/dist/assets/TrackCompact-667d7442.js.gz new file mode 100644 index 000000000..08bbf9397 Binary files /dev/null and b/src/ui/dist/assets/TrackCompact-667d7442.js.gz differ diff --git a/src/ui/dist/assets/Welcome-a21b5bf7.js.gz b/src/ui/dist/assets/Welcome-a21b5bf7.js.gz deleted file mode 100644 index 0e864e536..000000000 Binary files a/src/ui/dist/assets/Welcome-a21b5bf7.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Welcome-a21b5bf7.js b/src/ui/dist/assets/Welcome-d433ea4e.js similarity index 98% rename from src/ui/dist/assets/Welcome-a21b5bf7.js rename to src/ui/dist/assets/Welcome-d433ea4e.js index 7b8f470fa..af374b017 100644 --- a/src/ui/dist/assets/Welcome-a21b5bf7.js +++ b/src/ui/dist/assets/Welcome-d433ea4e.js @@ -1 +1 @@ -import{_ as p,cp as r,o as i,c,a as e,aZ as v,cB as C,v as g,cC as S,e as T,F as b,j as k,b as u,bX as h,bO as _,d as w,f as I,m as R,n as x}from"./index-1d15d58c.js";const A={name:"ThemeSmall",props:{name:String},methods:{selected(){return r.getCurrentTheme()==this.name},select(){r.setTheme(this.name),this.$emit("selected")}}},B=["src"];function E(n,s,m,f,o,l){return i(),c("div",{onClick:s[0]||(s[0]=(...a)=>l.select&&l.select(...a)),class:"wrapper"},[e("img",{src:`/assets/img/themes/${this.name}.svg`,class:v({selected:l.selected()})},null,10,B)])}const N=p(A,[["render",E],["__scopeId","data-v-321833b6"]]);const O={components:{ThemeSmall:N},methods:{updateThemes(){this.mode++},redirect(n){r.open(n)},finalRedirectRestricted(){this.spotifyClientId||this.spotifyClientSecret||fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:"restricted",secret:"restricted"})}).then(n=>{n.status==200&&(setTimeout(()=>fetch("/api/releases"),1e3),this.mode++,setTimeout(()=>{this.$router.push("/")},6*1e3))})},async finalRedirect(){!this.spotifyClientId||!this.spotifyClientSecret||(await C(this.spotifyClientId,this.spotifyClientSecret),setTimeout(()=>fetch("/api/releases"),1e3),setTimeout(()=>fetch("/api/news/articles"),1e3),this.mode++,setTimeout(async()=>{await g(),this.$router.push("/")},6*1e3))}},data(){setInterval(()=>{if(this.mode<3){this.mode++;return}},7*1e3);const n=["dynamic","dark","light"],s=r.getCurrentTheme();return{mode:0,themes:n,themeSelected:s,spotifyClientId:"",spotifyClientSecret:""}},async mounted(){await S()||this.$router.push("/")}},t=n=>(R("data-v-9aa97202"),n=n(),x(),n),V={class:"welcome bouncy centred-column"},Y={key:0,class:"first centred-column"},D=t(()=>e("p",null,"Welcome to",-1)),F=t(()=>e("h1",null,"reAudioPlayer ONE",-1)),L=[D,F],P={key:1,class:"first centred-column"},U=t(()=>e("p",null,"The free audio player with the most extensive catalogue",-1)),W=t(()=>e("h1",null,"ARE YOU READY?",-1)),H=[U,W],M={key:2,class:"first centred-column"},j=t(()=>e("h1",null,"Almost There",-1)),z=t(()=>e("p",null,"After a few configurations you're ready to go",-1)),G=[j,z],J={key:3,class:"permanent centred-column"},X=t(()=>e("h1",null,"Pick a Theme",-1)),Z=t(()=>e("p",null,"You'll be able to change the theme at any point later on",-1)),q=t(()=>e("br",null,null,-1)),K={class:"centred-column appear-delayed"},Q={key:4,class:"permanent centred-column"},$=t(()=>e("h1",null,"Let's integrate Spotify then!",-1)),ee=t(()=>e("p",null,"You'll be able to change the tokens at any point later on",-1)),te=t(()=>e("br",null,null,-1)),se={class:"centred-column appear-delayed"},oe=t(()=>e("p",null,"2) Create An App",-1)),ne=t(()=>e("p",null,"3) Enter any name and any description",-1)),ie=t(()=>e("p",null,[u("4) Edit the settings: set the redirect url to "),e("a",{href:"http://reap.ml/"},"http://reap.ml/")],-1)),le=t(()=>e("p",null,"5) Copy and enter the client id and secret into the corresponding input field",-1)),ce=t(()=>e("br",null,null,-1)),de={class:"wrapTogether"},re=t(()=>e("p",null,"Client ID: ",-1)),ae={class:"wrapTogether"},he=t(()=>e("p",null,"Client Secret: ",-1)),_e={class:"wrapTogether spaceBetween"},pe={key:5,class:"centred-column"},ue=t(()=>e("h1",null,"ALRIGHT!",-1)),me=t(()=>e("p",null,"You're ready to go",-1)),fe=[ue,me];function ye(n,s,m,f,o,l){const a=T("theme-small");return i(),c("div",V,[o.mode==0?(i(),c("div",Y,L)):o.mode==1?(i(),c("div",P,H)):o.mode==2?(i(),c("div",M,G)):o.mode==3?(i(),c("div",J,[X,Z,q,e("div",K,[(i(),c("div",{class:"themes",key:o.themeSelected},[(i(!0),c(b,null,k(o.themes,(d,y)=>(i(),I(a,{onSelected:l.updateThemes,key:y,name:d},null,8,["onSelected","name"]))),128))]))])])):o.mode==4?(i(),c("div",Q,[$,ee,te,e("div",se,[e("p",null,[u("1) Head over to the "),e("a",{onClick:s[0]||(s[0]=()=>l.redirect("https://developer.spotify.com/dashboard/applications"))},"spotify developer dashboard")]),oe,ne,ie,le,ce,e("div",de,[re,h(e("input",{type:"text","onUpdate:modelValue":s[1]||(s[1]=d=>o.spotifyClientId=d)},null,512),[[_,o.spotifyClientId]])]),e("div",ae,[he,h(e("input",{type:"text","onUpdate:modelValue":s[2]||(s[2]=d=>o.spotifyClientSecret=d)},null,512),[[_,o.spotifyClientSecret]])]),e("div",_e,[e("button",{onClick:s[3]||(s[3]=(...d)=>l.finalRedirect&&l.finalRedirect(...d))},"continue"),e("button",{onClick:s[4]||(s[4]=(...d)=>l.finalRedirectRestricted&&l.finalRedirectRestricted(...d)),class:"restrictedMode"},"enter restricted mode")])])])):o.mode==5?(i(),c("div",pe,fe)):w("",!0)])}const Ce=p(O,[["render",ye],["__scopeId","data-v-9aa97202"]]);export{Ce as default}; +import{_ as p,cp as r,o as i,c,a as e,aZ as v,cB as C,v as g,cC as S,e as T,F as b,j as k,b as u,bX as h,bO as _,d as w,f as I,m as R,n as x}from"./index-286d536d.js";const A={name:"ThemeSmall",props:{name:String},methods:{selected(){return r.getCurrentTheme()==this.name},select(){r.setTheme(this.name),this.$emit("selected")}}},B=["src"];function E(n,s,m,f,o,l){return i(),c("div",{onClick:s[0]||(s[0]=(...a)=>l.select&&l.select(...a)),class:"wrapper"},[e("img",{src:`/assets/img/themes/${this.name}.svg`,class:v({selected:l.selected()})},null,10,B)])}const N=p(A,[["render",E],["__scopeId","data-v-321833b6"]]);const O={components:{ThemeSmall:N},methods:{updateThemes(){this.mode++},redirect(n){r.open(n)},finalRedirectRestricted(){this.spotifyClientId||this.spotifyClientSecret||fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:"restricted",secret:"restricted"})}).then(n=>{n.status==200&&(setTimeout(()=>fetch("/api/releases"),1e3),this.mode++,setTimeout(()=>{this.$router.push("/")},6*1e3))})},async finalRedirect(){!this.spotifyClientId||!this.spotifyClientSecret||(await C(this.spotifyClientId,this.spotifyClientSecret),setTimeout(()=>fetch("/api/releases"),1e3),setTimeout(()=>fetch("/api/news/articles"),1e3),this.mode++,setTimeout(async()=>{await g(),this.$router.push("/")},6*1e3))}},data(){setInterval(()=>{if(this.mode<3){this.mode++;return}},7*1e3);const n=["dynamic","dark","light"],s=r.getCurrentTheme();return{mode:0,themes:n,themeSelected:s,spotifyClientId:"",spotifyClientSecret:""}},async mounted(){await S()||this.$router.push("/")}},t=n=>(R("data-v-9aa97202"),n=n(),x(),n),V={class:"welcome bouncy centred-column"},Y={key:0,class:"first centred-column"},D=t(()=>e("p",null,"Welcome to",-1)),F=t(()=>e("h1",null,"reAudioPlayer ONE",-1)),L=[D,F],P={key:1,class:"first centred-column"},U=t(()=>e("p",null,"The free audio player with the most extensive catalogue",-1)),W=t(()=>e("h1",null,"ARE YOU READY?",-1)),H=[U,W],M={key:2,class:"first centred-column"},j=t(()=>e("h1",null,"Almost There",-1)),z=t(()=>e("p",null,"After a few configurations you're ready to go",-1)),G=[j,z],J={key:3,class:"permanent centred-column"},X=t(()=>e("h1",null,"Pick a Theme",-1)),Z=t(()=>e("p",null,"You'll be able to change the theme at any point later on",-1)),q=t(()=>e("br",null,null,-1)),K={class:"centred-column appear-delayed"},Q={key:4,class:"permanent centred-column"},$=t(()=>e("h1",null,"Let's integrate Spotify then!",-1)),ee=t(()=>e("p",null,"You'll be able to change the tokens at any point later on",-1)),te=t(()=>e("br",null,null,-1)),se={class:"centred-column appear-delayed"},oe=t(()=>e("p",null,"2) Create An App",-1)),ne=t(()=>e("p",null,"3) Enter any name and any description",-1)),ie=t(()=>e("p",null,[u("4) Edit the settings: set the redirect url to "),e("a",{href:"http://reap.ml/"},"http://reap.ml/")],-1)),le=t(()=>e("p",null,"5) Copy and enter the client id and secret into the corresponding input field",-1)),ce=t(()=>e("br",null,null,-1)),de={class:"wrapTogether"},re=t(()=>e("p",null,"Client ID: ",-1)),ae={class:"wrapTogether"},he=t(()=>e("p",null,"Client Secret: ",-1)),_e={class:"wrapTogether spaceBetween"},pe={key:5,class:"centred-column"},ue=t(()=>e("h1",null,"ALRIGHT!",-1)),me=t(()=>e("p",null,"You're ready to go",-1)),fe=[ue,me];function ye(n,s,m,f,o,l){const a=T("theme-small");return i(),c("div",V,[o.mode==0?(i(),c("div",Y,L)):o.mode==1?(i(),c("div",P,H)):o.mode==2?(i(),c("div",M,G)):o.mode==3?(i(),c("div",J,[X,Z,q,e("div",K,[(i(),c("div",{class:"themes",key:o.themeSelected},[(i(!0),c(b,null,k(o.themes,(d,y)=>(i(),I(a,{onSelected:l.updateThemes,key:y,name:d},null,8,["onSelected","name"]))),128))]))])])):o.mode==4?(i(),c("div",Q,[$,ee,te,e("div",se,[e("p",null,[u("1) Head over to the "),e("a",{onClick:s[0]||(s[0]=()=>l.redirect("https://developer.spotify.com/dashboard/applications"))},"spotify developer dashboard")]),oe,ne,ie,le,ce,e("div",de,[re,h(e("input",{type:"text","onUpdate:modelValue":s[1]||(s[1]=d=>o.spotifyClientId=d)},null,512),[[_,o.spotifyClientId]])]),e("div",ae,[he,h(e("input",{type:"text","onUpdate:modelValue":s[2]||(s[2]=d=>o.spotifyClientSecret=d)},null,512),[[_,o.spotifyClientSecret]])]),e("div",_e,[e("button",{onClick:s[3]||(s[3]=(...d)=>l.finalRedirect&&l.finalRedirect(...d))},"continue"),e("button",{onClick:s[4]||(s[4]=(...d)=>l.finalRedirectRestricted&&l.finalRedirectRestricted(...d)),class:"restrictedMode"},"enter restricted mode")])])])):o.mode==5?(i(),c("div",pe,fe)):w("",!0)])}const Ce=p(O,[["render",ye],["__scopeId","data-v-9aa97202"]]);export{Ce as default}; diff --git a/src/ui/dist/assets/Welcome-d433ea4e.js.gz b/src/ui/dist/assets/Welcome-d433ea4e.js.gz new file mode 100644 index 000000000..cd05c51d4 Binary files /dev/null and b/src/ui/dist/assets/Welcome-d433ea4e.js.gz differ diff --git a/src/ui/dist/assets/gistClient-63d02b96.js.gz b/src/ui/dist/assets/gistClient-63d02b96.js.gz deleted file mode 100644 index d8ca56d50..000000000 Binary files a/src/ui/dist/assets/gistClient-63d02b96.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/gistClient-63d02b96.js b/src/ui/dist/assets/gistClient-be4ed4e2.js similarity index 97% rename from src/ui/dist/assets/gistClient-63d02b96.js rename to src/ui/dist/assets/gistClient-be4ed4e2.js index e650ff378..46c408545 100644 --- a/src/ui/dist/assets/gistClient-63d02b96.js +++ b/src/ui/dist/assets/gistClient-be4ed4e2.js @@ -1,4 +1,4 @@ -import{cm as w,cr as d}from"./index-1d15d58c.js";const r=async(t=null)=>{const a=await w(),n=t??a.github.githubPat;if(!n)throw new Error("No GitHub PAT found");return{Authorization:"Bearer "+n}},y=(t,a="reAudioPlayer One",n="Fully managed with reAudioPlayer One",e=!1)=>{const s={public:e,description:n,files:{[`_${a}.md`]:{content:`# reAudioPlayer One +import{cm as w,cr as d}from"./index-286d536d.js";const r=async(t=null)=>{const a=await w(),n=t??a.github.githubPat;if(!n)throw new Error("No GitHub PAT found");return{Authorization:"Bearer "+n}},y=(t,a="reAudioPlayer One",n="Fully managed with reAudioPlayer One",e=!1)=>{const s={public:e,description:n,files:{[`_${a}.md`]:{content:`# reAudioPlayer One This gist was created with reAudioPlayer One diff --git a/src/ui/dist/assets/gistClient-be4ed4e2.js.gz b/src/ui/dist/assets/gistClient-be4ed4e2.js.gz new file mode 100644 index 000000000..6f4223e98 Binary files /dev/null and b/src/ui/dist/assets/gistClient-be4ed4e2.js.gz differ diff --git a/src/ui/dist/assets/index-1d15d58c.js.gz b/src/ui/dist/assets/index-1d15d58c.js.gz deleted file mode 100644 index 5ffa45c3c..000000000 Binary files a/src/ui/dist/assets/index-1d15d58c.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-501f346a.js b/src/ui/dist/assets/index-271680f6.js similarity index 98% rename from src/ui/dist/assets/index-501f346a.js rename to src/ui/dist/assets/index-271680f6.js index dd4b40658..eeabd957e 100644 --- a/src/ui/dist/assets/index-501f346a.js +++ b/src/ui/dist/assets/index-271680f6.js @@ -1 +1 @@ -import{i as S,o as s,c as _,t as g,aZ as D,_ as V,q as m,E as X,D as N,f as k,d as $,a as t,b as T,F as x,m as B,n as E,c8 as Z,g as v,I,j as C,w as U,h as Q,M as q,u as b,C as L,an as ee,cm as M,cn as F,co as R,cp as J,cq as Y,G as j,bX as te,bL as ae,V as le,cr as se,B as oe,s as ne,bj as ie}from"./index-1d15d58c.js";import{_ as ce}from"./Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js";import{T as W}from"./TrackCompact-63a74737.js";import{G as re}from"./gistClient-63d02b96.js";const ue=S({__name:"TabButton",props:{name:{type:String,required:!0},active:{type:Boolean,default:!1}},setup(l){return(e,o)=>(s(),_("button",{class:D(["btn",{active:l.active}])},g(l.name),3))}});const de=V(ue,[["__scopeId","data-v-3f038910"]]),pe="0.11.11",z=l=>(B("data-v-0f054692"),l=l(),E(),l),_e={class:"flex flex-col"},ve={key:0,class:"text-sm flex items-center gap-2 latest"},me=z(()=>t("span",{class:"material-symbols-rounded"},"check",-1)),he={key:1,class:"text-sm flex items-center gap-2 update"},ye=z(()=>t("span",{class:"material-symbols-rounded"},"update",-1)),H="0.11.1",fe=S({__name:"About",setup(l){const e=m(""),o=m("");X(async()=>{const d=await(await fetch("https://api.github.com/repos/reAudioPlayer/one/releases/latest")).json();e.value=d.tag_name,o.value=d.body});const p=N(()=>e.value===H),n=N(()=>pe.split(".").pop()),u=m(null);return(a,d)=>(s(),_("div",_e,[o.value?(s(),k(ce,{key:0,content:o.value,title:"What's new in "+e.value,ref_key:"changelog",ref:u,onClose:d[0]||(d[0]=()=>o.value="")},null,8,["content","title"])):$("",!0),t("span",null,[t("strong",null,"v"+g(H)),T(" (Build "+g(n.value)+") ",1)]),e.value?(s(),_(x,{key:1},[p.value?(s(),_("span",ve,[me,T(" You're on the latest version "),t("a",{class:"cursor-pointer",onClick:d[1]||(d[1]=y=>{var c;return(c=u.value)==null?void 0:c.show()})}," What's changed? ")])):(s(),_("span",he,[ye,T(" Update available: "+g(e.value)+" ",1),t("a",{class:"cursor-pointer",onClick:d[2]||(d[2]=y=>{var c;return(c=u.value)==null?void 0:c.show()})}," What's changed? ")]))],64)):$("",!0)]))}});const be=V(fe,[["__scopeId","data-v-0f054692"]]);const O=l=>(B("data-v-16d50c59"),l=l(),E(),l),ge={class:"wrap"},we=O(()=>t("h3",null,"Browser Data",-1)),ke=O(()=>t("h3",null,"Import / Export",-1)),xe={class:"flex gap-4 mb-4"},$e={class:"covers mb-2"},Se=O(()=>t("h3",null,"Local covers",-1)),Ve={key:0,class:"items gap-4"},Ce={class:"flex justify-between w-full mb-4"},Ie={class:"overflow-hidden"},Pe=["onClick"],Ae={key:1,class:"text-muted italic"},Te={class:"tracks"},De=O(()=>t("h3",null,"Local tracks",-1)),Ne={key:0,class:"items gap-4"},Be={class:"flex justify-between w-full mb-4"},Ee={class:"overflow-hidden"},Oe=["onClick"],Ge={class:"flex justify-center w-full mb-4"},Ue=["src"],Le={key:1,class:"text-muted italic"},je={__name:"LocalData",setup(l){const e=m([]),o=m([]),p=Z(),n=()=>{fetch("/api/config/images").then(c=>c.json()).then(c=>e.value=c),fetch("/api/config/tracks").then(c=>c.json()).then(c=>o.value=c)},u=async c=>{await fetch("/api/config/images",{method:"DELETE",body:JSON.stringify({name:c})}),n()},a=async c=>{fetch("/api/config/tracks",{method:"DELETE",body:JSON.stringify({name:c})}),n()},d=c=>{p.loadPlaylist("track",c)};n();const y=()=>{localStorage.clear(),sessionStorage.clear(),window.location.reload()};return(c,f)=>(s(),_("div",ge,[we,v(I,{class:"mb-4",icon:"delete",label:"Clean browser settings",onClick:y}),ke,t("div",xe,[v(I,{icon:"backup",label:"Back up / Export",onClick:f[0]||(f[0]=h=>c.$router.push("/export"))}),v(I,{icon:"cloud_download",label:"Import",onClick:f[1]||(f[1]=h=>c.$router.push("/import"))})]),t("div",$e,[Se,e.value.length?(s(),_("div",Ve,[(s(!0),_(x,null,C(e.value,(h,A)=>(s(),k(L,{key:A,class:"cover-wrapper p-4"},{default:U(()=>[v(Q,{src:h.name,class:"rounded-xl mb-4"},null,8,["src"]),t("div",Ce,[t("p",Ie,[v(q,{text:h.name},null,8,["text"])]),t("span",{class:"ml-2 material-symbols-rounded cursor-pointer",onClick:i=>u(h.name)},"delete",8,Pe)]),(s(!0),_(x,null,C(h.songs,(i,r)=>(s(),k(b(W),{id:i.id,key:r,artist:i.artist,cover:i.cover,title:i.title,onPlay:w=>d(i.id)},null,8,["id","artist","cover","title","onPlay"]))),128))]),_:2},1024))),128))])):(s(),_("span",Ae,"No local covers"))]),t("div",Te,[De,o.value.length?(s(),_("div",Ne,[(s(!0),_(x,null,C(o.value,(h,A)=>(s(),k(L,{key:A,class:"track p-4"},{default:U(()=>[t("div",Be,[t("p",Ee,[v(q,{text:h.name},null,8,["text"])]),t("span",{class:"material-symbols-rounded cursor-pointer",onClick:i=>a(h.name)},"delete",8,Oe)]),t("div",Ge,[t("audio",{src:"/api/"+h.name.replace("local:","/src/tracks/"),controls:""},null,8,Ue)]),(s(!0),_(x,null,C(h.songs,(i,r)=>(s(),k(b(W),{id:i.id,key:r,artist:i.artist,cover:i.cover,title:i.title,onPlay:w=>d(i.id)},null,8,["id","artist","cover","title","onPlay"]))),128))]),_:2},1024))),128))])):(s(),_("span",Le,"No local tracks"))])]))}},qe=V(je,[["__scopeId","data-v-16d50c59"]]),Je={class:"markdown-body"},We=ee("

By default, reAudioPlayer does not share any data with third parties.

Optionally, when entering your Spotify credentials, reAudioPlayer can access your Spotify data to offer the following features:

  • Display your Spotify playlists and offer importing them
  • Search songs on Spotify without leaving reAudioPlayer and adding them to your playlists
  • Display song information (BPM, key, etc.) from Spotify
  • Search artists on Spotify without leaving reAudioPlayer to display their information and follow them on Spotify
  • Display artist information (genres, popularity, etc.) from Spotify
  • Provide the release radar

Optionally, when entering your GitHub credentials, reAudioPlayer can access your GitHub data to offer the following features:

  • Storing your library in a GitHub Gist
  • Importing your library from a GitHub Gist

All data stays between your device and Spotify or Github, respectively.

Depending on the cache policy, reAudioPlayer stores songs locally to improve performance and reduce network traffic. The browser additionally stores the following user preferences in local storage:

  • Theme
  • Selected audio player
  • Volume
  • Repeat mode
  • Picture in Picture mode
  • pre-rendered placeholder images

You can manage your local data, that you manually uploaded to reAudioPlayer, in section “Local Data”. None of this data left or will leave your device.

",9),He=[We],Me={__name:"Privacy",setup(l,{expose:e}){return e({frontmatter:{}}),(p,n)=>(s(),_("div",Je,He))}},Fe={class:"material-symbols-rounded ms-wght-300 cursor-pointer"},Re={class:"checkbox__label"},Ye={class:"checkbox__label__title"},ze={class:"checkbox__label__sublabel italic"},Ke=S({__name:"Checkbox",props:{modelValue:{type:Boolean,required:!0},label:{type:String,required:!1,default:""},disabled:{type:Boolean,required:!1,default:!1},sublabel:{type:String,required:!1,default:""}},emits:["update:modelValue"],setup(l,{emit:e}){const o=l,p=e,n=a=>p("update:modelValue",a),u=()=>{o.disabled||n(!o.modelValue)};return(a,d)=>(s(),_("div",{class:D([{"opacity-50":l.disabled},"checkbox"]),onClick:u},[t("span",Fe,g(l.modelValue?"check_box":"check_box_outline_blank"),1),t("div",Re,[t("div",Ye,g(l.label),1),t("div",ze,g(l.sublabel),1)])],2))}});const P=V(Ke,[["__scopeId","data-v-982c4110"]]),Xe={class:"relative"},Ze=S({__name:"Cache",setup(l){const e=m(null),o=m("");M().then(u=>{e.value=u,o.value=JSON.stringify(u)});const p=N(()=>e.value?JSON.stringify(e.value)!==o.value:!1),n=async()=>{p.value&&(await R(e.value),o.value=JSON.stringify(e.value))};return(u,a)=>(s(),_("div",Xe,[e.value?(s(),k(P,{key:0,modelValue:e.value.cache.preserve,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value.cache.preserve=d),label:"Preserve cache"},null,8,["modelValue"])):$("",!0),e.value?(s(),k(P,{key:1,modelValue:e.value.cache.preserveInSession,"onUpdate:modelValue":a[1]||(a[1]=d=>e.value.cache.preserveInSession=d),disabled:e.value.cache.preserve,label:"Preserve cache in session"},null,8,["modelValue","disabled"])):$("",!0),e.value?(s(),k(F,{key:2,modelValue:e.value.cache.strategy,"onUpdate:modelValue":a[2]||(a[2]=d=>e.value.cache.strategy=d),options:[{value:"all",label:"All Songs"},{value:"playlist",label:"Current Playlist"},{value:"currentNext",label:"Current + Next Song "},{value:"current",label:"Current Song Only"}],icon:"cached"},null,8,["modelValue"])):$("",!0),v(I,{disabled:!e.value||!p.value,class:"ml-auto mt-4",icon:"save",label:"Save",onClick:n},null,8,["disabled"])]))}});const Qe={name:"Theme",props:{name:String},methods:{selected(){return J.getCurrentTheme()==this.name},select(){J.setTheme(this.name),this.$emit("selected")}}},et=["src"];function tt(l,e,o,p,n,u){return s(),_("div",{onClick:e[0]||(e[0]=(...a)=>u.select&&u.select(...a)),class:"wrapper"},[t("p",{class:D(["mb-4",{selected:u.selected()}])},g(o.name),3),t("img",{src:`/assets/img/themes/${this.name}.svg`,class:D({selected:u.selected()})},null,10,et)])}const at=V(Qe,[["render",tt],["__scopeId","data-v-74855c2d"]]),K=l=>(B("data-v-5cc6477c"),l=l(),E(),l),lt=K(()=>t("h3",{class:"mt-[10px]"},"Theme",-1)),st={class:"themes"},ot=K(()=>t("h3",{class:"mt-[10px]"},"Sidebar",-1)),nt=S({__name:"Appearance",setup(l){const e=Y(),o=["dynamic","light","dark"];return(p,n)=>(s(),_(x,null,[lt,v(P,{modelValue:b(e).ambient,"onUpdate:modelValue":n[0]||(n[0]=u=>b(e).ambient=u),disabled:!b(e).themeSupportsAmbient,label:"Ambient"},null,8,["modelValue","disabled"]),t("div",st,[(s(),_(x,null,C(o,(u,a)=>v(at,{key:a,name:u},null,8,["name"])),64))]),ot,v(P,{modelValue:b(e).sidebar.news,"onUpdate:modelValue":n[1]||(n[1]=u=>b(e).sidebar.news=u),label:"Show 'News' Tab"},null,8,["modelValue"]),v(P,{modelValue:b(e).sidebar.sports,"onUpdate:modelValue":n[2]||(n[2]=u=>b(e).sidebar.sports=u),label:"Show 'Sports' Tab"},null,8,["modelValue"])],64))}});const it=V(nt,[["__scopeId","data-v-5cc6477c"]]),ct={class:"relative"},rt=S({__name:"Player",setup(l){const e=Y();return(o,p)=>(s(),_("div",ct,[v(P,{modelValue:b(e).player.pictureInPicture,"onUpdate:modelValue":p[0]||(p[0]=n=>b(e).player.pictureInPicture=n),label:"Support Picture in Picture",sublabel:"this will slightly reduce performance"},null,8,["modelValue"]),v(F,{modelValue:b(e).player.type,"onUpdate:modelValue":p[1]||(p[1]=n=>b(e).player.type=n),options:[{value:"web",label:"Native player",icon:"horizontal_rule"},{value:"web/wave",label:"Wave player",icon:"graphic_eq"}],icon:"music_note"},null,8,["modelValue"])]))}});const ut={key:0,class:"material-symbols-rounded"},dt=["disabled","placeholder","type"],pt={__name:"PasswordInputWithIcon",props:{icon:String,placeholder:String,modelValue:String,disabled:Boolean},emits:["update:modelValue","change","submit"],setup(l,{emit:e}){const o=l,p=m(o.modelValue);j(()=>o.modelValue,y=>{p.value=y});const n=e,u=()=>{n("update:modelValue",p.value),n("change",p.value)},a=y=>{y.key==="Enter"&&n("submit",p)},d=m(!1);return(y,c)=>(s(),_("div",{class:D([{disabled:l.disabled},"text-input-with-icon rounded-3xl flex items-center px-4"])},[l.icon?(s(),_("span",ut,g(l.icon),1)):$("",!0),te(t("input",{"onUpdate:modelValue":c[0]||(c[0]=f=>p.value=f),disabled:l.disabled,placeholder:l.placeholder,type:d.value?"text":"password",onInput:u,onKeyup:a},null,40,dt),[[ae,p.value]]),t("span",{class:"material-symbols-rounded cursor-pointer",onClick:c[1]||(c[1]=f=>d.value=!d.value)},g(d.value?"visibility":"visibility_off"),1)],2))}},G=V(pt,[["__scopeId","data-v-5e026540"]]),_t=t("summary",{class:"cursor-pointer"},"How to",-1),vt=t("p",null,[T(" 1) Head over to the "),t("a",{href:"https://developer.spotify.com/dashboard/applications",target:"_blank"},"spotify developer dashboard")],-1),mt=t("p",null,"2) Create An App",-1),ht=t("p",null,"3) Enter any name and any description",-1),yt=t("p",null," 5) Copy and enter the client id and secret into the corresponding input field ",-1),ft=t("hr",{class:"my-4"},null,-1),bt=t("h5",null,"Client ID:",-1),gt=t("h5",{class:"mt-4"},"Client Secret:",-1),wt=t("h3",{class:"mt-[10px]"},"Github",-1),kt=t("h5",{class:"mt-4"},"PAT:",-1),xt=t("h5",{class:"mt-4"},"Gist ID:",-1),$t={class:"flex gap-4 justify-end mt-4"},St=S({__name:"Integration",setup(l){const e=m(!1),o=m({id:"",secret:""}),p=N(()=>e.value?Object.values(o.value).some(i=>i==="")?!1:o.value.id!==n.value.id||o.value.secret!==n.value.secret||e.value!==n.value.enabled:n.value.enabled),n=m({id:"",secret:"",enabled:!1});fetch("/api/config/spotify").then(async i=>{let r={id:"",secret:"",enabled:!1};if(i.status==200)r=await i.json();else if([204,401].includes(i.status))r={id:"restricted",secret:"restricted",enabled:!1};else throw new Error("Failed to fetch spotify config");n.value=r,n.value.enabled=![r.id,r.secret].includes("restricted"),e.value=n.value.enabled,o.value.id=r.id.replace("restricted",""),o.value.secret=r.secret.replace("restricted","")});const u=async()=>{if(!p.value)return;let i=o.value.id,r=o.value.secret;e.value||(r=i="restricted"),(await fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:i,secret:r})})).ok&&(n.value={id:i,secret:r,enabled:e.value})},a=m(null),d=m("");M().then(i=>{a.value=i,d.value=JSON.stringify(i)});const y=N(()=>a.value?JSON.stringify(a.value)!==d.value:!1),c=async()=>{y.value&&(await R(a.value),d.value=JSON.stringify(a.value))},h=`http://${window.location.host}/api/spotify/callback`,A=async()=>{var i,r;(r=(i=a.value)==null?void 0:i.github)!=null&&r.githubPat&&(a.value.github.gistId||(a.value.github.gistId=await re.search(a.value.github.githubPat),a.value.github.gistId||se.addError("Failed to find gist","You can start syncing directly in 'Local Data' (a Gist will be created for you) or enter the gist id manually")))};return j(()=>{var i,r;return(r=(i=a.value)==null?void 0:i.github)==null?void 0:r.githubPat},A),(i,r)=>(s(),_(x,null,[v(P,{modelValue:e.value,"onUpdate:modelValue":r[0]||(r[0]=w=>e.value=w),class:"h3 mb-2",label:"Spotify"},null,8,["modelValue"]),t("details",null,[_t,vt,mt,ht,t("p",null,[T(" 4) Edit the settings: set the redirect url to "),t("a",{href:h},g(h))]),yt]),ft,bt,v(G,{modelValue:o.value.id,"onUpdate:modelValue":r[1]||(r[1]=w=>o.value.id=w),disabled:!e.value,icon:"token"},null,8,["modelValue","disabled"]),gt,v(G,{modelValue:o.value.secret,"onUpdate:modelValue":r[2]||(r[2]=w=>o.value.secret=w),disabled:!e.value,icon:"lock"},null,8,["modelValue","disabled"]),v(I,{disabled:!p.value,class:"ml-auto mt-4",icon:"save",label:"Save",onClick:u},null,8,["disabled"]),wt,kt,a.value?(s(),k(G,{key:0,modelValue:a.value.github.githubPat,"onUpdate:modelValue":r[3]||(r[3]=w=>a.value.github.githubPat=w),icon:"lock"},null,8,["modelValue"])):$("",!0),xt,a.value?(s(),k(le,{key:1,modelValue:a.value.github.gistId,"onUpdate:modelValue":r[4]||(r[4]=w=>a.value.github.gistId=w),icon:"numbers"},null,8,["modelValue"])):$("",!0),t("div",$t,[v(I,{disabled:!a.value||!a.value.github.githubPat||!!a.value.github.gistId,icon:"search",label:"Search",onClick:A},null,8,["disabled"]),v(I,{disabled:!a.value||!y.value,icon:"save",label:"Save",onClick:c},null,8,["disabled"])])],64))}}),Vt=l=>(B("data-v-ae954c76"),l=l(),E(),l),Ct={class:"p-[10px] preferences"},It=Vt(()=>t("h1",{class:"w-full"},"Preferences",-1)),Pt={class:"wrapper"},At={class:"sections flex flex-col"},Tt={class:"section p-2"},Dt={class:"h5 text-sm"},Nt=S({__name:"index",setup(l){const e={About:be,Privacy:Me,"Local Data":qe,Integrations:St,"Cache Policy":Ze,Appearance:it,Player:rt},o=m([{name:"General",items:["About"]},{name:"My Data",items:["Privacy","Local Data","Integrations"]},{name:"Player",items:["Player","Cache Policy"]},{name:"Appearance",items:["Appearance"]}]),p=oe(),n=ne();let u=p.query.tab;const a=m("About");return Object.keys(e).includes(u)&&(a.value=u),j(a,d=>{const y={tab:d};n.replace({query:y})}),(d,y)=>(s(),_("div",Ct,[It,t("div",Pt,[t("div",At,[(s(!0),_(x,null,C(o.value,c=>(s(),_("div",Tt,[t("span",Dt,g(c.name),1),(s(!0),_(x,null,C(c.items,f=>(s(),k(de,{key:f,name:f,active:a.value===f,onClick:h=>a.value=f},null,8,["name","active","onClick"]))),128))]))),256))]),v(L,{class:"content h-max p-4 pt-0"},{default:U(()=>[t("h2",null,g(a.value),1),(s(),k(ie(e[a.value])))]),_:1})])]))}});const Ut=V(Nt,[["__scopeId","data-v-ae954c76"]]);export{Ut as default}; +import{i as S,o as s,c as _,t as g,aZ as D,_ as V,q as m,E as X,D as N,f as k,d as $,a as t,b as T,F as x,m as B,n as E,c8 as Z,g as v,I,j as C,w as U,h as Q,M as q,u as b,C as L,an as ee,cm as M,cn as F,co as R,cp as J,cq as Y,G as j,bX as te,bL as ae,V as le,cr as se,B as oe,s as ne,bj as ie}from"./index-286d536d.js";import{_ as ce}from"./Markdown.vue_vue_type_style_index_0_lang-d9462c8d.js";import{T as W}from"./TrackCompact-667d7442.js";import{G as re}from"./gistClient-be4ed4e2.js";const ue=S({__name:"TabButton",props:{name:{type:String,required:!0},active:{type:Boolean,default:!1}},setup(l){return(e,o)=>(s(),_("button",{class:D(["btn",{active:l.active}])},g(l.name),3))}});const de=V(ue,[["__scopeId","data-v-3f038910"]]),pe="0.11.12",z=l=>(B("data-v-0f054692"),l=l(),E(),l),_e={class:"flex flex-col"},ve={key:0,class:"text-sm flex items-center gap-2 latest"},me=z(()=>t("span",{class:"material-symbols-rounded"},"check",-1)),he={key:1,class:"text-sm flex items-center gap-2 update"},ye=z(()=>t("span",{class:"material-symbols-rounded"},"update",-1)),H="0.11.1",fe=S({__name:"About",setup(l){const e=m(""),o=m("");X(async()=>{const d=await(await fetch("https://api.github.com/repos/reAudioPlayer/one/releases/latest")).json();e.value=d.tag_name,o.value=d.body});const p=N(()=>e.value===H),n=N(()=>pe.split(".").pop()),u=m(null);return(a,d)=>(s(),_("div",_e,[o.value?(s(),k(ce,{key:0,content:o.value,title:"What's new in "+e.value,ref_key:"changelog",ref:u,onClose:d[0]||(d[0]=()=>o.value="")},null,8,["content","title"])):$("",!0),t("span",null,[t("strong",null,"v"+g(H)),T(" (Build "+g(n.value)+") ",1)]),e.value?(s(),_(x,{key:1},[p.value?(s(),_("span",ve,[me,T(" You're on the latest version "),t("a",{class:"cursor-pointer",onClick:d[1]||(d[1]=y=>{var c;return(c=u.value)==null?void 0:c.show()})}," What's changed? ")])):(s(),_("span",he,[ye,T(" Update available: "+g(e.value)+" ",1),t("a",{class:"cursor-pointer",onClick:d[2]||(d[2]=y=>{var c;return(c=u.value)==null?void 0:c.show()})}," What's changed? ")]))],64)):$("",!0)]))}});const be=V(fe,[["__scopeId","data-v-0f054692"]]);const O=l=>(B("data-v-16d50c59"),l=l(),E(),l),ge={class:"wrap"},we=O(()=>t("h3",null,"Browser Data",-1)),ke=O(()=>t("h3",null,"Import / Export",-1)),xe={class:"flex gap-4 mb-4"},$e={class:"covers mb-2"},Se=O(()=>t("h3",null,"Local covers",-1)),Ve={key:0,class:"items gap-4"},Ce={class:"flex justify-between w-full mb-4"},Ie={class:"overflow-hidden"},Pe=["onClick"],Ae={key:1,class:"text-muted italic"},Te={class:"tracks"},De=O(()=>t("h3",null,"Local tracks",-1)),Ne={key:0,class:"items gap-4"},Be={class:"flex justify-between w-full mb-4"},Ee={class:"overflow-hidden"},Oe=["onClick"],Ge={class:"flex justify-center w-full mb-4"},Ue=["src"],Le={key:1,class:"text-muted italic"},je={__name:"LocalData",setup(l){const e=m([]),o=m([]),p=Z(),n=()=>{fetch("/api/config/images").then(c=>c.json()).then(c=>e.value=c),fetch("/api/config/tracks").then(c=>c.json()).then(c=>o.value=c)},u=async c=>{await fetch("/api/config/images",{method:"DELETE",body:JSON.stringify({name:c})}),n()},a=async c=>{fetch("/api/config/tracks",{method:"DELETE",body:JSON.stringify({name:c})}),n()},d=c=>{p.loadPlaylist("track",c)};n();const y=()=>{localStorage.clear(),sessionStorage.clear(),window.location.reload()};return(c,f)=>(s(),_("div",ge,[we,v(I,{class:"mb-4",icon:"delete",label:"Clean browser settings",onClick:y}),ke,t("div",xe,[v(I,{icon:"backup",label:"Back up / Export",onClick:f[0]||(f[0]=h=>c.$router.push("/export"))}),v(I,{icon:"cloud_download",label:"Import",onClick:f[1]||(f[1]=h=>c.$router.push("/import"))})]),t("div",$e,[Se,e.value.length?(s(),_("div",Ve,[(s(!0),_(x,null,C(e.value,(h,A)=>(s(),k(L,{key:A,class:"cover-wrapper p-4"},{default:U(()=>[v(Q,{src:h.name,class:"rounded-xl mb-4"},null,8,["src"]),t("div",Ce,[t("p",Ie,[v(q,{text:h.name},null,8,["text"])]),t("span",{class:"ml-2 material-symbols-rounded cursor-pointer",onClick:i=>u(h.name)},"delete",8,Pe)]),(s(!0),_(x,null,C(h.songs,(i,r)=>(s(),k(b(W),{id:i.id,key:r,artist:i.artist,cover:i.cover,title:i.title,onPlay:w=>d(i.id)},null,8,["id","artist","cover","title","onPlay"]))),128))]),_:2},1024))),128))])):(s(),_("span",Ae,"No local covers"))]),t("div",Te,[De,o.value.length?(s(),_("div",Ne,[(s(!0),_(x,null,C(o.value,(h,A)=>(s(),k(L,{key:A,class:"track p-4"},{default:U(()=>[t("div",Be,[t("p",Ee,[v(q,{text:h.name},null,8,["text"])]),t("span",{class:"material-symbols-rounded cursor-pointer",onClick:i=>a(h.name)},"delete",8,Oe)]),t("div",Ge,[t("audio",{src:"/api/"+h.name.replace("local:","/src/tracks/"),controls:""},null,8,Ue)]),(s(!0),_(x,null,C(h.songs,(i,r)=>(s(),k(b(W),{id:i.id,key:r,artist:i.artist,cover:i.cover,title:i.title,onPlay:w=>d(i.id)},null,8,["id","artist","cover","title","onPlay"]))),128))]),_:2},1024))),128))])):(s(),_("span",Le,"No local tracks"))])]))}},qe=V(je,[["__scopeId","data-v-16d50c59"]]),Je={class:"markdown-body"},We=ee("

By default, reAudioPlayer does not share any data with third parties.

Optionally, when entering your Spotify credentials, reAudioPlayer can access your Spotify data to offer the following features:

  • Display your Spotify playlists and offer importing them
  • Search songs on Spotify without leaving reAudioPlayer and adding them to your playlists
  • Display song information (BPM, key, etc.) from Spotify
  • Search artists on Spotify without leaving reAudioPlayer to display their information and follow them on Spotify
  • Display artist information (genres, popularity, etc.) from Spotify
  • Provide the release radar

Optionally, when entering your GitHub credentials, reAudioPlayer can access your GitHub data to offer the following features:

  • Storing your library in a GitHub Gist
  • Importing your library from a GitHub Gist

All data stays between your device and Spotify or Github, respectively.

Depending on the cache policy, reAudioPlayer stores songs locally to improve performance and reduce network traffic. The browser additionally stores the following user preferences in local storage:

  • Theme
  • Selected audio player
  • Volume
  • Repeat mode
  • Picture in Picture mode
  • pre-rendered placeholder images

You can manage your local data, that you manually uploaded to reAudioPlayer, in section “Local Data”. None of this data left or will leave your device.

",9),He=[We],Me={__name:"Privacy",setup(l,{expose:e}){return e({frontmatter:{}}),(p,n)=>(s(),_("div",Je,He))}},Fe={class:"material-symbols-rounded ms-wght-300 cursor-pointer"},Re={class:"checkbox__label"},Ye={class:"checkbox__label__title"},ze={class:"checkbox__label__sublabel italic"},Ke=S({__name:"Checkbox",props:{modelValue:{type:Boolean,required:!0},label:{type:String,required:!1,default:""},disabled:{type:Boolean,required:!1,default:!1},sublabel:{type:String,required:!1,default:""}},emits:["update:modelValue"],setup(l,{emit:e}){const o=l,p=e,n=a=>p("update:modelValue",a),u=()=>{o.disabled||n(!o.modelValue)};return(a,d)=>(s(),_("div",{class:D([{"opacity-50":l.disabled},"checkbox"]),onClick:u},[t("span",Fe,g(l.modelValue?"check_box":"check_box_outline_blank"),1),t("div",Re,[t("div",Ye,g(l.label),1),t("div",ze,g(l.sublabel),1)])],2))}});const P=V(Ke,[["__scopeId","data-v-982c4110"]]),Xe={class:"relative"},Ze=S({__name:"Cache",setup(l){const e=m(null),o=m("");M().then(u=>{e.value=u,o.value=JSON.stringify(u)});const p=N(()=>e.value?JSON.stringify(e.value)!==o.value:!1),n=async()=>{p.value&&(await R(e.value),o.value=JSON.stringify(e.value))};return(u,a)=>(s(),_("div",Xe,[e.value?(s(),k(P,{key:0,modelValue:e.value.cache.preserve,"onUpdate:modelValue":a[0]||(a[0]=d=>e.value.cache.preserve=d),label:"Preserve cache"},null,8,["modelValue"])):$("",!0),e.value?(s(),k(P,{key:1,modelValue:e.value.cache.preserveInSession,"onUpdate:modelValue":a[1]||(a[1]=d=>e.value.cache.preserveInSession=d),disabled:e.value.cache.preserve,label:"Preserve cache in session"},null,8,["modelValue","disabled"])):$("",!0),e.value?(s(),k(F,{key:2,modelValue:e.value.cache.strategy,"onUpdate:modelValue":a[2]||(a[2]=d=>e.value.cache.strategy=d),options:[{value:"all",label:"All Songs"},{value:"playlist",label:"Current Playlist"},{value:"currentNext",label:"Current + Next Song "},{value:"current",label:"Current Song Only"}],icon:"cached"},null,8,["modelValue"])):$("",!0),v(I,{disabled:!e.value||!p.value,class:"ml-auto mt-4",icon:"save",label:"Save",onClick:n},null,8,["disabled"])]))}});const Qe={name:"Theme",props:{name:String},methods:{selected(){return J.getCurrentTheme()==this.name},select(){J.setTheme(this.name),this.$emit("selected")}}},et=["src"];function tt(l,e,o,p,n,u){return s(),_("div",{onClick:e[0]||(e[0]=(...a)=>u.select&&u.select(...a)),class:"wrapper"},[t("p",{class:D(["mb-4",{selected:u.selected()}])},g(o.name),3),t("img",{src:`/assets/img/themes/${this.name}.svg`,class:D({selected:u.selected()})},null,10,et)])}const at=V(Qe,[["render",tt],["__scopeId","data-v-74855c2d"]]),K=l=>(B("data-v-5cc6477c"),l=l(),E(),l),lt=K(()=>t("h3",{class:"mt-[10px]"},"Theme",-1)),st={class:"themes"},ot=K(()=>t("h3",{class:"mt-[10px]"},"Sidebar",-1)),nt=S({__name:"Appearance",setup(l){const e=Y(),o=["dynamic","light","dark"];return(p,n)=>(s(),_(x,null,[lt,v(P,{modelValue:b(e).ambient,"onUpdate:modelValue":n[0]||(n[0]=u=>b(e).ambient=u),disabled:!b(e).themeSupportsAmbient,label:"Ambient"},null,8,["modelValue","disabled"]),t("div",st,[(s(),_(x,null,C(o,(u,a)=>v(at,{key:a,name:u},null,8,["name"])),64))]),ot,v(P,{modelValue:b(e).sidebar.news,"onUpdate:modelValue":n[1]||(n[1]=u=>b(e).sidebar.news=u),label:"Show 'News' Tab"},null,8,["modelValue"]),v(P,{modelValue:b(e).sidebar.sports,"onUpdate:modelValue":n[2]||(n[2]=u=>b(e).sidebar.sports=u),label:"Show 'Sports' Tab"},null,8,["modelValue"])],64))}});const it=V(nt,[["__scopeId","data-v-5cc6477c"]]),ct={class:"relative"},rt=S({__name:"Player",setup(l){const e=Y();return(o,p)=>(s(),_("div",ct,[v(P,{modelValue:b(e).player.pictureInPicture,"onUpdate:modelValue":p[0]||(p[0]=n=>b(e).player.pictureInPicture=n),label:"Support Picture in Picture",sublabel:"this will slightly reduce performance"},null,8,["modelValue"]),v(F,{modelValue:b(e).player.type,"onUpdate:modelValue":p[1]||(p[1]=n=>b(e).player.type=n),options:[{value:"web",label:"Native player",icon:"horizontal_rule"},{value:"web/wave",label:"Wave player",icon:"graphic_eq"}],icon:"music_note"},null,8,["modelValue"])]))}});const ut={key:0,class:"material-symbols-rounded"},dt=["disabled","placeholder","type"],pt={__name:"PasswordInputWithIcon",props:{icon:String,placeholder:String,modelValue:String,disabled:Boolean},emits:["update:modelValue","change","submit"],setup(l,{emit:e}){const o=l,p=m(o.modelValue);j(()=>o.modelValue,y=>{p.value=y});const n=e,u=()=>{n("update:modelValue",p.value),n("change",p.value)},a=y=>{y.key==="Enter"&&n("submit",p)},d=m(!1);return(y,c)=>(s(),_("div",{class:D([{disabled:l.disabled},"text-input-with-icon rounded-3xl flex items-center px-4"])},[l.icon?(s(),_("span",ut,g(l.icon),1)):$("",!0),te(t("input",{"onUpdate:modelValue":c[0]||(c[0]=f=>p.value=f),disabled:l.disabled,placeholder:l.placeholder,type:d.value?"text":"password",onInput:u,onKeyup:a},null,40,dt),[[ae,p.value]]),t("span",{class:"material-symbols-rounded cursor-pointer",onClick:c[1]||(c[1]=f=>d.value=!d.value)},g(d.value?"visibility":"visibility_off"),1)],2))}},G=V(pt,[["__scopeId","data-v-5e026540"]]),_t=t("summary",{class:"cursor-pointer"},"How to",-1),vt=t("p",null,[T(" 1) Head over to the "),t("a",{href:"https://developer.spotify.com/dashboard/applications",target:"_blank"},"spotify developer dashboard")],-1),mt=t("p",null,"2) Create An App",-1),ht=t("p",null,"3) Enter any name and any description",-1),yt=t("p",null," 5) Copy and enter the client id and secret into the corresponding input field ",-1),ft=t("hr",{class:"my-4"},null,-1),bt=t("h5",null,"Client ID:",-1),gt=t("h5",{class:"mt-4"},"Client Secret:",-1),wt=t("h3",{class:"mt-[10px]"},"Github",-1),kt=t("h5",{class:"mt-4"},"PAT:",-1),xt=t("h5",{class:"mt-4"},"Gist ID:",-1),$t={class:"flex gap-4 justify-end mt-4"},St=S({__name:"Integration",setup(l){const e=m(!1),o=m({id:"",secret:""}),p=N(()=>e.value?Object.values(o.value).some(i=>i==="")?!1:o.value.id!==n.value.id||o.value.secret!==n.value.secret||e.value!==n.value.enabled:n.value.enabled),n=m({id:"",secret:"",enabled:!1});fetch("/api/config/spotify").then(async i=>{let r={id:"",secret:"",enabled:!1};if(i.status==200)r=await i.json();else if([204,401].includes(i.status))r={id:"restricted",secret:"restricted",enabled:!1};else throw new Error("Failed to fetch spotify config");n.value=r,n.value.enabled=![r.id,r.secret].includes("restricted"),e.value=n.value.enabled,o.value.id=r.id.replace("restricted",""),o.value.secret=r.secret.replace("restricted","")});const u=async()=>{if(!p.value)return;let i=o.value.id,r=o.value.secret;e.value||(r=i="restricted"),(await fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:i,secret:r})})).ok&&(n.value={id:i,secret:r,enabled:e.value})},a=m(null),d=m("");M().then(i=>{a.value=i,d.value=JSON.stringify(i)});const y=N(()=>a.value?JSON.stringify(a.value)!==d.value:!1),c=async()=>{y.value&&(await R(a.value),d.value=JSON.stringify(a.value))},h=`http://${window.location.host}/api/spotify/callback`,A=async()=>{var i,r;(r=(i=a.value)==null?void 0:i.github)!=null&&r.githubPat&&(a.value.github.gistId||(a.value.github.gistId=await re.search(a.value.github.githubPat),a.value.github.gistId||se.addError("Failed to find gist","You can start syncing directly in 'Local Data' (a Gist will be created for you) or enter the gist id manually")))};return j(()=>{var i,r;return(r=(i=a.value)==null?void 0:i.github)==null?void 0:r.githubPat},A),(i,r)=>(s(),_(x,null,[v(P,{modelValue:e.value,"onUpdate:modelValue":r[0]||(r[0]=w=>e.value=w),class:"h3 mb-2",label:"Spotify"},null,8,["modelValue"]),t("details",null,[_t,vt,mt,ht,t("p",null,[T(" 4) Edit the settings: set the redirect url to "),t("a",{href:h},g(h))]),yt]),ft,bt,v(G,{modelValue:o.value.id,"onUpdate:modelValue":r[1]||(r[1]=w=>o.value.id=w),disabled:!e.value,icon:"token"},null,8,["modelValue","disabled"]),gt,v(G,{modelValue:o.value.secret,"onUpdate:modelValue":r[2]||(r[2]=w=>o.value.secret=w),disabled:!e.value,icon:"lock"},null,8,["modelValue","disabled"]),v(I,{disabled:!p.value,class:"ml-auto mt-4",icon:"save",label:"Save",onClick:u},null,8,["disabled"]),wt,kt,a.value?(s(),k(G,{key:0,modelValue:a.value.github.githubPat,"onUpdate:modelValue":r[3]||(r[3]=w=>a.value.github.githubPat=w),icon:"lock"},null,8,["modelValue"])):$("",!0),xt,a.value?(s(),k(le,{key:1,modelValue:a.value.github.gistId,"onUpdate:modelValue":r[4]||(r[4]=w=>a.value.github.gistId=w),icon:"numbers"},null,8,["modelValue"])):$("",!0),t("div",$t,[v(I,{disabled:!a.value||!a.value.github.githubPat||!!a.value.github.gistId,icon:"search",label:"Search",onClick:A},null,8,["disabled"]),v(I,{disabled:!a.value||!y.value,icon:"save",label:"Save",onClick:c},null,8,["disabled"])])],64))}}),Vt=l=>(B("data-v-ae954c76"),l=l(),E(),l),Ct={class:"p-[10px] preferences"},It=Vt(()=>t("h1",{class:"w-full"},"Preferences",-1)),Pt={class:"wrapper"},At={class:"sections flex flex-col"},Tt={class:"section p-2"},Dt={class:"h5 text-sm"},Nt=S({__name:"index",setup(l){const e={About:be,Privacy:Me,"Local Data":qe,Integrations:St,"Cache Policy":Ze,Appearance:it,Player:rt},o=m([{name:"General",items:["About"]},{name:"My Data",items:["Privacy","Local Data","Integrations"]},{name:"Player",items:["Player","Cache Policy"]},{name:"Appearance",items:["Appearance"]}]),p=oe(),n=ne();let u=p.query.tab;const a=m("About");return Object.keys(e).includes(u)&&(a.value=u),j(a,d=>{const y={tab:d};n.replace({query:y})}),(d,y)=>(s(),_("div",Ct,[It,t("div",Pt,[t("div",At,[(s(!0),_(x,null,C(o.value,c=>(s(),_("div",Tt,[t("span",Dt,g(c.name),1),(s(!0),_(x,null,C(c.items,f=>(s(),k(de,{key:f,name:f,active:a.value===f,onClick:h=>a.value=f},null,8,["name","active","onClick"]))),128))]))),256))]),v(L,{class:"content h-max p-4 pt-0"},{default:U(()=>[t("h2",null,g(a.value),1),(s(),k(ie(e[a.value])))]),_:1})])]))}});const Ut=V(Nt,[["__scopeId","data-v-ae954c76"]]);export{Ut as default}; diff --git a/src/ui/dist/assets/index-271680f6.js.gz b/src/ui/dist/assets/index-271680f6.js.gz new file mode 100644 index 000000000..f736d3ff7 Binary files /dev/null and b/src/ui/dist/assets/index-271680f6.js.gz differ diff --git a/src/ui/dist/assets/index-1d15d58c.js b/src/ui/dist/assets/index-286d536d.js similarity index 86% rename from src/ui/dist/assets/index-1d15d58c.js rename to src/ui/dist/assets/index-286d536d.js index ea970a284..c90c88c28 100644 --- a/src/ui/dist/assets/index-1d15d58c.js +++ b/src/ui/dist/assets/index-286d536d.js @@ -1,22 +1,22 @@ -var P2=Object.defineProperty;var C2=(e,t,r)=>t in e?P2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Oi=(e,t,r)=>(C2(e,typeof t!="symbol"?t+"":t,r),r);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function r(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(o){if(o.ep)return;o.ep=!0;const l=r(o);fetch(o.href,l)}})();function Sa(e,t){const r=Object.create(null),s=e.split(",");for(let o=0;o!!r[o.toLowerCase()]:o=>!!r[o]}const ct={},Mi=[],Ln=()=>{},E2=()=>!1,k2=/^on[^a-z]/,Js=e=>k2.test(e),Gu=e=>e.startsWith("onUpdate:"),bt=Object.assign,Yu=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},S2=Object.prototype.hasOwnProperty,nt=(e,t)=>S2.call(e,t),ke=Array.isArray,Li=e=>Gi(e)==="[object Map]",ui=e=>Gi(e)==="[object Set]",ih=e=>Gi(e)==="[object Date]",O2=e=>Gi(e)==="[object RegExp]",Be=e=>typeof e=="function",wt=e=>typeof e=="string",Ws=e=>typeof e=="symbol",ft=e=>e!==null&&typeof e=="object",Ju=e=>(ft(e)||Be(e))&&Be(e.then)&&Be(e.catch),Ip=Object.prototype.toString,Gi=e=>Ip.call(e),R2=e=>Gi(e).slice(8,-1),Mp=e=>Gi(e)==="[object Object]",Xu=e=>wt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ts=Sa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Oa=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},T2=/-(\w)/g,pn=Oa(e=>e.replace(T2,(t,r)=>r?r.toUpperCase():"")),I2=/\B([A-Z])/g,Pn=Oa(e=>e.replace(I2,"-$1").toLowerCase()),Ra=Oa(e=>e.charAt(0).toUpperCase()+e.slice(1)),oa=Oa(e=>e?`on${Ra(e)}`:""),$r=(e,t)=>!Object.is(e,t),$i=(e,t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:r})},ha=e=>{const t=parseFloat(e);return isNaN(t)?e:t},pa=e=>{const t=wt(e)?Number(e):NaN;return isNaN(t)?e:t};let sh;const Au=()=>sh||(sh=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),M2="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console",L2=Sa(M2);function Fr(e){if(ke(e)){const t={};for(let r=0;r{if(r){const s=r.split(D2);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Je(e){let t="";if(wt(e))t=e;else if(ke(e))for(let r=0;rDr(r,t))}const We=e=>wt(e)?e:e==null?"":ke(e)||ft(e)&&(e.toString===Ip||!Be(e.toString))?JSON.stringify(e,$p,2):String(e),$p=(e,t)=>t&&t.__v_isRef?$p(e,t.value):Li(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[s,o])=>(r[`${s} =>`]=o,r),{})}:ui(t)?{[`Set(${t.size})`]:[...t.values()]}:ft(t)&&!ke(t)&&!Mp(t)?String(t):t;let dn;class Dp{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=dn,!t&&dn&&(this.index=(dn.scopes||(dn.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const r=dn;try{return dn=this,t()}finally{dn=r}}}on(){dn=this}off(){dn=this.parent}stop(t){if(this._active){let r,s;for(r=0,s=this.effects.length;r{const t=new Set(e);return t.w=0,t.n=0,t},Vp=e=>(e.w&Br)>0,Fp=e=>(e.n&Br)>0,U2=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let r=0;for(let s=0;s{(p==="length"||p>=f)&&c.push(h)})}else switch(r!==void 0&&c.push(u.get(r)),t){case"add":ke(e)?Xu(r)&&c.push(u.get("length")):(c.push(u.get(ii)),Li(e)&&c.push(u.get(Pu)));break;case"delete":ke(e)||(c.push(u.get(ii)),Li(e)&&c.push(u.get(Pu)));break;case"set":Li(e)&&c.push(u.get(ii));break}if(c.length===1)c[0]&&Cu(c[0]);else{const f=[];for(const h of c)h&&f.push(...h);Cu(Qu(f))}}function Cu(e,t){const r=ke(e)?e:[...e];for(const s of r)s.computed&&ah(s);for(const s of r)s.computed||ah(s)}function ah(e,t){(e!==In||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function j2(e,t){var r;return(r=ma.get(e))==null?void 0:r.get(t)}const K2=Sa("__proto__,__v_isRef,__isVue"),qp=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ws)),lh=z2();function z2(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...r){const s=tt(this);for(let l=0,u=this.length;l{e[t]=function(...r){Yi();const s=tt(this)[t].apply(this,r);return Ji(),s}}),e}function Z2(e){const t=tt(this);return rn(t,"has",e),t.hasOwnProperty(e)}class jp{constructor(t=!1,r=!1){this._isReadonly=t,this._shallow=r}get(t,r,s){const o=this._isReadonly,l=this._shallow;if(r==="__v_isReactive")return!o;if(r==="__v_isReadonly")return o;if(r==="__v_isShallow")return l;if(r==="__v_raw"&&s===(o?l?Jp:Yp:l?Gp:Zp).get(t))return t;const u=ke(t);if(!o){if(u&&nt(lh,r))return Reflect.get(lh,r,s);if(r==="hasOwnProperty")return Z2}const c=Reflect.get(t,r,s);return(Ws(r)?qp.has(r):K2(r))||(o||rn(t,"get",r),l)?c:_t(c)?u&&Xu(r)?c:c.value:ft(c)?o?Qp(c):Xi(c):c}}class Kp extends jp{constructor(t=!1){super(!1,t)}set(t,r,s,o){let l=t[r];if(Wi(l)&&_t(l)&&!_t(s))return!1;if(!this._shallow&&(!va(s)&&!Wi(s)&&(l=tt(l),s=tt(s)),!ke(t)&&_t(l)&&!_t(s)))return l.value=s,!0;const u=ke(t)&&Xu(r)?Number(r)e,Ia=e=>Reflect.getPrototypeOf(e);function Ko(e,t,r=!1,s=!1){e=e.__v_raw;const o=tt(e),l=tt(t);r||($r(t,l)&&rn(o,"get",t),rn(o,"get",l));const{has:u}=Ia(o),c=s?ec:r?tc:Fs;if(u.call(o,t))return c(e.get(t));if(u.call(o,l))return c(e.get(l));e!==o&&e.get(t)}function zo(e,t=!1){const r=this.__v_raw,s=tt(r),o=tt(e);return t||($r(e,o)&&rn(s,"has",e),rn(s,"has",o)),e===o?r.has(e):r.has(e)||r.has(o)}function Zo(e,t=!1){return e=e.__v_raw,!t&&rn(tt(e),"iterate",ii),Reflect.get(e,"size",e)}function uh(e){e=tt(e);const t=tt(this);return Ia(t).has.call(t,e)||(t.add(e),or(t,"add",e,e)),this}function ch(e,t){t=tt(t);const r=tt(this),{has:s,get:o}=Ia(r);let l=s.call(r,e);l||(e=tt(e),l=s.call(r,e));const u=o.call(r,e);return r.set(e,t),l?$r(t,u)&&or(r,"set",e,t):or(r,"add",e,t),this}function fh(e){const t=tt(this),{has:r,get:s}=Ia(t);let o=r.call(t,e);o||(e=tt(e),o=r.call(t,e)),s&&s.call(t,e);const l=t.delete(e);return o&&or(t,"delete",e,void 0),l}function dh(){const e=tt(this),t=e.size!==0,r=e.clear();return t&&or(e,"clear",void 0,void 0),r}function Go(e,t){return function(s,o){const l=this,u=l.__v_raw,c=tt(u),f=t?ec:e?tc:Fs;return!e&&rn(c,"iterate",ii),u.forEach((h,p)=>s.call(o,f(h),f(p),l))}}function Yo(e,t,r){return function(...s){const o=this.__v_raw,l=tt(o),u=Li(l),c=e==="entries"||e===Symbol.iterator&&u,f=e==="keys"&&u,h=o[e](...s),p=r?ec:t?tc:Fs;return!t&&rn(l,"iterate",f?Pu:ii),{next(){const{value:v,done:m}=h.next();return m?{value:v,done:m}:{value:c?[p(v[0]),p(v[1])]:p(v),done:m}},[Symbol.iterator](){return this}}}}function br(e){return function(...t){return e==="delete"?!1:this}}function Q2(){const e={get(l){return Ko(this,l)},get size(){return Zo(this)},has:zo,add:uh,set:ch,delete:fh,clear:dh,forEach:Go(!1,!1)},t={get(l){return Ko(this,l,!1,!0)},get size(){return Zo(this)},has:zo,add:uh,set:ch,delete:fh,clear:dh,forEach:Go(!1,!0)},r={get(l){return Ko(this,l,!0)},get size(){return Zo(this,!0)},has(l){return zo.call(this,l,!0)},add:br("add"),set:br("set"),delete:br("delete"),clear:br("clear"),forEach:Go(!0,!1)},s={get(l){return Ko(this,l,!0,!0)},get size(){return Zo(this,!0)},has(l){return zo.call(this,l,!0)},add:br("add"),set:br("set"),delete:br("delete"),clear:br("clear"),forEach:Go(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{e[l]=Yo(l,!1,!1),r[l]=Yo(l,!0,!1),t[l]=Yo(l,!1,!0),s[l]=Yo(l,!0,!0)}),[e,r,t,s]}const[eA,tA,nA,rA]=Q2();function Ma(e,t){const r=t?e?rA:nA:e?tA:eA;return(s,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(nt(r,o)&&o in s?r:s,o,l)}const iA={get:Ma(!1,!1)},sA={get:Ma(!1,!0)},oA={get:Ma(!0,!1)},aA={get:Ma(!0,!0)},Zp=new WeakMap,Gp=new WeakMap,Yp=new WeakMap,Jp=new WeakMap;function lA(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function uA(e){return e.__v_skip||!Object.isExtensible(e)?0:lA(R2(e))}function Xi(e){return Wi(e)?e:La(e,!1,G2,iA,Zp)}function Xp(e){return La(e,!1,J2,sA,Gp)}function Qp(e){return La(e,!0,Y2,oA,Yp)}function cS(e){return La(e,!0,X2,aA,Jp)}function La(e,t,r,s,o){if(!ft(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=o.get(e);if(l)return l;const u=uA(e);if(u===0)return e;const c=new Proxy(e,u===2?s:r);return o.set(e,c),c}function Tr(e){return Wi(e)?Tr(e.__v_raw):!!(e&&e.__v_isReactive)}function Wi(e){return!!(e&&e.__v_isReadonly)}function va(e){return!!(e&&e.__v_isShallow)}function em(e){return Tr(e)||Wi(e)}function tt(e){const t=e&&e.__v_raw;return t?tt(t):e}function $a(e){return da(e,"__v_skip",!0),e}const Fs=e=>ft(e)?Xi(e):e,tc=e=>ft(e)?Qp(e):e;function nc(e){Rr&&In&&(e=tt(e),Up(e.dep||(e.dep=Qu())))}function Da(e,t){e=tt(e);const r=e.dep;r&&Cu(r)}function _t(e){return!!(e&&e.__v_isRef===!0)}function Pe(e){return tm(e,!1)}function cA(e){return tm(e,!0)}function tm(e,t){return _t(e)?e:new fA(e,t)}class fA{constructor(t,r){this.__v_isShallow=r,this.dep=void 0,this.__v_isRef=!0,this._rawValue=r?t:tt(t),this._value=r?t:Fs(t)}get value(){return nc(this),this._value}set value(t){const r=this.__v_isShallow||va(t)||Wi(t);t=r?t:tt(t),$r(t,this._rawValue)&&(this._rawValue=t,this._value=r?t:Fs(t),Da(this))}}function fS(e){Da(e)}function se(e){return _t(e)?e.value:e}function dS(e){return Be(e)?e():se(e)}const dA={get:(e,t,r)=>se(Reflect.get(e,t,r)),set:(e,t,r,s)=>{const o=e[t];return _t(o)&&!_t(r)?(o.value=r,!0):Reflect.set(e,t,r,s)}};function nm(e){return Tr(e)?e:new Proxy(e,dA)}class hA{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:r,set:s}=t(()=>nc(this),()=>Da(this));this._get=r,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function hS(e){return new hA(e)}function pA(e){const t=ke(e)?new Array(e.length):{};for(const r in e)t[r]=rm(e,r);return t}class mA{constructor(t,r,s){this._object=t,this._key=r,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return j2(tt(this._object),this._key)}}class vA{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function pS(e,t,r){return _t(e)?e:Be(e)?new vA(e):ft(e)&&arguments.length>1?rm(e,t,r):Pe(e)}function rm(e,t,r){const s=e[t];return _t(s)?s:new mA(e,t,r)}class gA{constructor(t,r,s,o){this._setter=r,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new Vs(t,()=>{this._dirty||(this._dirty=!0,Da(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=s}get value(){const t=tt(this);return nc(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function yA(e,t,r=!1){let s,o;const l=Be(e);return l?(s=e,o=Ln):(s=e.get,o=e.set),new gA(s,o,l||!o,r)}function mS(e,...t){}function vS(e,t){}function Ir(e,t,r,s){let o;try{o=s?e(...s):e()}catch(l){Qi(l,t,r)}return o}function Cn(e,t,r,s){if(Be(e)){const l=Ir(e,t,r,s);return l&&Ju(l)&&l.catch(u=>{Qi(u,t,r)}),l}const o=[];for(let l=0;l>>1;Us(Nt[s])Hn&&Nt.splice(t,1)}function om(e){ke(e)?Di.push(...e):(!rr||!rr.includes(e,e.allowRecurse?ti+1:ti))&&Di.push(e),sm()}function hh(e,t=Hs?Hn+1:0){for(;tUs(r)-Us(s)),ti=0;tie.id==null?1/0:e.id,AA=(e,t)=>{const r=Us(e)-Us(t);if(r===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return r};function am(e){Eu=!1,Hs=!0,Nt.sort(AA);const t=Ln;try{for(Hn=0;Hnms.emit(o,...l)),Jo=[]):typeof window<"u"&&window.HTMLElement&&!((s=(r=window.navigator)==null?void 0:r.userAgent)!=null&&s.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(l=>{xA(l,t)}),setTimeout(()=>{ms||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Jo=[])},3e3)):Jo=[]}function PA(e,t,...r){if(e.isUnmounted)return;const s=e.vnode.props||ct;let o=r;const l=t.startsWith("update:"),u=l&&t.slice(7);if(u&&u in s){const p=`${u==="modelValue"?"model":u}Modifiers`,{number:v,trim:m}=s[p]||ct;m&&(o=r.map(A=>wt(A)?A.trim():A)),v&&(o=r.map(ha))}let c,f=s[c=oa(t)]||s[c=oa(pn(t))];!f&&l&&(f=s[c=oa(Pn(t))]),f&&Cn(f,e,6,o);const h=s[c+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,Cn(h,e,6,o)}}function lm(e,t,r=!1){const s=t.emitsCache,o=s.get(e);if(o!==void 0)return o;const l=e.emits;let u={},c=!1;if(!Be(e)){const f=h=>{const p=lm(h,t,!0);p&&(c=!0,bt(u,p))};!r&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!l&&!c?(ft(e)&&s.set(e,null),null):(ke(l)?l.forEach(f=>u[f]=null):bt(u,l),ft(e)&&s.set(e,u),u)}function Na(e,t){return!e||!Js(t)?!1:(t=t.slice(2).replace(/Once$/,""),nt(e,t[0].toLowerCase()+t.slice(1))||nt(e,Pn(t))||nt(e,t))}let Tt=null,Wa=null;function qs(e){const t=Tt;return Tt=e,Wa=e&&e.type.__scopeId||null,t}function ci(e){Wa=e}function fi(){Wa=null}const gS=e=>Ot;function Ot(e,t=Tt,r){if(!t||e._n)return e;const s=(...o)=>{s._d&&Eh(-1);const l=qs(t);let u;try{u=e(...o)}finally{qs(l),s._d&&Eh(1)}return u};return s._n=!0,s._c=!0,s._d=!0,s}function aa(e){const{type:t,vnode:r,proxy:s,withProxy:o,props:l,propsOptions:[u],slots:c,attrs:f,emit:h,render:p,renderCache:v,data:m,setupState:A,ctx:C,inheritAttrs:S}=e;let D,O;const k=qs(e);try{if(r.shapeFlag&4){const E=o||s;D=hn(p.call(E,E,v,l,A,m,C)),O=f}else{const E=t;D=hn(E.length>1?E(l,{attrs:f,slots:c,emit:h}):E(l,null)),O=t.props?f:EA(f)}}catch(E){Ls.length=0,Qi(E,e,1),D=me(Kt)}let M=D;if(O&&S!==!1){const E=Object.keys(O),{shapeFlag:T}=M;E.length&&T&7&&(u&&E.some(Gu)&&(O=kA(O,u)),M=ar(M,O))}return r.dirs&&(M=ar(M),M.dirs=M.dirs?M.dirs.concat(r.dirs):r.dirs),r.transition&&(M.transition=r.transition),D=M,qs(k),D}function CA(e){let t;for(let r=0;r{let t;for(const r in e)(r==="class"||r==="style"||Js(r))&&((t||(t={}))[r]=e[r]);return t},kA=(e,t)=>{const r={};for(const s in e)(!Gu(s)||!(s.slice(9)in t))&&(r[s]=e[s]);return r};function SA(e,t,r){const{props:s,children:o,component:l}=e,{props:u,children:c,patchFlag:f}=t,h=l.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&f>=0){if(f&1024)return!0;if(f&16)return s?ph(s,u,h):!!u;if(f&8){const p=t.dynamicProps;for(let v=0;ve.__isSuspense,OA={name:"Suspense",__isSuspense:!0,process(e,t,r,s,o,l,u,c,f,h){e==null?RA(t,r,s,o,l,u,c,f,h):TA(e,t,r,s,o,u,c,f,h)},hydrate:IA,create:sc,normalize:MA},yS=OA;function js(e,t){const r=e.props&&e.props[t];Be(r)&&r()}function RA(e,t,r,s,o,l,u,c,f){const{p:h,o:{createElement:p}}=f,v=p("div"),m=e.suspense=sc(e,o,s,t,v,r,l,u,c,f);h(null,m.pendingBranch=e.ssContent,v,null,s,m,l,u),m.deps>0?(js(e,"onPending"),js(e,"onFallback"),h(null,e.ssFallback,t,r,s,null,l,u),Bi(m,e.ssFallback)):m.resolve(!1,!0)}function TA(e,t,r,s,o,l,u,c,{p:f,um:h,o:{createElement:p}}){const v=t.suspense=e.suspense;v.vnode=t,t.el=e.el;const m=t.ssContent,A=t.ssFallback,{activeBranch:C,pendingBranch:S,isInFallback:D,isHydrating:O}=v;if(S)v.pendingBranch=m,Mn(m,S)?(f(S,m,v.hiddenContainer,null,o,v,l,u,c),v.deps<=0?v.resolve():D&&(f(C,A,r,s,o,null,l,u,c),Bi(v,A))):(v.pendingId++,O?(v.isHydrating=!1,v.activeBranch=S):h(S,o,v),v.deps=0,v.effects.length=0,v.hiddenContainer=p("div"),D?(f(null,m,v.hiddenContainer,null,o,v,l,u,c),v.deps<=0?v.resolve():(f(C,A,r,s,o,null,l,u,c),Bi(v,A))):C&&Mn(m,C)?(f(C,m,r,s,o,v,l,u,c),v.resolve(!0)):(f(null,m,v.hiddenContainer,null,o,v,l,u,c),v.deps<=0&&v.resolve()));else if(C&&Mn(m,C))f(C,m,r,s,o,v,l,u,c),Bi(v,m);else if(js(t,"onPending"),v.pendingBranch=m,v.pendingId++,f(null,m,v.hiddenContainer,null,o,v,l,u,c),v.deps<=0)v.resolve();else{const{timeout:k,pendingId:M}=v;k>0?setTimeout(()=>{v.pendingId===M&&v.fallback(A)},k):k===0&&v.fallback(A)}}function sc(e,t,r,s,o,l,u,c,f,h,p=!1){const{p:v,m,um:A,n:C,o:{parentNode:S,remove:D}}=h;let O;const k=LA(e);k&&t!=null&&t.pendingBranch&&(O=t.pendingId,t.deps++);const M=e.props?pa(e.props.timeout):void 0,E={vnode:e,parent:t,parentComponent:r,isSVG:u,container:s,hiddenContainer:o,anchor:l,deps:0,pendingId:0,timeout:typeof M=="number"?M:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:p,isUnmounted:!1,effects:[],resolve(T=!1,H=!1){const{vnode:U,activeBranch:N,pendingBranch:j,pendingId:K,effects:q,parentComponent:G,container:V}=E;if(E.isHydrating)E.isHydrating=!1;else if(!T){const F=N&&j.transition&&j.transition.mode==="out-in";F&&(N.transition.afterLeave=()=>{K===E.pendingId&&m(j,V,x,0)});let{anchor:x}=E;N&&(x=C(N),A(N,G,E,!0)),F||m(j,V,x,0)}Bi(E,j),E.pendingBranch=null,E.isInFallback=!1;let w=E.parent,I=!1;for(;w;){if(w.pendingBranch){w.effects.push(...q),I=!0;break}w=w.parent}I||om(q),E.effects=[],k&&t&&t.pendingBranch&&O===t.pendingId&&(t.deps--,t.deps===0&&!H&&t.resolve()),js(U,"onResolve")},fallback(T){if(!E.pendingBranch)return;const{vnode:H,activeBranch:U,parentComponent:N,container:j,isSVG:K}=E;js(H,"onFallback");const q=C(U),G=()=>{E.isInFallback&&(v(null,T,j,q,N,null,K,c,f),Bi(E,T))},V=T.transition&&T.transition.mode==="out-in";V&&(U.transition.afterLeave=G),E.isInFallback=!0,A(U,N,null,!0),V||G()},move(T,H,U){E.activeBranch&&m(E.activeBranch,T,H,U),E.container=T},next(){return E.activeBranch&&C(E.activeBranch)},registerDep(T,H){const U=!!E.pendingBranch;U&&E.deps++;const N=T.vnode.el;T.asyncDep.catch(j=>{Qi(j,T,0)}).then(j=>{if(T.isUnmounted||E.isUnmounted||E.pendingId!==T.suspenseId)return;T.asyncResolved=!0;const{vnode:K}=T;Mu(T,j,!1),N&&(K.el=N);const q=!N&&T.subTree.el;H(T,K,S(N||T.subTree.el),N?null:C(T.subTree),E,u,f),q&&D(q),ic(T,K.el),U&&--E.deps===0&&E.resolve()})},unmount(T,H){E.isUnmounted=!0,E.activeBranch&&A(E.activeBranch,r,T,H),E.pendingBranch&&A(E.pendingBranch,r,T,H)}};return E}function IA(e,t,r,s,o,l,u,c,f){const h=t.suspense=sc(t,s,r,e.parentNode,document.createElement("div"),null,o,l,u,c,!0),p=f(e,h.pendingBranch=t.ssContent,r,h,l,u);return h.deps===0&&h.resolve(!1,!0),p}function MA(e){const{shapeFlag:t,children:r}=e,s=t&32;e.ssContent=mh(s?r.default:r),e.ssFallback=s?mh(r.fallback):me(Kt)}function mh(e){let t;if(Be(e)){const r=ai&&e._c;r&&(e._d=!1,ne()),e=e(),r&&(e._d=!0,t=en,Sm())}return ke(e)&&(e=CA(e)),e=hn(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(r=>r!==e)),e}function cm(e,t){t&&t.pendingBranch?ke(e)?t.effects.push(...e):t.effects.push(e):om(e)}function Bi(e,t){e.activeBranch=t;const{vnode:r,parentComponent:s}=e,o=r.el=t.el;s&&s.subTree===r&&(s.vnode.el=o,ic(s,o))}function LA(e){var t;return((t=e.props)==null?void 0:t.suspensible)!=null&&e.props.suspensible!==!1}function _S(e,t){return Xs(e,null,t)}function $A(e,t){return Xs(e,null,{flush:"post"})}function bS(e,t){return Xs(e,null,{flush:"sync"})}const Xo={};function ut(e,t,r){return Xs(e,t,r)}function Xs(e,t,{immediate:r,deep:s,flush:o,onTrack:l,onTrigger:u}=ct){var c;const f=Wp()===((c=Et)==null?void 0:c.scope)?Et:null;let h,p=!1,v=!1;if(_t(e)?(h=()=>e.value,p=va(e)):Tr(e)?(h=()=>e,s=!0):ke(e)?(v=!0,p=e.some(E=>Tr(E)||va(E)),h=()=>e.map(E=>{if(_t(E))return E.value;if(Tr(E))return ri(E);if(Be(E))return Ir(E,f,2)})):Be(e)?t?h=()=>Ir(e,f,2):h=()=>{if(!(f&&f.isUnmounted))return m&&m(),Cn(e,f,3,[A])}:h=Ln,t&&s){const E=h;h=()=>ri(E())}let m,A=E=>{m=k.onStop=()=>{Ir(E,f,4)}},C;if(qi)if(A=Ln,t?r&&Cn(t,f,3,[h(),v?[]:void 0,A]):h(),o==="sync"){const E=k5();C=E.__watcherHandles||(E.__watcherHandles=[])}else return Ln;let S=v?new Array(e.length).fill(Xo):Xo;const D=()=>{if(k.active)if(t){const E=k.run();(s||p||(v?E.some((T,H)=>$r(T,S[H])):$r(E,S)))&&(m&&m(),Cn(t,f,3,[E,S===Xo?void 0:v&&S[0]===Xo?[]:S,A]),S=E)}else k.run()};D.allowRecurse=!!t;let O;o==="sync"?O=D:o==="post"?O=()=>$t(D,f&&f.suspense):(D.pre=!0,f&&(D.id=f.uid),O=()=>Ba(D));const k=new Vs(h,O);t?r?D():S=k.run():o==="post"?$t(k.run.bind(k),f&&f.suspense):k.run();const M=()=>{k.stop(),f&&f.scope&&Yu(f.scope.effects,k)};return C&&C.push(M),M}function DA(e,t,r){const s=this.proxy,o=wt(e)?e.includes(".")?fm(s,e):()=>s[e]:e.bind(s,s);let l;Be(t)?l=t:(l=t.handler,r=t);const u=Et;Wr(this);const c=Xs(o,l.bind(s),r);return u?Wr(u):Mr(),c}function fm(e,t){const r=t.split(".");return()=>{let s=e;for(let o=0;o{ri(r,t)});else if(Mp(e))for(const r in e)ri(e[r],t);return e}function Ks(e,t){const r=Tt;if(r===null)return e;const s=qa(r)||r.proxy,o=e.dirs||(e.dirs=[]);for(let l=0;l{e.isMounted=!0}),Fa(()=>{e.isUnmounting=!0}),e}const xn=[Function,Array],hm={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:xn,onEnter:xn,onAfterEnter:xn,onEnterCancelled:xn,onBeforeLeave:xn,onLeave:xn,onAfterLeave:xn,onLeaveCancelled:xn,onBeforeAppear:xn,onAppear:xn,onAfterAppear:xn,onAppearCancelled:xn},BA={name:"BaseTransition",props:hm,setup(e,{slots:t}){const r=Hr(),s=dm();let o;return()=>{const l=t.default&&oc(t.default(),!0);if(!l||!l.length)return;let u=l[0];if(l.length>1){for(const S of l)if(S.type!==Kt){u=S;break}}const c=tt(e),{mode:f}=c;if(s.isLeaving)return uu(u);const h=vh(u);if(!h)return uu(u);const p=zs(h,c,s,r);Vi(h,p);const v=r.subTree,m=v&&vh(v);let A=!1;const{getTransitionKey:C}=h.type;if(C){const S=C();o===void 0?o=S:S!==o&&(o=S,A=!0)}if(m&&m.type!==Kt&&(!Mn(h,m)||A)){const S=zs(m,c,s,r);if(Vi(m,S),f==="out-in")return s.isLeaving=!0,S.afterLeave=()=>{s.isLeaving=!1,r.update.active!==!1&&r.update()},uu(u);f==="in-out"&&h.type!==Kt&&(S.delayLeave=(D,O,k)=>{const M=pm(s,m);M[String(m.key)]=m,D[Er]=()=>{O(),D[Er]=void 0,delete p.delayedLeave},p.delayedLeave=k})}return u}}},NA=BA;function pm(e,t){const{leavingVNodes:r}=e;let s=r.get(t.type);return s||(s=Object.create(null),r.set(t.type,s)),s}function zs(e,t,r,s){const{appear:o,mode:l,persisted:u=!1,onBeforeEnter:c,onEnter:f,onAfterEnter:h,onEnterCancelled:p,onBeforeLeave:v,onLeave:m,onAfterLeave:A,onLeaveCancelled:C,onBeforeAppear:S,onAppear:D,onAfterAppear:O,onAppearCancelled:k}=t,M=String(e.key),E=pm(r,e),T=(N,j)=>{N&&Cn(N,s,9,j)},H=(N,j)=>{const K=j[1];T(N,j),ke(N)?N.every(q=>q.length<=1)&&K():N.length<=1&&K()},U={mode:l,persisted:u,beforeEnter(N){let j=c;if(!r.isMounted)if(o)j=S||c;else return;N[Er]&&N[Er](!0);const K=E[M];K&&Mn(e,K)&&K.el[Er]&&K.el[Er](),T(j,[N])},enter(N){let j=f,K=h,q=p;if(!r.isMounted)if(o)j=D||f,K=O||h,q=k||p;else return;let G=!1;const V=N[Qo]=w=>{G||(G=!0,w?T(q,[N]):T(K,[N]),U.delayedLeave&&U.delayedLeave(),N[Qo]=void 0)};j?H(j,[N,V]):V()},leave(N,j){const K=String(e.key);if(N[Qo]&&N[Qo](!0),r.isUnmounting)return j();T(v,[N]);let q=!1;const G=N[Er]=V=>{q||(q=!0,j(),V?T(C,[N]):T(A,[N]),N[Er]=void 0,E[K]===e&&delete E[K])};E[K]=e,m?H(m,[N,G]):G()},clone(N){return zs(N,t,r,s)}};return U}function uu(e){if(Qs(e))return e=ar(e),e.children=null,e}function vh(e){return Qs(e)?e.children?e.children[0]:void 0:e}function Vi(e,t){e.shapeFlag&6&&e.component?Vi(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function oc(e,t=!1,r){let s=[],o=0;for(let l=0;l1)for(let l=0;lbt({name:e.name},t,{setup:e}))():e}const si=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function wS(e){Be(e)&&(e={loader:e});const{loader:t,loadingComponent:r,errorComponent:s,delay:o=200,timeout:l,suspensible:u=!0,onError:c}=e;let f=null,h,p=0;const v=()=>(p++,f=null,m()),m=()=>{let A;return f||(A=f=t().catch(C=>{if(C=C instanceof Error?C:new Error(String(C)),c)return new Promise((S,D)=>{c(C,()=>S(v()),()=>D(C),p+1)});throw C}).then(C=>A!==f&&f?f:(C&&(C.__esModule||C[Symbol.toStringTag]==="Module")&&(C=C.default),h=C,C)))};return ze({name:"AsyncComponentWrapper",__asyncLoader:m,get __asyncResolved(){return h},setup(){const A=Et;if(h)return()=>cu(h,A);const C=k=>{f=null,Qi(k,A,13,!s)};if(u&&A.suspense||qi)return m().then(k=>()=>cu(k,A)).catch(k=>(C(k),()=>s?me(s,{error:k}):null));const S=Pe(!1),D=Pe(),O=Pe(!!o);return o&&setTimeout(()=>{O.value=!1},o),l!=null&&setTimeout(()=>{if(!S.value&&!D.value){const k=new Error(`Async component timed out after ${l}ms.`);C(k),D.value=k}},l),m().then(()=>{S.value=!0,A.parent&&Qs(A.parent.vnode)&&Ba(A.parent.update)}).catch(k=>{C(k),D.value=k}),()=>{if(S.value&&h)return cu(h,A);if(D.value&&s)return me(s,{error:D.value});if(r&&!O.value)return me(r)}}})}function cu(e,t){const{ref:r,props:s,children:o,ce:l}=t.vnode,u=me(e,s,o);return u.ref=r,u.ce=l,delete t.vnode.ce,u}const Qs=e=>e.type.__isKeepAlive,WA={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const r=Hr(),s=r.ctx;if(!s.renderer)return()=>{const k=t.default&&t.default();return k&&k.length===1?k[0]:k};const o=new Map,l=new Set;let u=null;const c=r.suspense,{renderer:{p:f,m:h,um:p,o:{createElement:v}}}=s,m=v("div");s.activate=(k,M,E,T,H)=>{const U=k.component;h(k,M,E,0,c),f(U.vnode,k,M,E,U,c,T,k.slotScopeIds,H),$t(()=>{U.isDeactivated=!1,U.a&&$i(U.a);const N=k.props&&k.props.onVnodeMounted;N&&Qt(N,U.parent,k)},c)},s.deactivate=k=>{const M=k.component;h(k,m,null,1,c),$t(()=>{M.da&&$i(M.da);const E=k.props&&k.props.onVnodeUnmounted;E&&Qt(E,M.parent,k),M.isDeactivated=!0},c)};function A(k){fu(k),p(k,r,c,!0)}function C(k){o.forEach((M,E)=>{const T=$u(M.type);T&&(!k||!k(T))&&S(E)})}function S(k){const M=o.get(k);!u||!Mn(M,u)?A(M):u&&fu(u),o.delete(k),l.delete(k)}ut(()=>[e.include,e.exclude],([k,M])=>{k&&C(E=>Ps(k,E)),M&&C(E=>!Ps(M,E))},{flush:"post",deep:!0});let D=null;const O=()=>{D!=null&&o.set(D,du(r.subTree))};return Vt(O),ac(O),Fa(()=>{o.forEach(k=>{const{subTree:M,suspense:E}=r,T=du(M);if(k.type===T.type&&k.key===T.key){fu(T);const H=T.component.da;H&&$t(H,E);return}A(k)})}),()=>{if(D=null,!t.default)return null;const k=t.default(),M=k[0];if(k.length>1)return u=null,k;if(!Nr(M)||!(M.shapeFlag&4)&&!(M.shapeFlag&128))return u=null,M;let E=du(M);const T=E.type,H=$u(si(E)?E.type.__asyncResolved||{}:T),{include:U,exclude:N,max:j}=e;if(U&&(!H||!Ps(U,H))||N&&H&&Ps(N,H))return u=E,M;const K=E.key==null?T:E.key,q=o.get(K);return E.el&&(E=ar(E),M.shapeFlag&128&&(M.ssContent=E)),D=K,q?(E.el=q.el,E.component=q.component,E.transition&&Vi(E,E.transition),E.shapeFlag|=512,l.delete(K),l.add(K)):(l.add(K),j&&l.size>parseInt(j,10)&&S(l.values().next().value)),E.shapeFlag|=256,u=E,um(M.type)?M:E}}},AS=WA;function Ps(e,t){return ke(e)?e.some(r=>Ps(r,t)):wt(e)?e.split(",").includes(t):O2(e)?e.test(t):!1}function VA(e,t){mm(e,"a",t)}function FA(e,t){mm(e,"da",t)}function mm(e,t,r=Et){const s=e.__wdc||(e.__wdc=()=>{let o=r;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Va(t,s,r),r){let o=r.parent;for(;o&&o.parent;)Qs(o.parent.vnode)&&HA(s,t,r,o),o=o.parent}}function HA(e,t,r,s){const o=Va(t,e,s,!0);lc(()=>{Yu(s[t],o)},r)}function fu(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function du(e){return e.shapeFlag&128?e.ssContent:e}function Va(e,t,r=Et,s=!1){if(r){const o=r[e]||(r[e]=[]),l=t.__weh||(t.__weh=(...u)=>{if(r.isUnmounted)return;Yi(),Wr(r);const c=Cn(t,r,e,u);return Mr(),Ji(),c});return s?o.unshift(l):o.push(l),l}}const ur=e=>(t,r=Et)=>(!qi||e==="sp")&&Va(e,(...s)=>t(...s),r),UA=ur("bm"),Vt=ur("m"),qA=ur("bu"),ac=ur("u"),Fa=ur("bum"),lc=ur("um"),jA=ur("sp"),KA=ur("rtg"),zA=ur("rtc");function ZA(e,t=Et){Va("ec",e,t)}const uc="components",GA="directives";function Fi(e,t){return cc(uc,e,!0,t)||e}const vm=Symbol.for("v-ndc");function YA(e){return wt(e)?cc(uc,e,!1)||e:e||vm}function xS(e){return cc(GA,e)}function cc(e,t,r=!0,s=!1){const o=Tt||Et;if(o){const l=o.type;if(e===uc){const c=$u(l,!1);if(c&&(c===t||c===pn(t)||c===Ra(pn(t))))return l}const u=gh(o[e]||l[e],t)||gh(o.appContext[e],t);return!u&&s?l:u}}function gh(e,t){return e&&(e[t]||e[pn(t)]||e[Ra(pn(t))])}function cr(e,t,r,s){let o;const l=r&&r[s];if(ke(e)||wt(e)){o=new Array(e.length);for(let u=0,c=e.length;ut(u,c,void 0,l&&l[c]));else{const u=Object.keys(e);o=new Array(u.length);for(let c=0,f=u.length;c{const l=s.fn(...o);return l&&(l.key=s.key),l}:s.fn)}return e}function Hi(e,t,r={},s,o){if(Tt.isCE||Tt.parent&&si(Tt.parent)&&Tt.parent.isCE)return t!=="default"&&(r.name=t),me("slot",r,s&&s());let l=e[t];l&&l._c&&(l._d=!1),ne();const u=l&&gm(l(r)),c=je(et,{key:r.key||u&&u.key||`_${t}`},u||(s?s():[]),u&&e._===1?64:-2);return!o&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),l&&l._c&&(l._d=!0),c}function gm(e){return e.some(t=>Nr(t)?!(t.type===Kt||t.type===et&&!gm(t.children)):!0)?e:null}function CS(e,t){const r={};for(const s in e)r[t&&/[A-Z]/.test(s)?`on:${s}`:oa(s)]=e[s];return r}const ku=e=>e?Im(e)?qa(e)||e.proxy:ku(e.parent):null,Is=bt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ku(e.parent),$root:e=>ku(e.root),$emit:e=>e.emit,$options:e=>fc(e),$forceUpdate:e=>e.f||(e.f=()=>Ba(e.update)),$nextTick:e=>e.n||(e.n=lr.bind(e.proxy)),$watch:e=>DA.bind(e)}),hu=(e,t)=>e!==ct&&!e.__isScriptSetup&&nt(e,t),Su={get({_:e},t){const{ctx:r,setupState:s,data:o,props:l,accessCache:u,type:c,appContext:f}=e;let h;if(t[0]!=="$"){const A=u[t];if(A!==void 0)switch(A){case 1:return s[t];case 2:return o[t];case 4:return r[t];case 3:return l[t]}else{if(hu(s,t))return u[t]=1,s[t];if(o!==ct&&nt(o,t))return u[t]=2,o[t];if((h=e.propsOptions[0])&&nt(h,t))return u[t]=3,l[t];if(r!==ct&&nt(r,t))return u[t]=4,r[t];Ou&&(u[t]=0)}}const p=Is[t];let v,m;if(p)return t==="$attrs"&&rn(e,"get",t),p(e);if((v=c.__cssModules)&&(v=v[t]))return v;if(r!==ct&&nt(r,t))return u[t]=4,r[t];if(m=f.config.globalProperties,nt(m,t))return m[t]},set({_:e},t,r){const{data:s,setupState:o,ctx:l}=e;return hu(o,t)?(o[t]=r,!0):s!==ct&&nt(s,t)?(s[t]=r,!0):nt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:s,appContext:o,propsOptions:l}},u){let c;return!!r[u]||e!==ct&&nt(e,u)||hu(t,u)||(c=l[0])&&nt(c,u)||nt(s,u)||nt(Is,u)||nt(o.config.globalProperties,u)},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:nt(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}},JA=bt({},Su,{get(e,t){if(t!==Symbol.unscopables)return Su.get(e,t,e)},has(e,t){return t[0]!=="_"&&!L2(t)}});function ES(){return null}function kS(){return null}function SS(e){}function OS(e){}function RS(){return null}function TS(){}function IS(e,t){return null}function MS(){return ym().slots}function LS(){return ym().attrs}function $S(e,t,r){const s=Hr();if(r&&r.local){const o=Pe(e[t]);return ut(()=>e[t],l=>o.value=l),ut(o,l=>{l!==e[t]&&s.emit(`update:${t}`,l)}),o}else return{__v_isRef:!0,get value(){return e[t]},set value(o){s.emit(`update:${t}`,o)}}}function ym(){const e=Hr();return e.setupContext||(e.setupContext=$m(e))}function Zs(e){return ke(e)?e.reduce((t,r)=>(t[r]=null,t),{}):e}function DS(e,t){const r=Zs(e);for(const s in t){if(s.startsWith("__skip"))continue;let o=r[s];o?ke(o)||Be(o)?o=r[s]={type:o,default:t[s]}:o.default=t[s]:o===null&&(o=r[s]={default:t[s]}),o&&t[`__skip_${s}`]&&(o.skipFactory=!0)}return r}function BS(e,t){return!e||!t?e||t:ke(e)&&ke(t)?e.concat(t):bt({},Zs(e),Zs(t))}function NS(e,t){const r={};for(const s in e)t.includes(s)||Object.defineProperty(r,s,{enumerable:!0,get:()=>e[s]});return r}function WS(e){const t=Hr();let r=e();return Mr(),Ju(r)&&(r=r.catch(s=>{throw Wr(t),s})),[r,()=>Wr(t)]}let Ou=!0;function XA(e){const t=fc(e),r=e.proxy,s=e.ctx;Ou=!1,t.beforeCreate&&yh(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:u,watch:c,provide:f,inject:h,created:p,beforeMount:v,mounted:m,beforeUpdate:A,updated:C,activated:S,deactivated:D,beforeDestroy:O,beforeUnmount:k,destroyed:M,unmounted:E,render:T,renderTracked:H,renderTriggered:U,errorCaptured:N,serverPrefetch:j,expose:K,inheritAttrs:q,components:G,directives:V,filters:w}=t;if(h&&QA(h,s,null),u)for(const x in u){const _=u[x];Be(_)&&(s[x]=_.bind(r))}if(o){const x=o.call(r,r);ft(x)&&(e.data=Xi(x))}if(Ou=!0,l)for(const x in l){const _=l[x],Y=Be(_)?_.bind(r,r):Be(_.get)?_.get.bind(r,r):Ln,B=!Be(_)&&Be(_.set)?_.set.bind(r):Ln,y=Ve({get:Y,set:B});Object.defineProperty(s,x,{enumerable:!0,configurable:!0,get:()=>y.value,set:Q=>y.value=Q})}if(c)for(const x in c)_m(c[x],s,r,x);if(f){const x=Be(f)?f.call(r):f;Reflect.ownKeys(x).forEach(_=>{Or(_,x[_])})}p&&yh(p,e,"c");function F(x,_){ke(_)?_.forEach(Y=>x(Y.bind(r))):_&&x(_.bind(r))}if(F(UA,v),F(Vt,m),F(qA,A),F(ac,C),F(VA,S),F(FA,D),F(ZA,N),F(zA,H),F(KA,U),F(Fa,k),F(lc,E),F(jA,j),ke(K))if(K.length){const x=e.exposed||(e.exposed={});K.forEach(_=>{Object.defineProperty(x,_,{get:()=>r[_],set:Y=>r[_]=Y})})}else e.exposed||(e.exposed={});T&&e.render===Ln&&(e.render=T),q!=null&&(e.inheritAttrs=q),G&&(e.components=G),V&&(e.directives=V)}function QA(e,t,r=Ln){ke(e)&&(e=Ru(e));for(const s in e){const o=e[s];let l;ft(o)?"default"in o?l=nn(o.from||s,o.default,!0):l=nn(o.from||s):l=nn(o),_t(l)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>l.value,set:u=>l.value=u}):t[s]=l}}function yh(e,t,r){Cn(ke(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,r)}function _m(e,t,r,s){const o=s.includes(".")?fm(r,s):()=>r[s];if(wt(e)){const l=t[e];Be(l)&&ut(o,l)}else if(Be(e))ut(o,e.bind(r));else if(ft(e))if(ke(e))e.forEach(l=>_m(l,t,r,s));else{const l=Be(e.handler)?e.handler.bind(r):t[e.handler];Be(l)&&ut(o,l,e)}}function fc(e){const t=e.type,{mixins:r,extends:s}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:u}}=e.appContext,c=l.get(t);let f;return c?f=c:!o.length&&!r&&!s?f=t:(f={},o.length&&o.forEach(h=>ya(f,h,u,!0)),ya(f,t,u)),ft(t)&&l.set(t,f),f}function ya(e,t,r,s=!1){const{mixins:o,extends:l}=t;l&&ya(e,l,r,!0),o&&o.forEach(u=>ya(e,u,r,!0));for(const u in t)if(!(s&&u==="expose")){const c=e5[u]||r&&r[u];e[u]=c?c(e[u],t[u]):t[u]}return e}const e5={data:_h,props:bh,emits:bh,methods:Cs,computed:Cs,beforeCreate:jt,created:jt,beforeMount:jt,mounted:jt,beforeUpdate:jt,updated:jt,beforeDestroy:jt,beforeUnmount:jt,destroyed:jt,unmounted:jt,activated:jt,deactivated:jt,errorCaptured:jt,serverPrefetch:jt,components:Cs,directives:Cs,watch:n5,provide:_h,inject:t5};function _h(e,t){return t?e?function(){return bt(Be(e)?e.call(this,this):e,Be(t)?t.call(this,this):t)}:t:e}function t5(e,t){return Cs(Ru(e),Ru(t))}function Ru(e){if(ke(e)){const t={};for(let r=0;r1)return r&&Be(t)?t.call(s&&s.proxy):t}}function s5(){return!!(Et||Tt||Gs)}function o5(e,t,r,s=!1){const o={},l={};da(l,Ha,1),e.propsDefaults=Object.create(null),wm(e,t,o,l);for(const u in e.propsOptions[0])u in o||(o[u]=void 0);r?e.props=s?o:Xp(o):e.type.props?e.props=o:e.props=l,e.attrs=l}function a5(e,t,r,s){const{props:o,attrs:l,vnode:{patchFlag:u}}=e,c=tt(o),[f]=e.propsOptions;let h=!1;if((s||u>0)&&!(u&16)){if(u&8){const p=e.vnode.dynamicProps;for(let v=0;v{f=!0;const[m,A]=Am(v,t,!0);bt(u,m),A&&c.push(...A)};!r&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!l&&!f)return ft(e)&&s.set(e,Mi),Mi;if(ke(l))for(let p=0;p-1,A[1]=S<0||C-1||nt(A,"default"))&&c.push(v)}}}const h=[u,c];return ft(e)&&s.set(e,h),h}function wh(e){return e[0]!=="$"}function Ah(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function xh(e,t){return Ah(e)===Ah(t)}function Ph(e,t){return ke(t)?t.findIndex(r=>xh(r,e)):Be(t)&&xh(t,e)?0:-1}const xm=e=>e[0]==="_"||e==="$stable",dc=e=>ke(e)?e.map(hn):[hn(e)],l5=(e,t,r)=>{if(t._n)return t;const s=Ot((...o)=>dc(t(...o)),r);return s._c=!1,s},Pm=(e,t,r)=>{const s=e._ctx;for(const o in e){if(xm(o))continue;const l=e[o];if(Be(l))t[o]=l5(o,l,s);else if(l!=null){const u=dc(l);t[o]=()=>u}}},Cm=(e,t)=>{const r=dc(t);e.slots.default=()=>r},u5=(e,t)=>{if(e.vnode.shapeFlag&32){const r=t._;r?(e.slots=tt(t),da(t,"_",r)):Pm(t,e.slots={})}else e.slots={},t&&Cm(e,t);da(e.slots,Ha,1)},c5=(e,t,r)=>{const{vnode:s,slots:o}=e;let l=!0,u=ct;if(s.shapeFlag&32){const c=t._;c?r&&c===1?l=!1:(bt(o,t),!r&&c===1&&delete o._):(l=!t.$stable,Pm(t,o)),u=t}else t&&(Cm(e,t),u={default:1});if(l)for(const c in o)!xm(c)&&u[c]==null&&delete o[c]};function _a(e,t,r,s,o=!1){if(ke(e)){e.forEach((m,A)=>_a(m,t&&(ke(t)?t[A]:t),r,s,o));return}if(si(s)&&!o)return;const l=s.shapeFlag&4?qa(s.component)||s.component.proxy:s.el,u=o?null:l,{i:c,r:f}=e,h=t&&t.r,p=c.refs===ct?c.refs={}:c.refs,v=c.setupState;if(h!=null&&h!==f&&(wt(h)?(p[h]=null,nt(v,h)&&(v[h]=null)):_t(h)&&(h.value=null)),Be(f))Ir(f,c,12,[u,p]);else{const m=wt(f),A=_t(f);if(m||A){const C=()=>{if(e.f){const S=m?nt(v,f)?v[f]:p[f]:f.value;o?ke(S)&&Yu(S,l):ke(S)?S.includes(l)||S.push(l):m?(p[f]=[l],nt(v,f)&&(v[f]=p[f])):(f.value=[l],e.k&&(p[e.k]=f.value))}else m?(p[f]=u,nt(v,f)&&(v[f]=u)):A&&(f.value=u,e.k&&(p[e.k]=u))};u?(C.id=-1,$t(C,r)):C()}}}let wr=!1;const ea=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",ta=e=>e.nodeType===8;function f5(e){const{mt:t,p:r,o:{patchProp:s,createText:o,nextSibling:l,parentNode:u,remove:c,insert:f,createComment:h}}=e,p=(O,k)=>{if(!k.hasChildNodes()){r(null,O,k),ga(),k._vnode=O;return}wr=!1,v(k.firstChild,O,null,null,null),ga(),k._vnode=O,wr&&console.error("Hydration completed but contains mismatches.")},v=(O,k,M,E,T,H=!1)=>{const U=ta(O)&&O.data==="[",N=()=>S(O,k,M,E,T,U),{type:j,ref:K,shapeFlag:q,patchFlag:G}=k;let V=O.nodeType;k.el=O,G===-2&&(H=!1,k.dynamicChildren=null);let w=null;switch(j){case Ui:V!==3?k.children===""?(f(k.el=o(""),u(O),O),w=O):w=N():(O.data!==k.children&&(wr=!0,O.data=k.children),w=l(O));break;case Kt:V!==8||U?w=N():w=l(O);break;case Ni:if(U&&(O=l(O),V=O.nodeType),V===1||V===3){w=O;const I=!k.children.length;for(let F=0;F{H=H||!!k.dynamicChildren;const{type:U,props:N,patchFlag:j,shapeFlag:K,dirs:q}=k,G=U==="input"&&q||U==="option";if(G||j!==-1){if(q&&Fn(k,null,M,"created"),N)if(G||!H||j&48)for(const w in N)(G&&w.endsWith("value")||Js(w)&&!Ts(w))&&s(O,w,null,N[w],!1,void 0,M);else N.onClick&&s(O,"onClick",null,N.onClick,!1,void 0,M);let V;if((V=N&&N.onVnodeBeforeMount)&&Qt(V,M,k),q&&Fn(k,null,M,"beforeMount"),((V=N&&N.onVnodeMounted)||q)&&cm(()=>{V&&Qt(V,M,k),q&&Fn(k,null,M,"mounted")},E),K&16&&!(N&&(N.innerHTML||N.textContent))){let w=A(O.firstChild,k,O,M,E,T,H);for(;w;){wr=!0;const I=w;w=w.nextSibling,c(I)}}else K&8&&O.textContent!==k.children&&(wr=!0,O.textContent=k.children)}return O.nextSibling},A=(O,k,M,E,T,H,U)=>{U=U||!!k.dynamicChildren;const N=k.children,j=N.length;for(let K=0;K{const{slotScopeIds:U}=k;U&&(T=T?T.concat(U):U);const N=u(O),j=A(l(O),k,N,M,E,T,H);return j&&ta(j)&&j.data==="]"?l(k.anchor=j):(wr=!0,f(k.anchor=h("]"),N,j),j)},S=(O,k,M,E,T,H)=>{if(wr=!0,k.el=null,H){const j=D(O);for(;;){const K=l(O);if(K&&K!==j)c(K);else break}}const U=l(O),N=u(O);return c(O),r(null,k,N,U,M,E,ea(N),T),U},D=O=>{let k=0;for(;O;)if(O=l(O),O&&ta(O)&&(O.data==="["&&k++,O.data==="]")){if(k===0)return l(O);k--}return O};return[p,v]}const $t=cm;function d5(e){return Em(e)}function h5(e){return Em(e,f5)}function Em(e,t){const r=Au();r.__VUE__=!0;const{insert:s,remove:o,patchProp:l,createElement:u,createText:c,createComment:f,setText:h,setElementText:p,parentNode:v,nextSibling:m,setScopeId:A=Ln,insertStaticContent:C}=e,S=(R,$,z,re=null,ce=null,le=null,be=!1,ve=null,ye=!!$.dynamicChildren)=>{if(R===$)return;R&&!Mn(R,$)&&(re=X(R),Q(R,ce,le,!0),R=null),$.patchFlag===-2&&(ye=!1,$.dynamicChildren=null);const{type:fe,ref:Se,shapeFlag:Ee}=$;switch(fe){case Ui:D(R,$,z,re);break;case Kt:O(R,$,z,re);break;case Ni:R==null&&k($,z,re,be);break;case et:G(R,$,z,re,ce,le,be,ve,ye);break;default:Ee&1?T(R,$,z,re,ce,le,be,ve,ye):Ee&6?V(R,$,z,re,ce,le,be,ve,ye):(Ee&64||Ee&128)&&fe.process(R,$,z,re,ce,le,be,ve,ye,de)}Se!=null&&ce&&_a(Se,R&&R.ref,le,$||R,!$)},D=(R,$,z,re)=>{if(R==null)s($.el=c($.children),z,re);else{const ce=$.el=R.el;$.children!==R.children&&h(ce,$.children)}},O=(R,$,z,re)=>{R==null?s($.el=f($.children||""),z,re):$.el=R.el},k=(R,$,z,re)=>{[R.el,R.anchor]=C(R.children,$,z,re,R.el,R.anchor)},M=({el:R,anchor:$},z,re)=>{let ce;for(;R&&R!==$;)ce=m(R),s(R,z,re),R=ce;s($,z,re)},E=({el:R,anchor:$})=>{let z;for(;R&&R!==$;)z=m(R),o(R),R=z;o($)},T=(R,$,z,re,ce,le,be,ve,ye)=>{be=be||$.type==="svg",R==null?H($,z,re,ce,le,be,ve,ye):j(R,$,ce,le,be,ve,ye)},H=(R,$,z,re,ce,le,be,ve)=>{let ye,fe;const{type:Se,props:Ee,shapeFlag:Ie,transition:Le,dirs:Ze}=R;if(ye=R.el=u(R.type,le,Ee&&Ee.is,Ee),Ie&8?p(ye,R.children):Ie&16&&N(R.children,ye,null,re,ce,le&&Se!=="foreignObject",be,ve),Ze&&Fn(R,null,re,"created"),U(ye,R,R.scopeId,be,re),Ee){for(const Xe in Ee)Xe!=="value"&&!Ts(Xe)&&l(ye,Xe,null,Ee[Xe],le,R.children,re,ce,Oe);"value"in Ee&&l(ye,"value",null,Ee.value),(fe=Ee.onVnodeBeforeMount)&&Qt(fe,re,R)}Ze&&Fn(R,null,re,"beforeMount");const rt=(!ce||ce&&!ce.pendingBranch)&&Le&&!Le.persisted;rt&&Le.beforeEnter(ye),s(ye,$,z),((fe=Ee&&Ee.onVnodeMounted)||rt||Ze)&&$t(()=>{fe&&Qt(fe,re,R),rt&&Le.enter(ye),Ze&&Fn(R,null,re,"mounted")},ce)},U=(R,$,z,re,ce)=>{if(z&&A(R,z),re)for(let le=0;le{for(let fe=ye;fe{const ve=$.el=R.el;let{patchFlag:ye,dynamicChildren:fe,dirs:Se}=$;ye|=R.patchFlag&16;const Ee=R.props||ct,Ie=$.props||ct;let Le;z&&Qr(z,!1),(Le=Ie.onVnodeBeforeUpdate)&&Qt(Le,z,$,R),Se&&Fn($,R,z,"beforeUpdate"),z&&Qr(z,!0);const Ze=ce&&$.type!=="foreignObject";if(fe?K(R.dynamicChildren,fe,ve,z,re,Ze,le):be||_(R,$,ve,null,z,re,Ze,le,!1),ye>0){if(ye&16)q(ve,$,Ee,Ie,z,re,ce);else if(ye&2&&Ee.class!==Ie.class&&l(ve,"class",null,Ie.class,ce),ye&4&&l(ve,"style",Ee.style,Ie.style,ce),ye&8){const rt=$.dynamicProps;for(let Xe=0;Xe{Le&&Qt(Le,z,$,R),Se&&Fn($,R,z,"updated")},re)},K=(R,$,z,re,ce,le,be)=>{for(let ve=0;ve<$.length;ve++){const ye=R[ve],fe=$[ve],Se=ye.el&&(ye.type===et||!Mn(ye,fe)||ye.shapeFlag&70)?v(ye.el):z;S(ye,fe,Se,null,re,ce,le,be,!0)}},q=(R,$,z,re,ce,le,be)=>{if(z!==re){if(z!==ct)for(const ve in z)!Ts(ve)&&!(ve in re)&&l(R,ve,z[ve],null,be,$.children,ce,le,Oe);for(const ve in re){if(Ts(ve))continue;const ye=re[ve],fe=z[ve];ye!==fe&&ve!=="value"&&l(R,ve,fe,ye,be,$.children,ce,le,Oe)}"value"in re&&l(R,"value",z.value,re.value)}},G=(R,$,z,re,ce,le,be,ve,ye)=>{const fe=$.el=R?R.el:c(""),Se=$.anchor=R?R.anchor:c("");let{patchFlag:Ee,dynamicChildren:Ie,slotScopeIds:Le}=$;Le&&(ve=ve?ve.concat(Le):Le),R==null?(s(fe,z,re),s(Se,z,re),N($.children,z,Se,ce,le,be,ve,ye)):Ee>0&&Ee&64&&Ie&&R.dynamicChildren?(K(R.dynamicChildren,Ie,z,ce,le,be,ve),($.key!=null||ce&&$===ce.subTree)&&hc(R,$,!0)):_(R,$,z,Se,ce,le,be,ve,ye)},V=(R,$,z,re,ce,le,be,ve,ye)=>{$.slotScopeIds=ve,R==null?$.shapeFlag&512?ce.ctx.activate($,z,re,be,ye):w($,z,re,ce,le,be,ye):I(R,$,ye)},w=(R,$,z,re,ce,le,be)=>{const ve=R.component=Tm(R,re,ce);if(Qs(R)&&(ve.ctx.renderer=de),Mm(ve),ve.asyncDep){if(ce&&ce.registerDep(ve,F),!R.el){const ye=ve.subTree=me(Kt);O(null,ye,$,z)}return}F(ve,R,$,z,ce,le,be)},I=(R,$,z)=>{const re=$.component=R.component;if(SA(R,$,z))if(re.asyncDep&&!re.asyncResolved){x(re,$,z);return}else re.next=$,wA(re.update),re.update();else $.el=R.el,re.vnode=$},F=(R,$,z,re,ce,le,be)=>{const ve=()=>{if(R.isMounted){let{next:Se,bu:Ee,u:Ie,parent:Le,vnode:Ze}=R,rt=Se,Xe;Qr(R,!1),Se?(Se.el=Ze.el,x(R,Se,be)):Se=Ze,Ee&&$i(Ee),(Xe=Se.props&&Se.props.onVnodeBeforeUpdate)&&Qt(Xe,Le,Se,Ze),Qr(R,!0);const vt=aa(R),Ft=R.subTree;R.subTree=vt,S(Ft,vt,v(Ft.el),X(Ft),R,ce,le),Se.el=vt.el,rt===null&&ic(R,vt.el),Ie&&$t(Ie,ce),(Xe=Se.props&&Se.props.onVnodeUpdated)&&$t(()=>Qt(Xe,Le,Se,Ze),ce)}else{let Se;const{el:Ee,props:Ie}=$,{bm:Le,m:Ze,parent:rt}=R,Xe=si($);if(Qr(R,!1),Le&&$i(Le),!Xe&&(Se=Ie&&Ie.onVnodeBeforeMount)&&Qt(Se,rt,$),Qr(R,!0),Ee&&Re){const vt=()=>{R.subTree=aa(R),Re(Ee,R.subTree,R,ce,null)};Xe?$.type.__asyncLoader().then(()=>!R.isUnmounted&&vt()):vt()}else{const vt=R.subTree=aa(R);S(null,vt,z,re,R,ce,le),$.el=vt.el}if(Ze&&$t(Ze,ce),!Xe&&(Se=Ie&&Ie.onVnodeMounted)){const vt=$;$t(()=>Qt(Se,rt,vt),ce)}($.shapeFlag&256||rt&&si(rt.vnode)&&rt.vnode.shapeFlag&256)&&R.a&&$t(R.a,ce),R.isMounted=!0,$=z=re=null}},ye=R.effect=new Vs(ve,()=>Ba(fe),R.scope),fe=R.update=()=>ye.run();fe.id=R.uid,Qr(R,!0),fe()},x=(R,$,z)=>{$.component=R;const re=R.vnode.props;R.vnode=$,R.next=null,a5(R,$.props,re,z),c5(R,$.children,z),Yi(),hh(),Ji()},_=(R,$,z,re,ce,le,be,ve,ye=!1)=>{const fe=R&&R.children,Se=R?R.shapeFlag:0,Ee=$.children,{patchFlag:Ie,shapeFlag:Le}=$;if(Ie>0){if(Ie&128){B(fe,Ee,z,re,ce,le,be,ve,ye);return}else if(Ie&256){Y(fe,Ee,z,re,ce,le,be,ve,ye);return}}Le&8?(Se&16&&Oe(fe,ce,le),Ee!==fe&&p(z,Ee)):Se&16?Le&16?B(fe,Ee,z,re,ce,le,be,ve,ye):Oe(fe,ce,le,!0):(Se&8&&p(z,""),Le&16&&N(Ee,z,re,ce,le,be,ve,ye))},Y=(R,$,z,re,ce,le,be,ve,ye)=>{R=R||Mi,$=$||Mi;const fe=R.length,Se=$.length,Ee=Math.min(fe,Se);let Ie;for(Ie=0;IeSe?Oe(R,ce,le,!0,!1,Ee):N($,z,re,ce,le,be,ve,ye,Ee)},B=(R,$,z,re,ce,le,be,ve,ye)=>{let fe=0;const Se=$.length;let Ee=R.length-1,Ie=Se-1;for(;fe<=Ee&&fe<=Ie;){const Le=R[fe],Ze=$[fe]=ye?kr($[fe]):hn($[fe]);if(Mn(Le,Ze))S(Le,Ze,z,null,ce,le,be,ve,ye);else break;fe++}for(;fe<=Ee&&fe<=Ie;){const Le=R[Ee],Ze=$[Ie]=ye?kr($[Ie]):hn($[Ie]);if(Mn(Le,Ze))S(Le,Ze,z,null,ce,le,be,ve,ye);else break;Ee--,Ie--}if(fe>Ee){if(fe<=Ie){const Le=Ie+1,Ze=LeIe)for(;fe<=Ee;)Q(R[fe],ce,le,!0),fe++;else{const Le=fe,Ze=fe,rt=new Map;for(fe=Ze;fe<=Ie;fe++){const It=$[fe]=ye?kr($[fe]):hn($[fe]);It.key!=null&&rt.set(It.key,fe)}let Xe,vt=0;const Ft=Ie-Ze+1;let Dn=!1,di=0;const jn=new Array(Ft);for(fe=0;fe=Ft){Q(It,ce,le,!0);continue}let Zt;if(It.key!=null)Zt=rt.get(It.key);else for(Xe=Ze;Xe<=Ie;Xe++)if(jn[Xe-Ze]===0&&Mn(It,$[Xe])){Zt=Xe;break}Zt===void 0?Q(It,ce,le,!0):(jn[Zt-Ze]=fe+1,Zt>=di?di=Zt:Dn=!0,S(It,$[Zt],z,null,ce,le,be,ve,ye),vt++)}const hi=Dn?p5(jn):Mi;for(Xe=hi.length-1,fe=Ft-1;fe>=0;fe--){const It=Ze+fe,Zt=$[It],pi=It+1{const{el:le,type:be,transition:ve,children:ye,shapeFlag:fe}=R;if(fe&6){y(R.component.subTree,$,z,re);return}if(fe&128){R.suspense.move($,z,re);return}if(fe&64){be.move(R,$,z,de);return}if(be===et){s(le,$,z);for(let Ee=0;Eeve.enter(le),ce);else{const{leave:Ee,delayLeave:Ie,afterLeave:Le}=ve,Ze=()=>s(le,$,z),rt=()=>{Ee(le,()=>{Ze(),Le&&Le()})};Ie?Ie(le,Ze,rt):rt()}else s(le,$,z)},Q=(R,$,z,re=!1,ce=!1)=>{const{type:le,props:be,ref:ve,children:ye,dynamicChildren:fe,shapeFlag:Se,patchFlag:Ee,dirs:Ie}=R;if(ve!=null&&_a(ve,null,z,R,!0),Se&256){$.ctx.deactivate(R);return}const Le=Se&1&&Ie,Ze=!si(R);let rt;if(Ze&&(rt=be&&be.onVnodeBeforeUnmount)&&Qt(rt,$,R),Se&6)_e(R.component,z,re);else{if(Se&128){R.suspense.unmount(z,re);return}Le&&Fn(R,null,$,"beforeUnmount"),Se&64?R.type.remove(R,$,z,ce,de,re):fe&&(le!==et||Ee>0&&Ee&64)?Oe(fe,$,z,!1,!0):(le===et&&Ee&384||!ce&&Se&16)&&Oe(ye,$,z),re&&pe(R)}(Ze&&(rt=be&&be.onVnodeUnmounted)||Le)&&$t(()=>{rt&&Qt(rt,$,R),Le&&Fn(R,null,$,"unmounted")},z)},pe=R=>{const{type:$,el:z,anchor:re,transition:ce}=R;if($===et){xe(z,re);return}if($===Ni){E(R);return}const le=()=>{o(z),ce&&!ce.persisted&&ce.afterLeave&&ce.afterLeave()};if(R.shapeFlag&1&&ce&&!ce.persisted){const{leave:be,delayLeave:ve}=ce,ye=()=>be(z,le);ve?ve(R.el,le,ye):ye()}else le()},xe=(R,$)=>{let z;for(;R!==$;)z=m(R),o(R),R=z;o($)},_e=(R,$,z)=>{const{bum:re,scope:ce,update:le,subTree:be,um:ve}=R;re&&$i(re),ce.stop(),le&&(le.active=!1,Q(be,R,$,z)),ve&&$t(ve,$),$t(()=>{R.isUnmounted=!0},$),$&&$.pendingBranch&&!$.isUnmounted&&R.asyncDep&&!R.asyncResolved&&R.suspenseId===$.pendingId&&($.deps--,$.deps===0&&$.resolve())},Oe=(R,$,z,re=!1,ce=!1,le=0)=>{for(let be=le;beR.shapeFlag&6?X(R.component.subTree):R.shapeFlag&128?R.suspense.next():m(R.anchor||R.el),oe=(R,$,z)=>{R==null?$._vnode&&Q($._vnode,null,null,!0):S($._vnode||null,R,$,null,null,null,z),hh(),ga(),$._vnode=R},de={p:S,um:Q,m:y,r:pe,mt:w,mc:N,pc:_,pbc:K,n:X,o:e};let Ae,Re;return t&&([Ae,Re]=t(de)),{render:oe,hydrate:Ae,createApp:i5(oe,Ae)}}function Qr({effect:e,update:t},r){e.allowRecurse=t.allowRecurse=r}function hc(e,t,r=!1){const s=e.children,o=t.children;if(ke(s)&&ke(o))for(let l=0;l>1,e[r[c]]0&&(t[s]=r[l-1]),r[l]=s)}}for(l=r.length,u=r[l-1];l-- >0;)r[l]=u,u=t[u];return r}const m5=e=>e.__isTeleport,Ms=e=>e&&(e.disabled||e.disabled===""),Ch=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Iu=(e,t)=>{const r=e&&e.to;return wt(r)?t?t(r):null:r},v5={__isTeleport:!0,process(e,t,r,s,o,l,u,c,f,h){const{mc:p,pc:v,pbc:m,o:{insert:A,querySelector:C,createText:S,createComment:D}}=h,O=Ms(t.props);let{shapeFlag:k,children:M,dynamicChildren:E}=t;if(e==null){const T=t.el=S(""),H=t.anchor=S("");A(T,r,s),A(H,r,s);const U=t.target=Iu(t.props,C),N=t.targetAnchor=S("");U&&(A(N,U),u=u||Ch(U));const j=(K,q)=>{k&16&&p(M,K,q,o,l,u,c,f)};O?j(r,H):U&&j(U,N)}else{t.el=e.el;const T=t.anchor=e.anchor,H=t.target=e.target,U=t.targetAnchor=e.targetAnchor,N=Ms(e.props),j=N?r:H,K=N?T:U;if(u=u||Ch(H),E?(m(e.dynamicChildren,E,j,o,l,u,c),hc(e,t,!0)):f||v(e,t,j,K,o,l,u,c,!1),O)N?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):na(t,r,T,h,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const q=t.target=Iu(t.props,C);q&&na(t,q,null,h,0)}else N&&na(t,H,U,h,1)}km(t)},remove(e,t,r,s,{um:o,o:{remove:l}},u){const{shapeFlag:c,children:f,anchor:h,targetAnchor:p,target:v,props:m}=e;if(v&&l(p),u&&l(h),c&16){const A=u||!Ms(m);for(let C=0;C0?en||Mi:null,Sm(),ai>0&&en&&en.push(e),e}function ge(e,t,r,s,o,l){return Om(te(e,t,r,s,o,l,!0))}function je(e,t,r,s,o){return Om(me(e,t,r,s,o,!0))}function Nr(e){return e?e.__v_isVNode===!0:!1}function Mn(e,t){return e.type===t.type&&e.key===t.key}function VS(e){}const Ha="__vInternal",Rm=({key:e})=>e??null,la=({ref:e,ref_key:t,ref_for:r})=>(typeof e=="number"&&(e=""+e),e!=null?wt(e)||_t(e)||Be(e)?{i:Tt,r:e,k:t,f:!!r}:e:null);function te(e,t=null,r=null,s=0,o=null,l=e===et?0:1,u=!1,c=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Rm(t),ref:t&&la(t),scopeId:Wa,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Tt};return c?(pc(f,r),l&128&&e.normalize(f)):r&&(f.shapeFlag|=wt(r)?8:16),ai>0&&!u&&en&&(f.patchFlag>0||l&6)&&f.patchFlag!==32&&en.push(f),f}const me=y5;function y5(e,t=null,r=null,s=0,o=null,l=!1){if((!e||e===vm)&&(e=Kt),Nr(e)){const c=ar(e,t,!0);return r&&pc(c,r),ai>0&&!l&&en&&(c.shapeFlag&6?en[en.indexOf(e)]=c:en.push(c)),c.patchFlag|=-2,c}if(C5(e)&&(e=e.__vccOpts),t){t=_5(t);let{class:c,style:f}=t;c&&!wt(c)&&(t.class=Je(c)),ft(f)&&(em(f)&&!ke(f)&&(f=bt({},f)),t.style=Fr(f))}const u=wt(e)?1:um(e)?128:m5(e)?64:ft(e)?4:Be(e)?2:0;return te(e,t,r,s,o,u,l,!0)}function _5(e){return e?em(e)||Ha in e?bt({},e):e:null}function ar(e,t,r=!1){const{props:s,ref:o,patchFlag:l,children:u}=e,c=t?b5(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Rm(c),ref:t&&t.ref?r&&o?ke(o)?o.concat(la(t)):[o,la(t)]:la(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:u,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==et?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ar(e.ssContent),ssFallback:e.ssFallback&&ar(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Ua(e=" ",t=0){return me(Ui,null,e,t)}function FS(e,t){const r=me(Ni,null,e);return r.staticCount=t,r}function Ne(e="",t=!1){return t?(ne(),je(Kt,null,e)):me(Kt,null,e)}function hn(e){return e==null||typeof e=="boolean"?me(Kt):ke(e)?me(et,null,e.slice()):typeof e=="object"?kr(e):me(Ui,null,String(e))}function kr(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ar(e)}function pc(e,t){let r=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(ke(t))r=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),pc(e,o()),o._c&&(o._d=!0));return}else{r=32;const o=t._;!o&&!(Ha in t)?t._ctx=Tt:o===3&&Tt&&(Tt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Be(t)?(t={default:t,_ctx:Tt},r=32):(t=String(t),s&64?(r=16,t=[Ua(t)]):r=8);e.children=t,e.shapeFlag|=r}function b5(...e){const t={};for(let r=0;rEt||Tt;let mc,Ri,kh="__VUE_INSTANCE_SETTERS__";(Ri=Au()[kh])||(Ri=Au()[kh]=[]),Ri.push(e=>Et=e),mc=e=>{Ri.length>1?Ri.forEach(t=>t(e)):Ri[0](e)};const Wr=e=>{mc(e),e.scope.on()},Mr=()=>{Et&&Et.scope.off(),mc(null)};function Im(e){return e.vnode.shapeFlag&4}let qi=!1;function Mm(e,t=!1){qi=t;const{props:r,children:s}=e.vnode,o=Im(e);o5(e,r,o,t),u5(e,s);const l=o?x5(e,t):void 0;return qi=!1,l}function x5(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=$a(new Proxy(e.ctx,Su));const{setup:s}=r;if(s){const o=e.setupContext=s.length>1?$m(e):null;Wr(e),Yi();const l=Ir(s,e,0,[e.props,o]);if(Ji(),Mr(),Ju(l)){if(l.then(Mr,Mr),t)return l.then(u=>{Mu(e,u,t)}).catch(u=>{Qi(u,e,0)});e.asyncDep=l}else Mu(e,l,t)}else Lm(e,t)}function Mu(e,t,r){Be(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ft(t)&&(e.setupState=nm(t)),Lm(e,r)}let ba,Lu;function HS(e){ba=e,Lu=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,JA))}}const US=()=>!ba;function Lm(e,t,r){const s=e.type;if(!e.render){if(!t&&ba&&!s.render){const o=s.template||fc(e).template;if(o){const{isCustomElement:l,compilerOptions:u}=e.appContext.config,{delimiters:c,compilerOptions:f}=s,h=bt(bt({isCustomElement:l,delimiters:c},u),f);s.render=ba(o,h)}}e.render=s.render||Ln,Lu&&Lu(e)}{Wr(e),Yi();try{XA(e)}finally{Ji(),Mr()}}}function P5(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,r){return rn(e,"get","$attrs"),t[r]}}))}function $m(e){const t=r=>{e.exposed=r||{}};return{get attrs(){return P5(e)},slots:e.slots,emit:e.emit,expose:t}}function qa(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(nm($a(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in Is)return Is[r](e)},has(t,r){return r in t||r in Is}}))}function $u(e,t=!0){return Be(e)?e.displayName||e.name:e.name||t&&e.__name}function C5(e){return Be(e)&&"__vccOpts"in e}const Ve=(e,t)=>yA(e,t,qi);function vc(e,t,r){const s=arguments.length;return s===2?ft(t)&&!ke(t)?Nr(t)?me(e,null,[t]):me(e,t):me(e,null,t):(s>3?r=Array.prototype.slice.call(arguments,2):s===3&&Nr(r)&&(r=[r]),me(e,t,r))}const E5=Symbol.for("v-scx"),k5=()=>nn(E5);function qS(){}function jS(e,t,r,s){const o=r[s];if(o&&S5(o,e))return o;const l=t();return l.memo=e.slice(),r[s]=l}function S5(e,t){const r=e.memo;if(r.length!=t.length)return!1;for(let s=0;s0&&en&&en.push(e),!0}const O5="3.3.6",R5={createComponentInstance:Tm,setupComponent:Mm,renderComponentRoot:aa,setCurrentRenderingInstance:qs,isVNode:Nr,normalizeVNode:hn},KS=R5,zS=null,ZS=null,T5="http://www.w3.org/2000/svg",ni=typeof document<"u"?document:null,Sh=ni&&ni.createElement("template"),I5={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,s)=>{const o=t?ni.createElementNS(T5,e):ni.createElement(e,r?{is:r}:void 0);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>ni.createTextNode(e),createComment:e=>ni.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ni.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,s,o,l){const u=r?r.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),r),!(o===l||!(o=o.nextSibling)););else{Sh.innerHTML=s?`${e}`:e;const c=Sh.content;if(s){const f=c.firstChild;for(;f.firstChild;)c.appendChild(f.firstChild);c.removeChild(f)}t.insertBefore(c,r)}return[u?u.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},Ar="transition",vs="animation",ji=Symbol("_vtc"),Dm=(e,{slots:t})=>vc(NA,Nm(e),t);Dm.displayName="Transition";const Bm={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},M5=Dm.props=bt({},hm,Bm),ei=(e,t=[])=>{ke(e)?e.forEach(r=>r(...t)):e&&e(...t)},Oh=e=>e?ke(e)?e.some(t=>t.length>1):e.length>1:!1;function Nm(e){const t={};for(const G in e)G in Bm||(t[G]=e[G]);if(e.css===!1)return t;const{name:r="v",type:s,duration:o,enterFromClass:l=`${r}-enter-from`,enterActiveClass:u=`${r}-enter-active`,enterToClass:c=`${r}-enter-to`,appearFromClass:f=l,appearActiveClass:h=u,appearToClass:p=c,leaveFromClass:v=`${r}-leave-from`,leaveActiveClass:m=`${r}-leave-active`,leaveToClass:A=`${r}-leave-to`}=e,C=L5(o),S=C&&C[0],D=C&&C[1],{onBeforeEnter:O,onEnter:k,onEnterCancelled:M,onLeave:E,onLeaveCancelled:T,onBeforeAppear:H=O,onAppear:U=k,onAppearCancelled:N=M}=t,j=(G,V,w)=>{Pr(G,V?p:c),Pr(G,V?h:u),w&&w()},K=(G,V)=>{G._isLeaving=!1,Pr(G,v),Pr(G,A),Pr(G,m),V&&V()},q=G=>(V,w)=>{const I=G?U:k,F=()=>j(V,G,w);ei(I,[V,F]),Rh(()=>{Pr(V,G?f:l),nr(V,G?p:c),Oh(I)||Th(V,s,S,F)})};return bt(t,{onBeforeEnter(G){ei(O,[G]),nr(G,l),nr(G,u)},onBeforeAppear(G){ei(H,[G]),nr(G,f),nr(G,h)},onEnter:q(!1),onAppear:q(!0),onLeave(G,V){G._isLeaving=!0;const w=()=>K(G,V);nr(G,v),Vm(),nr(G,m),Rh(()=>{G._isLeaving&&(Pr(G,v),nr(G,A),Oh(E)||Th(G,s,D,w))}),ei(E,[G,w])},onEnterCancelled(G){j(G,!1),ei(M,[G])},onAppearCancelled(G){j(G,!0),ei(N,[G])},onLeaveCancelled(G){K(G),ei(T,[G])}})}function L5(e){if(e==null)return null;if(ft(e))return[pu(e.enter),pu(e.leave)];{const t=pu(e);return[t,t]}}function pu(e){return pa(e)}function nr(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.add(r)),(e[ji]||(e[ji]=new Set)).add(t)}function Pr(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const r=e[ji];r&&(r.delete(t),r.size||(e[ji]=void 0))}function Rh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let $5=0;function Th(e,t,r,s){const o=e._endId=++$5,l=()=>{o===e._endId&&s()};if(r)return setTimeout(l,r);const{type:u,timeout:c,propCount:f}=Wm(e,t);if(!u)return s();const h=u+"end";let p=0;const v=()=>{e.removeEventListener(h,m),l()},m=A=>{A.target===e&&++p>=f&&v()};setTimeout(()=>{p(r[C]||"").split(", "),o=s(`${Ar}Delay`),l=s(`${Ar}Duration`),u=Ih(o,l),c=s(`${vs}Delay`),f=s(`${vs}Duration`),h=Ih(c,f);let p=null,v=0,m=0;t===Ar?u>0&&(p=Ar,v=u,m=l.length):t===vs?h>0&&(p=vs,v=h,m=f.length):(v=Math.max(u,h),p=v>0?u>h?Ar:vs:null,m=p?p===Ar?l.length:f.length:0);const A=p===Ar&&/\b(transform|all)(,|$)/.test(s(`${Ar}Property`).toString());return{type:p,timeout:v,propCount:m,hasTransform:A}}function Ih(e,t){for(;e.lengthMh(r)+Mh(e[s])))}function Mh(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Vm(){return document.body.offsetHeight}function D5(e,t,r){const s=e[ji];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const gc=Symbol("_vod"),wa={beforeMount(e,{value:t},{transition:r}){e[gc]=e.style.display==="none"?"":e.style.display,r&&t?r.beforeEnter(e):gs(e,t)},mounted(e,{value:t},{transition:r}){r&&t&&r.enter(e)},updated(e,{value:t,oldValue:r},{transition:s}){!t!=!r&&(s?t?(s.beforeEnter(e),gs(e,!0),s.enter(e)):s.leave(e,()=>{gs(e,!1)}):gs(e,t))},beforeUnmount(e,{value:t}){gs(e,t)}};function gs(e,t){e.style.display=t?e[gc]:"none"}function B5(){wa.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}}}function N5(e,t,r){const s=e.style,o=wt(r);if(r&&!o){if(t&&!wt(t))for(const l in t)r[l]==null&&Du(s,l,"");for(const l in r)Du(s,l,r[l])}else{const l=s.display;o?t!==r&&(s.cssText=r):t&&e.removeAttribute("style"),gc in e&&(s.display=l)}}const Lh=/\s*!important$/;function Du(e,t,r){if(ke(r))r.forEach(s=>Du(e,t,s));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const s=W5(e,t);Lh.test(r)?e.setProperty(Pn(s),r.replace(Lh,""),"important"):e[s]=r}}const $h=["Webkit","Moz","ms"],mu={};function W5(e,t){const r=mu[t];if(r)return r;let s=pn(t);if(s!=="filter"&&s in e)return mu[t]=s;s=Ra(s);for(let o=0;o<$h.length;o++){const l=$h[o]+s;if(l in e)return mu[t]=l}return t}const Dh="http://www.w3.org/1999/xlink";function V5(e,t,r,s,o){if(s&&t.startsWith("xlink:"))r==null?e.removeAttributeNS(Dh,t.slice(6,t.length)):e.setAttributeNS(Dh,t,r);else{const l=V2(t);r==null||l&&!Lp(r)?e.removeAttribute(t):e.setAttribute(t,l?"":r)}}function F5(e,t,r,s,o,l,u){if(t==="innerHTML"||t==="textContent"){s&&u(s,o,l),e[t]=r??"";return}const c=e.tagName;if(t==="value"&&c!=="PROGRESS"&&!c.includes("-")){e._value=r;const h=c==="OPTION"?e.getAttribute("value"):e.value,p=r??"";h!==p&&(e.value=p),r==null&&e.removeAttribute(t);return}let f=!1;if(r===""||r==null){const h=typeof e[t];h==="boolean"?r=Lp(r):r==null&&h==="string"?(r="",f=!0):h==="number"&&(r=0,f=!0)}try{e[t]=r}catch{}f&&e.removeAttribute(t)}function sr(e,t,r,s){e.addEventListener(t,r,s)}function H5(e,t,r,s){e.removeEventListener(t,r,s)}const Bh=Symbol("_vei");function U5(e,t,r,s,o=null){const l=e[Bh]||(e[Bh]={}),u=l[t];if(s&&u)u.value=s;else{const[c,f]=q5(t);if(s){const h=l[t]=z5(s,o);sr(e,c,h,f)}else u&&(H5(e,c,u,f),l[t]=void 0)}}const Nh=/(?:Once|Passive|Capture)$/;function q5(e){let t;if(Nh.test(e)){t={};let s;for(;s=e.match(Nh);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Pn(e.slice(2)),t]}let vu=0;const j5=Promise.resolve(),K5=()=>vu||(j5.then(()=>vu=0),vu=Date.now());function z5(e,t){const r=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=r.attached)return;Cn(Z5(s,r.value),t,5,[s])};return r.value=e,r.attached=K5(),r}function Z5(e,t){if(ke(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const Wh=/^on[a-z]/,G5=(e,t,r,s,o=!1,l,u,c,f)=>{t==="class"?D5(e,s,o):t==="style"?N5(e,r,s):Js(t)?Gu(t)||U5(e,t,r,s,u):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Y5(e,t,s,o))?F5(e,t,s,l,u,c,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),V5(e,t,s,o))};function Y5(e,t,r,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Wh.test(t)&&Be(r)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Wh.test(t)&&wt(r)?!1:t in e}/*! #__NO_SIDE_EFFECTS__ */function J5(e,t){const r=ze(e);class s extends yc{constructor(l){super(r,l,t)}}return s.def=r,s}/*! #__NO_SIDE_EFFECTS__ */const GS=e=>J5(e,cx),X5=typeof HTMLElement<"u"?HTMLElement:class{};class yc extends X5{constructor(t,r={},s){super(),this._def=t,this._props=r,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this._ob=null,this.shadowRoot&&s?s(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,this._ob&&(this._ob.disconnect(),this._ob=null),lr(()=>{this._connected||(jh(null,this.shadowRoot),this._instance=null)})}_resolveDef(){this._resolved=!0;for(let s=0;s{for(const o of s)this._setAttr(o.attributeName)}),this._ob.observe(this,{attributes:!0});const t=(s,o=!1)=>{const{props:l,styles:u}=s;let c;if(l&&!ke(l))for(const f in l){const h=l[f];(h===Number||h&&h.type===Number)&&(f in this._props&&(this._props[f]=pa(this._props[f])),(c||(c=Object.create(null)))[pn(f)]=!0)}this._numberProps=c,o&&this._resolveProps(s),this._applyStyles(u),this._update()},r=this._def.__asyncLoader;r?r().then(s=>t(s,!0)):t(this._def)}_resolveProps(t){const{props:r}=t,s=ke(r)?r:Object.keys(r||{});for(const o of Object.keys(this))o[0]!=="_"&&s.includes(o)&&this._setProp(o,this[o],!0,!1);for(const o of s.map(pn))Object.defineProperty(this,o,{get(){return this._getProp(o)},set(l){this._setProp(o,l)}})}_setAttr(t){let r=this.getAttribute(t);const s=pn(t);this._numberProps&&this._numberProps[s]&&(r=pa(r)),this._setProp(s,r,!1)}_getProp(t){return this._props[t]}_setProp(t,r,s=!0,o=!0){r!==this._props[t]&&(this._props[t]=r,o&&this._instance&&this._update(),s&&(r===!0?this.setAttribute(Pn(t),""):typeof r=="string"||typeof r=="number"?this.setAttribute(Pn(t),r+""):r||this.removeAttribute(Pn(t))))}_update(){jh(this._createVNode(),this.shadowRoot)}_createVNode(){const t=me(this._def,bt({},this._props));return this._instance||(t.ce=r=>{this._instance=r,r.isCE=!0;const s=(l,u)=>{this.dispatchEvent(new CustomEvent(l,{detail:u}))};r.emit=(l,...u)=>{s(l,u),Pn(l)!==l&&s(Pn(l),u)};let o=this;for(;o=o&&(o.parentNode||o.host);)if(o instanceof yc){r.parent=o._instance,r.provides=o._instance.provides;break}}),t}_applyStyles(t){t&&t.forEach(r=>{const s=document.createElement("style");s.textContent=r,this.shadowRoot.appendChild(s)})}}function YS(e="$style"){{const t=Hr();if(!t)return ct;const r=t.type.__cssModules;if(!r)return ct;const s=r[e];return s||ct}}function JS(e){const t=Hr();if(!t)return;const r=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(l=>Nu(l,o))},s=()=>{const o=e(t.proxy);Bu(t.subTree,o),r(o)};$A(s),Vt(()=>{const o=new MutationObserver(s);o.observe(t.subTree.el.parentNode,{childList:!0}),lc(()=>o.disconnect())})}function Bu(e,t){if(e.shapeFlag&128){const r=e.suspense;e=r.activeBranch,r.pendingBranch&&!r.isHydrating&&r.effects.push(()=>{Bu(r.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Nu(e.el,t);else if(e.type===et)e.children.forEach(r=>Bu(r,t));else if(e.type===Ni){let{el:r,anchor:s}=e;for(;r&&(Nu(r,t),r!==s);)r=r.nextSibling}}function Nu(e,t){if(e.nodeType===1){const r=e.style;for(const s in t)r.setProperty(`--${s}`,t[s])}}const Fm=new WeakMap,Hm=new WeakMap,Aa=Symbol("_moveCb"),Vh=Symbol("_enterCb"),Um={name:"TransitionGroup",props:bt({},M5,{tag:String,moveClass:String}),setup(e,{slots:t}){const r=Hr(),s=dm();let o,l;return ac(()=>{if(!o.length)return;const u=e.moveClass||`${e.name||"v"}-move`;if(!rx(o[0].el,r.vnode.el,u))return;o.forEach(ex),o.forEach(tx);const c=o.filter(nx);Vm(),c.forEach(f=>{const h=f.el,p=h.style;nr(h,u),p.transform=p.webkitTransform=p.transitionDuration="";const v=h[Aa]=m=>{m&&m.target!==h||(!m||/transform$/.test(m.propertyName))&&(h.removeEventListener("transitionend",v),h[Aa]=null,Pr(h,u))};h.addEventListener("transitionend",v)})}),()=>{const u=tt(e),c=Nm(u);let f=u.tag||et;o=l,l=t.default?oc(t.default()):[];for(let h=0;hdelete e.mode;Um.props;const XS=Um;function ex(e){const t=e.el;t[Aa]&&t[Aa](),t[Vh]&&t[Vh]()}function tx(e){Hm.set(e,e.el.getBoundingClientRect())}function nx(e){const t=Fm.get(e),r=Hm.get(e),s=t.left-r.left,o=t.top-r.top;if(s||o){const l=e.el.style;return l.transform=l.webkitTransform=`translate(${s}px,${o}px)`,l.transitionDuration="0s",e}}function rx(e,t,r){const s=e.cloneNode(),o=e[ji];o&&o.forEach(c=>{c.split(/\s+/).forEach(f=>f&&s.classList.remove(f))}),r.split(/\s+/).forEach(c=>c&&s.classList.add(c)),s.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(s);const{hasTransform:u}=Wm(s);return l.removeChild(s),u}const Vr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ke(t)?r=>$i(t,r):t};function ix(e){e.target.composing=!0}function Fh(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const En=Symbol("_assign"),Wu={created(e,{modifiers:{lazy:t,trim:r,number:s}},o){e[En]=Vr(o);const l=s||o.props&&o.props.type==="number";sr(e,t?"change":"input",u=>{if(u.target.composing)return;let c=e.value;r&&(c=c.trim()),l&&(c=ha(c)),e[En](c)}),r&&sr(e,"change",()=>{e.value=e.value.trim()}),t||(sr(e,"compositionstart",ix),sr(e,"compositionend",Fh),sr(e,"change",Fh))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:r,trim:s,number:o}},l){if(e[En]=Vr(l),e.composing||document.activeElement===e&&e.type!=="range"&&(r||s&&e.value.trim()===t||(o||e.type==="number")&&ha(e.value)===t))return;const u=t??"";e.value!==u&&(e.value=u)}},qm={deep:!0,created(e,t,r){e[En]=Vr(r),sr(e,"change",()=>{const s=e._modelValue,o=Ki(e),l=e.checked,u=e[En];if(ke(s)){const c=Ta(s,o),f=c!==-1;if(l&&!f)u(s.concat(o));else if(!l&&f){const h=[...s];h.splice(c,1),u(h)}}else if(ui(s)){const c=new Set(s);l?c.add(o):c.delete(o),u(c)}else u(Km(e,l))})},mounted:Hh,beforeUpdate(e,t,r){e[En]=Vr(r),Hh(e,t,r)}};function Hh(e,{value:t,oldValue:r},s){e._modelValue=t,ke(t)?e.checked=Ta(t,s.props.value)>-1:ui(t)?e.checked=t.has(s.props.value):t!==r&&(e.checked=Dr(t,Km(e,!0)))}const jm={created(e,{value:t},r){e.checked=Dr(t,r.props.value),e[En]=Vr(r),sr(e,"change",()=>{e[En](Ki(e))})},beforeUpdate(e,{value:t,oldValue:r},s){e[En]=Vr(s),t!==r&&(e.checked=Dr(t,s.props.value))}},sx={deep:!0,created(e,{value:t,modifiers:{number:r}},s){const o=ui(t);sr(e,"change",()=>{const l=Array.prototype.filter.call(e.options,u=>u.selected).map(u=>r?ha(Ki(u)):Ki(u));e[En](e.multiple?o?new Set(l):l:l[0])}),e[En]=Vr(s)},mounted(e,{value:t}){Uh(e,t)},beforeUpdate(e,t,r){e[En]=Vr(r)},updated(e,{value:t}){Uh(e,t)}};function Uh(e,t){const r=e.multiple;if(!(r&&!ke(t)&&!ui(t))){for(let s=0,o=e.options.length;s-1:l.selected=t.has(u);else if(Dr(Ki(l),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!r&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ki(e){return"_value"in e?e._value:e.value}function Km(e,t){const r=t?"_trueValue":"_falseValue";return r in e?e[r]:t}const _c={created(e,t,r){ra(e,t,r,null,"created")},mounted(e,t,r){ra(e,t,r,null,"mounted")},beforeUpdate(e,t,r,s){ra(e,t,r,s,"beforeUpdate")},updated(e,t,r,s){ra(e,t,r,s,"updated")}};function zm(e,t){switch(e){case"SELECT":return sx;case"TEXTAREA":return Wu;default:switch(t){case"checkbox":return qm;case"radio":return jm;default:return Wu}}}function ra(e,t,r,s,o){const u=zm(e.tagName,r.props&&r.props.type)[o];u&&u(e,t,r,s)}function ox(){Wu.getSSRProps=({value:e})=>({value:e}),jm.getSSRProps=({value:e},t)=>{if(t.props&&Dr(t.props.value,e))return{checked:!0}},qm.getSSRProps=({value:e},t)=>{if(ke(e)){if(t.props&&Ta(e,t.props.value)>-1)return{checked:!0}}else if(ui(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},_c.getSSRProps=(e,t)=>{if(typeof t.type!="string")return;const r=zm(t.type.toUpperCase(),t.props&&t.props.type);if(r.getSSRProps)return r.getSSRProps(e,t)}}const ax=["ctrl","shift","alt","meta"],lx={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>ax.some(r=>e[`${r}Key`]&&!t.includes(r))},Wt=(e,t)=>(r,...s)=>{for(let o=0;or=>{if(!("key"in r))return;const s=Pn(r.key);if(t.some(o=>o===s||ux[o]===s))return e(r)},Zm=bt({patchProp:G5},I5);let $s,qh=!1;function Gm(){return $s||($s=d5(Zm))}function Ym(){return $s=qh?$s:h5(Zm),qh=!0,$s}const jh=(...e)=>{Gm().render(...e)},cx=(...e)=>{Ym().hydrate(...e)},fx=(...e)=>{const t=Gm().createApp(...e),{mount:r}=t;return t.mount=s=>{const o=Jm(s);if(!o)return;const l=t._component;!Be(l)&&!l.render&&!l.template&&(l.template=o.innerHTML),o.innerHTML="";const u=r(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),u},t},e6=(...e)=>{const t=Ym().createApp(...e),{mount:r}=t;return t.mount=s=>{const o=Jm(s);if(o)return r(o,!0,o instanceof SVGElement)},t};function Jm(e){return wt(e)?document.querySelector(e):e}let Kh=!1;const t6=()=>{Kh||(Kh=!0,ox(),B5())};const ot=(e,t)=>{const r=e.__vccOpts||e;for(const[s,o]of t)r[s]=o;return r},dx={name:"Marquee",mounted(){this.update(),window.addEventListener("resize",this.update)},data(){return{isMarquee:!1}},methods:{isTruncated(e){return e?e.scrollWidth>e.clientWidth:!1},update(){this.isMarquee=!1,setTimeout(()=>{this.isMarquee=this.isTruncated(this.$refs.marquee)},10)}},props:{text:String},watch:{text(){this.update()}}},hx={key:0,class:"replacer"},px={key:0,class:"overlay"};function mx(e,t,r,s,o,l){return ne(),ge("div",{class:Je([{marquee:o.isMarquee},"marqueeWrapper"])},[te("span",{ref:"marquee",class:Je({marquee:o.isMarquee})},[Ua(We(r.text)+" ",1),o.isMarquee?(ne(),ge("span",hx,We(r.text),1)):Ne("",!0)],2),o.isMarquee?(ne(),ge("div",px)):Ne("",!0)],2)}const ir=ot(dx,[["render",mx],["__scopeId","data-v-625a8655"]]);var vx=!1;/*! +var P2=Object.defineProperty;var C2=(e,t,r)=>t in e?P2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Oi=(e,t,r)=>(C2(e,typeof t!="symbol"?t+"":t,r),r);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function r(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(o){if(o.ep)return;o.ep=!0;const l=r(o);fetch(o.href,l)}})();function Sa(e,t){const r=Object.create(null),s=e.split(",");for(let o=0;o!!r[o.toLowerCase()]:o=>!!r[o]}const ct={},Li=[],Ln=()=>{},E2=()=>!1,k2=/^on[^a-z]/,Js=e=>k2.test(e),Gu=e=>e.startsWith("onUpdate:"),bt=Object.assign,Yu=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},S2=Object.prototype.hasOwnProperty,nt=(e,t)=>S2.call(e,t),ke=Array.isArray,$i=e=>Yi(e)==="[object Map]",ui=e=>Yi(e)==="[object Set]",ih=e=>Yi(e)==="[object Date]",O2=e=>Yi(e)==="[object RegExp]",Be=e=>typeof e=="function",wt=e=>typeof e=="string",Ws=e=>typeof e=="symbol",ft=e=>e!==null&&typeof e=="object",Ju=e=>(ft(e)||Be(e))&&Be(e.then)&&Be(e.catch),Ip=Object.prototype.toString,Yi=e=>Ip.call(e),R2=e=>Yi(e).slice(8,-1),Mp=e=>Yi(e)==="[object Object]",Xu=e=>wt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ts=Sa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Oa=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},T2=/-(\w)/g,pn=Oa(e=>e.replace(T2,(t,r)=>r?r.toUpperCase():"")),I2=/\B([A-Z])/g,Pn=Oa(e=>e.replace(I2,"-$1").toLowerCase()),Ra=Oa(e=>e.charAt(0).toUpperCase()+e.slice(1)),oa=Oa(e=>e?`on${Ra(e)}`:""),$r=(e,t)=>!Object.is(e,t),Di=(e,t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:r})},ha=e=>{const t=parseFloat(e);return isNaN(t)?e:t},pa=e=>{const t=wt(e)?Number(e):NaN;return isNaN(t)?e:t};let sh;const Au=()=>sh||(sh=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),M2="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console",L2=Sa(M2);function Fr(e){if(ke(e)){const t={};for(let r=0;r{if(r){const s=r.split(D2);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Je(e){let t="";if(wt(e))t=e;else if(ke(e))for(let r=0;rDr(r,t))}const We=e=>wt(e)?e:e==null?"":ke(e)||ft(e)&&(e.toString===Ip||!Be(e.toString))?JSON.stringify(e,$p,2):String(e),$p=(e,t)=>t&&t.__v_isRef?$p(e,t.value):$i(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[s,o])=>(r[`${s} =>`]=o,r),{})}:ui(t)?{[`Set(${t.size})`]:[...t.values()]}:ft(t)&&!ke(t)&&!Mp(t)?String(t):t;let dn;class Dp{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=dn,!t&&dn&&(this.index=(dn.scopes||(dn.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const r=dn;try{return dn=this,t()}finally{dn=r}}}on(){dn=this}off(){dn=this.parent}stop(t){if(this._active){let r,s;for(r=0,s=this.effects.length;r{const t=new Set(e);return t.w=0,t.n=0,t},Vp=e=>(e.w&Br)>0,Fp=e=>(e.n&Br)>0,U2=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let r=0;for(let s=0;s{(p==="length"||p>=f)&&c.push(h)})}else switch(r!==void 0&&c.push(u.get(r)),t){case"add":ke(e)?Xu(r)&&c.push(u.get("length")):(c.push(u.get(ii)),$i(e)&&c.push(u.get(Pu)));break;case"delete":ke(e)||(c.push(u.get(ii)),$i(e)&&c.push(u.get(Pu)));break;case"set":$i(e)&&c.push(u.get(ii));break}if(c.length===1)c[0]&&Cu(c[0]);else{const f=[];for(const h of c)h&&f.push(...h);Cu(Qu(f))}}function Cu(e,t){const r=ke(e)?e:[...e];for(const s of r)s.computed&&ah(s);for(const s of r)s.computed||ah(s)}function ah(e,t){(e!==In||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function j2(e,t){var r;return(r=ma.get(e))==null?void 0:r.get(t)}const K2=Sa("__proto__,__v_isRef,__isVue"),qp=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ws)),lh=z2();function z2(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...r){const s=tt(this);for(let l=0,u=this.length;l{e[t]=function(...r){Ji();const s=tt(this)[t].apply(this,r);return Xi(),s}}),e}function Z2(e){const t=tt(this);return rn(t,"has",e),t.hasOwnProperty(e)}class jp{constructor(t=!1,r=!1){this._isReadonly=t,this._shallow=r}get(t,r,s){const o=this._isReadonly,l=this._shallow;if(r==="__v_isReactive")return!o;if(r==="__v_isReadonly")return o;if(r==="__v_isShallow")return l;if(r==="__v_raw"&&s===(o?l?Jp:Yp:l?Gp:Zp).get(t))return t;const u=ke(t);if(!o){if(u&&nt(lh,r))return Reflect.get(lh,r,s);if(r==="hasOwnProperty")return Z2}const c=Reflect.get(t,r,s);return(Ws(r)?qp.has(r):K2(r))||(o||rn(t,"get",r),l)?c:_t(c)?u&&Xu(r)?c:c.value:ft(c)?o?Qp(c):Qi(c):c}}class Kp extends jp{constructor(t=!1){super(!1,t)}set(t,r,s,o){let l=t[r];if(Vi(l)&&_t(l)&&!_t(s))return!1;if(!this._shallow&&(!va(s)&&!Vi(s)&&(l=tt(l),s=tt(s)),!ke(t)&&_t(l)&&!_t(s)))return l.value=s,!0;const u=ke(t)&&Xu(r)?Number(r)e,Ia=e=>Reflect.getPrototypeOf(e);function Ko(e,t,r=!1,s=!1){e=e.__v_raw;const o=tt(e),l=tt(t);r||($r(t,l)&&rn(o,"get",t),rn(o,"get",l));const{has:u}=Ia(o),c=s?ec:r?tc:Fs;if(u.call(o,t))return c(e.get(t));if(u.call(o,l))return c(e.get(l));e!==o&&e.get(t)}function zo(e,t=!1){const r=this.__v_raw,s=tt(r),o=tt(e);return t||($r(e,o)&&rn(s,"has",e),rn(s,"has",o)),e===o?r.has(e):r.has(e)||r.has(o)}function Zo(e,t=!1){return e=e.__v_raw,!t&&rn(tt(e),"iterate",ii),Reflect.get(e,"size",e)}function uh(e){e=tt(e);const t=tt(this);return Ia(t).has.call(t,e)||(t.add(e),or(t,"add",e,e)),this}function ch(e,t){t=tt(t);const r=tt(this),{has:s,get:o}=Ia(r);let l=s.call(r,e);l||(e=tt(e),l=s.call(r,e));const u=o.call(r,e);return r.set(e,t),l?$r(t,u)&&or(r,"set",e,t):or(r,"add",e,t),this}function fh(e){const t=tt(this),{has:r,get:s}=Ia(t);let o=r.call(t,e);o||(e=tt(e),o=r.call(t,e)),s&&s.call(t,e);const l=t.delete(e);return o&&or(t,"delete",e,void 0),l}function dh(){const e=tt(this),t=e.size!==0,r=e.clear();return t&&or(e,"clear",void 0,void 0),r}function Go(e,t){return function(s,o){const l=this,u=l.__v_raw,c=tt(u),f=t?ec:e?tc:Fs;return!e&&rn(c,"iterate",ii),u.forEach((h,p)=>s.call(o,f(h),f(p),l))}}function Yo(e,t,r){return function(...s){const o=this.__v_raw,l=tt(o),u=$i(l),c=e==="entries"||e===Symbol.iterator&&u,f=e==="keys"&&u,h=o[e](...s),p=r?ec:t?tc:Fs;return!t&&rn(l,"iterate",f?Pu:ii),{next(){const{value:v,done:m}=h.next();return m?{value:v,done:m}:{value:c?[p(v[0]),p(v[1])]:p(v),done:m}},[Symbol.iterator](){return this}}}}function br(e){return function(...t){return e==="delete"?!1:this}}function Q2(){const e={get(l){return Ko(this,l)},get size(){return Zo(this)},has:zo,add:uh,set:ch,delete:fh,clear:dh,forEach:Go(!1,!1)},t={get(l){return Ko(this,l,!1,!0)},get size(){return Zo(this)},has:zo,add:uh,set:ch,delete:fh,clear:dh,forEach:Go(!1,!0)},r={get(l){return Ko(this,l,!0)},get size(){return Zo(this,!0)},has(l){return zo.call(this,l,!0)},add:br("add"),set:br("set"),delete:br("delete"),clear:br("clear"),forEach:Go(!0,!1)},s={get(l){return Ko(this,l,!0,!0)},get size(){return Zo(this,!0)},has(l){return zo.call(this,l,!0)},add:br("add"),set:br("set"),delete:br("delete"),clear:br("clear"),forEach:Go(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{e[l]=Yo(l,!1,!1),r[l]=Yo(l,!0,!1),t[l]=Yo(l,!1,!0),s[l]=Yo(l,!0,!0)}),[e,r,t,s]}const[eA,tA,nA,rA]=Q2();function Ma(e,t){const r=t?e?rA:nA:e?tA:eA;return(s,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(nt(r,o)&&o in s?r:s,o,l)}const iA={get:Ma(!1,!1)},sA={get:Ma(!1,!0)},oA={get:Ma(!0,!1)},aA={get:Ma(!0,!0)},Zp=new WeakMap,Gp=new WeakMap,Yp=new WeakMap,Jp=new WeakMap;function lA(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function uA(e){return e.__v_skip||!Object.isExtensible(e)?0:lA(R2(e))}function Qi(e){return Vi(e)?e:La(e,!1,G2,iA,Zp)}function Xp(e){return La(e,!1,J2,sA,Gp)}function Qp(e){return La(e,!0,Y2,oA,Yp)}function cS(e){return La(e,!0,X2,aA,Jp)}function La(e,t,r,s,o){if(!ft(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=o.get(e);if(l)return l;const u=uA(e);if(u===0)return e;const c=new Proxy(e,u===2?s:r);return o.set(e,c),c}function Tr(e){return Vi(e)?Tr(e.__v_raw):!!(e&&e.__v_isReactive)}function Vi(e){return!!(e&&e.__v_isReadonly)}function va(e){return!!(e&&e.__v_isShallow)}function em(e){return Tr(e)||Vi(e)}function tt(e){const t=e&&e.__v_raw;return t?tt(t):e}function $a(e){return da(e,"__v_skip",!0),e}const Fs=e=>ft(e)?Qi(e):e,tc=e=>ft(e)?Qp(e):e;function nc(e){Rr&&In&&(e=tt(e),Up(e.dep||(e.dep=Qu())))}function Da(e,t){e=tt(e);const r=e.dep;r&&Cu(r)}function _t(e){return!!(e&&e.__v_isRef===!0)}function Pe(e){return tm(e,!1)}function cA(e){return tm(e,!0)}function tm(e,t){return _t(e)?e:new fA(e,t)}class fA{constructor(t,r){this.__v_isShallow=r,this.dep=void 0,this.__v_isRef=!0,this._rawValue=r?t:tt(t),this._value=r?t:Fs(t)}get value(){return nc(this),this._value}set value(t){const r=this.__v_isShallow||va(t)||Vi(t);t=r?t:tt(t),$r(t,this._rawValue)&&(this._rawValue=t,this._value=r?t:Fs(t),Da(this))}}function fS(e){Da(e)}function se(e){return _t(e)?e.value:e}function dS(e){return Be(e)?e():se(e)}const dA={get:(e,t,r)=>se(Reflect.get(e,t,r)),set:(e,t,r,s)=>{const o=e[t];return _t(o)&&!_t(r)?(o.value=r,!0):Reflect.set(e,t,r,s)}};function nm(e){return Tr(e)?e:new Proxy(e,dA)}class hA{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:r,set:s}=t(()=>nc(this),()=>Da(this));this._get=r,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function hS(e){return new hA(e)}function pA(e){const t=ke(e)?new Array(e.length):{};for(const r in e)t[r]=rm(e,r);return t}class mA{constructor(t,r,s){this._object=t,this._key=r,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return j2(tt(this._object),this._key)}}class vA{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function pS(e,t,r){return _t(e)?e:Be(e)?new vA(e):ft(e)&&arguments.length>1?rm(e,t,r):Pe(e)}function rm(e,t,r){const s=e[t];return _t(s)?s:new mA(e,t,r)}class gA{constructor(t,r,s,o){this._setter=r,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new Vs(t,()=>{this._dirty||(this._dirty=!0,Da(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=s}get value(){const t=tt(this);return nc(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function yA(e,t,r=!1){let s,o;const l=Be(e);return l?(s=e,o=Ln):(s=e.get,o=e.set),new gA(s,o,l||!o,r)}function mS(e,...t){}function vS(e,t){}function Ir(e,t,r,s){let o;try{o=s?e(...s):e()}catch(l){es(l,t,r)}return o}function Cn(e,t,r,s){if(Be(e)){const l=Ir(e,t,r,s);return l&&Ju(l)&&l.catch(u=>{es(u,t,r)}),l}const o=[];for(let l=0;l>>1;Us(Nt[s])Hn&&Nt.splice(t,1)}function om(e){ke(e)?Bi.push(...e):(!rr||!rr.includes(e,e.allowRecurse?ti+1:ti))&&Bi.push(e),sm()}function hh(e,t=Hs?Hn+1:0){for(;tUs(r)-Us(s)),ti=0;tie.id==null?1/0:e.id,AA=(e,t)=>{const r=Us(e)-Us(t);if(r===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return r};function am(e){Eu=!1,Hs=!0,Nt.sort(AA);const t=Ln;try{for(Hn=0;Hnvs.emit(o,...l)),Jo=[]):typeof window<"u"&&window.HTMLElement&&!((s=(r=window.navigator)==null?void 0:r.userAgent)!=null&&s.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(l=>{xA(l,t)}),setTimeout(()=>{vs||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Jo=[])},3e3)):Jo=[]}function PA(e,t,...r){if(e.isUnmounted)return;const s=e.vnode.props||ct;let o=r;const l=t.startsWith("update:"),u=l&&t.slice(7);if(u&&u in s){const p=`${u==="modelValue"?"model":u}Modifiers`,{number:v,trim:m}=s[p]||ct;m&&(o=r.map(A=>wt(A)?A.trim():A)),v&&(o=r.map(ha))}let c,f=s[c=oa(t)]||s[c=oa(pn(t))];!f&&l&&(f=s[c=oa(Pn(t))]),f&&Cn(f,e,6,o);const h=s[c+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,Cn(h,e,6,o)}}function lm(e,t,r=!1){const s=t.emitsCache,o=s.get(e);if(o!==void 0)return o;const l=e.emits;let u={},c=!1;if(!Be(e)){const f=h=>{const p=lm(h,t,!0);p&&(c=!0,bt(u,p))};!r&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!l&&!c?(ft(e)&&s.set(e,null),null):(ke(l)?l.forEach(f=>u[f]=null):bt(u,l),ft(e)&&s.set(e,u),u)}function Na(e,t){return!e||!Js(t)?!1:(t=t.slice(2).replace(/Once$/,""),nt(e,t[0].toLowerCase()+t.slice(1))||nt(e,Pn(t))||nt(e,t))}let Tt=null,Wa=null;function qs(e){const t=Tt;return Tt=e,Wa=e&&e.type.__scopeId||null,t}function ci(e){Wa=e}function fi(){Wa=null}const gS=e=>Ot;function Ot(e,t=Tt,r){if(!t||e._n)return e;const s=(...o)=>{s._d&&Eh(-1);const l=qs(t);let u;try{u=e(...o)}finally{qs(l),s._d&&Eh(1)}return u};return s._n=!0,s._c=!0,s._d=!0,s}function aa(e){const{type:t,vnode:r,proxy:s,withProxy:o,props:l,propsOptions:[u],slots:c,attrs:f,emit:h,render:p,renderCache:v,data:m,setupState:A,ctx:C,inheritAttrs:S}=e;let D,O;const k=qs(e);try{if(r.shapeFlag&4){const E=o||s;D=hn(p.call(E,E,v,l,A,m,C)),O=f}else{const E=t;D=hn(E.length>1?E(l,{attrs:f,slots:c,emit:h}):E(l,null)),O=t.props?f:EA(f)}}catch(E){Ls.length=0,es(E,e,1),D=me(Kt)}let M=D;if(O&&S!==!1){const E=Object.keys(O),{shapeFlag:T}=M;E.length&&T&7&&(u&&E.some(Gu)&&(O=kA(O,u)),M=ar(M,O))}return r.dirs&&(M=ar(M),M.dirs=M.dirs?M.dirs.concat(r.dirs):r.dirs),r.transition&&(M.transition=r.transition),D=M,qs(k),D}function CA(e){let t;for(let r=0;r{let t;for(const r in e)(r==="class"||r==="style"||Js(r))&&((t||(t={}))[r]=e[r]);return t},kA=(e,t)=>{const r={};for(const s in e)(!Gu(s)||!(s.slice(9)in t))&&(r[s]=e[s]);return r};function SA(e,t,r){const{props:s,children:o,component:l}=e,{props:u,children:c,patchFlag:f}=t,h=l.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&f>=0){if(f&1024)return!0;if(f&16)return s?ph(s,u,h):!!u;if(f&8){const p=t.dynamicProps;for(let v=0;ve.__isSuspense,OA={name:"Suspense",__isSuspense:!0,process(e,t,r,s,o,l,u,c,f,h){e==null?RA(t,r,s,o,l,u,c,f,h):TA(e,t,r,s,o,u,c,f,h)},hydrate:IA,create:sc,normalize:MA},yS=OA;function js(e,t){const r=e.props&&e.props[t];Be(r)&&r()}function RA(e,t,r,s,o,l,u,c,f){const{p:h,o:{createElement:p}}=f,v=p("div"),m=e.suspense=sc(e,o,s,t,v,r,l,u,c,f);h(null,m.pendingBranch=e.ssContent,v,null,s,m,l,u),m.deps>0?(js(e,"onPending"),js(e,"onFallback"),h(null,e.ssFallback,t,r,s,null,l,u),Ni(m,e.ssFallback)):m.resolve(!1,!0)}function TA(e,t,r,s,o,l,u,c,{p:f,um:h,o:{createElement:p}}){const v=t.suspense=e.suspense;v.vnode=t,t.el=e.el;const m=t.ssContent,A=t.ssFallback,{activeBranch:C,pendingBranch:S,isInFallback:D,isHydrating:O}=v;if(S)v.pendingBranch=m,Mn(m,S)?(f(S,m,v.hiddenContainer,null,o,v,l,u,c),v.deps<=0?v.resolve():D&&(f(C,A,r,s,o,null,l,u,c),Ni(v,A))):(v.pendingId++,O?(v.isHydrating=!1,v.activeBranch=S):h(S,o,v),v.deps=0,v.effects.length=0,v.hiddenContainer=p("div"),D?(f(null,m,v.hiddenContainer,null,o,v,l,u,c),v.deps<=0?v.resolve():(f(C,A,r,s,o,null,l,u,c),Ni(v,A))):C&&Mn(m,C)?(f(C,m,r,s,o,v,l,u,c),v.resolve(!0)):(f(null,m,v.hiddenContainer,null,o,v,l,u,c),v.deps<=0&&v.resolve()));else if(C&&Mn(m,C))f(C,m,r,s,o,v,l,u,c),Ni(v,m);else if(js(t,"onPending"),v.pendingBranch=m,v.pendingId++,f(null,m,v.hiddenContainer,null,o,v,l,u,c),v.deps<=0)v.resolve();else{const{timeout:k,pendingId:M}=v;k>0?setTimeout(()=>{v.pendingId===M&&v.fallback(A)},k):k===0&&v.fallback(A)}}function sc(e,t,r,s,o,l,u,c,f,h,p=!1){const{p:v,m,um:A,n:C,o:{parentNode:S,remove:D}}=h;let O;const k=LA(e);k&&t!=null&&t.pendingBranch&&(O=t.pendingId,t.deps++);const M=e.props?pa(e.props.timeout):void 0,E={vnode:e,parent:t,parentComponent:r,isSVG:u,container:s,hiddenContainer:o,anchor:l,deps:0,pendingId:0,timeout:typeof M=="number"?M:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:p,isUnmounted:!1,effects:[],resolve(T=!1,H=!1){const{vnode:U,activeBranch:N,pendingBranch:j,pendingId:K,effects:q,parentComponent:G,container:V}=E;if(E.isHydrating)E.isHydrating=!1;else if(!T){const F=N&&j.transition&&j.transition.mode==="out-in";F&&(N.transition.afterLeave=()=>{K===E.pendingId&&m(j,V,x,0)});let{anchor:x}=E;N&&(x=C(N),A(N,G,E,!0)),F||m(j,V,x,0)}Ni(E,j),E.pendingBranch=null,E.isInFallback=!1;let w=E.parent,I=!1;for(;w;){if(w.pendingBranch){w.effects.push(...q),I=!0;break}w=w.parent}I||om(q),E.effects=[],k&&t&&t.pendingBranch&&O===t.pendingId&&(t.deps--,t.deps===0&&!H&&t.resolve()),js(U,"onResolve")},fallback(T){if(!E.pendingBranch)return;const{vnode:H,activeBranch:U,parentComponent:N,container:j,isSVG:K}=E;js(H,"onFallback");const q=C(U),G=()=>{E.isInFallback&&(v(null,T,j,q,N,null,K,c,f),Ni(E,T))},V=T.transition&&T.transition.mode==="out-in";V&&(U.transition.afterLeave=G),E.isInFallback=!0,A(U,N,null,!0),V||G()},move(T,H,U){E.activeBranch&&m(E.activeBranch,T,H,U),E.container=T},next(){return E.activeBranch&&C(E.activeBranch)},registerDep(T,H){const U=!!E.pendingBranch;U&&E.deps++;const N=T.vnode.el;T.asyncDep.catch(j=>{es(j,T,0)}).then(j=>{if(T.isUnmounted||E.isUnmounted||E.pendingId!==T.suspenseId)return;T.asyncResolved=!0;const{vnode:K}=T;Mu(T,j,!1),N&&(K.el=N);const q=!N&&T.subTree.el;H(T,K,S(N||T.subTree.el),N?null:C(T.subTree),E,u,f),q&&D(q),ic(T,K.el),U&&--E.deps===0&&E.resolve()})},unmount(T,H){E.isUnmounted=!0,E.activeBranch&&A(E.activeBranch,r,T,H),E.pendingBranch&&A(E.pendingBranch,r,T,H)}};return E}function IA(e,t,r,s,o,l,u,c,f){const h=t.suspense=sc(t,s,r,e.parentNode,document.createElement("div"),null,o,l,u,c,!0),p=f(e,h.pendingBranch=t.ssContent,r,h,l,u);return h.deps===0&&h.resolve(!1,!0),p}function MA(e){const{shapeFlag:t,children:r}=e,s=t&32;e.ssContent=mh(s?r.default:r),e.ssFallback=s?mh(r.fallback):me(Kt)}function mh(e){let t;if(Be(e)){const r=ai&&e._c;r&&(e._d=!1,ne()),e=e(),r&&(e._d=!0,t=en,Sm())}return ke(e)&&(e=CA(e)),e=hn(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(r=>r!==e)),e}function cm(e,t){t&&t.pendingBranch?ke(e)?t.effects.push(...e):t.effects.push(e):om(e)}function Ni(e,t){e.activeBranch=t;const{vnode:r,parentComponent:s}=e,o=r.el=t.el;s&&s.subTree===r&&(s.vnode.el=o,ic(s,o))}function LA(e){var t;return((t=e.props)==null?void 0:t.suspensible)!=null&&e.props.suspensible!==!1}function _S(e,t){return Xs(e,null,t)}function $A(e,t){return Xs(e,null,{flush:"post"})}function bS(e,t){return Xs(e,null,{flush:"sync"})}const Xo={};function ut(e,t,r){return Xs(e,t,r)}function Xs(e,t,{immediate:r,deep:s,flush:o,onTrack:l,onTrigger:u}=ct){var c;const f=Wp()===((c=Et)==null?void 0:c.scope)?Et:null;let h,p=!1,v=!1;if(_t(e)?(h=()=>e.value,p=va(e)):Tr(e)?(h=()=>e,s=!0):ke(e)?(v=!0,p=e.some(E=>Tr(E)||va(E)),h=()=>e.map(E=>{if(_t(E))return E.value;if(Tr(E))return ri(E);if(Be(E))return Ir(E,f,2)})):Be(e)?t?h=()=>Ir(e,f,2):h=()=>{if(!(f&&f.isUnmounted))return m&&m(),Cn(e,f,3,[A])}:h=Ln,t&&s){const E=h;h=()=>ri(E())}let m,A=E=>{m=k.onStop=()=>{Ir(E,f,4)}},C;if(ji)if(A=Ln,t?r&&Cn(t,f,3,[h(),v?[]:void 0,A]):h(),o==="sync"){const E=k5();C=E.__watcherHandles||(E.__watcherHandles=[])}else return Ln;let S=v?new Array(e.length).fill(Xo):Xo;const D=()=>{if(k.active)if(t){const E=k.run();(s||p||(v?E.some((T,H)=>$r(T,S[H])):$r(E,S)))&&(m&&m(),Cn(t,f,3,[E,S===Xo?void 0:v&&S[0]===Xo?[]:S,A]),S=E)}else k.run()};D.allowRecurse=!!t;let O;o==="sync"?O=D:o==="post"?O=()=>$t(D,f&&f.suspense):(D.pre=!0,f&&(D.id=f.uid),O=()=>Ba(D));const k=new Vs(h,O);t?r?D():S=k.run():o==="post"?$t(k.run.bind(k),f&&f.suspense):k.run();const M=()=>{k.stop(),f&&f.scope&&Yu(f.scope.effects,k)};return C&&C.push(M),M}function DA(e,t,r){const s=this.proxy,o=wt(e)?e.includes(".")?fm(s,e):()=>s[e]:e.bind(s,s);let l;Be(t)?l=t:(l=t.handler,r=t);const u=Et;Wr(this);const c=Xs(o,l.bind(s),r);return u?Wr(u):Mr(),c}function fm(e,t){const r=t.split(".");return()=>{let s=e;for(let o=0;o{ri(r,t)});else if(Mp(e))for(const r in e)ri(e[r],t);return e}function Ks(e,t){const r=Tt;if(r===null)return e;const s=qa(r)||r.proxy,o=e.dirs||(e.dirs=[]);for(let l=0;l{e.isMounted=!0}),Fa(()=>{e.isUnmounting=!0}),e}const xn=[Function,Array],hm={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:xn,onEnter:xn,onAfterEnter:xn,onEnterCancelled:xn,onBeforeLeave:xn,onLeave:xn,onAfterLeave:xn,onLeaveCancelled:xn,onBeforeAppear:xn,onAppear:xn,onAfterAppear:xn,onAppearCancelled:xn},BA={name:"BaseTransition",props:hm,setup(e,{slots:t}){const r=Hr(),s=dm();let o;return()=>{const l=t.default&&oc(t.default(),!0);if(!l||!l.length)return;let u=l[0];if(l.length>1){for(const S of l)if(S.type!==Kt){u=S;break}}const c=tt(e),{mode:f}=c;if(s.isLeaving)return uu(u);const h=vh(u);if(!h)return uu(u);const p=zs(h,c,s,r);Fi(h,p);const v=r.subTree,m=v&&vh(v);let A=!1;const{getTransitionKey:C}=h.type;if(C){const S=C();o===void 0?o=S:S!==o&&(o=S,A=!0)}if(m&&m.type!==Kt&&(!Mn(h,m)||A)){const S=zs(m,c,s,r);if(Fi(m,S),f==="out-in")return s.isLeaving=!0,S.afterLeave=()=>{s.isLeaving=!1,r.update.active!==!1&&r.update()},uu(u);f==="in-out"&&h.type!==Kt&&(S.delayLeave=(D,O,k)=>{const M=pm(s,m);M[String(m.key)]=m,D[Er]=()=>{O(),D[Er]=void 0,delete p.delayedLeave},p.delayedLeave=k})}return u}}},NA=BA;function pm(e,t){const{leavingVNodes:r}=e;let s=r.get(t.type);return s||(s=Object.create(null),r.set(t.type,s)),s}function zs(e,t,r,s){const{appear:o,mode:l,persisted:u=!1,onBeforeEnter:c,onEnter:f,onAfterEnter:h,onEnterCancelled:p,onBeforeLeave:v,onLeave:m,onAfterLeave:A,onLeaveCancelled:C,onBeforeAppear:S,onAppear:D,onAfterAppear:O,onAppearCancelled:k}=t,M=String(e.key),E=pm(r,e),T=(N,j)=>{N&&Cn(N,s,9,j)},H=(N,j)=>{const K=j[1];T(N,j),ke(N)?N.every(q=>q.length<=1)&&K():N.length<=1&&K()},U={mode:l,persisted:u,beforeEnter(N){let j=c;if(!r.isMounted)if(o)j=S||c;else return;N[Er]&&N[Er](!0);const K=E[M];K&&Mn(e,K)&&K.el[Er]&&K.el[Er](),T(j,[N])},enter(N){let j=f,K=h,q=p;if(!r.isMounted)if(o)j=D||f,K=O||h,q=k||p;else return;let G=!1;const V=N[Qo]=w=>{G||(G=!0,w?T(q,[N]):T(K,[N]),U.delayedLeave&&U.delayedLeave(),N[Qo]=void 0)};j?H(j,[N,V]):V()},leave(N,j){const K=String(e.key);if(N[Qo]&&N[Qo](!0),r.isUnmounting)return j();T(v,[N]);let q=!1;const G=N[Er]=V=>{q||(q=!0,j(),V?T(C,[N]):T(A,[N]),N[Er]=void 0,E[K]===e&&delete E[K])};E[K]=e,m?H(m,[N,G]):G()},clone(N){return zs(N,t,r,s)}};return U}function uu(e){if(Qs(e))return e=ar(e),e.children=null,e}function vh(e){return Qs(e)?e.children?e.children[0]:void 0:e}function Fi(e,t){e.shapeFlag&6&&e.component?Fi(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function oc(e,t=!1,r){let s=[],o=0;for(let l=0;l1)for(let l=0;lbt({name:e.name},t,{setup:e}))():e}const si=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function wS(e){Be(e)&&(e={loader:e});const{loader:t,loadingComponent:r,errorComponent:s,delay:o=200,timeout:l,suspensible:u=!0,onError:c}=e;let f=null,h,p=0;const v=()=>(p++,f=null,m()),m=()=>{let A;return f||(A=f=t().catch(C=>{if(C=C instanceof Error?C:new Error(String(C)),c)return new Promise((S,D)=>{c(C,()=>S(v()),()=>D(C),p+1)});throw C}).then(C=>A!==f&&f?f:(C&&(C.__esModule||C[Symbol.toStringTag]==="Module")&&(C=C.default),h=C,C)))};return ze({name:"AsyncComponentWrapper",__asyncLoader:m,get __asyncResolved(){return h},setup(){const A=Et;if(h)return()=>cu(h,A);const C=k=>{f=null,es(k,A,13,!s)};if(u&&A.suspense||ji)return m().then(k=>()=>cu(k,A)).catch(k=>(C(k),()=>s?me(s,{error:k}):null));const S=Pe(!1),D=Pe(),O=Pe(!!o);return o&&setTimeout(()=>{O.value=!1},o),l!=null&&setTimeout(()=>{if(!S.value&&!D.value){const k=new Error(`Async component timed out after ${l}ms.`);C(k),D.value=k}},l),m().then(()=>{S.value=!0,A.parent&&Qs(A.parent.vnode)&&Ba(A.parent.update)}).catch(k=>{C(k),D.value=k}),()=>{if(S.value&&h)return cu(h,A);if(D.value&&s)return me(s,{error:D.value});if(r&&!O.value)return me(r)}}})}function cu(e,t){const{ref:r,props:s,children:o,ce:l}=t.vnode,u=me(e,s,o);return u.ref=r,u.ce=l,delete t.vnode.ce,u}const Qs=e=>e.type.__isKeepAlive,WA={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const r=Hr(),s=r.ctx;if(!s.renderer)return()=>{const k=t.default&&t.default();return k&&k.length===1?k[0]:k};const o=new Map,l=new Set;let u=null;const c=r.suspense,{renderer:{p:f,m:h,um:p,o:{createElement:v}}}=s,m=v("div");s.activate=(k,M,E,T,H)=>{const U=k.component;h(k,M,E,0,c),f(U.vnode,k,M,E,U,c,T,k.slotScopeIds,H),$t(()=>{U.isDeactivated=!1,U.a&&Di(U.a);const N=k.props&&k.props.onVnodeMounted;N&&Qt(N,U.parent,k)},c)},s.deactivate=k=>{const M=k.component;h(k,m,null,1,c),$t(()=>{M.da&&Di(M.da);const E=k.props&&k.props.onVnodeUnmounted;E&&Qt(E,M.parent,k),M.isDeactivated=!0},c)};function A(k){fu(k),p(k,r,c,!0)}function C(k){o.forEach((M,E)=>{const T=$u(M.type);T&&(!k||!k(T))&&S(E)})}function S(k){const M=o.get(k);!u||!Mn(M,u)?A(M):u&&fu(u),o.delete(k),l.delete(k)}ut(()=>[e.include,e.exclude],([k,M])=>{k&&C(E=>Cs(k,E)),M&&C(E=>!Cs(M,E))},{flush:"post",deep:!0});let D=null;const O=()=>{D!=null&&o.set(D,du(r.subTree))};return Vt(O),ac(O),Fa(()=>{o.forEach(k=>{const{subTree:M,suspense:E}=r,T=du(M);if(k.type===T.type&&k.key===T.key){fu(T);const H=T.component.da;H&&$t(H,E);return}A(k)})}),()=>{if(D=null,!t.default)return null;const k=t.default(),M=k[0];if(k.length>1)return u=null,k;if(!Nr(M)||!(M.shapeFlag&4)&&!(M.shapeFlag&128))return u=null,M;let E=du(M);const T=E.type,H=$u(si(E)?E.type.__asyncResolved||{}:T),{include:U,exclude:N,max:j}=e;if(U&&(!H||!Cs(U,H))||N&&H&&Cs(N,H))return u=E,M;const K=E.key==null?T:E.key,q=o.get(K);return E.el&&(E=ar(E),M.shapeFlag&128&&(M.ssContent=E)),D=K,q?(E.el=q.el,E.component=q.component,E.transition&&Fi(E,E.transition),E.shapeFlag|=512,l.delete(K),l.add(K)):(l.add(K),j&&l.size>parseInt(j,10)&&S(l.values().next().value)),E.shapeFlag|=256,u=E,um(M.type)?M:E}}},AS=WA;function Cs(e,t){return ke(e)?e.some(r=>Cs(r,t)):wt(e)?e.split(",").includes(t):O2(e)?e.test(t):!1}function VA(e,t){mm(e,"a",t)}function FA(e,t){mm(e,"da",t)}function mm(e,t,r=Et){const s=e.__wdc||(e.__wdc=()=>{let o=r;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Va(t,s,r),r){let o=r.parent;for(;o&&o.parent;)Qs(o.parent.vnode)&&HA(s,t,r,o),o=o.parent}}function HA(e,t,r,s){const o=Va(t,e,s,!0);lc(()=>{Yu(s[t],o)},r)}function fu(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function du(e){return e.shapeFlag&128?e.ssContent:e}function Va(e,t,r=Et,s=!1){if(r){const o=r[e]||(r[e]=[]),l=t.__weh||(t.__weh=(...u)=>{if(r.isUnmounted)return;Ji(),Wr(r);const c=Cn(t,r,e,u);return Mr(),Xi(),c});return s?o.unshift(l):o.push(l),l}}const ur=e=>(t,r=Et)=>(!ji||e==="sp")&&Va(e,(...s)=>t(...s),r),UA=ur("bm"),Vt=ur("m"),qA=ur("bu"),ac=ur("u"),Fa=ur("bum"),lc=ur("um"),jA=ur("sp"),KA=ur("rtg"),zA=ur("rtc");function ZA(e,t=Et){Va("ec",e,t)}const uc="components",GA="directives";function Hi(e,t){return cc(uc,e,!0,t)||e}const vm=Symbol.for("v-ndc");function YA(e){return wt(e)?cc(uc,e,!1)||e:e||vm}function xS(e){return cc(GA,e)}function cc(e,t,r=!0,s=!1){const o=Tt||Et;if(o){const l=o.type;if(e===uc){const c=$u(l,!1);if(c&&(c===t||c===pn(t)||c===Ra(pn(t))))return l}const u=gh(o[e]||l[e],t)||gh(o.appContext[e],t);return!u&&s?l:u}}function gh(e,t){return e&&(e[t]||e[pn(t)]||e[Ra(pn(t))])}function cr(e,t,r,s){let o;const l=r&&r[s];if(ke(e)||wt(e)){o=new Array(e.length);for(let u=0,c=e.length;ut(u,c,void 0,l&&l[c]));else{const u=Object.keys(e);o=new Array(u.length);for(let c=0,f=u.length;c{const l=s.fn(...o);return l&&(l.key=s.key),l}:s.fn)}return e}function Ui(e,t,r={},s,o){if(Tt.isCE||Tt.parent&&si(Tt.parent)&&Tt.parent.isCE)return t!=="default"&&(r.name=t),me("slot",r,s&&s());let l=e[t];l&&l._c&&(l._d=!1),ne();const u=l&&gm(l(r)),c=je(et,{key:r.key||u&&u.key||`_${t}`},u||(s?s():[]),u&&e._===1?64:-2);return!o&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),l&&l._c&&(l._d=!0),c}function gm(e){return e.some(t=>Nr(t)?!(t.type===Kt||t.type===et&&!gm(t.children)):!0)?e:null}function CS(e,t){const r={};for(const s in e)r[t&&/[A-Z]/.test(s)?`on:${s}`:oa(s)]=e[s];return r}const ku=e=>e?Im(e)?qa(e)||e.proxy:ku(e.parent):null,Is=bt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ku(e.parent),$root:e=>ku(e.root),$emit:e=>e.emit,$options:e=>fc(e),$forceUpdate:e=>e.f||(e.f=()=>Ba(e.update)),$nextTick:e=>e.n||(e.n=lr.bind(e.proxy)),$watch:e=>DA.bind(e)}),hu=(e,t)=>e!==ct&&!e.__isScriptSetup&&nt(e,t),Su={get({_:e},t){const{ctx:r,setupState:s,data:o,props:l,accessCache:u,type:c,appContext:f}=e;let h;if(t[0]!=="$"){const A=u[t];if(A!==void 0)switch(A){case 1:return s[t];case 2:return o[t];case 4:return r[t];case 3:return l[t]}else{if(hu(s,t))return u[t]=1,s[t];if(o!==ct&&nt(o,t))return u[t]=2,o[t];if((h=e.propsOptions[0])&&nt(h,t))return u[t]=3,l[t];if(r!==ct&&nt(r,t))return u[t]=4,r[t];Ou&&(u[t]=0)}}const p=Is[t];let v,m;if(p)return t==="$attrs"&&rn(e,"get",t),p(e);if((v=c.__cssModules)&&(v=v[t]))return v;if(r!==ct&&nt(r,t))return u[t]=4,r[t];if(m=f.config.globalProperties,nt(m,t))return m[t]},set({_:e},t,r){const{data:s,setupState:o,ctx:l}=e;return hu(o,t)?(o[t]=r,!0):s!==ct&&nt(s,t)?(s[t]=r,!0):nt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:s,appContext:o,propsOptions:l}},u){let c;return!!r[u]||e!==ct&&nt(e,u)||hu(t,u)||(c=l[0])&&nt(c,u)||nt(s,u)||nt(Is,u)||nt(o.config.globalProperties,u)},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:nt(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}},JA=bt({},Su,{get(e,t){if(t!==Symbol.unscopables)return Su.get(e,t,e)},has(e,t){return t[0]!=="_"&&!L2(t)}});function ES(){return null}function kS(){return null}function SS(e){}function OS(e){}function RS(){return null}function TS(){}function IS(e,t){return null}function MS(){return ym().slots}function LS(){return ym().attrs}function $S(e,t,r){const s=Hr();if(r&&r.local){const o=Pe(e[t]);return ut(()=>e[t],l=>o.value=l),ut(o,l=>{l!==e[t]&&s.emit(`update:${t}`,l)}),o}else return{__v_isRef:!0,get value(){return e[t]},set value(o){s.emit(`update:${t}`,o)}}}function ym(){const e=Hr();return e.setupContext||(e.setupContext=$m(e))}function Zs(e){return ke(e)?e.reduce((t,r)=>(t[r]=null,t),{}):e}function DS(e,t){const r=Zs(e);for(const s in t){if(s.startsWith("__skip"))continue;let o=r[s];o?ke(o)||Be(o)?o=r[s]={type:o,default:t[s]}:o.default=t[s]:o===null&&(o=r[s]={default:t[s]}),o&&t[`__skip_${s}`]&&(o.skipFactory=!0)}return r}function BS(e,t){return!e||!t?e||t:ke(e)&&ke(t)?e.concat(t):bt({},Zs(e),Zs(t))}function NS(e,t){const r={};for(const s in e)t.includes(s)||Object.defineProperty(r,s,{enumerable:!0,get:()=>e[s]});return r}function WS(e){const t=Hr();let r=e();return Mr(),Ju(r)&&(r=r.catch(s=>{throw Wr(t),s})),[r,()=>Wr(t)]}let Ou=!0;function XA(e){const t=fc(e),r=e.proxy,s=e.ctx;Ou=!1,t.beforeCreate&&yh(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:u,watch:c,provide:f,inject:h,created:p,beforeMount:v,mounted:m,beforeUpdate:A,updated:C,activated:S,deactivated:D,beforeDestroy:O,beforeUnmount:k,destroyed:M,unmounted:E,render:T,renderTracked:H,renderTriggered:U,errorCaptured:N,serverPrefetch:j,expose:K,inheritAttrs:q,components:G,directives:V,filters:w}=t;if(h&&QA(h,s,null),u)for(const x in u){const _=u[x];Be(_)&&(s[x]=_.bind(r))}if(o){const x=o.call(r,r);ft(x)&&(e.data=Qi(x))}if(Ou=!0,l)for(const x in l){const _=l[x],Y=Be(_)?_.bind(r,r):Be(_.get)?_.get.bind(r,r):Ln,B=!Be(_)&&Be(_.set)?_.set.bind(r):Ln,y=Ve({get:Y,set:B});Object.defineProperty(s,x,{enumerable:!0,configurable:!0,get:()=>y.value,set:Q=>y.value=Q})}if(c)for(const x in c)_m(c[x],s,r,x);if(f){const x=Be(f)?f.call(r):f;Reflect.ownKeys(x).forEach(_=>{Or(_,x[_])})}p&&yh(p,e,"c");function F(x,_){ke(_)?_.forEach(Y=>x(Y.bind(r))):_&&x(_.bind(r))}if(F(UA,v),F(Vt,m),F(qA,A),F(ac,C),F(VA,S),F(FA,D),F(ZA,N),F(zA,H),F(KA,U),F(Fa,k),F(lc,E),F(jA,j),ke(K))if(K.length){const x=e.exposed||(e.exposed={});K.forEach(_=>{Object.defineProperty(x,_,{get:()=>r[_],set:Y=>r[_]=Y})})}else e.exposed||(e.exposed={});T&&e.render===Ln&&(e.render=T),q!=null&&(e.inheritAttrs=q),G&&(e.components=G),V&&(e.directives=V)}function QA(e,t,r=Ln){ke(e)&&(e=Ru(e));for(const s in e){const o=e[s];let l;ft(o)?"default"in o?l=nn(o.from||s,o.default,!0):l=nn(o.from||s):l=nn(o),_t(l)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>l.value,set:u=>l.value=u}):t[s]=l}}function yh(e,t,r){Cn(ke(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,r)}function _m(e,t,r,s){const o=s.includes(".")?fm(r,s):()=>r[s];if(wt(e)){const l=t[e];Be(l)&&ut(o,l)}else if(Be(e))ut(o,e.bind(r));else if(ft(e))if(ke(e))e.forEach(l=>_m(l,t,r,s));else{const l=Be(e.handler)?e.handler.bind(r):t[e.handler];Be(l)&&ut(o,l,e)}}function fc(e){const t=e.type,{mixins:r,extends:s}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:u}}=e.appContext,c=l.get(t);let f;return c?f=c:!o.length&&!r&&!s?f=t:(f={},o.length&&o.forEach(h=>ya(f,h,u,!0)),ya(f,t,u)),ft(t)&&l.set(t,f),f}function ya(e,t,r,s=!1){const{mixins:o,extends:l}=t;l&&ya(e,l,r,!0),o&&o.forEach(u=>ya(e,u,r,!0));for(const u in t)if(!(s&&u==="expose")){const c=e5[u]||r&&r[u];e[u]=c?c(e[u],t[u]):t[u]}return e}const e5={data:_h,props:bh,emits:bh,methods:Es,computed:Es,beforeCreate:jt,created:jt,beforeMount:jt,mounted:jt,beforeUpdate:jt,updated:jt,beforeDestroy:jt,beforeUnmount:jt,destroyed:jt,unmounted:jt,activated:jt,deactivated:jt,errorCaptured:jt,serverPrefetch:jt,components:Es,directives:Es,watch:n5,provide:_h,inject:t5};function _h(e,t){return t?e?function(){return bt(Be(e)?e.call(this,this):e,Be(t)?t.call(this,this):t)}:t:e}function t5(e,t){return Es(Ru(e),Ru(t))}function Ru(e){if(ke(e)){const t={};for(let r=0;r1)return r&&Be(t)?t.call(s&&s.proxy):t}}function s5(){return!!(Et||Tt||Gs)}function o5(e,t,r,s=!1){const o={},l={};da(l,Ha,1),e.propsDefaults=Object.create(null),wm(e,t,o,l);for(const u in e.propsOptions[0])u in o||(o[u]=void 0);r?e.props=s?o:Xp(o):e.type.props?e.props=o:e.props=l,e.attrs=l}function a5(e,t,r,s){const{props:o,attrs:l,vnode:{patchFlag:u}}=e,c=tt(o),[f]=e.propsOptions;let h=!1;if((s||u>0)&&!(u&16)){if(u&8){const p=e.vnode.dynamicProps;for(let v=0;v{f=!0;const[m,A]=Am(v,t,!0);bt(u,m),A&&c.push(...A)};!r&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!l&&!f)return ft(e)&&s.set(e,Li),Li;if(ke(l))for(let p=0;p-1,A[1]=S<0||C-1||nt(A,"default"))&&c.push(v)}}}const h=[u,c];return ft(e)&&s.set(e,h),h}function wh(e){return e[0]!=="$"}function Ah(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function xh(e,t){return Ah(e)===Ah(t)}function Ph(e,t){return ke(t)?t.findIndex(r=>xh(r,e)):Be(t)&&xh(t,e)?0:-1}const xm=e=>e[0]==="_"||e==="$stable",dc=e=>ke(e)?e.map(hn):[hn(e)],l5=(e,t,r)=>{if(t._n)return t;const s=Ot((...o)=>dc(t(...o)),r);return s._c=!1,s},Pm=(e,t,r)=>{const s=e._ctx;for(const o in e){if(xm(o))continue;const l=e[o];if(Be(l))t[o]=l5(o,l,s);else if(l!=null){const u=dc(l);t[o]=()=>u}}},Cm=(e,t)=>{const r=dc(t);e.slots.default=()=>r},u5=(e,t)=>{if(e.vnode.shapeFlag&32){const r=t._;r?(e.slots=tt(t),da(t,"_",r)):Pm(t,e.slots={})}else e.slots={},t&&Cm(e,t);da(e.slots,Ha,1)},c5=(e,t,r)=>{const{vnode:s,slots:o}=e;let l=!0,u=ct;if(s.shapeFlag&32){const c=t._;c?r&&c===1?l=!1:(bt(o,t),!r&&c===1&&delete o._):(l=!t.$stable,Pm(t,o)),u=t}else t&&(Cm(e,t),u={default:1});if(l)for(const c in o)!xm(c)&&u[c]==null&&delete o[c]};function _a(e,t,r,s,o=!1){if(ke(e)){e.forEach((m,A)=>_a(m,t&&(ke(t)?t[A]:t),r,s,o));return}if(si(s)&&!o)return;const l=s.shapeFlag&4?qa(s.component)||s.component.proxy:s.el,u=o?null:l,{i:c,r:f}=e,h=t&&t.r,p=c.refs===ct?c.refs={}:c.refs,v=c.setupState;if(h!=null&&h!==f&&(wt(h)?(p[h]=null,nt(v,h)&&(v[h]=null)):_t(h)&&(h.value=null)),Be(f))Ir(f,c,12,[u,p]);else{const m=wt(f),A=_t(f);if(m||A){const C=()=>{if(e.f){const S=m?nt(v,f)?v[f]:p[f]:f.value;o?ke(S)&&Yu(S,l):ke(S)?S.includes(l)||S.push(l):m?(p[f]=[l],nt(v,f)&&(v[f]=p[f])):(f.value=[l],e.k&&(p[e.k]=f.value))}else m?(p[f]=u,nt(v,f)&&(v[f]=u)):A&&(f.value=u,e.k&&(p[e.k]=u))};u?(C.id=-1,$t(C,r)):C()}}}let wr=!1;const ea=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",ta=e=>e.nodeType===8;function f5(e){const{mt:t,p:r,o:{patchProp:s,createText:o,nextSibling:l,parentNode:u,remove:c,insert:f,createComment:h}}=e,p=(O,k)=>{if(!k.hasChildNodes()){r(null,O,k),ga(),k._vnode=O;return}wr=!1,v(k.firstChild,O,null,null,null),ga(),k._vnode=O,wr&&console.error("Hydration completed but contains mismatches.")},v=(O,k,M,E,T,H=!1)=>{const U=ta(O)&&O.data==="[",N=()=>S(O,k,M,E,T,U),{type:j,ref:K,shapeFlag:q,patchFlag:G}=k;let V=O.nodeType;k.el=O,G===-2&&(H=!1,k.dynamicChildren=null);let w=null;switch(j){case qi:V!==3?k.children===""?(f(k.el=o(""),u(O),O),w=O):w=N():(O.data!==k.children&&(wr=!0,O.data=k.children),w=l(O));break;case Kt:V!==8||U?w=N():w=l(O);break;case Wi:if(U&&(O=l(O),V=O.nodeType),V===1||V===3){w=O;const I=!k.children.length;for(let F=0;F{H=H||!!k.dynamicChildren;const{type:U,props:N,patchFlag:j,shapeFlag:K,dirs:q}=k,G=U==="input"&&q||U==="option";if(G||j!==-1){if(q&&Fn(k,null,M,"created"),N)if(G||!H||j&48)for(const w in N)(G&&w.endsWith("value")||Js(w)&&!Ts(w))&&s(O,w,null,N[w],!1,void 0,M);else N.onClick&&s(O,"onClick",null,N.onClick,!1,void 0,M);let V;if((V=N&&N.onVnodeBeforeMount)&&Qt(V,M,k),q&&Fn(k,null,M,"beforeMount"),((V=N&&N.onVnodeMounted)||q)&&cm(()=>{V&&Qt(V,M,k),q&&Fn(k,null,M,"mounted")},E),K&16&&!(N&&(N.innerHTML||N.textContent))){let w=A(O.firstChild,k,O,M,E,T,H);for(;w;){wr=!0;const I=w;w=w.nextSibling,c(I)}}else K&8&&O.textContent!==k.children&&(wr=!0,O.textContent=k.children)}return O.nextSibling},A=(O,k,M,E,T,H,U)=>{U=U||!!k.dynamicChildren;const N=k.children,j=N.length;for(let K=0;K{const{slotScopeIds:U}=k;U&&(T=T?T.concat(U):U);const N=u(O),j=A(l(O),k,N,M,E,T,H);return j&&ta(j)&&j.data==="]"?l(k.anchor=j):(wr=!0,f(k.anchor=h("]"),N,j),j)},S=(O,k,M,E,T,H)=>{if(wr=!0,k.el=null,H){const j=D(O);for(;;){const K=l(O);if(K&&K!==j)c(K);else break}}const U=l(O),N=u(O);return c(O),r(null,k,N,U,M,E,ea(N),T),U},D=O=>{let k=0;for(;O;)if(O=l(O),O&&ta(O)&&(O.data==="["&&k++,O.data==="]")){if(k===0)return l(O);k--}return O};return[p,v]}const $t=cm;function d5(e){return Em(e)}function h5(e){return Em(e,f5)}function Em(e,t){const r=Au();r.__VUE__=!0;const{insert:s,remove:o,patchProp:l,createElement:u,createText:c,createComment:f,setText:h,setElementText:p,parentNode:v,nextSibling:m,setScopeId:A=Ln,insertStaticContent:C}=e,S=(R,$,z,re=null,ce=null,le=null,be=!1,ve=null,ye=!!$.dynamicChildren)=>{if(R===$)return;R&&!Mn(R,$)&&(re=X(R),Q(R,ce,le,!0),R=null),$.patchFlag===-2&&(ye=!1,$.dynamicChildren=null);const{type:fe,ref:Se,shapeFlag:Ee}=$;switch(fe){case qi:D(R,$,z,re);break;case Kt:O(R,$,z,re);break;case Wi:R==null&&k($,z,re,be);break;case et:G(R,$,z,re,ce,le,be,ve,ye);break;default:Ee&1?T(R,$,z,re,ce,le,be,ve,ye):Ee&6?V(R,$,z,re,ce,le,be,ve,ye):(Ee&64||Ee&128)&&fe.process(R,$,z,re,ce,le,be,ve,ye,de)}Se!=null&&ce&&_a(Se,R&&R.ref,le,$||R,!$)},D=(R,$,z,re)=>{if(R==null)s($.el=c($.children),z,re);else{const ce=$.el=R.el;$.children!==R.children&&h(ce,$.children)}},O=(R,$,z,re)=>{R==null?s($.el=f($.children||""),z,re):$.el=R.el},k=(R,$,z,re)=>{[R.el,R.anchor]=C(R.children,$,z,re,R.el,R.anchor)},M=({el:R,anchor:$},z,re)=>{let ce;for(;R&&R!==$;)ce=m(R),s(R,z,re),R=ce;s($,z,re)},E=({el:R,anchor:$})=>{let z;for(;R&&R!==$;)z=m(R),o(R),R=z;o($)},T=(R,$,z,re,ce,le,be,ve,ye)=>{be=be||$.type==="svg",R==null?H($,z,re,ce,le,be,ve,ye):j(R,$,ce,le,be,ve,ye)},H=(R,$,z,re,ce,le,be,ve)=>{let ye,fe;const{type:Se,props:Ee,shapeFlag:Ie,transition:Le,dirs:Ze}=R;if(ye=R.el=u(R.type,le,Ee&&Ee.is,Ee),Ie&8?p(ye,R.children):Ie&16&&N(R.children,ye,null,re,ce,le&&Se!=="foreignObject",be,ve),Ze&&Fn(R,null,re,"created"),U(ye,R,R.scopeId,be,re),Ee){for(const Xe in Ee)Xe!=="value"&&!Ts(Xe)&&l(ye,Xe,null,Ee[Xe],le,R.children,re,ce,Oe);"value"in Ee&&l(ye,"value",null,Ee.value),(fe=Ee.onVnodeBeforeMount)&&Qt(fe,re,R)}Ze&&Fn(R,null,re,"beforeMount");const rt=(!ce||ce&&!ce.pendingBranch)&&Le&&!Le.persisted;rt&&Le.beforeEnter(ye),s(ye,$,z),((fe=Ee&&Ee.onVnodeMounted)||rt||Ze)&&$t(()=>{fe&&Qt(fe,re,R),rt&&Le.enter(ye),Ze&&Fn(R,null,re,"mounted")},ce)},U=(R,$,z,re,ce)=>{if(z&&A(R,z),re)for(let le=0;le{for(let fe=ye;fe{const ve=$.el=R.el;let{patchFlag:ye,dynamicChildren:fe,dirs:Se}=$;ye|=R.patchFlag&16;const Ee=R.props||ct,Ie=$.props||ct;let Le;z&&Qr(z,!1),(Le=Ie.onVnodeBeforeUpdate)&&Qt(Le,z,$,R),Se&&Fn($,R,z,"beforeUpdate"),z&&Qr(z,!0);const Ze=ce&&$.type!=="foreignObject";if(fe?K(R.dynamicChildren,fe,ve,z,re,Ze,le):be||_(R,$,ve,null,z,re,Ze,le,!1),ye>0){if(ye&16)q(ve,$,Ee,Ie,z,re,ce);else if(ye&2&&Ee.class!==Ie.class&&l(ve,"class",null,Ie.class,ce),ye&4&&l(ve,"style",Ee.style,Ie.style,ce),ye&8){const rt=$.dynamicProps;for(let Xe=0;Xe{Le&&Qt(Le,z,$,R),Se&&Fn($,R,z,"updated")},re)},K=(R,$,z,re,ce,le,be)=>{for(let ve=0;ve<$.length;ve++){const ye=R[ve],fe=$[ve],Se=ye.el&&(ye.type===et||!Mn(ye,fe)||ye.shapeFlag&70)?v(ye.el):z;S(ye,fe,Se,null,re,ce,le,be,!0)}},q=(R,$,z,re,ce,le,be)=>{if(z!==re){if(z!==ct)for(const ve in z)!Ts(ve)&&!(ve in re)&&l(R,ve,z[ve],null,be,$.children,ce,le,Oe);for(const ve in re){if(Ts(ve))continue;const ye=re[ve],fe=z[ve];ye!==fe&&ve!=="value"&&l(R,ve,fe,ye,be,$.children,ce,le,Oe)}"value"in re&&l(R,"value",z.value,re.value)}},G=(R,$,z,re,ce,le,be,ve,ye)=>{const fe=$.el=R?R.el:c(""),Se=$.anchor=R?R.anchor:c("");let{patchFlag:Ee,dynamicChildren:Ie,slotScopeIds:Le}=$;Le&&(ve=ve?ve.concat(Le):Le),R==null?(s(fe,z,re),s(Se,z,re),N($.children,z,Se,ce,le,be,ve,ye)):Ee>0&&Ee&64&&Ie&&R.dynamicChildren?(K(R.dynamicChildren,Ie,z,ce,le,be,ve),($.key!=null||ce&&$===ce.subTree)&&hc(R,$,!0)):_(R,$,z,Se,ce,le,be,ve,ye)},V=(R,$,z,re,ce,le,be,ve,ye)=>{$.slotScopeIds=ve,R==null?$.shapeFlag&512?ce.ctx.activate($,z,re,be,ye):w($,z,re,ce,le,be,ye):I(R,$,ye)},w=(R,$,z,re,ce,le,be)=>{const ve=R.component=Tm(R,re,ce);if(Qs(R)&&(ve.ctx.renderer=de),Mm(ve),ve.asyncDep){if(ce&&ce.registerDep(ve,F),!R.el){const ye=ve.subTree=me(Kt);O(null,ye,$,z)}return}F(ve,R,$,z,ce,le,be)},I=(R,$,z)=>{const re=$.component=R.component;if(SA(R,$,z))if(re.asyncDep&&!re.asyncResolved){x(re,$,z);return}else re.next=$,wA(re.update),re.update();else $.el=R.el,re.vnode=$},F=(R,$,z,re,ce,le,be)=>{const ve=()=>{if(R.isMounted){let{next:Se,bu:Ee,u:Ie,parent:Le,vnode:Ze}=R,rt=Se,Xe;Qr(R,!1),Se?(Se.el=Ze.el,x(R,Se,be)):Se=Ze,Ee&&Di(Ee),(Xe=Se.props&&Se.props.onVnodeBeforeUpdate)&&Qt(Xe,Le,Se,Ze),Qr(R,!0);const vt=aa(R),Ft=R.subTree;R.subTree=vt,S(Ft,vt,v(Ft.el),X(Ft),R,ce,le),Se.el=vt.el,rt===null&&ic(R,vt.el),Ie&&$t(Ie,ce),(Xe=Se.props&&Se.props.onVnodeUpdated)&&$t(()=>Qt(Xe,Le,Se,Ze),ce)}else{let Se;const{el:Ee,props:Ie}=$,{bm:Le,m:Ze,parent:rt}=R,Xe=si($);if(Qr(R,!1),Le&&Di(Le),!Xe&&(Se=Ie&&Ie.onVnodeBeforeMount)&&Qt(Se,rt,$),Qr(R,!0),Ee&&Re){const vt=()=>{R.subTree=aa(R),Re(Ee,R.subTree,R,ce,null)};Xe?$.type.__asyncLoader().then(()=>!R.isUnmounted&&vt()):vt()}else{const vt=R.subTree=aa(R);S(null,vt,z,re,R,ce,le),$.el=vt.el}if(Ze&&$t(Ze,ce),!Xe&&(Se=Ie&&Ie.onVnodeMounted)){const vt=$;$t(()=>Qt(Se,rt,vt),ce)}($.shapeFlag&256||rt&&si(rt.vnode)&&rt.vnode.shapeFlag&256)&&R.a&&$t(R.a,ce),R.isMounted=!0,$=z=re=null}},ye=R.effect=new Vs(ve,()=>Ba(fe),R.scope),fe=R.update=()=>ye.run();fe.id=R.uid,Qr(R,!0),fe()},x=(R,$,z)=>{$.component=R;const re=R.vnode.props;R.vnode=$,R.next=null,a5(R,$.props,re,z),c5(R,$.children,z),Ji(),hh(),Xi()},_=(R,$,z,re,ce,le,be,ve,ye=!1)=>{const fe=R&&R.children,Se=R?R.shapeFlag:0,Ee=$.children,{patchFlag:Ie,shapeFlag:Le}=$;if(Ie>0){if(Ie&128){B(fe,Ee,z,re,ce,le,be,ve,ye);return}else if(Ie&256){Y(fe,Ee,z,re,ce,le,be,ve,ye);return}}Le&8?(Se&16&&Oe(fe,ce,le),Ee!==fe&&p(z,Ee)):Se&16?Le&16?B(fe,Ee,z,re,ce,le,be,ve,ye):Oe(fe,ce,le,!0):(Se&8&&p(z,""),Le&16&&N(Ee,z,re,ce,le,be,ve,ye))},Y=(R,$,z,re,ce,le,be,ve,ye)=>{R=R||Li,$=$||Li;const fe=R.length,Se=$.length,Ee=Math.min(fe,Se);let Ie;for(Ie=0;IeSe?Oe(R,ce,le,!0,!1,Ee):N($,z,re,ce,le,be,ve,ye,Ee)},B=(R,$,z,re,ce,le,be,ve,ye)=>{let fe=0;const Se=$.length;let Ee=R.length-1,Ie=Se-1;for(;fe<=Ee&&fe<=Ie;){const Le=R[fe],Ze=$[fe]=ye?kr($[fe]):hn($[fe]);if(Mn(Le,Ze))S(Le,Ze,z,null,ce,le,be,ve,ye);else break;fe++}for(;fe<=Ee&&fe<=Ie;){const Le=R[Ee],Ze=$[Ie]=ye?kr($[Ie]):hn($[Ie]);if(Mn(Le,Ze))S(Le,Ze,z,null,ce,le,be,ve,ye);else break;Ee--,Ie--}if(fe>Ee){if(fe<=Ie){const Le=Ie+1,Ze=LeIe)for(;fe<=Ee;)Q(R[fe],ce,le,!0),fe++;else{const Le=fe,Ze=fe,rt=new Map;for(fe=Ze;fe<=Ie;fe++){const It=$[fe]=ye?kr($[fe]):hn($[fe]);It.key!=null&&rt.set(It.key,fe)}let Xe,vt=0;const Ft=Ie-Ze+1;let Dn=!1,di=0;const jn=new Array(Ft);for(fe=0;fe=Ft){Q(It,ce,le,!0);continue}let Zt;if(It.key!=null)Zt=rt.get(It.key);else for(Xe=Ze;Xe<=Ie;Xe++)if(jn[Xe-Ze]===0&&Mn(It,$[Xe])){Zt=Xe;break}Zt===void 0?Q(It,ce,le,!0):(jn[Zt-Ze]=fe+1,Zt>=di?di=Zt:Dn=!0,S(It,$[Zt],z,null,ce,le,be,ve,ye),vt++)}const hi=Dn?p5(jn):Li;for(Xe=hi.length-1,fe=Ft-1;fe>=0;fe--){const It=Ze+fe,Zt=$[It],pi=It+1{const{el:le,type:be,transition:ve,children:ye,shapeFlag:fe}=R;if(fe&6){y(R.component.subTree,$,z,re);return}if(fe&128){R.suspense.move($,z,re);return}if(fe&64){be.move(R,$,z,de);return}if(be===et){s(le,$,z);for(let Ee=0;Eeve.enter(le),ce);else{const{leave:Ee,delayLeave:Ie,afterLeave:Le}=ve,Ze=()=>s(le,$,z),rt=()=>{Ee(le,()=>{Ze(),Le&&Le()})};Ie?Ie(le,Ze,rt):rt()}else s(le,$,z)},Q=(R,$,z,re=!1,ce=!1)=>{const{type:le,props:be,ref:ve,children:ye,dynamicChildren:fe,shapeFlag:Se,patchFlag:Ee,dirs:Ie}=R;if(ve!=null&&_a(ve,null,z,R,!0),Se&256){$.ctx.deactivate(R);return}const Le=Se&1&&Ie,Ze=!si(R);let rt;if(Ze&&(rt=be&&be.onVnodeBeforeUnmount)&&Qt(rt,$,R),Se&6)_e(R.component,z,re);else{if(Se&128){R.suspense.unmount(z,re);return}Le&&Fn(R,null,$,"beforeUnmount"),Se&64?R.type.remove(R,$,z,ce,de,re):fe&&(le!==et||Ee>0&&Ee&64)?Oe(fe,$,z,!1,!0):(le===et&&Ee&384||!ce&&Se&16)&&Oe(ye,$,z),re&&pe(R)}(Ze&&(rt=be&&be.onVnodeUnmounted)||Le)&&$t(()=>{rt&&Qt(rt,$,R),Le&&Fn(R,null,$,"unmounted")},z)},pe=R=>{const{type:$,el:z,anchor:re,transition:ce}=R;if($===et){xe(z,re);return}if($===Wi){E(R);return}const le=()=>{o(z),ce&&!ce.persisted&&ce.afterLeave&&ce.afterLeave()};if(R.shapeFlag&1&&ce&&!ce.persisted){const{leave:be,delayLeave:ve}=ce,ye=()=>be(z,le);ve?ve(R.el,le,ye):ye()}else le()},xe=(R,$)=>{let z;for(;R!==$;)z=m(R),o(R),R=z;o($)},_e=(R,$,z)=>{const{bum:re,scope:ce,update:le,subTree:be,um:ve}=R;re&&Di(re),ce.stop(),le&&(le.active=!1,Q(be,R,$,z)),ve&&$t(ve,$),$t(()=>{R.isUnmounted=!0},$),$&&$.pendingBranch&&!$.isUnmounted&&R.asyncDep&&!R.asyncResolved&&R.suspenseId===$.pendingId&&($.deps--,$.deps===0&&$.resolve())},Oe=(R,$,z,re=!1,ce=!1,le=0)=>{for(let be=le;beR.shapeFlag&6?X(R.component.subTree):R.shapeFlag&128?R.suspense.next():m(R.anchor||R.el),oe=(R,$,z)=>{R==null?$._vnode&&Q($._vnode,null,null,!0):S($._vnode||null,R,$,null,null,null,z),hh(),ga(),$._vnode=R},de={p:S,um:Q,m:y,r:pe,mt:w,mc:N,pc:_,pbc:K,n:X,o:e};let Ae,Re;return t&&([Ae,Re]=t(de)),{render:oe,hydrate:Ae,createApp:i5(oe,Ae)}}function Qr({effect:e,update:t},r){e.allowRecurse=t.allowRecurse=r}function hc(e,t,r=!1){const s=e.children,o=t.children;if(ke(s)&&ke(o))for(let l=0;l>1,e[r[c]]0&&(t[s]=r[l-1]),r[l]=s)}}for(l=r.length,u=r[l-1];l-- >0;)r[l]=u,u=t[u];return r}const m5=e=>e.__isTeleport,Ms=e=>e&&(e.disabled||e.disabled===""),Ch=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Iu=(e,t)=>{const r=e&&e.to;return wt(r)?t?t(r):null:r},v5={__isTeleport:!0,process(e,t,r,s,o,l,u,c,f,h){const{mc:p,pc:v,pbc:m,o:{insert:A,querySelector:C,createText:S,createComment:D}}=h,O=Ms(t.props);let{shapeFlag:k,children:M,dynamicChildren:E}=t;if(e==null){const T=t.el=S(""),H=t.anchor=S("");A(T,r,s),A(H,r,s);const U=t.target=Iu(t.props,C),N=t.targetAnchor=S("");U&&(A(N,U),u=u||Ch(U));const j=(K,q)=>{k&16&&p(M,K,q,o,l,u,c,f)};O?j(r,H):U&&j(U,N)}else{t.el=e.el;const T=t.anchor=e.anchor,H=t.target=e.target,U=t.targetAnchor=e.targetAnchor,N=Ms(e.props),j=N?r:H,K=N?T:U;if(u=u||Ch(H),E?(m(e.dynamicChildren,E,j,o,l,u,c),hc(e,t,!0)):f||v(e,t,j,K,o,l,u,c,!1),O)N?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):na(t,r,T,h,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const q=t.target=Iu(t.props,C);q&&na(t,q,null,h,0)}else N&&na(t,H,U,h,1)}km(t)},remove(e,t,r,s,{um:o,o:{remove:l}},u){const{shapeFlag:c,children:f,anchor:h,targetAnchor:p,target:v,props:m}=e;if(v&&l(p),u&&l(h),c&16){const A=u||!Ms(m);for(let C=0;C0?en||Li:null,Sm(),ai>0&&en&&en.push(e),e}function ge(e,t,r,s,o,l){return Om(te(e,t,r,s,o,l,!0))}function je(e,t,r,s,o){return Om(me(e,t,r,s,o,!0))}function Nr(e){return e?e.__v_isVNode===!0:!1}function Mn(e,t){return e.type===t.type&&e.key===t.key}function VS(e){}const Ha="__vInternal",Rm=({key:e})=>e??null,la=({ref:e,ref_key:t,ref_for:r})=>(typeof e=="number"&&(e=""+e),e!=null?wt(e)||_t(e)||Be(e)?{i:Tt,r:e,k:t,f:!!r}:e:null);function te(e,t=null,r=null,s=0,o=null,l=e===et?0:1,u=!1,c=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Rm(t),ref:t&&la(t),scopeId:Wa,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Tt};return c?(pc(f,r),l&128&&e.normalize(f)):r&&(f.shapeFlag|=wt(r)?8:16),ai>0&&!u&&en&&(f.patchFlag>0||l&6)&&f.patchFlag!==32&&en.push(f),f}const me=y5;function y5(e,t=null,r=null,s=0,o=null,l=!1){if((!e||e===vm)&&(e=Kt),Nr(e)){const c=ar(e,t,!0);return r&&pc(c,r),ai>0&&!l&&en&&(c.shapeFlag&6?en[en.indexOf(e)]=c:en.push(c)),c.patchFlag|=-2,c}if(C5(e)&&(e=e.__vccOpts),t){t=_5(t);let{class:c,style:f}=t;c&&!wt(c)&&(t.class=Je(c)),ft(f)&&(em(f)&&!ke(f)&&(f=bt({},f)),t.style=Fr(f))}const u=wt(e)?1:um(e)?128:m5(e)?64:ft(e)?4:Be(e)?2:0;return te(e,t,r,s,o,u,l,!0)}function _5(e){return e?em(e)||Ha in e?bt({},e):e:null}function ar(e,t,r=!1){const{props:s,ref:o,patchFlag:l,children:u}=e,c=t?b5(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Rm(c),ref:t&&t.ref?r&&o?ke(o)?o.concat(la(t)):[o,la(t)]:la(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:u,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==et?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ar(e.ssContent),ssFallback:e.ssFallback&&ar(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Ua(e=" ",t=0){return me(qi,null,e,t)}function FS(e,t){const r=me(Wi,null,e);return r.staticCount=t,r}function Ne(e="",t=!1){return t?(ne(),je(Kt,null,e)):me(Kt,null,e)}function hn(e){return e==null||typeof e=="boolean"?me(Kt):ke(e)?me(et,null,e.slice()):typeof e=="object"?kr(e):me(qi,null,String(e))}function kr(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ar(e)}function pc(e,t){let r=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(ke(t))r=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),pc(e,o()),o._c&&(o._d=!0));return}else{r=32;const o=t._;!o&&!(Ha in t)?t._ctx=Tt:o===3&&Tt&&(Tt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Be(t)?(t={default:t,_ctx:Tt},r=32):(t=String(t),s&64?(r=16,t=[Ua(t)]):r=8);e.children=t,e.shapeFlag|=r}function b5(...e){const t={};for(let r=0;rEt||Tt;let mc,Ri,kh="__VUE_INSTANCE_SETTERS__";(Ri=Au()[kh])||(Ri=Au()[kh]=[]),Ri.push(e=>Et=e),mc=e=>{Ri.length>1?Ri.forEach(t=>t(e)):Ri[0](e)};const Wr=e=>{mc(e),e.scope.on()},Mr=()=>{Et&&Et.scope.off(),mc(null)};function Im(e){return e.vnode.shapeFlag&4}let ji=!1;function Mm(e,t=!1){ji=t;const{props:r,children:s}=e.vnode,o=Im(e);o5(e,r,o,t),u5(e,s);const l=o?x5(e,t):void 0;return ji=!1,l}function x5(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=$a(new Proxy(e.ctx,Su));const{setup:s}=r;if(s){const o=e.setupContext=s.length>1?$m(e):null;Wr(e),Ji();const l=Ir(s,e,0,[e.props,o]);if(Xi(),Mr(),Ju(l)){if(l.then(Mr,Mr),t)return l.then(u=>{Mu(e,u,t)}).catch(u=>{es(u,e,0)});e.asyncDep=l}else Mu(e,l,t)}else Lm(e,t)}function Mu(e,t,r){Be(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ft(t)&&(e.setupState=nm(t)),Lm(e,r)}let ba,Lu;function HS(e){ba=e,Lu=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,JA))}}const US=()=>!ba;function Lm(e,t,r){const s=e.type;if(!e.render){if(!t&&ba&&!s.render){const o=s.template||fc(e).template;if(o){const{isCustomElement:l,compilerOptions:u}=e.appContext.config,{delimiters:c,compilerOptions:f}=s,h=bt(bt({isCustomElement:l,delimiters:c},u),f);s.render=ba(o,h)}}e.render=s.render||Ln,Lu&&Lu(e)}{Wr(e),Ji();try{XA(e)}finally{Xi(),Mr()}}}function P5(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,r){return rn(e,"get","$attrs"),t[r]}}))}function $m(e){const t=r=>{e.exposed=r||{}};return{get attrs(){return P5(e)},slots:e.slots,emit:e.emit,expose:t}}function qa(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(nm($a(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in Is)return Is[r](e)},has(t,r){return r in t||r in Is}}))}function $u(e,t=!0){return Be(e)?e.displayName||e.name:e.name||t&&e.__name}function C5(e){return Be(e)&&"__vccOpts"in e}const Ve=(e,t)=>yA(e,t,ji);function vc(e,t,r){const s=arguments.length;return s===2?ft(t)&&!ke(t)?Nr(t)?me(e,null,[t]):me(e,t):me(e,null,t):(s>3?r=Array.prototype.slice.call(arguments,2):s===3&&Nr(r)&&(r=[r]),me(e,t,r))}const E5=Symbol.for("v-scx"),k5=()=>nn(E5);function qS(){}function jS(e,t,r,s){const o=r[s];if(o&&S5(o,e))return o;const l=t();return l.memo=e.slice(),r[s]=l}function S5(e,t){const r=e.memo;if(r.length!=t.length)return!1;for(let s=0;s0&&en&&en.push(e),!0}const O5="3.3.6",R5={createComponentInstance:Tm,setupComponent:Mm,renderComponentRoot:aa,setCurrentRenderingInstance:qs,isVNode:Nr,normalizeVNode:hn},KS=R5,zS=null,ZS=null,T5="http://www.w3.org/2000/svg",ni=typeof document<"u"?document:null,Sh=ni&&ni.createElement("template"),I5={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,s)=>{const o=t?ni.createElementNS(T5,e):ni.createElement(e,r?{is:r}:void 0);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>ni.createTextNode(e),createComment:e=>ni.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ni.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,s,o,l){const u=r?r.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),r),!(o===l||!(o=o.nextSibling)););else{Sh.innerHTML=s?`${e}`:e;const c=Sh.content;if(s){const f=c.firstChild;for(;f.firstChild;)c.appendChild(f.firstChild);c.removeChild(f)}t.insertBefore(c,r)}return[u?u.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},Ar="transition",gs="animation",Ki=Symbol("_vtc"),Dm=(e,{slots:t})=>vc(NA,Nm(e),t);Dm.displayName="Transition";const Bm={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},M5=Dm.props=bt({},hm,Bm),ei=(e,t=[])=>{ke(e)?e.forEach(r=>r(...t)):e&&e(...t)},Oh=e=>e?ke(e)?e.some(t=>t.length>1):e.length>1:!1;function Nm(e){const t={};for(const G in e)G in Bm||(t[G]=e[G]);if(e.css===!1)return t;const{name:r="v",type:s,duration:o,enterFromClass:l=`${r}-enter-from`,enterActiveClass:u=`${r}-enter-active`,enterToClass:c=`${r}-enter-to`,appearFromClass:f=l,appearActiveClass:h=u,appearToClass:p=c,leaveFromClass:v=`${r}-leave-from`,leaveActiveClass:m=`${r}-leave-active`,leaveToClass:A=`${r}-leave-to`}=e,C=L5(o),S=C&&C[0],D=C&&C[1],{onBeforeEnter:O,onEnter:k,onEnterCancelled:M,onLeave:E,onLeaveCancelled:T,onBeforeAppear:H=O,onAppear:U=k,onAppearCancelled:N=M}=t,j=(G,V,w)=>{Pr(G,V?p:c),Pr(G,V?h:u),w&&w()},K=(G,V)=>{G._isLeaving=!1,Pr(G,v),Pr(G,A),Pr(G,m),V&&V()},q=G=>(V,w)=>{const I=G?U:k,F=()=>j(V,G,w);ei(I,[V,F]),Rh(()=>{Pr(V,G?f:l),nr(V,G?p:c),Oh(I)||Th(V,s,S,F)})};return bt(t,{onBeforeEnter(G){ei(O,[G]),nr(G,l),nr(G,u)},onBeforeAppear(G){ei(H,[G]),nr(G,f),nr(G,h)},onEnter:q(!1),onAppear:q(!0),onLeave(G,V){G._isLeaving=!0;const w=()=>K(G,V);nr(G,v),Vm(),nr(G,m),Rh(()=>{G._isLeaving&&(Pr(G,v),nr(G,A),Oh(E)||Th(G,s,D,w))}),ei(E,[G,w])},onEnterCancelled(G){j(G,!1),ei(M,[G])},onAppearCancelled(G){j(G,!0),ei(N,[G])},onLeaveCancelled(G){K(G),ei(T,[G])}})}function L5(e){if(e==null)return null;if(ft(e))return[pu(e.enter),pu(e.leave)];{const t=pu(e);return[t,t]}}function pu(e){return pa(e)}function nr(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.add(r)),(e[Ki]||(e[Ki]=new Set)).add(t)}function Pr(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const r=e[Ki];r&&(r.delete(t),r.size||(e[Ki]=void 0))}function Rh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let $5=0;function Th(e,t,r,s){const o=e._endId=++$5,l=()=>{o===e._endId&&s()};if(r)return setTimeout(l,r);const{type:u,timeout:c,propCount:f}=Wm(e,t);if(!u)return s();const h=u+"end";let p=0;const v=()=>{e.removeEventListener(h,m),l()},m=A=>{A.target===e&&++p>=f&&v()};setTimeout(()=>{p(r[C]||"").split(", "),o=s(`${Ar}Delay`),l=s(`${Ar}Duration`),u=Ih(o,l),c=s(`${gs}Delay`),f=s(`${gs}Duration`),h=Ih(c,f);let p=null,v=0,m=0;t===Ar?u>0&&(p=Ar,v=u,m=l.length):t===gs?h>0&&(p=gs,v=h,m=f.length):(v=Math.max(u,h),p=v>0?u>h?Ar:gs:null,m=p?p===Ar?l.length:f.length:0);const A=p===Ar&&/\b(transform|all)(,|$)/.test(s(`${Ar}Property`).toString());return{type:p,timeout:v,propCount:m,hasTransform:A}}function Ih(e,t){for(;e.lengthMh(r)+Mh(e[s])))}function Mh(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Vm(){return document.body.offsetHeight}function D5(e,t,r){const s=e[Ki];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const gc=Symbol("_vod"),wa={beforeMount(e,{value:t},{transition:r}){e[gc]=e.style.display==="none"?"":e.style.display,r&&t?r.beforeEnter(e):ys(e,t)},mounted(e,{value:t},{transition:r}){r&&t&&r.enter(e)},updated(e,{value:t,oldValue:r},{transition:s}){!t!=!r&&(s?t?(s.beforeEnter(e),ys(e,!0),s.enter(e)):s.leave(e,()=>{ys(e,!1)}):ys(e,t))},beforeUnmount(e,{value:t}){ys(e,t)}};function ys(e,t){e.style.display=t?e[gc]:"none"}function B5(){wa.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}}}function N5(e,t,r){const s=e.style,o=wt(r);if(r&&!o){if(t&&!wt(t))for(const l in t)r[l]==null&&Du(s,l,"");for(const l in r)Du(s,l,r[l])}else{const l=s.display;o?t!==r&&(s.cssText=r):t&&e.removeAttribute("style"),gc in e&&(s.display=l)}}const Lh=/\s*!important$/;function Du(e,t,r){if(ke(r))r.forEach(s=>Du(e,t,s));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const s=W5(e,t);Lh.test(r)?e.setProperty(Pn(s),r.replace(Lh,""),"important"):e[s]=r}}const $h=["Webkit","Moz","ms"],mu={};function W5(e,t){const r=mu[t];if(r)return r;let s=pn(t);if(s!=="filter"&&s in e)return mu[t]=s;s=Ra(s);for(let o=0;o<$h.length;o++){const l=$h[o]+s;if(l in e)return mu[t]=l}return t}const Dh="http://www.w3.org/1999/xlink";function V5(e,t,r,s,o){if(s&&t.startsWith("xlink:"))r==null?e.removeAttributeNS(Dh,t.slice(6,t.length)):e.setAttributeNS(Dh,t,r);else{const l=V2(t);r==null||l&&!Lp(r)?e.removeAttribute(t):e.setAttribute(t,l?"":r)}}function F5(e,t,r,s,o,l,u){if(t==="innerHTML"||t==="textContent"){s&&u(s,o,l),e[t]=r??"";return}const c=e.tagName;if(t==="value"&&c!=="PROGRESS"&&!c.includes("-")){e._value=r;const h=c==="OPTION"?e.getAttribute("value"):e.value,p=r??"";h!==p&&(e.value=p),r==null&&e.removeAttribute(t);return}let f=!1;if(r===""||r==null){const h=typeof e[t];h==="boolean"?r=Lp(r):r==null&&h==="string"?(r="",f=!0):h==="number"&&(r=0,f=!0)}try{e[t]=r}catch{}f&&e.removeAttribute(t)}function sr(e,t,r,s){e.addEventListener(t,r,s)}function H5(e,t,r,s){e.removeEventListener(t,r,s)}const Bh=Symbol("_vei");function U5(e,t,r,s,o=null){const l=e[Bh]||(e[Bh]={}),u=l[t];if(s&&u)u.value=s;else{const[c,f]=q5(t);if(s){const h=l[t]=z5(s,o);sr(e,c,h,f)}else u&&(H5(e,c,u,f),l[t]=void 0)}}const Nh=/(?:Once|Passive|Capture)$/;function q5(e){let t;if(Nh.test(e)){t={};let s;for(;s=e.match(Nh);)e=e.slice(0,e.length-s[0].length),t[s[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):Pn(e.slice(2)),t]}let vu=0;const j5=Promise.resolve(),K5=()=>vu||(j5.then(()=>vu=0),vu=Date.now());function z5(e,t){const r=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=r.attached)return;Cn(Z5(s,r.value),t,5,[s])};return r.value=e,r.attached=K5(),r}function Z5(e,t){if(ke(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const Wh=/^on[a-z]/,G5=(e,t,r,s,o=!1,l,u,c,f)=>{t==="class"?D5(e,s,o):t==="style"?N5(e,r,s):Js(t)?Gu(t)||U5(e,t,r,s,u):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Y5(e,t,s,o))?F5(e,t,s,l,u,c,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),V5(e,t,s,o))};function Y5(e,t,r,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&Wh.test(t)&&Be(r)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||Wh.test(t)&&wt(r)?!1:t in e}/*! #__NO_SIDE_EFFECTS__ */function J5(e,t){const r=ze(e);class s extends yc{constructor(l){super(r,l,t)}}return s.def=r,s}/*! #__NO_SIDE_EFFECTS__ */const GS=e=>J5(e,cx),X5=typeof HTMLElement<"u"?HTMLElement:class{};class yc extends X5{constructor(t,r={},s){super(),this._def=t,this._props=r,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this._ob=null,this.shadowRoot&&s?s(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,this._ob&&(this._ob.disconnect(),this._ob=null),lr(()=>{this._connected||(jh(null,this.shadowRoot),this._instance=null)})}_resolveDef(){this._resolved=!0;for(let s=0;s{for(const o of s)this._setAttr(o.attributeName)}),this._ob.observe(this,{attributes:!0});const t=(s,o=!1)=>{const{props:l,styles:u}=s;let c;if(l&&!ke(l))for(const f in l){const h=l[f];(h===Number||h&&h.type===Number)&&(f in this._props&&(this._props[f]=pa(this._props[f])),(c||(c=Object.create(null)))[pn(f)]=!0)}this._numberProps=c,o&&this._resolveProps(s),this._applyStyles(u),this._update()},r=this._def.__asyncLoader;r?r().then(s=>t(s,!0)):t(this._def)}_resolveProps(t){const{props:r}=t,s=ke(r)?r:Object.keys(r||{});for(const o of Object.keys(this))o[0]!=="_"&&s.includes(o)&&this._setProp(o,this[o],!0,!1);for(const o of s.map(pn))Object.defineProperty(this,o,{get(){return this._getProp(o)},set(l){this._setProp(o,l)}})}_setAttr(t){let r=this.getAttribute(t);const s=pn(t);this._numberProps&&this._numberProps[s]&&(r=pa(r)),this._setProp(s,r,!1)}_getProp(t){return this._props[t]}_setProp(t,r,s=!0,o=!0){r!==this._props[t]&&(this._props[t]=r,o&&this._instance&&this._update(),s&&(r===!0?this.setAttribute(Pn(t),""):typeof r=="string"||typeof r=="number"?this.setAttribute(Pn(t),r+""):r||this.removeAttribute(Pn(t))))}_update(){jh(this._createVNode(),this.shadowRoot)}_createVNode(){const t=me(this._def,bt({},this._props));return this._instance||(t.ce=r=>{this._instance=r,r.isCE=!0;const s=(l,u)=>{this.dispatchEvent(new CustomEvent(l,{detail:u}))};r.emit=(l,...u)=>{s(l,u),Pn(l)!==l&&s(Pn(l),u)};let o=this;for(;o=o&&(o.parentNode||o.host);)if(o instanceof yc){r.parent=o._instance,r.provides=o._instance.provides;break}}),t}_applyStyles(t){t&&t.forEach(r=>{const s=document.createElement("style");s.textContent=r,this.shadowRoot.appendChild(s)})}}function YS(e="$style"){{const t=Hr();if(!t)return ct;const r=t.type.__cssModules;if(!r)return ct;const s=r[e];return s||ct}}function JS(e){const t=Hr();if(!t)return;const r=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(l=>Nu(l,o))},s=()=>{const o=e(t.proxy);Bu(t.subTree,o),r(o)};$A(s),Vt(()=>{const o=new MutationObserver(s);o.observe(t.subTree.el.parentNode,{childList:!0}),lc(()=>o.disconnect())})}function Bu(e,t){if(e.shapeFlag&128){const r=e.suspense;e=r.activeBranch,r.pendingBranch&&!r.isHydrating&&r.effects.push(()=>{Bu(r.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Nu(e.el,t);else if(e.type===et)e.children.forEach(r=>Bu(r,t));else if(e.type===Wi){let{el:r,anchor:s}=e;for(;r&&(Nu(r,t),r!==s);)r=r.nextSibling}}function Nu(e,t){if(e.nodeType===1){const r=e.style;for(const s in t)r.setProperty(`--${s}`,t[s])}}const Fm=new WeakMap,Hm=new WeakMap,Aa=Symbol("_moveCb"),Vh=Symbol("_enterCb"),Um={name:"TransitionGroup",props:bt({},M5,{tag:String,moveClass:String}),setup(e,{slots:t}){const r=Hr(),s=dm();let o,l;return ac(()=>{if(!o.length)return;const u=e.moveClass||`${e.name||"v"}-move`;if(!rx(o[0].el,r.vnode.el,u))return;o.forEach(ex),o.forEach(tx);const c=o.filter(nx);Vm(),c.forEach(f=>{const h=f.el,p=h.style;nr(h,u),p.transform=p.webkitTransform=p.transitionDuration="";const v=h[Aa]=m=>{m&&m.target!==h||(!m||/transform$/.test(m.propertyName))&&(h.removeEventListener("transitionend",v),h[Aa]=null,Pr(h,u))};h.addEventListener("transitionend",v)})}),()=>{const u=tt(e),c=Nm(u);let f=u.tag||et;o=l,l=t.default?oc(t.default()):[];for(let h=0;hdelete e.mode;Um.props;const XS=Um;function ex(e){const t=e.el;t[Aa]&&t[Aa](),t[Vh]&&t[Vh]()}function tx(e){Hm.set(e,e.el.getBoundingClientRect())}function nx(e){const t=Fm.get(e),r=Hm.get(e),s=t.left-r.left,o=t.top-r.top;if(s||o){const l=e.el.style;return l.transform=l.webkitTransform=`translate(${s}px,${o}px)`,l.transitionDuration="0s",e}}function rx(e,t,r){const s=e.cloneNode(),o=e[Ki];o&&o.forEach(c=>{c.split(/\s+/).forEach(f=>f&&s.classList.remove(f))}),r.split(/\s+/).forEach(c=>c&&s.classList.add(c)),s.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(s);const{hasTransform:u}=Wm(s);return l.removeChild(s),u}const Vr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ke(t)?r=>Di(t,r):t};function ix(e){e.target.composing=!0}function Fh(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const En=Symbol("_assign"),Wu={created(e,{modifiers:{lazy:t,trim:r,number:s}},o){e[En]=Vr(o);const l=s||o.props&&o.props.type==="number";sr(e,t?"change":"input",u=>{if(u.target.composing)return;let c=e.value;r&&(c=c.trim()),l&&(c=ha(c)),e[En](c)}),r&&sr(e,"change",()=>{e.value=e.value.trim()}),t||(sr(e,"compositionstart",ix),sr(e,"compositionend",Fh),sr(e,"change",Fh))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:r,trim:s,number:o}},l){if(e[En]=Vr(l),e.composing||document.activeElement===e&&e.type!=="range"&&(r||s&&e.value.trim()===t||(o||e.type==="number")&&ha(e.value)===t))return;const u=t??"";e.value!==u&&(e.value=u)}},qm={deep:!0,created(e,t,r){e[En]=Vr(r),sr(e,"change",()=>{const s=e._modelValue,o=zi(e),l=e.checked,u=e[En];if(ke(s)){const c=Ta(s,o),f=c!==-1;if(l&&!f)u(s.concat(o));else if(!l&&f){const h=[...s];h.splice(c,1),u(h)}}else if(ui(s)){const c=new Set(s);l?c.add(o):c.delete(o),u(c)}else u(Km(e,l))})},mounted:Hh,beforeUpdate(e,t,r){e[En]=Vr(r),Hh(e,t,r)}};function Hh(e,{value:t,oldValue:r},s){e._modelValue=t,ke(t)?e.checked=Ta(t,s.props.value)>-1:ui(t)?e.checked=t.has(s.props.value):t!==r&&(e.checked=Dr(t,Km(e,!0)))}const jm={created(e,{value:t},r){e.checked=Dr(t,r.props.value),e[En]=Vr(r),sr(e,"change",()=>{e[En](zi(e))})},beforeUpdate(e,{value:t,oldValue:r},s){e[En]=Vr(s),t!==r&&(e.checked=Dr(t,s.props.value))}},sx={deep:!0,created(e,{value:t,modifiers:{number:r}},s){const o=ui(t);sr(e,"change",()=>{const l=Array.prototype.filter.call(e.options,u=>u.selected).map(u=>r?ha(zi(u)):zi(u));e[En](e.multiple?o?new Set(l):l:l[0])}),e[En]=Vr(s)},mounted(e,{value:t}){Uh(e,t)},beforeUpdate(e,t,r){e[En]=Vr(r)},updated(e,{value:t}){Uh(e,t)}};function Uh(e,t){const r=e.multiple;if(!(r&&!ke(t)&&!ui(t))){for(let s=0,o=e.options.length;s-1:l.selected=t.has(u);else if(Dr(zi(l),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!r&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function zi(e){return"_value"in e?e._value:e.value}function Km(e,t){const r=t?"_trueValue":"_falseValue";return r in e?e[r]:t}const _c={created(e,t,r){ra(e,t,r,null,"created")},mounted(e,t,r){ra(e,t,r,null,"mounted")},beforeUpdate(e,t,r,s){ra(e,t,r,s,"beforeUpdate")},updated(e,t,r,s){ra(e,t,r,s,"updated")}};function zm(e,t){switch(e){case"SELECT":return sx;case"TEXTAREA":return Wu;default:switch(t){case"checkbox":return qm;case"radio":return jm;default:return Wu}}}function ra(e,t,r,s,o){const u=zm(e.tagName,r.props&&r.props.type)[o];u&&u(e,t,r,s)}function ox(){Wu.getSSRProps=({value:e})=>({value:e}),jm.getSSRProps=({value:e},t)=>{if(t.props&&Dr(t.props.value,e))return{checked:!0}},qm.getSSRProps=({value:e},t)=>{if(ke(e)){if(t.props&&Ta(e,t.props.value)>-1)return{checked:!0}}else if(ui(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},_c.getSSRProps=(e,t)=>{if(typeof t.type!="string")return;const r=zm(t.type.toUpperCase(),t.props&&t.props.type);if(r.getSSRProps)return r.getSSRProps(e,t)}}const ax=["ctrl","shift","alt","meta"],lx={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>ax.some(r=>e[`${r}Key`]&&!t.includes(r))},Wt=(e,t)=>(r,...s)=>{for(let o=0;or=>{if(!("key"in r))return;const s=Pn(r.key);if(t.some(o=>o===s||ux[o]===s))return e(r)},Zm=bt({patchProp:G5},I5);let $s,qh=!1;function Gm(){return $s||($s=d5(Zm))}function Ym(){return $s=qh?$s:h5(Zm),qh=!0,$s}const jh=(...e)=>{Gm().render(...e)},cx=(...e)=>{Ym().hydrate(...e)},fx=(...e)=>{const t=Gm().createApp(...e),{mount:r}=t;return t.mount=s=>{const o=Jm(s);if(!o)return;const l=t._component;!Be(l)&&!l.render&&!l.template&&(l.template=o.innerHTML),o.innerHTML="";const u=r(o,!1,o instanceof SVGElement);return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),u},t},e6=(...e)=>{const t=Ym().createApp(...e),{mount:r}=t;return t.mount=s=>{const o=Jm(s);if(o)return r(o,!0,o instanceof SVGElement)},t};function Jm(e){return wt(e)?document.querySelector(e):e}let Kh=!1;const t6=()=>{Kh||(Kh=!0,ox(),B5())};const ot=(e,t)=>{const r=e.__vccOpts||e;for(const[s,o]of t)r[s]=o;return r},dx={name:"Marquee",mounted(){this.update(),window.addEventListener("resize",this.update)},data(){return{isMarquee:!1}},methods:{isTruncated(e){return e?e.scrollWidth>e.clientWidth:!1},update(){this.isMarquee=!1,setTimeout(()=>{this.isMarquee=this.isTruncated(this.$refs.marquee)},10)}},props:{text:String},watch:{text(){this.update()}}},hx={key:0,class:"replacer"},px={key:0,class:"overlay"};function mx(e,t,r,s,o,l){return ne(),ge("div",{class:Je([{marquee:o.isMarquee},"marqueeWrapper"])},[te("span",{ref:"marquee",class:Je({marquee:o.isMarquee})},[Ua(We(r.text)+" ",1),o.isMarquee?(ne(),ge("span",hx,We(r.text),1)):Ne("",!0)],2),o.isMarquee?(ne(),ge("div",px)):Ne("",!0)],2)}const ir=ot(dx,[["render",mx],["__scopeId","data-v-625a8655"]]);var vx=!1;/*! * pinia v2.1.7 * (c) 2023 Eduardo San Martin Morote * @license MIT - */let Xm;const ja=e=>Xm=e,Qm=Symbol();function Vu(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ds;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ds||(Ds={}));function gx(){const e=Bp(!0),t=e.run(()=>Pe({}));let r=[],s=[];const o=$a({install(l){ja(o),o._a=l,l.provide(Qm,o),l.config.globalProperties.$pinia=o,s.forEach(u=>r.push(u)),s=[]},use(l){return!this._a&&!vx?s.push(l):r.push(l),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return o}const ev=()=>{};function zh(e,t,r,s=ev){e.push(t);const o=()=>{const l=e.indexOf(t);l>-1&&(e.splice(l,1),s())};return!r&&Wp()&&H2(o),o}function Ti(e,...t){e.slice().forEach(r=>{r(...t)})}const yx=e=>e();function Fu(e,t){e instanceof Map&&t instanceof Map&&t.forEach((r,s)=>e.set(s,r)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const r in t){if(!t.hasOwnProperty(r))continue;const s=t[r],o=e[r];Vu(o)&&Vu(s)&&e.hasOwnProperty(r)&&!_t(s)&&!Tr(s)?e[r]=Fu(o,s):e[r]=s}return e}const _x=Symbol();function bx(e){return!Vu(e)||!e.hasOwnProperty(_x)}const{assign:Cr}=Object;function wx(e){return!!(_t(e)&&e.effect)}function Ax(e,t,r,s){const{state:o,actions:l,getters:u}=t,c=r.state.value[e];let f;function h(){c||(r.state.value[e]=o?o():{});const p=pA(r.state.value[e]);return Cr(p,l,Object.keys(u||{}).reduce((v,m)=>(v[m]=$a(Ve(()=>{ja(r);const A=r._s.get(e);return u[m].call(A,A)})),v),{}))}return f=tv(e,h,t,r,s,!0),f}function tv(e,t,r={},s,o,l){let u;const c=Cr({actions:{}},r),f={deep:!0};let h,p,v=[],m=[],A;const C=s.state.value[e];!l&&!C&&(s.state.value[e]={}),Pe({});let S;function D(N){let j;h=p=!1,typeof N=="function"?(N(s.state.value[e]),j={type:Ds.patchFunction,storeId:e,events:A}):(Fu(s.state.value[e],N),j={type:Ds.patchObject,payload:N,storeId:e,events:A});const K=S=Symbol();lr().then(()=>{S===K&&(h=!0)}),p=!0,Ti(v,j,s.state.value[e])}const O=l?function(){const{state:j}=r,K=j?j():{};this.$patch(q=>{Cr(q,K)})}:ev;function k(){u.stop(),v=[],m=[],s._s.delete(e)}function M(N,j){return function(){ja(s);const K=Array.from(arguments),q=[],G=[];function V(F){q.push(F)}function w(F){G.push(F)}Ti(m,{args:K,name:N,store:T,after:V,onError:w});let I;try{I=j.apply(this&&this.$id===e?this:T,K)}catch(F){throw Ti(G,F),F}return I instanceof Promise?I.then(F=>(Ti(q,F),F)).catch(F=>(Ti(G,F),Promise.reject(F))):(Ti(q,I),I)}}const E={_p:s,$id:e,$onAction:zh.bind(null,m),$patch:D,$reset:O,$subscribe(N,j={}){const K=zh(v,N,j.detached,()=>q()),q=u.run(()=>ut(()=>s.state.value[e],G=>{(j.flush==="sync"?p:h)&&N({storeId:e,type:Ds.direct,events:A},G)},Cr({},f,j)));return K},$dispose:k},T=Xi(E);s._s.set(e,T);const U=(s._a&&s._a.runWithContext||yx)(()=>s._e.run(()=>(u=Bp()).run(t)));for(const N in U){const j=U[N];if(_t(j)&&!wx(j)||Tr(j))l||(C&&bx(j)&&(_t(j)?j.value=C[N]:Fu(j,C[N])),s.state.value[e][N]=j);else if(typeof j=="function"){const K=M(N,j);U[N]=K,c.actions[N]=j}}return Cr(T,U),Cr(tt(T),U),Object.defineProperty(T,"$state",{get:()=>s.state.value[e],set:N=>{D(j=>{Cr(j,N)})}}),s._p.forEach(N=>{Cr(T,u.run(()=>N({store:T,app:s._a,pinia:s,options:c})))}),C&&l&&r.hydrate&&r.hydrate(T.$state,C),h=!0,p=!0,T}function Ka(e,t,r){let s,o;const l=typeof t=="function";typeof e=="string"?(s=e,o=l?r:t):(o=e,s=e.id);function u(c,f){const h=s5();return c=c||(h?nn(Qm,null):null),c&&ja(c),c=Xm,c._s.has(s)||(l?tv(s,t,o,c):Ax(s,o,c)),c._s.get(s)}return u.$id=s,u}const xx=e=>[...new Set(e)],Px=(e,t)=>e.filter(r=>!t.includes(r)),Cx=(e,t)=>e.filter(r=>t.includes(r)),Ex=e=>typeof e=="bigint"||!Number.isNaN(Number(e))&&Math.floor(Number(e))===e,kx=e=>typeof e=="bigint"||e>=0&&Number.isSafeInteger(e);function ys(e,t){if(t.length===0)return e;let r;const s=[...e];for(let o=s.length-1,l=0,u=0;o>0;o--,l++){l%=t.length,u+=r=t[l].codePointAt(0);const c=(r+l+u)%o,f=s[o],h=s[c];s[c]=f,s[o]=h}return s}const Sx=(e,t)=>{const r=[];let s=e;if(typeof s=="bigint"){const o=BigInt(t.length);do r.unshift(t[Number(s%o)]),s/=o;while(s>BigInt(0))}else do r.unshift(t[s%t.length]),s=Math.floor(s/t.length);while(s>0);return r},Ox=(e,t)=>e.reduce((r,s)=>{const o=t.indexOf(s);if(o===-1)throw new Error(`The provided ID (${e.join("")}) is invalid, as it contains characters that do not exist in the alphabet (${t.join("")})`);if(typeof r=="bigint")return r*BigInt(t.length)+BigInt(o);const l=r*t.length+o;if(Number.isSafeInteger(l))return l;if(typeof BigInt=="function")return BigInt(r)*BigInt(t.length)+BigInt(o);throw new Error("Unable to decode the provided string, due to lack of support for BigInt numbers in the current environment")},0),Rx=/^\+?\d+$/,Tx=e=>Rx.test(e)?Number.parseInt(e,10):Number.NaN,Ix=(e,t,r)=>Array.from({length:Math.ceil(e.length/t)},(s,o)=>r(e.slice(o*t,(o+1)*t))),Zh=e=>new RegExp(e.map(t=>nv(t)).sort((t,r)=>r.length-t.length).join("|")),Mx=e=>new RegExp(`^[${e.map(t=>nv(t)).sort((t,r)=>r.length-t.length).join("")}]+$`),nv=e=>e.replace(/[\s#$()*+,.?[\\\]^{|}-]/g,"\\$&"),Gh=16,Yh=3.5,Lx=12,Jh=16,$x=12,Xh=100;class rv{constructor(t="",r=0,s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",o="cfhistuCFHISTU"){if(this.minLength=r,typeof r!="number")throw new TypeError(`Hashids: Provided 'minLength' has to be a number (is ${typeof r})`);if(typeof t!="string")throw new TypeError(`Hashids: Provided 'salt' has to be a string (is ${typeof t})`);if(typeof s!="string")throw new TypeError(`Hashids: Provided alphabet has to be a string (is ${typeof s})`);const l=Array.from(t),u=Array.from(s),c=Array.from(o);this.salt=l;const f=xx(u);if(f.lengthYh)&&(p=Math.ceil(this.alphabet.length/Yh),p>this.seps.length&&(v=p-this.seps.length,this.seps.push(...this.alphabet.slice(0,v)),this.alphabet=this.alphabet.slice(v))),this.alphabet=ys(this.alphabet,l);const m=Math.ceil(this.alphabet.length/Lx);this.alphabet.length<3?(this.guards=this.seps.slice(0,m),this.seps=this.seps.slice(m)):(this.guards=this.alphabet.slice(0,m),this.alphabet=this.alphabet.slice(m)),this.guardsRegExp=Zh(this.guards),this.sepsRegExp=Zh(this.seps),this.allowedCharsRegExp=Mx([...this.alphabet,...this.guards,...this.seps])}encode(t,...r){const s="";let o=Array.isArray(t)?t:[...t!=null?[t]:[],...r];return o.length===0||(o.every(Ex)||(o=o.map(l=>typeof l=="bigint"||typeof l=="number"?l:Tx(String(l)))),!o.every(kx))?s:this._encode(o).join("")}decode(t){return!t||typeof t!="string"||t.length===0?[]:this._decode(t)}encodeHex(t){let r=t;switch(typeof r){case"bigint":r=r.toString(Jh);break;case"string":if(!/^[\dA-Fa-f]+$/.test(r))return"";break;default:throw new Error(`Hashids: The provided value is neither a string, nor a BigInt (got: ${typeof r})`)}const s=Ix(r,$x,o=>Number.parseInt(`1${o}`,16));return this.encode(s)}decodeHex(t){return this.decode(t).map(r=>r.toString(Jh).slice(1)).join("")}isValidId(t){return this.allowedCharsRegExp.test(t)}_encode(t){let{alphabet:r}=this;const s=t.reduce((h,p,v)=>h+(typeof p=="bigint"?Number(p%BigInt(v+Xh)):p%(v+Xh)),0);let o=[r[s%r.length]];const l=[...o],{seps:u}=this,{guards:c}=this;if(t.forEach((h,p)=>{const v=l.concat(this.salt,r);r=ys(r,v);const m=Sx(h,r);if(o.push(...m),p+10){const p=h/2;o=o.slice(p,p+this.minLength)}}return o}_decode(t){if(!this.isValidId(t))throw new Error(`The provided ID (${t}) is invalid, as it contains characters that do not exist in the alphabet (${this.guards.join("")}${this.seps.join("")}${this.alphabet.join("")})`);const r=t.split(this.guardsRegExp),s=r.length===3||r.length===2?1:0,o=r[s];if(o.length===0)return[];const l=o[Symbol.iterator]().next().value,u=o.slice(l.length).split(this.sepsRegExp);let c=this.alphabet;const f=[];for(const h of u){const p=[l,...this.salt,...c],v=ys(c,p.slice(0,c.length));f.push(Ox(Array.from(h),v)),c=v}return this._encode(f).join("")!==t?[]:f}}new rv("reapOne.playlist",22);const iv=new rv("reapOne.track",22),Qh=e=>iv.encode(String(e)),Dx=e=>{const t=iv.decode(e);return Number(t[0])},Hu=(e,t)=>String(e).padStart(t,"0"),xa=e=>e?e.startsWith("local:")?e.replace("local:","/src/covers/"):e:null,Bx=e=>e?e.startsWith("local:")?e.replace("local:","/src/covers/"):e:null,sv=(e,t="track")=>(t=="playlist"?Bx:xa)(e),Nx=e=>e.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()),bc=e=>window.open(e,"_blank"),Uu=Ve(()=>window.innerWidth<768),n6=e=>/^(https?:\/\/)?((([a-z\d]([a-z\d-]*[a-z\d])*)\.)+[a-z]{2,}|((\d{1,3}\.){3}\d{1,3}))(\:\d+)?(\/[-a-z\d%_.~+]*)*(\?[;&a-z\d%_.~+=-]*)?(\#[-a-z\d_]*)?$/i.test(e),r6=e=>{const{key:t,mode:r}=e.spotify.features,s=["B","F#","C#","G#","D#","A#","F","C","G","D","A","E"],o=["A","D#","A#","F","C","G","D","A","E","B","F#","C#"];return`${(r=="Major"?s:o).indexOf(t)+1}${r=="Major"?"B":"A"}`},i6=(e,t=null)=>{t||(e.includes("track")&&(t="track"),e.includes("album")&&(t="album"),e.includes("playlist")&&(t="playlist"));const r=new RegExp(`https://open.spotify.com/${t}/([a-zA-Z0-9]+)`),s=e.match(r);return s?s[1]:null},s6=e=>new Date(e).toLocaleDateString("en-GB",{year:"numeric",month:"short",day:"numeric"}),o6=e=>{if(e<=0)return"N/A";const t=Math.floor(e/60),r=Hu(Math.floor(e%60),2);return`${t}:${r}`},a6=e=>{const t=["B","KB","MB","GB","TB"];let r=0;for(;e>1e3&&r{await tn().fetchPlaylists()},Wx=e=>tn().getPlaylistById(e),Vx=async e=>{await fetch(`/api/playlists/${e.id}`,{method:"POST",body:JSON.stringify({name:e.name,description:e.description,cover:e.cover})}),await to()},Fx=async()=>await(await fetch("/api/playlists")).json(),Hx=async e=>await(await fetch(`/api/playlists/${e}`)).json(),l6=e=>Wx(e),u6=async e=>(await fetch(`/api/playlists/${e}`,{method:"DELETE"})).ok?(await to(),!0):!1,wc=async(e="classic")=>{const r=await(await fetch(`/api/playlists/new?type=${e}`)).text();return await to(),r},Ac=async(e="classic",t,r="",s="")=>{const l=(await wc(e)).split("/").pop();return await Vx({id:l,name:t,description:r,cover:s,plays:0}),l},c6=async(e,t)=>{await fetch(`/api/playlists/${e}/tracks`,{method:"DELETE",body:JSON.stringify({songId:t})}),await to()},f6=async e=>await(await fetch("/api/playlists/smart/peek",{method:"POST",body:JSON.stringify(e)})).json(),Ux=async e=>await(await fetch(`/api/playlists/smart/${e}`)).json(),qx=async(e,t)=>{await fetch(`/api/playlists/smart/${e}`,{method:"PUT",body:JSON.stringify({definition:t})}),await to()},tn=Ka({id:"data",state:()=>({playlists:[]}),getters:{notEmpty(){return!this.empty},empty(){return this.playlists.length===0},playlistsAsDropdown(e=!0){const t=this.playlists.map(r=>({value:r.id,label:r.name}));return e&&t.push({value:"new",label:"(new playlist)"}),t},getPlaylistById(){return e=>this.playlists.find(t=>t.id===e)}},actions:{setPlaylists(e){this.playlists=e},initialise(){this.fetchPlaylists()},async fetchPlaylists(...e){if(e){console.log("fetching playlists",e);for(const r of e){const s=this.playlists.findIndex(o=>o.id===r);if(s===-1)return;this.playlists[s]=await Hx(r)}}const t=await Fx();this.setPlaylists(t)}}}),jx=class{constructor(){Oi(this,"ws",null);Oi(this,"connections",Pe([]));Oi(this,"player",null);Oi(this,"me",null);Oi(this,"sendInfoTask",null);this.connect()}connect(){console.log("attempting reconnect");const e=window.location.hostname,t=window.location.port=="5173"?1234:window.location.port;this.ws=new WebSocket(`ws://${e}:${t}/player/ws`);const r=zt();this.sendInfoTask&&clearInterval(this.sendInfoTask),this.sendInfoTask=setInterval(()=>this.sendInfo(),300),this.ws.onclose=()=>{console.log("disconnected"),setTimeout(()=>this.connect(),1e3)},this.ws.onopen=()=>{console.log("connected")};const s=o=>{if(typeof o=="string")switch(o){case"play":r.play();break;case"pause":r.pause();break}if(typeof o=="object")switch(o.command){case"seek":r.seek(o.time);break;case"set volume":r.setVolume(o.volume);break;case"set repeat":r.setRepeat(o.repeat);break;case"set mute":r.setMute(o.mute);break}};this.ws.onmessage=o=>{switch(o=JSON.parse(o.data),o.type){case"info":if(typeof o.data=="boolean")return;r.playing=o.data.playing,r.progress=o.data.progress,r.volume=o.data.volume,r.repeat=o.data.repeat;break;case"new client":console.log("new client",o.data);break;case"client disconnected":break;case"player disconnected":break;case"connections":this.updateConnections(o.data);break;case"command":s(o.data);break}}}sendInfo(){var r,s;if(((s=(r=this.me)==null?void 0:r.type)==null?void 0:s.toLowerCase())!=="player")return;const e=zt(),t={playing:e.playing,progress:e.progress,volume:e.volume,repeat:e.repeat};this.send("info",t)}updateConnections(e){this.connections.value=e,this.me=e.find(t=>t.friendlyName.includes("(You)"))}send(e,t){var r;(r=this.ws)==null||r.send(JSON.stringify({type:e,data:t}))}sendCommand(e){this.send("command",e)}setPlayer(e){this.send("set player",e.id)}makeMePlayer(){this.send("type","Player")}play(){this.sendCommand("play")}pause(){this.sendCommand("pause")}seek(e){this.sendCommand({command:"seek",time:e})}setVolume(e){this.sendCommand({command:"set volume",volume:e})}setRepeat(e){this.sendCommand({command:"set repeat",repeat:e})}setMute(e){this.sendCommand({command:"set mute",mute:e})}},Kx=()=>{fetch("/api/player/next")},zx=()=>{fetch("/api/player/previous")},Zx=e=>{fetch("/api/player/shuffle",{method:"POST",body:JSON.stringify(e)})},Gx=()=>fetch("/api/player/shuffle").then(e=>e.json()),xc=Ka({id:"downloader",state:()=>({ws:null,states:{},onDownload:[]}),getters:{empty(){return Object.keys(this.states).length===0}},actions:{_fireDownload(e){this.onDownload.forEach(t=>t(e))},initialise(){const e=()=>{console.log("[downloader] attempting reconnect");const t=window.location.hostname,r=window.location.port==="5173"?1234:window.location.port;this.ws=new WebSocket(`ws://${t}:${r}/download/ws`),this.ws.onclose=()=>{console.log("[downloader] ws closed"),setTimeout(()=>e(),1e3)},this.ws.onopen=()=>{console.log("[downloader] ws connected")},this.ws.onmessage=s=>{const o=JSON.parse(s.data);if(!o.action){if(o.status=="finished"){this.states[o.songId]={...this.states[o.songId],...o};return}this.states[o.songId]=o}}};e()},send(e){var t;(t=this.ws)==null||t.send(JSON.stringify(e))},downloadFromDb(e){this.send({action:"download",source:"db",songId:e}),this.states[e]={songId:e,status:"pending"},this._fireDownload(e)},downloadOther(e){this.send({action:"download",source:"other",...e}),this.states[e.id]={songId:e.id,status:"pending"},this._fireDownload(e.id)},download(e){window.open(`/api/tracks/${e}/download`,"_blank","noopener noreferrer"),this.states[e].status="downloaded"},isSongDownloading(e){const t=this.states[e];return t!=null&&t.internal?t.status==="downloading":!1}}}),no=async()=>{await tn().fetchPlaylists()},d6=async e=>{await fetch(`/api/tracks/${e.id}`,{method:"PUT",body:JSON.stringify({source:e.source,title:e.title,artist:e.artist,album:e.album,cover:e.cover})}),await no()},h6=async(e,t,r)=>{await fetch(`/api/tracks/${e}`,{method:"PUT",body:JSON.stringify({[t]:r})}),await no()},p6=async e=>await(await fetch("/api/browse/track",{method:"POST",body:JSON.stringify({url:e})})).json(),ov=e=>({source:e.source,title:e.title,artist:e.artist,album:e.album,cover:e.cover,spotify:e.metadata?JSON.stringify(e.metadata.spotify):""}),av=async(e,t)=>{e==="new"&&(e=await wc()),await fetch(`/api/playlists/${e}/tracks`,{method:"POST",body:JSON.stringify(ov(t))}),await no()},lv=async(e,t)=>{e==="new"&&(e=await wc()),await fetch(`/api/playlists/${e}/tracks`,{method:"POST",body:JSON.stringify(t.map(r=>ov(r)))}),await no()},m6=async(e,t=!0)=>{await fetch(`/api/tracks/${e}`,{method:"PUT",body:JSON.stringify({favourite:t})}),await no()},v6=e=>{xc().downloadFromDb(e)},Yx=async e=>await(await fetch(`/api/tracks/${e}`)).json(),g6=async e=>{const t=Dx(e);return await Yx(t)},Jx=async(e,t=!1,r=null)=>{const s={id:e};return t&&(s.forceFetch=!0),r&&(s.spotifyId=r),await(await fetch("/api/spotify/meta",{method:"POST",body:JSON.stringify(s)})).json()},y6=async e=>await(await fetch(`/api/spotify/recommendations/${e}`)).json(),_6=async e=>{await fetch(`/api/player/stream/${e}`,{method:"DELETE"})},Xx=async e=>{const r=await(await fetch("https://spotify-lyric-api-984e7b4face0.herokuapp.com/?trackid="+e)).json();return{error:r.message,lyrics:r.lines}},Qx=async(e=!1)=>{var o,l;const r=zt().song;let s=(o=r.metadata.spotify)==null?void 0:o.id;return!s&&e&&(s=(l=(await Jx(r.id)).spotify)==null?void 0:l.id),s?await Xx(s):{error:"Spotify equivalent unknown."}},zt=Ka({id:"player",state:()=>({playing:!1,progress:0,ready:!1,muted:!1,shuffle:!1,song:{title:null,artist:null,album:null,cover:xa(null),source:null,duration:null,favourite:!1,id:-1,metadata:{plays:0,spotify:{id:null}}},playlistId:null,lyrics:null,volume:50,repeat:"repeat",sharedPlayer:null,player:null}),actions:{playPause(){this.playing?this.pause():this.play()},toggleRepeat(){var e;switch(this.repeat){case"repeat":this.repeat="repeat_on";break;case"repeat_on":this.repeat="repeat_one_on";break;case"repeat_one_on":this.repeat="repeat";break}localStorage.setItem("reap.repeat",this.repeat),(e=this.player)==null||e.setRepeat(this.repeat)},setRepeat(e){this.repeat=e},setMute(e){var t;this.muted=e,(t=this.player)==null||t.setMute(e)},toggleMute(){this.setMute(!this.muted)},setShuffle(e){this.shuffle=e,Zx(e),tn().fetchPlaylists()},toggleShuffle(){this.setShuffle(!this.shuffle)},onSongEnded(){if(this.repeat==="repeat_one_on")this.play();else{if(this.repeat==="repeat"&&this.playlist.index.value===this.playlist.songs.length-1)return;this.next()}},play(){this.player.play()},pause(){this.player.pause()},next(){Kx()},previous(){zx()},setPlayer(e){e&&this.player!==e&&(this.player=e)},async setSong(e){e.id!=this.song.id&&(this.song=e,this.song.cover=xa(e.cover),this.progress=0,this.lyrics=null,this.lyrics=await Qx(!0))},setReady(e){this.ready!==e&&(this.ready=e,e?tn().initialise():(this.$reset(),tn().$reset()))},setDuration(e){this.song.duration=e,fetch(`/api/tracks/${this.song.id}`,{method:"PUT",body:JSON.stringify({duration:e})})},setPlaying(e){this.playing=e},seek(e){this.player.seek(e)},seekPercent(e){this.seek(this.durationSeconds*e/100)},setProgress(e){this.progress=Math.round(e)},setFavourite(e){this.song.favourite=e,fetch(`/api/tracks/${this.song.id}`,{method:"PUT",body:JSON.stringify({favourite:e})})},setPlaylist(e){this.playlistId=e},setVolume(e){var t;e!=this.volume&&(this.volume=e,localStorage.setItem("reap.volume",e),this.player.setVolume&&((t=this.player)==null||t.setVolume(e)))},toggleFavourite(){this.setFavourite(!this.song.favourite)},async initialise(){this.volume=localStorage.getItem("reap.volume")||50,this.repeat=localStorage.getItem("reap.repeat")||"repeat_on",this.sharedPlayer=new jx,this.shuffle=await Gx()},async loadPlaylist(e,t=null){const r={type:"playlist",id:e};e==="track"&&(r.type=e,r.id=t),e==="artist"&&(r.type=e,r.name=t,delete r.id),await fetch("/api/player/load",{method:"POST",body:JSON.stringify(r)})},loadSong(e,t){const r={index:t};e==="track"?r.type=e:r.playlist=e,fetch("/api/player/at",{method:"POST",body:JSON.stringify(r)})}},getters:{playlist(e){return tn().playlists.find(t=>t.id===e.playlistId)},hasLyrics(e){var t;return(t=e.lyrics)==null?void 0:t.lyrics},durationSeconds(e){return e.song.duration},displayDuration(e){const t=e.song.duration;return isNaN(t)?"0:00":`${Math.floor(t/60)}:${Hu(Math.floor(t%60),2)}`},stream(e){return`/api/player/stream/${e.song.id}`},cover(e){return e.song.cover},progressPercent(e){return e.progress/this.durationSeconds*1e3},displayProgress(e){const t=e.progress;return isNaN(t)?"0:00":`${Math.floor(t/60)}:${Hu(Math.floor(t%60),2)}`},loaded(e){return e.song.id!=-1},shuffleIcon(e){return e.shuffle?"shuffle_on":"shuffle"},muteIcon(e){return e.muted?"volume_off":e.volume>50?"volume_up":e.volume>0?"volume_down":"volume_mute"}}});const eP=(e,t,r)=>{const s=new CustomEvent("player.play",{detail:{title:e,artist:t,source:r}});window.dispatchEvent(s)},tP={components:{Marquee:ir},name:"PlayerInPicture",props:{expandCover:Boolean},watch:{disabled(){this.disabled||this.$nextTick(()=>{this.$refs.player.addEventListener("mousedown",this.mouseDown,!1),window.addEventListener("mouseup",this.mouseUp,!1)})}},methods:{mouseDown(e){const t=this.$refs.player,r=document.getElementById("appRoot");e=e||window.event;var s=e.clientX,o=e.clientY,l=t.offsetTop,u=t.offsetLeft,c=parseInt(t.offsetWidth),f=parseInt(t.offsetHeight),h=parseInt(r.offsetWidth)-8,p=parseInt(r.offsetHeight)-8;r.style.cursor="move";var v=s-u,m=o-l;document.onmousemove=A=>{A=A||window.event,A.preventDefault(),A.stopPropagation();var C=A.clientX,S=A.clientY,D=C-v,O=S-m;D<8&&(D=8),O<8&&(O=8),D+c>h&&(D=h-c),O+f>p&&(O=p-f),this.divMove(t,D,O)}},mouseUp(){document.getElementById("appRoot").style.cursor="default",document.onmousemove=function(){}},divMove(e,t,r){e.style.bottom="auto",e.style.right="auto",e.style.left=t+"px",e.style.top=r+"px"}},data(){const e=zt();return window.addEventListener("player.play",t=>{const r=t.detail,s=r.source;if(this.name=`${r.artist} - ${r.title}`,e.pause(),s.includes("youtu")){var o=/youtu(?:.*\/v\/|.*v\=|\.be\/)([A-Za-z0-9_\-]{11})/;const l=s.match(o);if(l!=null&&l[1]){this.el=``,this.minimised=!1,this.disabled=!1;return}}if(s.includes("audius")){var o=/audius.co\/([A-Za-z0-9]+)\/([A-Za-z0-9\-]+)/;const u=s.match(o);if(console.log(u,s),u!=null&&u[1]&&(u!=null&&u[2])){fetch(`https://blockdaemon-audius-discovery-01.bdnodes.net/v1/full/tracks?handle=${u[1]}&slug=${u[2]}`).then(c=>c.json()).then(c=>{const f=c.data.id;this.el=``}),this.minimised=!1,this.disabled=!1;return}}if(s.includes("spotify")){var o=/spotify(?:.*\/(album|track|playlist)\/)([A-Za-z0-9_\-]{22})/;const u=s.match(o);if(u!=null&&u[1]){console.log(u),this.el=``,this.minimised=!1,this.disabled=!1;return}}s.includes("soundcloud")&&(fetch(`https://soundcloud.com/oembed?url=${s}&format=json`).then(l=>l.json()).then(l=>{this.el=l.html.replace('height="400"','height="70"').replace("&show_artwork=true","&show_artwork=true&auto_play=true").replace("o.minimised=!o.minimised)},We(o.minimised?"zoom_out_map":"zoom_in_map"),1),te("span",{class:"material-symbols-rounded ms-wght-500",onClick:t[1]||(t[1]=c=>o.disabled=!o.disabled)},"close")])],2),te("div",{class:Je([{minimised:o.minimised},"frame"]),innerHTML:o.el},null,10,sP)],512))}const aP=ot(tP,[["render",oP]]),lP={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 809.48 395.8"},uP=te("path",{d:"M80.09 254.67c-4.84 0-9.04-1.72-12.6-5.16-3.57-3.43-5.35-7.7-5.35-12.79V79.04c0-4.84 1.78-8.97 5.35-12.41 3.56-3.44 7.76-5.16 12.6-5.16s8.97 1.72 12.41 5.16c3.43 3.43 5.15 7.57 5.15 12.41v157.68c0 5.09-1.72 9.36-5.15 12.79-3.44 3.44-7.58 5.16-12.41 5.16Zm70.63 61.47c-4.84 0-8.97-1.78-12.41-5.34-3.44-3.57-5.16-7.77-5.16-12.6V17.57c0-4.58 1.72-8.66 5.16-12.22 3.43-3.56 7.57-5.34 12.41-5.34s9.04 1.78 12.6 5.34c3.56 3.57 5.34 7.64 5.34 12.22V298.2c0 4.83-1.78 9.03-5.34 12.6-3.56 3.56-7.76 5.34-12.6 5.34ZM17.38 193.2c-4.79 0-8.88-1.7-12.27-5.1-3.4-3.4-5.1-7.61-5.1-12.65v-35.13c0-4.79 1.7-8.88 5.1-12.27 3.4-3.4 7.49-5.1 12.27-5.1s9 1.7 12.66 5.1c3.65 3.4 5.48 7.49 5.48 12.27v35.33c0 3.92-1.25 7.85-3.85 10.77-4.01 4.51-8.78 6.77-14.28 6.77Zm195.29 60.46c-4.78 0-8.87-1.7-12.28-5.11-3.4-3.4-5.1-7.62-5.1-12.66V79.86c0-4.79 1.7-8.88 5.1-12.28 3.4-3.4 7.5-5.11 12.28-5.11s9.01 1.7 12.66 5.11c3.65 3.4 5.48 7.49 5.48 12.28V235.9c0 5.04-1.76 9.26-5.29 12.66-3.52 3.4-7.81 5.11-12.85 5.11Zm62.52-60.46c-4.78 0-8.94-1.7-12.46-5.1-3.52-3.4-5.29-7.61-5.29-12.65v-35.13c0-4.79 1.76-8.88 5.29-12.27 3.53-3.4 7.68-5.1 12.46-5.1s8.94 1.7 12.46 5.1c3.53 3.4 5.29 7.49 5.29 12.27v35.13c0 5.03-1.76 9.25-5.29 12.65-3.52 3.4-7.68 5.1-12.46 5.1ZM436.15 266.18c-10.94-6.13-19.61-14.63-26-25.51-6.39-10.88-9.59-23.17-9.59-36.88s3.2-26 9.59-36.88c6.39-10.88 15.06-19.34 26-25.41 10.94-6.06 22.94-9.1 35.99-9.1s25.21 3.03 36.09 9.1c10.88 6.06 19.48 14.53 25.8 25.41 6.33 10.88 9.49 23.17 9.49 36.88s-3.16 26-9.49 36.88-14.96 19.38-25.9 25.51c-10.94 6.13-22.94 9.19-35.99 9.19s-25.05-3.06-35.99-9.19Zm59.42-36.48c5.73-6.46 8.6-15.09 8.6-25.9s-2.87-19.8-8.6-26.2c-5.73-6.39-13.54-9.59-23.43-9.59s-17.87 3.2-23.53 9.59c-5.67 6.4-8.5 15.13-8.5 26.2s2.83 19.61 8.5 26c5.67 6.4 13.51 9.59 23.53 9.59s17.7-3.23 23.43-9.69ZM690.05 273.99h-38.76l-51.61-77.91v77.91h-38.76V134.58h38.76l51.61 78.9v-78.9h38.76v139.41ZM750.95 165.63v22.74h44.49v29.46h-44.49v25.11h50.42v31.04h-89.18v-139.4h89.18v31.04h-50.42ZM414.68 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43h-1.39c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22ZM455.71 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.52-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM486.61 97.82h-17.56l-3.23 8.95h-5.54l14.55-40.02h6.06l14.5 40.02h-5.54l-3.23-8.95Zm-1.5-4.27-7.28-20.33-7.28 20.33h14.55ZM529.81 75.13v31.65h-5.25v-4.68c-1 1.62-2.4 2.88-4.19 3.78-1.79.9-3.76 1.36-5.92 1.36-2.46 0-4.68-.51-6.64-1.53s-3.51-2.55-4.65-4.59c-1.14-2.04-1.7-4.52-1.7-7.45V75.13h5.2v17.85c0 3.12.79 5.52 2.37 7.19 1.58 1.67 3.73 2.51 6.47 2.51s5.02-.87 6.64-2.6 2.43-4.25 2.43-7.57V75.13h5.25ZM538.7 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.86-2.02 7.71-2.02 2.46 0 4.75.57 6.87 1.7 2.12 1.14 3.73 2.63 4.85 4.48V64.04h5.31v42.74h-5.31v-5.95c-1.04 1.89-2.58 3.44-4.62 4.65s-4.43 1.82-7.16 1.82-5.36-.69-7.65-2.08c-2.29-1.39-4.09-3.33-5.4-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM577.91 68.95c-.69-.69-1.04-1.54-1.04-2.54s.35-1.85 1.04-2.54 1.54-1.04 2.54-1.04 1.78.35 2.45 1.04 1.01 1.54 1.01 2.54-.34 1.85-1.01 2.54-1.49 1.04-2.45 1.04-1.85-.35-2.54-1.04Zm5.08 6.18v31.65h-5.25V75.13h5.25ZM597.69 105.27c-2.41-1.35-4.29-3.26-5.66-5.75-1.37-2.48-2.05-5.36-2.05-8.63s.7-6.09 2.11-8.58 3.32-4.39 5.75-5.72 5.14-1.99 8.14-1.99 5.72.66 8.14 1.99 4.34 3.23 5.75 5.69c1.41 2.46 2.11 5.33 2.11 8.6s-.72 6.15-2.17 8.63c-1.44 2.48-3.4 4.4-5.86 5.75-2.46 1.35-5.2 2.02-8.2 2.02s-5.65-.67-8.06-2.02Zm13.37-3.93c1.65-.89 2.99-2.21 4.01-3.98 1.02-1.77 1.53-3.93 1.53-6.47s-.5-4.7-1.5-6.47c-1-1.77-2.31-3.09-3.93-3.96-1.62-.87-3.37-1.3-5.25-1.3s-3.69.43-5.28 1.3c-1.6.87-2.88 2.19-3.84 3.96s-1.44 3.93-1.44 6.47.47 4.76 1.41 6.53c.94 1.77 2.2 3.09 3.78 3.96 1.58.87 3.31 1.3 5.2 1.3s3.66-.44 5.31-1.33ZM652.38 86.65c-2.29 2.21-5.79 3.32-10.48 3.32h-7.74v16.81h-5.25V66.53h12.99c4.54 0 8 1.1 10.37 3.29 2.37 2.19 3.55 5.02 3.55 8.49s-1.15 6.13-3.44 8.35Zm-4.01-2.92c1.39-1.27 2.08-3.08 2.08-5.43 0-4.97-2.85-7.45-8.55-7.45h-7.74v14.78h7.74c2.93 0 5.08-.64 6.47-1.91ZM667.6 64.04v42.74h-5.25V64.04h5.25ZM676.55 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.84-2.02 7.65-2.02s5.18.6 7.22 1.79 3.56 2.7 4.56 4.5v-5.78h5.31v31.65h-5.31v-5.89c-1.04 1.85-2.59 3.38-4.65 4.59-2.06 1.21-4.46 1.82-7.19 1.82s-5.35-.69-7.62-2.08c-2.27-1.39-4.06-3.33-5.37-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM742.85 75.13l-19.06 46.55h-5.43l6.24-15.25-12.76-31.3h5.83l9.93 25.64 9.82-25.64h5.43ZM776.8 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.51-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM793.12 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43H798c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22Z"},null,-1),cP=[uP];function fP(e,t){return ne(),ge("svg",lP,cP)}const dP={render:fP},hP=1.1,ep=window.localStorage.getItem("renderedIcons"),ua=ep?new Map(JSON.parse(ep)):new Map,pP=()=>{window.localStorage.setItem("renderedIcons",JSON.stringify([...ua]))},Pa=(e,t,r=500)=>e||uv(t,r),uv=async(e,t=500)=>{await document.fonts.ready;const r=`${hP}-${e}-${t}`;if(ua.has(r))return ua.get(r);const s=document.createElement("canvas"),o=s.getContext("2d"),l=getComputedStyle(document.documentElement).getPropertyValue("--bg-gradient-placeholder"),u=l.match(/(#[0-9a-f]{3,6})/g)[0],c=l.match(/(#[0-9a-f]{3,6})/g)[1],f=o.createLinearGradient(t,0,0,t);f.addColorStop(0,u),f.addColorStop(1,c);const h=t;o.canvas.width=h,o.canvas.height=h,o.fillStyle=f,o.fillRect(0,0,h,h),o.font=`300 ${h}px Material Symbols Rounded`,o.fillStyle="whitesmoke",o.fillText(e,0,h);const p=s.toDataURL();return ua.set(r,p),pP(),p};/*! Fast Average Color | © 2023 Denis Seleznev | MIT License | https://github.com/fast-average-color/fast-average-color */function mP(e){var t=e.toString(16);return t.length===1?"0"+t:t}function tp(e){return"#"+e.map(mP).join("")}function vP(e){var t=(e[0]*299+e[1]*587+e[2]*114)/1e3;return t<128}function gP(e){return e?yP(e)?e:[e]:[]}function yP(e){return Array.isArray(e[0])}function Pc(e,t,r){for(var s=0;s=t-r&&e<=t+r}function AP(e,t,r){var s=r[0],o=r[1],l=r[2],u=r[3],c=r[4],f=e[t+3],h=ia(f,u,c);return u?!!(!f&&h||ia(e[t],s,c)&&ia(e[t+1],o,c)&&ia(e[t+2],l,c)&&h):h}var xP=24;function PP(e,t,r){for(var s={},o=r.dominantDivider||xP,l=r.ignoredColor,u=r.step,c=[0,0,0,0,0],f=0;fl?(f=o/l,u=qu,c=Math.round(u/f)):(f=l/o,c=qu,u=Math.round(c/f)),(u>o||c>l||u"u";function $P(){return LP?fv?new OffscreenCanvas(1,1):null:document.createElement("canvas")}var DP="FastAverageColor: ";function Vn(e){return Error(DP+e)}function _s(e,t){t||console.error(e)}var BP=function(){function e(){this.canvas=null,this.ctx=null}return e.prototype.getColorAsync=function(t,r){if(!t)return Promise.reject(Vn("call .getColorAsync() without resource"));if(typeof t=="string"){if(typeof Image>"u")return Promise.reject(Vn("resource as string is not supported in this environment"));var s=new Image;return s.crossOrigin=r&&r.crossOrigin||"",s.src=t,this.bindImageEvents(s,r)}else{if(cv(t)&&!t.complete)return this.bindImageEvents(t,r);var o=this.getColor(t,r);return o.error?Promise.reject(o.error):Promise.resolve(o)}},e.prototype.getColor=function(t,r){r=r||{};var s=np(r);if(!t){var o=Vn("call .getColor() without resource");return _s(o,r.silent),this.prepareResult(s,o)}var l=SP(t),u=MP(l,r);if(!u.srcWidth||!u.srcHeight||!u.destWidth||!u.destHeight){var o=Vn('incorrect sizes for resource "'.concat(ip(t),'"'));return _s(o,r.silent),this.prepareResult(s,o)}if(!this.canvas&&(this.canvas=$P(),!this.canvas)){var o=Vn("OffscreenCanvas is not supported in this browser");return _s(o,r.silent),this.prepareResult(s,o)}if(!this.ctx){if(this.ctx=this.canvas.getContext("2d",{willReadFrequently:!0}),!this.ctx){var o=Vn("Canvas Context 2D is not supported in this browser");return _s(o,r.silent),this.prepareResult(s)}this.ctx.imageSmoothingEnabled=!1}this.canvas.width=u.destWidth,this.canvas.height=u.destHeight;try{this.ctx.clearRect(0,0,u.destWidth,u.destHeight),this.ctx.drawImage(t,u.srcLeft,u.srcTop,u.srcWidth,u.srcHeight,0,0,u.destWidth,u.destHeight);var c=this.ctx.getImageData(0,0,u.destWidth,u.destHeight).data;return this.prepareResult(this.getColorFromArray4(c,r))}catch(f){var o=Vn("security error (CORS) for resource ".concat(ip(t),`. -Details: https://developer.mozilla.org/en/docs/Web/HTML/CORS_enabled_image`));return _s(o,r.silent),!r.silent&&console.error(f),this.prepareResult(s,o)}},e.prototype.getColorFromArray4=function(t,r){r=r||{};var s=4,o=t.length,l=np(r);if(o{localStorage.setItem(dv,JSON.stringify({sidebar:e.sidebar,player:e.player,theme:e.theme,ambient:e.ambient}))},WP={sidebar:{sports:!1,news:!1,collapsed:!1},player:{expandedCover:!1,pictureInPicture:!1,type:"web"},theme:NP,ambient:!0},ks=()=>JSON.parse(localStorage.getItem(dv)||JSON.stringify(WP)),VP=()=>{const e=ks();console.log("migrateSettings",e);const t=localStorage.getItem("sidebar.showSportsTab"),r=localStorage.getItem("sidebar.showNewsTab"),s=localStorage.getItem("player.inBrowser"),o=localStorage.getItem("player.collapsedSidebar"),l=localStorage.getItem("player.exapndCover"),u=localStorage.getItem("theme");t&&(e.sidebar.sports=t==="true",localStorage.removeItem("sidebar.showSportsTab")),r&&(e.sidebar.news=r==="true",localStorage.removeItem("sidebar.showNewsTab")),s&&localStorage.removeItem("player.inBrowser"),o&&(e.sidebar.collapsed=o==="true",localStorage.removeItem("player.collapsedSidebar")),l&&(e.player.expandedCover=l==="true",localStorage.removeItem("player.exapndCover")),u&&(e.theme=u,localStorage.removeItem("theme")),hv(e)},Ur=Ka("settings",()=>{VP();const e=Pe(ks().player),t=Pe(ks().sidebar),r=Pe(ks().theme),s=Pe(ks().ambient),o=()=>{hv({player:e.value,sidebar:t.value,theme:r.value,ambient:s.value})};ut(()=>e,o,{deep:!0}),ut(()=>t,o,{deep:!0}),ut(()=>r,o,{deep:!0}),ut(()=>s,o,{deep:!0});const l=Ve(()=>window.getCurrentThemeProperty&&window.getCurrentThemeProperty("supportsAmbient"));return{player:e,sidebar:t,theme:r,ambient:s,themeSupportsAmbient:l}}),Ss=new BP,Os=(e,t)=>{const r=e.hex,s=Math.round(t*255).toString(16);return r+s},FP=async(e,t,r=.25)=>{if(!Ur().ambient)return;var o=e.width/100,l=e.height/100,u=e.naturalWidth,c=e.naturalHeight;const f=await Promise.all([Ss.getColorAsync(t,{height:l}),Ss.getColorAsync(t,{left:u-o,width:o}),Ss.getColorAsync(t,{width:o}),Ss.getColorAsync(t,{top:c-l,height:l})]);o*=40,l*=40;var h=Os(f[0],r),p=Os(f[1],r),v=Os(f[2],r),m=Os(f[3],r);const A=" 10px",C=` ${o}px `,S=o+"px",D=l+"px";e.style.boxShadow=["0 -".concat(D," ").concat(C," ").concat(A," ").concat(h),"".concat(S," 0 ").concat(C," ").concat(A," ").concat(p),"0 ".concat(D," ").concat(C," ").concat(A," ").concat(v),"-".concat(S," 0 ").concat(C," ").concat(A," ").concat(m)].join(", ")},HP=async(e,t,r="to top right",s=.2)=>{if(!Ur().ambient)return;const l=await Ss.getColorAsync(t),u=Os(l,s),c=`linear-gradient(${r}, ${u}, transparent)`;e.style.background=c},UP={dark:!1,dynamic:!0},qP={dark:!0,dynamic:!1},li={"fg-secondary":{dark:"#1ed760",dynamic:"#00c48b",light:"#18a74b"},"fg-secondary-dk":{dark:"#217e41",dynamic:"#00c48b",light:"#80dda0"},"bg-contrast":{dark:"white",dynamic:"whitesmoke",light:"#181c2f"},"fg-contrast":{dark:"#121212",dynamic:"#1e1e1e",light:"white"},"fg-base":{dark:"white",dynamic:"whitesmoke",light:"#181c2f"},"fg-base-dk":{dark:"#a7a7a7",dynamic:"#c2bebe",light:"#8b8c91"},"fg-base-dkr":{dark:"#999",light:"#8b8c91",dynamic:"#999"},"bg-hover-ltr":{dark:"#242424"},"bg-hover-lt":{dark:"hsla(0,0%,100%,0.04)",light:"#b3b3b31f"},"bg-hover":{dark:"hsla(0,0%,100%,0.3)",dynamic:"#00c48b82",light:"#7c828f5e"},"bg-hover-dk":{dark:"hsla(0,0%,100%,0.1)",dynamic:"#00c48b42",light:"#E3E7EB"},"bg-gradient":{dark:"linear-gradient(to left bottom, #1ed760, #217e41)",dynamic:"linear-gradient(to left bottom, #00a53c, #00297f)",light:"linear-gradient(to left bottom, #18a74b, #80dda0)"},"bg-gradient-placeholder":{dark:"linear-gradient(to left bottom, #00a53c, #00297f)"},"bg-base":{dark:"#121212",light:"white"},"bg-base-lt":{dark:"#181818",dynamic:"linear-gradient(to right bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3))",light:"#f3f7fb"},"bg-base-dk":{dark:"black",dynamic:"linear-gradient(to right bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3))",light:"#f3f7fb"},"bg-input":{dark:"var(--background-light)",light:"var(--background)"},"bg-fixedPlaylistHeader":{dark:"var(--bg-base-lt)",dynamic:"#374148"},"border-fixedPlaylistHeader":{dark:"#303030",dynamic:"none",light:"#D0D0D0"},"border-base":{dark:"hsla(0,0%,100%,0.1)",light:"#E3E7EB"},"border-container":{dark:"1px solid var(--border-base)",light:"1px solid var(--border-base)",dynamic:"1px solid transparent"},"ff-base":{dark:"Poppins, sans-serif"},"h-playlistEntry":{dark:"64px"},"h-player":{dark:"88px"},"h-player-mobile":{dark:"64px"},"h-header":{dark:"64px"},coverAsBackground:UP,supportsAmbient:qP},za=()=>Ur();window.getThemes=()=>{window.themes=[];for(const e of Object.keys(li))for(const t of Object.keys(li[e]))window.themes.includes(t)||window.themes.push(t);return window.themes};window.getCurrentTheme=()=>za().theme;window.setTheme=e=>{if(window.getThemes().includes(e)){za().theme=e;for(const t of Object.keys(li)){const r=li[t];t!="coverAsBackground"&&document.documentElement.style.setProperty(`--${t}`,r[e]??r.dark)}}};window.restoreTheme=()=>window.setTheme(za().theme||"dynamic");window.getCurrentThemeProperty=e=>{const t=li[e];return t[za().theme]??t.dark};const pv=window,jP=["alt","src"],oi=ze({__name:"Cover",props:{src:{type:String,required:!0},type:{type:String,required:!1,default:"track"},placeholder:{type:String,required:!1},withAmbient:{type:Boolean,required:!1,default:!1},ambientOpacity:{type:Number,required:!1,default:.2}},setup(e){const t=e,r=Ve(()=>t.placeholder?t.placeholder:t.type==="track"?"music_note":"queue_music"),s=Pe(null),o=async()=>{if(s.value=await uv(r.value),!s.value){setTimeout(()=>{o()},100);return}},l=()=>{s.value=sv(t.src,t.type),s.value||o()};ut(()=>t.src,l),l();const u=Pe(null),c=async()=>{if(!t.withAmbient||!u.value||!pv.getCurrentThemeProperty("supportsAmbient"))return;const f=await Pa(s.value,r.value);console.log(f),FP(u.value,f,t.ambientOpacity)};return(f,h)=>(ne(),ge("img",{ref_key:"element",ref:u,alt:t.type,src:se(Pa)(s.value,r.value),class:"cover",onError:o,onLoad:c},null,40,jP))}});const KP={name:"NavEntry",components:{Cover:oi},props:{icon:String,img:String,name:String,href:String,hasChildSites:Boolean,parentHref:String,minimised:Boolean},computed:{showImg(){return this.img?!0:/^\/playlist\/\w{22}$/.exec(this.href)},active(){return this.hasChildSites?this.$route.path.includes(this.href)?!0:(console.log(this.parentHref),this.parentHref&&this.$route.path.includes(this.parentHref)):!1}}},zP={key:0,class:"material-icons-round icon"},ZP={key:2,class:"name hideIfMobile"};function GP(e,t,r,s,o,l){const u=Fi("Cover"),c=Fi("router-link");return ne(),je(c,{to:r.href,class:"link"},{default:Ot(()=>[te("div",{class:Je([{active:l.active,img:l.showImg},"navEntry"])},[r.icon?(ne(),ge("span",zP,We(r.icon),1)):Ne("",!0),l.showImg?(ne(),je(u,{key:1,src:r.img,class:"icon",type:"playlist"},null,8,["src"])):Ne("",!0),r.minimised?Ne("",!0):(ne(),ge("span",ZP,We(r.name),1))],2)]),_:1},8,["to"])}const Tn=ot(KP,[["render",GP],["__scopeId","data-v-148b3d73"]]),YP="modulepreload",JP=function(e){return"/"+e},sp={},mt=function(t,r,s){if(!r||r.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(r.map(l=>{if(l=JP(l),l in sp)return;sp[l]=!0;const u=l.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(!!s)for(let p=o.length-1;p>=0;p--){const v=o[p];if(v.href===l&&(!u||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${c}`))return;const h=document.createElement("link");if(h.rel=u?"stylesheet":YP,u||(h.as="script",h.crossOrigin=""),h.href=l,document.head.appendChild(h),u)return new Promise((p,v)=>{h.addEventListener("load",p),h.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${l}`)))})})).then(()=>t()).catch(l=>{const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=l,window.dispatchEvent(u),!u.defaultPrevented)throw l})};/*! + */let Xm;const ja=e=>Xm=e,Qm=Symbol();function Vu(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ds;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ds||(Ds={}));function gx(){const e=Bp(!0),t=e.run(()=>Pe({}));let r=[],s=[];const o=$a({install(l){ja(o),o._a=l,l.provide(Qm,o),l.config.globalProperties.$pinia=o,s.forEach(u=>r.push(u)),s=[]},use(l){return!this._a&&!vx?s.push(l):r.push(l),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return o}const ev=()=>{};function zh(e,t,r,s=ev){e.push(t);const o=()=>{const l=e.indexOf(t);l>-1&&(e.splice(l,1),s())};return!r&&Wp()&&H2(o),o}function Ti(e,...t){e.slice().forEach(r=>{r(...t)})}const yx=e=>e();function Fu(e,t){e instanceof Map&&t instanceof Map&&t.forEach((r,s)=>e.set(s,r)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const r in t){if(!t.hasOwnProperty(r))continue;const s=t[r],o=e[r];Vu(o)&&Vu(s)&&e.hasOwnProperty(r)&&!_t(s)&&!Tr(s)?e[r]=Fu(o,s):e[r]=s}return e}const _x=Symbol();function bx(e){return!Vu(e)||!e.hasOwnProperty(_x)}const{assign:Cr}=Object;function wx(e){return!!(_t(e)&&e.effect)}function Ax(e,t,r,s){const{state:o,actions:l,getters:u}=t,c=r.state.value[e];let f;function h(){c||(r.state.value[e]=o?o():{});const p=pA(r.state.value[e]);return Cr(p,l,Object.keys(u||{}).reduce((v,m)=>(v[m]=$a(Ve(()=>{ja(r);const A=r._s.get(e);return u[m].call(A,A)})),v),{}))}return f=tv(e,h,t,r,s,!0),f}function tv(e,t,r={},s,o,l){let u;const c=Cr({actions:{}},r),f={deep:!0};let h,p,v=[],m=[],A;const C=s.state.value[e];!l&&!C&&(s.state.value[e]={}),Pe({});let S;function D(N){let j;h=p=!1,typeof N=="function"?(N(s.state.value[e]),j={type:Ds.patchFunction,storeId:e,events:A}):(Fu(s.state.value[e],N),j={type:Ds.patchObject,payload:N,storeId:e,events:A});const K=S=Symbol();lr().then(()=>{S===K&&(h=!0)}),p=!0,Ti(v,j,s.state.value[e])}const O=l?function(){const{state:j}=r,K=j?j():{};this.$patch(q=>{Cr(q,K)})}:ev;function k(){u.stop(),v=[],m=[],s._s.delete(e)}function M(N,j){return function(){ja(s);const K=Array.from(arguments),q=[],G=[];function V(F){q.push(F)}function w(F){G.push(F)}Ti(m,{args:K,name:N,store:T,after:V,onError:w});let I;try{I=j.apply(this&&this.$id===e?this:T,K)}catch(F){throw Ti(G,F),F}return I instanceof Promise?I.then(F=>(Ti(q,F),F)).catch(F=>(Ti(G,F),Promise.reject(F))):(Ti(q,I),I)}}const E={_p:s,$id:e,$onAction:zh.bind(null,m),$patch:D,$reset:O,$subscribe(N,j={}){const K=zh(v,N,j.detached,()=>q()),q=u.run(()=>ut(()=>s.state.value[e],G=>{(j.flush==="sync"?p:h)&&N({storeId:e,type:Ds.direct,events:A},G)},Cr({},f,j)));return K},$dispose:k},T=Qi(E);s._s.set(e,T);const U=(s._a&&s._a.runWithContext||yx)(()=>s._e.run(()=>(u=Bp()).run(t)));for(const N in U){const j=U[N];if(_t(j)&&!wx(j)||Tr(j))l||(C&&bx(j)&&(_t(j)?j.value=C[N]:Fu(j,C[N])),s.state.value[e][N]=j);else if(typeof j=="function"){const K=M(N,j);U[N]=K,c.actions[N]=j}}return Cr(T,U),Cr(tt(T),U),Object.defineProperty(T,"$state",{get:()=>s.state.value[e],set:N=>{D(j=>{Cr(j,N)})}}),s._p.forEach(N=>{Cr(T,u.run(()=>N({store:T,app:s._a,pinia:s,options:c})))}),C&&l&&r.hydrate&&r.hydrate(T.$state,C),h=!0,p=!0,T}function Ka(e,t,r){let s,o;const l=typeof t=="function";typeof e=="string"?(s=e,o=l?r:t):(o=e,s=e.id);function u(c,f){const h=s5();return c=c||(h?nn(Qm,null):null),c&&ja(c),c=Xm,c._s.has(s)||(l?tv(s,t,o,c):Ax(s,o,c)),c._s.get(s)}return u.$id=s,u}const xx=e=>[...new Set(e)],Px=(e,t)=>e.filter(r=>!t.includes(r)),Cx=(e,t)=>e.filter(r=>t.includes(r)),Ex=e=>typeof e=="bigint"||!Number.isNaN(Number(e))&&Math.floor(Number(e))===e,kx=e=>typeof e=="bigint"||e>=0&&Number.isSafeInteger(e);function _s(e,t){if(t.length===0)return e;let r;const s=[...e];for(let o=s.length-1,l=0,u=0;o>0;o--,l++){l%=t.length,u+=r=t[l].codePointAt(0);const c=(r+l+u)%o,f=s[o],h=s[c];s[c]=f,s[o]=h}return s}const Sx=(e,t)=>{const r=[];let s=e;if(typeof s=="bigint"){const o=BigInt(t.length);do r.unshift(t[Number(s%o)]),s/=o;while(s>BigInt(0))}else do r.unshift(t[s%t.length]),s=Math.floor(s/t.length);while(s>0);return r},Ox=(e,t)=>e.reduce((r,s)=>{const o=t.indexOf(s);if(o===-1)throw new Error(`The provided ID (${e.join("")}) is invalid, as it contains characters that do not exist in the alphabet (${t.join("")})`);if(typeof r=="bigint")return r*BigInt(t.length)+BigInt(o);const l=r*t.length+o;if(Number.isSafeInteger(l))return l;if(typeof BigInt=="function")return BigInt(r)*BigInt(t.length)+BigInt(o);throw new Error("Unable to decode the provided string, due to lack of support for BigInt numbers in the current environment")},0),Rx=/^\+?\d+$/,Tx=e=>Rx.test(e)?Number.parseInt(e,10):Number.NaN,Ix=(e,t,r)=>Array.from({length:Math.ceil(e.length/t)},(s,o)=>r(e.slice(o*t,(o+1)*t))),Zh=e=>new RegExp(e.map(t=>nv(t)).sort((t,r)=>r.length-t.length).join("|")),Mx=e=>new RegExp(`^[${e.map(t=>nv(t)).sort((t,r)=>r.length-t.length).join("")}]+$`),nv=e=>e.replace(/[\s#$()*+,.?[\\\]^{|}-]/g,"\\$&"),Gh=16,Yh=3.5,Lx=12,Jh=16,$x=12,Xh=100;class rv{constructor(t="",r=0,s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",o="cfhistuCFHISTU"){if(this.minLength=r,typeof r!="number")throw new TypeError(`Hashids: Provided 'minLength' has to be a number (is ${typeof r})`);if(typeof t!="string")throw new TypeError(`Hashids: Provided 'salt' has to be a string (is ${typeof t})`);if(typeof s!="string")throw new TypeError(`Hashids: Provided alphabet has to be a string (is ${typeof s})`);const l=Array.from(t),u=Array.from(s),c=Array.from(o);this.salt=l;const f=xx(u);if(f.lengthYh)&&(p=Math.ceil(this.alphabet.length/Yh),p>this.seps.length&&(v=p-this.seps.length,this.seps.push(...this.alphabet.slice(0,v)),this.alphabet=this.alphabet.slice(v))),this.alphabet=_s(this.alphabet,l);const m=Math.ceil(this.alphabet.length/Lx);this.alphabet.length<3?(this.guards=this.seps.slice(0,m),this.seps=this.seps.slice(m)):(this.guards=this.alphabet.slice(0,m),this.alphabet=this.alphabet.slice(m)),this.guardsRegExp=Zh(this.guards),this.sepsRegExp=Zh(this.seps),this.allowedCharsRegExp=Mx([...this.alphabet,...this.guards,...this.seps])}encode(t,...r){const s="";let o=Array.isArray(t)?t:[...t!=null?[t]:[],...r];return o.length===0||(o.every(Ex)||(o=o.map(l=>typeof l=="bigint"||typeof l=="number"?l:Tx(String(l)))),!o.every(kx))?s:this._encode(o).join("")}decode(t){return!t||typeof t!="string"||t.length===0?[]:this._decode(t)}encodeHex(t){let r=t;switch(typeof r){case"bigint":r=r.toString(Jh);break;case"string":if(!/^[\dA-Fa-f]+$/.test(r))return"";break;default:throw new Error(`Hashids: The provided value is neither a string, nor a BigInt (got: ${typeof r})`)}const s=Ix(r,$x,o=>Number.parseInt(`1${o}`,16));return this.encode(s)}decodeHex(t){return this.decode(t).map(r=>r.toString(Jh).slice(1)).join("")}isValidId(t){return this.allowedCharsRegExp.test(t)}_encode(t){let{alphabet:r}=this;const s=t.reduce((h,p,v)=>h+(typeof p=="bigint"?Number(p%BigInt(v+Xh)):p%(v+Xh)),0);let o=[r[s%r.length]];const l=[...o],{seps:u}=this,{guards:c}=this;if(t.forEach((h,p)=>{const v=l.concat(this.salt,r);r=_s(r,v);const m=Sx(h,r);if(o.push(...m),p+10){const p=h/2;o=o.slice(p,p+this.minLength)}}return o}_decode(t){if(!this.isValidId(t))throw new Error(`The provided ID (${t}) is invalid, as it contains characters that do not exist in the alphabet (${this.guards.join("")}${this.seps.join("")}${this.alphabet.join("")})`);const r=t.split(this.guardsRegExp),s=r.length===3||r.length===2?1:0,o=r[s];if(o.length===0)return[];const l=o[Symbol.iterator]().next().value,u=o.slice(l.length).split(this.sepsRegExp);let c=this.alphabet;const f=[];for(const h of u){const p=[l,...this.salt,...c],v=_s(c,p.slice(0,c.length));f.push(Ox(Array.from(h),v)),c=v}return this._encode(f).join("")!==t?[]:f}}new rv("reapOne.playlist",22);const iv=new rv("reapOne.track",22),Qh=e=>iv.encode(String(e)),Dx=e=>{const t=iv.decode(e);return Number(t[0])},Hu=(e,t)=>String(e).padStart(t,"0"),xa=e=>e?e.startsWith("local:")?e.replace("local:","/src/covers/"):e:null,Bx=e=>e?e.startsWith("local:")?e.replace("local:","/src/covers/"):e:null,sv=(e,t="track")=>(t=="playlist"?Bx:xa)(e),Nx=e=>e.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()),bc=e=>window.open(e,"_blank"),Uu=Ve(()=>window.innerWidth<768),n6=e=>/^(https?:\/\/)?((([a-z\d]([a-z\d-]*[a-z\d])*)\.)+[a-z]{2,}|((\d{1,3}\.){3}\d{1,3}))(\:\d+)?(\/[-a-z\d%_.~+]*)*(\?[;&a-z\d%_.~+=-]*)?(\#[-a-z\d_]*)?$/i.test(e),r6=e=>{const{key:t,mode:r}=e.spotify.features,s=["B","F#","C#","G#","D#","A#","F","C","G","D","A","E"],o=["A","D#","A#","F","C","G","D","A","E","B","F#","C#"];return`${(r=="Major"?s:o).indexOf(t)+1}${r=="Major"?"B":"A"}`},i6=(e,t=null)=>{t||(e.includes("track")&&(t="track"),e.includes("album")&&(t="album"),e.includes("playlist")&&(t="playlist"));const r=new RegExp(`https://open.spotify.com/${t}/([a-zA-Z0-9]+)`),s=e.match(r);return s?s[1]:null},s6=e=>new Date(e).toLocaleDateString("en-GB",{year:"numeric",month:"short",day:"numeric"}),o6=e=>{if(e<=0)return"N/A";const t=Math.floor(e/60),r=Hu(Math.floor(e%60),2);return`${t}:${r}`},a6=e=>{const t=["B","KB","MB","GB","TB"];let r=0;for(;e>1e3&&r{await tn().fetchPlaylists()},Wx=e=>tn().getPlaylistById(e),Vx=async e=>{await fetch(`/api/playlists/${e.id}`,{method:"POST",body:JSON.stringify({name:e.name,description:e.description,cover:e.cover})}),await to()},Fx=async()=>await(await fetch("/api/playlists")).json(),Hx=async e=>await(await fetch(`/api/playlists/${e}`)).json(),l6=e=>Wx(e),u6=async e=>(await fetch(`/api/playlists/${e}`,{method:"DELETE"})).ok?(await to(),!0):!1,wc=async(e="classic")=>{const r=await(await fetch(`/api/playlists/new?type=${e}`)).text();return await to(),r},Ac=async(e="classic",t,r="",s="")=>{const l=(await wc(e)).split("/").pop();return await Vx({id:l,name:t,description:r,cover:s,plays:0}),l},c6=async(e,t)=>{await fetch(`/api/playlists/${e}/tracks`,{method:"DELETE",body:JSON.stringify({songId:t})}),await to()},f6=async e=>await(await fetch("/api/playlists/smart/peek",{method:"POST",body:JSON.stringify(e)})).json(),Ux=async e=>await(await fetch(`/api/playlists/smart/${e}`)).json(),qx=async(e,t)=>{await fetch(`/api/playlists/smart/${e}`,{method:"PUT",body:JSON.stringify({definition:t})}),await to()},tn=Ka({id:"data",state:()=>({playlists:[]}),getters:{notEmpty(){return!this.empty},empty(){return this.playlists.length===0},playlistsAsDropdown(e=!0){const t=this.playlists.map(r=>({value:r.id,label:r.name}));return e&&t.push({value:"new",label:"(new playlist)"}),t},getPlaylistById(){return e=>this.playlists.find(t=>t.id===e)}},actions:{setPlaylists(e){this.playlists=e},initialise(){this.fetchPlaylists()},async fetchPlaylists(...e){if(e){console.log("fetching playlists",e);for(const r of e){const s=this.playlists.findIndex(o=>o.id===r);if(s===-1)return;this.playlists[s]=await Hx(r)}}const t=await Fx();this.setPlaylists(t)}}}),jx=class{constructor(){Oi(this,"ws",null);Oi(this,"connections",Pe([]));Oi(this,"player",null);Oi(this,"me",null);Oi(this,"sendInfoTask",null);this.connect()}connect(){console.log("attempting reconnect");const e=window.location.hostname,t=window.location.port=="5173"?1234:window.location.port;this.ws=new WebSocket(`ws://${e}:${t}/player/ws`);const r=zt();this.sendInfoTask&&clearInterval(this.sendInfoTask),this.sendInfoTask=setInterval(()=>this.sendInfo(),300),this.ws.onclose=()=>{console.log("disconnected"),setTimeout(()=>this.connect(),1e3)},this.ws.onopen=()=>{console.log("connected")};const s=o=>{if(typeof o=="string")switch(o){case"play":r.play();break;case"pause":r.pause();break}if(typeof o=="object")switch(o.command){case"seek":r.seek(o.time);break;case"set volume":r.setVolume(o.volume);break;case"set repeat":r.setRepeat(o.repeat);break;case"set mute":r.setMute(o.mute);break}};this.ws.onmessage=o=>{switch(o=JSON.parse(o.data),o.type){case"info":if(typeof o.data=="boolean")return;r.playing=o.data.playing,r.progress=o.data.progress,r.volume=o.data.volume,r.repeat=o.data.repeat;break;case"new client":console.log("new client",o.data);break;case"client disconnected":break;case"player disconnected":break;case"connections":this.updateConnections(o.data);break;case"command":s(o.data);break}}}sendInfo(){var r,s;if(((s=(r=this.me)==null?void 0:r.type)==null?void 0:s.toLowerCase())!=="player")return;const e=zt(),t={playing:e.playing,progress:e.progress,volume:e.volume,repeat:e.repeat};this.send("info",t)}updateConnections(e){this.connections.value=e,this.me=e.find(t=>t.friendlyName.includes("(You)"))}send(e,t){var r;(r=this.ws)==null||r.send(JSON.stringify({type:e,data:t}))}sendCommand(e){this.send("command",e)}setPlayer(e){this.send("set player",e.id)}makeMePlayer(){this.send("type","Player")}play(){this.sendCommand("play")}pause(){this.sendCommand("pause")}seek(e){this.sendCommand({command:"seek",time:e})}setVolume(e){this.sendCommand({command:"set volume",volume:e})}setRepeat(e){this.sendCommand({command:"set repeat",repeat:e})}setMute(e){this.sendCommand({command:"set mute",mute:e})}},Kx=()=>{fetch("/api/player/next")},zx=()=>{fetch("/api/player/previous")},Zx=e=>{fetch("/api/player/shuffle",{method:"POST",body:JSON.stringify(e)})},Gx=()=>fetch("/api/player/shuffle").then(e=>e.json()),xc=Ka({id:"downloader",state:()=>({ws:null,states:{},onDownload:[]}),getters:{empty(){return Object.keys(this.states).length===0}},actions:{_fireDownload(e){this.onDownload.forEach(t=>t(e))},initialise(){const e=()=>{console.log("[downloader] attempting reconnect");const t=window.location.hostname,r=window.location.port==="5173"?1234:window.location.port;this.ws=new WebSocket(`ws://${t}:${r}/download/ws`),this.ws.onclose=()=>{console.log("[downloader] ws closed"),setTimeout(()=>e(),1e3)},this.ws.onopen=()=>{console.log("[downloader] ws connected")},this.ws.onmessage=s=>{const o=JSON.parse(s.data);if(!o.action){if(o.status=="finished"){this.states[o.songId]={...this.states[o.songId],...o};return}this.states[o.songId]=o}}};e()},send(e){var t;(t=this.ws)==null||t.send(JSON.stringify(e))},downloadFromDb(e){this.send({action:"download",source:"db",songId:e}),this.states[e]={songId:e,status:"pending"},this._fireDownload(e)},downloadOther(e){this.send({action:"download",source:"other",...e}),this.states[e.id]={songId:e.id,status:"pending"},this._fireDownload(e.id)},download(e){window.open(`/api/tracks/${e}/download`,"_blank","noopener noreferrer"),this.states[e].status="downloaded"},isSongDownloading(e){const t=this.states[e];return t!=null&&t.internal?t.status==="downloading":!1}}}),no=async()=>{await tn().fetchPlaylists()},d6=async e=>{await fetch(`/api/tracks/${e.id}`,{method:"PUT",body:JSON.stringify({source:e.source,title:e.title,artist:e.artist,album:e.album,cover:e.cover})}),await no()},h6=async(e,t,r)=>{await fetch(`/api/tracks/${e}`,{method:"PUT",body:JSON.stringify({[t]:r})}),await no()},p6=async e=>await(await fetch("/api/browse/track",{method:"POST",body:JSON.stringify({url:e})})).json(),ov=e=>({source:e.source,title:e.title,artist:e.artist,album:e.album,cover:e.cover,spotify:e.metadata?JSON.stringify(e.metadata.spotify):""}),av=async(e,t)=>{e==="new"&&(e=await wc()),await fetch(`/api/playlists/${e}/tracks`,{method:"POST",body:JSON.stringify(ov(t))}),await no()},lv=async(e,t)=>{e==="new"&&(e=await wc()),await fetch(`/api/playlists/${e}/tracks`,{method:"POST",body:JSON.stringify(t.map(r=>ov(r)))}),await no()},m6=async(e,t=!0)=>{await fetch(`/api/tracks/${e}`,{method:"PUT",body:JSON.stringify({favourite:t})}),await no()},v6=e=>{xc().downloadFromDb(e)},Yx=async e=>await(await fetch(`/api/tracks/${e}`)).json(),g6=async e=>{const t=Dx(e);return await Yx(t)},Jx=async(e,t=!1,r=null)=>{const s={id:e};return t&&(s.forceFetch=!0),r&&(s.spotifyId=r),await(await fetch("/api/spotify/meta",{method:"POST",body:JSON.stringify(s)})).json()},y6=async e=>await(await fetch(`/api/spotify/recommendations/${e}`)).json(),_6=async e=>{await fetch(`/api/player/stream/${e}`,{method:"DELETE"})},Xx=async e=>{const r=await(await fetch("https://spotify-lyric-api-984e7b4face0.herokuapp.com/?trackid="+e)).json();return{error:r.message,lyrics:r.lines}},Qx=async(e=!1)=>{var o,l;const r=zt().song;let s=(o=r.metadata.spotify)==null?void 0:o.id;return!s&&e&&(s=(l=(await Jx(r.id)).spotify)==null?void 0:l.id),s?await Xx(s):{error:"Spotify equivalent unknown."}},zt=Ka({id:"player",state:()=>({playing:!1,progress:0,ready:!1,muted:!1,shuffle:!1,song:{title:null,artist:null,album:null,cover:xa(null),source:null,duration:null,favourite:!1,id:-1,metadata:{plays:0,spotify:{id:null}}},playlistId:null,lyrics:null,volume:50,repeat:"repeat",sharedPlayer:null,player:null}),actions:{playPause(){this.playing?this.pause():this.play()},toggleRepeat(){var e;switch(this.repeat){case"repeat":this.repeat="repeat_on";break;case"repeat_on":this.repeat="repeat_one_on";break;case"repeat_one_on":this.repeat="repeat";break}localStorage.setItem("reap.repeat",this.repeat),(e=this.player)==null||e.setRepeat(this.repeat)},setRepeat(e){this.repeat=e},setMute(e){var t;this.muted=e,(t=this.player)==null||t.setMute(e)},toggleMute(){this.setMute(!this.muted)},setShuffle(e){this.shuffle=e,Zx(e),tn().fetchPlaylists()},toggleShuffle(){this.setShuffle(!this.shuffle)},onSongEnded(){if(this.repeat==="repeat_one_on")this.play();else{if(this.repeat==="repeat"&&this.playlist.index.value===this.playlist.songs.length-1)return;this.next()}},play(){this.player.play()},pause(){this.player.pause()},next(){Kx()},previous(){zx()},setPlayer(e){e&&this.player!==e&&(this.player=e)},async setSong(e){e.id!=this.song.id&&(this.song=e,this.song.cover=xa(e.cover),this.progress=0,this.lyrics=null,this.lyrics=await Qx(!0))},setReady(e){this.ready!==e&&(this.ready=e,e?tn().initialise():(this.$reset(),tn().$reset()))},setDuration(e){this.song.duration=e,fetch(`/api/tracks/${this.song.id}`,{method:"PUT",body:JSON.stringify({duration:e})})},setPlaying(e){this.playing=e},seek(e){this.player.seek(e)},seekPercent(e){this.seek(this.durationSeconds*e/100)},setProgress(e){this.progress=Math.round(e)},setFavourite(e){this.song.favourite=e,fetch(`/api/tracks/${this.song.id}`,{method:"PUT",body:JSON.stringify({favourite:e})})},setPlaylist(e){this.playlistId=e},setVolume(e){var t;e!=this.volume&&(this.volume=e,localStorage.setItem("reap.volume",e),this.player.setVolume&&((t=this.player)==null||t.setVolume(e)))},toggleFavourite(){this.setFavourite(!this.song.favourite)},async initialise(){this.volume=localStorage.getItem("reap.volume")||50,this.repeat=localStorage.getItem("reap.repeat")||"repeat_on",this.sharedPlayer=new jx,this.shuffle=await Gx()},async loadPlaylist(e,t=null){const r={type:"playlist",id:e};e==="track"&&(r.type=e,r.id=t),e==="artist"&&(r.type=e,r.name=t,delete r.id),await fetch("/api/player/load",{method:"POST",body:JSON.stringify(r)})},loadSong(e,t){const r={index:t};e==="track"?r.type=e:r.playlist=e,fetch("/api/player/at",{method:"POST",body:JSON.stringify(r)})}},getters:{playlist(e){return tn().playlists.find(t=>t.id===e.playlistId)},hasLyrics(e){var t;return(t=e.lyrics)==null?void 0:t.lyrics},durationSeconds(e){return e.song.duration},displayDuration(e){const t=e.song.duration;return isNaN(t)?"0:00":`${Math.floor(t/60)}:${Hu(Math.floor(t%60),2)}`},stream(e){return`/api/player/stream/${e.song.id}`},cover(e){return e.song.cover},progressPercent(e){return e.progress/this.durationSeconds*1e3},displayProgress(e){const t=e.progress;return isNaN(t)?"0:00":`${Math.floor(t/60)}:${Hu(Math.floor(t%60),2)}`},loaded(e){return e.song.id!=-1},shuffleIcon(e){return e.shuffle?"shuffle_on":"shuffle"},muteIcon(e){return e.muted?"volume_off":e.volume>50?"volume_up":e.volume>0?"volume_down":"volume_mute"}}});const eP=(e,t,r)=>{const s=new CustomEvent("player.play",{detail:{title:e,artist:t,source:r}});window.dispatchEvent(s)},tP={components:{Marquee:ir},name:"PlayerInPicture",props:{expandCover:Boolean},watch:{disabled(){this.disabled||this.$nextTick(()=>{this.$refs.player.addEventListener("mousedown",this.mouseDown,!1),window.addEventListener("mouseup",this.mouseUp,!1)})}},methods:{mouseDown(e){const t=this.$refs.player,r=document.getElementById("appRoot");e=e||window.event;var s=e.clientX,o=e.clientY,l=t.offsetTop,u=t.offsetLeft,c=parseInt(t.offsetWidth),f=parseInt(t.offsetHeight),h=parseInt(r.offsetWidth)-8,p=parseInt(r.offsetHeight)-8;r.style.cursor="move";var v=s-u,m=o-l;document.onmousemove=A=>{A=A||window.event,A.preventDefault(),A.stopPropagation();var C=A.clientX,S=A.clientY,D=C-v,O=S-m;D<8&&(D=8),O<8&&(O=8),D+c>h&&(D=h-c),O+f>p&&(O=p-f),this.divMove(t,D,O)}},mouseUp(){document.getElementById("appRoot").style.cursor="default",document.onmousemove=function(){}},divMove(e,t,r){e.style.bottom="auto",e.style.right="auto",e.style.left=t+"px",e.style.top=r+"px"}},data(){const e=zt();return window.addEventListener("player.play",t=>{const r=t.detail,s=r.source;if(this.name=`${r.artist} - ${r.title}`,e.pause(),s.includes("youtu")){var o=/youtu(?:.*\/v\/|.*v\=|\.be\/)([A-Za-z0-9_\-]{11})/;const l=s.match(o);if(l!=null&&l[1]){this.el=``,this.minimised=!1,this.disabled=!1;return}}if(s.includes("audius")){var o=/audius.co\/([A-Za-z0-9]+)\/([A-Za-z0-9\-]+)/;const u=s.match(o);if(console.log(u,s),u!=null&&u[1]&&(u!=null&&u[2])){fetch(`https://blockdaemon-audius-discovery-01.bdnodes.net/v1/full/tracks?handle=${u[1]}&slug=${u[2]}`).then(c=>c.json()).then(c=>{const f=c.data.id;this.el=``}),this.minimised=!1,this.disabled=!1;return}}if(s.includes("spotify")){var o=/spotify(?:.*\/(album|track|playlist)\/)([A-Za-z0-9_\-]{22})/;const u=s.match(o);if(u!=null&&u[1]){console.log(u),this.el=``,this.minimised=!1,this.disabled=!1;return}}s.includes("soundcloud")&&(fetch(`https://soundcloud.com/oembed?url=${s}&format=json`).then(l=>l.json()).then(l=>{this.el=l.html.replace('height="400"','height="70"').replace("&show_artwork=true","&show_artwork=true&auto_play=true").replace("o.minimised=!o.minimised)},We(o.minimised?"zoom_out_map":"zoom_in_map"),1),te("span",{class:"material-symbols-rounded ms-wght-500",onClick:t[1]||(t[1]=c=>o.disabled=!o.disabled)},"close")])],2),te("div",{class:Je([{minimised:o.minimised},"frame"]),innerHTML:o.el},null,10,sP)],512))}const aP=ot(tP,[["render",oP]]),lP={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 809.48 395.8"},uP=te("path",{d:"M80.09 254.67c-4.84 0-9.04-1.72-12.6-5.16-3.57-3.43-5.35-7.7-5.35-12.79V79.04c0-4.84 1.78-8.97 5.35-12.41 3.56-3.44 7.76-5.16 12.6-5.16s8.97 1.72 12.41 5.16c3.43 3.43 5.15 7.57 5.15 12.41v157.68c0 5.09-1.72 9.36-5.15 12.79-3.44 3.44-7.58 5.16-12.41 5.16Zm70.63 61.47c-4.84 0-8.97-1.78-12.41-5.34-3.44-3.57-5.16-7.77-5.16-12.6V17.57c0-4.58 1.72-8.66 5.16-12.22 3.43-3.56 7.57-5.34 12.41-5.34s9.04 1.78 12.6 5.34c3.56 3.57 5.34 7.64 5.34 12.22V298.2c0 4.83-1.78 9.03-5.34 12.6-3.56 3.56-7.76 5.34-12.6 5.34ZM17.38 193.2c-4.79 0-8.88-1.7-12.27-5.1-3.4-3.4-5.1-7.61-5.1-12.65v-35.13c0-4.79 1.7-8.88 5.1-12.27 3.4-3.4 7.49-5.1 12.27-5.1s9 1.7 12.66 5.1c3.65 3.4 5.48 7.49 5.48 12.27v35.33c0 3.92-1.25 7.85-3.85 10.77-4.01 4.51-8.78 6.77-14.28 6.77Zm195.29 60.46c-4.78 0-8.87-1.7-12.28-5.11-3.4-3.4-5.1-7.62-5.1-12.66V79.86c0-4.79 1.7-8.88 5.1-12.28 3.4-3.4 7.5-5.11 12.28-5.11s9.01 1.7 12.66 5.11c3.65 3.4 5.48 7.49 5.48 12.28V235.9c0 5.04-1.76 9.26-5.29 12.66-3.52 3.4-7.81 5.11-12.85 5.11Zm62.52-60.46c-4.78 0-8.94-1.7-12.46-5.1-3.52-3.4-5.29-7.61-5.29-12.65v-35.13c0-4.79 1.76-8.88 5.29-12.27 3.53-3.4 7.68-5.1 12.46-5.1s8.94 1.7 12.46 5.1c3.53 3.4 5.29 7.49 5.29 12.27v35.13c0 5.03-1.76 9.25-5.29 12.65-3.52 3.4-7.68 5.1-12.46 5.1ZM436.15 266.18c-10.94-6.13-19.61-14.63-26-25.51-6.39-10.88-9.59-23.17-9.59-36.88s3.2-26 9.59-36.88c6.39-10.88 15.06-19.34 26-25.41 10.94-6.06 22.94-9.1 35.99-9.1s25.21 3.03 36.09 9.1c10.88 6.06 19.48 14.53 25.8 25.41 6.33 10.88 9.49 23.17 9.49 36.88s-3.16 26-9.49 36.88-14.96 19.38-25.9 25.51c-10.94 6.13-22.94 9.19-35.99 9.19s-25.05-3.06-35.99-9.19Zm59.42-36.48c5.73-6.46 8.6-15.09 8.6-25.9s-2.87-19.8-8.6-26.2c-5.73-6.39-13.54-9.59-23.43-9.59s-17.87 3.2-23.53 9.59c-5.67 6.4-8.5 15.13-8.5 26.2s2.83 19.61 8.5 26c5.67 6.4 13.51 9.59 23.53 9.59s17.7-3.23 23.43-9.69ZM690.05 273.99h-38.76l-51.61-77.91v77.91h-38.76V134.58h38.76l51.61 78.9v-78.9h38.76v139.41ZM750.95 165.63v22.74h44.49v29.46h-44.49v25.11h50.42v31.04h-89.18v-139.4h89.18v31.04h-50.42ZM414.68 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43h-1.39c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22ZM455.71 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.52-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM486.61 97.82h-17.56l-3.23 8.95h-5.54l14.55-40.02h6.06l14.5 40.02h-5.54l-3.23-8.95Zm-1.5-4.27-7.28-20.33-7.28 20.33h14.55ZM529.81 75.13v31.65h-5.25v-4.68c-1 1.62-2.4 2.88-4.19 3.78-1.79.9-3.76 1.36-5.92 1.36-2.46 0-4.68-.51-6.64-1.53s-3.51-2.55-4.65-4.59c-1.14-2.04-1.7-4.52-1.7-7.45V75.13h5.2v17.85c0 3.12.79 5.52 2.37 7.19 1.58 1.67 3.73 2.51 6.47 2.51s5.02-.87 6.64-2.6 2.43-4.25 2.43-7.57V75.13h5.25ZM538.7 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.86-2.02 7.71-2.02 2.46 0 4.75.57 6.87 1.7 2.12 1.14 3.73 2.63 4.85 4.48V64.04h5.31v42.74h-5.31v-5.95c-1.04 1.89-2.58 3.44-4.62 4.65s-4.43 1.82-7.16 1.82-5.36-.69-7.65-2.08c-2.29-1.39-4.09-3.33-5.4-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM577.91 68.95c-.69-.69-1.04-1.54-1.04-2.54s.35-1.85 1.04-2.54 1.54-1.04 2.54-1.04 1.78.35 2.45 1.04 1.01 1.54 1.01 2.54-.34 1.85-1.01 2.54-1.49 1.04-2.45 1.04-1.85-.35-2.54-1.04Zm5.08 6.18v31.65h-5.25V75.13h5.25ZM597.69 105.27c-2.41-1.35-4.29-3.26-5.66-5.75-1.37-2.48-2.05-5.36-2.05-8.63s.7-6.09 2.11-8.58 3.32-4.39 5.75-5.72 5.14-1.99 8.14-1.99 5.72.66 8.14 1.99 4.34 3.23 5.75 5.69c1.41 2.46 2.11 5.33 2.11 8.6s-.72 6.15-2.17 8.63c-1.44 2.48-3.4 4.4-5.86 5.75-2.46 1.35-5.2 2.02-8.2 2.02s-5.65-.67-8.06-2.02Zm13.37-3.93c1.65-.89 2.99-2.21 4.01-3.98 1.02-1.77 1.53-3.93 1.53-6.47s-.5-4.7-1.5-6.47c-1-1.77-2.31-3.09-3.93-3.96-1.62-.87-3.37-1.3-5.25-1.3s-3.69.43-5.28 1.3c-1.6.87-2.88 2.19-3.84 3.96s-1.44 3.93-1.44 6.47.47 4.76 1.41 6.53c.94 1.77 2.2 3.09 3.78 3.96 1.58.87 3.31 1.3 5.2 1.3s3.66-.44 5.31-1.33ZM652.38 86.65c-2.29 2.21-5.79 3.32-10.48 3.32h-7.74v16.81h-5.25V66.53h12.99c4.54 0 8 1.1 10.37 3.29 2.37 2.19 3.55 5.02 3.55 8.49s-1.15 6.13-3.44 8.35Zm-4.01-2.92c1.39-1.27 2.08-3.08 2.08-5.43 0-4.97-2.85-7.45-8.55-7.45h-7.74v14.78h7.74c2.93 0 5.08-.64 6.47-1.91ZM667.6 64.04v42.74h-5.25V64.04h5.25ZM676.55 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.84-2.02 7.65-2.02s5.18.6 7.22 1.79 3.56 2.7 4.56 4.5v-5.78h5.31v31.65h-5.31v-5.89c-1.04 1.85-2.59 3.38-4.65 4.59-2.06 1.21-4.46 1.82-7.19 1.82s-5.35-.69-7.62-2.08c-2.27-1.39-4.06-3.33-5.37-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM742.85 75.13l-19.06 46.55h-5.43l6.24-15.25-12.76-31.3h5.83l9.93 25.64 9.82-25.64h5.43ZM776.8 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.51-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM793.12 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43H798c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22Z"},null,-1),cP=[uP];function fP(e,t){return ne(),ge("svg",lP,cP)}const dP={render:fP},hP=1.1,ep=window.localStorage.getItem("renderedIcons"),ua=ep?new Map(JSON.parse(ep)):new Map,pP=()=>{window.localStorage.setItem("renderedIcons",JSON.stringify([...ua]))},Pa=(e,t,r=500)=>e||uv(t,r),uv=async(e,t=500)=>{await document.fonts.ready;const r=`${hP}-${e}-${t}`;if(ua.has(r))return ua.get(r);const s=document.createElement("canvas"),o=s.getContext("2d"),l=getComputedStyle(document.documentElement).getPropertyValue("--bg-gradient-placeholder"),u=l.match(/(#[0-9a-f]{3,6})/g)[0],c=l.match(/(#[0-9a-f]{3,6})/g)[1],f=o.createLinearGradient(t,0,0,t);f.addColorStop(0,u),f.addColorStop(1,c);const h=t;o.canvas.width=h,o.canvas.height=h,o.fillStyle=f,o.fillRect(0,0,h,h),o.font=`300 ${h}px Material Symbols Rounded`,o.fillStyle="whitesmoke",o.fillText(e,0,h);const p=s.toDataURL();return ua.set(r,p),pP(),p};/*! Fast Average Color | © 2023 Denis Seleznev | MIT License | https://github.com/fast-average-color/fast-average-color */function mP(e){var t=e.toString(16);return t.length===1?"0"+t:t}function tp(e){return"#"+e.map(mP).join("")}function vP(e){var t=(e[0]*299+e[1]*587+e[2]*114)/1e3;return t<128}function gP(e){return e?yP(e)?e:[e]:[]}function yP(e){return Array.isArray(e[0])}function Pc(e,t,r){for(var s=0;s=t-r&&e<=t+r}function AP(e,t,r){var s=r[0],o=r[1],l=r[2],u=r[3],c=r[4],f=e[t+3],h=ia(f,u,c);return u?!!(!f&&h||ia(e[t],s,c)&&ia(e[t+1],o,c)&&ia(e[t+2],l,c)&&h):h}var xP=24;function PP(e,t,r){for(var s={},o=r.dominantDivider||xP,l=r.ignoredColor,u=r.step,c=[0,0,0,0,0],f=0;fl?(f=o/l,u=qu,c=Math.round(u/f)):(f=l/o,c=qu,u=Math.round(c/f)),(u>o||c>l||u"u";function $P(){return LP?fv?new OffscreenCanvas(1,1):null:document.createElement("canvas")}var DP="FastAverageColor: ";function Vn(e){return Error(DP+e)}function bs(e,t){t||console.error(e)}var BP=function(){function e(){this.canvas=null,this.ctx=null}return e.prototype.getColorAsync=function(t,r){if(!t)return Promise.reject(Vn("call .getColorAsync() without resource"));if(typeof t=="string"){if(typeof Image>"u")return Promise.reject(Vn("resource as string is not supported in this environment"));var s=new Image;return s.crossOrigin=r&&r.crossOrigin||"",s.src=t,this.bindImageEvents(s,r)}else{if(cv(t)&&!t.complete)return this.bindImageEvents(t,r);var o=this.getColor(t,r);return o.error?Promise.reject(o.error):Promise.resolve(o)}},e.prototype.getColor=function(t,r){r=r||{};var s=np(r);if(!t){var o=Vn("call .getColor() without resource");return bs(o,r.silent),this.prepareResult(s,o)}var l=SP(t),u=MP(l,r);if(!u.srcWidth||!u.srcHeight||!u.destWidth||!u.destHeight){var o=Vn('incorrect sizes for resource "'.concat(ip(t),'"'));return bs(o,r.silent),this.prepareResult(s,o)}if(!this.canvas&&(this.canvas=$P(),!this.canvas)){var o=Vn("OffscreenCanvas is not supported in this browser");return bs(o,r.silent),this.prepareResult(s,o)}if(!this.ctx){if(this.ctx=this.canvas.getContext("2d",{willReadFrequently:!0}),!this.ctx){var o=Vn("Canvas Context 2D is not supported in this browser");return bs(o,r.silent),this.prepareResult(s)}this.ctx.imageSmoothingEnabled=!1}this.canvas.width=u.destWidth,this.canvas.height=u.destHeight;try{this.ctx.clearRect(0,0,u.destWidth,u.destHeight),this.ctx.drawImage(t,u.srcLeft,u.srcTop,u.srcWidth,u.srcHeight,0,0,u.destWidth,u.destHeight);var c=this.ctx.getImageData(0,0,u.destWidth,u.destHeight).data;return this.prepareResult(this.getColorFromArray4(c,r))}catch(f){var o=Vn("security error (CORS) for resource ".concat(ip(t),`. +Details: https://developer.mozilla.org/en/docs/Web/HTML/CORS_enabled_image`));return bs(o,r.silent),!r.silent&&console.error(f),this.prepareResult(s,o)}},e.prototype.getColorFromArray4=function(t,r){r=r||{};var s=4,o=t.length,l=np(r);if(o{localStorage.setItem(dv,JSON.stringify({sidebar:e.sidebar,player:e.player,theme:e.theme,ambient:e.ambient}))},WP={sidebar:{sports:!1,news:!1,collapsed:!1},player:{expandedCover:!1,pictureInPicture:!1,type:"web"},theme:NP,ambient:!0},Ss=()=>JSON.parse(localStorage.getItem(dv)||JSON.stringify(WP)),VP=()=>{const e=Ss();console.log("migrateSettings",e);const t=localStorage.getItem("sidebar.showSportsTab"),r=localStorage.getItem("sidebar.showNewsTab"),s=localStorage.getItem("player.inBrowser"),o=localStorage.getItem("player.collapsedSidebar"),l=localStorage.getItem("player.exapndCover"),u=localStorage.getItem("theme");t&&(e.sidebar.sports=t==="true",localStorage.removeItem("sidebar.showSportsTab")),r&&(e.sidebar.news=r==="true",localStorage.removeItem("sidebar.showNewsTab")),s&&localStorage.removeItem("player.inBrowser"),o&&(e.sidebar.collapsed=o==="true",localStorage.removeItem("player.collapsedSidebar")),l&&(e.player.expandedCover=l==="true",localStorage.removeItem("player.exapndCover")),u&&(e.theme=u,localStorage.removeItem("theme")),hv(e)},Ur=Ka("settings",()=>{VP();const e=Pe(Ss().player),t=Pe(Ss().sidebar),r=Pe(Ss().theme),s=Pe(Ss().ambient),o=()=>{hv({player:e.value,sidebar:t.value,theme:r.value,ambient:s.value})};ut(()=>e,o,{deep:!0}),ut(()=>t,o,{deep:!0}),ut(()=>r,o,{deep:!0}),ut(()=>s,o,{deep:!0});const l=Ve(()=>window.getCurrentThemeProperty&&window.getCurrentThemeProperty("supportsAmbient"));return{player:e,sidebar:t,theme:r,ambient:s,themeSupportsAmbient:l}}),Os=new BP,Rs=(e,t)=>{const r=e.hex,s=Math.round(t*255).toString(16);return r+s},FP=async(e,t,r=.25)=>{if(!Ur().ambient)return;var o=e.width/100,l=e.height/100,u=e.naturalWidth,c=e.naturalHeight;const f=await Promise.all([Os.getColorAsync(t,{height:l}),Os.getColorAsync(t,{left:u-o,width:o}),Os.getColorAsync(t,{width:o}),Os.getColorAsync(t,{top:c-l,height:l})]);o*=40,l*=40;var h=Rs(f[0],r),p=Rs(f[1],r),v=Rs(f[2],r),m=Rs(f[3],r);const A=" 10px",C=` ${o}px `,S=o+"px",D=l+"px";e.style.boxShadow=["0 -".concat(D," ").concat(C," ").concat(A," ").concat(h),"".concat(S," 0 ").concat(C," ").concat(A," ").concat(p),"0 ".concat(D," ").concat(C," ").concat(A," ").concat(v),"-".concat(S," 0 ").concat(C," ").concat(A," ").concat(m)].join(", ")},HP=async(e,t,r="to top right",s=.2)=>{if(!Ur().ambient)return;const l=await Os.getColorAsync(t),u=Rs(l,s),c=`linear-gradient(${r}, ${u}, transparent)`;e.style.background=c},UP={dark:!1,dynamic:!0},qP={dark:!0,dynamic:!1},li={"fg-secondary":{dark:"#1ed760",dynamic:"#00c48b",light:"#18a74b"},"fg-secondary-dk":{dark:"#217e41",dynamic:"#00c48b",light:"#80dda0"},"bg-contrast":{dark:"white",dynamic:"whitesmoke",light:"#181c2f"},"fg-contrast":{dark:"#121212",dynamic:"#1e1e1e",light:"white"},"fg-base":{dark:"white",dynamic:"whitesmoke",light:"#181c2f"},"fg-base-dk":{dark:"#a7a7a7",dynamic:"#c2bebe",light:"#8b8c91"},"fg-base-dkr":{dark:"#999",light:"#8b8c91",dynamic:"#999"},"bg-hover-ltr":{dark:"#242424"},"bg-hover-lt":{dark:"hsla(0,0%,100%,0.04)",light:"#b3b3b31f"},"bg-hover":{dark:"hsla(0,0%,100%,0.3)",dynamic:"#00c48b82",light:"#7c828f5e"},"bg-hover-dk":{dark:"hsla(0,0%,100%,0.1)",dynamic:"#00c48b42",light:"#E3E7EB"},"bg-gradient":{dark:"linear-gradient(to left bottom, #1ed760, #217e41)",dynamic:"linear-gradient(to left bottom, #00a53c, #00297f)",light:"linear-gradient(to left bottom, #18a74b, #80dda0)"},"bg-gradient-placeholder":{dark:"linear-gradient(to left bottom, #00a53c, #00297f)"},"bg-base":{dark:"#121212",light:"white"},"bg-base-lt":{dark:"#181818",dynamic:"linear-gradient(to right bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3))",light:"#f3f7fb"},"bg-base-dk":{dark:"black",dynamic:"linear-gradient(to right bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3))",light:"#f3f7fb"},"bg-input":{dark:"var(--background-light)",light:"var(--background)"},"bg-fixedPlaylistHeader":{dark:"var(--bg-base-lt)",dynamic:"#374148"},"border-fixedPlaylistHeader":{dark:"#303030",dynamic:"none",light:"#D0D0D0"},"border-base":{dark:"hsla(0,0%,100%,0.1)",light:"#E3E7EB"},"border-container":{dark:"1px solid var(--border-base)",light:"1px solid var(--border-base)",dynamic:"1px solid transparent"},"ff-base":{dark:"Poppins, sans-serif"},"h-playlistEntry":{dark:"64px"},"h-player":{dark:"88px"},"h-player-mobile":{dark:"64px"},"h-header":{dark:"64px"},coverAsBackground:UP,supportsAmbient:qP},za=()=>Ur();window.getThemes=()=>{window.themes=[];for(const e of Object.keys(li))for(const t of Object.keys(li[e]))window.themes.includes(t)||window.themes.push(t);return window.themes};window.getCurrentTheme=()=>za().theme;window.setTheme=e=>{if(window.getThemes().includes(e)){za().theme=e;for(const t of Object.keys(li)){const r=li[t];t!="coverAsBackground"&&document.documentElement.style.setProperty(`--${t}`,r[e]??r.dark)}}};window.restoreTheme=()=>window.setTheme(za().theme||"dynamic");window.getCurrentThemeProperty=e=>{const t=li[e];return t[za().theme]??t.dark};const pv=window,jP=["alt","src"],oi=ze({__name:"Cover",props:{src:{type:String,required:!0},type:{type:String,required:!1,default:"track"},placeholder:{type:String,required:!1},withAmbient:{type:Boolean,required:!1,default:!1},ambientOpacity:{type:Number,required:!1,default:.2}},setup(e){const t=e,r=Ve(()=>t.placeholder?t.placeholder:t.type==="track"?"music_note":"queue_music"),s=Pe(null),o=async()=>{if(s.value=await uv(r.value),!s.value){setTimeout(()=>{o()},100);return}},l=()=>{s.value=sv(t.src,t.type),s.value||o()};ut(()=>t.src,l),l();const u=Pe(null),c=async()=>{if(!t.withAmbient||!u.value||!pv.getCurrentThemeProperty("supportsAmbient"))return;const f=await Pa(s.value,r.value);console.log(f),FP(u.value,f,t.ambientOpacity)};return(f,h)=>(ne(),ge("img",{ref_key:"element",ref:u,alt:t.type,src:se(Pa)(s.value,r.value),class:"cover",onError:o,onLoad:c},null,40,jP))}});const KP={name:"NavEntry",components:{Cover:oi},props:{icon:String,img:String,name:String,href:String,hasChildSites:Boolean,parentHref:String,minimised:Boolean},computed:{showImg(){return this.img?!0:/^\/playlist\/\w{22}$/.exec(this.href)},active(){return this.hasChildSites?this.$route.path.includes(this.href)?!0:(console.log(this.parentHref),this.parentHref&&this.$route.path.includes(this.parentHref)):!1}}},zP={key:0,class:"material-icons-round icon"},ZP={key:2,class:"name hideIfMobile"};function GP(e,t,r,s,o,l){const u=Hi("Cover"),c=Hi("router-link");return ne(),je(c,{to:r.href,class:"link"},{default:Ot(()=>[te("div",{class:Je([{active:l.active,img:l.showImg},"navEntry"])},[r.icon?(ne(),ge("span",zP,We(r.icon),1)):Ne("",!0),l.showImg?(ne(),je(u,{key:1,src:r.img,class:"icon",type:"playlist"},null,8,["src"])):Ne("",!0),r.minimised?Ne("",!0):(ne(),ge("span",ZP,We(r.name),1))],2)]),_:1},8,["to"])}const Tn=ot(KP,[["render",GP],["__scopeId","data-v-148b3d73"]]),YP="modulepreload",JP=function(e){return"/"+e},sp={},mt=function(t,r,s){if(!r||r.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(r.map(l=>{if(l=JP(l),l in sp)return;sp[l]=!0;const u=l.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(!!s)for(let p=o.length-1;p>=0;p--){const v=o[p];if(v.href===l&&(!u||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${c}`))return;const h=document.createElement("link");if(h.rel=u?"stylesheet":YP,u||(h.as="script",h.crossOrigin=""),h.href=l,document.head.appendChild(h),u)return new Promise((p,v)=>{h.addEventListener("load",p),h.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${l}`)))})})).then(()=>t()).catch(l=>{const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=l,window.dispatchEvent(u),!u.defaultPrevented)throw l})};/*! * vue-router v4.2.5 * (c) 2023 Eduardo San Martin Morote * @license MIT - */const Ii=typeof window<"u";function XP(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const lt=Object.assign;function gu(e,t){const r={};for(const s in t){const o=t[s];r[s]=$n(o)?o.map(e):e(o)}return r}const Bs=()=>{},$n=Array.isArray,QP=/\/$/,e4=e=>e.replace(QP,"");function yu(e,t,r="/"){let s,o={},l="",u="";const c=t.indexOf("#");let f=t.indexOf("?");return c=0&&(f=-1),f>-1&&(s=t.slice(0,f),l=t.slice(f+1,c>-1?c:t.length),o=e(l)),c>-1&&(s=s||t.slice(0,c),u=t.slice(c,t.length)),s=i4(s??t,r),{fullPath:s+(l&&"?")+l+u,path:s,query:o,hash:u}}function t4(e,t){const r=t.query?e(t.query):"";return t.path+(r&&"?")+r+(t.hash||"")}function op(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function n4(e,t,r){const s=t.matched.length-1,o=r.matched.length-1;return s>-1&&s===o&&zi(t.matched[s],r.matched[o])&&mv(t.params,r.params)&&e(t.query)===e(r.query)&&t.hash===r.hash}function zi(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function mv(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(!r4(e[r],t[r]))return!1;return!0}function r4(e,t){return $n(e)?ap(e,t):$n(t)?ap(t,e):e===t}function ap(e,t){return $n(t)?e.length===t.length&&e.every((r,s)=>r===t[s]):e.length===1&&e[0]===t}function i4(e,t){if(e.startsWith("/"))return e;if(!e)return t;const r=t.split("/"),s=e.split("/"),o=s[s.length-1];(o===".."||o===".")&&s.push("");let l=r.length-1,u,c;for(u=0;u1&&l--;else break;return r.slice(0,l).join("/")+"/"+s.slice(u-(u===s.length?1:0)).join("/")}var Ys;(function(e){e.pop="pop",e.push="push"})(Ys||(Ys={}));var Ns;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Ns||(Ns={}));function s4(e){if(!e)if(Ii){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),e4(e)}const o4=/^[^#]+#/;function a4(e,t){return e.replace(o4,"#")+t}function l4(e,t){const r=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-r.left-(t.left||0),top:s.top-r.top-(t.top||0)}}const Za=()=>({left:window.pageXOffset,top:window.pageYOffset});function u4(e){let t;if("el"in e){const r=e.el,s=typeof r=="string"&&r.startsWith("#"),o=typeof r=="string"?s?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!o)return;t=l4(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function lp(e,t){return(history.state?history.state.position-t:-1)+e}const ju=new Map;function c4(e,t){ju.set(e,t)}function f4(e){const t=ju.get(e);return ju.delete(e),t}let d4=()=>location.protocol+"//"+location.host;function vv(e,t){const{pathname:r,search:s,hash:o}=t,l=e.indexOf("#");if(l>-1){let c=o.includes(e.slice(l))?e.slice(l).length:1,f=o.slice(c);return f[0]!=="/"&&(f="/"+f),op(f,"")}return op(r,e)+s+o}function h4(e,t,r,s){let o=[],l=[],u=null;const c=({state:m})=>{const A=vv(e,location),C=r.value,S=t.value;let D=0;if(m){if(r.value=A,t.value=m,u&&u===C){u=null;return}D=S?m.position-S.position:0}else s(A);o.forEach(O=>{O(r.value,C,{delta:D,type:Ys.pop,direction:D?D>0?Ns.forward:Ns.back:Ns.unknown})})};function f(){u=r.value}function h(m){o.push(m);const A=()=>{const C=o.indexOf(m);C>-1&&o.splice(C,1)};return l.push(A),A}function p(){const{history:m}=window;m.state&&m.replaceState(lt({},m.state,{scroll:Za()}),"")}function v(){for(const m of l)m();l=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",p)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",p,{passive:!0}),{pauseListeners:f,listen:h,destroy:v}}function up(e,t,r,s=!1,o=!1){return{back:e,current:t,forward:r,replaced:s,position:window.history.length,scroll:o?Za():null}}function p4(e){const{history:t,location:r}=window,s={value:vv(e,r)},o={value:t.state};o.value||l(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(f,h,p){const v=e.indexOf("#"),m=v>-1?(r.host&&document.querySelector("base")?e:e.slice(v))+f:d4()+e+f;try{t[p?"replaceState":"pushState"](h,"",m),o.value=h}catch(A){console.error(A),r[p?"replace":"assign"](m)}}function u(f,h){const p=lt({},t.state,up(o.value.back,f,o.value.forward,!0),h,{position:o.value.position});l(f,p,!0),s.value=f}function c(f,h){const p=lt({},o.value,t.state,{forward:f,scroll:Za()});l(p.current,p,!0);const v=lt({},up(s.value,f,null),{position:p.position+1},h);l(f,v,!1),s.value=f}return{location:s,state:o,push:c,replace:u}}function m4(e){e=s4(e);const t=p4(e),r=h4(e,t.state,t.location,t.replace);function s(l,u=!0){u||r.pauseListeners(),history.go(l)}const o=lt({location:"",base:e,go:s,createHref:a4.bind(null,e)},t,r);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function v4(e){return typeof e=="string"||e&&typeof e=="object"}function gv(e){return typeof e=="string"||typeof e=="symbol"}const xr={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},yv=Symbol("");var cp;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(cp||(cp={}));function Zi(e,t){return lt(new Error,{type:e,[yv]:!0},t)}function tr(e,t){return e instanceof Error&&yv in e&&(t==null||!!(e.type&t))}const fp="[^/]+?",g4={sensitive:!1,strict:!1,start:!0,end:!0},y4=/[.+*?^${}()[\]/\\]/g;function _4(e,t){const r=lt({},g4,t),s=[];let o=r.start?"^":"";const l=[];for(const h of e){const p=h.length?[]:[90];r.strict&&!h.length&&(o+="/");for(let v=0;vt.length?t.length===1&&t[0]===40+40?1:-1:0}function w4(e,t){let r=0;const s=e.score,o=t.score;for(;r0&&t[t.length-1]<0}const A4={type:0,value:""},x4=/[a-zA-Z0-9_]/;function P4(e){if(!e)return[[]];if(e==="/")return[[A4]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(A){throw new Error(`ERR (${r})/"${h}": ${A}`)}let r=0,s=r;const o=[];let l;function u(){l&&o.push(l),l=[]}let c=0,f,h="",p="";function v(){h&&(r===0?l.push({type:0,value:h}):r===1||r===2||r===3?(l.length>1&&(f==="*"||f==="+")&&t(`A repeatable param (${h}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:h,regexp:p,repeatable:f==="*"||f==="+",optional:f==="*"||f==="?"})):t("Invalid state to consume buffer"),h="")}function m(){h+=f}for(;c{u(k)}:Bs}function u(p){if(gv(p)){const v=s.get(p);v&&(s.delete(p),r.splice(r.indexOf(v),1),v.children.forEach(u),v.alias.forEach(u))}else{const v=r.indexOf(p);v>-1&&(r.splice(v,1),p.record.name&&s.delete(p.record.name),p.children.forEach(u),p.alias.forEach(u))}}function c(){return r}function f(p){let v=0;for(;v=0&&(p.record.path!==r[v].record.path||!_v(p,r[v]));)v++;r.splice(v,0,p),p.record.name&&!pp(p)&&s.set(p.record.name,p)}function h(p,v){let m,A={},C,S;if("name"in p&&p.name){if(m=s.get(p.name),!m)throw Zi(1,{location:p});S=m.record.name,A=lt(hp(v.params,m.keys.filter(k=>!k.optional).map(k=>k.name)),p.params&&hp(p.params,m.keys.map(k=>k.name))),C=m.stringify(A)}else if("path"in p)C=p.path,m=r.find(k=>k.re.test(C)),m&&(A=m.parse(C),S=m.record.name);else{if(m=v.name?s.get(v.name):r.find(k=>k.re.test(v.path)),!m)throw Zi(1,{location:p,currentLocation:v});S=m.record.name,A=lt({},v.params,p.params),C=m.stringify(A)}const D=[];let O=m;for(;O;)D.unshift(O.record),O=O.parent;return{name:S,path:C,params:A,matched:D,meta:O4(D)}}return e.forEach(p=>l(p)),{addRoute:l,resolve:h,removeRoute:u,getRoutes:c,getRecordMatcher:o}}function hp(e,t){const r={};for(const s of t)s in e&&(r[s]=e[s]);return r}function k4(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:S4(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function S4(e){const t={},r=e.props||!1;if("component"in e)t.default=r;else for(const s in e.components)t[s]=typeof r=="object"?r[s]:r;return t}function pp(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function O4(e){return e.reduce((t,r)=>lt(t,r.meta),{})}function mp(e,t){const r={};for(const s in e)r[s]=s in t?t[s]:e[s];return r}function _v(e,t){return t.children.some(r=>r===e||_v(e,r))}const bv=/#/g,R4=/&/g,T4=/\//g,I4=/=/g,M4=/\?/g,wv=/\+/g,L4=/%5B/g,$4=/%5D/g,Av=/%5E/g,D4=/%60/g,xv=/%7B/g,B4=/%7C/g,Pv=/%7D/g,N4=/%20/g;function Cc(e){return encodeURI(""+e).replace(B4,"|").replace(L4,"[").replace($4,"]")}function W4(e){return Cc(e).replace(xv,"{").replace(Pv,"}").replace(Av,"^")}function Ku(e){return Cc(e).replace(wv,"%2B").replace(N4,"+").replace(bv,"%23").replace(R4,"%26").replace(D4,"`").replace(xv,"{").replace(Pv,"}").replace(Av,"^")}function V4(e){return Ku(e).replace(I4,"%3D")}function F4(e){return Cc(e).replace(bv,"%23").replace(M4,"%3F")}function H4(e){return e==null?"":F4(e).replace(T4,"%2F")}function Ca(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function U4(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;ol&&Ku(l)):[s&&Ku(s)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+r,l!=null&&(t+="="+l))})}return t}function q4(e){const t={};for(const r in e){const s=e[r];s!==void 0&&(t[r]=$n(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return t}const j4=Symbol(""),gp=Symbol(""),Ga=Symbol(""),Ec=Symbol(""),zu=Symbol("");function bs(){let e=[];function t(s){return e.push(s),()=>{const o=e.indexOf(s);o>-1&&e.splice(o,1)}}function r(){e=[]}return{add:t,list:()=>e.slice(),reset:r}}function Sr(e,t,r,s,o){const l=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((u,c)=>{const f=v=>{v===!1?c(Zi(4,{from:r,to:t})):v instanceof Error?c(v):v4(v)?c(Zi(2,{from:t,to:v})):(l&&s.enterCallbacks[o]===l&&typeof v=="function"&&l.push(v),u())},h=e.call(s&&s.instances[o],t,r,f);let p=Promise.resolve(h);e.length<3&&(p=p.then(f)),p.catch(v=>c(v))})}function _u(e,t,r,s){const o=[];for(const l of e)for(const u in l.components){let c=l.components[u];if(!(t!=="beforeRouteEnter"&&!l.instances[u]))if(K4(c)){const h=(c.__vccOpts||c)[t];h&&o.push(Sr(h,r,s,l,u))}else{let f=c();o.push(()=>f.then(h=>{if(!h)return Promise.reject(new Error(`Couldn't resolve component "${u}" at "${l.path}"`));const p=XP(h)?h.default:h;l.components[u]=p;const m=(p.__vccOpts||p)[t];return m&&Sr(m,r,s,l,u)()}))}}return o}function K4(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function yp(e){const t=nn(Ga),r=nn(Ec),s=Ve(()=>t.resolve(se(e.to))),o=Ve(()=>{const{matched:f}=s.value,{length:h}=f,p=f[h-1],v=r.matched;if(!p||!v.length)return-1;const m=v.findIndex(zi.bind(null,p));if(m>-1)return m;const A=_p(f[h-2]);return h>1&&_p(p)===A&&v[v.length-1].path!==A?v.findIndex(zi.bind(null,f[h-2])):m}),l=Ve(()=>o.value>-1&&Y4(r.params,s.value.params)),u=Ve(()=>o.value>-1&&o.value===r.matched.length-1&&mv(r.params,s.value.params));function c(f={}){return G4(f)?t[se(e.replace)?"replace":"push"](se(e.to)).catch(Bs):Promise.resolve()}return{route:s,href:Ve(()=>s.value.href),isActive:l,isExactActive:u,navigate:c}}const z4=ze({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:yp,setup(e,{slots:t}){const r=Xi(yp(e)),{options:s}=nn(Ga),o=Ve(()=>({[bp(e.activeClass,s.linkActiveClass,"router-link-active")]:r.isActive,[bp(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const l=t.default&&t.default(r);return e.custom?l:vc("a",{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},l)}}}),Z4=z4;function G4(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Y4(e,t){for(const r in t){const s=t[r],o=e[r];if(typeof s=="string"){if(s!==o)return!1}else if(!$n(o)||o.length!==s.length||s.some((l,u)=>l!==o[u]))return!1}return!0}function _p(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const bp=(e,t,r)=>e??t??r,J4=ze({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:r}){const s=nn(zu),o=Ve(()=>e.route||s.value),l=nn(gp,0),u=Ve(()=>{let h=se(l);const{matched:p}=o.value;let v;for(;(v=p[h])&&!v.components;)h++;return h}),c=Ve(()=>o.value.matched[u.value]);Or(gp,Ve(()=>u.value+1)),Or(j4,c),Or(zu,o);const f=Pe();return ut(()=>[f.value,c.value,e.name],([h,p,v],[m,A,C])=>{p&&(p.instances[v]=h,A&&A!==p&&h&&h===m&&(p.leaveGuards.size||(p.leaveGuards=A.leaveGuards),p.updateGuards.size||(p.updateGuards=A.updateGuards))),h&&p&&(!A||!zi(p,A)||!m)&&(p.enterCallbacks[v]||[]).forEach(S=>S(h))},{flush:"post"}),()=>{const h=o.value,p=e.name,v=c.value,m=v&&v.components[p];if(!m)return wp(r.default,{Component:m,route:h});const A=v.props[p],C=A?A===!0?h.params:typeof A=="function"?A(h):A:null,D=vc(m,lt({},C,t,{onVnodeUnmounted:O=>{O.component.isUnmounted&&(v.instances[p]=null)},ref:f}));return wp(r.default,{Component:D,route:h})||D}}});function wp(e,t){if(!e)return null;const r=e(t);return r.length===1?r[0]:r}const X4=J4;function Q4(e){const t=E4(e.routes,e),r=e.parseQuery||U4,s=e.stringifyQuery||vp,o=e.history,l=bs(),u=bs(),c=bs(),f=cA(xr);let h=xr;Ii&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const p=gu.bind(null,X=>""+X),v=gu.bind(null,H4),m=gu.bind(null,Ca);function A(X,oe){let de,Ae;return gv(X)?(de=t.getRecordMatcher(X),Ae=oe):Ae=X,t.addRoute(Ae,de)}function C(X){const oe=t.getRecordMatcher(X);oe&&t.removeRoute(oe)}function S(){return t.getRoutes().map(X=>X.record)}function D(X){return!!t.getRecordMatcher(X)}function O(X,oe){if(oe=lt({},oe||f.value),typeof X=="string"){const z=yu(r,X,oe.path),re=t.resolve({path:z.path},oe),ce=o.createHref(z.fullPath);return lt(z,re,{params:m(re.params),hash:Ca(z.hash),redirectedFrom:void 0,href:ce})}let de;if("path"in X)de=lt({},X,{path:yu(r,X.path,oe.path).path});else{const z=lt({},X.params);for(const re in z)z[re]==null&&delete z[re];de=lt({},X,{params:v(z)}),oe.params=v(oe.params)}const Ae=t.resolve(de,oe),Re=X.hash||"";Ae.params=p(m(Ae.params));const R=t4(s,lt({},X,{hash:W4(Re),path:Ae.path})),$=o.createHref(R);return lt({fullPath:R,hash:Re,query:s===vp?q4(X.query):X.query||{}},Ae,{redirectedFrom:void 0,href:$})}function k(X){return typeof X=="string"?yu(r,X,f.value.path):lt({},X)}function M(X,oe){if(h!==X)return Zi(8,{from:oe,to:X})}function E(X){return U(X)}function T(X){return E(lt(k(X),{replace:!0}))}function H(X){const oe=X.matched[X.matched.length-1];if(oe&&oe.redirect){const{redirect:de}=oe;let Ae=typeof de=="function"?de(X):de;return typeof Ae=="string"&&(Ae=Ae.includes("?")||Ae.includes("#")?Ae=k(Ae):{path:Ae},Ae.params={}),lt({query:X.query,hash:X.hash,params:"path"in Ae?{}:X.params},Ae)}}function U(X,oe){const de=h=O(X),Ae=f.value,Re=X.state,R=X.force,$=X.replace===!0,z=H(de);if(z)return U(lt(k(z),{state:typeof z=="object"?lt({},Re,z.state):Re,force:R,replace:$}),oe||de);const re=de;re.redirectedFrom=oe;let ce;return!R&&n4(s,Ae,de)&&(ce=Zi(16,{to:re,from:Ae}),y(Ae,Ae,!0,!1)),(ce?Promise.resolve(ce):K(re,Ae)).catch(le=>tr(le)?tr(le,2)?le:B(le):_(le,re,Ae)).then(le=>{if(le){if(tr(le,2))return U(lt({replace:$},k(le.to),{state:typeof le.to=="object"?lt({},Re,le.to.state):Re,force:R}),oe||re)}else le=G(re,Ae,!0,$,Re);return q(re,Ae,le),le})}function N(X,oe){const de=M(X,oe);return de?Promise.reject(de):Promise.resolve()}function j(X){const oe=xe.values().next().value;return oe&&typeof oe.runWithContext=="function"?oe.runWithContext(X):X()}function K(X,oe){let de;const[Ae,Re,R]=e3(X,oe);de=_u(Ae.reverse(),"beforeRouteLeave",X,oe);for(const z of Ae)z.leaveGuards.forEach(re=>{de.push(Sr(re,X,oe))});const $=N.bind(null,X,oe);return de.push($),Oe(de).then(()=>{de=[];for(const z of l.list())de.push(Sr(z,X,oe));return de.push($),Oe(de)}).then(()=>{de=_u(Re,"beforeRouteUpdate",X,oe);for(const z of Re)z.updateGuards.forEach(re=>{de.push(Sr(re,X,oe))});return de.push($),Oe(de)}).then(()=>{de=[];for(const z of R)if(z.beforeEnter)if($n(z.beforeEnter))for(const re of z.beforeEnter)de.push(Sr(re,X,oe));else de.push(Sr(z.beforeEnter,X,oe));return de.push($),Oe(de)}).then(()=>(X.matched.forEach(z=>z.enterCallbacks={}),de=_u(R,"beforeRouteEnter",X,oe),de.push($),Oe(de))).then(()=>{de=[];for(const z of u.list())de.push(Sr(z,X,oe));return de.push($),Oe(de)}).catch(z=>tr(z,8)?z:Promise.reject(z))}function q(X,oe,de){c.list().forEach(Ae=>j(()=>Ae(X,oe,de)))}function G(X,oe,de,Ae,Re){const R=M(X,oe);if(R)return R;const $=oe===xr,z=Ii?history.state:{};de&&(Ae||$?o.replace(X.fullPath,lt({scroll:$&&z&&z.scroll},Re)):o.push(X.fullPath,Re)),f.value=X,y(X,oe,de,$),B()}let V;function w(){V||(V=o.listen((X,oe,de)=>{if(!_e.listening)return;const Ae=O(X),Re=H(Ae);if(Re){U(lt(Re,{replace:!0}),Ae).catch(Bs);return}h=Ae;const R=f.value;Ii&&c4(lp(R.fullPath,de.delta),Za()),K(Ae,R).catch($=>tr($,12)?$:tr($,2)?(U($.to,Ae).then(z=>{tr(z,20)&&!de.delta&&de.type===Ys.pop&&o.go(-1,!1)}).catch(Bs),Promise.reject()):(de.delta&&o.go(-de.delta,!1),_($,Ae,R))).then($=>{$=$||G(Ae,R,!1),$&&(de.delta&&!tr($,8)?o.go(-de.delta,!1):de.type===Ys.pop&&tr($,20)&&o.go(-1,!1)),q(Ae,R,$)}).catch(Bs)}))}let I=bs(),F=bs(),x;function _(X,oe,de){B(X);const Ae=F.list();return Ae.length?Ae.forEach(Re=>Re(X,oe,de)):console.error(X),Promise.reject(X)}function Y(){return x&&f.value!==xr?Promise.resolve():new Promise((X,oe)=>{I.add([X,oe])})}function B(X){return x||(x=!X,w(),I.list().forEach(([oe,de])=>X?de(X):oe()),I.reset()),X}function y(X,oe,de,Ae){const{scrollBehavior:Re}=e;if(!Ii||!Re)return Promise.resolve();const R=!de&&f4(lp(X.fullPath,0))||(Ae||!de)&&history.state&&history.state.scroll||null;return lr().then(()=>Re(X,oe,R)).then($=>$&&u4($)).catch($=>_($,X,oe))}const Q=X=>o.go(X);let pe;const xe=new Set,_e={currentRoute:f,listening:!0,addRoute:A,removeRoute:C,hasRoute:D,getRoutes:S,resolve:O,options:e,push:E,replace:T,go:Q,back:()=>Q(-1),forward:()=>Q(1),beforeEach:l.add,beforeResolve:u.add,afterEach:c.add,onError:F.add,isReady:Y,install(X){const oe=this;X.component("RouterLink",Z4),X.component("RouterView",X4),X.config.globalProperties.$router=oe,Object.defineProperty(X.config.globalProperties,"$route",{enumerable:!0,get:()=>se(f)}),Ii&&!pe&&f.value===xr&&(pe=!0,E(o.location).catch(Re=>{}));const de={};for(const Re in xr)Object.defineProperty(de,Re,{get:()=>f.value[Re],enumerable:!0});X.provide(Ga,oe),X.provide(Ec,Xp(de)),X.provide(zu,f);const Ae=X.unmount;xe.add(X),X.unmount=function(){xe.delete(X),xe.size<1&&(h=xr,V&&V(),V=null,f.value=xr,pe=!1,x=!1),Ae()}}};function Oe(X){return X.reduce((oe,de)=>oe.then(()=>j(de)),Promise.resolve())}return _e}function e3(e,t){const r=[],s=[],o=[],l=Math.max(t.matched.length,e.matched.length);for(let u=0;uzi(h,c))?s.push(c):r.push(c));const f=e.matched[u];f&&(t.matched.find(h=>zi(h,f))||o.push(f))}return[r,s,o]}function t3(){return nn(Ga)}function Cv(){return nn(Ec)}const n3=[{path:"/",component:()=>mt(()=>import("./index-7c7fccc5.js"),["assets/index-7c7fccc5.js","assets/TrackCompact-63a74737.js","assets/TrackCompact-79c8b159.css","assets/PlaylistEntry-32f74c9a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/spotify-8606af53.js","assets/PlaylistItem-b2b662c6.js","assets/PlaylistItem-10853772.css","assets/index-9c6564e7.css"])},{path:"/discover",component:()=>mt(()=>import("./Explore-06afc866.js"),["assets/Explore-06afc866.js","assets/Explore-e4c09a4f.css"]),meta:{title:"Discover - reAudioPlayer One"}},{name:"Search",path:"/search/:query",component:()=>mt(()=>import("./index-2ca7f604.js"),["assets/index-2ca7f604.js","assets/index-1de74717.css"]),meta:{title:"Search - reAudioPlayer One"}},{path:"/collection/albums",component:()=>mt(()=>import("./Albums-2ca88dd0.js"),["assets/Albums-2ca88dd0.js","assets/CollectionHeader-693dcfcb.js","assets/CollectionHeader-d7b2d6c7.css","assets/Albums-cd4d9140.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/artists",component:()=>mt(()=>import("./Artists-8ad4193c.js"),["assets/Artists-8ad4193c.js","assets/FullShelf-d5d3eac0.js","assets/FullShelf-261568ae.css","assets/CollectionHeader-693dcfcb.js","assets/CollectionHeader-d7b2d6c7.css","assets/Artists-45473996.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/playlists",component:()=>mt(()=>import("./Playlists-afa205e6.js"),["assets/Playlists-afa205e6.js","assets/FullShelf-d5d3eac0.js","assets/FullShelf-261568ae.css","assets/PlaylistItem-b2b662c6.js","assets/playerInPicture-af203fdf.js","assets/PlaylistItem-10853772.css","assets/CollectionHeader-693dcfcb.js","assets/CollectionHeader-d7b2d6c7.css","assets/Playlists-d44628c1.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/releases",component:()=>mt(()=>import("./Releases-fe528779.js"),["assets/Releases-fe528779.js","assets/FullShelf-d5d3eac0.js","assets/FullShelf-261568ae.css","assets/CollectionHeader-693dcfcb.js","assets/CollectionHeader-d7b2d6c7.css","assets/Releases-e8430e2f.css"]),meta:{title:"Releases - reAudioPlayer One"}},{path:"/collection/tracks",component:()=>mt(()=>import("./Liked-ca4d7086.js"),["assets/Liked-ca4d7086.js","assets/Template-a12b99e6.js","assets/PlaylistEntry-32f74c9a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/FactCard-d063b1a1.js","assets/FactCard-3c5d1fcf.css","assets/gistClient-63d02b96.js","assets/Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js","assets/Markdown-d883632e.css","assets/Template-05dccf2e.css"]),meta:{title:"Liked Songs - reAudioPlayer One"}},{path:"/collection/tracks/breaking",component:()=>mt(()=>import("./Breaking-e9fbbd65.js"),["assets/Breaking-e9fbbd65.js","assets/Template-a12b99e6.js","assets/PlaylistEntry-32f74c9a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/FactCard-d063b1a1.js","assets/FactCard-3c5d1fcf.css","assets/gistClient-63d02b96.js","assets/Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js","assets/Markdown-d883632e.css","assets/Template-05dccf2e.css"]),meta:{title:"Breaking Songs - reAudioPlayer One"}},{path:"/playlist/create",component:()=>mt(()=>import("./Create-9551fe1a.js"),["assets/Create-9551fe1a.js","assets/Create-175bc322.css"]),meta:{title:"Create Playlist - reAudioPlayer One"}},{path:"/playlist/:id/edit",component:()=>mt(()=>import("./Editor-2cdd6692.js"),["assets/Editor-2cdd6692.js","assets/Playlist.vue_vue_type_script_setup_true_lang-b6ff16a9.js","assets/PlaylistEntry-32f74c9a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/Editor-29aa8a80.css"]),meta:{title:"Smart Playlist Editor - reAudioPlayer One"}},{path:"/playlist/:id",component:()=>mt(()=>import("./Normal-415d545e.js"),["assets/Normal-415d545e.js","assets/Template-a12b99e6.js","assets/PlaylistEntry-32f74c9a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/FactCard-d063b1a1.js","assets/FactCard-3c5d1fcf.css","assets/gistClient-63d02b96.js","assets/Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js","assets/Markdown-d883632e.css","assets/Template-05dccf2e.css"]),meta:{title:"Playlist - reAudioPlayer One"}},{path:"/track/:hash",component:()=>mt(()=>import("./Track-29247377.js"),["assets/Track-29247377.js","assets/FactCard-d063b1a1.js","assets/FactCard-3c5d1fcf.css","assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js","assets/spotify-8606af53.js","assets/Track-50ce7320.css"]),meta:{title:"Track - reAudioPlayer One"}},{path:"/artist/:name",component:()=>mt(()=>import("./Artist-0e218e56.js"),["assets/Artist-0e218e56.js","assets/FactCard-d063b1a1.js","assets/FactCard-3c5d1fcf.css","assets/PlaylistEntry-32f74c9a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/spotify-8606af53.js","assets/Artist-a6b528f5.css"]),meta:{title:"Artist - reAudioPlayer One"}},{path:"/preferences",component:()=>mt(()=>import("./index-501f346a.js"),["assets/index-501f346a.js","assets/Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js","assets/Markdown-d883632e.css","assets/TrackCompact-63a74737.js","assets/TrackCompact-79c8b159.css","assets/gistClient-63d02b96.js","assets/index-ba22315c.css"]),meta:{title:"Preferences - reAudioPlayer One"}},{path:"/import",component:()=>mt(()=>import("./Import-11822f11.js"),["assets/Import-11822f11.js","assets/gistClient-63d02b96.js","assets/Import-5bb9c089.css"]),meta:{title:"Import - reAudioPlayer One"}},{path:"/import/:id",component:()=>mt(()=>import("./ImportLink-944a284d.js"),["assets/ImportLink-944a284d.js","assets/ImportLink-fa9af2ae.css"]),meta:{title:"Import - reAudioPlayer One"}},{path:"/export",component:()=>mt(()=>import("./Export-4a955656.js"),["assets/Export-4a955656.js","assets/gistClient-63d02b96.js","assets/Export-a03f6dd4.css"]),meta:{title:"Export - reAudioPlayer One"}},{path:"/sing-along",component:()=>mt(()=>import("./index-80a51d1b.js"),["assets/index-80a51d1b.js","assets/index-4e4ed216.css"]),meta:{title:"Sing Along - reAudioPlayer One"}},{path:"/download",component:()=>mt(()=>import("./index-a5315d49.js"),["assets/index-a5315d49.js","assets/index-3d76937e.css"]),meta:{title:"Download - reAudioPlayer One"}},{path:"/welcome",component:()=>mt(()=>import("./Welcome-a21b5bf7.js"),["assets/Welcome-a21b5bf7.js","assets/Welcome-5b21c29e.css"]),meta:{title:"Welcome to reAudioPlayer One"}},{path:"/news",component:()=>mt(()=>import("./News-75f9af9a.js"),["assets/News-75f9af9a.js","assets/FullShelf-d5d3eac0.js","assets/FullShelf-261568ae.css","assets/News-815a31c4.css"]),meta:{title:"News - reAudioPlayer One"}},{path:"/sports",component:()=>mt(()=>import("./Sports-56e566b5.js"),["assets/Sports-56e566b5.js","assets/FullShelf-d5d3eac0.js","assets/FullShelf-261568ae.css","assets/Sports-385f73f9.css"]),meta:{title:"Sports - reAudioPlayer One"}},{path:"/news/:url",component:()=>mt(()=>import("./NewsArticle-3a0c05a2.js"),["assets/NewsArticle-3a0c05a2.js","assets/NewsArticle-f71d5ef8.css"]),meta:{title:"News - reAudioPlayer One"}},{path:"/player",component:()=>mt(()=>import("./BigPlayer-fe0f9e65.js"),["assets/BigPlayer-fe0f9e65.js","assets/Playlist.vue_vue_type_script_setup_true_lang-b6ff16a9.js","assets/PlaylistEntry-32f74c9a.js","assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/PlaylistItem-b2b662c6.js","assets/PlaylistItem-10853772.css","assets/BigPlayer-4e09ef04.css"]),meta:{title:"reAudioPlayer One"}}],Rs=Q4({history:m4(),routes:n3}),r3=["placeholder","type"],i3=ze({__name:"TextInputWithIcon",props:{icon:String,placeholder:String,modelValue:String,type:{type:String,required:!1,default:"text"},onClick:{type:Function,required:!1},expanded:{type:Boolean,required:!1,default:!1},onKeyUp:{type:Function,required:!1}},emits:["update:modelValue","change","submit","focusout"],setup(e,{expose:t,emit:r}){const s=e,o=Pe(s.modelValue);ut(()=>s.modelValue,h=>{o.value=h});const l=r,u=()=>{l("update:modelValue",o.value),l("change",o.value)},c=h=>{s.onKeyUp&&s.onKeyUp(h)||h.key==="Enter"&&l("submit",o)},f=Pe();return t({focus:()=>{f.value.focus()}}),(h,p)=>(ne(),ge("div",{class:Je(["text-input-with-icon rounded-3xl flex items-center px-4",{expanded:e.expanded}])},[te("span",{class:Je([{"cursor-pointer":e.onClick},"material-symbols-rounded ms-wght-200"]),onClick:p[0]||(p[0]=(...v)=>e.onClick&&e.onClick(...v))},We(e.icon),3),Ks(te("input",{"onUpdate:modelValue":p[1]||(p[1]=v=>o.value=v),placeholder:e.placeholder,type:e.type,onInput:u,onKeyup:c,onFocusout:p[2]||(p[2]=v=>h.$emit("focusout")),ref_key:"element",ref:f},null,40,r3),[[_c,o.value]])],2))}});const Zu=ot(i3,[["__scopeId","data-v-18a674c5"]]);var ws=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function s3(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function b6(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var o=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:function(){return e[s]}})}),r}var Ea={exports:{}};/** + */const Ii=typeof window<"u";function XP(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const lt=Object.assign;function gu(e,t){const r={};for(const s in t){const o=t[s];r[s]=$n(o)?o.map(e):e(o)}return r}const Bs=()=>{},$n=Array.isArray,QP=/\/$/,e3=e=>e.replace(QP,"");function yu(e,t,r="/"){let s,o={},l="",u="";const c=t.indexOf("#");let f=t.indexOf("?");return c=0&&(f=-1),f>-1&&(s=t.slice(0,f),l=t.slice(f+1,c>-1?c:t.length),o=e(l)),c>-1&&(s=s||t.slice(0,c),u=t.slice(c,t.length)),s=i3(s??t,r),{fullPath:s+(l&&"?")+l+u,path:s,query:o,hash:u}}function t3(e,t){const r=t.query?e(t.query):"";return t.path+(r&&"?")+r+(t.hash||"")}function op(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function n3(e,t,r){const s=t.matched.length-1,o=r.matched.length-1;return s>-1&&s===o&&Zi(t.matched[s],r.matched[o])&&mv(t.params,r.params)&&e(t.query)===e(r.query)&&t.hash===r.hash}function Zi(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function mv(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(!r3(e[r],t[r]))return!1;return!0}function r3(e,t){return $n(e)?ap(e,t):$n(t)?ap(t,e):e===t}function ap(e,t){return $n(t)?e.length===t.length&&e.every((r,s)=>r===t[s]):e.length===1&&e[0]===t}function i3(e,t){if(e.startsWith("/"))return e;if(!e)return t;const r=t.split("/"),s=e.split("/"),o=s[s.length-1];(o===".."||o===".")&&s.push("");let l=r.length-1,u,c;for(u=0;u1&&l--;else break;return r.slice(0,l).join("/")+"/"+s.slice(u-(u===s.length?1:0)).join("/")}var Ys;(function(e){e.pop="pop",e.push="push"})(Ys||(Ys={}));var Ns;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Ns||(Ns={}));function s3(e){if(!e)if(Ii){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),e3(e)}const o3=/^[^#]+#/;function a3(e,t){return e.replace(o3,"#")+t}function l3(e,t){const r=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-r.left-(t.left||0),top:s.top-r.top-(t.top||0)}}const Za=()=>({left:window.pageXOffset,top:window.pageYOffset});function u3(e){let t;if("el"in e){const r=e.el,s=typeof r=="string"&&r.startsWith("#"),o=typeof r=="string"?s?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!o)return;t=l3(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function lp(e,t){return(history.state?history.state.position-t:-1)+e}const ju=new Map;function c3(e,t){ju.set(e,t)}function f3(e){const t=ju.get(e);return ju.delete(e),t}let d3=()=>location.protocol+"//"+location.host;function vv(e,t){const{pathname:r,search:s,hash:o}=t,l=e.indexOf("#");if(l>-1){let c=o.includes(e.slice(l))?e.slice(l).length:1,f=o.slice(c);return f[0]!=="/"&&(f="/"+f),op(f,"")}return op(r,e)+s+o}function h3(e,t,r,s){let o=[],l=[],u=null;const c=({state:m})=>{const A=vv(e,location),C=r.value,S=t.value;let D=0;if(m){if(r.value=A,t.value=m,u&&u===C){u=null;return}D=S?m.position-S.position:0}else s(A);o.forEach(O=>{O(r.value,C,{delta:D,type:Ys.pop,direction:D?D>0?Ns.forward:Ns.back:Ns.unknown})})};function f(){u=r.value}function h(m){o.push(m);const A=()=>{const C=o.indexOf(m);C>-1&&o.splice(C,1)};return l.push(A),A}function p(){const{history:m}=window;m.state&&m.replaceState(lt({},m.state,{scroll:Za()}),"")}function v(){for(const m of l)m();l=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",p)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",p,{passive:!0}),{pauseListeners:f,listen:h,destroy:v}}function up(e,t,r,s=!1,o=!1){return{back:e,current:t,forward:r,replaced:s,position:window.history.length,scroll:o?Za():null}}function p3(e){const{history:t,location:r}=window,s={value:vv(e,r)},o={value:t.state};o.value||l(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(f,h,p){const v=e.indexOf("#"),m=v>-1?(r.host&&document.querySelector("base")?e:e.slice(v))+f:d3()+e+f;try{t[p?"replaceState":"pushState"](h,"",m),o.value=h}catch(A){console.error(A),r[p?"replace":"assign"](m)}}function u(f,h){const p=lt({},t.state,up(o.value.back,f,o.value.forward,!0),h,{position:o.value.position});l(f,p,!0),s.value=f}function c(f,h){const p=lt({},o.value,t.state,{forward:f,scroll:Za()});l(p.current,p,!0);const v=lt({},up(s.value,f,null),{position:p.position+1},h);l(f,v,!1),s.value=f}return{location:s,state:o,push:c,replace:u}}function m3(e){e=s3(e);const t=p3(e),r=h3(e,t.state,t.location,t.replace);function s(l,u=!0){u||r.pauseListeners(),history.go(l)}const o=lt({location:"",base:e,go:s,createHref:a3.bind(null,e)},t,r);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function v3(e){return typeof e=="string"||e&&typeof e=="object"}function gv(e){return typeof e=="string"||typeof e=="symbol"}const xr={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},yv=Symbol("");var cp;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(cp||(cp={}));function Gi(e,t){return lt(new Error,{type:e,[yv]:!0},t)}function tr(e,t){return e instanceof Error&&yv in e&&(t==null||!!(e.type&t))}const fp="[^/]+?",g3={sensitive:!1,strict:!1,start:!0,end:!0},y3=/[.+*?^${}()[\]/\\]/g;function _3(e,t){const r=lt({},g3,t),s=[];let o=r.start?"^":"";const l=[];for(const h of e){const p=h.length?[]:[90];r.strict&&!h.length&&(o+="/");for(let v=0;vt.length?t.length===1&&t[0]===40+40?1:-1:0}function w3(e,t){let r=0;const s=e.score,o=t.score;for(;r0&&t[t.length-1]<0}const A3={type:0,value:""},x3=/[a-zA-Z0-9_]/;function P3(e){if(!e)return[[]];if(e==="/")return[[A3]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(A){throw new Error(`ERR (${r})/"${h}": ${A}`)}let r=0,s=r;const o=[];let l;function u(){l&&o.push(l),l=[]}let c=0,f,h="",p="";function v(){h&&(r===0?l.push({type:0,value:h}):r===1||r===2||r===3?(l.length>1&&(f==="*"||f==="+")&&t(`A repeatable param (${h}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:h,regexp:p,repeatable:f==="*"||f==="+",optional:f==="*"||f==="?"})):t("Invalid state to consume buffer"),h="")}function m(){h+=f}for(;c{u(k)}:Bs}function u(p){if(gv(p)){const v=s.get(p);v&&(s.delete(p),r.splice(r.indexOf(v),1),v.children.forEach(u),v.alias.forEach(u))}else{const v=r.indexOf(p);v>-1&&(r.splice(v,1),p.record.name&&s.delete(p.record.name),p.children.forEach(u),p.alias.forEach(u))}}function c(){return r}function f(p){let v=0;for(;v=0&&(p.record.path!==r[v].record.path||!_v(p,r[v]));)v++;r.splice(v,0,p),p.record.name&&!pp(p)&&s.set(p.record.name,p)}function h(p,v){let m,A={},C,S;if("name"in p&&p.name){if(m=s.get(p.name),!m)throw Gi(1,{location:p});S=m.record.name,A=lt(hp(v.params,m.keys.filter(k=>!k.optional).map(k=>k.name)),p.params&&hp(p.params,m.keys.map(k=>k.name))),C=m.stringify(A)}else if("path"in p)C=p.path,m=r.find(k=>k.re.test(C)),m&&(A=m.parse(C),S=m.record.name);else{if(m=v.name?s.get(v.name):r.find(k=>k.re.test(v.path)),!m)throw Gi(1,{location:p,currentLocation:v});S=m.record.name,A=lt({},v.params,p.params),C=m.stringify(A)}const D=[];let O=m;for(;O;)D.unshift(O.record),O=O.parent;return{name:S,path:C,params:A,matched:D,meta:O3(D)}}return e.forEach(p=>l(p)),{addRoute:l,resolve:h,removeRoute:u,getRoutes:c,getRecordMatcher:o}}function hp(e,t){const r={};for(const s of t)s in e&&(r[s]=e[s]);return r}function k3(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:S3(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function S3(e){const t={},r=e.props||!1;if("component"in e)t.default=r;else for(const s in e.components)t[s]=typeof r=="object"?r[s]:r;return t}function pp(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function O3(e){return e.reduce((t,r)=>lt(t,r.meta),{})}function mp(e,t){const r={};for(const s in e)r[s]=s in t?t[s]:e[s];return r}function _v(e,t){return t.children.some(r=>r===e||_v(e,r))}const bv=/#/g,R3=/&/g,T3=/\//g,I3=/=/g,M3=/\?/g,wv=/\+/g,L3=/%5B/g,$3=/%5D/g,Av=/%5E/g,D3=/%60/g,xv=/%7B/g,B3=/%7C/g,Pv=/%7D/g,N3=/%20/g;function Cc(e){return encodeURI(""+e).replace(B3,"|").replace(L3,"[").replace($3,"]")}function W3(e){return Cc(e).replace(xv,"{").replace(Pv,"}").replace(Av,"^")}function Ku(e){return Cc(e).replace(wv,"%2B").replace(N3,"+").replace(bv,"%23").replace(R3,"%26").replace(D3,"`").replace(xv,"{").replace(Pv,"}").replace(Av,"^")}function V3(e){return Ku(e).replace(I3,"%3D")}function F3(e){return Cc(e).replace(bv,"%23").replace(M3,"%3F")}function H3(e){return e==null?"":F3(e).replace(T3,"%2F")}function Ca(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function U3(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;ol&&Ku(l)):[s&&Ku(s)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+r,l!=null&&(t+="="+l))})}return t}function q3(e){const t={};for(const r in e){const s=e[r];s!==void 0&&(t[r]=$n(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return t}const j3=Symbol(""),gp=Symbol(""),Ga=Symbol(""),Ec=Symbol(""),zu=Symbol("");function ws(){let e=[];function t(s){return e.push(s),()=>{const o=e.indexOf(s);o>-1&&e.splice(o,1)}}function r(){e=[]}return{add:t,list:()=>e.slice(),reset:r}}function Sr(e,t,r,s,o){const l=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((u,c)=>{const f=v=>{v===!1?c(Gi(4,{from:r,to:t})):v instanceof Error?c(v):v3(v)?c(Gi(2,{from:t,to:v})):(l&&s.enterCallbacks[o]===l&&typeof v=="function"&&l.push(v),u())},h=e.call(s&&s.instances[o],t,r,f);let p=Promise.resolve(h);e.length<3&&(p=p.then(f)),p.catch(v=>c(v))})}function _u(e,t,r,s){const o=[];for(const l of e)for(const u in l.components){let c=l.components[u];if(!(t!=="beforeRouteEnter"&&!l.instances[u]))if(K3(c)){const h=(c.__vccOpts||c)[t];h&&o.push(Sr(h,r,s,l,u))}else{let f=c();o.push(()=>f.then(h=>{if(!h)return Promise.reject(new Error(`Couldn't resolve component "${u}" at "${l.path}"`));const p=XP(h)?h.default:h;l.components[u]=p;const m=(p.__vccOpts||p)[t];return m&&Sr(m,r,s,l,u)()}))}}return o}function K3(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function yp(e){const t=nn(Ga),r=nn(Ec),s=Ve(()=>t.resolve(se(e.to))),o=Ve(()=>{const{matched:f}=s.value,{length:h}=f,p=f[h-1],v=r.matched;if(!p||!v.length)return-1;const m=v.findIndex(Zi.bind(null,p));if(m>-1)return m;const A=_p(f[h-2]);return h>1&&_p(p)===A&&v[v.length-1].path!==A?v.findIndex(Zi.bind(null,f[h-2])):m}),l=Ve(()=>o.value>-1&&Y3(r.params,s.value.params)),u=Ve(()=>o.value>-1&&o.value===r.matched.length-1&&mv(r.params,s.value.params));function c(f={}){return G3(f)?t[se(e.replace)?"replace":"push"](se(e.to)).catch(Bs):Promise.resolve()}return{route:s,href:Ve(()=>s.value.href),isActive:l,isExactActive:u,navigate:c}}const z3=ze({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:yp,setup(e,{slots:t}){const r=Qi(yp(e)),{options:s}=nn(Ga),o=Ve(()=>({[bp(e.activeClass,s.linkActiveClass,"router-link-active")]:r.isActive,[bp(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const l=t.default&&t.default(r);return e.custom?l:vc("a",{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},l)}}}),Z3=z3;function G3(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Y3(e,t){for(const r in t){const s=t[r],o=e[r];if(typeof s=="string"){if(s!==o)return!1}else if(!$n(o)||o.length!==s.length||s.some((l,u)=>l!==o[u]))return!1}return!0}function _p(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const bp=(e,t,r)=>e??t??r,J3=ze({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:r}){const s=nn(zu),o=Ve(()=>e.route||s.value),l=nn(gp,0),u=Ve(()=>{let h=se(l);const{matched:p}=o.value;let v;for(;(v=p[h])&&!v.components;)h++;return h}),c=Ve(()=>o.value.matched[u.value]);Or(gp,Ve(()=>u.value+1)),Or(j3,c),Or(zu,o);const f=Pe();return ut(()=>[f.value,c.value,e.name],([h,p,v],[m,A,C])=>{p&&(p.instances[v]=h,A&&A!==p&&h&&h===m&&(p.leaveGuards.size||(p.leaveGuards=A.leaveGuards),p.updateGuards.size||(p.updateGuards=A.updateGuards))),h&&p&&(!A||!Zi(p,A)||!m)&&(p.enterCallbacks[v]||[]).forEach(S=>S(h))},{flush:"post"}),()=>{const h=o.value,p=e.name,v=c.value,m=v&&v.components[p];if(!m)return wp(r.default,{Component:m,route:h});const A=v.props[p],C=A?A===!0?h.params:typeof A=="function"?A(h):A:null,D=vc(m,lt({},C,t,{onVnodeUnmounted:O=>{O.component.isUnmounted&&(v.instances[p]=null)},ref:f}));return wp(r.default,{Component:D,route:h})||D}}});function wp(e,t){if(!e)return null;const r=e(t);return r.length===1?r[0]:r}const X3=J3;function Q3(e){const t=E3(e.routes,e),r=e.parseQuery||U3,s=e.stringifyQuery||vp,o=e.history,l=ws(),u=ws(),c=ws(),f=cA(xr);let h=xr;Ii&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const p=gu.bind(null,X=>""+X),v=gu.bind(null,H3),m=gu.bind(null,Ca);function A(X,oe){let de,Ae;return gv(X)?(de=t.getRecordMatcher(X),Ae=oe):Ae=X,t.addRoute(Ae,de)}function C(X){const oe=t.getRecordMatcher(X);oe&&t.removeRoute(oe)}function S(){return t.getRoutes().map(X=>X.record)}function D(X){return!!t.getRecordMatcher(X)}function O(X,oe){if(oe=lt({},oe||f.value),typeof X=="string"){const z=yu(r,X,oe.path),re=t.resolve({path:z.path},oe),ce=o.createHref(z.fullPath);return lt(z,re,{params:m(re.params),hash:Ca(z.hash),redirectedFrom:void 0,href:ce})}let de;if("path"in X)de=lt({},X,{path:yu(r,X.path,oe.path).path});else{const z=lt({},X.params);for(const re in z)z[re]==null&&delete z[re];de=lt({},X,{params:v(z)}),oe.params=v(oe.params)}const Ae=t.resolve(de,oe),Re=X.hash||"";Ae.params=p(m(Ae.params));const R=t3(s,lt({},X,{hash:W3(Re),path:Ae.path})),$=o.createHref(R);return lt({fullPath:R,hash:Re,query:s===vp?q3(X.query):X.query||{}},Ae,{redirectedFrom:void 0,href:$})}function k(X){return typeof X=="string"?yu(r,X,f.value.path):lt({},X)}function M(X,oe){if(h!==X)return Gi(8,{from:oe,to:X})}function E(X){return U(X)}function T(X){return E(lt(k(X),{replace:!0}))}function H(X){const oe=X.matched[X.matched.length-1];if(oe&&oe.redirect){const{redirect:de}=oe;let Ae=typeof de=="function"?de(X):de;return typeof Ae=="string"&&(Ae=Ae.includes("?")||Ae.includes("#")?Ae=k(Ae):{path:Ae},Ae.params={}),lt({query:X.query,hash:X.hash,params:"path"in Ae?{}:X.params},Ae)}}function U(X,oe){const de=h=O(X),Ae=f.value,Re=X.state,R=X.force,$=X.replace===!0,z=H(de);if(z)return U(lt(k(z),{state:typeof z=="object"?lt({},Re,z.state):Re,force:R,replace:$}),oe||de);const re=de;re.redirectedFrom=oe;let ce;return!R&&n3(s,Ae,de)&&(ce=Gi(16,{to:re,from:Ae}),y(Ae,Ae,!0,!1)),(ce?Promise.resolve(ce):K(re,Ae)).catch(le=>tr(le)?tr(le,2)?le:B(le):_(le,re,Ae)).then(le=>{if(le){if(tr(le,2))return U(lt({replace:$},k(le.to),{state:typeof le.to=="object"?lt({},Re,le.to.state):Re,force:R}),oe||re)}else le=G(re,Ae,!0,$,Re);return q(re,Ae,le),le})}function N(X,oe){const de=M(X,oe);return de?Promise.reject(de):Promise.resolve()}function j(X){const oe=xe.values().next().value;return oe&&typeof oe.runWithContext=="function"?oe.runWithContext(X):X()}function K(X,oe){let de;const[Ae,Re,R]=e4(X,oe);de=_u(Ae.reverse(),"beforeRouteLeave",X,oe);for(const z of Ae)z.leaveGuards.forEach(re=>{de.push(Sr(re,X,oe))});const $=N.bind(null,X,oe);return de.push($),Oe(de).then(()=>{de=[];for(const z of l.list())de.push(Sr(z,X,oe));return de.push($),Oe(de)}).then(()=>{de=_u(Re,"beforeRouteUpdate",X,oe);for(const z of Re)z.updateGuards.forEach(re=>{de.push(Sr(re,X,oe))});return de.push($),Oe(de)}).then(()=>{de=[];for(const z of R)if(z.beforeEnter)if($n(z.beforeEnter))for(const re of z.beforeEnter)de.push(Sr(re,X,oe));else de.push(Sr(z.beforeEnter,X,oe));return de.push($),Oe(de)}).then(()=>(X.matched.forEach(z=>z.enterCallbacks={}),de=_u(R,"beforeRouteEnter",X,oe),de.push($),Oe(de))).then(()=>{de=[];for(const z of u.list())de.push(Sr(z,X,oe));return de.push($),Oe(de)}).catch(z=>tr(z,8)?z:Promise.reject(z))}function q(X,oe,de){c.list().forEach(Ae=>j(()=>Ae(X,oe,de)))}function G(X,oe,de,Ae,Re){const R=M(X,oe);if(R)return R;const $=oe===xr,z=Ii?history.state:{};de&&(Ae||$?o.replace(X.fullPath,lt({scroll:$&&z&&z.scroll},Re)):o.push(X.fullPath,Re)),f.value=X,y(X,oe,de,$),B()}let V;function w(){V||(V=o.listen((X,oe,de)=>{if(!_e.listening)return;const Ae=O(X),Re=H(Ae);if(Re){U(lt(Re,{replace:!0}),Ae).catch(Bs);return}h=Ae;const R=f.value;Ii&&c3(lp(R.fullPath,de.delta),Za()),K(Ae,R).catch($=>tr($,12)?$:tr($,2)?(U($.to,Ae).then(z=>{tr(z,20)&&!de.delta&&de.type===Ys.pop&&o.go(-1,!1)}).catch(Bs),Promise.reject()):(de.delta&&o.go(-de.delta,!1),_($,Ae,R))).then($=>{$=$||G(Ae,R,!1),$&&(de.delta&&!tr($,8)?o.go(-de.delta,!1):de.type===Ys.pop&&tr($,20)&&o.go(-1,!1)),q(Ae,R,$)}).catch(Bs)}))}let I=ws(),F=ws(),x;function _(X,oe,de){B(X);const Ae=F.list();return Ae.length?Ae.forEach(Re=>Re(X,oe,de)):console.error(X),Promise.reject(X)}function Y(){return x&&f.value!==xr?Promise.resolve():new Promise((X,oe)=>{I.add([X,oe])})}function B(X){return x||(x=!X,w(),I.list().forEach(([oe,de])=>X?de(X):oe()),I.reset()),X}function y(X,oe,de,Ae){const{scrollBehavior:Re}=e;if(!Ii||!Re)return Promise.resolve();const R=!de&&f3(lp(X.fullPath,0))||(Ae||!de)&&history.state&&history.state.scroll||null;return lr().then(()=>Re(X,oe,R)).then($=>$&&u3($)).catch($=>_($,X,oe))}const Q=X=>o.go(X);let pe;const xe=new Set,_e={currentRoute:f,listening:!0,addRoute:A,removeRoute:C,hasRoute:D,getRoutes:S,resolve:O,options:e,push:E,replace:T,go:Q,back:()=>Q(-1),forward:()=>Q(1),beforeEach:l.add,beforeResolve:u.add,afterEach:c.add,onError:F.add,isReady:Y,install(X){const oe=this;X.component("RouterLink",Z3),X.component("RouterView",X3),X.config.globalProperties.$router=oe,Object.defineProperty(X.config.globalProperties,"$route",{enumerable:!0,get:()=>se(f)}),Ii&&!pe&&f.value===xr&&(pe=!0,E(o.location).catch(Re=>{}));const de={};for(const Re in xr)Object.defineProperty(de,Re,{get:()=>f.value[Re],enumerable:!0});X.provide(Ga,oe),X.provide(Ec,Xp(de)),X.provide(zu,f);const Ae=X.unmount;xe.add(X),X.unmount=function(){xe.delete(X),xe.size<1&&(h=xr,V&&V(),V=null,f.value=xr,pe=!1,x=!1),Ae()}}};function Oe(X){return X.reduce((oe,de)=>oe.then(()=>j(de)),Promise.resolve())}return _e}function e4(e,t){const r=[],s=[],o=[],l=Math.max(t.matched.length,e.matched.length);for(let u=0;uZi(h,c))?s.push(c):r.push(c));const f=e.matched[u];f&&(t.matched.find(h=>Zi(h,f))||o.push(f))}return[r,s,o]}function t4(){return nn(Ga)}function Cv(){return nn(Ec)}const n4=[{path:"/",component:()=>mt(()=>import("./index-3486840a.js"),["assets/index-3486840a.js","assets/TrackCompact-667d7442.js","assets/TrackCompact-79c8b159.css","assets/PlaylistEntry-bb67bf25.js","assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/spotify-ec5e61f9.js","assets/PlaylistItem-6fc351b2.js","assets/PlaylistItem-10853772.css","assets/index-9c6564e7.css"])},{path:"/discover",component:()=>mt(()=>import("./Explore-91377c61.js"),["assets/Explore-91377c61.js","assets/Explore-e4c09a4f.css"]),meta:{title:"Discover - reAudioPlayer One"}},{name:"Search",path:"/search/:query",component:()=>mt(()=>import("./index-e315ee00.js"),["assets/index-e315ee00.js","assets/index-1de74717.css"]),meta:{title:"Search - reAudioPlayer One"}},{path:"/collection/albums",component:()=>mt(()=>import("./Albums-184c439c.js"),["assets/Albums-184c439c.js","assets/CollectionHeader-0134ecc9.js","assets/CollectionHeader-d7b2d6c7.css","assets/Albums-cd4d9140.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/artists",component:()=>mt(()=>import("./Artists-8ef7411e.js"),["assets/Artists-8ef7411e.js","assets/FullShelf-77f6f5f1.js","assets/FullShelf-261568ae.css","assets/CollectionHeader-0134ecc9.js","assets/CollectionHeader-d7b2d6c7.css","assets/Artists-45473996.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/playlists",component:()=>mt(()=>import("./Playlists-dd51ccb9.js"),["assets/Playlists-dd51ccb9.js","assets/FullShelf-77f6f5f1.js","assets/FullShelf-261568ae.css","assets/PlaylistItem-6fc351b2.js","assets/playerInPicture-af203fdf.js","assets/PlaylistItem-10853772.css","assets/CollectionHeader-0134ecc9.js","assets/CollectionHeader-d7b2d6c7.css","assets/Playlists-d44628c1.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/releases",component:()=>mt(()=>import("./Releases-7a81f458.js"),["assets/Releases-7a81f458.js","assets/FullShelf-77f6f5f1.js","assets/FullShelf-261568ae.css","assets/CollectionHeader-0134ecc9.js","assets/CollectionHeader-d7b2d6c7.css","assets/Releases-e8430e2f.css"]),meta:{title:"Releases - reAudioPlayer One"}},{path:"/collection/tracks",component:()=>mt(()=>import("./Liked-4a8e9dc3.js"),["assets/Liked-4a8e9dc3.js","assets/Template-8dffc963.js","assets/PlaylistEntry-bb67bf25.js","assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/FactCard-ecaa8541.js","assets/FactCard-3c5d1fcf.css","assets/gistClient-be4ed4e2.js","assets/Markdown.vue_vue_type_style_index_0_lang-d9462c8d.js","assets/Markdown-d883632e.css","assets/Template-05dccf2e.css"]),meta:{title:"Liked Songs - reAudioPlayer One"}},{path:"/collection/tracks/breaking",component:()=>mt(()=>import("./Breaking-795a537c.js"),["assets/Breaking-795a537c.js","assets/Template-8dffc963.js","assets/PlaylistEntry-bb67bf25.js","assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/FactCard-ecaa8541.js","assets/FactCard-3c5d1fcf.css","assets/gistClient-be4ed4e2.js","assets/Markdown.vue_vue_type_style_index_0_lang-d9462c8d.js","assets/Markdown-d883632e.css","assets/Template-05dccf2e.css"]),meta:{title:"Breaking Songs - reAudioPlayer One"}},{path:"/playlist/create",component:()=>mt(()=>import("./Create-92ac9a69.js"),["assets/Create-92ac9a69.js","assets/Create-175bc322.css"]),meta:{title:"Create Playlist - reAudioPlayer One"}},{path:"/playlist/:id/edit",component:()=>mt(()=>import("./Editor-cd9fc5c1.js"),["assets/Editor-cd9fc5c1.js","assets/Playlist.vue_vue_type_script_setup_true_lang-2e3ae256.js","assets/PlaylistEntry-bb67bf25.js","assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/Editor-29aa8a80.css"]),meta:{title:"Smart Playlist Editor - reAudioPlayer One"}},{path:"/playlist/:id",component:()=>mt(()=>import("./Normal-8b3ddd4a.js"),["assets/Normal-8b3ddd4a.js","assets/Template-8dffc963.js","assets/PlaylistEntry-bb67bf25.js","assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/FactCard-ecaa8541.js","assets/FactCard-3c5d1fcf.css","assets/gistClient-be4ed4e2.js","assets/Markdown.vue_vue_type_style_index_0_lang-d9462c8d.js","assets/Markdown-d883632e.css","assets/Template-05dccf2e.css"]),meta:{title:"Playlist - reAudioPlayer One"}},{path:"/track/:hash",component:()=>mt(()=>import("./Track-8da48201.js"),["assets/Track-8da48201.js","assets/FactCard-ecaa8541.js","assets/FactCard-3c5d1fcf.css","assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js","assets/spotify-ec5e61f9.js","assets/Track-50ce7320.css"]),meta:{title:"Track - reAudioPlayer One"}},{path:"/artist/:name",component:()=>mt(()=>import("./Artist-701c2336.js"),["assets/Artist-701c2336.js","assets/FactCard-ecaa8541.js","assets/FactCard-3c5d1fcf.css","assets/PlaylistEntry-bb67bf25.js","assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/spotify-ec5e61f9.js","assets/Artist-a6b528f5.css"]),meta:{title:"Artist - reAudioPlayer One"}},{path:"/preferences",component:()=>mt(()=>import("./index-271680f6.js"),["assets/index-271680f6.js","assets/Markdown.vue_vue_type_style_index_0_lang-d9462c8d.js","assets/Markdown-d883632e.css","assets/TrackCompact-667d7442.js","assets/TrackCompact-79c8b159.css","assets/gistClient-be4ed4e2.js","assets/index-ba22315c.css"]),meta:{title:"Preferences - reAudioPlayer One"}},{path:"/import",component:()=>mt(()=>import("./Import-f0947c15.js"),["assets/Import-f0947c15.js","assets/gistClient-be4ed4e2.js","assets/Import-5bb9c089.css"]),meta:{title:"Import - reAudioPlayer One"}},{path:"/import/:id",component:()=>mt(()=>import("./ImportLink-878046b9.js"),["assets/ImportLink-878046b9.js","assets/ImportLink-fa9af2ae.css"]),meta:{title:"Import - reAudioPlayer One"}},{path:"/export",component:()=>mt(()=>import("./Export-442d1672.js"),["assets/Export-442d1672.js","assets/gistClient-be4ed4e2.js","assets/Export-a03f6dd4.css"]),meta:{title:"Export - reAudioPlayer One"}},{path:"/sing-along",component:()=>mt(()=>import("./index-f424206f.js"),["assets/index-f424206f.js","assets/index-4e4ed216.css"]),meta:{title:"Sing Along - reAudioPlayer One"}},{path:"/download",component:()=>mt(()=>import("./index-a53d8d7d.js"),["assets/index-a53d8d7d.js","assets/index-3d76937e.css"]),meta:{title:"Download - reAudioPlayer One"}},{path:"/welcome",component:()=>mt(()=>import("./Welcome-d433ea4e.js"),["assets/Welcome-d433ea4e.js","assets/Welcome-5b21c29e.css"]),meta:{title:"Welcome to reAudioPlayer One"}},{path:"/news",component:()=>mt(()=>import("./News-53589a37.js"),["assets/News-53589a37.js","assets/FullShelf-77f6f5f1.js","assets/FullShelf-261568ae.css","assets/News-815a31c4.css"]),meta:{title:"News - reAudioPlayer One"}},{path:"/sports",component:()=>mt(()=>import("./Sports-e337ea6b.js"),["assets/Sports-e337ea6b.js","assets/FullShelf-77f6f5f1.js","assets/FullShelf-261568ae.css","assets/Sports-385f73f9.css"]),meta:{title:"Sports - reAudioPlayer One"}},{path:"/news/:url",component:()=>mt(()=>import("./NewsArticle-6a4ee6d7.js"),["assets/NewsArticle-6a4ee6d7.js","assets/NewsArticle-f71d5ef8.css"]),meta:{title:"News - reAudioPlayer One"}},{path:"/player",component:()=>mt(()=>import("./BigPlayer-c0cc19bd.js"),["assets/BigPlayer-c0cc19bd.js","assets/Playlist.vue_vue_type_script_setup_true_lang-2e3ae256.js","assets/PlaylistEntry-bb67bf25.js","assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-4b74ffe1.css","assets/PlaylistItem-6fc351b2.js","assets/PlaylistItem-10853772.css","assets/BigPlayer-4e09ef04.css"]),meta:{title:"reAudioPlayer One"}}],Mi=Q3({history:m3(),routes:n4}),r4=["placeholder","type"],i4=ze({__name:"TextInputWithIcon",props:{icon:String,placeholder:String,modelValue:String,type:{type:String,required:!1,default:"text"},onClick:{type:Function,required:!1},expanded:{type:Boolean,required:!1,default:!1},onKeyUp:{type:Function,required:!1}},emits:["update:modelValue","change","submit","focusout"],setup(e,{expose:t,emit:r}){const s=e,o=Pe(s.modelValue);ut(()=>s.modelValue,h=>{o.value=h});const l=r,u=()=>{l("update:modelValue",o.value),l("change",o.value)},c=h=>{s.onKeyUp&&s.onKeyUp(h)||h.key==="Enter"&&l("submit",o)},f=Pe();return t({focus:()=>{f.value.focus()}}),(h,p)=>(ne(),ge("div",{class:Je(["text-input-with-icon rounded-3xl flex items-center px-4",{expanded:e.expanded}])},[te("span",{class:Je([{"cursor-pointer":e.onClick},"material-symbols-rounded ms-wght-200"]),onClick:p[0]||(p[0]=(...v)=>e.onClick&&e.onClick(...v))},We(e.icon),3),Ks(te("input",{"onUpdate:modelValue":p[1]||(p[1]=v=>o.value=v),placeholder:e.placeholder,type:e.type,onInput:u,onKeyup:c,onFocusout:p[2]||(p[2]=v=>h.$emit("focusout")),ref_key:"element",ref:f},null,40,r4),[[_c,o.value]])],2))}});const Zu=ot(i4,[["__scopeId","data-v-18a674c5"]]);var As=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function s4(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function b6(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var o=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:function(){return e[s]}})}),r}var Ea={exports:{}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */Ea.exports;(function(e,t){(function(){var r,s="4.17.21",o=200,l="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",u="Expected a function",c="Invalid `variable` option passed into `_.template`",f="__lodash_hash_undefined__",h=500,p="__lodash_placeholder__",v=1,m=2,A=4,C=1,S=2,D=1,O=2,k=4,M=8,E=16,T=32,H=64,U=128,N=256,j=512,K=30,q="...",G=800,V=16,w=1,I=2,F=3,x=1/0,_=9007199254740991,Y=17976931348623157e292,B=0/0,y=4294967295,Q=y-1,pe=y>>>1,xe=[["ary",U],["bind",D],["bindKey",O],["curry",M],["curryRight",E],["flip",j],["partial",T],["partialRight",H],["rearg",N]],_e="[object Arguments]",Oe="[object Array]",X="[object AsyncFunction]",oe="[object Boolean]",de="[object Date]",Ae="[object DOMException]",Re="[object Error]",R="[object Function]",$="[object GeneratorFunction]",z="[object Map]",re="[object Number]",ce="[object Null]",le="[object Object]",be="[object Promise]",ve="[object Proxy]",ye="[object RegExp]",fe="[object Set]",Se="[object String]",Ee="[object Symbol]",Ie="[object Undefined]",Le="[object WeakMap]",Ze="[object WeakSet]",rt="[object ArrayBuffer]",Xe="[object DataView]",vt="[object Float32Array]",Ft="[object Float64Array]",Dn="[object Int8Array]",di="[object Int16Array]",jn="[object Int32Array]",hi="[object Uint8Array]",It="[object Uint8ClampedArray]",Zt="[object Uint16Array]",pi="[object Uint32Array]",jv=/\b__p \+= '';/g,Kv=/\b(__p \+=) '' \+/g,zv=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Sc=/&(?:amp|lt|gt|quot|#39);/g,Oc=/[&<>"']/g,Zv=RegExp(Sc.source),Gv=RegExp(Oc.source),Yv=/<%-([\s\S]+?)%>/g,Jv=/<%([\s\S]+?)%>/g,Rc=/<%=([\s\S]+?)%>/g,Xv=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Qv=/^\w*$/,eg=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ja=/[\\^$.*+?()[\]{}|]/g,tg=RegExp(Ja.source),Xa=/^\s+/,ng=/\s/,rg=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ig=/\{\n\/\* \[wrapped with (.+)\] \*/,sg=/,? & /,og=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ag=/[()=,{}\[\]\/\s]/,lg=/\\(\\)?/g,ug=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Tc=/\w*$/,cg=/^[-+]0x[0-9a-f]+$/i,fg=/^0b[01]+$/i,dg=/^\[object .+?Constructor\]$/,hg=/^0o[0-7]+$/i,pg=/^(?:0|[1-9]\d*)$/,mg=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ro=/($^)/,vg=/['\n\r\u2028\u2029\\]/g,io="\\ud800-\\udfff",gg="\\u0300-\\u036f",yg="\\ufe20-\\ufe2f",_g="\\u20d0-\\u20ff",Ic=gg+yg+_g,Mc="\\u2700-\\u27bf",Lc="a-z\\xdf-\\xf6\\xf8-\\xff",bg="\\xac\\xb1\\xd7\\xf7",wg="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ag="\\u2000-\\u206f",xg=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",$c="A-Z\\xc0-\\xd6\\xd8-\\xde",Dc="\\ufe0e\\ufe0f",Bc=bg+wg+Ag+xg,Qa="['’]",Pg="["+io+"]",Nc="["+Bc+"]",so="["+Ic+"]",Wc="\\d+",Cg="["+Mc+"]",Vc="["+Lc+"]",Fc="[^"+io+Bc+Wc+Mc+Lc+$c+"]",el="\\ud83c[\\udffb-\\udfff]",Eg="(?:"+so+"|"+el+")",Hc="[^"+io+"]",tl="(?:\\ud83c[\\udde6-\\uddff]){2}",nl="[\\ud800-\\udbff][\\udc00-\\udfff]",mi="["+$c+"]",Uc="\\u200d",qc="(?:"+Vc+"|"+Fc+")",kg="(?:"+mi+"|"+Fc+")",jc="(?:"+Qa+"(?:d|ll|m|re|s|t|ve))?",Kc="(?:"+Qa+"(?:D|LL|M|RE|S|T|VE))?",zc=Eg+"?",Zc="["+Dc+"]?",Sg="(?:"+Uc+"(?:"+[Hc,tl,nl].join("|")+")"+Zc+zc+")*",Og="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Rg="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Gc=Zc+zc+Sg,Tg="(?:"+[Cg,tl,nl].join("|")+")"+Gc,Ig="(?:"+[Hc+so+"?",so,tl,nl,Pg].join("|")+")",Mg=RegExp(Qa,"g"),Lg=RegExp(so,"g"),rl=RegExp(el+"(?="+el+")|"+Ig+Gc,"g"),$g=RegExp([mi+"?"+Vc+"+"+jc+"(?="+[Nc,mi,"$"].join("|")+")",kg+"+"+Kc+"(?="+[Nc,mi+qc,"$"].join("|")+")",mi+"?"+qc+"+"+jc,mi+"+"+Kc,Rg,Og,Wc,Tg].join("|"),"g"),Dg=RegExp("["+Uc+io+Ic+Dc+"]"),Bg=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ng=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Wg=-1,pt={};pt[vt]=pt[Ft]=pt[Dn]=pt[di]=pt[jn]=pt[hi]=pt[It]=pt[Zt]=pt[pi]=!0,pt[_e]=pt[Oe]=pt[rt]=pt[oe]=pt[Xe]=pt[de]=pt[Re]=pt[R]=pt[z]=pt[re]=pt[le]=pt[ye]=pt[fe]=pt[Se]=pt[Le]=!1;var ht={};ht[_e]=ht[Oe]=ht[rt]=ht[Xe]=ht[oe]=ht[de]=ht[vt]=ht[Ft]=ht[Dn]=ht[di]=ht[jn]=ht[z]=ht[re]=ht[le]=ht[ye]=ht[fe]=ht[Se]=ht[Ee]=ht[hi]=ht[It]=ht[Zt]=ht[pi]=!0,ht[Re]=ht[R]=ht[Le]=!1;var Vg={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Fg={"&":"&","<":"<",">":">",'"':""","'":"'"},Hg={"&":"&","<":"<",">":">",""":'"',"'":"'"},Ug={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},qg=parseFloat,jg=parseInt,Yc=typeof ws=="object"&&ws&&ws.Object===Object&&ws,Kg=typeof self=="object"&&self&&self.Object===Object&&self,Mt=Yc||Kg||Function("return this")(),il=t&&!t.nodeType&&t,qr=il&&!0&&e&&!e.nodeType&&e,Jc=qr&&qr.exports===il,sl=Jc&&Yc.process,mn=function(){try{var Z=qr&&qr.require&&qr.require("util").types;return Z||sl&&sl.binding&&sl.binding("util")}catch{}}(),Xc=mn&&mn.isArrayBuffer,Qc=mn&&mn.isDate,ef=mn&&mn.isMap,tf=mn&&mn.isRegExp,nf=mn&&mn.isSet,rf=mn&&mn.isTypedArray;function sn(Z,ie,ee){switch(ee.length){case 0:return Z.call(ie);case 1:return Z.call(ie,ee[0]);case 2:return Z.call(ie,ee[0],ee[1]);case 3:return Z.call(ie,ee[0],ee[1],ee[2])}return Z.apply(ie,ee)}function zg(Z,ie,ee,Ce){for(var Fe=-1,it=Z==null?0:Z.length;++Fe-1}function ol(Z,ie,ee){for(var Ce=-1,Fe=Z==null?0:Z.length;++Ce-1;);return ee}function df(Z,ie){for(var ee=Z.length;ee--&&vi(ie,Z[ee],0)>-1;);return ee}function ny(Z,ie){for(var ee=Z.length,Ce=0;ee--;)Z[ee]===ie&&++Ce;return Ce}var ry=cl(Vg),iy=cl(Fg);function sy(Z){return"\\"+Ug[Z]}function oy(Z,ie){return Z==null?r:Z[ie]}function gi(Z){return Dg.test(Z)}function ay(Z){return Bg.test(Z)}function ly(Z){for(var ie,ee=[];!(ie=Z.next()).done;)ee.push(ie.value);return ee}function pl(Z){var ie=-1,ee=Array(Z.size);return Z.forEach(function(Ce,Fe){ee[++ie]=[Fe,Ce]}),ee}function hf(Z,ie){return function(ee){return Z(ie(ee))}}function hr(Z,ie){for(var ee=-1,Ce=Z.length,Fe=0,it=[];++ee-1}function Gy(n,i){var a=this.__data__,d=Po(a,n);return d<0?(++this.size,a.push([n,i])):a[d][1]=i,this}Kn.prototype.clear=jy,Kn.prototype.delete=Ky,Kn.prototype.get=zy,Kn.prototype.has=Zy,Kn.prototype.set=Gy;function zn(n){var i=-1,a=n==null?0:n.length;for(this.clear();++i=i?n:i)),n}function _n(n,i,a,d,g,P){var L,W=i&v,J=i&m,ae=i&A;if(a&&(L=g?a(n,d,g,P):a(n)),L!==r)return L;if(!At(n))return n;var ue=He(n);if(ue){if(L=Q_(n),!W)return Gt(n,L)}else{var he=Bt(n),we=he==R||he==$;if(_r(n))return Gf(n,W);if(he==le||he==_e||we&&!g){if(L=J||we?{}:pd(n),!W)return J?H_(n,f_(L,n)):F_(n,Cf(L,n))}else{if(!ht[he])return g?n:{};L=e1(n,he,W)}}P||(P=new Sn);var Te=P.get(n);if(Te)return Te;P.set(n,L),Ud(n)?n.forEach(function(De){L.add(_n(De,i,a,De,n,P))}):Fd(n)&&n.forEach(function(De,Ge){L.set(Ge,_n(De,i,a,Ge,n,P))});var $e=ae?J?Vl:Wl:J?Jt:Rt,qe=ue?r:$e(n);return vn(qe||n,function(De,Ge){qe&&(Ge=De,De=n[Ge]),os(L,Ge,_n(De,i,a,Ge,n,P))}),L}function d_(n){var i=Rt(n);return function(a){return Ef(a,n,i)}}function Ef(n,i,a){var d=a.length;if(n==null)return!d;for(n=dt(n);d--;){var g=a[d],P=i[g],L=n[g];if(L===r&&!(g in n)||!P(L))return!1}return!0}function kf(n,i,a){if(typeof n!="function")throw new gn(u);return hs(function(){n.apply(r,a)},i)}function as(n,i,a,d){var g=-1,P=oo,L=!0,W=n.length,J=[],ae=i.length;if(!W)return J;a&&(i=gt(i,on(a))),d?(P=ol,L=!1):i.length>=o&&(P=es,L=!1,i=new zr(i));e:for(;++gg?0:g+a),d=d===r||d>g?g:Ue(d),d<0&&(d+=g),d=a>d?0:jd(d);a0&&a(W)?i>1?Lt(W,i-1,a,d,g):dr(g,W):d||(g[g.length]=W)}return g}var wl=td(),Rf=td(!0);function Bn(n,i){return n&&wl(n,i,Rt)}function Al(n,i){return n&&Rf(n,i,Rt)}function Eo(n,i){return fr(i,function(a){return Xn(n[a])})}function Gr(n,i){i=gr(i,n);for(var a=0,d=i.length;n!=null&&ai}function m_(n,i){return n!=null&&at.call(n,i)}function v_(n,i){return n!=null&&i in dt(n)}function g_(n,i,a){return n>=Dt(i,a)&&n=120&&ue.length>=120)?new zr(L&&ue):r}ue=n[0];var he=-1,we=W[0];e:for(;++he-1;)W!==n&&go.call(W,J,1),go.call(n,J,1);return n}function Ff(n,i){for(var a=n?i.length:0,d=a-1;a--;){var g=i[a];if(a==d||g!==P){var P=g;Jn(g)?go.call(n,g,1):Il(n,g)}}return n}function Ol(n,i){return n+bo(wf()*(i-n+1))}function R_(n,i,a,d){for(var g=-1,P=St(_o((i-n)/(a||1)),0),L=ee(P);P--;)L[d?P:++g]=n,n+=a;return L}function Rl(n,i){var a="";if(!n||i<1||i>_)return a;do i%2&&(a+=n),i=bo(i/2),i&&(n+=n);while(i);return a}function Ke(n,i){return zl(gd(n,i,Xt),n+"")}function T_(n){return Pf(Si(n))}function I_(n,i){var a=Si(n);return Bo(a,Zr(i,0,a.length))}function cs(n,i,a,d){if(!At(n))return n;i=gr(i,n);for(var g=-1,P=i.length,L=P-1,W=n;W!=null&&++gg?0:g+i),a=a>g?g:a,a<0&&(a+=g),g=i>a?0:a-i>>>0,i>>>=0;for(var P=ee(g);++d>>1,L=n[P];L!==null&&!ln(L)&&(a?L<=i:L=o){var ae=i?null:K_(n);if(ae)return lo(ae);L=!1,g=es,J=new zr}else J=i?[]:W;e:for(;++d=d?n:bn(n,i,a)}var Zf=xy||function(n){return Mt.clearTimeout(n)};function Gf(n,i){if(i)return n.slice();var a=n.length,d=vf?vf(a):new n.constructor(a);return n.copy(d),d}function Dl(n){var i=new n.constructor(n.byteLength);return new mo(i).set(new mo(n)),i}function B_(n,i){var a=i?Dl(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.byteLength)}function N_(n){var i=new n.constructor(n.source,Tc.exec(n));return i.lastIndex=n.lastIndex,i}function W_(n){return ss?dt(ss.call(n)):{}}function Yf(n,i){var a=i?Dl(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.length)}function Jf(n,i){if(n!==i){var a=n!==r,d=n===null,g=n===n,P=ln(n),L=i!==r,W=i===null,J=i===i,ae=ln(i);if(!W&&!ae&&!P&&n>i||P&&L&&J&&!W&&!ae||d&&L&&J||!a&&J||!g)return 1;if(!d&&!P&&!ae&&n=W)return J;var ae=a[d];return J*(ae=="desc"?-1:1)}}return n.index-i.index}function Xf(n,i,a,d){for(var g=-1,P=n.length,L=a.length,W=-1,J=i.length,ae=St(P-L,0),ue=ee(J+ae),he=!d;++W1?a[g-1]:r,L=g>2?a[2]:r;for(P=n.length>3&&typeof P=="function"?(g--,P):r,L&&Ut(a[0],a[1],L)&&(P=g<3?r:P,g=1),i=dt(i);++d-1?g[P?i[L]:L]:r}}function id(n){return Yn(function(i){var a=i.length,d=a,g=yn.prototype.thru;for(n&&i.reverse();d--;){var P=i[d];if(typeof P!="function")throw new gn(u);if(g&&!L&&$o(P)=="wrapper")var L=new yn([],!0)}for(d=L?d:a;++d1&&Qe.reverse(),ue&&JW))return!1;var ae=P.get(n),ue=P.get(i);if(ae&&ue)return ae==i&&ue==n;var he=-1,we=!0,Te=a&S?new zr:r;for(P.set(n,i),P.set(i,n);++he1?"& ":"")+i[d],i=i.join(a>2?", ":" "),n.replace(rg,`{ + */Ea.exports;(function(e,t){(function(){var r,s="4.17.21",o=200,l="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",u="Expected a function",c="Invalid `variable` option passed into `_.template`",f="__lodash_hash_undefined__",h=500,p="__lodash_placeholder__",v=1,m=2,A=4,C=1,S=2,D=1,O=2,k=4,M=8,E=16,T=32,H=64,U=128,N=256,j=512,K=30,q="...",G=800,V=16,w=1,I=2,F=3,x=1/0,_=9007199254740991,Y=17976931348623157e292,B=0/0,y=4294967295,Q=y-1,pe=y>>>1,xe=[["ary",U],["bind",D],["bindKey",O],["curry",M],["curryRight",E],["flip",j],["partial",T],["partialRight",H],["rearg",N]],_e="[object Arguments]",Oe="[object Array]",X="[object AsyncFunction]",oe="[object Boolean]",de="[object Date]",Ae="[object DOMException]",Re="[object Error]",R="[object Function]",$="[object GeneratorFunction]",z="[object Map]",re="[object Number]",ce="[object Null]",le="[object Object]",be="[object Promise]",ve="[object Proxy]",ye="[object RegExp]",fe="[object Set]",Se="[object String]",Ee="[object Symbol]",Ie="[object Undefined]",Le="[object WeakMap]",Ze="[object WeakSet]",rt="[object ArrayBuffer]",Xe="[object DataView]",vt="[object Float32Array]",Ft="[object Float64Array]",Dn="[object Int8Array]",di="[object Int16Array]",jn="[object Int32Array]",hi="[object Uint8Array]",It="[object Uint8ClampedArray]",Zt="[object Uint16Array]",pi="[object Uint32Array]",jv=/\b__p \+= '';/g,Kv=/\b(__p \+=) '' \+/g,zv=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Sc=/&(?:amp|lt|gt|quot|#39);/g,Oc=/[&<>"']/g,Zv=RegExp(Sc.source),Gv=RegExp(Oc.source),Yv=/<%-([\s\S]+?)%>/g,Jv=/<%([\s\S]+?)%>/g,Rc=/<%=([\s\S]+?)%>/g,Xv=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Qv=/^\w*$/,eg=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ja=/[\\^$.*+?()[\]{}|]/g,tg=RegExp(Ja.source),Xa=/^\s+/,ng=/\s/,rg=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ig=/\{\n\/\* \[wrapped with (.+)\] \*/,sg=/,? & /,og=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ag=/[()=,{}\[\]\/\s]/,lg=/\\(\\)?/g,ug=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Tc=/\w*$/,cg=/^[-+]0x[0-9a-f]+$/i,fg=/^0b[01]+$/i,dg=/^\[object .+?Constructor\]$/,hg=/^0o[0-7]+$/i,pg=/^(?:0|[1-9]\d*)$/,mg=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,ro=/($^)/,vg=/['\n\r\u2028\u2029\\]/g,io="\\ud800-\\udfff",gg="\\u0300-\\u036f",yg="\\ufe20-\\ufe2f",_g="\\u20d0-\\u20ff",Ic=gg+yg+_g,Mc="\\u2700-\\u27bf",Lc="a-z\\xdf-\\xf6\\xf8-\\xff",bg="\\xac\\xb1\\xd7\\xf7",wg="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ag="\\u2000-\\u206f",xg=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",$c="A-Z\\xc0-\\xd6\\xd8-\\xde",Dc="\\ufe0e\\ufe0f",Bc=bg+wg+Ag+xg,Qa="['’]",Pg="["+io+"]",Nc="["+Bc+"]",so="["+Ic+"]",Wc="\\d+",Cg="["+Mc+"]",Vc="["+Lc+"]",Fc="[^"+io+Bc+Wc+Mc+Lc+$c+"]",el="\\ud83c[\\udffb-\\udfff]",Eg="(?:"+so+"|"+el+")",Hc="[^"+io+"]",tl="(?:\\ud83c[\\udde6-\\uddff]){2}",nl="[\\ud800-\\udbff][\\udc00-\\udfff]",mi="["+$c+"]",Uc="\\u200d",qc="(?:"+Vc+"|"+Fc+")",kg="(?:"+mi+"|"+Fc+")",jc="(?:"+Qa+"(?:d|ll|m|re|s|t|ve))?",Kc="(?:"+Qa+"(?:D|LL|M|RE|S|T|VE))?",zc=Eg+"?",Zc="["+Dc+"]?",Sg="(?:"+Uc+"(?:"+[Hc,tl,nl].join("|")+")"+Zc+zc+")*",Og="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Rg="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Gc=Zc+zc+Sg,Tg="(?:"+[Cg,tl,nl].join("|")+")"+Gc,Ig="(?:"+[Hc+so+"?",so,tl,nl,Pg].join("|")+")",Mg=RegExp(Qa,"g"),Lg=RegExp(so,"g"),rl=RegExp(el+"(?="+el+")|"+Ig+Gc,"g"),$g=RegExp([mi+"?"+Vc+"+"+jc+"(?="+[Nc,mi,"$"].join("|")+")",kg+"+"+Kc+"(?="+[Nc,mi+qc,"$"].join("|")+")",mi+"?"+qc+"+"+jc,mi+"+"+Kc,Rg,Og,Wc,Tg].join("|"),"g"),Dg=RegExp("["+Uc+io+Ic+Dc+"]"),Bg=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ng=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Wg=-1,pt={};pt[vt]=pt[Ft]=pt[Dn]=pt[di]=pt[jn]=pt[hi]=pt[It]=pt[Zt]=pt[pi]=!0,pt[_e]=pt[Oe]=pt[rt]=pt[oe]=pt[Xe]=pt[de]=pt[Re]=pt[R]=pt[z]=pt[re]=pt[le]=pt[ye]=pt[fe]=pt[Se]=pt[Le]=!1;var ht={};ht[_e]=ht[Oe]=ht[rt]=ht[Xe]=ht[oe]=ht[de]=ht[vt]=ht[Ft]=ht[Dn]=ht[di]=ht[jn]=ht[z]=ht[re]=ht[le]=ht[ye]=ht[fe]=ht[Se]=ht[Ee]=ht[hi]=ht[It]=ht[Zt]=ht[pi]=!0,ht[Re]=ht[R]=ht[Le]=!1;var Vg={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Fg={"&":"&","<":"<",">":">",'"':""","'":"'"},Hg={"&":"&","<":"<",">":">",""":'"',"'":"'"},Ug={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},qg=parseFloat,jg=parseInt,Yc=typeof As=="object"&&As&&As.Object===Object&&As,Kg=typeof self=="object"&&self&&self.Object===Object&&self,Mt=Yc||Kg||Function("return this")(),il=t&&!t.nodeType&&t,qr=il&&!0&&e&&!e.nodeType&&e,Jc=qr&&qr.exports===il,sl=Jc&&Yc.process,mn=function(){try{var Z=qr&&qr.require&&qr.require("util").types;return Z||sl&&sl.binding&&sl.binding("util")}catch{}}(),Xc=mn&&mn.isArrayBuffer,Qc=mn&&mn.isDate,ef=mn&&mn.isMap,tf=mn&&mn.isRegExp,nf=mn&&mn.isSet,rf=mn&&mn.isTypedArray;function sn(Z,ie,ee){switch(ee.length){case 0:return Z.call(ie);case 1:return Z.call(ie,ee[0]);case 2:return Z.call(ie,ee[0],ee[1]);case 3:return Z.call(ie,ee[0],ee[1],ee[2])}return Z.apply(ie,ee)}function zg(Z,ie,ee,Ce){for(var Fe=-1,it=Z==null?0:Z.length;++Fe-1}function ol(Z,ie,ee){for(var Ce=-1,Fe=Z==null?0:Z.length;++Ce-1;);return ee}function df(Z,ie){for(var ee=Z.length;ee--&&vi(ie,Z[ee],0)>-1;);return ee}function ny(Z,ie){for(var ee=Z.length,Ce=0;ee--;)Z[ee]===ie&&++Ce;return Ce}var ry=cl(Vg),iy=cl(Fg);function sy(Z){return"\\"+Ug[Z]}function oy(Z,ie){return Z==null?r:Z[ie]}function gi(Z){return Dg.test(Z)}function ay(Z){return Bg.test(Z)}function ly(Z){for(var ie,ee=[];!(ie=Z.next()).done;)ee.push(ie.value);return ee}function pl(Z){var ie=-1,ee=Array(Z.size);return Z.forEach(function(Ce,Fe){ee[++ie]=[Fe,Ce]}),ee}function hf(Z,ie){return function(ee){return Z(ie(ee))}}function hr(Z,ie){for(var ee=-1,Ce=Z.length,Fe=0,it=[];++ee-1}function Gy(n,i){var a=this.__data__,d=Po(a,n);return d<0?(++this.size,a.push([n,i])):a[d][1]=i,this}Kn.prototype.clear=jy,Kn.prototype.delete=Ky,Kn.prototype.get=zy,Kn.prototype.has=Zy,Kn.prototype.set=Gy;function zn(n){var i=-1,a=n==null?0:n.length;for(this.clear();++i=i?n:i)),n}function _n(n,i,a,d,g,P){var L,W=i&v,J=i&m,ae=i&A;if(a&&(L=g?a(n,d,g,P):a(n)),L!==r)return L;if(!At(n))return n;var ue=He(n);if(ue){if(L=Q_(n),!W)return Gt(n,L)}else{var he=Bt(n),we=he==R||he==$;if(_r(n))return Gf(n,W);if(he==le||he==_e||we&&!g){if(L=J||we?{}:pd(n),!W)return J?H_(n,f_(L,n)):F_(n,Cf(L,n))}else{if(!ht[he])return g?n:{};L=e1(n,he,W)}}P||(P=new Sn);var Te=P.get(n);if(Te)return Te;P.set(n,L),Ud(n)?n.forEach(function(De){L.add(_n(De,i,a,De,n,P))}):Fd(n)&&n.forEach(function(De,Ge){L.set(Ge,_n(De,i,a,Ge,n,P))});var $e=ae?J?Vl:Wl:J?Jt:Rt,qe=ue?r:$e(n);return vn(qe||n,function(De,Ge){qe&&(Ge=De,De=n[Ge]),as(L,Ge,_n(De,i,a,Ge,n,P))}),L}function d_(n){var i=Rt(n);return function(a){return Ef(a,n,i)}}function Ef(n,i,a){var d=a.length;if(n==null)return!d;for(n=dt(n);d--;){var g=a[d],P=i[g],L=n[g];if(L===r&&!(g in n)||!P(L))return!1}return!0}function kf(n,i,a){if(typeof n!="function")throw new gn(u);return ps(function(){n.apply(r,a)},i)}function ls(n,i,a,d){var g=-1,P=oo,L=!0,W=n.length,J=[],ae=i.length;if(!W)return J;a&&(i=gt(i,on(a))),d?(P=ol,L=!1):i.length>=o&&(P=ts,L=!1,i=new zr(i));e:for(;++gg?0:g+a),d=d===r||d>g?g:Ue(d),d<0&&(d+=g),d=a>d?0:jd(d);a0&&a(W)?i>1?Lt(W,i-1,a,d,g):dr(g,W):d||(g[g.length]=W)}return g}var wl=td(),Rf=td(!0);function Bn(n,i){return n&&wl(n,i,Rt)}function Al(n,i){return n&&Rf(n,i,Rt)}function Eo(n,i){return fr(i,function(a){return Xn(n[a])})}function Gr(n,i){i=gr(i,n);for(var a=0,d=i.length;n!=null&&ai}function m_(n,i){return n!=null&&at.call(n,i)}function v_(n,i){return n!=null&&i in dt(n)}function g_(n,i,a){return n>=Dt(i,a)&&n=120&&ue.length>=120)?new zr(L&&ue):r}ue=n[0];var he=-1,we=W[0];e:for(;++he-1;)W!==n&&go.call(W,J,1),go.call(n,J,1);return n}function Ff(n,i){for(var a=n?i.length:0,d=a-1;a--;){var g=i[a];if(a==d||g!==P){var P=g;Jn(g)?go.call(n,g,1):Il(n,g)}}return n}function Ol(n,i){return n+bo(wf()*(i-n+1))}function R_(n,i,a,d){for(var g=-1,P=St(_o((i-n)/(a||1)),0),L=ee(P);P--;)L[d?P:++g]=n,n+=a;return L}function Rl(n,i){var a="";if(!n||i<1||i>_)return a;do i%2&&(a+=n),i=bo(i/2),i&&(n+=n);while(i);return a}function Ke(n,i){return zl(gd(n,i,Xt),n+"")}function T_(n){return Pf(Si(n))}function I_(n,i){var a=Si(n);return Bo(a,Zr(i,0,a.length))}function fs(n,i,a,d){if(!At(n))return n;i=gr(i,n);for(var g=-1,P=i.length,L=P-1,W=n;W!=null&&++gg?0:g+i),a=a>g?g:a,a<0&&(a+=g),g=i>a?0:a-i>>>0,i>>>=0;for(var P=ee(g);++d>>1,L=n[P];L!==null&&!ln(L)&&(a?L<=i:L=o){var ae=i?null:K_(n);if(ae)return lo(ae);L=!1,g=ts,J=new zr}else J=i?[]:W;e:for(;++d=d?n:bn(n,i,a)}var Zf=xy||function(n){return Mt.clearTimeout(n)};function Gf(n,i){if(i)return n.slice();var a=n.length,d=vf?vf(a):new n.constructor(a);return n.copy(d),d}function Dl(n){var i=new n.constructor(n.byteLength);return new mo(i).set(new mo(n)),i}function B_(n,i){var a=i?Dl(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.byteLength)}function N_(n){var i=new n.constructor(n.source,Tc.exec(n));return i.lastIndex=n.lastIndex,i}function W_(n){return os?dt(os.call(n)):{}}function Yf(n,i){var a=i?Dl(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.length)}function Jf(n,i){if(n!==i){var a=n!==r,d=n===null,g=n===n,P=ln(n),L=i!==r,W=i===null,J=i===i,ae=ln(i);if(!W&&!ae&&!P&&n>i||P&&L&&J&&!W&&!ae||d&&L&&J||!a&&J||!g)return 1;if(!d&&!P&&!ae&&n=W)return J;var ae=a[d];return J*(ae=="desc"?-1:1)}}return n.index-i.index}function Xf(n,i,a,d){for(var g=-1,P=n.length,L=a.length,W=-1,J=i.length,ae=St(P-L,0),ue=ee(J+ae),he=!d;++W1?a[g-1]:r,L=g>2?a[2]:r;for(P=n.length>3&&typeof P=="function"?(g--,P):r,L&&Ut(a[0],a[1],L)&&(P=g<3?r:P,g=1),i=dt(i);++d-1?g[P?i[L]:L]:r}}function id(n){return Yn(function(i){var a=i.length,d=a,g=yn.prototype.thru;for(n&&i.reverse();d--;){var P=i[d];if(typeof P!="function")throw new gn(u);if(g&&!L&&$o(P)=="wrapper")var L=new yn([],!0)}for(d=L?d:a;++d1&&Qe.reverse(),ue&&JW))return!1;var ae=P.get(n),ue=P.get(i);if(ae&&ue)return ae==i&&ue==n;var he=-1,we=!0,Te=a&S?new zr:r;for(P.set(n,i),P.set(i,n);++he1?"& ":"")+i[d],i=i.join(a>2?", ":" "),n.replace(rg,`{ /* [wrapped with `+i+`] */ -`)}function n1(n){return He(n)||Xr(n)||!!(_f&&n&&n[_f])}function Jn(n,i){var a=typeof n;return i=i??_,!!i&&(a=="number"||a!="symbol"&&pg.test(n))&&n>-1&&n%1==0&&n0){if(++i>=G)return arguments[0]}else i=0;return n.apply(r,arguments)}}function Bo(n,i){var a=-1,d=n.length,g=d-1;for(i=i===r?d:i;++a1?n[i-1]:r;return a=typeof a=="function"?(n.pop(),a):r,Od(n,a)});function Rd(n){var i=b(n);return i.__chain__=!0,i}function h0(n,i){return i(n),n}function No(n,i){return i(n)}var p0=Yn(function(n){var i=n.length,a=i?n[0]:0,d=this.__wrapped__,g=function(P){return bl(P,n)};return i>1||this.__actions__.length||!(d instanceof Ye)||!Jn(a)?this.thru(g):(d=d.slice(a,+a+(i?1:0)),d.__actions__.push({func:No,args:[g],thisArg:r}),new yn(d,this.__chain__).thru(function(P){return i&&!P.length&&P.push(r),P}))});function m0(){return Rd(this)}function v0(){return new yn(this.value(),this.__chain__)}function g0(){this.__values__===r&&(this.__values__=qd(this.value()));var n=this.__index__>=this.__values__.length,i=n?r:this.__values__[this.__index__++];return{done:n,value:i}}function y0(){return this}function _0(n){for(var i,a=this;a instanceof xo;){var d=xd(a);d.__index__=0,d.__values__=r,i?g.__wrapped__=d:i=d;var g=d;a=a.__wrapped__}return g.__wrapped__=n,i}function b0(){var n=this.__wrapped__;if(n instanceof Ye){var i=n;return this.__actions__.length&&(i=new Ye(this)),i=i.reverse(),i.__actions__.push({func:No,args:[Zl],thisArg:r}),new yn(i,this.__chain__)}return this.thru(Zl)}function w0(){return Kf(this.__wrapped__,this.__actions__)}var A0=Ro(function(n,i,a){at.call(n,a)?++n[a]:Zn(n,a,1)});function x0(n,i,a){var d=He(n)?sf:h_;return a&&Ut(n,i,a)&&(i=r),d(n,Me(i,3))}function P0(n,i){var a=He(n)?fr:Of;return a(n,Me(i,3))}var C0=rd(Pd),E0=rd(Cd);function k0(n,i){return Lt(Wo(n,i),1)}function S0(n,i){return Lt(Wo(n,i),x)}function O0(n,i,a){return a=a===r?1:Ue(a),Lt(Wo(n,i),a)}function Td(n,i){var a=He(n)?vn:mr;return a(n,Me(i,3))}function Id(n,i){var a=He(n)?Zg:Sf;return a(n,Me(i,3))}var R0=Ro(function(n,i,a){at.call(n,a)?n[a].push(i):Zn(n,a,[i])});function T0(n,i,a,d){n=Yt(n)?n:Si(n),a=a&&!d?Ue(a):0;var g=n.length;return a<0&&(a=St(g+a,0)),qo(n)?a<=g&&n.indexOf(i,a)>-1:!!g&&vi(n,i,a)>-1}var I0=Ke(function(n,i,a){var d=-1,g=typeof i=="function",P=Yt(n)?ee(n.length):[];return mr(n,function(L){P[++d]=g?sn(i,L,a):ls(L,i,a)}),P}),M0=Ro(function(n,i,a){Zn(n,a,i)});function Wo(n,i){var a=He(n)?gt:$f;return a(n,Me(i,3))}function L0(n,i,a,d){return n==null?[]:(He(i)||(i=i==null?[]:[i]),a=d?r:a,He(a)||(a=a==null?[]:[a]),Wf(n,i,a))}var $0=Ro(function(n,i,a){n[a?0:1].push(i)},function(){return[[],[]]});function D0(n,i,a){var d=He(n)?al:uf,g=arguments.length<3;return d(n,Me(i,4),a,g,mr)}function B0(n,i,a){var d=He(n)?Gg:uf,g=arguments.length<3;return d(n,Me(i,4),a,g,Sf)}function N0(n,i){var a=He(n)?fr:Of;return a(n,Ho(Me(i,3)))}function W0(n){var i=He(n)?Pf:T_;return i(n)}function V0(n,i,a){(a?Ut(n,i,a):i===r)?i=1:i=Ue(i);var d=He(n)?l_:I_;return d(n,i)}function F0(n){var i=He(n)?u_:L_;return i(n)}function H0(n){if(n==null)return 0;if(Yt(n))return qo(n)?yi(n):n.length;var i=Bt(n);return i==z||i==fe?n.size:El(n).length}function U0(n,i,a){var d=He(n)?ll:$_;return a&&Ut(n,i,a)&&(i=r),d(n,Me(i,3))}var q0=Ke(function(n,i){if(n==null)return[];var a=i.length;return a>1&&Ut(n,i[0],i[1])?i=[]:a>2&&Ut(i[0],i[1],i[2])&&(i=[i[0]]),Wf(n,Lt(i,1),[])}),Vo=Py||function(){return Mt.Date.now()};function j0(n,i){if(typeof i!="function")throw new gn(u);return n=Ue(n),function(){if(--n<1)return i.apply(this,arguments)}}function Md(n,i,a){return i=a?r:i,i=n&&i==null?n.length:i,Gn(n,U,r,r,r,r,i)}function Ld(n,i){var a;if(typeof i!="function")throw new gn(u);return n=Ue(n),function(){return--n>0&&(a=i.apply(this,arguments)),n<=1&&(i=r),a}}var Yl=Ke(function(n,i,a){var d=D;if(a.length){var g=hr(a,Ei(Yl));d|=T}return Gn(n,d,i,a,g)}),$d=Ke(function(n,i,a){var d=D|O;if(a.length){var g=hr(a,Ei($d));d|=T}return Gn(i,d,n,a,g)});function Dd(n,i,a){i=a?r:i;var d=Gn(n,M,r,r,r,r,r,i);return d.placeholder=Dd.placeholder,d}function Bd(n,i,a){i=a?r:i;var d=Gn(n,E,r,r,r,r,r,i);return d.placeholder=Bd.placeholder,d}function Nd(n,i,a){var d,g,P,L,W,J,ae=0,ue=!1,he=!1,we=!0;if(typeof n!="function")throw new gn(u);i=An(i)||0,At(a)&&(ue=!!a.leading,he="maxWait"in a,P=he?St(An(a.maxWait)||0,i):P,we="trailing"in a?!!a.trailing:we);function Te(Ct){var Rn=d,er=g;return d=g=r,ae=Ct,L=n.apply(er,Rn),L}function $e(Ct){return ae=Ct,W=hs(Ge,i),ue?Te(Ct):L}function qe(Ct){var Rn=Ct-J,er=Ct-ae,rh=i-Rn;return he?Dt(rh,P-er):rh}function De(Ct){var Rn=Ct-J,er=Ct-ae;return J===r||Rn>=i||Rn<0||he&&er>=P}function Ge(){var Ct=Vo();if(De(Ct))return Qe(Ct);W=hs(Ge,qe(Ct))}function Qe(Ct){return W=r,we&&d?Te(Ct):(d=g=r,L)}function un(){W!==r&&Zf(W),ae=0,d=J=g=W=r}function qt(){return W===r?L:Qe(Vo())}function cn(){var Ct=Vo(),Rn=De(Ct);if(d=arguments,g=this,J=Ct,Rn){if(W===r)return $e(J);if(he)return Zf(W),W=hs(Ge,i),Te(J)}return W===r&&(W=hs(Ge,i)),L}return cn.cancel=un,cn.flush=qt,cn}var K0=Ke(function(n,i){return kf(n,1,i)}),z0=Ke(function(n,i,a){return kf(n,An(i)||0,a)});function Z0(n){return Gn(n,j)}function Fo(n,i){if(typeof n!="function"||i!=null&&typeof i!="function")throw new gn(u);var a=function(){var d=arguments,g=i?i.apply(this,d):d[0],P=a.cache;if(P.has(g))return P.get(g);var L=n.apply(this,d);return a.cache=P.set(g,L)||P,L};return a.cache=new(Fo.Cache||zn),a}Fo.Cache=zn;function Ho(n){if(typeof n!="function")throw new gn(u);return function(){var i=arguments;switch(i.length){case 0:return!n.call(this);case 1:return!n.call(this,i[0]);case 2:return!n.call(this,i[0],i[1]);case 3:return!n.call(this,i[0],i[1],i[2])}return!n.apply(this,i)}}function G0(n){return Ld(2,n)}var Y0=D_(function(n,i){i=i.length==1&&He(i[0])?gt(i[0],on(Me())):gt(Lt(i,1),on(Me()));var a=i.length;return Ke(function(d){for(var g=-1,P=Dt(d.length,a);++g=i}),Xr=If(function(){return arguments}())?If:function(n){return xt(n)&&at.call(n,"callee")&&!yf.call(n,"callee")},He=ee.isArray,fb=Xc?on(Xc):__;function Yt(n){return n!=null&&Uo(n.length)&&!Xn(n)}function Pt(n){return xt(n)&&Yt(n)}function db(n){return n===!0||n===!1||xt(n)&&Ht(n)==oe}var _r=Ey||lu,hb=Qc?on(Qc):b_;function pb(n){return xt(n)&&n.nodeType===1&&!ps(n)}function mb(n){if(n==null)return!0;if(Yt(n)&&(He(n)||typeof n=="string"||typeof n.splice=="function"||_r(n)||ki(n)||Xr(n)))return!n.length;var i=Bt(n);if(i==z||i==fe)return!n.size;if(ds(n))return!El(n).length;for(var a in n)if(at.call(n,a))return!1;return!0}function vb(n,i){return us(n,i)}function gb(n,i,a){a=typeof a=="function"?a:r;var d=a?a(n,i):r;return d===r?us(n,i,r,a):!!d}function Xl(n){if(!xt(n))return!1;var i=Ht(n);return i==Re||i==Ae||typeof n.message=="string"&&typeof n.name=="string"&&!ps(n)}function yb(n){return typeof n=="number"&&bf(n)}function Xn(n){if(!At(n))return!1;var i=Ht(n);return i==R||i==$||i==X||i==ve}function Vd(n){return typeof n=="number"&&n==Ue(n)}function Uo(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=_}function At(n){var i=typeof n;return n!=null&&(i=="object"||i=="function")}function xt(n){return n!=null&&typeof n=="object"}var Fd=ef?on(ef):A_;function _b(n,i){return n===i||Cl(n,i,Hl(i))}function bb(n,i,a){return a=typeof a=="function"?a:r,Cl(n,i,Hl(i),a)}function wb(n){return Hd(n)&&n!=+n}function Ab(n){if(s1(n))throw new Fe(l);return Mf(n)}function xb(n){return n===null}function Pb(n){return n==null}function Hd(n){return typeof n=="number"||xt(n)&&Ht(n)==re}function ps(n){if(!xt(n)||Ht(n)!=le)return!1;var i=vo(n);if(i===null)return!0;var a=at.call(i,"constructor")&&i.constructor;return typeof a=="function"&&a instanceof a&&fo.call(a)==by}var Ql=tf?on(tf):x_;function Cb(n){return Vd(n)&&n>=-_&&n<=_}var Ud=nf?on(nf):P_;function qo(n){return typeof n=="string"||!He(n)&&xt(n)&&Ht(n)==Se}function ln(n){return typeof n=="symbol"||xt(n)&&Ht(n)==Ee}var ki=rf?on(rf):C_;function Eb(n){return n===r}function kb(n){return xt(n)&&Bt(n)==Le}function Sb(n){return xt(n)&&Ht(n)==Ze}var Ob=Lo(kl),Rb=Lo(function(n,i){return n<=i});function qd(n){if(!n)return[];if(Yt(n))return qo(n)?kn(n):Gt(n);if(ts&&n[ts])return ly(n[ts]());var i=Bt(n),a=i==z?pl:i==fe?lo:Si;return a(n)}function Qn(n){if(!n)return n===0?n:0;if(n=An(n),n===x||n===-x){var i=n<0?-1:1;return i*Y}return n===n?n:0}function Ue(n){var i=Qn(n),a=i%1;return i===i?a?i-a:i:0}function jd(n){return n?Zr(Ue(n),0,y):0}function An(n){if(typeof n=="number")return n;if(ln(n))return B;if(At(n)){var i=typeof n.valueOf=="function"?n.valueOf():n;n=At(i)?i+"":i}if(typeof n!="string")return n===0?n:+n;n=cf(n);var a=fg.test(n);return a||hg.test(n)?jg(n.slice(2),a?2:8):cg.test(n)?B:+n}function Kd(n){return Nn(n,Jt(n))}function Tb(n){return n?Zr(Ue(n),-_,_):n===0?n:0}function st(n){return n==null?"":an(n)}var Ib=Pi(function(n,i){if(ds(i)||Yt(i)){Nn(i,Rt(i),n);return}for(var a in i)at.call(i,a)&&os(n,a,i[a])}),zd=Pi(function(n,i){Nn(i,Jt(i),n)}),jo=Pi(function(n,i,a,d){Nn(i,Jt(i),n,d)}),Mb=Pi(function(n,i,a,d){Nn(i,Rt(i),n,d)}),Lb=Yn(bl);function $b(n,i){var a=xi(n);return i==null?a:Cf(a,i)}var Db=Ke(function(n,i){n=dt(n);var a=-1,d=i.length,g=d>2?i[2]:r;for(g&&Ut(i[0],i[1],g)&&(d=1);++a1),P}),Nn(n,Vl(n),a),d&&(a=_n(a,v|m|A,z_));for(var g=i.length;g--;)Il(a,i[g]);return a});function ew(n,i){return Gd(n,Ho(Me(i)))}var tw=Yn(function(n,i){return n==null?{}:S_(n,i)});function Gd(n,i){if(n==null)return{};var a=gt(Vl(n),function(d){return[d]});return i=Me(i),Vf(n,a,function(d,g){return i(d,g[0])})}function nw(n,i,a){i=gr(i,n);var d=-1,g=i.length;for(g||(g=1,n=r);++di){var d=n;n=i,i=d}if(a||n%1||i%1){var g=wf();return Dt(n+g*(i-n+qg("1e-"+((g+"").length-1))),i)}return Ol(n,i)}var hw=Ci(function(n,i,a){return i=i.toLowerCase(),n+(a?Xd(i):i)});function Xd(n){return nu(st(n).toLowerCase())}function Qd(n){return n=st(n),n&&n.replace(mg,ry).replace(Lg,"")}function pw(n,i,a){n=st(n),i=an(i);var d=n.length;a=a===r?d:Zr(Ue(a),0,d);var g=a;return a-=i.length,a>=0&&n.slice(a,g)==i}function mw(n){return n=st(n),n&&Gv.test(n)?n.replace(Oc,iy):n}function vw(n){return n=st(n),n&&tg.test(n)?n.replace(Ja,"\\$&"):n}var gw=Ci(function(n,i,a){return n+(a?"-":"")+i.toLowerCase()}),yw=Ci(function(n,i,a){return n+(a?" ":"")+i.toLowerCase()}),_w=nd("toLowerCase");function bw(n,i,a){n=st(n),i=Ue(i);var d=i?yi(n):0;if(!i||d>=i)return n;var g=(i-d)/2;return Mo(bo(g),a)+n+Mo(_o(g),a)}function ww(n,i,a){n=st(n),i=Ue(i);var d=i?yi(n):0;return i&&d>>0,a?(n=st(n),n&&(typeof i=="string"||i!=null&&!Ql(i))&&(i=an(i),!i&&gi(n))?yr(kn(n),0,a):n.split(i,a)):[]}var Sw=Ci(function(n,i,a){return n+(a?" ":"")+nu(i)});function Ow(n,i,a){return n=st(n),a=a==null?0:Zr(Ue(a),0,n.length),i=an(i),n.slice(a,a+i.length)==i}function Rw(n,i,a){var d=b.templateSettings;a&&Ut(n,i,a)&&(i=r),n=st(n),i=jo({},i,d,ud);var g=jo({},i.imports,d.imports,ud),P=Rt(g),L=hl(g,P),W,J,ae=0,ue=i.interpolate||ro,he="__p += '",we=ml((i.escape||ro).source+"|"+ue.source+"|"+(ue===Rc?ug:ro).source+"|"+(i.evaluate||ro).source+"|$","g"),Te="//# sourceURL="+(at.call(i,"sourceURL")?(i.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Wg+"]")+` +`)}function n1(n){return He(n)||Xr(n)||!!(_f&&n&&n[_f])}function Jn(n,i){var a=typeof n;return i=i??_,!!i&&(a=="number"||a!="symbol"&&pg.test(n))&&n>-1&&n%1==0&&n0){if(++i>=G)return arguments[0]}else i=0;return n.apply(r,arguments)}}function Bo(n,i){var a=-1,d=n.length,g=d-1;for(i=i===r?d:i;++a1?n[i-1]:r;return a=typeof a=="function"?(n.pop(),a):r,Od(n,a)});function Rd(n){var i=b(n);return i.__chain__=!0,i}function h0(n,i){return i(n),n}function No(n,i){return i(n)}var p0=Yn(function(n){var i=n.length,a=i?n[0]:0,d=this.__wrapped__,g=function(P){return bl(P,n)};return i>1||this.__actions__.length||!(d instanceof Ye)||!Jn(a)?this.thru(g):(d=d.slice(a,+a+(i?1:0)),d.__actions__.push({func:No,args:[g],thisArg:r}),new yn(d,this.__chain__).thru(function(P){return i&&!P.length&&P.push(r),P}))});function m0(){return Rd(this)}function v0(){return new yn(this.value(),this.__chain__)}function g0(){this.__values__===r&&(this.__values__=qd(this.value()));var n=this.__index__>=this.__values__.length,i=n?r:this.__values__[this.__index__++];return{done:n,value:i}}function y0(){return this}function _0(n){for(var i,a=this;a instanceof xo;){var d=xd(a);d.__index__=0,d.__values__=r,i?g.__wrapped__=d:i=d;var g=d;a=a.__wrapped__}return g.__wrapped__=n,i}function b0(){var n=this.__wrapped__;if(n instanceof Ye){var i=n;return this.__actions__.length&&(i=new Ye(this)),i=i.reverse(),i.__actions__.push({func:No,args:[Zl],thisArg:r}),new yn(i,this.__chain__)}return this.thru(Zl)}function w0(){return Kf(this.__wrapped__,this.__actions__)}var A0=Ro(function(n,i,a){at.call(n,a)?++n[a]:Zn(n,a,1)});function x0(n,i,a){var d=He(n)?sf:h_;return a&&Ut(n,i,a)&&(i=r),d(n,Me(i,3))}function P0(n,i){var a=He(n)?fr:Of;return a(n,Me(i,3))}var C0=rd(Pd),E0=rd(Cd);function k0(n,i){return Lt(Wo(n,i),1)}function S0(n,i){return Lt(Wo(n,i),x)}function O0(n,i,a){return a=a===r?1:Ue(a),Lt(Wo(n,i),a)}function Td(n,i){var a=He(n)?vn:mr;return a(n,Me(i,3))}function Id(n,i){var a=He(n)?Zg:Sf;return a(n,Me(i,3))}var R0=Ro(function(n,i,a){at.call(n,a)?n[a].push(i):Zn(n,a,[i])});function T0(n,i,a,d){n=Yt(n)?n:Si(n),a=a&&!d?Ue(a):0;var g=n.length;return a<0&&(a=St(g+a,0)),qo(n)?a<=g&&n.indexOf(i,a)>-1:!!g&&vi(n,i,a)>-1}var I0=Ke(function(n,i,a){var d=-1,g=typeof i=="function",P=Yt(n)?ee(n.length):[];return mr(n,function(L){P[++d]=g?sn(i,L,a):us(L,i,a)}),P}),M0=Ro(function(n,i,a){Zn(n,a,i)});function Wo(n,i){var a=He(n)?gt:$f;return a(n,Me(i,3))}function L0(n,i,a,d){return n==null?[]:(He(i)||(i=i==null?[]:[i]),a=d?r:a,He(a)||(a=a==null?[]:[a]),Wf(n,i,a))}var $0=Ro(function(n,i,a){n[a?0:1].push(i)},function(){return[[],[]]});function D0(n,i,a){var d=He(n)?al:uf,g=arguments.length<3;return d(n,Me(i,4),a,g,mr)}function B0(n,i,a){var d=He(n)?Gg:uf,g=arguments.length<3;return d(n,Me(i,4),a,g,Sf)}function N0(n,i){var a=He(n)?fr:Of;return a(n,Ho(Me(i,3)))}function W0(n){var i=He(n)?Pf:T_;return i(n)}function V0(n,i,a){(a?Ut(n,i,a):i===r)?i=1:i=Ue(i);var d=He(n)?l_:I_;return d(n,i)}function F0(n){var i=He(n)?u_:L_;return i(n)}function H0(n){if(n==null)return 0;if(Yt(n))return qo(n)?yi(n):n.length;var i=Bt(n);return i==z||i==fe?n.size:El(n).length}function U0(n,i,a){var d=He(n)?ll:$_;return a&&Ut(n,i,a)&&(i=r),d(n,Me(i,3))}var q0=Ke(function(n,i){if(n==null)return[];var a=i.length;return a>1&&Ut(n,i[0],i[1])?i=[]:a>2&&Ut(i[0],i[1],i[2])&&(i=[i[0]]),Wf(n,Lt(i,1),[])}),Vo=Py||function(){return Mt.Date.now()};function j0(n,i){if(typeof i!="function")throw new gn(u);return n=Ue(n),function(){if(--n<1)return i.apply(this,arguments)}}function Md(n,i,a){return i=a?r:i,i=n&&i==null?n.length:i,Gn(n,U,r,r,r,r,i)}function Ld(n,i){var a;if(typeof i!="function")throw new gn(u);return n=Ue(n),function(){return--n>0&&(a=i.apply(this,arguments)),n<=1&&(i=r),a}}var Yl=Ke(function(n,i,a){var d=D;if(a.length){var g=hr(a,Ei(Yl));d|=T}return Gn(n,d,i,a,g)}),$d=Ke(function(n,i,a){var d=D|O;if(a.length){var g=hr(a,Ei($d));d|=T}return Gn(i,d,n,a,g)});function Dd(n,i,a){i=a?r:i;var d=Gn(n,M,r,r,r,r,r,i);return d.placeholder=Dd.placeholder,d}function Bd(n,i,a){i=a?r:i;var d=Gn(n,E,r,r,r,r,r,i);return d.placeholder=Bd.placeholder,d}function Nd(n,i,a){var d,g,P,L,W,J,ae=0,ue=!1,he=!1,we=!0;if(typeof n!="function")throw new gn(u);i=An(i)||0,At(a)&&(ue=!!a.leading,he="maxWait"in a,P=he?St(An(a.maxWait)||0,i):P,we="trailing"in a?!!a.trailing:we);function Te(Ct){var Rn=d,er=g;return d=g=r,ae=Ct,L=n.apply(er,Rn),L}function $e(Ct){return ae=Ct,W=ps(Ge,i),ue?Te(Ct):L}function qe(Ct){var Rn=Ct-J,er=Ct-ae,rh=i-Rn;return he?Dt(rh,P-er):rh}function De(Ct){var Rn=Ct-J,er=Ct-ae;return J===r||Rn>=i||Rn<0||he&&er>=P}function Ge(){var Ct=Vo();if(De(Ct))return Qe(Ct);W=ps(Ge,qe(Ct))}function Qe(Ct){return W=r,we&&d?Te(Ct):(d=g=r,L)}function un(){W!==r&&Zf(W),ae=0,d=J=g=W=r}function qt(){return W===r?L:Qe(Vo())}function cn(){var Ct=Vo(),Rn=De(Ct);if(d=arguments,g=this,J=Ct,Rn){if(W===r)return $e(J);if(he)return Zf(W),W=ps(Ge,i),Te(J)}return W===r&&(W=ps(Ge,i)),L}return cn.cancel=un,cn.flush=qt,cn}var K0=Ke(function(n,i){return kf(n,1,i)}),z0=Ke(function(n,i,a){return kf(n,An(i)||0,a)});function Z0(n){return Gn(n,j)}function Fo(n,i){if(typeof n!="function"||i!=null&&typeof i!="function")throw new gn(u);var a=function(){var d=arguments,g=i?i.apply(this,d):d[0],P=a.cache;if(P.has(g))return P.get(g);var L=n.apply(this,d);return a.cache=P.set(g,L)||P,L};return a.cache=new(Fo.Cache||zn),a}Fo.Cache=zn;function Ho(n){if(typeof n!="function")throw new gn(u);return function(){var i=arguments;switch(i.length){case 0:return!n.call(this);case 1:return!n.call(this,i[0]);case 2:return!n.call(this,i[0],i[1]);case 3:return!n.call(this,i[0],i[1],i[2])}return!n.apply(this,i)}}function G0(n){return Ld(2,n)}var Y0=D_(function(n,i){i=i.length==1&&He(i[0])?gt(i[0],on(Me())):gt(Lt(i,1),on(Me()));var a=i.length;return Ke(function(d){for(var g=-1,P=Dt(d.length,a);++g=i}),Xr=If(function(){return arguments}())?If:function(n){return xt(n)&&at.call(n,"callee")&&!yf.call(n,"callee")},He=ee.isArray,fb=Xc?on(Xc):__;function Yt(n){return n!=null&&Uo(n.length)&&!Xn(n)}function Pt(n){return xt(n)&&Yt(n)}function db(n){return n===!0||n===!1||xt(n)&&Ht(n)==oe}var _r=Ey||lu,hb=Qc?on(Qc):b_;function pb(n){return xt(n)&&n.nodeType===1&&!ms(n)}function mb(n){if(n==null)return!0;if(Yt(n)&&(He(n)||typeof n=="string"||typeof n.splice=="function"||_r(n)||ki(n)||Xr(n)))return!n.length;var i=Bt(n);if(i==z||i==fe)return!n.size;if(hs(n))return!El(n).length;for(var a in n)if(at.call(n,a))return!1;return!0}function vb(n,i){return cs(n,i)}function gb(n,i,a){a=typeof a=="function"?a:r;var d=a?a(n,i):r;return d===r?cs(n,i,r,a):!!d}function Xl(n){if(!xt(n))return!1;var i=Ht(n);return i==Re||i==Ae||typeof n.message=="string"&&typeof n.name=="string"&&!ms(n)}function yb(n){return typeof n=="number"&&bf(n)}function Xn(n){if(!At(n))return!1;var i=Ht(n);return i==R||i==$||i==X||i==ve}function Vd(n){return typeof n=="number"&&n==Ue(n)}function Uo(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=_}function At(n){var i=typeof n;return n!=null&&(i=="object"||i=="function")}function xt(n){return n!=null&&typeof n=="object"}var Fd=ef?on(ef):A_;function _b(n,i){return n===i||Cl(n,i,Hl(i))}function bb(n,i,a){return a=typeof a=="function"?a:r,Cl(n,i,Hl(i),a)}function wb(n){return Hd(n)&&n!=+n}function Ab(n){if(s1(n))throw new Fe(l);return Mf(n)}function xb(n){return n===null}function Pb(n){return n==null}function Hd(n){return typeof n=="number"||xt(n)&&Ht(n)==re}function ms(n){if(!xt(n)||Ht(n)!=le)return!1;var i=vo(n);if(i===null)return!0;var a=at.call(i,"constructor")&&i.constructor;return typeof a=="function"&&a instanceof a&&fo.call(a)==by}var Ql=tf?on(tf):x_;function Cb(n){return Vd(n)&&n>=-_&&n<=_}var Ud=nf?on(nf):P_;function qo(n){return typeof n=="string"||!He(n)&&xt(n)&&Ht(n)==Se}function ln(n){return typeof n=="symbol"||xt(n)&&Ht(n)==Ee}var ki=rf?on(rf):C_;function Eb(n){return n===r}function kb(n){return xt(n)&&Bt(n)==Le}function Sb(n){return xt(n)&&Ht(n)==Ze}var Ob=Lo(kl),Rb=Lo(function(n,i){return n<=i});function qd(n){if(!n)return[];if(Yt(n))return qo(n)?kn(n):Gt(n);if(ns&&n[ns])return ly(n[ns]());var i=Bt(n),a=i==z?pl:i==fe?lo:Si;return a(n)}function Qn(n){if(!n)return n===0?n:0;if(n=An(n),n===x||n===-x){var i=n<0?-1:1;return i*Y}return n===n?n:0}function Ue(n){var i=Qn(n),a=i%1;return i===i?a?i-a:i:0}function jd(n){return n?Zr(Ue(n),0,y):0}function An(n){if(typeof n=="number")return n;if(ln(n))return B;if(At(n)){var i=typeof n.valueOf=="function"?n.valueOf():n;n=At(i)?i+"":i}if(typeof n!="string")return n===0?n:+n;n=cf(n);var a=fg.test(n);return a||hg.test(n)?jg(n.slice(2),a?2:8):cg.test(n)?B:+n}function Kd(n){return Nn(n,Jt(n))}function Tb(n){return n?Zr(Ue(n),-_,_):n===0?n:0}function st(n){return n==null?"":an(n)}var Ib=Pi(function(n,i){if(hs(i)||Yt(i)){Nn(i,Rt(i),n);return}for(var a in i)at.call(i,a)&&as(n,a,i[a])}),zd=Pi(function(n,i){Nn(i,Jt(i),n)}),jo=Pi(function(n,i,a,d){Nn(i,Jt(i),n,d)}),Mb=Pi(function(n,i,a,d){Nn(i,Rt(i),n,d)}),Lb=Yn(bl);function $b(n,i){var a=xi(n);return i==null?a:Cf(a,i)}var Db=Ke(function(n,i){n=dt(n);var a=-1,d=i.length,g=d>2?i[2]:r;for(g&&Ut(i[0],i[1],g)&&(d=1);++a1),P}),Nn(n,Vl(n),a),d&&(a=_n(a,v|m|A,z_));for(var g=i.length;g--;)Il(a,i[g]);return a});function ew(n,i){return Gd(n,Ho(Me(i)))}var tw=Yn(function(n,i){return n==null?{}:S_(n,i)});function Gd(n,i){if(n==null)return{};var a=gt(Vl(n),function(d){return[d]});return i=Me(i),Vf(n,a,function(d,g){return i(d,g[0])})}function nw(n,i,a){i=gr(i,n);var d=-1,g=i.length;for(g||(g=1,n=r);++di){var d=n;n=i,i=d}if(a||n%1||i%1){var g=wf();return Dt(n+g*(i-n+qg("1e-"+((g+"").length-1))),i)}return Ol(n,i)}var hw=Ci(function(n,i,a){return i=i.toLowerCase(),n+(a?Xd(i):i)});function Xd(n){return nu(st(n).toLowerCase())}function Qd(n){return n=st(n),n&&n.replace(mg,ry).replace(Lg,"")}function pw(n,i,a){n=st(n),i=an(i);var d=n.length;a=a===r?d:Zr(Ue(a),0,d);var g=a;return a-=i.length,a>=0&&n.slice(a,g)==i}function mw(n){return n=st(n),n&&Gv.test(n)?n.replace(Oc,iy):n}function vw(n){return n=st(n),n&&tg.test(n)?n.replace(Ja,"\\$&"):n}var gw=Ci(function(n,i,a){return n+(a?"-":"")+i.toLowerCase()}),yw=Ci(function(n,i,a){return n+(a?" ":"")+i.toLowerCase()}),_w=nd("toLowerCase");function bw(n,i,a){n=st(n),i=Ue(i);var d=i?yi(n):0;if(!i||d>=i)return n;var g=(i-d)/2;return Mo(bo(g),a)+n+Mo(_o(g),a)}function ww(n,i,a){n=st(n),i=Ue(i);var d=i?yi(n):0;return i&&d>>0,a?(n=st(n),n&&(typeof i=="string"||i!=null&&!Ql(i))&&(i=an(i),!i&&gi(n))?yr(kn(n),0,a):n.split(i,a)):[]}var Sw=Ci(function(n,i,a){return n+(a?" ":"")+nu(i)});function Ow(n,i,a){return n=st(n),a=a==null?0:Zr(Ue(a),0,n.length),i=an(i),n.slice(a,a+i.length)==i}function Rw(n,i,a){var d=b.templateSettings;a&&Ut(n,i,a)&&(i=r),n=st(n),i=jo({},i,d,ud);var g=jo({},i.imports,d.imports,ud),P=Rt(g),L=hl(g,P),W,J,ae=0,ue=i.interpolate||ro,he="__p += '",we=ml((i.escape||ro).source+"|"+ue.source+"|"+(ue===Rc?ug:ro).source+"|"+(i.evaluate||ro).source+"|$","g"),Te="//# sourceURL="+(at.call(i,"sourceURL")?(i.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Wg+"]")+` `;n.replace(we,function(De,Ge,Qe,un,qt,cn){return Qe||(Qe=un),he+=n.slice(ae,cn).replace(vg,sy),Ge&&(W=!0,he+=`' + __e(`+Ge+`) + '`),qt&&(J=!0,he+=`'; @@ -33,10 +33,10 @@ __p += '`),Qe&&(he+=`' + function print() { __p += __j.call(arguments, '') } `:`; `)+he+`return __p -}`;var qe=th(function(){return it(P,Te+"return "+he).apply(r,L)});if(qe.source=he,Xl(qe))throw qe;return qe}function Tw(n){return st(n).toLowerCase()}function Iw(n){return st(n).toUpperCase()}function Mw(n,i,a){if(n=st(n),n&&(a||i===r))return cf(n);if(!n||!(i=an(i)))return n;var d=kn(n),g=kn(i),P=ff(d,g),L=df(d,g)+1;return yr(d,P,L).join("")}function Lw(n,i,a){if(n=st(n),n&&(a||i===r))return n.slice(0,pf(n)+1);if(!n||!(i=an(i)))return n;var d=kn(n),g=df(d,kn(i))+1;return yr(d,0,g).join("")}function $w(n,i,a){if(n=st(n),n&&(a||i===r))return n.replace(Xa,"");if(!n||!(i=an(i)))return n;var d=kn(n),g=ff(d,kn(i));return yr(d,g).join("")}function Dw(n,i){var a=K,d=q;if(At(i)){var g="separator"in i?i.separator:g;a="length"in i?Ue(i.length):a,d="omission"in i?an(i.omission):d}n=st(n);var P=n.length;if(gi(n)){var L=kn(n);P=L.length}if(a>=P)return n;var W=a-yi(d);if(W<1)return d;var J=L?yr(L,0,W).join(""):n.slice(0,W);if(g===r)return J+d;if(L&&(W+=J.length-W),Ql(g)){if(n.slice(W).search(g)){var ae,ue=J;for(g.global||(g=ml(g.source,st(Tc.exec(g))+"g")),g.lastIndex=0;ae=g.exec(ue);)var he=ae.index;J=J.slice(0,he===r?W:he)}}else if(n.indexOf(an(g),W)!=W){var we=J.lastIndexOf(g);we>-1&&(J=J.slice(0,we))}return J+d}function Bw(n){return n=st(n),n&&Zv.test(n)?n.replace(Sc,dy):n}var Nw=Ci(function(n,i,a){return n+(a?" ":"")+i.toUpperCase()}),nu=nd("toUpperCase");function eh(n,i,a){return n=st(n),i=a?r:i,i===r?ay(n)?my(n):Xg(n):n.match(i)||[]}var th=Ke(function(n,i){try{return sn(n,r,i)}catch(a){return Xl(a)?a:new Fe(a)}}),Ww=Yn(function(n,i){return vn(i,function(a){a=Wn(a),Zn(n,a,Yl(n[a],n))}),n});function Vw(n){var i=n==null?0:n.length,a=Me();return n=i?gt(n,function(d){if(typeof d[1]!="function")throw new gn(u);return[a(d[0]),d[1]]}):[],Ke(function(d){for(var g=-1;++g_)return[];var a=y,d=Dt(n,y);i=Me(i),n-=y;for(var g=dl(d,i);++a0||i<0)?new Ye(a):(n<0?a=a.takeRight(-n):n&&(a=a.drop(n)),i!==r&&(i=Ue(i),a=i<0?a.dropRight(-i):a.take(i-n)),a)},Ye.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Ye.prototype.toArray=function(){return this.take(y)},Bn(Ye.prototype,function(n,i){var a=/^(?:filter|find|map|reject)|While$/.test(i),d=/^(?:head|last)$/.test(i),g=b[d?"take"+(i=="last"?"Right":""):i],P=d||/^find/.test(i);g&&(b.prototype[i]=function(){var L=this.__wrapped__,W=d?[1]:arguments,J=L instanceof Ye,ae=W[0],ue=J||He(L),he=function(Ge){var Qe=g.apply(b,dr([Ge],W));return d&&we?Qe[0]:Qe};ue&&a&&typeof ae=="function"&&ae.length!=1&&(J=ue=!1);var we=this.__chain__,Te=!!this.__actions__.length,$e=P&&!we,qe=J&&!Te;if(!P&&ue){L=qe?L:new Ye(this);var De=n.apply(L,W);return De.__actions__.push({func:No,args:[he],thisArg:r}),new yn(De,we)}return $e&&qe?n.apply(this,W):(De=this.thru(he),$e?d?De.value()[0]:De.value():De)})}),vn(["pop","push","shift","sort","splice","unshift"],function(n){var i=uo[n],a=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",d=/^(?:pop|shift)$/.test(n);b.prototype[n]=function(){var g=arguments;if(d&&!this.__chain__){var P=this.value();return i.apply(He(P)?P:[],g)}return this[a](function(L){return i.apply(He(L)?L:[],g)})}}),Bn(Ye.prototype,function(n,i){var a=b[i];if(a){var d=a.name+"";at.call(Ai,d)||(Ai[d]=[]),Ai[d].push({name:i,func:a})}}),Ai[To(r,O).name]=[{name:"wrapper",func:r}],Ye.prototype.clone=By,Ye.prototype.reverse=Ny,Ye.prototype.value=Wy,b.prototype.at=p0,b.prototype.chain=m0,b.prototype.commit=v0,b.prototype.next=g0,b.prototype.plant=_0,b.prototype.reverse=b0,b.prototype.toJSON=b.prototype.valueOf=b.prototype.value=w0,b.prototype.first=b.prototype.head,ts&&(b.prototype[ts]=y0),b},_i=vy();qr?((qr.exports=_i)._=_i,il._=_i):Mt._=_i}).call(ws)})(Ea,Ea.exports);var o3=Ea.exports;const a3={class:"flex flex-col"},l3=ze({__name:"InputWithAutoComplete",props:{icon:String,placeholder:String,modelValue:String,onClick:{type:Function,required:!1},suggest:{type:Function,required:!0},clickSuggest:{type:Function,required:!1}},emits:["update:modelValue","change","submit"],setup(e,{expose:t,emit:r}){const s=Pe(-1),o=S=>S.key==="ArrowDown"?(s.value++,s.value>=p.value.length&&(s.value=-1),!0):S.key==="ArrowUp"?(s.value===-1&&(s.value=p.value.length),s.value--,s.value<0&&(s.value=-1),!0):S.key==="Enter"&&(console.log(s.value),s.value>=0)?(l.clickSuggest(p.value[s.value]),s.value=-1,p.value=[],!0):!1;document.addEventListener("click",S=>{var D;(D=f.value)!=null&&D.contains(S.target)||(p.value=[],s.value=-1)});const l=e,u=Pe(l.modelValue),c=Pe(null);ut(()=>l.modelValue,S=>{u.value=S});const f=Pe(null),h=Ve(()=>{var S,D;return{top:f.value.offsetTop+f.value.offsetHeight+"px",left:((S=f.value)==null?void 0:S.offsetLeft)+"px",width:((D=f.value)==null?void 0:D.offsetWidth)+"px"}}),p=Pe([]),v=o3.debounce(async()=>{p.value=(await l.suggest(u.value)).slice(0,5)},300),m=r,A=()=>{m("update:modelValue",u.value),m("change",u.value),v()},C=S=>{m("submit",S),p.value=[]};return t({focus:()=>{var S;(S=c.value)==null||S.focus()}}),(S,D)=>(ne(),ge(et,null,[te("div",{ref_key:"inputElement",ref:f,class:"input-with-autocomplete"},[me(Zu,{modelValue:u.value,"onUpdate:modelValue":D[0]||(D[0]=O=>u.value=O),icon:e.icon,placeholder:e.placeholder,onSubmit:C,onChange:A,onKeyUp:o,expanded:p.value.length>0,ref_key:"input",ref:c},null,8,["modelValue","icon","placeholder","expanded"])],512),p.value.length>0?(ne(),je(eo,{key:0,to:"#autocomplete-target"},[te("div",{class:"suggestions absolute w-full z-10",style:Fr(h.value),onClick:D[1]||(D[1]=Wt(O=>p.value=[],["stop"]))},[te("div",a3,[(ne(!0),ge(et,null,cr(p.value,(O,k)=>Hi(S.$slots,"default",{selected:k===s.value,value:O},void 0,!0)),256))])],4)])):Ne("",!0)],64))}});const u3=ot(l3,[["__scopeId","data-v-9a74c378"]]);const c3={name:"Loader"},f3=e=>(ci("data-v-a8d83b29"),e=e(),fi(),e),d3={class:"loader"},h3=f3(()=>te("div",{class:"spinner"},[te("div",{class:"bounce1"}),te("div",{class:"bounce2"}),te("div",{class:"bounce3"})],-1)),p3=[h3];function m3(e,t,r,s,o,l){return ne(),ge("div",d3,p3)}const Ev=ot(c3,[["render",m3],["__scopeId","data-v-a8d83b29"]]),v3={key:1},g3=ze({__name:"IconButton",props:{icon:{type:String,required:!1},label:{type:String,required:!0},disabled:{type:Boolean,required:!1,default:!1},type:{type:String,required:!1,default:"negative"}},setup(e){return(t,r)=>(ne(),ge("button",{class:Je([(e.disabled?"disabled ":"")+e.type,"flex items-center justify-center h-12 p-4 mt-4 rounded-full"])},[e.icon?(ne(),ge("span",{key:0,class:Je([{"mr-2":e.label},"material-symbols-rounded"])},We(e.icon),3)):Ne("",!0),e.label?(ne(),ge("span",v3,We(e.label),1)):Ne("",!0)],2))}});const Ap=ot(g3,[["__scopeId","data-v-b68d33f1"]]),y3=e=>(ci("data-v-faea87bd"),e=e(),fi(),e),_3={class:"header bg-secondary rounded-t-2xl p-3"},b3={class:"title font-black"},w3=y3(()=>te("span",{class:"title material-icons-round"}," close ",-1)),A3=[w3],x3={key:1},P3={key:2,class:"p-4 pt-0 flex flex-col overflow-x-hidden overflow-y-auto"},C3={key:0,class:"confirm"},E3=ze({__name:"Template",props:{name:{type:String,required:!0},submit:{type:Object,required:!1},secondary:{type:Object,required:!1,default:null}},emits:["submit","close","secondary"],setup(e,{expose:t,emit:r}){const s=e,o=Pe(!1),l=Pe(!1),u=Pe(""),c=()=>l.value=!1,f=()=>{o.value=!1,l.value=!0},h=()=>{o.value=!0,l.value=!0},p=async(S,D)=>{h();const O=await window.fetch(S,D);return f(),O.ok?O:(u.value=await O.text(),null)},v=r,m=()=>{c(),v("close")},A=()=>{v("submit"),m()},C=()=>{v("secondary"),m()};return t({show:f,hide:c,load:h,fetch:p}),(S,D)=>l.value?(ne(),je(eo,{key:0,to:"#popup-target"},[te("div",{class:"modal",onClick:D[1]||(D[1]=Wt(O=>l.value=!1,["stop"])),onContextmenu:D[2]||(D[2]=Wt(()=>{},["stop"])),onDrag:D[3]||(D[3]=Wt(()=>{},["stop"]))},[te("div",{class:"modal-content",onClick:D[0]||(D[0]=Wt(()=>{},["stop"]))},[te("div",_3,[te("h3",b3,We(e.name),1),te("button",{class:"modal-close",onClick:m},A3)]),o.value?(ne(),je(Ev,{key:0})):u.value?(ne(),ge("div",x3)):(ne(),ge("div",P3,[Hi(S.$slots,"default",{},void 0,!0),s.submit||s.secondary?(ne(),ge("div",C3,[s.secondary?(ne(),je(Ap,{key:0,icon:s.secondary.icon,label:s.secondary.label,type:s.secondary.type,onClick:C},null,8,["icon","label","type"])):Ne("",!0),s.submit?(ne(),je(Ap,{key:1,icon:s.submit.icon,label:s.submit.label,type:s.submit.type,onClick:A},null,8,["icon","label","type"])):Ne("",!0)])):Ne("",!0)]))])],32)])):Ne("",!0)}});const kv=ot(E3,[["__scopeId","data-v-faea87bd"]]),k3={class:"flex flex-row gap-2"},S3={key:0,class:"material-symbols-rounded ms-wght-200"},O3={class:"material-symbols-rounded"},R3=["onClick"],T3={class:"material-symbols-rounded"},I3={key:0,class:"material-symbols-rounded"},M3=ze({__name:"Dropdown",props:{modelValue:{type:String,required:!0},options:{type:Array,required:!0},icon:{type:String,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,s=Pe(r.modelValue),o=Pe(!1),l=t;ut(r,p=>{s.value=p.modelValue},{deep:!0});const u=p=>{s.value=p,l("update:modelValue",p),o.value=!1},c=Ve(()=>{const p=r.options.find(v=>v.value==s.value);return p?p.label:""}),f=Pe(null),h=Pe(null);return ut(o,p=>{lr(()=>{if(p){const v=f.value.getBoundingClientRect(),m=h.value.getBoundingClientRect(),A=m.top,C=m.bottom,S=window.innerHeight-C,D=m.width;f.value.style.width=D+"px",f.value.style.left=m.left+"px",S>v.height?(f.value.style.top=C+"px",f.value.style.bottom="auto"):(f.value.style.top="auto",f.value.style.bottom=A-v.height+"px")}})}),window.addEventListener("click",()=>{o.value=!1}),(p,v)=>(ne(),ge("div",{ref_key:"container",ref:h,class:"dropdown"},[te("div",{class:Je([{expanded:o.value},"dropdown__selected"]),onClick:v[0]||(v[0]=Wt(m=>o.value=!o.value,["stop"]))},[te("div",k3,[e.icon?(ne(),ge("span",S3,We(e.icon),1)):Ne("",!0),te("span",null,We(c.value),1)]),te("i",O3,We(o.value?"expand_less":"expand_more"),1)],2),(ne(),je(eo,{to:"#dropdown-target"},[o.value?(ne(),ge("div",{key:0,ref_key:"trueDropdown",ref:f,class:"dropdown__options"},[(ne(!0),ge(et,null,cr(e.options,m=>(ne(),ge("div",{key:m.value,class:"dropdown__option",onClick:Wt(A=>u(m.value),["stop"])},[te("span",T3,We(m.icon),1),te("span",null,We(m.label),1),s.value==m.value?(ne(),ge("span",I3,"check")):Ne("",!0)],8,R3))),128))],512)):Ne("",!0)]))],512))}});const L3=ot(M3,[["__scopeId","data-v-186027d9"]]),$3={class:"form"},D3={class:"content"},B3=["onClick"],N3=["accept","onChange"],W3={key:0,class:"imagePreview"},V3=["onUpdate:modelValue","type","onChange"],F3=ze({__name:"Form",props:{options:{type:Array,required:!0}},setup(e,{expose:t}){const r=e;return t({toObject:()=>{const o={};return r.options.forEach(l=>{o[l.name]=l.value}),o}}),(o,l)=>(ne(),ge("div",$3,[(ne(!0),ge(et,null,cr(e.options,u=>(ne(),ge("div",{key:u.name,class:"option"},[te("h4",null,We(se(Nx)(u.name)),1),te("div",D3,[u.type=="upload"?(ne(),ge(et,{key:0},[te("span",{class:"material-symbols-rounded icon-button",onClick:()=>{var c,f;return(f=(c=o.$refs["upload-"+u.name])==null?void 0:c[0])==null?void 0:f.click()}}," file_upload ",8,B3),te("input",{ref_for:!0,ref:"upload-"+u.name,accept:u.accept,style:{display:"none"},type:"file",onChange:c=>u==null?void 0:u.onUpload(c.target.files[0])},null,40,N3),me(Zu,{ref_for:!0,ref:"cover",modelValue:u.value,"onUpdate:modelValue":c=>u.value=c,icon:u.icon,class:"addSong cover",type:"text",onChange:c=>u==null?void 0:u.onChange(u.value)},null,8,["modelValue","onUpdate:modelValue","icon","onChange"]),u.imagePreview?(ne(),ge("div",W3,[me(oi,{src:se(xa)(u.value),class:"cover",onClick:c=>se(bc)(u.value)},null,8,["src","onClick"])])):Ne("",!0)],64)):u.type=="dropdown"?(ne(),je(L3,{key:1,modelValue:u.value,"onUpdate:modelValue":c=>u.value=c,icon:u.icon,options:u.options},null,8,["modelValue","onUpdate:modelValue","icon","options"])):u.type=="text"?(ne(),je(Zu,{key:2,modelValue:u.value,"onUpdate:modelValue":c=>u.value=c,icon:u.icon,placeholder:u.placeholder,required:u.required,type:u.type,onChange:c=>u.onChange?u==null?void 0:u.onChange(u.value):null},null,8,["modelValue","onUpdate:modelValue","icon","placeholder","required","type","onChange"])):Ks((ne(),ge("input",{key:3,"onUpdate:modelValue":c=>u.value=c,type:u.type,onChange:c=>u.onChange?u==null?void 0:u.onChange(u.value):null},null,40,V3)),[[_c,u.value]])])]))),128))]))}});const Sv=ot(F3,[["__scopeId","data-v-f7f90291"]]),H3={class:"padding-20 playlisteditor"},U3=["src"],q3={class:"details"},j3={class:"detailswrapper"},K3=["onClick"],z3=ze({__name:"TrackInfo",props:{title:{type:String,required:!0},subtitle:{type:String,required:!0},cover:{type:String,required:!0},icons:{type:Array,required:!0}},setup(e){return(t,r)=>(ne(),ge("div",H3,[te("img",{src:e.cover,class:"cover"},null,8,U3),te("div",q3,[te("div",j3,[(ne(!0),ge(et,null,cr(e.icons,(s,o)=>(ne(),ge("span",{key:o,class:"material-icons-round",onClick:s.onClick},We(s.name),9,K3))),128))]),te("h1",null,We(e.title),1),te("h6",null,We(e.subtitle),1)])]))}});const Ov=ot(z3,[["__scopeId","data-v-eab2eaeb"]]),As=e=>{const t=new CustomEvent("notification.add",{detail:e});window.dispatchEvent(t)},Lr={addSuccess(e,t,r){const s=Math.random().toString(36).substring(7);return As({id:s,message:e,details:t,type:"success",timeout:r}),s},addError(e,t,r){const s=Math.random().toString(36).substring(7);return As({id:s,message:e,details:t,type:"error",timeout:r}),s},addInfo(e,t,r){const s=Math.random().toString(36).substring(7);return As({id:s,message:e,details:t,type:"info",timeout:r}),s},addWarning(e,t,r){const s=Math.random().toString(36).substring(7);return As({id:s,message:e,details:t,type:"warning",timeout:r}),s},addYesNo(e,t,r,s,o,l){const u=Math.random().toString(36).substring(7);return As({id:u,message:e,details:t,type:"yes-no",timeout:r,onYes:s,onNo:o,onTimeout:l}),u},remove(e){const t=new CustomEvent("notification.remove",{detail:e});window.dispatchEvent(t)},clear(){const e=new CustomEvent("notification.clear");window.dispatchEvent(e)}},Rv=ze({__name:"ImportSpotifySong",props:{song:{type:Object,required:!0}},setup(e,{expose:t}){const r=tn(),s=e,o=Pe([{name:"playlist",type:"dropdown",icon:"playlist_add",required:!0,value:null,options:r.playlistsAsDropdown}]),l=Pe(null),u=Pe(null),c=Pe(null),f=async()=>{if(c.value){l.value.show();return}const m=await l.value.fetch("/api/browse/track",{method:"POST",body:JSON.stringify({url:s.song.href})});m&&(l.value.load(),c.value=await m.json(),l.value.show())},h=()=>{const m=new CustomEvent("player.play",{detail:{artist:s.song.artist,title:s.song.title,source:s.song.href}});window.dispatchEvent(m)},p=async m=>{if(m==="new"){const A=await Ac("classic",s.song.title,s.song.artist,s.song.cover);return o.value[0].options=r.playlistsAsDropdown,o.value[0].value=A,A}return m},v=async(m,A=null)=>{var C;A??(A=u.value.toObject().playlist),console.log(A),A=await p(A),await av(A,c.value),s.song.added=!0,Lr.addSuccess(c.value.title,`Added to ${(C=r.playlists.find(S=>S.id==A))==null?void 0:C.name}`,3e3)};return t({show:f}),(m,A)=>(ne(),je(kv,{ref_key:"modal",ref:l,submit:{label:"Add",icon:"add"},name:"Import Song",onClose:A[0]||(A[0]=C=>m.$emit("close")),onSubmit:v},{default:Ot(()=>[me(Ov,{cover:e.song.cover,icons:[{name:"share",onClick:()=>se(bc)(e.song.href)},{name:"play_arrow",onClick:h}],title:e.song.title},null,8,["cover","icons","title"]),me(Sv,{ref_key:"form",ref:u,options:o.value},null,8,["options"])]),_:1},512))}}),kc=e=>(ci("data-v-f8e4524a"),e=e(),fi(),e),Z3=kc(()=>te("div",{class:"index text-right"},"#",-1)),G3=kc(()=>te("div",{class:"artist-title"}," title ",-1)),Y3={key:0,class:"album"},J3={key:1,class:"duration"},X3=kc(()=>te("span",{class:"material-symbols-rounded"},"schedule",-1)),Q3=[X3],eC=ze({__name:"PlaylistHeader",props:{withAlbum:{type:Boolean,required:!1,default:!1},withMore:{type:Boolean,required:!1,default:!1},withoutDuration:{type:Boolean,required:!1,default:!1}},setup(e){return(t,r)=>(ne(),ge("div",{class:Je([{withAlbum:e.withAlbum,withMore:e.withMore},"playlist-header"])},[Z3,G3,e.withAlbum?(ne(),ge("div",Y3," album ")):Ne("",!0),e.withoutDuration?Ne("",!0):(ne(),ge("div",J3,Q3))],2))}});const tC=ot(eC,[["__scopeId","data-v-f8e4524a"]]);const nC={name:"Marquee",mounted(){this.update(),window.addEventListener("resize",this.update)},data(){return{isMarquee:!1}},methods:{isTruncated(e){return(e==null?void 0:e.scrollWidth)>(e==null?void 0:e.clientWidth)},update(){this.isMarquee=!1,setTimeout(()=>{this.isMarquee=this.isTruncated(this.$refs.marquee)},10)}}},rC={key:0,class:"replacer"},iC={key:0,class:"overlay"};function sC(e,t,r,s,o,l){return ne(),ge("div",{class:Je([{marquee:o.isMarquee},"marqueeWrapper"])},[te("span",{ref:"marquee",class:Je({marquee:o.isMarquee})},[Hi(e.$slots,"default",{},void 0,!0),o.isMarquee?(ne(),ge("span",rC,[Hi(e.$slots,"default",{},void 0,!0)])):Ne("",!0)],2),o.isMarquee?(ne(),ge("div",iC)):Ne("",!0)],2)}const oC=ot(nC,[["render",sC],["__scopeId","data-v-ad7138e8"]]),aC={class:"artist"},lC=ze({__name:"ArtistMarquee",props:{artist:{type:String,required:!0}},setup(e){const t=e,r=Ve(()=>t.artist.split(", "));return(s,o)=>{const l=Fi("router-link");return ne(),je(oC,null,{default:Ot(()=>[(ne(!0),ge(et,null,cr(r.value,u=>(ne(),ge("span",aC,[me(l,{to:"/artist/"+u},{default:Ot(()=>[Ua(We(u),1)]),_:2},1032,["to"])]))),256))]),_:1})}}});const Tv=ot(lC,[["__scopeId","data-v-156468cf"]]),uC={key:0,class:"cover"},cC={class:"artist-title"},fC={class:"title"},dC={class:"artist"},hC={key:1,class:"album"},pC=["onClick"],mC=ze({__name:"ExternalEntry",props:{song:{type:Object,required:!0},index:{type:Number,required:!0},withCover:{type:Boolean,required:!1,default:!1},withAlbum:{type:Boolean,required:!1,default:!1},selected:{type:Boolean,required:!1,default:!1},playlistId:{type:Number,required:!1,default:null},canImport:{type:Boolean,required:!1,default:!1}},emits:["update","add"],setup(e,{emit:t}){const r=e,s=t,o=zt(),l=Ve(()=>r.song.id==o.song.id),u=Pe(!1);Ve(()=>r.playlistId==null?o.playlist.id:r.playlistId);const c=()=>{eP(r.song.title,r.song.artist,r.song.source||r.song.href)},f=Pe(null),h=()=>{r.canImport?f.value.show():s("add")};return(p,v)=>(ne(),ge(et,null,[e.canImport?(ne(),je(Rv,{key:0,ref_key:"updatePopup",ref:f,song:e.song},null,8,["song"])):Ne("",!0),te("div",{class:Je([{playing:l.value,selected:e.selected,hovering:u.value,withCover:e.withCover,withAlbum:e.withAlbum},"playlist-entry"]),onDblclick:c,onMouseenter:v[0]||(v[0]=m=>u.value=!0),onMouseleave:v[1]||(v[1]=m=>u.value=!1)},[te("div",{class:Je([{"material-symbols-rounded":u.value},"index text-right"]),onClick:c},We(u.value?"play_arrow":e.index+1),3),e.withCover?(ne(),ge("div",uC,[me(oi,{src:e.song.cover,type:"track"},null,8,["src"])])):Ne("",!0),te("div",cC,[te("span",fC,[(ne(),je(YA(e.song.href.startsWith("http")?"a":"router-link"),{href:e.song.href,to:e.song.href,class:"linkOnHover"},{default:Ot(()=>[me(ir,{text:e.song.title},null,8,["text"])]),_:1},8,["href","to"]))]),te("span",dC,[me(Tv,{artist:e.song.artist,class:"text-muted text-xs"},null,8,["artist"])])]),e.withAlbum&&!se(Uu)?(ne(),ge("div",hC,[me(ir,{text:e.song.album},null,8,["text"])])):Ne("",!0),te("div",{class:"icon text-left material-symbols-rounded",onClick:Wt(h,["stop"])},We(e.song.added?"done":"add"),9,pC)],34)],64))}});const vC=ot(mC,[["__scopeId","data-v-2482bde4"]]),gC=e=>(ci("data-v-43692079"),e=e(),fi(),e),yC={class:"playlist"},_C=gC(()=>te("hr",null,null,-1)),bC={class:"entries"},wC=ze({__name:"Playlist",props:{songs:{type:Array,required:!0},noCover:{type:Boolean,default:!1}},setup(e){return(t,r)=>(ne(),ge("div",yC,[me(tC,{"without-duration":""}),_C,te("div",bC,[(ne(!0),ge(et,null,cr(e.songs,(s,o)=>(ne(),je(vC,{key:s.source,added:s.added,index:o,song:s,title:s.title,"with-cover":!e.noCover,onAdd:l=>t.$emit("add",o)},null,8,["added","index","song","title","with-cover","onAdd"]))),128))])]))}});const AC=ot(wC,[["__scopeId","data-v-43692079"]]),xC=te("br",null,null,-1),PC=ze({__name:"ImportSpotifyAlbum",props:{album:{type:Object,required:!0}},setup(e,{expose:t}){const r=tn(),s=e,o=Pe([{name:"playlist",type:"dropdown",icon:"playlist_add",required:!0,value:null,options:r.playlistsAsDropdown}]),l=Pe(null),u=Pe(null),c=Pe([]),f=async()=>{if(c.value.length>0){l.value.show();return}const A=await l.value.fetch(`/api/spotify/albums/${s.album.id}`);A&&(c.value=await A.json())},h=()=>{const A=new CustomEvent("player.play",{detail:{artist:s.album.artist,title:s.album.title,source:s.album.href}});window.dispatchEvent(A)},p=async A=>{if(A==="new"){const C=await Ac("classic",s.album.title,`${s.album.releaseDate}, ${s.album.artist}`,s.album.cover);return o.value[0].options=r.playlistsAsDropdown,o.value[0].value=C,C}return A},v=async(A,C=null)=>{c.value[A].added||(C??(C=u.value.toObject().playlist),C=await p(C),await av(C,c.value[A]),c.value[A].added=!0)},m=async()=>{let A=u.value.toObject().playlist;A=await p(A),c.value.forEach((C,S)=>{v(S,A)}),Lr.addSuccess(s.album.title,`Added ${c.value.length} songs to ${r.playlists[A].name}`,3e3)};return t({show:f}),(A,C)=>(ne(),je(kv,{ref_key:"modal",ref:l,submit:{label:"Add All",icon:"add"},name:"Import Album",onClose:C[0]||(C[0]=S=>A.$emit("close")),onSubmit:m},{default:Ot(()=>[me(Ov,{cover:e.album.cover,icons:[{name:"share",onClick:()=>se(bc)(e.album.href)},{name:"play_arrow",onClick:h}],subtitle:e.album.artist,title:e.album.title},null,8,["cover","icons","subtitle","title"]),me(Sv,{ref_key:"form",ref:u,options:o.value},null,8,["options"]),xC,me(AC,{songs:c.value,noCover:"",onAdd:v},null,8,["songs"])]),_:1},512))}}),CC={class:"info"},EC={class:"flex flex-col flex-1"},kC={class:"name"},SC={key:0,class:"text-muted text-sm"},OC={class:"aux flex items-center text-muted text-sm gap-2"},RC={class:"tag"},TC={class:"material-symbols-rounded tag"},IC={key:0,class:"material-symbols-rounded tag"},MC=ze({__name:"SearchResultItem",props:{item:{type:Object,required:!0},large:{type:Boolean,default:!1}},setup(e){const t=t3(),r=e,s=Ve(()=>{var C,S,D,O;return((S=(C=r.item)==null?void 0:C.item)==null?void 0:S.cover)??((O=(D=r.item)==null?void 0:D.item)==null?void 0:O.image)}),o=Ve(()=>{var C,S,D,O;return((S=(C=r.item)==null?void 0:C.item)==null?void 0:S.name)??((O=(D=r.item)==null?void 0:D.item)==null?void 0:O.title)}),l=Ve(()=>{var C,S;return(S=(C=r.item)==null?void 0:C.item)==null?void 0:S.artist}),u=Ve(()=>{var C;return(C=r.item)==null?void 0:C.type}),c=Ve(()=>({song:"music_note",album:"album",artist:"person",playlist:"queue_music"})[u.value??"song"]),f=Ve(()=>{var C;return Math.round(((C=r.item)==null?void 0:C.confidence)*1e3)/10}),h=Ve(()=>{var C;return((C=r.item)==null?void 0:C.scope)==="local"}),p=Ve(()=>{var C;return((C=r.item)==null?void 0:C.scope)==="spotify"}),v=Pe(),m=Pe(),A=()=>{u.value==="artist"?t.push(`/artist/${r.item.item.name}`):u.value==="playlist"?t.push(r.item.item.href):h.value?u.value==="song"&&t.push(r.item.item.href):p.value&&(u.value==="song"?v.value.show():u.value==="album"&&m.value.show())};return(C,S)=>(ne(),ge(et,null,[u.value==="song"&&p.value?(ne(),je(Rv,{key:0,ref_key:"importSpotifySong",ref:v,song:r.item.item},null,8,["song"])):Ne("",!0),u.value==="album"&&p.value?(ne(),je(PC,{key:1,ref_key:"importSpotifyAlbum",ref:m,album:r.item.item},null,8,["album"])):Ne("",!0),te("div",{class:Je(["item",{large:e.large}]),onClick:A},[me(oi,{src:s.value,placeholder:c.value,"with-ambient":""},null,8,["src","placeholder"]),te("div",CC,[te("div",EC,[te("span",kC,We(o.value),1),l.value?(ne(),ge("span",SC,We(l.value),1)):Ne("",!0)]),te("div",OC,[te("span",RC,We(f.value)+"% ",1),te("span",TC,We(c.value),1),h.value?Ne("",!0):(ne(),ge("span",IC,"cloud"))])])],2)],64))}});const LC=ot(MC,[["__scopeId","data-v-a7b44d84"]]),w6=["local","spotify"],$C=["song","artist","album","playlist"],DC={class:"header grid grid-cols-3 justify-between drop-shadow-md"},BC={class:"search flex flex-row"},NC=["onClick"],WC={class:"mr-2 flex flex-row gap-2"},VC=ze({__name:"Header",setup(e){const t=Pe(null),r=Pe(!1),s=Ve(()=>{if(!t.value)return{};const p=`calc(${t.value.offsetTop}px + 10px)`,v=`calc(${t.value.offsetLeft}px + 10px)`;return{top:p,left:v}});xc().onDownload.push(p=>{r.value=!0,setTimeout(()=>{r.value=!1},500)});const l=p=>{Rs.push(p.href)},u=async p=>p.length?(await(await fetch("/api/search",{method:"POST",body:JSON.stringify({query:p,scope:["local",...$C]})})).json()).items:[];let c=Pe("");const f=Pe(null);Vt(()=>{c.value=Rs.currentRoute.value.params.query||"",Rs.afterEach(p=>{c.value=p.params.query||"",console.log(c.value)}),window.addEventListener("keydown",p=>{var v;p.ctrlKey&&p.key==="k"&&(p.preventDefault(),(v=f.value)==null||v.focus())})});let h=()=>{Rs.push({name:"Search",params:{query:c.value}})};return(p,v)=>(ne(),ge("div",DC,[me(se(dP),{class:"hideIfMobile logo",onClick:v[0]||(v[0]=m=>p.$router.push("/"))}),te("div",BC,[me(Tn,{class:"sm:ml-0 mr-2",href:"/",icon:"home",minimised:"",name:"Home"}),me(u3,{modelValue:se(c),"onUpdate:modelValue":v[1]||(v[1]=m=>_t(c)?c.value=m:c=m),class:"md:!w-96",icon:"search",placeholder:"Search...",onSubmit:se(h),clickSuggest:l,suggest:u,ref_key:"search",ref:f},{default:Ot(({value:m,selected:A})=>[te("div",{class:Je(["suggestion",{selected:A}]),onClick:C=>l(m)},[me(LC,{item:m},null,8,["item"])],10,NC)]),_:1},8,["modelValue","onSubmit"])]),te("div",WC,[te("div",{class:"download",ref_key:"downloadIcon",ref:t},[me(Tn,{href:"/download",icon:"download",minimised:"",name:"Download"}),(ne(),je(eo,{to:"#popup-target"},[r.value?(ne(),ge("span",{key:0,class:"download-anim absolute top-0 left-0 z-[1000] material-symbols-rounded",style:Fr(s.value)},"download",4)):Ne("",!0)]))],512),me(Tn,{href:"/preferences",icon:"settings",minimised:"",name:"Preferences"})])]))}});const FC=ot(VC,[["__scopeId","data-v-62e5d812"]]),HC={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 809.48 395.8"},UC=te("path",{d:"M80.09 254.67c-4.84 0-9.04-1.72-12.6-5.16-3.57-3.43-5.35-7.7-5.35-12.79V79.04c0-4.84 1.78-8.97 5.35-12.41 3.56-3.44 7.76-5.16 12.6-5.16s8.97 1.72 12.41 5.16c3.43 3.43 5.15 7.57 5.15 12.41v157.68c0 5.09-1.72 9.36-5.15 12.79-3.44 3.44-7.58 5.16-12.41 5.16Zm70.63 61.47c-4.84 0-8.97-1.78-12.41-5.34-3.44-3.57-5.16-7.77-5.16-12.6V17.57c0-4.58 1.72-8.66 5.16-12.22 3.43-3.56 7.57-5.34 12.41-5.34s9.04 1.78 12.6 5.34c3.56 3.57 5.34 7.64 5.34 12.22V298.2c0 4.83-1.78 9.03-5.34 12.6-3.56 3.56-7.76 5.34-12.6 5.34ZM17.38 193.2c-4.79 0-8.88-1.7-12.27-5.1-3.4-3.4-5.1-7.61-5.1-12.65v-35.13c0-4.79 1.7-8.88 5.1-12.27 3.4-3.4 7.49-5.1 12.27-5.1s9 1.7 12.66 5.1c3.65 3.4 5.48 7.49 5.48 12.27v35.33c0 3.92-1.25 7.85-3.85 10.77-4.01 4.51-8.78 6.77-14.28 6.77Zm195.29 60.46c-4.78 0-8.87-1.7-12.28-5.11-3.4-3.4-5.1-7.62-5.1-12.66V79.86c0-4.79 1.7-8.88 5.1-12.28 3.4-3.4 7.5-5.11 12.28-5.11s9.01 1.7 12.66 5.11c3.65 3.4 5.48 7.49 5.48 12.28V235.9c0 5.04-1.76 9.26-5.29 12.66-3.52 3.4-7.81 5.11-12.85 5.11Zm62.52-60.46c-4.78 0-8.94-1.7-12.46-5.1-3.52-3.4-5.29-7.61-5.29-12.65v-35.13c0-4.79 1.76-8.88 5.29-12.27 3.53-3.4 7.68-5.1 12.46-5.1s8.94 1.7 12.46 5.1c3.53 3.4 5.29 7.49 5.29 12.27v35.13c0 5.03-1.76 9.25-5.29 12.65-3.52 3.4-7.68 5.1-12.46 5.1ZM436.15 266.18c-10.94-6.13-19.61-14.63-26-25.51-6.39-10.88-9.59-23.17-9.59-36.88s3.2-26 9.59-36.88c6.39-10.88 15.06-19.34 26-25.41 10.94-6.06 22.94-9.1 35.99-9.1s25.21 3.03 36.09 9.1c10.88 6.06 19.48 14.53 25.8 25.41 6.33 10.88 9.49 23.17 9.49 36.88s-3.16 26-9.49 36.88-14.96 19.38-25.9 25.51c-10.94 6.13-22.94 9.19-35.99 9.19s-25.05-3.06-35.99-9.19Zm59.42-36.48c5.73-6.46 8.6-15.09 8.6-25.9s-2.87-19.8-8.6-26.2c-5.73-6.39-13.54-9.59-23.43-9.59s-17.87 3.2-23.53 9.59c-5.67 6.4-8.5 15.13-8.5 26.2s2.83 19.61 8.5 26c5.67 6.4 13.51 9.59 23.53 9.59s17.7-3.23 23.43-9.69ZM690.05 273.99h-38.76l-51.61-77.91v77.91h-38.76V134.58h38.76l51.61 78.9v-78.9h38.76v139.41ZM750.95 165.63v22.74h44.49v29.46h-44.49v25.11h50.42v31.04h-89.18v-139.4h89.18v31.04h-50.42ZM414.68 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43h-1.39c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22ZM455.71 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.52-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM486.61 97.82h-17.56l-3.23 8.95h-5.54l14.55-40.02h6.06l14.5 40.02h-5.54l-3.23-8.95Zm-1.5-4.27-7.28-20.33-7.28 20.33h14.55ZM529.81 75.13v31.65h-5.25v-4.68c-1 1.62-2.4 2.88-4.19 3.78-1.79.9-3.76 1.36-5.92 1.36-2.46 0-4.68-.51-6.64-1.53s-3.51-2.55-4.65-4.59c-1.14-2.04-1.7-4.52-1.7-7.45V75.13h5.2v17.85c0 3.12.79 5.52 2.37 7.19 1.58 1.67 3.73 2.51 6.47 2.51s5.02-.87 6.64-2.6 2.43-4.25 2.43-7.57V75.13h5.25ZM538.7 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.86-2.02 7.71-2.02 2.46 0 4.75.57 6.87 1.7 2.12 1.14 3.73 2.63 4.85 4.48V64.04h5.31v42.74h-5.31v-5.95c-1.04 1.89-2.58 3.44-4.62 4.65s-4.43 1.82-7.16 1.82-5.36-.69-7.65-2.08c-2.29-1.39-4.09-3.33-5.4-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM577.91 68.95c-.69-.69-1.04-1.54-1.04-2.54s.35-1.85 1.04-2.54 1.54-1.04 2.54-1.04 1.78.35 2.45 1.04 1.01 1.54 1.01 2.54-.34 1.85-1.01 2.54-1.49 1.04-2.45 1.04-1.85-.35-2.54-1.04Zm5.08 6.18v31.65h-5.25V75.13h5.25ZM597.69 105.27c-2.41-1.35-4.29-3.26-5.66-5.75-1.37-2.48-2.05-5.36-2.05-8.63s.7-6.09 2.11-8.58 3.32-4.39 5.75-5.72 5.14-1.99 8.14-1.99 5.72.66 8.14 1.99 4.34 3.23 5.75 5.69c1.41 2.46 2.11 5.33 2.11 8.6s-.72 6.15-2.17 8.63c-1.44 2.48-3.4 4.4-5.86 5.75-2.46 1.35-5.2 2.02-8.2 2.02s-5.65-.67-8.06-2.02Zm13.37-3.93c1.65-.89 2.99-2.21 4.01-3.98 1.02-1.77 1.53-3.93 1.53-6.47s-.5-4.7-1.5-6.47c-1-1.77-2.31-3.09-3.93-3.96-1.62-.87-3.37-1.3-5.25-1.3s-3.69.43-5.28 1.3c-1.6.87-2.88 2.19-3.84 3.96s-1.44 3.93-1.44 6.47.47 4.76 1.41 6.53c.94 1.77 2.2 3.09 3.78 3.96 1.58.87 3.31 1.3 5.2 1.3s3.66-.44 5.31-1.33ZM652.38 86.65c-2.29 2.21-5.79 3.32-10.48 3.32h-7.74v16.81h-5.25V66.53h12.99c4.54 0 8 1.1 10.37 3.29 2.37 2.19 3.55 5.02 3.55 8.49s-1.15 6.13-3.44 8.35Zm-4.01-2.92c1.39-1.27 2.08-3.08 2.08-5.43 0-4.97-2.85-7.45-8.55-7.45h-7.74v14.78h7.74c2.93 0 5.08-.64 6.47-1.91ZM667.6 64.04v42.74h-5.25V64.04h5.25ZM676.55 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.84-2.02 7.65-2.02s5.18.6 7.22 1.79 3.56 2.7 4.56 4.5v-5.78h5.31v31.65h-5.31v-5.89c-1.04 1.85-2.59 3.38-4.65 4.59-2.06 1.21-4.46 1.82-7.19 1.82s-5.35-.69-7.62-2.08c-2.27-1.39-4.06-3.33-5.37-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM742.85 75.13l-19.06 46.55h-5.43l6.24-15.25-12.76-31.3h5.83l9.93 25.64 9.82-25.64h5.43ZM776.8 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.51-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM793.12 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43H798c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22Z"},null,-1),qC=[UC];function jC(e,t){return ne(),ge("svg",HC,qC)}const KC={render:jC};const zC={class:"startup"},ZC={class:"wrap"},GC={class:"logo"},YC={__name:"Startup",setup(e){return Vt(()=>{Lr.clear()}),(t,r)=>(ne(),ge("div",zC,[te("div",ZC,[te("div",GC,[me(se(KC))]),me(se(Ev))])]))}},JC=ot(YC,[["__scopeId","data-v-24a52185"]]),qn=document.createElement("video");qn.style.position="absolute";qn.style.top="0";qn.style.left="0";qn.style.width="500px";qn.style.height="500px";qn.style.zIndex="-1000";document.body.appendChild(qn);const Un=Pe("error"),sa=async()=>{if(Un.value=="error"||Un.value=="loading")return!1;await qn.requestPictureInPicture()},Iv=()=>{const e=zt(),t=Ur();let r;const s=async o=>{if(!t.player.pictureInPicture||e.song.id<0)return!1;r==null||r.terminate(),r=new Worker("/assets/ffmpeg/ffmpeg-worker-mp4.js"),Un.value="loading",console.log("loading new cover",o);const u=await(await fetch(o)).blob(),c=URL.createObjectURL(u);qn.src="";const f="t.jpg",h=[],p=new Image;p.src=c,p.style.width="100%",p.style.height="100%",p.onload=()=>{const C=document.createElement("canvas");C.width=p.width,C.height=p.height,C.getContext("2d").drawImage(p,0,0);const D=C.toDataURL("image/jpeg",1),O=v(D);h.push({name:f,data:O}),console.log("loaded image",h),requestAnimationFrame(m)};function v(C){var S=C.replace(/^data[^,]+,/,""),D=window.atob(S),O=D.length,k=new Uint8Array(new ArrayBuffer(O));for(let M=0;M{qn.src=webkitURL.createObjectURL(C)}};return ut(()=>t.player.pictureInPicture,async o=>{console.log("pictureInPicture enabled",o),o?(Iv(),o=!0,Un.value="error",await s(e.song.cover)):(r==null||r.terminate(),o=!1,Un.value="error")}),t.player.pictureInPicture?(ut(()=>e.song.cover,s),!0):!1},XC=ze({__name:"Card",props:{withHover:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){return(t,r)=>(ne(),ge("div",{class:Je([{withHover:e.withHover,disabled:e.disabled},"card"])},[Hi(t.$slots,"default",{},void 0,!0)],2))}});const Mv=ot(XC,[["__scopeId","data-v-04b9eb92"]]),QC={class:"message"},eE={key:0,class:"details"},tE=ze({__name:"ClosableNotification",props:{notification:{type:Object,required:!0}},emits:["remove"],setup(e,{emit:t}){const r=t,s=o=>{r("remove",o)};return(o,l)=>(ne(),je(Mv,{class:Je([e.notification.type,"notification"])},{default:Ot(()=>[te("div",QC,[te("h4",null,We(e.notification.message),1),e.notification.details?(ne(),ge("span",eE,We(e.notification.details),1)):Ne("",!0)]),te("span",{class:"material-symbols-rounded close",onClick:l[0]||(l[0]=u=>s(e.notification.id))}," close ")]),_:1},8,["class"]))}});const nE=ot(tE,[["__scopeId","data-v-49e9d059"]]),Lv=e=>(ci("data-v-4dd7578e"),e=e(),fi(),e),rE={class:"message"},iE={key:0,class:"details"},sE=Lv(()=>te("span",{class:"material-symbols-rounded"}," check ",-1)),oE=[sE],aE=Lv(()=>te("span",{class:"material-symbols-rounded"}," close ",-1)),lE=[aE],uE=ze({__name:"YesNoNotification",props:{notification:{type:Object,required:!0}},emits:["remove"],setup(e,{emit:t}){const r=e,s=t,o=()=>{s("remove",r.notification.id),r.notification.onNo&&r.notification.onNo()},l=()=>{s("remove",r.notification.id),r.notification.onYes&&r.notification.onYes()};return(u,c)=>(ne(),je(Mv,{class:"notification"},{default:Ot(()=>[te("div",rE,[te("h4",null,We(e.notification.message),1),e.notification.details?(ne(),ge("span",iE,We(e.notification.details),1)):Ne("",!0)]),te("div",{class:"yes-no"},[te("div",{class:"yes option",onClick:l},oE),te("div",{class:"no option",onClick:o},lE)])]),_:1}))}});const cE=ot(uE,[["__scopeId","data-v-4dd7578e"]]),fE={class:"notifications"},dE=ze({__name:"NotificationHandler",setup(e){const t=["success","error","info","warning"],r=Pe([]),s=u=>{r.value.push(u),u.timeout&&setTimeout(()=>{var c;(c=u.onTimeout)==null||c.call(u),o(u.id)},u.timeout)},o=u=>{r.value=r.value.filter(c=>c.id!=u)},l=()=>{r.value=[]};return window.addEventListener("notification.add",u=>{const c=u.detail;s(c)}),window.addEventListener("notification.remove",u=>{const c=u.detail;o(c)}),window.addEventListener("notification.clear",()=>{l()}),(u,c)=>(ne(),ge("div",fE,[(ne(!0),ge(et,null,cr(r.value,f=>(ne(),ge(et,{key:f.id},[t.includes(f.type)?(ne(),je(nE,{key:0,notification:f,onRemove:o},null,8,["notification"])):f.type=="yes-no"?(ne(),je(cE,{key:1,notification:f,onRemove:o},null,8,["notification"])):Ne("",!0)],64))),128))]))}});const hE=ot(dE,[["__scopeId","data-v-ca1aa49b"]]);const $v=()=>{console.log("attempting reconnect");const e=window.location.hostname,t=window.location.port==5173?1234:window.location.port,r=new WebSocket(`ws://${e}:${t}/ws`);r.onclose=()=>{console.log("ws closed"),zt().setReady(!1),setTimeout(()=>$v(),1e3)},r.onopen=()=>{console.log("ws connected"),zt().setReady(!0)},r.onmessage=s=>{const o=zt(),l=JSON.parse(s.data);l.path=="player.song"&&o.setSong(l.data),l.path=="player.playlist"&&o.setPlaylist(l.data)}},pE=()=>{zt().initialise(),tn().fetchPlaylists(),xc().initialise(),pv.restoreTheme()},mE=async()=>await(await fetch("/api/config/first-time")).json(),A6=async(e,t)=>{await fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:e,secret:t})})},vE=async()=>{const e=await fetch("/api/spotify/authorise");return e.status==200?(Lr.addYesNo("Do you want to authorise reAudioPlayer ONE to access your Spotify account?","You will be redirected to Spotify to authorise reAudioPlayer ONE to access your account.",null,async()=>{window.location.href=await e.text()}),!1):e.status==204},x6=async()=>await(await fetch("/api/config")).json(),P6=async e=>{await fetch("/api/config",{method:"PUT",body:JSON.stringify(e)})},gE=e=>(ci("data-v-50cefd67"),e=e(),fi(),e),yE={class:"sidebar drop-shadow-xl"},_E={class:"static"},bE={key:0},wE=gE(()=>te("br",{class:"hideIfMobile"},null,-1)),AE={key:0,class:"hideIfMobile"},xE={class:"playlistList hideIfMobile"},PE=["src"],CE={name:"Sidebar",components:{NavEntry:Tn},watch:{minimised(){this.collapseSidebar()}},mounted(){this.collapseSidebar()},computed:{minimised(){return!0}},methods:{hideCover(){this.$emit("expandCover",!1)},collapseSidebar(){document.documentElement.style.setProperty("--w-sidebar",this.minimised?"44px":"200px")}}},EE=ze({...CE,setup(e){const t=zt(),r=tn(),s=Ve(()=>t.song.cover),o=Ve(()=>r.playlists),l=Ur();return(u,c)=>(ne(),ge("div",yE,[te("div",_E,[me(Tn,{hasChildSites:!0,minimised:u.minimised,href:"/collection/playlists",icon:"library_music",name:"Your Library",parentHref:"/collection"},null,8,["minimised"]),me(Tn,{minimised:u.minimised,href:"/discover",icon:"explore",name:"Discover"},null,8,["minimised"]),se(l).sidebar.news||se(l).sidebar.sports?(ne(),ge("br",bE)):Ne("",!0),se(l).sidebar.news?(ne(),je(Tn,{key:1,hasChildSites:!0,minimised:u.minimised,href:"/news",icon:"newspaper",name:"News"},null,8,["minimised"])):Ne("",!0),se(l).sidebar.sports?(ne(),je(Tn,{key:2,hasChildSites:!0,minimised:u.minimised,href:"/sports",icon:"sports_soccer",name:"Sports"},null,8,["minimised"])):Ne("",!0),wE,me(Tn,{minimised:u.minimised,class:"hideIfMobile",href:"/playlist/create",icon:"add_circle",name:"Create Playlist"},null,8,["minimised"]),me(Tn,{minimised:u.minimised,href:"/collection/tracks",icon:"favorite",name:"Liked Songs"},null,8,["minimised"])]),o.value.length?(ne(),ge("hr",AE)):Ne("",!0),te("div",xE,[(ne(!0),ge(et,null,cr(o.value.filter(f=>f.type!="special"),(f,h)=>(ne(),je(Tn,{key:h,href:f.href,img:f.cover,minimised:u.minimised,name:f.name},null,8,["href","img","minimised","name"]))),128))]),se(l).player.expandedCover?(ne(),ge("img",{key:1,src:s.value,class:"cover hideIfMobile",onClick:c[0]||(c[0]=f=>se(l).player.expandedCover=!1)},null,8,PE)):Ne("",!0)]))}});const Dv=ot(EE,[["__scopeId","data-v-50cefd67"]]);const kE={name:"Body",data(){return{maximised:!1}},methods:{onMaximiseChange(e){this.maximised=e,this.$emit("maximise",e)}}};function SE(e,t,r,s,o,l){const u=Fi("router-view");return ne(),ge("div",{class:Je(["body",{maximised:o.maximised}])},[me(u,{onMaximise:l.onMaximiseChange,class:"view"},null,8,["onMaximise"])],2)}const Bv=ot(kE,[["render",SE],["__scopeId","data-v-772535b8"]]),OE={class:"html-audio"},RE=["src"],TE=ze({__name:"HtmlAudio",setup(e,{expose:t}){const r=zt(),s=Pe(null);let o=!1;Vt(()=>{s.value.src=null,s.value.src=r.stream,s.value.load(),s.value.onloadedmetadata=()=>{s.value&&(r.setDuration(s.value.duration),(o||r.playing)&&(u(),o=!1))}}),ut(()=>r.song.id,()=>{s.value.paused||(o=!0),s.value.src=null,s.value.src=r.stream,s.value.load(),r.setPlaying(!s.value.paused)});const l=()=>{o=!0,r.onSongEnded()},u=()=>{try{s.value.play()}catch{}},c=()=>{s.value.pause()},f=m=>{s.value.currentTime=m},h=m=>{let A=m/100;A=Math.min(Math.max(A,0),1),s.value.volume=A},p=m=>{s.value.muted=m};return Vt(()=>{h(r.volume)}),t({play:u,pause:c,seek:f,setVolume:h,setMute:p}),(m,A)=>(ne(),ge("div",OE,[te("audio",{ref_key:"audio",ref:s,src:se(r).stream,onEnded:l,onPause:A[0]||(A[0]=C=>se(r).setPlaying(!1)),onPlay:A[1]||(A[1]=C=>se(r).setPlaying(!0)),onTimeupdate:A[2]||(A[2]=C=>{var S;return se(r).setProgress((S=s.value)==null?void 0:S.currentTime)})},null,40,RE)]))}});const IE={props:{modelValue:{type:Number,required:!0},max:{type:Number,default:100}},watch:{modelValue(){this.value=this.modelValue}},computed:{percentage(){return Math.min(1,this.value/this.max)*100}},methods:{seek(e){const t=e.offsetX,r=this.$el.offsetWidth;this.value=t/r*this.max,this.$emit("change",this.value);try{this.$emit("update:modelValue",this.value)}catch{}}},data(){return{hover:!1,value:this.modelValue||0}}},ME={class:"progressBar__track"};function LE(e,t,r,s,o,l){return ne(),ge("div",{ref:"el",class:"progressBar",onClick:t[0]||(t[0]=(...u)=>l.seek&&l.seek(...u)),onMouseenter:t[1]||(t[1]=u=>o.hover=!0),onMouseleave:t[2]||(t[2]=u=>o.hover=!1)},[te("div",ME,[te("div",{class:Je([{hover:o.hover},"progressBar__progress"]),style:Fr({width:`${l.percentage}%`})},null,6)])],544)}const bu=ot(IE,[["render",LE],["__scopeId","data-v-80b99d67"]]),$E={class:"dropdown"},DE=["onClick"],BE={class:"material-symbols-rounded"},NE={key:0,class:"material-symbols-rounded"},WE=ze({__name:"IconDropdown",props:{modelValue:{type:String,required:!0},icon:{type:String,required:!0},options:{type:Array,required:!0}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,s=Pe(r.options),o=Pe(r.modelValue),l=Pe(!1),u=t;ut(r,h=>{o.value=h.modelValue,s.value=h.options},{deep:!0});const c=h=>{o.value=h,u("update:modelValue",h),l.value=!1},f=Pe(null);return ut(l,h=>{lr(()=>{if(h){const p=f.value.getBoundingClientRect();window.innerHeight-p.top>p.height?(f.value.style.top="100%",f.value.style.bottom="auto"):(f.value.style.top="auto",f.value.style.bottom="100%"),p.left<0?(f.value.style.left="0",f.value.style.right="auto"):p.right>window.innerWidth&&(f.value.style.left="auto",f.value.style.right="0")}})}),document.addEventListener("click",()=>{l.value=!1}),(h,p)=>(ne(),ge("div",$E,[te("span",{class:"dropdown__selected material-symbols-rounded ms-wght-400",onClick:p[0]||(p[0]=Wt(v=>l.value=!l.value,["stop"]))},We(e.icon),1),l.value?(ne(),ge("div",{key:0,ref_key:"trueDropdown",ref:f,class:Je([{expanded:l.value},"dropdown__options"])},[(ne(!0),ge(et,null,cr(s.value,v=>(ne(),ge("div",{key:v.value,class:"dropdown__option",onClick:Wt(m=>c(v.value),["stop"])},[te("span",BE,We(v.icon),1),te("span",null,We(v.label),1),o.value==v.value?(ne(),ge("span",NE,"check")):Ne("",!0)],8,DE))),128))],2)):Ne("",!0)]))}});const wu=ot(WE,[["__scopeId","data-v-f0ed46f1"]]),VE={class:"loader"},FE=ze({__name:"Spinner",setup(e){const t=Pe(null);return Vt(()=>{var l,u;const s=((l=t.value)==null?void 0:l.clientWidth)??0,o=8/80;for(const c of((u=t.value)==null?void 0:u.children)??[])c.style.width=`${s*.8}px`,c.style.height=`${s*.8}px`,c.style.borderWidth=`${s*o}px`,c.style.margin=`${s*o}px`}),(r,s)=>(ne(),ge("span",VE))}});const xp=ot(FE,[["__scopeId","data-v-a886b69f"]]);var Nv={exports:{}};/*! +}`;var qe=th(function(){return it(P,Te+"return "+he).apply(r,L)});if(qe.source=he,Xl(qe))throw qe;return qe}function Tw(n){return st(n).toLowerCase()}function Iw(n){return st(n).toUpperCase()}function Mw(n,i,a){if(n=st(n),n&&(a||i===r))return cf(n);if(!n||!(i=an(i)))return n;var d=kn(n),g=kn(i),P=ff(d,g),L=df(d,g)+1;return yr(d,P,L).join("")}function Lw(n,i,a){if(n=st(n),n&&(a||i===r))return n.slice(0,pf(n)+1);if(!n||!(i=an(i)))return n;var d=kn(n),g=df(d,kn(i))+1;return yr(d,0,g).join("")}function $w(n,i,a){if(n=st(n),n&&(a||i===r))return n.replace(Xa,"");if(!n||!(i=an(i)))return n;var d=kn(n),g=ff(d,kn(i));return yr(d,g).join("")}function Dw(n,i){var a=K,d=q;if(At(i)){var g="separator"in i?i.separator:g;a="length"in i?Ue(i.length):a,d="omission"in i?an(i.omission):d}n=st(n);var P=n.length;if(gi(n)){var L=kn(n);P=L.length}if(a>=P)return n;var W=a-yi(d);if(W<1)return d;var J=L?yr(L,0,W).join(""):n.slice(0,W);if(g===r)return J+d;if(L&&(W+=J.length-W),Ql(g)){if(n.slice(W).search(g)){var ae,ue=J;for(g.global||(g=ml(g.source,st(Tc.exec(g))+"g")),g.lastIndex=0;ae=g.exec(ue);)var he=ae.index;J=J.slice(0,he===r?W:he)}}else if(n.indexOf(an(g),W)!=W){var we=J.lastIndexOf(g);we>-1&&(J=J.slice(0,we))}return J+d}function Bw(n){return n=st(n),n&&Zv.test(n)?n.replace(Sc,dy):n}var Nw=Ci(function(n,i,a){return n+(a?" ":"")+i.toUpperCase()}),nu=nd("toUpperCase");function eh(n,i,a){return n=st(n),i=a?r:i,i===r?ay(n)?my(n):Xg(n):n.match(i)||[]}var th=Ke(function(n,i){try{return sn(n,r,i)}catch(a){return Xl(a)?a:new Fe(a)}}),Ww=Yn(function(n,i){return vn(i,function(a){a=Wn(a),Zn(n,a,Yl(n[a],n))}),n});function Vw(n){var i=n==null?0:n.length,a=Me();return n=i?gt(n,function(d){if(typeof d[1]!="function")throw new gn(u);return[a(d[0]),d[1]]}):[],Ke(function(d){for(var g=-1;++g_)return[];var a=y,d=Dt(n,y);i=Me(i),n-=y;for(var g=dl(d,i);++a0||i<0)?new Ye(a):(n<0?a=a.takeRight(-n):n&&(a=a.drop(n)),i!==r&&(i=Ue(i),a=i<0?a.dropRight(-i):a.take(i-n)),a)},Ye.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Ye.prototype.toArray=function(){return this.take(y)},Bn(Ye.prototype,function(n,i){var a=/^(?:filter|find|map|reject)|While$/.test(i),d=/^(?:head|last)$/.test(i),g=b[d?"take"+(i=="last"?"Right":""):i],P=d||/^find/.test(i);g&&(b.prototype[i]=function(){var L=this.__wrapped__,W=d?[1]:arguments,J=L instanceof Ye,ae=W[0],ue=J||He(L),he=function(Ge){var Qe=g.apply(b,dr([Ge],W));return d&&we?Qe[0]:Qe};ue&&a&&typeof ae=="function"&&ae.length!=1&&(J=ue=!1);var we=this.__chain__,Te=!!this.__actions__.length,$e=P&&!we,qe=J&&!Te;if(!P&&ue){L=qe?L:new Ye(this);var De=n.apply(L,W);return De.__actions__.push({func:No,args:[he],thisArg:r}),new yn(De,we)}return $e&&qe?n.apply(this,W):(De=this.thru(he),$e?d?De.value()[0]:De.value():De)})}),vn(["pop","push","shift","sort","splice","unshift"],function(n){var i=uo[n],a=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",d=/^(?:pop|shift)$/.test(n);b.prototype[n]=function(){var g=arguments;if(d&&!this.__chain__){var P=this.value();return i.apply(He(P)?P:[],g)}return this[a](function(L){return i.apply(He(L)?L:[],g)})}}),Bn(Ye.prototype,function(n,i){var a=b[i];if(a){var d=a.name+"";at.call(Ai,d)||(Ai[d]=[]),Ai[d].push({name:i,func:a})}}),Ai[To(r,O).name]=[{name:"wrapper",func:r}],Ye.prototype.clone=By,Ye.prototype.reverse=Ny,Ye.prototype.value=Wy,b.prototype.at=p0,b.prototype.chain=m0,b.prototype.commit=v0,b.prototype.next=g0,b.prototype.plant=_0,b.prototype.reverse=b0,b.prototype.toJSON=b.prototype.valueOf=b.prototype.value=w0,b.prototype.first=b.prototype.head,ns&&(b.prototype[ns]=y0),b},_i=vy();qr?((qr.exports=_i)._=_i,il._=_i):Mt._=_i}).call(As)})(Ea,Ea.exports);var o4=Ea.exports;const a4={class:"flex flex-col"},l4=ze({__name:"InputWithAutoComplete",props:{icon:String,placeholder:String,modelValue:String,onClick:{type:Function,required:!1},suggest:{type:Function,required:!0},clickSuggest:{type:Function,required:!1}},emits:["update:modelValue","change","submit"],setup(e,{expose:t,emit:r}){const s=Pe(-1),o=S=>S.key==="ArrowDown"?(s.value++,s.value>=p.value.length&&(s.value=-1),!0):S.key==="ArrowUp"?(s.value===-1&&(s.value=p.value.length),s.value--,s.value<0&&(s.value=-1),!0):S.key==="Enter"&&(console.log(s.value),s.value>=0)?(l.clickSuggest(p.value[s.value]),s.value=-1,p.value=[],!0):!1;document.addEventListener("click",S=>{var D;(D=f.value)!=null&&D.contains(S.target)||(p.value=[],s.value=-1)});const l=e,u=Pe(l.modelValue),c=Pe(null);ut(()=>l.modelValue,S=>{u.value=S});const f=Pe(null),h=Ve(()=>{var S,D;return{top:f.value.offsetTop+f.value.offsetHeight+"px",left:((S=f.value)==null?void 0:S.offsetLeft)+"px",width:((D=f.value)==null?void 0:D.offsetWidth)+"px"}}),p=Pe([]),v=o4.debounce(async()=>{p.value=(await l.suggest(u.value)).slice(0,5)},300),m=r,A=()=>{m("update:modelValue",u.value),m("change",u.value),v()},C=S=>{m("submit",S),p.value=[]};return t({focus:()=>{var S;(S=c.value)==null||S.focus()}}),(S,D)=>(ne(),ge(et,null,[te("div",{ref_key:"inputElement",ref:f,class:"input-with-autocomplete"},[me(Zu,{modelValue:u.value,"onUpdate:modelValue":D[0]||(D[0]=O=>u.value=O),icon:e.icon,placeholder:e.placeholder,onSubmit:C,onChange:A,onKeyUp:o,expanded:p.value.length>0,ref_key:"input",ref:c},null,8,["modelValue","icon","placeholder","expanded"])],512),p.value.length>0?(ne(),je(eo,{key:0,to:"#autocomplete-target"},[te("div",{class:"suggestions absolute w-full z-10",style:Fr(h.value),onClick:D[1]||(D[1]=Wt(O=>p.value=[],["stop"]))},[te("div",a4,[(ne(!0),ge(et,null,cr(p.value,(O,k)=>Ui(S.$slots,"default",{selected:k===s.value,value:O},void 0,!0)),256))])],4)])):Ne("",!0)],64))}});const u4=ot(l4,[["__scopeId","data-v-9a74c378"]]);const c4={name:"Loader"},f4=e=>(ci("data-v-a8d83b29"),e=e(),fi(),e),d4={class:"loader"},h4=f4(()=>te("div",{class:"spinner"},[te("div",{class:"bounce1"}),te("div",{class:"bounce2"}),te("div",{class:"bounce3"})],-1)),p4=[h4];function m4(e,t,r,s,o,l){return ne(),ge("div",d4,p4)}const Ev=ot(c4,[["render",m4],["__scopeId","data-v-a8d83b29"]]),v4={key:1},g4=ze({__name:"IconButton",props:{icon:{type:String,required:!1},label:{type:String,required:!0},disabled:{type:Boolean,required:!1,default:!1},type:{type:String,required:!1,default:"negative"}},setup(e){return(t,r)=>(ne(),ge("button",{class:Je([(e.disabled?"disabled ":"")+e.type,"flex items-center justify-center h-12 p-4 mt-4 rounded-full"])},[e.icon?(ne(),ge("span",{key:0,class:Je([{"mr-2":e.label},"material-symbols-rounded"])},We(e.icon),3)):Ne("",!0),e.label?(ne(),ge("span",v4,We(e.label),1)):Ne("",!0)],2))}});const Ap=ot(g4,[["__scopeId","data-v-b68d33f1"]]),y4=e=>(ci("data-v-faea87bd"),e=e(),fi(),e),_4={class:"header bg-secondary rounded-t-2xl p-3"},b4={class:"title font-black"},w4=y4(()=>te("span",{class:"title material-icons-round"}," close ",-1)),A4=[w4],x4={key:1},P4={key:2,class:"p-4 pt-0 flex flex-col overflow-x-hidden overflow-y-auto"},C4={key:0,class:"confirm"},E4=ze({__name:"Template",props:{name:{type:String,required:!0},submit:{type:Object,required:!1},secondary:{type:Object,required:!1,default:null}},emits:["submit","close","secondary"],setup(e,{expose:t,emit:r}){const s=e,o=Pe(!1),l=Pe(!1),u=Pe(""),c=()=>l.value=!1,f=()=>{o.value=!1,l.value=!0},h=()=>{o.value=!0,l.value=!0},p=async(S,D)=>{h();const O=await window.fetch(S,D);return f(),O.ok?O:(u.value=await O.text(),null)},v=r,m=()=>{c(),v("close")},A=()=>{v("submit"),m()},C=()=>{v("secondary"),m()};return t({show:f,hide:c,load:h,fetch:p}),(S,D)=>l.value?(ne(),je(eo,{key:0,to:"#popup-target"},[te("div",{class:"modal",onClick:D[1]||(D[1]=Wt(O=>l.value=!1,["stop"])),onContextmenu:D[2]||(D[2]=Wt(()=>{},["stop"])),onDrag:D[3]||(D[3]=Wt(()=>{},["stop"]))},[te("div",{class:"modal-content",onClick:D[0]||(D[0]=Wt(()=>{},["stop"]))},[te("div",_4,[te("h3",b4,We(e.name),1),te("button",{class:"modal-close",onClick:m},A4)]),o.value?(ne(),je(Ev,{key:0})):u.value?(ne(),ge("div",x4)):(ne(),ge("div",P4,[Ui(S.$slots,"default",{},void 0,!0),s.submit||s.secondary?(ne(),ge("div",C4,[s.secondary?(ne(),je(Ap,{key:0,icon:s.secondary.icon,label:s.secondary.label,type:s.secondary.type,onClick:C},null,8,["icon","label","type"])):Ne("",!0),s.submit?(ne(),je(Ap,{key:1,icon:s.submit.icon,label:s.submit.label,type:s.submit.type,onClick:A},null,8,["icon","label","type"])):Ne("",!0)])):Ne("",!0)]))])],32)])):Ne("",!0)}});const kv=ot(E4,[["__scopeId","data-v-faea87bd"]]),k4={class:"flex flex-row gap-2"},S4={key:0,class:"material-symbols-rounded ms-wght-200"},O4={class:"material-symbols-rounded"},R4=["onClick"],T4={class:"material-symbols-rounded"},I4={key:0,class:"material-symbols-rounded"},M4=ze({__name:"Dropdown",props:{modelValue:{type:String,required:!0},options:{type:Array,required:!0},icon:{type:String,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,s=Pe(r.modelValue),o=Pe(!1),l=t;ut(r,p=>{s.value=p.modelValue},{deep:!0});const u=p=>{s.value=p,l("update:modelValue",p),o.value=!1},c=Ve(()=>{const p=r.options.find(v=>v.value==s.value);return p?p.label:""}),f=Pe(null),h=Pe(null);return ut(o,p=>{lr(()=>{if(p){const v=f.value.getBoundingClientRect(),m=h.value.getBoundingClientRect(),A=m.top,C=m.bottom,S=window.innerHeight-C,D=m.width;f.value.style.width=D+"px",f.value.style.left=m.left+"px",S>v.height?(f.value.style.top=C+"px",f.value.style.bottom="auto"):(f.value.style.top="auto",f.value.style.bottom=A-v.height+"px")}})}),window.addEventListener("click",()=>{o.value=!1}),(p,v)=>(ne(),ge("div",{ref_key:"container",ref:h,class:"dropdown"},[te("div",{class:Je([{expanded:o.value},"dropdown__selected"]),onClick:v[0]||(v[0]=Wt(m=>o.value=!o.value,["stop"]))},[te("div",k4,[e.icon?(ne(),ge("span",S4,We(e.icon),1)):Ne("",!0),te("span",null,We(c.value),1)]),te("i",O4,We(o.value?"expand_less":"expand_more"),1)],2),(ne(),je(eo,{to:"#dropdown-target"},[o.value?(ne(),ge("div",{key:0,ref_key:"trueDropdown",ref:f,class:"dropdown__options"},[(ne(!0),ge(et,null,cr(e.options,m=>(ne(),ge("div",{key:m.value,class:"dropdown__option",onClick:Wt(A=>u(m.value),["stop"])},[te("span",T4,We(m.icon),1),te("span",null,We(m.label),1),s.value==m.value?(ne(),ge("span",I4,"check")):Ne("",!0)],8,R4))),128))],512)):Ne("",!0)]))],512))}});const L4=ot(M4,[["__scopeId","data-v-186027d9"]]),$4={class:"form"},D4={class:"content"},B4=["onClick"],N4=["accept","onChange"],W4={key:0,class:"imagePreview"},V4=["onUpdate:modelValue","type","onChange"],F4=ze({__name:"Form",props:{options:{type:Array,required:!0}},setup(e,{expose:t}){const r=e;return t({toObject:()=>{const o={};return r.options.forEach(l=>{o[l.name]=l.value}),o}}),(o,l)=>(ne(),ge("div",$4,[(ne(!0),ge(et,null,cr(e.options,u=>(ne(),ge("div",{key:u.name,class:"option"},[te("h4",null,We(se(Nx)(u.name)),1),te("div",D4,[u.type=="upload"?(ne(),ge(et,{key:0},[te("span",{class:"material-symbols-rounded icon-button",onClick:()=>{var c,f;return(f=(c=o.$refs["upload-"+u.name])==null?void 0:c[0])==null?void 0:f.click()}}," file_upload ",8,B4),te("input",{ref_for:!0,ref:"upload-"+u.name,accept:u.accept,style:{display:"none"},type:"file",onChange:c=>u==null?void 0:u.onUpload(c.target.files[0])},null,40,N4),me(Zu,{ref_for:!0,ref:"cover",modelValue:u.value,"onUpdate:modelValue":c=>u.value=c,icon:u.icon,class:"addSong cover",type:"text",onChange:c=>u==null?void 0:u.onChange(u.value)},null,8,["modelValue","onUpdate:modelValue","icon","onChange"]),u.imagePreview?(ne(),ge("div",W4,[me(oi,{src:se(xa)(u.value),class:"cover",onClick:c=>se(bc)(u.value)},null,8,["src","onClick"])])):Ne("",!0)],64)):u.type=="dropdown"?(ne(),je(L4,{key:1,modelValue:u.value,"onUpdate:modelValue":c=>u.value=c,icon:u.icon,options:u.options},null,8,["modelValue","onUpdate:modelValue","icon","options"])):u.type=="text"?(ne(),je(Zu,{key:2,modelValue:u.value,"onUpdate:modelValue":c=>u.value=c,icon:u.icon,placeholder:u.placeholder,required:u.required,type:u.type,onChange:c=>u.onChange?u==null?void 0:u.onChange(u.value):null},null,8,["modelValue","onUpdate:modelValue","icon","placeholder","required","type","onChange"])):Ks((ne(),ge("input",{key:3,"onUpdate:modelValue":c=>u.value=c,type:u.type,onChange:c=>u.onChange?u==null?void 0:u.onChange(u.value):null},null,40,V4)),[[_c,u.value]])])]))),128))]))}});const Sv=ot(F4,[["__scopeId","data-v-f7f90291"]]),H4={class:"padding-20 playlisteditor"},U4=["src"],q4={class:"details"},j4={class:"detailswrapper"},K4=["onClick"],z4=ze({__name:"TrackInfo",props:{title:{type:String,required:!0},subtitle:{type:String,required:!0},cover:{type:String,required:!0},icons:{type:Array,required:!0}},setup(e){return(t,r)=>(ne(),ge("div",H4,[te("img",{src:e.cover,class:"cover"},null,8,U4),te("div",q4,[te("div",j4,[(ne(!0),ge(et,null,cr(e.icons,(s,o)=>(ne(),ge("span",{key:o,class:"material-icons-round",onClick:s.onClick},We(s.name),9,K4))),128))]),te("h1",null,We(e.title),1),te("h6",null,We(e.subtitle),1)])]))}});const Ov=ot(z4,[["__scopeId","data-v-eab2eaeb"]]),xs=e=>{const t=new CustomEvent("notification.add",{detail:e});window.dispatchEvent(t)},Lr={addSuccess(e,t,r){const s=Math.random().toString(36).substring(7);return xs({id:s,message:e,details:t,type:"success",timeout:r}),s},addError(e,t,r){const s=Math.random().toString(36).substring(7);return xs({id:s,message:e,details:t,type:"error",timeout:r}),s},addInfo(e,t,r){const s=Math.random().toString(36).substring(7);return xs({id:s,message:e,details:t,type:"info",timeout:r}),s},addWarning(e,t,r){const s=Math.random().toString(36).substring(7);return xs({id:s,message:e,details:t,type:"warning",timeout:r}),s},addYesNo(e,t,r,s,o,l){const u=Math.random().toString(36).substring(7);return xs({id:u,message:e,details:t,type:"yes-no",timeout:r,onYes:s,onNo:o,onTimeout:l}),u},remove(e){const t=new CustomEvent("notification.remove",{detail:e});window.dispatchEvent(t)},clear(){const e=new CustomEvent("notification.clear");window.dispatchEvent(e)}},Rv=ze({__name:"ImportSpotifySong",props:{song:{type:Object,required:!0}},setup(e,{expose:t}){const r=tn(),s=e,o=Pe([{name:"playlist",type:"dropdown",icon:"playlist_add",required:!0,value:null,options:r.playlistsAsDropdown}]),l=Pe(null),u=Pe(null),c=Pe(null),f=async()=>{if(c.value){l.value.show();return}const m=await l.value.fetch("/api/browse/track",{method:"POST",body:JSON.stringify({url:s.song.href})});m&&(l.value.load(),c.value=await m.json(),l.value.show())},h=()=>{const m=new CustomEvent("player.play",{detail:{artist:s.song.artist,title:s.song.title,source:s.song.href}});window.dispatchEvent(m)},p=async m=>{if(m==="new"){const A=await Ac("classic",s.song.title,s.song.artist,s.song.cover);return o.value[0].options=r.playlistsAsDropdown,o.value[0].value=A,A}return m},v=async(m,A=null)=>{var C;A??(A=u.value.toObject().playlist),console.log(A),A=await p(A),await av(A,c.value),s.song.added=!0,Lr.addSuccess(c.value.title,`Added to ${(C=r.playlists.find(S=>S.id==A))==null?void 0:C.name}`,3e3)};return t({show:f}),(m,A)=>(ne(),je(kv,{ref_key:"modal",ref:l,submit:{label:"Add",icon:"add"},name:"Import Song",onClose:A[0]||(A[0]=C=>m.$emit("close")),onSubmit:v},{default:Ot(()=>[me(Ov,{cover:e.song.cover,icons:[{name:"share",onClick:()=>se(bc)(e.song.href)},{name:"play_arrow",onClick:h}],title:e.song.title},null,8,["cover","icons","title"]),me(Sv,{ref_key:"form",ref:u,options:o.value},null,8,["options"])]),_:1},512))}}),kc=e=>(ci("data-v-f8e4524a"),e=e(),fi(),e),Z4=kc(()=>te("div",{class:"index text-right"},"#",-1)),G4=kc(()=>te("div",{class:"artist-title"}," title ",-1)),Y4={key:0,class:"album"},J4={key:1,class:"duration"},X4=kc(()=>te("span",{class:"material-symbols-rounded"},"schedule",-1)),Q4=[X4],eC=ze({__name:"PlaylistHeader",props:{withAlbum:{type:Boolean,required:!1,default:!1},withMore:{type:Boolean,required:!1,default:!1},withoutDuration:{type:Boolean,required:!1,default:!1}},setup(e){return(t,r)=>(ne(),ge("div",{class:Je([{withAlbum:e.withAlbum,withMore:e.withMore},"playlist-header"])},[Z4,G4,e.withAlbum?(ne(),ge("div",Y4," album ")):Ne("",!0),e.withoutDuration?Ne("",!0):(ne(),ge("div",J4,Q4))],2))}});const tC=ot(eC,[["__scopeId","data-v-f8e4524a"]]);const nC={name:"Marquee",mounted(){this.update(),window.addEventListener("resize",this.update)},data(){return{isMarquee:!1}},methods:{isTruncated(e){return(e==null?void 0:e.scrollWidth)>(e==null?void 0:e.clientWidth)},update(){this.isMarquee=!1,setTimeout(()=>{this.isMarquee=this.isTruncated(this.$refs.marquee)},10)}}},rC={key:0,class:"replacer"},iC={key:0,class:"overlay"};function sC(e,t,r,s,o,l){return ne(),ge("div",{class:Je([{marquee:o.isMarquee},"marqueeWrapper"])},[te("span",{ref:"marquee",class:Je({marquee:o.isMarquee})},[Ui(e.$slots,"default",{},void 0,!0),o.isMarquee?(ne(),ge("span",rC,[Ui(e.$slots,"default",{},void 0,!0)])):Ne("",!0)],2),o.isMarquee?(ne(),ge("div",iC)):Ne("",!0)],2)}const oC=ot(nC,[["render",sC],["__scopeId","data-v-ad7138e8"]]),aC={class:"artist"},lC=ze({__name:"ArtistMarquee",props:{artist:{type:String,required:!0}},setup(e){const t=e,r=Ve(()=>t.artist.split(", "));return(s,o)=>{const l=Hi("router-link");return ne(),je(oC,null,{default:Ot(()=>[(ne(!0),ge(et,null,cr(r.value,u=>(ne(),ge("span",aC,[me(l,{to:"/artist/"+u},{default:Ot(()=>[Ua(We(u),1)]),_:2},1032,["to"])]))),256))]),_:1})}}});const Tv=ot(lC,[["__scopeId","data-v-156468cf"]]),uC={key:0,class:"cover"},cC={class:"artist-title"},fC={class:"title"},dC={class:"artist"},hC={key:1,class:"album"},pC=["onClick"],mC=ze({__name:"ExternalEntry",props:{song:{type:Object,required:!0},index:{type:Number,required:!0},withCover:{type:Boolean,required:!1,default:!1},withAlbum:{type:Boolean,required:!1,default:!1},selected:{type:Boolean,required:!1,default:!1},playlistId:{type:Number,required:!1,default:null},canImport:{type:Boolean,required:!1,default:!1}},emits:["update","add"],setup(e,{emit:t}){const r=e,s=t,o=zt(),l=Ve(()=>r.song.id==o.song.id),u=Pe(!1);Ve(()=>r.playlistId==null?o.playlist.id:r.playlistId);const c=()=>{eP(r.song.title,r.song.artist,r.song.source||r.song.href)},f=Pe(null),h=()=>{r.canImport?f.value.show():s("add")};return(p,v)=>(ne(),ge(et,null,[e.canImport?(ne(),je(Rv,{key:0,ref_key:"updatePopup",ref:f,song:e.song},null,8,["song"])):Ne("",!0),te("div",{class:Je([{playing:l.value,selected:e.selected,hovering:u.value,withCover:e.withCover,withAlbum:e.withAlbum},"playlist-entry"]),onDblclick:c,onMouseenter:v[0]||(v[0]=m=>u.value=!0),onMouseleave:v[1]||(v[1]=m=>u.value=!1)},[te("div",{class:Je([{"material-symbols-rounded":u.value},"index text-right"]),onClick:c},We(u.value?"play_arrow":e.index+1),3),e.withCover?(ne(),ge("div",uC,[me(oi,{src:e.song.cover,type:"track"},null,8,["src"])])):Ne("",!0),te("div",cC,[te("span",fC,[(ne(),je(YA(e.song.href.startsWith("http")?"a":"router-link"),{href:e.song.href,to:e.song.href,class:"linkOnHover"},{default:Ot(()=>[me(ir,{text:e.song.title},null,8,["text"])]),_:1},8,["href","to"]))]),te("span",dC,[me(Tv,{artist:e.song.artist,class:"text-muted text-xs"},null,8,["artist"])])]),e.withAlbum&&!se(Uu)?(ne(),ge("div",hC,[me(ir,{text:e.song.album},null,8,["text"])])):Ne("",!0),te("div",{class:"icon text-left material-symbols-rounded",onClick:Wt(h,["stop"])},We(e.song.added?"done":"add"),9,pC)],34)],64))}});const vC=ot(mC,[["__scopeId","data-v-2482bde4"]]),gC=e=>(ci("data-v-43692079"),e=e(),fi(),e),yC={class:"playlist"},_C=gC(()=>te("hr",null,null,-1)),bC={class:"entries"},wC=ze({__name:"Playlist",props:{songs:{type:Array,required:!0},noCover:{type:Boolean,default:!1}},setup(e){return(t,r)=>(ne(),ge("div",yC,[me(tC,{"without-duration":""}),_C,te("div",bC,[(ne(!0),ge(et,null,cr(e.songs,(s,o)=>(ne(),je(vC,{key:s.source,added:s.added,index:o,song:s,title:s.title,"with-cover":!e.noCover,onAdd:l=>t.$emit("add",o)},null,8,["added","index","song","title","with-cover","onAdd"]))),128))])]))}});const AC=ot(wC,[["__scopeId","data-v-43692079"]]),xC=te("br",null,null,-1),PC=ze({__name:"ImportSpotifyAlbum",props:{album:{type:Object,required:!0}},setup(e,{expose:t}){const r=tn(),s=e,o=Pe([{name:"playlist",type:"dropdown",icon:"playlist_add",required:!0,value:null,options:r.playlistsAsDropdown}]),l=Pe(null),u=Pe(null),c=Pe([]),f=async()=>{if(c.value.length>0){l.value.show();return}const A=await l.value.fetch(`/api/spotify/albums/${s.album.id}`);A&&(c.value=await A.json())},h=()=>{const A=new CustomEvent("player.play",{detail:{artist:s.album.artist,title:s.album.title,source:s.album.href}});window.dispatchEvent(A)},p=async A=>{if(A==="new"){const C=await Ac("classic",s.album.title,`${s.album.releaseDate}, ${s.album.artist}`,s.album.cover);return o.value[0].options=r.playlistsAsDropdown,o.value[0].value=C,C}return A},v=async(A,C=null)=>{c.value[A].added||(C??(C=u.value.toObject().playlist),C=await p(C),await av(C,c.value[A]),c.value[A].added=!0)},m=async()=>{let A=u.value.toObject().playlist;A=await p(A),c.value.forEach((C,S)=>{v(S,A)}),Lr.addSuccess(s.album.title,`Added ${c.value.length} songs to ${r.playlists[A].name}`,3e3)};return t({show:f}),(A,C)=>(ne(),je(kv,{ref_key:"modal",ref:l,submit:{label:"Add All",icon:"add"},name:"Import Album",onClose:C[0]||(C[0]=S=>A.$emit("close")),onSubmit:m},{default:Ot(()=>[me(Ov,{cover:e.album.cover,icons:[{name:"share",onClick:()=>se(bc)(e.album.href)},{name:"play_arrow",onClick:h}],subtitle:e.album.artist,title:e.album.title},null,8,["cover","icons","subtitle","title"]),me(Sv,{ref_key:"form",ref:u,options:o.value},null,8,["options"]),xC,me(AC,{songs:c.value,noCover:"",onAdd:v},null,8,["songs"])]),_:1},512))}}),CC={class:"info"},EC={class:"flex flex-col flex-1"},kC={class:"name"},SC={key:0,class:"text-muted text-sm"},OC={class:"aux flex items-center text-muted text-sm gap-2"},RC={class:"tag"},TC={class:"material-symbols-rounded tag"},IC={key:0,class:"material-symbols-rounded tag"},MC=ze({__name:"SearchResultItem",props:{item:{type:Object,required:!0},large:{type:Boolean,default:!1},noHover:{type:Boolean,default:!1}},setup(e){const t=t4(),r=e,s=Ve(()=>{var C,S,D,O;return((S=(C=r.item)==null?void 0:C.item)==null?void 0:S.cover)??((O=(D=r.item)==null?void 0:D.item)==null?void 0:O.image)}),o=Ve(()=>{var C,S,D,O;return((S=(C=r.item)==null?void 0:C.item)==null?void 0:S.name)??((O=(D=r.item)==null?void 0:D.item)==null?void 0:O.title)}),l=Ve(()=>{var C,S;return(S=(C=r.item)==null?void 0:C.item)==null?void 0:S.artist}),u=Ve(()=>{var C;return(C=r.item)==null?void 0:C.type}),c=Ve(()=>({song:"music_note",album:"album",artist:"person",playlist:"queue_music"})[u.value??"song"]),f=Ve(()=>{var C;return Math.round(((C=r.item)==null?void 0:C.confidence)*1e3)/10}),h=Ve(()=>{var C;return((C=r.item)==null?void 0:C.scope)==="local"}),p=Ve(()=>{var C;return((C=r.item)==null?void 0:C.scope)==="spotify"}),v=Pe(),m=Pe(),A=()=>{u.value==="artist"?t.push(`/artist/${r.item.item.name}`):u.value==="playlist"?t.push(r.item.item.href):h.value?u.value==="song"&&t.push(r.item.item.href):p.value&&(u.value==="song"?v.value.show():u.value==="album"&&m.value.show())};return(C,S)=>(ne(),ge(et,null,[u.value==="song"&&p.value?(ne(),je(Rv,{key:0,ref_key:"importSpotifySong",ref:v,song:r.item.item},null,8,["song"])):Ne("",!0),u.value==="album"&&p.value?(ne(),je(PC,{key:1,ref_key:"importSpotifyAlbum",ref:m,album:r.item.item},null,8,["album"])):Ne("",!0),te("div",{class:Je(["item",{large:e.large,noHover:e.noHover}]),onClick:A},[me(oi,{src:s.value,placeholder:c.value,"with-ambient":""},null,8,["src","placeholder"]),te("div",CC,[te("div",EC,[te("span",kC,We(o.value),1),l.value?(ne(),ge("span",SC,We(l.value),1)):Ne("",!0)]),te("div",OC,[te("span",RC,We(f.value)+"% ",1),te("span",TC,We(c.value),1),h.value?Ne("",!0):(ne(),ge("span",IC,"cloud"))])])],2)],64))}});const LC=ot(MC,[["__scopeId","data-v-291ac2ab"]]),w6=["local","spotify"],$C=["song","artist","album","playlist"],DC={class:"header grid grid-cols-3 justify-between drop-shadow-md"},BC={class:"search flex flex-row"},NC=["onClick"],WC={class:"mr-2 flex flex-row gap-2"},VC=ze({__name:"Header",setup(e){const t=Pe(null),r=Pe(!1),s=Ve(()=>{if(!t.value)return{};const p=`calc(${t.value.offsetTop}px + 10px)`,v=`calc(${t.value.offsetLeft}px + 10px)`;return{top:p,left:v}});xc().onDownload.push(p=>{r.value=!0,setTimeout(()=>{r.value=!1},500)});const l=p=>{if(p.type==="artist"){Mi.push(`/artist/${p.item.name}`);return}Mi.push(p.item.href)},u=async p=>p.length?(await(await fetch("/api/search",{method:"POST",body:JSON.stringify({query:p,scope:["local",...$C]})})).json()).items:[];let c=Pe("");const f=Pe(null);Vt(()=>{c.value=Mi.currentRoute.value.params.query||"",Mi.afterEach(p=>{c.value=p.params.query||"",console.log(c.value)}),window.addEventListener("keydown",p=>{var v;p.ctrlKey&&p.key==="k"&&(p.preventDefault(),(v=f.value)==null||v.focus())})});let h=()=>{Mi.push({name:"Search",params:{query:c.value}})};return(p,v)=>(ne(),ge("div",DC,[me(se(dP),{class:"hideIfMobile logo",onClick:v[0]||(v[0]=m=>p.$router.push("/"))}),te("div",BC,[me(Tn,{class:"sm:ml-0 mr-2",href:"/",icon:"home",minimised:"",name:"Home"}),me(u4,{modelValue:se(c),"onUpdate:modelValue":v[1]||(v[1]=m=>_t(c)?c.value=m:c=m),class:"md:!w-96",icon:"search",placeholder:"Search...",onSubmit:se(h),clickSuggest:l,suggest:u,ref_key:"search",ref:f},{default:Ot(({value:m,selected:A})=>[te("div",{class:Je(["suggestion",{selected:A}]),onClick:C=>l(m)},[me(LC,{item:m},null,8,["item"])],10,NC)]),_:1},8,["modelValue","onSubmit"])]),te("div",WC,[te("div",{class:"download",ref_key:"downloadIcon",ref:t},[me(Tn,{href:"/download",icon:"download",minimised:"",name:"Download"}),(ne(),je(eo,{to:"#popup-target"},[r.value?(ne(),ge("span",{key:0,class:"download-anim absolute top-0 left-0 z-[1000] material-symbols-rounded",style:Fr(s.value)},"download",4)):Ne("",!0)]))],512),me(Tn,{href:"/preferences",icon:"settings",minimised:"",name:"Preferences"})])]))}});const FC=ot(VC,[["__scopeId","data-v-993ea037"]]),HC={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 809.48 395.8"},UC=te("path",{d:"M80.09 254.67c-4.84 0-9.04-1.72-12.6-5.16-3.57-3.43-5.35-7.7-5.35-12.79V79.04c0-4.84 1.78-8.97 5.35-12.41 3.56-3.44 7.76-5.16 12.6-5.16s8.97 1.72 12.41 5.16c3.43 3.43 5.15 7.57 5.15 12.41v157.68c0 5.09-1.72 9.36-5.15 12.79-3.44 3.44-7.58 5.16-12.41 5.16Zm70.63 61.47c-4.84 0-8.97-1.78-12.41-5.34-3.44-3.57-5.16-7.77-5.16-12.6V17.57c0-4.58 1.72-8.66 5.16-12.22 3.43-3.56 7.57-5.34 12.41-5.34s9.04 1.78 12.6 5.34c3.56 3.57 5.34 7.64 5.34 12.22V298.2c0 4.83-1.78 9.03-5.34 12.6-3.56 3.56-7.76 5.34-12.6 5.34ZM17.38 193.2c-4.79 0-8.88-1.7-12.27-5.1-3.4-3.4-5.1-7.61-5.1-12.65v-35.13c0-4.79 1.7-8.88 5.1-12.27 3.4-3.4 7.49-5.1 12.27-5.1s9 1.7 12.66 5.1c3.65 3.4 5.48 7.49 5.48 12.27v35.33c0 3.92-1.25 7.85-3.85 10.77-4.01 4.51-8.78 6.77-14.28 6.77Zm195.29 60.46c-4.78 0-8.87-1.7-12.28-5.11-3.4-3.4-5.1-7.62-5.1-12.66V79.86c0-4.79 1.7-8.88 5.1-12.28 3.4-3.4 7.5-5.11 12.28-5.11s9.01 1.7 12.66 5.11c3.65 3.4 5.48 7.49 5.48 12.28V235.9c0 5.04-1.76 9.26-5.29 12.66-3.52 3.4-7.81 5.11-12.85 5.11Zm62.52-60.46c-4.78 0-8.94-1.7-12.46-5.1-3.52-3.4-5.29-7.61-5.29-12.65v-35.13c0-4.79 1.76-8.88 5.29-12.27 3.53-3.4 7.68-5.1 12.46-5.1s8.94 1.7 12.46 5.1c3.53 3.4 5.29 7.49 5.29 12.27v35.13c0 5.03-1.76 9.25-5.29 12.65-3.52 3.4-7.68 5.1-12.46 5.1ZM436.15 266.18c-10.94-6.13-19.61-14.63-26-25.51-6.39-10.88-9.59-23.17-9.59-36.88s3.2-26 9.59-36.88c6.39-10.88 15.06-19.34 26-25.41 10.94-6.06 22.94-9.1 35.99-9.1s25.21 3.03 36.09 9.1c10.88 6.06 19.48 14.53 25.8 25.41 6.33 10.88 9.49 23.17 9.49 36.88s-3.16 26-9.49 36.88-14.96 19.38-25.9 25.51c-10.94 6.13-22.94 9.19-35.99 9.19s-25.05-3.06-35.99-9.19Zm59.42-36.48c5.73-6.46 8.6-15.09 8.6-25.9s-2.87-19.8-8.6-26.2c-5.73-6.39-13.54-9.59-23.43-9.59s-17.87 3.2-23.53 9.59c-5.67 6.4-8.5 15.13-8.5 26.2s2.83 19.61 8.5 26c5.67 6.4 13.51 9.59 23.53 9.59s17.7-3.23 23.43-9.69ZM690.05 273.99h-38.76l-51.61-77.91v77.91h-38.76V134.58h38.76l51.61 78.9v-78.9h38.76v139.41ZM750.95 165.63v22.74h44.49v29.46h-44.49v25.11h50.42v31.04h-89.18v-139.4h89.18v31.04h-50.42ZM414.68 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43h-1.39c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22ZM455.71 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.52-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM486.61 97.82h-17.56l-3.23 8.95h-5.54l14.55-40.02h6.06l14.5 40.02h-5.54l-3.23-8.95Zm-1.5-4.27-7.28-20.33-7.28 20.33h14.55ZM529.81 75.13v31.65h-5.25v-4.68c-1 1.62-2.4 2.88-4.19 3.78-1.79.9-3.76 1.36-5.92 1.36-2.46 0-4.68-.51-6.64-1.53s-3.51-2.55-4.65-4.59c-1.14-2.04-1.7-4.52-1.7-7.45V75.13h5.2v17.85c0 3.12.79 5.52 2.37 7.19 1.58 1.67 3.73 2.51 6.47 2.51s5.02-.87 6.64-2.6 2.43-4.25 2.43-7.57V75.13h5.25ZM538.7 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.86-2.02 7.71-2.02 2.46 0 4.75.57 6.87 1.7 2.12 1.14 3.73 2.63 4.85 4.48V64.04h5.31v42.74h-5.31v-5.95c-1.04 1.89-2.58 3.44-4.62 4.65s-4.43 1.82-7.16 1.82-5.36-.69-7.65-2.08c-2.29-1.39-4.09-3.33-5.4-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM577.91 68.95c-.69-.69-1.04-1.54-1.04-2.54s.35-1.85 1.04-2.54 1.54-1.04 2.54-1.04 1.78.35 2.45 1.04 1.01 1.54 1.01 2.54-.34 1.85-1.01 2.54-1.49 1.04-2.45 1.04-1.85-.35-2.54-1.04Zm5.08 6.18v31.65h-5.25V75.13h5.25ZM597.69 105.27c-2.41-1.35-4.29-3.26-5.66-5.75-1.37-2.48-2.05-5.36-2.05-8.63s.7-6.09 2.11-8.58 3.32-4.39 5.75-5.72 5.14-1.99 8.14-1.99 5.72.66 8.14 1.99 4.34 3.23 5.75 5.69c1.41 2.46 2.11 5.33 2.11 8.6s-.72 6.15-2.17 8.63c-1.44 2.48-3.4 4.4-5.86 5.75-2.46 1.35-5.2 2.02-8.2 2.02s-5.65-.67-8.06-2.02Zm13.37-3.93c1.65-.89 2.99-2.21 4.01-3.98 1.02-1.77 1.53-3.93 1.53-6.47s-.5-4.7-1.5-6.47c-1-1.77-2.31-3.09-3.93-3.96-1.62-.87-3.37-1.3-5.25-1.3s-3.69.43-5.28 1.3c-1.6.87-2.88 2.19-3.84 3.96s-1.44 3.93-1.44 6.47.47 4.76 1.41 6.53c.94 1.77 2.2 3.09 3.78 3.96 1.58.87 3.31 1.3 5.2 1.3s3.66-.44 5.31-1.33ZM652.38 86.65c-2.29 2.21-5.79 3.32-10.48 3.32h-7.74v16.81h-5.25V66.53h12.99c4.54 0 8 1.1 10.37 3.29 2.37 2.19 3.55 5.02 3.55 8.49s-1.15 6.13-3.44 8.35Zm-4.01-2.92c1.39-1.27 2.08-3.08 2.08-5.43 0-4.97-2.85-7.45-8.55-7.45h-7.74v14.78h7.74c2.93 0 5.08-.64 6.47-1.91ZM667.6 64.04v42.74h-5.25V64.04h5.25ZM676.55 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.84-2.02 7.65-2.02s5.18.6 7.22 1.79 3.56 2.7 4.56 4.5v-5.78h5.31v31.65h-5.31v-5.89c-1.04 1.85-2.59 3.38-4.65 4.59-2.06 1.21-4.46 1.82-7.19 1.82s-5.35-.69-7.62-2.08c-2.27-1.39-4.06-3.33-5.37-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM742.85 75.13l-19.06 46.55h-5.43l6.24-15.25-12.76-31.3h5.83l9.93 25.64 9.82-25.64h5.43ZM776.8 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.51-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM793.12 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43H798c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22Z"},null,-1),qC=[UC];function jC(e,t){return ne(),ge("svg",HC,qC)}const KC={render:jC};const zC={class:"startup"},ZC={class:"wrap"},GC={class:"logo"},YC={__name:"Startup",setup(e){return Vt(()=>{Lr.clear()}),(t,r)=>(ne(),ge("div",zC,[te("div",ZC,[te("div",GC,[me(se(KC))]),me(se(Ev))])]))}},JC=ot(YC,[["__scopeId","data-v-24a52185"]]),qn=document.createElement("video");qn.style.position="absolute";qn.style.top="0";qn.style.left="0";qn.style.width="500px";qn.style.height="500px";qn.style.zIndex="-1000";document.body.appendChild(qn);const Un=Pe("error"),sa=async()=>{if(Un.value=="error"||Un.value=="loading")return!1;await qn.requestPictureInPicture()},Iv=()=>{const e=zt(),t=Ur();let r;const s=async o=>{if(!t.player.pictureInPicture||e.song.id<0)return!1;r==null||r.terminate(),r=new Worker("/assets/ffmpeg/ffmpeg-worker-mp4.js"),Un.value="loading",console.log("loading new cover",o);const u=await(await fetch(o)).blob(),c=URL.createObjectURL(u);qn.src="";const f="t.jpg",h=[],p=new Image;p.src=c,p.style.width="100%",p.style.height="100%",p.onload=()=>{const C=document.createElement("canvas");C.width=p.width,C.height=p.height,C.getContext("2d").drawImage(p,0,0);const D=C.toDataURL("image/jpeg",1),O=v(D);h.push({name:f,data:O}),console.log("loaded image",h),requestAnimationFrame(m)};function v(C){var S=C.replace(/^data[^,]+,/,""),D=window.atob(S),O=D.length,k=new Uint8Array(new ArrayBuffer(O));for(let M=0;M{qn.src=webkitURL.createObjectURL(C)}};return ut(()=>t.player.pictureInPicture,async o=>{console.log("pictureInPicture enabled",o),o?(Iv(),o=!0,Un.value="error",await s(e.song.cover)):(r==null||r.terminate(),o=!1,Un.value="error")}),t.player.pictureInPicture?(ut(()=>e.song.cover,s),!0):!1},XC=ze({__name:"Card",props:{withHover:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){return(t,r)=>(ne(),ge("div",{class:Je([{withHover:e.withHover,disabled:e.disabled},"card"])},[Ui(t.$slots,"default",{},void 0,!0)],2))}});const Mv=ot(XC,[["__scopeId","data-v-04b9eb92"]]),QC={class:"message"},eE={key:0,class:"details"},tE=ze({__name:"ClosableNotification",props:{notification:{type:Object,required:!0}},emits:["remove"],setup(e,{emit:t}){const r=t,s=o=>{r("remove",o)};return(o,l)=>(ne(),je(Mv,{class:Je([e.notification.type,"notification"])},{default:Ot(()=>[te("div",QC,[te("h4",null,We(e.notification.message),1),e.notification.details?(ne(),ge("span",eE,We(e.notification.details),1)):Ne("",!0)]),te("span",{class:"material-symbols-rounded close",onClick:l[0]||(l[0]=u=>s(e.notification.id))}," close ")]),_:1},8,["class"]))}});const nE=ot(tE,[["__scopeId","data-v-49e9d059"]]),Lv=e=>(ci("data-v-4dd7578e"),e=e(),fi(),e),rE={class:"message"},iE={key:0,class:"details"},sE=Lv(()=>te("span",{class:"material-symbols-rounded"}," check ",-1)),oE=[sE],aE=Lv(()=>te("span",{class:"material-symbols-rounded"}," close ",-1)),lE=[aE],uE=ze({__name:"YesNoNotification",props:{notification:{type:Object,required:!0}},emits:["remove"],setup(e,{emit:t}){const r=e,s=t,o=()=>{s("remove",r.notification.id),r.notification.onNo&&r.notification.onNo()},l=()=>{s("remove",r.notification.id),r.notification.onYes&&r.notification.onYes()};return(u,c)=>(ne(),je(Mv,{class:"notification"},{default:Ot(()=>[te("div",rE,[te("h4",null,We(e.notification.message),1),e.notification.details?(ne(),ge("span",iE,We(e.notification.details),1)):Ne("",!0)]),te("div",{class:"yes-no"},[te("div",{class:"yes option",onClick:l},oE),te("div",{class:"no option",onClick:o},lE)])]),_:1}))}});const cE=ot(uE,[["__scopeId","data-v-4dd7578e"]]),fE={class:"notifications"},dE=ze({__name:"NotificationHandler",setup(e){const t=["success","error","info","warning"],r=Pe([]),s=u=>{r.value.push(u),u.timeout&&setTimeout(()=>{var c;(c=u.onTimeout)==null||c.call(u),o(u.id)},u.timeout)},o=u=>{r.value=r.value.filter(c=>c.id!=u)},l=()=>{r.value=[]};return window.addEventListener("notification.add",u=>{const c=u.detail;s(c)}),window.addEventListener("notification.remove",u=>{const c=u.detail;o(c)}),window.addEventListener("notification.clear",()=>{l()}),(u,c)=>(ne(),ge("div",fE,[(ne(!0),ge(et,null,cr(r.value,f=>(ne(),ge(et,{key:f.id},[t.includes(f.type)?(ne(),je(nE,{key:0,notification:f,onRemove:o},null,8,["notification"])):f.type=="yes-no"?(ne(),je(cE,{key:1,notification:f,onRemove:o},null,8,["notification"])):Ne("",!0)],64))),128))]))}});const hE=ot(dE,[["__scopeId","data-v-ca1aa49b"]]);const $v=()=>{console.log("attempting reconnect");const e=window.location.hostname,t=window.location.port==5173?1234:window.location.port,r=new WebSocket(`ws://${e}:${t}/ws`);r.onclose=()=>{console.log("ws closed"),zt().setReady(!1),setTimeout(()=>$v(),1e3)},r.onopen=()=>{console.log("ws connected"),zt().setReady(!0)},r.onmessage=s=>{const o=zt(),l=JSON.parse(s.data);l.path=="player.song"&&o.setSong(l.data),l.path=="player.playlist"&&o.setPlaylist(l.data)}},pE=()=>{zt().initialise(),tn().fetchPlaylists(),xc().initialise(),pv.restoreTheme()},mE=async()=>await(await fetch("/api/config/first-time")).json(),A6=async(e,t)=>{await fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:e,secret:t})})},vE=async()=>{const e=await fetch("/api/spotify/authorise");return e.status==200?(Lr.addYesNo("Do you want to authorise reAudioPlayer ONE to access your Spotify account?","You will be redirected to Spotify to authorise reAudioPlayer ONE to access your account.",null,async()=>{window.location.href=await e.text()}),!1):e.status==204},x6=async()=>await(await fetch("/api/config")).json(),P6=async e=>{await fetch("/api/config",{method:"PUT",body:JSON.stringify(e)})},gE=e=>(ci("data-v-50cefd67"),e=e(),fi(),e),yE={class:"sidebar drop-shadow-xl"},_E={class:"static"},bE={key:0},wE=gE(()=>te("br",{class:"hideIfMobile"},null,-1)),AE={key:0,class:"hideIfMobile"},xE={class:"playlistList hideIfMobile"},PE=["src"],CE={name:"Sidebar",components:{NavEntry:Tn},watch:{minimised(){this.collapseSidebar()}},mounted(){this.collapseSidebar()},computed:{minimised(){return!0}},methods:{hideCover(){this.$emit("expandCover",!1)},collapseSidebar(){document.documentElement.style.setProperty("--w-sidebar",this.minimised?"44px":"200px")}}},EE=ze({...CE,setup(e){const t=zt(),r=tn(),s=Ve(()=>t.song.cover),o=Ve(()=>r.playlists),l=Ur();return(u,c)=>(ne(),ge("div",yE,[te("div",_E,[me(Tn,{hasChildSites:!0,minimised:u.minimised,href:"/collection/playlists",icon:"library_music",name:"Your Library",parentHref:"/collection"},null,8,["minimised"]),me(Tn,{minimised:u.minimised,href:"/discover",icon:"explore",name:"Discover"},null,8,["minimised"]),se(l).sidebar.news||se(l).sidebar.sports?(ne(),ge("br",bE)):Ne("",!0),se(l).sidebar.news?(ne(),je(Tn,{key:1,hasChildSites:!0,minimised:u.minimised,href:"/news",icon:"newspaper",name:"News"},null,8,["minimised"])):Ne("",!0),se(l).sidebar.sports?(ne(),je(Tn,{key:2,hasChildSites:!0,minimised:u.minimised,href:"/sports",icon:"sports_soccer",name:"Sports"},null,8,["minimised"])):Ne("",!0),wE,me(Tn,{minimised:u.minimised,class:"hideIfMobile",href:"/playlist/create",icon:"add_circle",name:"Create Playlist"},null,8,["minimised"]),me(Tn,{minimised:u.minimised,href:"/collection/tracks",icon:"favorite",name:"Liked Songs"},null,8,["minimised"])]),o.value.length?(ne(),ge("hr",AE)):Ne("",!0),te("div",xE,[(ne(!0),ge(et,null,cr(o.value.filter(f=>f.type!="special"),(f,h)=>(ne(),je(Tn,{key:h,href:f.href,img:f.cover,minimised:u.minimised,name:f.name},null,8,["href","img","minimised","name"]))),128))]),se(l).player.expandedCover?(ne(),ge("img",{key:1,src:s.value,class:"cover hideIfMobile",onClick:c[0]||(c[0]=f=>se(l).player.expandedCover=!1)},null,8,PE)):Ne("",!0)]))}});const Dv=ot(EE,[["__scopeId","data-v-50cefd67"]]);const kE={name:"Body",data(){return{maximised:!1}},methods:{onMaximiseChange(e){this.maximised=e,this.$emit("maximise",e)}}};function SE(e,t,r,s,o,l){const u=Hi("router-view");return ne(),ge("div",{class:Je(["body",{maximised:o.maximised}])},[me(u,{onMaximise:l.onMaximiseChange,class:"view"},null,8,["onMaximise"])],2)}const Bv=ot(kE,[["render",SE],["__scopeId","data-v-772535b8"]]),OE={class:"html-audio"},RE=["src"],TE=ze({__name:"HtmlAudio",setup(e,{expose:t}){const r=zt(),s=Pe(null);let o=!1;Vt(()=>{s.value.src=null,s.value.src=r.stream,s.value.load(),s.value.onloadedmetadata=()=>{s.value&&(r.setDuration(s.value.duration),(o||r.playing)&&(u(),o=!1))}}),ut(()=>r.song.id,()=>{s.value.paused||(o=!0),s.value.src=null,s.value.src=r.stream,s.value.load(),r.setPlaying(!s.value.paused)});const l=()=>{o=!0,r.onSongEnded()},u=()=>{try{s.value.play()}catch{}},c=()=>{s.value.pause()},f=m=>{s.value.currentTime=m},h=m=>{let A=m/100;A=Math.min(Math.max(A,0),1),s.value.volume=A},p=m=>{s.value.muted=m};return Vt(()=>{h(r.volume)}),t({play:u,pause:c,seek:f,setVolume:h,setMute:p}),(m,A)=>(ne(),ge("div",OE,[te("audio",{ref_key:"audio",ref:s,src:se(r).stream,onEnded:l,onPause:A[0]||(A[0]=C=>se(r).setPlaying(!1)),onPlay:A[1]||(A[1]=C=>se(r).setPlaying(!0)),onTimeupdate:A[2]||(A[2]=C=>{var S;return se(r).setProgress((S=s.value)==null?void 0:S.currentTime)})},null,40,RE)]))}});const IE={props:{modelValue:{type:Number,required:!0},max:{type:Number,default:100}},watch:{modelValue(){this.value=this.modelValue}},computed:{percentage(){return Math.min(1,this.value/this.max)*100}},methods:{seek(e){const t=e.offsetX,r=this.$el.offsetWidth;this.value=t/r*this.max,this.$emit("change",this.value);try{this.$emit("update:modelValue",this.value)}catch{}}},data(){return{hover:!1,value:this.modelValue||0}}},ME={class:"progressBar__track"};function LE(e,t,r,s,o,l){return ne(),ge("div",{ref:"el",class:"progressBar",onClick:t[0]||(t[0]=(...u)=>l.seek&&l.seek(...u)),onMouseenter:t[1]||(t[1]=u=>o.hover=!0),onMouseleave:t[2]||(t[2]=u=>o.hover=!1)},[te("div",ME,[te("div",{class:Je([{hover:o.hover},"progressBar__progress"]),style:Fr({width:`${l.percentage}%`})},null,6)])],544)}const bu=ot(IE,[["render",LE],["__scopeId","data-v-80b99d67"]]),$E={class:"dropdown"},DE=["onClick"],BE={class:"material-symbols-rounded"},NE={key:0,class:"material-symbols-rounded"},WE=ze({__name:"IconDropdown",props:{modelValue:{type:String,required:!0},icon:{type:String,required:!0},options:{type:Array,required:!0}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,s=Pe(r.options),o=Pe(r.modelValue),l=Pe(!1),u=t;ut(r,h=>{o.value=h.modelValue,s.value=h.options},{deep:!0});const c=h=>{o.value=h,u("update:modelValue",h),l.value=!1},f=Pe(null);return ut(l,h=>{lr(()=>{if(h){const p=f.value.getBoundingClientRect();window.innerHeight-p.top>p.height?(f.value.style.top="100%",f.value.style.bottom="auto"):(f.value.style.top="auto",f.value.style.bottom="100%"),p.left<0?(f.value.style.left="0",f.value.style.right="auto"):p.right>window.innerWidth&&(f.value.style.left="auto",f.value.style.right="0")}})}),document.addEventListener("click",()=>{l.value=!1}),(h,p)=>(ne(),ge("div",$E,[te("span",{class:"dropdown__selected material-symbols-rounded ms-wght-400",onClick:p[0]||(p[0]=Wt(v=>l.value=!l.value,["stop"]))},We(e.icon),1),l.value?(ne(),ge("div",{key:0,ref_key:"trueDropdown",ref:f,class:Je([{expanded:l.value},"dropdown__options"])},[(ne(!0),ge(et,null,cr(s.value,v=>(ne(),ge("div",{key:v.value,class:"dropdown__option",onClick:Wt(m=>c(v.value),["stop"])},[te("span",BE,We(v.icon),1),te("span",null,We(v.label),1),o.value==v.value?(ne(),ge("span",NE,"check")):Ne("",!0)],8,DE))),128))],2)):Ne("",!0)]))}});const wu=ot(WE,[["__scopeId","data-v-f0ed46f1"]]),VE={class:"loader"},FE=ze({__name:"Spinner",setup(e){const t=Pe(null);return Vt(()=>{var l,u;const s=((l=t.value)==null?void 0:l.clientWidth)??0,o=8/80;for(const c of((u=t.value)==null?void 0:u.children)??[])c.style.width=`${s*.8}px`,c.style.height=`${s*.8}px`,c.style.borderWidth=`${s*o}px`,c.style.margin=`${s*o}px`}),(r,s)=>(ne(),ge("span",VE))}});const xp=ot(FE,[["__scopeId","data-v-a886b69f"]]);var Nv={exports:{}};/*! * wavesurfer.js 6.6.4 (2023-06-10) * https://wavesurfer-js.org * @license BSD-3-Clause */(function(e,t){(function(s,o){e.exports=o()})(self,()=>(()=>{var r={"./src/drawer.canvasentry.js":(u,c,f)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var h=v(f("./src/util/style.js")),p=v(f("./src/util/get-id.js"));function v(M){return M&&M.__esModule?M:{default:M}}function m(M){"@babel/helpers - typeof";return m=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(E){return typeof E}:function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},m(M)}function A(M,E){if(!(M instanceof E))throw new TypeError("Cannot call a class as a function")}function C(M,E){for(var T=0;T=I;pe--)y=H[2*pe+1]||0,Q=Math.round(y/Y),T.lineTo((pe-V)*x+this.halfPixel,_-Q);T.lineTo((I-V)*x,_-Math.round((H[2*I+1]||0)/Y)),T.closePath(),T.fill()}}},{key:"destroy",value:function(){this.waveCtx=null,this.wave=null,this.progressCtx=null,this.progress=null}},{key:"getImage",value:function(T,H,U){var N=this;if(U==="blob")return new Promise(function(j){N.wave.toBlob(j,T,H)});if(U==="dataURL")return this.wave.toDataURL(T,H)}}]),M}();c.default=k,u.exports=c.default},"./src/drawer.js":(u,c,f)=>{function h(K){"@babel/helpers - typeof";return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(q){return typeof q}:function(q){return q&&typeof Symbol=="function"&&q.constructor===Symbol&&q!==Symbol.prototype?"symbol":typeof q},h(K)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=m(f("./src/util/index.js"));function v(K){if(typeof WeakMap!="function")return null;var q=new WeakMap,G=new WeakMap;return(v=function(w){return w?G:q})(K)}function m(K,q){if(!q&&K&&K.__esModule)return K;if(K===null||h(K)!=="object"&&typeof K!="function")return{default:K};var G=v(q);if(G&&G.has(K))return G.get(K);var V={},w=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var I in K)if(I!=="default"&&Object.prototype.hasOwnProperty.call(K,I)){var F=w?Object.getOwnPropertyDescriptor(K,I):null;F&&(F.get||F.set)?Object.defineProperty(V,I,F):V[I]=K[I]}return V.default=K,G&&G.set(K,V),V}function A(K,q){if(!(K instanceof q))throw new TypeError("Cannot call a class as a function")}function C(K,q){for(var G=0;G"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function N(K){return N=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(G){return G.__proto__||Object.getPrototypeOf(G)},N(K)}var j=function(K){k(G,K);var q=E(G);function G(V,w){var I;return A(this,G),I=q.call(this),I.container=p.withOrientation(V,w.vertical),I.params=w,I.width=0,I.height=w.height*I.params.pixelRatio,I.lastPos=0,I.wrapper=null,I}return S(G,[{key:"style",value:function(w,I){return p.style(w,I)}},{key:"createWrapper",value:function(){this.wrapper=p.withOrientation(this.container.appendChild(document.createElement("wave")),this.params.vertical),this.style(this.wrapper,{display:"block",position:"relative",userSelect:"none",webkitUserSelect:"none",height:this.params.height+"px"}),(this.params.fillParent||this.params.scrollParent)&&this.style(this.wrapper,{width:"100%",cursor:this.params.hideCursor?"none":"auto",overflowX:this.params.hideScrollbar?"hidden":"auto",overflowY:"hidden"}),this.setupWrapperEvents()}},{key:"handleEvent",value:function(w,I){!I&&w.preventDefault();var F=p.withOrientation(w.targetTouches?w.targetTouches[0]:w,this.params.vertical).clientX,x=this.wrapper.getBoundingClientRect(),_=this.width,Y=this.getWidth(),B=this.getProgressPixels(x,F),y;return!this.params.fillParent&&_=_.bottom-x)return}w.params.interact&&w.fireEvent("click",I,w.handleEvent(I))}),this.wrapper.addEventListener("dblclick",function(I){w.params.interact&&w.fireEvent("dblclick",I,w.handleEvent(I))}),this.wrapper.addEventListener("scroll",function(I){return w.fireEvent("scroll",I)})}},{key:"drawPeaks",value:function(w,I,F,x){this.setWidth(I)||this.clearWave(),this.params.barWidth?this.drawBars(w,0,F,x):this.drawWave(w,0,F,x)}},{key:"resetScroll",value:function(){this.wrapper!==null&&(this.wrapper.scrollLeft=0)}},{key:"recenter",value:function(w){var I=this.wrapper.scrollWidth*w;this.recenterOnPosition(I,!0)}},{key:"recenterOnPosition",value:function(w,I){var F=this.wrapper.scrollLeft,x=~~(this.wrapper.clientWidth/2),_=this.wrapper.scrollWidth-this.wrapper.clientWidth,Y=w-x,B=Y-F;if(_!=0){if(!I&&-x<=B&&B=I){if(this.lastPos=F,this.params.scrollParent&&this.params.autoCenter){var x=~~(this.wrapper.scrollWidth*w);this.recenterOnPosition(x,this.params.autoCenterImmediately)}this.updateProgress(F)}}},{key:"destroy",value:function(){this.unAll(),this.wrapper&&(this.wrapper.parentNode==this.container.domElement&&this.container.removeChild(this.wrapper.domElement),this.wrapper=null)}},{key:"updateCursor",value:function(){}},{key:"updateSize",value:function(){}},{key:"drawBars",value:function(w,I,F,x){}},{key:"drawWave",value:function(w,I,F,x){}},{key:"clearWave",value:function(){}},{key:"updateProgress",value:function(w){}}]),G}(p.Observer);c.default=j,u.exports=c.default},"./src/drawer.multicanvas.js":(u,c,f)=>{function h(V){"@babel/helpers - typeof";return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(w){return typeof w}:function(w){return w&&typeof Symbol=="function"&&w.constructor===Symbol&&w!==Symbol.prototype?"symbol":typeof w},h(V)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=S(f("./src/drawer.js")),v=C(f("./src/util/index.js")),m=S(f("./src/drawer.canvasentry.js"));function A(V){if(typeof WeakMap!="function")return null;var w=new WeakMap,I=new WeakMap;return(A=function(x){return x?I:w})(V)}function C(V,w){if(!w&&V&&V.__esModule)return V;if(V===null||h(V)!=="object"&&typeof V!="function")return{default:V};var I=A(w);if(I&&I.has(V))return I.get(V);var F={},x=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var _ in V)if(_!=="default"&&Object.prototype.hasOwnProperty.call(V,_)){var Y=x?Object.getOwnPropertyDescriptor(V,_):null;Y&&(Y.get||Y.set)?Object.defineProperty(F,_,Y):F[_]=V[_]}return F.default=V,I&&I.set(V,F),F}function S(V){return V&&V.__esModule?V:{default:V}}function D(V,w){if(!(V instanceof w))throw new TypeError("Cannot call a class as a function")}function O(V,w){for(var I=0;I"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function q(V){return q=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(I){return I.__proto__||Object.getPrototypeOf(I)},q(V)}var G=function(V){T(I,V);var w=U(I);function I(F,x){var _;return D(this,I),_=w.call(this,F,x),_.maxCanvasWidth=x.maxCanvasWidth,_.maxCanvasElementWidth=Math.round(x.maxCanvasWidth/x.pixelRatio),_.hasProgressCanvas=x.waveColor!=x.progressColor,_.halfPixel=.5/x.pixelRatio,_.canvases=[],_.progressWave=null,_.EntryClass=m.default,_.canvasContextAttributes=x.drawingContextAttributes,_.overlap=2*Math.ceil(x.pixelRatio/2),_.barRadius=x.barRadius||0,_.vertical=x.vertical,_}return k(I,[{key:"init",value:function(){this.createWrapper(),this.createElements()}},{key:"createElements",value:function(){this.progressWave=v.withOrientation(this.wrapper.appendChild(document.createElement("wave")),this.params.vertical),this.style(this.progressWave,{position:"absolute",zIndex:3,left:0,top:0,bottom:0,overflow:"hidden",width:"0",display:"none",boxSizing:"border-box",borderRightStyle:"solid",pointerEvents:"none"}),this.addCanvas(),this.updateCursor()}},{key:"updateCursor",value:function(){this.style(this.progressWave,{borderRightWidth:this.params.cursorWidth+"px",borderRightColor:this.params.cursorColor})}},{key:"updateSize",value:function(){for(var x=this,_=Math.round(this.width/this.params.pixelRatio),Y=Math.ceil(_/(this.maxCanvasElementWidth+this.overlap));this.canvases.lengthY;)this.removeCanvas();var B=this.maxCanvasWidth+this.overlap,y=this.canvases.length-1;this.canvases.forEach(function(Q,pe){pe==y&&(B=x.width-x.maxCanvasWidth*y),x.updateDimensions(Q,B,x.height),Q.clearWave()})}},{key:"addCanvas",value:function(){var x=new this.EntryClass;x.canvasContextAttributes=this.canvasContextAttributes,x.hasProgressCanvas=this.hasProgressCanvas,x.halfPixel=this.halfPixel;var _=this.maxCanvasElementWidth*this.canvases.length,Y=v.withOrientation(this.wrapper.appendChild(document.createElement("canvas")),this.params.vertical);if(this.style(Y,{position:"absolute",zIndex:2,left:_+"px",top:0,bottom:0,height:"100%",pointerEvents:"none"}),x.initWave(Y),this.hasProgressCanvas){var B=v.withOrientation(this.progressWave.appendChild(document.createElement("canvas")),this.params.vertical);this.style(B,{position:"absolute",left:_+"px",top:0,bottom:0,height:"100%"}),x.initProgress(B)}this.canvases.push(x)}},{key:"removeCanvas",value:function(){var x=this.canvases[this.canvases.length-1];x.wave.parentElement.removeChild(x.wave.domElement),this.hasProgressCanvas&&x.progress.parentElement.removeChild(x.progress.domElement),x&&(x.destroy(),x=null),this.canvases.pop()}},{key:"updateDimensions",value:function(x,_,Y){var B=Math.round(_/this.params.pixelRatio),y=Math.round(this.width/this.params.pixelRatio);x.updateDimensions(B,y,_,Y),this.style(this.progressWave,{display:"block"})}},{key:"clearWave",value:function(){var x=this;v.frame(function(){x.canvases.forEach(function(_){return _.clearWave()})})()}},{key:"drawBars",value:function(x,_,Y,B){var y=this;return this.prepareDraw(x,_,Y,B,function(Q){var pe=Q.absmax,xe=Q.hasMinVals;Q.height;var _e=Q.offsetY,Oe=Q.halfH,X=Q.peaks,oe=Q.channelIndex;if(Y!==void 0){var de=xe?2:1,Ae=X.length/de,Re=y.params.barWidth*y.params.pixelRatio,R=y.params.barGap===null?Math.max(y.params.pixelRatio,~~(Re/2)):Math.max(y.params.pixelRatio,y.params.barGap*y.params.pixelRatio),$=Re+R,z=Ae/y.width,re=Y,ce=B,le=re;for(le;lebe&&(be=fe),ve+=de}while(ve1&&arguments[1]!==void 0?arguments[1]:this.params.waveColor,Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.params.progressColor;x.setFillStyles(_,Y)}},{key:"applyCanvasTransforms",value:function(x){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;x.applyCanvasTransforms(_)}},{key:"getImage",value:function(x,_,Y){if(Y==="blob")return Promise.all(this.canvases.map(function(y){return y.getImage(x,_,Y)}));if(Y==="dataURL"){var B=this.canvases.map(function(y){return y.getImage(x,_,Y)});return B.length>1?B:B[0]}}},{key:"updateProgress",value:function(x){this.style(this.progressWave,{width:x+"px"})}}]),I}(p.default);c.default=G,u.exports=c.default},"./src/mediaelement-webaudio.js":(u,c,f)=>{function h(q){"@babel/helpers - typeof";return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(G){return typeof G}:function(G){return G&&typeof Symbol=="function"&&G.constructor===Symbol&&G!==Symbol.prototype?"symbol":typeof G},h(q)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=v(f("./src/mediaelement.js"));function v(q){return q&&q.__esModule?q:{default:q}}function m(q,G){if(!(q instanceof G))throw new TypeError("Cannot call a class as a function")}function A(q,G){for(var V=0;V"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function j(q){return j=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(V){return V.__proto__||Object.getPrototypeOf(V)},j(q)}var K=function(q){M(V,q);var G=T(V);function V(w){var I;return m(this,V),I=G.call(this,w),I.params=w,I.sourceMediaElement=null,I}return C(V,[{key:"init",value:function(){this.setPlaybackRate(this.params.audioRate),this.createTimer(),this.createVolumeNode(),this.createScriptNode(),this.createAnalyserNode()}},{key:"_load",value:function(I,F,x){O(j(V.prototype),"_load",this).call(this,I,F,x),this.createMediaElementSource(I)}},{key:"createMediaElementSource",value:function(I){this.sourceMediaElement=this.ac.createMediaElementSource(I),this.sourceMediaElement.connect(this.analyser)}},{key:"play",value:function(I,F){return this.resumeAudioContext(),O(j(V.prototype),"play",this).call(this,I,F)}},{key:"destroy",value:function(){O(j(V.prototype),"destroy",this).call(this),this.destroyWebAudio()}}]),V}(p.default);c.default=K,u.exports=c.default},"./src/mediaelement.js":(u,c,f)=>{function h(w){"@babel/helpers - typeof";return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(I){return typeof I}:function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},h(w)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=C(f("./src/webaudio.js")),v=A(f("./src/util/index.js"));function m(w){if(typeof WeakMap!="function")return null;var I=new WeakMap,F=new WeakMap;return(m=function(_){return _?F:I})(w)}function A(w,I){if(!I&&w&&w.__esModule)return w;if(w===null||h(w)!=="object"&&typeof w!="function")return{default:w};var F=m(I);if(F&&F.has(w))return F.get(w);var x={},_=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Y in w)if(Y!=="default"&&Object.prototype.hasOwnProperty.call(w,Y)){var B=_?Object.getOwnPropertyDescriptor(w,Y):null;B&&(B.get||B.set)?Object.defineProperty(x,Y,B):x[Y]=w[Y]}return x.default=w,F&&F.set(w,x),x}function C(w){return w&&w.__esModule?w:{default:w}}function S(w,I){if(!(w instanceof I))throw new TypeError("Cannot call a class as a function")}function D(w,I){for(var F=0;F"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function G(w){return G=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(F){return F.__proto__||Object.getPrototypeOf(F)},G(w)}var V=function(w){H(F,w);var I=N(F);function F(x){var _;return S(this,F),_=I.call(this,x),_.params=x,_.media={currentTime:0,duration:0,paused:!0,playbackRate:1,play:function(){},pause:function(){},volume:0},_.mediaType=x.mediaType.toLowerCase(),_.elementPosition=x.elementPosition,_.peaks=null,_.playbackRate=1,_.volume=1,_.isMuted=!1,_.buffer=null,_.onPlayEnd=null,_.mediaListeners={},_}return O(F,[{key:"init",value:function(){this.setPlaybackRate(this.params.audioRate),this.createTimer()}},{key:"_setupMediaListeners",value:function(){var _=this;this.mediaListeners.error=function(){_.fireEvent("error","Error loading media element")},this.mediaListeners.waiting=function(){_.fireEvent("waiting")},this.mediaListeners.canplay=function(){_.fireEvent("canplay")},this.mediaListeners.ended=function(){_.fireEvent("finish")},this.mediaListeners.play=function(){_.fireEvent("play")},this.mediaListeners.pause=function(){_.fireEvent("pause")},this.mediaListeners.seeked=function(Y){_.fireEvent("seek")},this.mediaListeners.volumechange=function(Y){_.isMuted=_.media.muted,_.isMuted?_.volume=0:_.volume=_.media.volume,_.fireEvent("volume")},Object.keys(this.mediaListeners).forEach(function(Y){_.media.removeEventListener(Y,_.mediaListeners[Y]),_.media.addEventListener(Y,_.mediaListeners[Y])})}},{key:"createTimer",value:function(){var _=this,Y=function B(){_.isPaused()||(_.fireEvent("audioprocess",_.getCurrentTime()),v.frame(B)())};this.on("play",Y),this.on("pause",function(){_.fireEvent("audioprocess",_.getCurrentTime())})}},{key:"load",value:function(_,Y,B,y){var Q=document.createElement(this.mediaType);Q.controls=this.params.mediaControls,Q.autoplay=this.params.autoplay||!1,Q.preload=y??"auto",Q.src=_,Q.style.width="100%";var pe=Y.querySelector(this.mediaType);pe&&Y.removeChild(pe),Y.appendChild(Q),this._load(Q,B,y)}},{key:"loadElt",value:function(_,Y){_.controls=this.params.mediaControls,_.autoplay=this.params.autoplay||!1,this._load(_,Y,_.preload)}},{key:"_load",value:function(_,Y,B){if(!(_ instanceof HTMLMediaElement)||typeof _.addEventListener>"u")throw new Error("media parameter is not a valid media element");typeof _.load=="function"&&!(Y&&B=="none")&&_.load(),this.media=_,this._setupMediaListeners(),this.peaks=Y,this.onPlayEnd=null,this.buffer=null,this.isMuted=_.muted,this.setPlaybackRate(this.playbackRate),this.setVolume(this.volume)}},{key:"isPaused",value:function(){return!this.media||this.media.paused}},{key:"getDuration",value:function(){if(this.explicitDuration)return this.explicitDuration;var _=(this.buffer||this.media).duration;return _>=1/0&&(_=this.media.seekable.end(0)),_}},{key:"getCurrentTime",value:function(){return this.media&&this.media.currentTime}},{key:"getPlayedPercents",value:function(){return this.getCurrentTime()/this.getDuration()||0}},{key:"getPlaybackRate",value:function(){return this.playbackRate||this.media.playbackRate}},{key:"setPlaybackRate",value:function(_){this.playbackRate=_||1,this.media.playbackRate=this.playbackRate}},{key:"seekTo",value:function(_){_!=null&&!isNaN(_)&&(this.media.currentTime=_),this.clearPlayEnd()}},{key:"play",value:function(_,Y){this.seekTo(_);var B=this.media.play();return Y&&this.setPlayEnd(Y),B}},{key:"pause",value:function(){var _;return this.media&&(_=this.media.pause()),this.clearPlayEnd(),_}},{key:"setPlayEnd",value:function(_){var Y=this;this.clearPlayEnd(),this._onPlayEnd=function(B){B>=_&&(Y.pause(),Y.seekTo(_))},this.on("audioprocess",this._onPlayEnd)}},{key:"clearPlayEnd",value:function(){this._onPlayEnd&&(this.un("audioprocess",this._onPlayEnd),this._onPlayEnd=null)}},{key:"getPeaks",value:function(_,Y,B){return this.buffer?E(G(F.prototype),"getPeaks",this).call(this,_,Y,B):this.peaks||[]}},{key:"setSinkId",value:function(_){return _?this.media.setSinkId?this.media.setSinkId(_):Promise.reject(new Error("setSinkId is not supported in your browser")):Promise.reject(new Error("Invalid deviceId: "+_))}},{key:"getVolume",value:function(){return this.volume}},{key:"setVolume",value:function(_){this.volume=_,this.media.volume!==this.volume&&(this.media.volume=this.volume)}},{key:"setMute",value:function(_){this.isMuted=this.media.muted=_}},{key:"destroy",value:function(){var _=this;this.pause(),this.unAll(),this.destroyed=!0,Object.keys(this.mediaListeners).forEach(function(Y){_.media&&_.media.removeEventListener(Y,_.mediaListeners[Y])}),this.params.removeMediaElementOnDestroy&&this.media&&this.media.parentNode&&this.media.parentNode.removeChild(this.media),this.media=null}}]),F}(p.default);c.default=V,u.exports=c.default},"./src/peakcache.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;function f(S){"@babel/helpers - typeof";return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(D){return typeof D}:function(D){return D&&typeof Symbol=="function"&&D.constructor===Symbol&&D!==Symbol.prototype?"symbol":typeof D},f(S)}function h(S,D){if(!(S instanceof D))throw new TypeError("Cannot call a class as a function")}function p(S,D){for(var O=0;O{Object.defineProperty(c,"__esModule",{value:!0}),c.default=m;var h=v(f("./src/util/max.js")),p=v(f("./src/util/min.js"));function v(A){return A&&A.__esModule?A:{default:A}}function m(A){var C=(0,h.default)(A),S=(0,p.default)(A);return-S>C?-S:C}u.exports=c.default},"./src/util/clamp.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(h,p,v){return Math.min(Math.max(p,h),v)}u.exports=c.default},"./src/util/fetch.js":(u,c,f)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=k;var h=p(f("./src/util/observer.js"));function p(M){return M&&M.__esModule?M:{default:M}}function v(M){"@babel/helpers - typeof";return v=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(E){return typeof E}:function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},v(M)}function m(M,E){if(!(M instanceof E))throw new TypeError("Cannot call a class as a function")}function A(M,E){for(var T=0;T{Object.defineProperty(c,"__esModule",{value:!0}),c.default=v;var h=p(f("./src/util/request-animation-frame.js"));function p(m){return m&&m.__esModule?m:{default:m}}function v(m){return function(){for(var A=arguments.length,C=new Array(A),S=0;S{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(h){return h===void 0&&(h="wavesurfer_"),h+Math.random().toString(32).substring(2)}u.exports=c.default},"./src/util/index.js":(u,c,f)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"Observer",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(c,"absMax",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(c,"clamp",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(c,"debounce",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(c,"fetchFile",{enumerable:!0,get:function(){return M.default}}),Object.defineProperty(c,"frame",{enumerable:!0,get:function(){return D.default}}),Object.defineProperty(c,"getId",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(c,"ignoreSilenceMode",{enumerable:!0,get:function(){return H.default}}),Object.defineProperty(c,"max",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(c,"min",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(c,"preventClick",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(c,"requestAnimationFrame",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(c,"style",{enumerable:!0,get:function(){return C.default}}),Object.defineProperty(c,"withOrientation",{enumerable:!0,get:function(){return T.default}});var h=U(f("./src/util/get-id.js")),p=U(f("./src/util/max.js")),v=U(f("./src/util/min.js")),m=U(f("./src/util/absMax.js")),A=U(f("./src/util/observer.js")),C=U(f("./src/util/style.js")),S=U(f("./src/util/request-animation-frame.js")),D=U(f("./src/util/frame.js")),O=U(f("./node_modules/debounce/index.js")),k=U(f("./src/util/prevent-click.js")),M=U(f("./src/util/fetch.js")),E=U(f("./src/util/clamp.js")),T=U(f("./src/util/orientation.js")),H=U(f("./src/util/silence-mode.js"));function U(N){return N&&N.__esModule?N:{default:N}}},"./src/util/max.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(h){var p=-1/0;return Object.keys(h).forEach(function(v){h[v]>p&&(p=h[v])}),p}u.exports=c.default},"./src/util/min.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(h){var p=1/0;return Object.keys(h).forEach(function(v){h[v]{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;function f(S){"@babel/helpers - typeof";return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(D){return typeof D}:function(D){return D&&typeof Symbol=="function"&&D.constructor===Symbol&&D!==Symbol.prototype?"symbol":typeof D},f(S)}function h(S,D){if(!(S instanceof D))throw new TypeError("Cannot call a class as a function")}function p(S,D){for(var O=0;O=0;E--)M[E]==k&&M.splice(E,1);else M.length=0}}},{key:"unAll",value:function(){this.handlers=null}},{key:"once",value:function(O,k){var M=this,E=function T(){for(var H=arguments.length,U=new Array(H),N=0;N1?k-1:0),E=1;E{Object.defineProperty(c,"__esModule",{value:!0}),c.default=v;var f={width:"height",height:"width",overflowX:"overflowY",overflowY:"overflowX",clientWidth:"clientHeight",clientHeight:"clientWidth",clientX:"clientY",clientY:"clientX",scrollWidth:"scrollHeight",scrollLeft:"scrollTop",offsetLeft:"offsetTop",offsetTop:"offsetLeft",offsetHeight:"offsetWidth",offsetWidth:"offsetHeight",left:"top",right:"bottom",top:"left",bottom:"right",borderRightStyle:"borderBottomStyle",borderRightWidth:"borderBottomWidth",borderRightColor:"borderBottomColor"};function h(m,A){return Object.prototype.hasOwnProperty.call(f,m)&&A?f[m]:m}var p=Symbol("isProxy");function v(m,A){return m[p]?m:new Proxy(m,{get:function(S,D,O){if(D===p)return!0;if(D==="domElement")return S;if(D==="style")return v(S.style,A);if(D==="canvas")return v(S.canvas,A);if(D==="getBoundingClientRect")return function(){return v(S.getBoundingClientRect.apply(S,arguments),A)};if(D==="getContext")return function(){return v(S.getContext.apply(S,arguments),A)};var k=S[h(D,A)];return typeof k=="function"?k.bind(S):k},set:function(S,D,O){return S[h(D,A)]=O,!0}})}u.exports=c.default},"./src/util/prevent-click.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=h;function f(p){p.stopPropagation(),document.body.removeEventListener("click",f,!0)}function h(p){document.body.addEventListener("click",f,!0)}u.exports=c.default},"./src/util/request-animation-frame.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var f=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(h,p){return setTimeout(h,1e3/60)}).bind(window);c.default=f,u.exports=c.default},"./src/util/silence-mode.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(){var h=new AudioContext,p=h.createBufferSource();p.buffer=h.createBuffer(1,1,44100),p.connect(h.destination),p.start();var v="data:audio/mpeg;base64,//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAACAAACcQCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA//////////////////////////////////////////////////////////////////8AAABhTEFNRTMuMTAwA8MAAAAAAAAAABQgJAUHQQAB9AAAAnGMHkkIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQxAADgnABGiAAQBCqgCRMAAgEAH///////////////7+n/9FTuQsQH//////2NG0jWUGlio5gLQTOtIoeR2WX////X4s9Atb/JRVCbBUpeRUq//////////////////9RUi0f2jn/+xDECgPCjAEQAABN4AAANIAAAAQVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==",m=document.createElement("div");m.innerHTML='';var A=m.children.item(0);A.src=v,A.preload="auto",A.type="audio/mpeg",A.disableRemotePlayback=!0,A.play(),A.remove(),m.remove()}u.exports=c.default},"./src/util/style.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(h,p){return Object.keys(p).forEach(function(v){h.style[v]!==p[v]&&(h.style[v]=p[v])}),h}u.exports=c.default},"./src/wavesurfer.js":(u,c,f)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var h=O(f("./src/util/index.js")),p=S(f("./src/drawer.multicanvas.js")),v=S(f("./src/webaudio.js")),m=S(f("./src/mediaelement.js")),A=S(f("./src/peakcache.js")),C=S(f("./src/mediaelement-webaudio.js"));function S(x){return x&&x.__esModule?x:{default:x}}function D(x){if(typeof WeakMap!="function")return null;var _=new WeakMap,Y=new WeakMap;return(D=function(y){return y?Y:_})(x)}function O(x,_){if(!_&&x&&x.__esModule)return x;if(x===null||K(x)!=="object"&&typeof x!="function")return{default:x};var Y=D(_);if(Y&&Y.has(x))return Y.get(x);var B={},y=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Q in x)if(Q!=="default"&&Object.prototype.hasOwnProperty.call(x,Q)){var pe=y?Object.getOwnPropertyDescriptor(x,Q):null;pe&&(pe.get||pe.set)?Object.defineProperty(B,Q,pe):B[Q]=x[Q]}return B.default=x,Y&&Y.set(x,B),B}function k(x,_){if(typeof _!="function"&&_!==null)throw new TypeError("Super expression must either be null or a function");x.prototype=Object.create(_&&_.prototype,{constructor:{value:x,writable:!0,configurable:!0}}),Object.defineProperty(x,"prototype",{writable:!1}),_&&M(x,_)}function M(x,_){return M=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(B,y){return B.__proto__=y,B},M(x,_)}function E(x){var _=U();return function(){var B=N(x),y;if(_){var Q=N(this).constructor;y=Reflect.construct(B,arguments,Q)}else y=B.apply(this,arguments);return T(this,y)}}function T(x,_){if(_&&(K(_)==="object"||typeof _=="function"))return _;if(_!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return H(x)}function H(x){if(x===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return x}function U(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function N(x){return N=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Y){return Y.__proto__||Object.getPrototypeOf(Y)},N(x)}function j(x,_,Y){return _=w(_),_ in x?Object.defineProperty(x,_,{value:Y,enumerable:!0,configurable:!0,writable:!0}):x[_]=Y,x}function K(x){"@babel/helpers - typeof";return K=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},K(x)}function q(x,_){if(!(x instanceof _))throw new TypeError("Cannot call a class as a function")}function G(x,_){for(var Y=0;Y<_.length;Y++){var B=_[Y];B.enumerable=B.enumerable||!1,B.configurable=!0,"value"in B&&(B.writable=!0),Object.defineProperty(x,w(B.key),B)}}function V(x,_,Y){return _&&G(x.prototype,_),Y&&G(x,Y),Object.defineProperty(x,"prototype",{writable:!1}),x}function w(x){var _=I(x,"string");return K(_)==="symbol"?_:String(_)}function I(x,_){if(K(x)!=="object"||x===null)return x;var Y=x[Symbol.toPrimitive];if(Y!==void 0){var B=Y.call(x,_||"default");if(K(B)!=="object")return B;throw new TypeError("@@toPrimitive must return a primitive value.")}return(_==="string"?String:Number)(x)}var F=function(x){k(Y,x);var _=E(Y);function Y(B){var y;if(q(this,Y),y=_.call(this),j(H(y),"defaultParams",{audioContext:null,audioScriptProcessor:null,audioRate:1,autoCenter:!0,autoCenterRate:5,autoCenterImmediately:!1,backend:"WebAudio",backgroundColor:null,barHeight:1,barRadius:0,barGap:null,barMinHeight:null,container:null,cursorColor:"#333",cursorWidth:1,dragSelection:!0,drawingContextAttributes:{desynchronized:!1},duration:null,fillParent:!0,forceDecode:!1,height:128,hideScrollbar:!1,hideCursor:!1,ignoreSilenceMode:!1,interact:!0,loopSelection:!0,maxCanvasWidth:4e3,mediaContainer:null,mediaControls:!1,mediaType:"audio",minPxPerSec:20,normalize:!1,partialRender:!1,pixelRatio:window.devicePixelRatio||screen.deviceXDPI/screen.logicalXDPI,plugins:[],progressColor:"#555",removeMediaElementOnDestroy:!0,renderer:p.default,responsive:!1,rtl:!1,scrollParent:!1,skipLength:2,splitChannels:!1,splitChannelsOptions:{overlay:!1,channelColors:{},filterChannels:[],relativeNormalization:!1,splitDragSelection:!1},vertical:!1,waveColor:"#999",xhr:{}}),j(H(y),"backends",{MediaElement:m.default,WebAudio:v.default,MediaElementWebAudio:C.default}),j(H(y),"util",h),y.params=Object.assign({},y.defaultParams,B),y.params.splitChannelsOptions=Object.assign({},y.defaultParams.splitChannelsOptions,B.splitChannelsOptions),y.container=typeof B.container=="string"?document.querySelector(y.params.container):y.params.container,!y.container)throw new Error("Container element not found");if(y.params.mediaContainer==null?y.mediaContainer=y.container:typeof y.params.mediaContainer=="string"?y.mediaContainer=document.querySelector(y.params.mediaContainer):y.mediaContainer=y.params.mediaContainer,!y.mediaContainer)throw new Error("Media Container element not found");if(y.params.maxCanvasWidth<=1)throw new Error("maxCanvasWidth must be greater than 1");if(y.params.maxCanvasWidth%2==1)throw new Error("maxCanvasWidth must be an even number");if(y.params.rtl===!0&&(y.params.vertical===!0?h.style(y.container,{transform:"rotateX(180deg)"}):h.style(y.container,{transform:"rotateY(180deg)"})),y.params.backgroundColor&&y.setBackgroundColor(y.params.backgroundColor),y.savedVolume=0,y.isMuted=!1,y.tmpEvents=[],y.currentRequest=null,y.arraybuffer=null,y.drawer=null,y.backend=null,y.peakCache=null,typeof y.params.renderer!="function")throw new Error("Renderer parameter is invalid");y.Drawer=y.params.renderer,y.params.backend=="AudioElement"&&(y.params.backend="MediaElement"),(y.params.backend=="WebAudio"||y.params.backend==="MediaElementWebAudio")&&!v.default.prototype.supportsWebAudio.call(null)&&(y.params.backend="MediaElement"),y.Backend=y.backends[y.params.backend],y.initialisedPluginList={},y.isDestroyed=!1,y.isReady=!1;var Q=0;return y._onResize=h.debounce(function(){y.drawer.wrapper&&Q!=y.drawer.wrapper.clientWidth&&!y.params.scrollParent&&(Q=y.drawer.wrapper.clientWidth,Q&&y.drawer.fireEvent("redraw"))},typeof y.params.responsive=="number"?y.params.responsive:100),T(y,H(y))}return V(Y,[{key:"init",value:function(){return this.registerPlugins(this.params.plugins),this.createDrawer(),this.createBackend(),this.createPeakCache(),this}},{key:"registerPlugins",value:function(y){var Q=this;return y.forEach(function(pe){return Q.addPlugin(pe)}),y.forEach(function(pe){pe.deferInit||Q.initPlugin(pe.name)}),this.fireEvent("plugins-registered",y),this}},{key:"getActivePlugins",value:function(){return this.initialisedPluginList}},{key:"addPlugin",value:function(y){var Q=this;if(!y.name)throw new Error("Plugin does not have a name!");if(!y.instance)throw new Error("Plugin ".concat(y.name," does not have an instance property!"));y.staticProps&&Object.keys(y.staticProps).forEach(function(_e){Q[_e]=y.staticProps[_e]});var pe=y.instance,xe=Object.getOwnPropertyNames(h.Observer.prototype);return xe.forEach(function(_e){pe.prototype[_e]=h.Observer.prototype[_e]}),this[y.name]=new pe(y.params||{},this),this.fireEvent("plugin-added",y.name),this}},{key:"initPlugin",value:function(y){if(!this[y])throw new Error("Plugin ".concat(y," has not been added yet!"));return this.initialisedPluginList[y]&&this.destroyPlugin(y),this[y].init(),this.initialisedPluginList[y]=!0,this.fireEvent("plugin-initialised",y),this}},{key:"destroyPlugin",value:function(y){if(!this[y])throw new Error("Plugin ".concat(y," has not been added yet and cannot be destroyed!"));if(!this.initialisedPluginList[y])throw new Error("Plugin ".concat(y," is not active and cannot be destroyed!"));if(typeof this[y].destroy!="function")throw new Error("Plugin ".concat(y," does not have a destroy function!"));return this[y].destroy(),delete this.initialisedPluginList[y],this.fireEvent("plugin-destroyed",y),this}},{key:"destroyAllPlugins",value:function(){var y=this;Object.keys(this.initialisedPluginList).forEach(function(Q){return y.destroyPlugin(Q)})}},{key:"createDrawer",value:function(){var y=this;this.drawer=new this.Drawer(this.container,this.params),this.drawer.init(),this.fireEvent("drawer-created",this.drawer),this.params.responsive!==!1&&(window.addEventListener("resize",this._onResize,!0),window.addEventListener("orientationchange",this._onResize,!0)),this.drawer.on("redraw",function(){y.drawBuffer(),y.drawer.progress(y.backend.getPlayedPercents())}),this.drawer.on("click",function(Q,pe){setTimeout(function(){return y.seekTo(pe)},0)}),this.drawer.on("scroll",function(Q){y.params.partialRender&&y.drawBuffer(),y.fireEvent("scroll",Q)}),this.drawer.on("dblclick",function(Q,pe){y.fireEvent("dblclick",Q,pe)})}},{key:"createBackend",value:function(){var y=this;this.backend&&this.backend.destroy(),this.backend=new this.Backend(this.params),this.backend.init(),this.fireEvent("backend-created",this.backend),this.backend.on("finish",function(){y.drawer.progress(y.backend.getPlayedPercents()),y.fireEvent("finish")}),this.backend.on("play",function(){return y.fireEvent("play")}),this.backend.on("pause",function(){return y.fireEvent("pause")}),this.backend.on("audioprocess",function(Q){y.drawer.progress(y.backend.getPlayedPercents()),y.fireEvent("audioprocess",Q)}),(this.params.backend==="MediaElement"||this.params.backend==="MediaElementWebAudio")&&(this.backend.on("seek",function(){y.drawer.progress(y.backend.getPlayedPercents())}),this.backend.on("volume",function(){var Q=y.getVolume();y.fireEvent("volume",Q),y.backend.isMuted!==y.isMuted&&(y.isMuted=y.backend.isMuted,y.fireEvent("mute",y.isMuted))}))}},{key:"createPeakCache",value:function(){this.params.partialRender&&(this.peakCache=new A.default)}},{key:"getDuration",value:function(){return this.backend.getDuration()}},{key:"getCurrentTime",value:function(){return this.backend.getCurrentTime()}},{key:"setCurrentTime",value:function(y){y>=this.getDuration()?this.seekTo(1):this.seekTo(y/this.getDuration())}},{key:"play",value:function(y,Q){var pe=this;return this.params.ignoreSilenceMode&&h.ignoreSilenceMode(),this.fireEvent("interaction",function(){return pe.play(y,Q)}),this.backend.play(y,Q)}},{key:"setPlayEnd",value:function(y){this.backend.setPlayEnd(y)}},{key:"pause",value:function(){if(!this.backend.isPaused())return this.backend.pause()}},{key:"playPause",value:function(){return this.backend.isPaused()?this.play():this.pause()}},{key:"isPlaying",value:function(){return!this.backend.isPaused()}},{key:"skipBackward",value:function(y){this.skip(-y||-this.params.skipLength)}},{key:"skipForward",value:function(y){this.skip(y||this.params.skipLength)}},{key:"skip",value:function(y){var Q=this.getDuration()||1,pe=this.getCurrentTime()||0;pe=Math.max(0,Math.min(Q,pe+(y||0))),this.seekAndCenter(pe/Q)}},{key:"seekAndCenter",value:function(y){this.seekTo(y),this.drawer.recenter(y)}},{key:"seekTo",value:function(y){var Q=this;if(typeof y!="number"||!isFinite(y)||y<0||y>1)throw new Error("Error calling wavesurfer.seekTo, parameter must be a number between 0 and 1!");this.fireEvent("interaction",function(){return Q.seekTo(y)});var pe=this.params.backend==="WebAudio",xe=this.backend.isPaused();pe&&!xe&&this.backend.pause();var _e=this.params.scrollParent;this.params.scrollParent=!1,this.backend.seekTo(y*this.getDuration()),this.drawer.progress(y),pe&&!xe&&this.backend.play(),this.params.scrollParent=_e,this.fireEvent("seek",y)}},{key:"stop",value:function(){this.pause(),this.seekTo(0),this.drawer.progress(0)}},{key:"setSinkId",value:function(y){return this.backend.setSinkId(y)}},{key:"setVolume",value:function(y){if(this.isMuted===!0){this.savedVolume=y;return}this.backend.setVolume(y),this.fireEvent("volume",y)}},{key:"getVolume",value:function(){return this.backend.getVolume()}},{key:"setPlaybackRate",value:function(y){this.backend.setPlaybackRate(y)}},{key:"getPlaybackRate",value:function(){return this.backend.getPlaybackRate()}},{key:"toggleMute",value:function(){this.setMute(!this.isMuted)}},{key:"setMute",value:function(y){if(y===this.isMuted){this.fireEvent("mute",this.isMuted);return}this.backend.setMute?(this.backend.setMute(y),this.isMuted=y):y?(this.savedVolume=this.backend.getVolume(),this.backend.setVolume(0),this.isMuted=!0,this.fireEvent("volume",0)):(this.backend.setVolume(this.savedVolume),this.isMuted=!1,this.fireEvent("volume",this.savedVolume)),this.fireEvent("mute",this.isMuted)}},{key:"getMute",value:function(){return this.isMuted}},{key:"getFilters",value:function(){return this.backend.filters||[]}},{key:"toggleScroll",value:function(){this.params.scrollParent=!this.params.scrollParent,this.drawBuffer()}},{key:"toggleInteraction",value:function(){this.params.interact=!this.params.interact}},{key:"getWaveColor",value:function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.params.splitChannelsOptions.channelColors[y]?this.params.splitChannelsOptions.channelColors[y].waveColor:this.params.waveColor}},{key:"setWaveColor",value:function(y){var Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.params.splitChannelsOptions.channelColors[Q]?this.params.splitChannelsOptions.channelColors[Q].waveColor=y:this.params.waveColor=y,this.drawBuffer()}},{key:"getProgressColor",value:function(){var y=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.params.splitChannelsOptions.channelColors[y]?this.params.splitChannelsOptions.channelColors[y].progressColor:this.params.progressColor}},{key:"setProgressColor",value:function(y,Q){this.params.splitChannelsOptions.channelColors[Q]?this.params.splitChannelsOptions.channelColors[Q].progressColor=y:this.params.progressColor=y,this.drawBuffer()}},{key:"getBackgroundColor",value:function(){return this.params.backgroundColor}},{key:"setBackgroundColor",value:function(y){this.params.backgroundColor=y,h.style(this.container,{background:this.params.backgroundColor})}},{key:"getCursorColor",value:function(){return this.params.cursorColor}},{key:"setCursorColor",value:function(y){this.params.cursorColor=y,this.drawer.updateCursor()}},{key:"getHeight",value:function(){return this.params.height}},{key:"setHeight",value:function(y){this.params.height=y,this.drawer.setHeight(y*this.params.pixelRatio),this.drawBuffer()}},{key:"setFilteredChannels",value:function(y){this.params.splitChannelsOptions.filterChannels=y,this.drawBuffer()}},{key:"drawBuffer",value:function(){var y=Math.round(this.getDuration()*this.params.minPxPerSec*this.params.pixelRatio),Q=this.drawer.getWidth(),pe=y,xe=0,_e=Math.max(xe+Q,pe);this.params.fillParent&&(!this.params.scrollParent||y{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var h=v(f("./src/util/index.js"));function p(w){if(typeof WeakMap!="function")return null;var I=new WeakMap,F=new WeakMap;return(p=function(_){return _?F:I})(w)}function v(w,I){if(!I&&w&&w.__esModule)return w;if(w===null||m(w)!=="object"&&typeof w!="function")return{default:w};var F=p(I);if(F&&F.has(w))return F.get(w);var x={},_=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Y in w)if(Y!=="default"&&Object.prototype.hasOwnProperty.call(w,Y)){var B=_?Object.getOwnPropertyDescriptor(w,Y):null;B&&(B.get||B.set)?Object.defineProperty(x,Y,B):x[Y]=w[Y]}return x.default=w,F&&F.set(w,x),x}function m(w){"@babel/helpers - typeof";return m=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(I){return typeof I}:function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},m(w)}function A(w,I){if(!(w instanceof I))throw new TypeError("Cannot call a class as a function")}function C(w,I){for(var F=0;F"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function H(w){return H=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(F){return F.__proto__||Object.getPrototypeOf(F)},H(w)}function U(w,I,F){return I=N(I),I in w?Object.defineProperty(w,I,{value:F,enumerable:!0,configurable:!0,writable:!0}):w[I]=F,w}function N(w){var I=j(w,"string");return m(I)==="symbol"?I:String(I)}function j(w,I){if(m(w)!=="object"||w===null)return w;var F=w[Symbol.toPrimitive];if(F!==void 0){var x=F.call(w,I||"default");if(m(x)!=="object")return x;throw new TypeError("@@toPrimitive must return a primitive value.")}return(I==="string"?String:Number)(w)}var K="playing",q="paused",G="finished",V=function(w){D(F,w);var I=k(F);function F(x){var _,Y,B;return A(this,F),B=I.call(this),U(E(B),"audioContext",null),U(E(B),"stateBehaviors",(_={},U(_,K,{init:function(){this.addOnAudioProcess()},getPlayedPercents:function(){var Q=this.getDuration();return this.getCurrentTime()/Q||0},getCurrentTime:function(){return this.startPosition+this.getPlayedTime()}}),U(_,q,{init:function(){},getPlayedPercents:function(){var Q=this.getDuration();return this.getCurrentTime()/Q||0},getCurrentTime:function(){return this.startPosition}}),U(_,G,{init:function(){this.fireEvent("finish")},getPlayedPercents:function(){return 1},getCurrentTime:function(){return this.getDuration()}}),_)),B.params=x,B.ac=x.audioContext||(B.supportsWebAudio()?B.getAudioContext():{}),B.lastPlay=B.ac.currentTime,B.startPosition=0,B.scheduledPause=null,B.states=(Y={},U(Y,K,Object.create(B.stateBehaviors[K])),U(Y,q,Object.create(B.stateBehaviors[q])),U(Y,G,Object.create(B.stateBehaviors[G])),Y),B.buffer=null,B.filters=[],B.gainNode=null,B.mergedPeaks=null,B.offlineAc=null,B.peaks=null,B.playbackRate=1,B.analyser=null,B.scriptNode=null,B.source=null,B.splitPeaks=[],B.state=null,B.explicitDuration=x.duration,B.sinkStreamDestination=null,B.sinkAudioElement=null,B.destroyed=!1,B}return S(F,[{key:"supportsWebAudio",value:function(){return!!(window.AudioContext||window.webkitAudioContext)}},{key:"getAudioContext",value:function(){return window.WaveSurferAudioContext||(window.WaveSurferAudioContext=new(window.AudioContext||window.webkitAudioContext)),window.WaveSurferAudioContext}},{key:"getOfflineAudioContext",value:function(_){return window.WaveSurferOfflineAudioContext||(window.WaveSurferOfflineAudioContext=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,2,_)),window.WaveSurferOfflineAudioContext}},{key:"init",value:function(){this.createVolumeNode(),this.createScriptNode(),this.createAnalyserNode(),this.setState(q),this.setPlaybackRate(this.params.audioRate),this.setLength(0)}},{key:"disconnectFilters",value:function(){this.filters&&(this.filters.forEach(function(_){_&&_.disconnect()}),this.filters=null,this.analyser.connect(this.gainNode))}},{key:"setState",value:function(_){this.state!==this.states[_]&&(this.state=this.states[_],this.state.init.call(this))}},{key:"setFilter",value:function(){for(var _=arguments.length,Y=new Array(_),B=0;B<_;B++)Y[B]=arguments[B];this.setFilters(Y)}},{key:"setFilters",value:function(_){this.disconnectFilters(),_&&_.length&&(this.filters=_,this.analyser.disconnect(),_.reduce(function(Y,B){return Y.connect(B),B},this.analyser).connect(this.gainNode))}},{key:"createScriptNode",value:function(){this.params.audioScriptProcessor&&(this.scriptNode=this.params.audioScriptProcessor,this.scriptNode.connect(this.ac.destination))}},{key:"addOnAudioProcess",value:function(){var _=this,Y=function B(){var y=_.getCurrentTime();y>=_.getDuration()&&_.state!==_.states[G]?(_.setState(G),_.fireEvent("pause")):y>=_.scheduledPause&&_.state!==_.states[q]?_.pause():_.state===_.states[K]&&(_.fireEvent("audioprocess",y),h.frame(B)())};Y()}},{key:"createAnalyserNode",value:function(){this.analyser=this.ac.createAnalyser(),this.analyser.connect(this.gainNode)}},{key:"createVolumeNode",value:function(){this.ac.createGain?this.gainNode=this.ac.createGain():this.gainNode=this.ac.createGainNode(),this.gainNode.connect(this.ac.destination)}},{key:"setSinkId",value:function(_){return _?(this.sinkAudioElement||(this.sinkAudioElement=new window.Audio,this.sinkAudioElement.autoplay=!0),this.sinkAudioElement.setSinkId?(this.sinkStreamDestination||(this.sinkStreamDestination=this.ac.createMediaStreamDestination()),this.gainNode.disconnect(),this.gainNode.connect(this.sinkStreamDestination),this.sinkAudioElement.srcObject=this.sinkStreamDestination.stream,this.sinkAudioElement.setSinkId(_)):Promise.reject(new Error("setSinkId is not supported in your browser"))):Promise.reject(new Error("Invalid deviceId: "+_))}},{key:"setVolume",value:function(_){this.gainNode.gain.setValueAtTime(_,this.ac.currentTime)}},{key:"getVolume",value:function(){return this.gainNode.gain.value}},{key:"decodeArrayBuffer",value:function(_,Y,B){this.offlineAc||(this.offlineAc=this.getOfflineAudioContext(this.ac&&this.ac.sampleRate?this.ac.sampleRate:44100)),"webkitAudioContext"in window?this.offlineAc.decodeAudioData(_,function(y){return Y(y)},B):this.offlineAc.decodeAudioData(_).then(function(y){return Y(y)}).catch(function(y){return B(y)})}},{key:"setPeaks",value:function(_,Y){Y!=null&&(this.explicitDuration=Y),this.peaks=_}},{key:"setLength",value:function(_){if(!(this.mergedPeaks&&_==2*this.mergedPeaks.length-1+2)){this.splitPeaks=[],this.mergedPeaks=[];var Y=this.buffer?this.buffer.numberOfChannels:1,B;for(B=0;BR&&(R=z),zthis.mergedPeaks[2*oe])&&(this.mergedPeaks[2*oe]=R),(_e==0||Re=this.getDuration()&&(_=0)),Y==null&&(Y=this.getDuration()),this.startPosition=_,this.lastPlay=this.ac.currentTime,this.state===this.states[G]&&this.setState(q),{start:_,end:Y}}},{key:"getPlayedTime",value:function(){return(this.ac.currentTime-this.lastPlay)*this.playbackRate}},{key:"play",value:function(_,Y){if(this.buffer){this.createSource();var B=this.seekTo(_,Y);_=B.start,Y=B.end,this.scheduledPause=Y,this.source.start(0,_),this.resumeAudioContext(),this.setState(K),this.fireEvent("play")}}},{key:"pause",value:function(){this.scheduledPause=null,this.startPosition+=this.getPlayedTime();try{this.source&&this.source.stop(0)}catch{}this.setState(q),this.fireEvent("pause")}},{key:"getCurrentTime",value:function(){return this.state.getCurrentTime.call(this)}},{key:"getPlaybackRate",value:function(){return this.playbackRate}},{key:"setPlaybackRate",value:function(_){this.playbackRate=_||1,this.source&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.ac.currentTime)}},{key:"setPlayEnd",value:function(_){this.scheduledPause=_}}]),F}(h.Observer);c.default=V,u.exports=c.default},"./node_modules/debounce/index.js":u=>{function c(f,h,p){var v,m,A,C,S;h==null&&(h=100);function D(){var k=Date.now()-C;k=0?v=setTimeout(D,h-k):(v=null,p||(S=f.apply(A,m),A=m=null))}var O=function(){A=this,m=arguments,C=Date.now();var k=p&&!v;return v||(v=setTimeout(D,h)),k&&(S=f.apply(A,m),A=m=null),S};return O.clear=function(){v&&(clearTimeout(v),v=null)},O.flush=function(){v&&(S=f.apply(A,m),A=m=null,clearTimeout(v),v=null)},O}c.debounce=c,u.exports=c}},s={};function o(u){var c=s[u];if(c!==void 0)return c.exports;var f=s[u]={exports:{}};return r[u](f,f.exports,o),f.exports}var l=o("./src/wavesurfer.js");return l})())})(Nv);var HE=Nv.exports;const UE=s3(HE),Pp=ze({__name:"WaveAudio",setup(e,{expose:t}){const r=Pe(null);Vt(()=>{const v=window.getCurrentTheme(),m=li["fg-base"][v],A=li["fg-secondary"][v];r.value=UE.create({container:"#waveform",waveColor:m,progressColor:A,cursorWidth:0,barWidth:1,barGap:3,responsive:!0,backend:"MediaElement"}),r.value.on("play",()=>{s.setPlaying(!0)}),r.value.on("pause",()=>{s.setPlaying(!1)}),r.value.on("audioprocess",()=>{s.setProgress(r.value.getCurrentTime())}),r.value.on("finish",()=>{o=!0,s.onSongEnded()}),r.value.on("waveform-ready",()=>{r.value&&(s.setDuration(r.value.getDuration()),(o||s.playing)&&(l(),o=!1))})});const s=zt();let o=!1;Vt(()=>{r.value.load(s.stream)}),ut(()=>s.song.id,()=>{r.value.isPlaying()&&(o=!0),r.value.load(s.stream),s.setPlaying(!1)});const l=()=>{try{r.value.play()}catch{}},u=()=>{r.value.pause()},c=v=>{r.value.seekTo(v/s.durationSeconds)},f=v=>{let m=v/100;m=Math.min(Math.max(m,0),1),r.value.setVolume(m)},h=v=>{r.value.setMute(v)};return Vt(()=>{f(s.volume)}),t({play:l,pause:u,seek:c,setVolume:f,setMute:h}),(v,m)=>(ne(),ge("div",{id:"waveform",onAudioprocess:m[0]||(m[0]=A=>se(s).setProgress(A))},null,32))}});const qE=ze({__name:"AmbientBackground",props:{src:{type:String,required:!0},direction:{type:String,required:!1,default:"to bottom"},placeholder:{type:String,required:!1}},setup(e){const t=Ur(),r=e,s=Pe(null),o=async(l=void 0)=>{if(!s.value)return;const u=l===void 0?sv(r.src):l,c=await Pa(u,r.placeholder);try{await HP(s.value,c,r.direction)}catch(f){if(!(f instanceof Error)||!f.message.includes("Error loading image"))throw f;await o(null)}};return ut(()=>r.src,()=>lr(o)),Vt(o),(l,u)=>e.src!=null&&se(t).ambient?(ne(),ge("div",{key:0,ref_key:"ambientGradient",ref:s,class:"ambient-gradient absolute inset-0 pointer-events-none"},null,512)):Ne("",!0)}}),jE=e=>(ci("data-v-0d0bd51a"),e=e(),fi(),e),KE={class:"player relative"},zE={key:1,class:"desktop mx-4"},ZE={class:"song-info"},GE={class:"title-artist"},YE={class:"controls"},JE={class:"top relative"},XE=["disabled"],QE=["disabled"],ek=["disabled"],tk={class:"bottom"},nk={class:"display"},rk={class:"text-xs text-muted text-left"},ik={class:"aux relative"},sk={key:0,class:"cursor-pointer material-symbols-rounded ms-fill"},ok={key:2,class:"mobile mx-4"},ak={class:"artist-title overflow-hidden"},lk={class:"full"},uk={class:"rest"},ck={class:"song-info"},fk=jE(()=>te("div",{class:"rest"},null,-1)),dk={class:"title-artist mb-4"},hk={class:"controls mb-4"},pk={class:"top"},mk={class:"bottom"},vk={class:"flex flex-row justify-between"},gk={class:"text-xs text-muted text-right"},yk={class:"text-xs text-muted text-left"},_k={class:"aux flex flex-row justify-between"},bk={class:"flex flex-row"},wk=ze({__name:"Player",setup(e){const t=zt(),r=Ur(),s=Pe(null),o=Pe(""),l=Ve(()=>t.sharedPlayer.connections.map(v=>({value:v.id,label:v.friendlyName})));ut(o,v=>{var m;v===((m=t.sharedPlayer.me)==null?void 0:m.id)?(t.sharedPlayer.makeMePlayer(),t.setPlaying(!1)):u(v)}),ut(()=>t.sharedPlayer.connections,v=>{var m;(!o.value||!v.find(A=>A.id===o.value))&&(o.value=(m=t.sharedPlayer.me)==null?void 0:m.id)});const u=v=>{const m=t.sharedPlayer.connections.find(A=>A.id===v);m&&(t.sharedPlayer.setPlayer(m),s.value=t.sharedPlayer)};Vt(()=>{var v;o.value=(v=t.sharedPlayer.me)==null?void 0:v.id}),ut(s,()=>{t.setPlayer(s.value)}),Vt(()=>{t.setPlayer(s.value)});const c=Pe(!1),f=Ve(()=>{var v;return o.value===((v=t.sharedPlayer.me)==null?void 0:v.id)}),h=Ve(()=>r.player.type==="web"&&f.value),p=Ve(()=>r.player.type==="web/wave"&&f.value);return(v,m)=>{const A=Fi("router-link");return ne(),ge("div",KE,[me(qE,{src:se(t).song.cover,direction:"to top right"},null,8,["src"]),h.value?(ne(),je(TE,{key:0,ref_key:"playable",ref:s},null,512)):Ne("",!0),se(Uu)?(ne(),ge("div",ok,[se(Uu)&&!f.value?(ne(),ge("audio",{key:0,id:"hijackVolume",onVolumechange:m[14]||(m[14]=C=>se(t).setVolume(C.target.volume*100))},null,32)):Ne("",!0),Ks(te("div",{class:"small",onClick:m[18]||(m[18]=C=>c.value=!0)},[me(oi,{src:se(t).song.cover,class:"cover rounded-md"},null,8,["src"]),te("div",ak,[me(ir,{text:se(t).song.title,class:"text-sm"},null,8,["text"]),me(ir,{text:se(t).song.artist,class:"text-xs text-muted"},null,8,["text"])]),me(wu,{modelValue:o.value,"onUpdate:modelValue":m[15]||(m[15]=C=>o.value=C),class:Je([{"on-this-device":f.value},"material-symbols-rounded"]),options:l.value,icon:"devices",onClick:m[16]||(m[16]=Wt(()=>{},["stop"]))},null,8,["modelValue","class","options"]),te("span",{class:"cursor-pointer material-symbols-rounded ms-fill text-xl",onClick:m[17]||(m[17]=Wt((...C)=>se(t).playPause&&se(t).playPause(...C),["stop"]))},We(se(t).playing?"pause":"play_arrow"),1)],512),[[wa,!c.value]]),Ks(te("div",lk,[te("div",null,[te("span",{class:"material-symbols-rounded ms-wght-500",onClick:m[19]||(m[19]=C=>c.value=!1)}," expand_more ")]),me(A,{class:"my-auto linkOnHover",to:"/player"},{default:Ot(()=>[me(oi,{src:se(t).song.cover,class:"cover rounded-md"},null,8,["src"])]),_:1}),te("div",uk,[te("div",ck,[fk,te("div",dk,[me(A,{to:`/track/${se(Qh)(se(t).song.id)}`,class:"linkOnHover"},{default:Ot(()=>[me(ir,{text:se(t).song.title,class:"text-2xl font-bold"},null,8,["text"])]),_:1},8,["to"]),me(A,{to:`/search/${se(t).song.artist}`,class:"linkOnHover"},{default:Ot(()=>[me(ir,{text:se(t).song.artist,class:"text-muted text-xs"},null,8,["text"])]),_:1},8,["to"])])]),te("div",hk,[te("div",pk,[te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:m[20]||(m[20]=(...C)=>se(t).toggleShuffle&&se(t).toggleShuffle(...C))},We(se(t).shuffleIcon),1),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:m[21]||(m[21]=(...C)=>se(t).previous&&se(t).previous(...C))}," skip_previous "),te("span",{class:"cursor-pointer material-symbols-rounded ms-fill text-4xl",onClick:m[22]||(m[22]=(...C)=>se(t).playPause&&se(t).playPause(...C))},We(se(t).playing?"pause_circle":"play_circle"),1),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:m[23]||(m[23]=(...C)=>se(t).next&&se(t).next(...C))}," skip_next "),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:m[24]||(m[24]=(...C)=>se(t).toggleRepeat&&se(t).toggleRepeat(...C))},We(se(t).repeat),1)]),te("div",mk,[p.value?(ne(),je(Pp,{key:0,ref_key:"playable",ref:s},null,512)):(ne(),je(bu,{key:1,modelValue:se(t).progressPercent,"onUpdate:modelValue":m[25]||(m[25]=C=>se(t).progressPercent=C),max:"1000",onChange:m[26]||(m[26]=C=>se(t).seekPercent(C/10))},null,8,["modelValue"])),te("div",vk,[te("span",gk,We(se(t).displayProgress),1),te("span",yk,We(se(t).song.duration),1)])])]),te("div",_k,[te("div",bk,[te("span",{class:Je([{"ms-fill":se(t).song.favourite},"favourite text-xl cursor-pointer material-symbols-rounded ms-wght-300"]),onClick:m[27]||(m[27]=(...C)=>se(t).toggleFavourite&&se(t).toggleFavourite(...C))}," favorite ",2),se(r).player.pictureInPicture?(ne(),ge(et,{key:0},[se(Un)=="loading"?(ne(),je(xp,{key:0})):(ne(),ge("span",{key:1,class:"favourite material-icons-round cursor-pointer text-xl ml-2",onClick:m[28]||(m[28]=(...C)=>se(sa)&&se(sa)(...C))},We(se(Un)=="ready"?"picture_in_picture_alt":"error"),1))],64)):Ne("",!0)]),me(wu,{modelValue:o.value,"onUpdate:modelValue":m[29]||(m[29]=C=>o.value=C),class:Je({"on-this-device":f.value}),options:l.value,icon:"devices"},null,8,["modelValue","class","options"])])])],512),[[wa,c.value]])])):(ne(),ge("div",zE,[te("div",ZE,[me(A,{class:"linkOnHover",to:"/player"},{default:Ot(()=>[se(t).loaded?(ne(),je(oi,{key:0,src:se(t).song.cover,class:"cover rounded-md"},null,8,["src"])):Ne("",!0)]),_:1}),se(t).loaded?(ne(),ge(et,{key:0},[te("div",GE,[me(A,{to:`/track/${se(Qh)(se(t).song.id)}`,class:"linkOnHover"},{default:Ot(()=>[me(ir,{text:se(t).song.title,class:""},null,8,["text"])]),_:1},8,["to"]),me(Tv,{artist:se(t).song.artist,class:"text-muted text-xs"},null,8,["artist"])]),te("span",{class:Je([{"ms-fill":se(t).song.favourite},"favourite text-xl cursor-pointer material-symbols-rounded ms-wght-300"]),onClick:m[0]||(m[0]=(...C)=>se(t).toggleFavourite&&se(t).toggleFavourite(...C))}," favorite ",2),se(r).player.pictureInPicture?(ne(),ge(et,{key:0},[se(Un)=="loading"?(ne(),je(xp,{key:0})):(ne(),ge("span",{key:1,class:"favourite material-icons-round cursor-pointer text-xl",onClick:m[1]||(m[1]=(...C)=>se(sa)&&se(sa)(...C))},We(se(Un)=="ready"?"picture_in_picture_alt":"error"),1))],64)):Ne("",!0)],64)):(ne(),je(A,{key:1,to:"/collection/playlists"},{default:Ot(()=>[me(ir,{class:"text-xs text-muted",text:"Nothing playing yet..."})]),_:1}))]),te("div",YE,[te("div",JE,[te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:m[2]||(m[2]=(...C)=>se(t).toggleShuffle&&se(t).toggleShuffle(...C))},We(se(t).shuffleIcon),1),te("span",{class:Je([{"cursor-not-allowed":!se(t).loaded},"icon cursor-pointer material-symbols-rounded ms-fill"]),disabled:!se(t).loaded,onClick:m[3]||(m[3]=(...C)=>se(t).previous&&se(t).previous(...C))}," skip_previous ",10,XE),te("span",{class:Je([{"cursor-not-allowed":!se(t).loaded},"cursor-pointer material-symbols-rounded ms-fill text-4xl"]),disabled:!se(t).loaded,onClick:m[4]||(m[4]=(...C)=>se(t).playPause&&se(t).playPause(...C))},We(se(t).playing?"pause_circle":"play_circle"),11,QE),te("span",{class:Je([{"cursor-not-allowed":!se(t).loaded},"icon cursor-pointer material-symbols-rounded ms-fill"]),disabled:!se(t).loaded,onClick:m[5]||(m[5]=(...C)=>se(t).next&&se(t).next(...C))}," skip_next ",10,ek),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:m[6]||(m[6]=(...C)=>se(t).toggleRepeat&&se(t).toggleRepeat(...C))},We(se(t).repeat),1)]),te("div",tk,[te("div",nk,[te("span",{class:"text-xs text-muted text-right cursor-pointer",onClick:m[7]||(m[7]=C=>se(r).player.type=se(r).player.type==="web"?"web/wave":"web")},We(se(t).displayProgress),1),p.value?(ne(),je(Pp,{key:0,ref_key:"playable",ref:s},null,512)):(ne(),je(bu,{key:1,modelValue:se(t).progressPercent,"onUpdate:modelValue":m[8]||(m[8]=C=>se(t).progressPercent=C),max:"1000",onChange:m[9]||(m[9]=C=>se(t).seekPercent(C/10))},null,8,["modelValue"])),te("span",rk,We(se(t).displayDuration),1)])])]),te("div",ik,[me(A,{to:"/sing-along",class:"icon"},{default:Ot(()=>[se(t).loaded&&se(t).hasLyrics?(ne(),ge("span",sk," mic ")):Ne("",!0)]),_:1}),me(wu,{modelValue:o.value,"onUpdate:modelValue":m[10]||(m[10]=C=>o.value=C),class:Je({"on-this-device":f.value}),options:l.value,icon:"devices"},null,8,["modelValue","class","options"]),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:m[11]||(m[11]=(...C)=>se(t).toggleMute&&se(t).toggleMute(...C))},We(se(t).muteIcon),1),me(bu,{modelValue:se(t).volume,"onUpdate:modelValue":m[12]||(m[12]=C=>se(t).volume=C),max:"100",onChange:m[13]||(m[13]=C=>se(t).setVolume(C))},null,8,["modelValue"])])]))])}}});const Wv=ot(wk,[["__scopeId","data-v-0d0bd51a"]]),Ak=1,xk=1,Pk=1,C6=e=>({type:"song",version:Ak,song:e}),Ck=async e=>{const t={type:"playlist",version:xk};if(e.type==="special")return null;if(e.type==="classic"){const r=Object.assign({},e);return delete r.queue,delete r.cursor,{...t,playlist:r}}if(e.type==="smart"){const r=await Ux(e.id);return{...t,playlist:{name:e.name,description:e.description,cover:e.cover,type:e.type,definition:r,plays:e.plays,id:e.id,href:e.href}}}},E6=async e=>({type:"collection",version:Pk,collection:await Promise.all(e.filter(t=>t.type!="special").map(Ck))}),k6=(e,t="my")=>{var r="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(e)),s=document.createElement("a");s.setAttribute("href",r),s.setAttribute("download",`${t}.one.${e.type}`),s.click()},Ek=async e=>{if(!e.length)return;const t=Cv();if(!t.path.startsWith("/playlist/")){Lr.addError("No playlist selected","Please select open the playlist you want to add songs to",3e3);return}const r=tn().getPlaylistById(t.params.id);if(r.type!=="classic"){Lr.addError("Can't add songs to this playlist","You can only add songs to classic playlists",3e3);return}await lv(r.id,e.map(s=>s.song)),Lr.addSuccess(`Added ${e.length} songs to ${r.name}`,null,3e3)},kk=async e=>{const t=e.playlist,r=await Ac(t.type,t.name,t.description,t.cover);if(t.type==="smart"){await qx(r,t.definition);return}await lv(r,t.songs)},Sk=async e=>{if(e.length){for(const t of e)await kk(t);Lr.addSuccess(`Added ${e.length} playlists`,null,3e3),tn().fetchPlaylists()}},Ok=e=>{const t=e.filter(o=>o.type==="song");Ek(t);const r=e.filter(o=>o.type==="playlist"),s=e.filter(o=>o.type==="collection");for(const o of s)r.push(...o.collection);Sk(r)},Rk=["onDrop","onDragleave"],Tk=ze({__name:"DropImport",setup(e){const t=Pe(!1),r=Cv(),s=tn(),o=Ve(()=>r.path.startsWith("/playlist/")),l=Ve(()=>{if(!o.value)return null;const p=r.params.id;return s.getPlaylistById(p)}),u=Ve(()=>l.value?l.value.type==="classic":!1),c=async p=>{const v=[];for(let C=0;CJSON.parse(C));Ok(A)},f=p=>{if(t.value=!1,!u)return;const v=p.dataTransfer.files;v.length&&c(v)},h=p=>{p.currentTarget.contains(p.relatedTarget)||(t.value=!1)};return(p,v)=>(ne(),ge("div",{class:Je(["dropzone",{drophover:t.value}]),onDrop:Wt(f,["prevent"]),onDragenter:v[0]||(v[0]=Wt(()=>{},["prevent"])),onDragover:v[1]||(v[1]=Wt(m=>t.value=!0,["prevent"])),onDragleave:Wt(h,["prevent"])},[Hi(p.$slots,"default",{},void 0,!0)],42,Rk))}});const Ik=ot(Tk,[["__scopeId","data-v-c5853362"]]),Mk=["src"],Lk={id:"appRoot",class:"appRoot"},$k={class:"interface"},Dk=te("div",{id:"popup-target"},null,-1),Bk=te("div",{id:"dropdown-target"},null,-1),Nk=te("div",{id:"autocomplete-target"},null,-1),Wk={name:"App",components:{Sidebar:Dv,Body:Bv,Player:Wv},async mounted(){Ur(),pE(),$v(),await mE()&&this.$router.push("/welcome"),await vE()},data(){return{maximised:!1}},watch:{$route(e){document.title=e.meta.title||"reAudioPlayer One"}}},Vk=ze({...Wk,setup(e){Iv();const t=zt(),r=Pe(null);ut(()=>t.song.cover,()=>{s()});const s=async()=>{r.value=await Pa(t.song.cover,"graphic_eq")};s();const o=Ve(()=>window.getCurrentThemeProperty("coverAsBackground"));return Vt(()=>{window.addEventListener("keydown",l=>{l.code==="Space"&&document.activeElement===document.body&&(l.preventDefault(),t.playPause())})}),(l,u)=>(ne(),ge(et,null,[te("div",{class:Je([{hidden:!o.value},"bgImageWrapper"])},[te("div",{style:Fr({backgroundImage:`url(${r.value})`}),class:"bgImage"},[te("img",{src:r.value,class:"hidden",onError:u[0]||(u[0]=c=>l.src=null)},null,40,Mk)],4)],2),me(Ik,null,{default:Ot(()=>[te("div",Lk,[se(t).ready?(ne(),ge(et,{key:0},[me(FC),te("div",$k,[l.maximised?Ne("",!0):(ne(),je(Dv,{key:0})),me(Bv,{onMaximise:u[1]||(u[1]=c=>l.maximised=c)})]),me(Wv),l.maximised?Ne("",!0):(ne(),je(aP,{key:0}))],64)):(ne(),je(JC,{key:1}))])]),_:1}),Dk,Bk,Nk,me(hE)],64))}});function ca(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ca=function(t){return typeof t}:ca=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ca(e)}function Fk(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Cp(e,t){for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:{},s,o,l,u=function(f){for(var h=arguments.length,p=new Array(h>1?h-1:0),v=1;v1){var h=c.find(function(v){return v.isIntersecting});h&&(f=h)}if(o.callback){var p=f.isIntersecting&&f.intersectionRatio>=o.threshold;if(p===o.oldResult)return;o.oldResult=p,o.callback(p,f)}},this.options.intersection),s.context.$nextTick(function(){o.observer&&o.observer.observe(o.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),e}();function Fv(e,t,r){var s=t.value;if(s)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var o=new Zk(e,s,r);e._vue_visibilityState=o}}function Gk(e,t,r){var s=t.value,o=t.oldValue;if(!Vv(s,o)){var l=e._vue_visibilityState;if(!s){Hv(e);return}l?l.createObserver(s,r):Fv(e,{value:s},r)}}function Hv(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var fa={bind:Fv,update:Gk,unbind:Hv};function Yk(e){e.directive("observe-visibility",fa)}var Jk={version:"1.0.0",install:Yk},ka=null;typeof window<"u"?ka=window.Vue:typeof global<"u"&&(ka=global.Vue);ka&&ka.use(Jk);var Uv=function(t,r){var s,o=r.arg;if(!o){console.error("参数有误");return}var l=r.value,u=_t(o)?o.value:(s=r.instance)===null||s===void 0?void 0:s.$refs[o];if(!u){console.error("没有找到 ".concat(o," 对应的实例"));return}if(typeof u.addReference!="function"){console.error("".concat(o," 对应的实例不是 VContextmenu"));return}t.$contextmenuKey=o,u.addReference(t,l)},qv=function(t,r){var s,o=t.$contextmenuKey;if(o){var l=(s=r.instance)===null||s===void 0?void 0:s.$refs[o];l==null||l.removeReference(t)}},Xk=function(t,r){qv(t,r),Uv(t,r)},Qk={mounted:Uv,updated:Xk,beforeUnmount:qv},yt={contextmenu:"v-contextmenu",contextmenuIcon:"v-contextmenu-icon",contextmenuInner:"v-contextmenu-inner",contextmenuDivider:"v-contextmenu-divider",contextmenuItem:"v-contextmenu-item",contextmenuItemHover:"v-contextmenu-item--hover",contextmenuItemDisabled:"v-contextmenu-item--disabled",contextmenuGroup:"v-contextmenu-group",contextmenuGroupTitle:"v-contextmenu-group__title",contextmenuGroupMenus:"v-contextmenu-group__menus",contextmenuSubmenu:"v-contextmenu-submenu",contextmenuSubmenuTitle:"v-contextmenu-submenu__title",contextmenuSubmenuMenus:"v-contextmenu-submenu__menus",contextmenuSubmenuMenusTop:"v-contextmenu-submenu__menus--top",contextmenuSubmenuMenusRight:"v-contextmenu-submenu__menus--right",contextmenuSubmenuMenusBottom:"v-contextmenu-submenu__menus--bottom",contextmenuSubmenuMenusLeft:"v-contextmenu-submenu__menus--left",contextmenuSubmenuArrow:"v-contextmenu-submenu__arrow"};function eS(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Nr(e)}var tS={trigger:["contextmenu"]},kp=ze({name:"VContextmenu",props:{modelValue:{type:Boolean,default:!1},autoAjustPlacement:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},teleport:{type:[String,Object],default:function(){return"body"}}},emits:["show","hide","update:modelValue"],setup:function(t,r){var s=r.emit,o=Pe(null),l=Pe(t.modelValue||!1),u=function(M){l.value=M,s("update:modelValue",M)},c=Pe({top:0,left:0}),f=Ve(function(){return{top:"".concat(c.value.top,"px"),left:"".concat(c.value.left,"px")}}),h=Pe(null),p=function(M,E){var T=M instanceof Event?E:M,H=(T==null?void 0:T.autoAjustPlacement)||t.autoAjustPlacement,U={top:(T==null?void 0:T.top)||0,left:(T==null?void 0:T.left)||0};if(M instanceof Event){var N,j;M.preventDefault(),U.top=(N=T==null?void 0:T.top)!==null&&N!==void 0?N:M.pageY,U.left=(j=T==null?void 0:T.left)!==null&&j!==void 0?j:M.pageX}u(!0),lr(function(){if(H){var K=o.value;if(!K)return;var q=K.clientWidth,G=K.clientHeight;if(G+U.top>=window.innerHeight+window.scrollY){var V=U.top-G;V>window.scrollY&&(U.top=V)}if(q+U.left>=window.innerWidth+window.scrollX){var w=U.left-q;w>window.scrollX&&(U.left=w)}}c.value=U,s("show")})},v=function(){h.value=null,u(!1),s("hide")},m=Xi(new Map),A=Pe(),C=Ve(function(){return A.value&&m.get(A.value)}),S=function(M,E){var T=function(){return E!=null&&E.trigger?Array.isArray(E.trigger)?E.trigger:[E.trigger]:tS.trigger}(),H=function(N){t.disabled||(A.value=M,p(N,{}))};T.forEach(function(U){M.addEventListener(U,H)}),m.set(M,{triggers:T,handler:H})},D=function(M){var E=m.get(M);E&&(E.triggers.forEach(function(T){M.removeEventListener(T,E.handler)}),m.delete(M))},O=function(M){if(!(!M.target||!o.value||!A.value)){var E=o.value.contains(M.target)||C.value&&C.value.triggers.includes("click")&&A.value.contains(M.target);E||u(!1)}};return ut(l,function(k){k?document.addEventListener("click",O):document.removeEventListener("click",O)}),Fa(function(){document.removeEventListener("click",O)}),Or("visible",l),Or("autoAjustPlacement",t.autoAjustPlacement),Or("show",p),Or("hide",v),{visible:l,style:f,currentReferenceOptions:C,currentOptions:h,contextmenuRef:o,addReference:S,removeReference:D,toggle:u,show:p,hide:v}},methods:{renderContent:function(){var t,r;return Ks(me("div",{class:yt.contextmenu,ref:"contextmenuRef",style:this.style},[me("ul",{class:yt.contextmenuInner},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r,{triggerOptions:"currentReferenceOptions",options:"currentOptions"})])]),[[wa,"visible"]])}},render:function(){var t;return this.visible?this.teleport?me(eo,{to:this.teleport},eS(t=this.renderContent())?t:{default:function(){return[t]}}):this.renderContent():null}});function fn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Sp=ze({name:"VContextmenuItem",props:{disabled:{type:Boolean,default:!1},hideOnClick:{type:Boolean,default:!0}},emits:["click","mouseenter","mouseleave"],setup:function(t,r){var s=r.emit,o=nn("hide"),l=Pe(!1),u=Ve(function(){var p;return p={},fn(p,yt.contextmenuItem,!0),fn(p,yt.contextmenuItemDisabled,t.disabled),fn(p,yt.contextmenuItemHover,l.value),p}),c=function(v){t.disabled||(s("click",v),t.hideOnClick&&(o==null||o()))},f=function(v){t.disabled||(l.value=!0,s("mouseenter",v))},h=function(v){t.disabled||(l.value=!1,s("mouseleave",v))};return{classes:u,handleClick:c,handleMouseenter:f,handleMouseleave:h}},render:function(){var t,r;return me("li",{class:this.classes,onClick:this.handleClick,onMouseenter:this.handleMouseenter,onMouseleave:this.handleMouseleave},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r)])}}),Op=ze({name:"VContextmenuDivider",render:function(){return me("li",{class:yt.contextmenuDivider},null)}}),nS=ze({name:"VContextmenuIcon",props:{name:{type:String,required:!0}},render:function(){return me("i",{class:[yt.contextmenuIcon,"".concat(yt.contextmenuIcon,"-").concat(this.name)]},null)}}),Rp=ze({name:"VContextmenuSubmenu",props:{title:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["mouseenter","mouseleave"],setup:function(t,r){var s=r.emit,o=Pe(null),l=nn("autoAjustPlacement"),u=Pe(["top","right"]),c=Pe(!1),f=function(A){t.disabled||(c.value=!0,s("mouseenter",A),lr(function(){var C=[];if(l){var S=A.target,D=S.getBoundingClientRect();if(!o.value)return;var O=o.value.clientWidth,k=o.value.clientHeight;D.right+O>=window.innerWidth?C.push("left"):C.push("right"),D.bottom+k>=window.innerHeight?C.push("bottom"):C.push("top")}u.value=C}))},h=function(A){t.disabled||(c.value=!1,s("mouseleave",A))},p=Ve(function(){var m;return m={},fn(m,yt.contextmenuItem,!0),fn(m,yt.contextmenuSubmenuTitle,!0),fn(m,yt.contextmenuItemHover,c.value),fn(m,yt.contextmenuItemDisabled,t.disabled),m}),v=Ve(function(){var m;return m={},fn(m,yt.contextmenu,!0),fn(m,yt.contextmenuSubmenuMenus,!0),fn(m,yt.contextmenuSubmenuMenusTop,u.value.includes("top")),fn(m,yt.contextmenuSubmenuMenusRight,u.value.includes("right")),fn(m,yt.contextmenuSubmenuMenusBottom,u.value.includes("bottom")),fn(m,yt.contextmenuSubmenuMenusLeft,u.value.includes("left")),m});return{hover:c,submenuRef:o,titleClasses:p,menusClasses:v,handleMouseenter:f,handleMouseleave:h}},render:function(){var t,r,s,o;return me("li",{class:yt.contextmenuSubmenu,onMouseenter:this.handleMouseenter,onMouseleave:this.handleMouseleave},[me("div",{class:this.titleClasses},[((t=(r=this.$slots).title)===null||t===void 0?void 0:t.call(r))||this.title,me("span",{class:yt.contextmenuSubmenuArrow},[me(nS,{name:"right-arrow"},null)])]),this.hover?me("div",{ref:"submenuRef",class:this.menusClasses},[me("ul",{class:yt.contextmenuInner},[(s=(o=this.$slots).default)===null||s===void 0?void 0:s.call(o)])]):null])}}),Tp=ze({name:"VContextmenuGroup",props:{title:{type:String,default:void 0},maxWidth:{type:[Number,String],default:void 0}},setup:function(t){var r=Ve(function(){if(t.maxWidth)return{"max-width":typeof t.maxWidth=="number"?"".concat(t.maxWidth,"px"):t.maxWidth,"overflow-x":"auto"}});return{style:r}},methods:{renderTitle:function(){var t,r,s=((t=(r=this.$slots).title)===null||t===void 0?void 0:t.call(r))||this.title;return s?me("div",{class:yt.contextmenuGroupTitle},[s]):null}},render:function(){var t,r;return me("li",{class:yt.contextmenuGroup},[this.renderTitle(),me("ul",{style:this.style,class:yt.contextmenuGroupMenus},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r)])])}}),rS="3.0.0",iS=function(t){t.directive("contextmenu",Qk),t.component(kp.name,kp),t.component(Sp.name,Sp),t.component(Op.name,Op),t.component(Rp.name,Rp),t.component(Tp.name,Tp)},sS={install:iS,version:rS};const Ya=fx(Vk);Ya.directive("observe-visibility",{beforeMount:(e,t,r)=>{r.context=t.instance,fa.bind(e,t,r)},updated:fa.update,unmounted:fa.unbind});Ya.use(sS);Ya.use(Rs);Ya.use(gx()).mount("#app");export{Kt as $,Qh as A,Cv as B,Mv as C,Ve as D,Vt as E,et as F,ut as G,LC as H,Ap as I,Wt as J,PC as K,Ev as L,ir as M,wc as N,o3 as O,tC as P,f6 as Q,Ux as R,w6 as S,$C as T,wu as U,Zu as V,qx as W,u6 as X,NA as Y,hm as Z,ot as _,te as a,VA as a$,Dp as a0,AS as a1,Vs as a2,Ni as a3,yS as a4,eo as a5,Ui as a6,Dm as a7,XS as a8,yc as a9,Bp as aA,Hr as aB,Wp as aC,oc as aD,_5 as aE,vc as aF,Qi as aG,s5 as aH,cx as aI,qS as aJ,t6 as aK,nn as aL,S5 as aM,em as aN,Tr as aO,Wi as aP,_t as aQ,US as aR,va as aS,Nr as aT,$a as aU,DS as aV,BS as aW,b5 as aX,lr as aY,Je as aZ,aS as a_,vS as aa,Cn as ab,Ir as ac,pn as ad,Ra as ae,ar as af,ZS as ag,fx as ah,h5 as ai,NS as aj,d5 as ak,e6 as al,PS as am,FS as an,hS as ao,wS as ap,J5 as aq,kS as ar,SS as as,TS as at,OS as au,ES as av,GS as aw,RS as ax,ms as ay,lS as az,Ua as b,b6 as b$,UA as b0,Fa as b1,qA as b2,FA as b3,ZA as b4,zA as b5,KA as b6,H2 as b7,jA as b8,lc as b9,dS as bA,VS as bB,fS as bC,LS as bD,YS as bE,JS as bF,$S as bG,k5 as bH,MS as bI,dm as bJ,qm as bK,_c as bL,jm as bM,sx as bN,Wu as bO,wa as bP,O5 as bQ,mS as bR,_S as bS,$A as bT,bS as bU,WS as bV,IS as bW,Ks as bX,QS as bY,jS as bZ,gS as b_,ac as ba,Or as bb,nm as bc,om as bd,Xi as be,Qp as bf,HS as bg,jh as bh,xS as bi,YA as bj,zS as bk,zs as bl,Eh as bm,xA as bn,Vi as bo,Xp as bp,cS as bq,cA as br,E5 as bs,KS as bt,uS as bu,oa as bv,CS as bw,tt as bx,pS as by,pA as bz,ge as c,ws as c0,s3 as c1,p6 as c2,kv as c3,n6 as c4,av as c5,Ck as c6,k6 as c7,zt as c8,Vx as c9,a6 as cA,A6 as cB,mE as cC,Ov as cD,AC as cE,_6 as cF,C6 as cG,xp as cH,Uu as cI,m6 as cJ,d6 as cK,qE as ca,Tv as cb,r6 as cc,o6 as cd,v6 as ce,s6 as cf,vC as cg,g6 as ch,Jx as ci,y6 as cj,i6 as ck,bc as cl,x6 as cm,L3 as cn,P6 as co,pv as cp,Ur as cq,Lr as cr,sv as cs,Rv as ct,E6 as cu,lv as cv,c6 as cw,h6 as cx,Ok as cy,xc as cz,Ne as d,Fi as e,je as f,me as g,oi as h,ze as i,cr as j,tn as k,l6 as l,ci as m,fi as n,ne as o,xa as p,Pe as q,Hi as r,t3 as s,We as t,se as u,vE as v,Ot as w,Sv as x,Ac as y,Fr as z}; + - `)),pe=null)}switch(this.params.backend==="WebAudio"&&y instanceof HTMLMediaElement&&(y=y.src),this.params.backend){case"WebAudio":return this.loadBuffer(y,Q,xe);case"MediaElement":case"MediaElementWebAudio":return this.loadMediaElement(y,Q,pe,xe)}}},{key:"loadBuffer",value:function(y,Q,pe){var xe=this,_e=function(X){return X&&xe.tmpEvents.push(xe.once("ready",X)),xe.getArrayBuffer(y,function(oe){return xe.loadArrayBuffer(oe)})};if(Q)this.backend.setPeaks(Q,pe),this.drawBuffer(),this.fireEvent("waveform-ready"),this.tmpEvents.push(this.once("interaction",_e));else return _e()}},{key:"loadMediaElement",value:function(y,Q,pe,xe){var _e=this,Oe=y;if(typeof y=="string")this.backend.load(Oe,this.mediaContainer,Q,pe);else{var X=y;this.backend.loadElt(X,Q),Oe=X.src}this.tmpEvents.push(this.backend.once("canplay",function(){_e.backend.destroyed||(_e.drawBuffer(),_e.isReady=!0,_e.fireEvent("ready"))}),this.backend.once("error",function(oe){return _e.fireEvent("error",oe)})),Q&&(this.backend.setPeaks(Q,xe),this.drawBuffer(),this.fireEvent("waveform-ready")),(!Q||this.params.forceDecode)&&this.backend.supportsWebAudio()&&this.getArrayBuffer(Oe,function(oe){_e.decodeArrayBuffer(oe,function(de){_e.backend.buffer=de,_e.backend.setPeaks(null),_e.drawBuffer(),_e.fireEvent("waveform-ready")})})}},{key:"decodeArrayBuffer",value:function(y,Q){var pe=this;this.isDestroyed||(this.arraybuffer=y,this.backend.decodeArrayBuffer(y,function(xe){!pe.isDestroyed&&pe.arraybuffer==y&&(Q(xe),pe.arraybuffer=null)},function(){return pe.fireEvent("error","Error decoding audiobuffer")}))}},{key:"getArrayBuffer",value:function(y,Q){var pe=this,xe=Object.assign({url:y,responseType:"arraybuffer"},this.params.xhr),_e=h.fetchFile(xe);return this.currentRequest=_e,this.tmpEvents.push(_e.on("progress",function(Oe){pe.onProgress(Oe)}),_e.on("success",function(Oe){Q(Oe),pe.currentRequest=null}),_e.on("error",function(Oe){pe.fireEvent("error",Oe),pe.currentRequest=null})),_e}},{key:"onProgress",value:function(y){var Q;y.lengthComputable?Q=y.loaded/y.total:Q=y.loaded/(y.loaded+1e6),this.fireEvent("loading",Math.round(Q*100),y.target)}},{key:"exportPCM",value:function(y,Q,pe,xe,_e){y=y||1024,xe=xe||0,Q=Q||1e4,pe=pe||!1;var Oe=this.backend.getPeaks(y,xe,_e),X=[].map.call(Oe,function(oe){return Math.round(oe*Q)/Q});return new Promise(function(oe,de){if(!pe){var Ae=new Blob([JSON.stringify(X)],{type:"application/json;charset=utf-8"}),Re=URL.createObjectURL(Ae);window.open(Re),URL.revokeObjectURL(Re)}oe(X)})}},{key:"exportImage",value:function(y,Q,pe){return y||(y="image/png"),Q||(Q=1),pe||(pe="dataURL"),this.drawer.getImage(y,Q,pe)}},{key:"cancelAjax",value:function(){this.currentRequest&&this.currentRequest.controller&&(this.currentRequest._reader&&this.currentRequest._reader.cancel().catch(function(y){}),this.currentRequest.controller.abort(),this.currentRequest=null)}},{key:"clearTmpEvents",value:function(){this.tmpEvents.forEach(function(y){return y.un()})}},{key:"empty",value:function(){this.backend.isPaused()||(this.stop(),this.backend.disconnectSource()),this.isReady=!1,this.cancelAjax(),this.clearTmpEvents(),this.drawer.progress(0),this.drawer.setWidth(0),this.drawer.drawPeaks({length:this.drawer.getWidth()},0)}},{key:"destroy",value:function(){this.destroyAllPlugins(),this.fireEvent("destroy"),this.cancelAjax(),this.clearTmpEvents(),this.unAll(),this.params.responsive!==!1&&(window.removeEventListener("resize",this._onResize,!0),window.removeEventListener("orientationchange",this._onResize,!0)),this.backend&&(this.backend.destroy(),this.backend=null),this.drawer&&this.drawer.destroy(),this.isDestroyed=!0,this.isReady=!1,this.arraybuffer=null}}],[{key:"create",value:function(y){var Q=new Y(y);return Q.init()}}]),Y}(h.Observer);c.default=F,j(F,"VERSION","6.6.4"),j(F,"util",h),u.exports=c.default},"./src/webaudio.js":(u,c,f)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var h=v(f("./src/util/index.js"));function p(w){if(typeof WeakMap!="function")return null;var I=new WeakMap,F=new WeakMap;return(p=function(_){return _?F:I})(w)}function v(w,I){if(!I&&w&&w.__esModule)return w;if(w===null||m(w)!=="object"&&typeof w!="function")return{default:w};var F=p(I);if(F&&F.has(w))return F.get(w);var x={},_=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Y in w)if(Y!=="default"&&Object.prototype.hasOwnProperty.call(w,Y)){var B=_?Object.getOwnPropertyDescriptor(w,Y):null;B&&(B.get||B.set)?Object.defineProperty(x,Y,B):x[Y]=w[Y]}return x.default=w,F&&F.set(w,x),x}function m(w){"@babel/helpers - typeof";return m=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(I){return typeof I}:function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},m(w)}function A(w,I){if(!(w instanceof I))throw new TypeError("Cannot call a class as a function")}function C(w,I){for(var F=0;F"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function H(w){return H=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(F){return F.__proto__||Object.getPrototypeOf(F)},H(w)}function U(w,I,F){return I=N(I),I in w?Object.defineProperty(w,I,{value:F,enumerable:!0,configurable:!0,writable:!0}):w[I]=F,w}function N(w){var I=j(w,"string");return m(I)==="symbol"?I:String(I)}function j(w,I){if(m(w)!=="object"||w===null)return w;var F=w[Symbol.toPrimitive];if(F!==void 0){var x=F.call(w,I||"default");if(m(x)!=="object")return x;throw new TypeError("@@toPrimitive must return a primitive value.")}return(I==="string"?String:Number)(w)}var K="playing",q="paused",G="finished",V=function(w){D(F,w);var I=k(F);function F(x){var _,Y,B;return A(this,F),B=I.call(this),U(E(B),"audioContext",null),U(E(B),"stateBehaviors",(_={},U(_,K,{init:function(){this.addOnAudioProcess()},getPlayedPercents:function(){var Q=this.getDuration();return this.getCurrentTime()/Q||0},getCurrentTime:function(){return this.startPosition+this.getPlayedTime()}}),U(_,q,{init:function(){},getPlayedPercents:function(){var Q=this.getDuration();return this.getCurrentTime()/Q||0},getCurrentTime:function(){return this.startPosition}}),U(_,G,{init:function(){this.fireEvent("finish")},getPlayedPercents:function(){return 1},getCurrentTime:function(){return this.getDuration()}}),_)),B.params=x,B.ac=x.audioContext||(B.supportsWebAudio()?B.getAudioContext():{}),B.lastPlay=B.ac.currentTime,B.startPosition=0,B.scheduledPause=null,B.states=(Y={},U(Y,K,Object.create(B.stateBehaviors[K])),U(Y,q,Object.create(B.stateBehaviors[q])),U(Y,G,Object.create(B.stateBehaviors[G])),Y),B.buffer=null,B.filters=[],B.gainNode=null,B.mergedPeaks=null,B.offlineAc=null,B.peaks=null,B.playbackRate=1,B.analyser=null,B.scriptNode=null,B.source=null,B.splitPeaks=[],B.state=null,B.explicitDuration=x.duration,B.sinkStreamDestination=null,B.sinkAudioElement=null,B.destroyed=!1,B}return S(F,[{key:"supportsWebAudio",value:function(){return!!(window.AudioContext||window.webkitAudioContext)}},{key:"getAudioContext",value:function(){return window.WaveSurferAudioContext||(window.WaveSurferAudioContext=new(window.AudioContext||window.webkitAudioContext)),window.WaveSurferAudioContext}},{key:"getOfflineAudioContext",value:function(_){return window.WaveSurferOfflineAudioContext||(window.WaveSurferOfflineAudioContext=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,2,_)),window.WaveSurferOfflineAudioContext}},{key:"init",value:function(){this.createVolumeNode(),this.createScriptNode(),this.createAnalyserNode(),this.setState(q),this.setPlaybackRate(this.params.audioRate),this.setLength(0)}},{key:"disconnectFilters",value:function(){this.filters&&(this.filters.forEach(function(_){_&&_.disconnect()}),this.filters=null,this.analyser.connect(this.gainNode))}},{key:"setState",value:function(_){this.state!==this.states[_]&&(this.state=this.states[_],this.state.init.call(this))}},{key:"setFilter",value:function(){for(var _=arguments.length,Y=new Array(_),B=0;B<_;B++)Y[B]=arguments[B];this.setFilters(Y)}},{key:"setFilters",value:function(_){this.disconnectFilters(),_&&_.length&&(this.filters=_,this.analyser.disconnect(),_.reduce(function(Y,B){return Y.connect(B),B},this.analyser).connect(this.gainNode))}},{key:"createScriptNode",value:function(){this.params.audioScriptProcessor&&(this.scriptNode=this.params.audioScriptProcessor,this.scriptNode.connect(this.ac.destination))}},{key:"addOnAudioProcess",value:function(){var _=this,Y=function B(){var y=_.getCurrentTime();y>=_.getDuration()&&_.state!==_.states[G]?(_.setState(G),_.fireEvent("pause")):y>=_.scheduledPause&&_.state!==_.states[q]?_.pause():_.state===_.states[K]&&(_.fireEvent("audioprocess",y),h.frame(B)())};Y()}},{key:"createAnalyserNode",value:function(){this.analyser=this.ac.createAnalyser(),this.analyser.connect(this.gainNode)}},{key:"createVolumeNode",value:function(){this.ac.createGain?this.gainNode=this.ac.createGain():this.gainNode=this.ac.createGainNode(),this.gainNode.connect(this.ac.destination)}},{key:"setSinkId",value:function(_){return _?(this.sinkAudioElement||(this.sinkAudioElement=new window.Audio,this.sinkAudioElement.autoplay=!0),this.sinkAudioElement.setSinkId?(this.sinkStreamDestination||(this.sinkStreamDestination=this.ac.createMediaStreamDestination()),this.gainNode.disconnect(),this.gainNode.connect(this.sinkStreamDestination),this.sinkAudioElement.srcObject=this.sinkStreamDestination.stream,this.sinkAudioElement.setSinkId(_)):Promise.reject(new Error("setSinkId is not supported in your browser"))):Promise.reject(new Error("Invalid deviceId: "+_))}},{key:"setVolume",value:function(_){this.gainNode.gain.setValueAtTime(_,this.ac.currentTime)}},{key:"getVolume",value:function(){return this.gainNode.gain.value}},{key:"decodeArrayBuffer",value:function(_,Y,B){this.offlineAc||(this.offlineAc=this.getOfflineAudioContext(this.ac&&this.ac.sampleRate?this.ac.sampleRate:44100)),"webkitAudioContext"in window?this.offlineAc.decodeAudioData(_,function(y){return Y(y)},B):this.offlineAc.decodeAudioData(_).then(function(y){return Y(y)}).catch(function(y){return B(y)})}},{key:"setPeaks",value:function(_,Y){Y!=null&&(this.explicitDuration=Y),this.peaks=_}},{key:"setLength",value:function(_){if(!(this.mergedPeaks&&_==2*this.mergedPeaks.length-1+2)){this.splitPeaks=[],this.mergedPeaks=[];var Y=this.buffer?this.buffer.numberOfChannels:1,B;for(B=0;BR&&(R=z),zthis.mergedPeaks[2*oe])&&(this.mergedPeaks[2*oe]=R),(_e==0||Re=this.getDuration()&&(_=0)),Y==null&&(Y=this.getDuration()),this.startPosition=_,this.lastPlay=this.ac.currentTime,this.state===this.states[G]&&this.setState(q),{start:_,end:Y}}},{key:"getPlayedTime",value:function(){return(this.ac.currentTime-this.lastPlay)*this.playbackRate}},{key:"play",value:function(_,Y){if(this.buffer){this.createSource();var B=this.seekTo(_,Y);_=B.start,Y=B.end,this.scheduledPause=Y,this.source.start(0,_),this.resumeAudioContext(),this.setState(K),this.fireEvent("play")}}},{key:"pause",value:function(){this.scheduledPause=null,this.startPosition+=this.getPlayedTime();try{this.source&&this.source.stop(0)}catch{}this.setState(q),this.fireEvent("pause")}},{key:"getCurrentTime",value:function(){return this.state.getCurrentTime.call(this)}},{key:"getPlaybackRate",value:function(){return this.playbackRate}},{key:"setPlaybackRate",value:function(_){this.playbackRate=_||1,this.source&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.ac.currentTime)}},{key:"setPlayEnd",value:function(_){this.scheduledPause=_}}]),F}(h.Observer);c.default=V,u.exports=c.default},"./node_modules/debounce/index.js":u=>{function c(f,h,p){var v,m,A,C,S;h==null&&(h=100);function D(){var k=Date.now()-C;k=0?v=setTimeout(D,h-k):(v=null,p||(S=f.apply(A,m),A=m=null))}var O=function(){A=this,m=arguments,C=Date.now();var k=p&&!v;return v||(v=setTimeout(D,h)),k&&(S=f.apply(A,m),A=m=null),S};return O.clear=function(){v&&(clearTimeout(v),v=null)},O.flush=function(){v&&(S=f.apply(A,m),A=m=null,clearTimeout(v),v=null)},O}c.debounce=c,u.exports=c}},s={};function o(u){var c=s[u];if(c!==void 0)return c.exports;var f=s[u]={exports:{}};return r[u](f,f.exports,o),f.exports}var l=o("./src/wavesurfer.js");return l})())})(Nv);var HE=Nv.exports;const UE=s4(HE),Pp=ze({__name:"WaveAudio",setup(e,{expose:t}){const r=Pe(null);Vt(()=>{const v=window.getCurrentTheme(),m=li["fg-base"][v],A=li["fg-secondary"][v];r.value=UE.create({container:"#waveform",waveColor:m,progressColor:A,cursorWidth:0,barWidth:1,barGap:3,responsive:!0,backend:"MediaElement"}),r.value.on("play",()=>{s.setPlaying(!0)}),r.value.on("pause",()=>{s.setPlaying(!1)}),r.value.on("audioprocess",()=>{s.setProgress(r.value.getCurrentTime())}),r.value.on("finish",()=>{o=!0,s.onSongEnded()}),r.value.on("waveform-ready",()=>{r.value&&(s.setDuration(r.value.getDuration()),(o||s.playing)&&(l(),o=!1))})});const s=zt();let o=!1;Vt(()=>{r.value.load(s.stream)}),ut(()=>s.song.id,()=>{r.value.isPlaying()&&(o=!0),r.value.load(s.stream),s.setPlaying(!1)});const l=()=>{try{r.value.play()}catch{}},u=()=>{r.value.pause()},c=v=>{r.value.seekTo(v/s.durationSeconds)},f=v=>{let m=v/100;m=Math.min(Math.max(m,0),1),r.value.setVolume(m)},h=v=>{r.value.setMute(v)};return Vt(()=>{f(s.volume)}),t({play:l,pause:u,seek:c,setVolume:f,setMute:h}),(v,m)=>(ne(),ge("div",{id:"waveform",onAudioprocess:m[0]||(m[0]=A=>se(s).setProgress(A))},null,32))}});const qE=ze({__name:"AmbientBackground",props:{src:{type:String,required:!0},direction:{type:String,required:!1,default:"to bottom"},placeholder:{type:String,required:!1}},setup(e){const t=Ur(),r=e,s=Pe(null),o=async(l=void 0)=>{if(!s.value)return;const u=l===void 0?sv(r.src):l,c=await Pa(u,r.placeholder);try{await HP(s.value,c,r.direction)}catch(f){if(!(f instanceof Error)||!f.message.includes("Error loading image"))throw f;await o(null)}};return ut(()=>r.src,()=>lr(o)),Vt(o),(l,u)=>e.src!=null&&se(t).ambient?(ne(),ge("div",{key:0,ref_key:"ambientGradient",ref:s,class:"ambient-gradient absolute inset-0 pointer-events-none"},null,512)):Ne("",!0)}}),jE=e=>(ci("data-v-0d0bd51a"),e=e(),fi(),e),KE={class:"player relative"},zE={key:1,class:"desktop mx-4"},ZE={class:"song-info"},GE={class:"title-artist"},YE={class:"controls"},JE={class:"top relative"},XE=["disabled"],QE=["disabled"],ek=["disabled"],tk={class:"bottom"},nk={class:"display"},rk={class:"text-xs text-muted text-left"},ik={class:"aux relative"},sk={key:0,class:"cursor-pointer material-symbols-rounded ms-fill"},ok={key:2,class:"mobile mx-4"},ak={class:"artist-title overflow-hidden"},lk={class:"full"},uk={class:"rest"},ck={class:"song-info"},fk=jE(()=>te("div",{class:"rest"},null,-1)),dk={class:"title-artist mb-4"},hk={class:"controls mb-4"},pk={class:"top"},mk={class:"bottom"},vk={class:"flex flex-row justify-between"},gk={class:"text-xs text-muted text-right"},yk={class:"text-xs text-muted text-left"},_k={class:"aux flex flex-row justify-between"},bk={class:"flex flex-row"},wk=ze({__name:"Player",setup(e){const t=zt(),r=Ur(),s=Pe(null),o=Pe(""),l=Ve(()=>t.sharedPlayer.connections.map(v=>({value:v.id,label:v.friendlyName})));ut(o,v=>{var m;v===((m=t.sharedPlayer.me)==null?void 0:m.id)?(t.sharedPlayer.makeMePlayer(),t.setPlaying(!1)):u(v)}),ut(()=>t.sharedPlayer.connections,v=>{var m;(!o.value||!v.find(A=>A.id===o.value))&&(o.value=(m=t.sharedPlayer.me)==null?void 0:m.id)});const u=v=>{const m=t.sharedPlayer.connections.find(A=>A.id===v);m&&(t.sharedPlayer.setPlayer(m),s.value=t.sharedPlayer)};Vt(()=>{var v;o.value=(v=t.sharedPlayer.me)==null?void 0:v.id}),ut(s,()=>{t.setPlayer(s.value)}),Vt(()=>{t.setPlayer(s.value)});const c=Pe(!1),f=Ve(()=>{var v;return o.value===((v=t.sharedPlayer.me)==null?void 0:v.id)}),h=Ve(()=>r.player.type==="web"&&f.value),p=Ve(()=>r.player.type==="web/wave"&&f.value);return(v,m)=>{const A=Hi("router-link");return ne(),ge("div",KE,[me(qE,{src:se(t).song.cover,direction:"to top right"},null,8,["src"]),h.value?(ne(),je(TE,{key:0,ref_key:"playable",ref:s},null,512)):Ne("",!0),se(Uu)?(ne(),ge("div",ok,[se(Uu)&&!f.value?(ne(),ge("audio",{key:0,id:"hijackVolume",onVolumechange:m[14]||(m[14]=C=>se(t).setVolume(C.target.volume*100))},null,32)):Ne("",!0),Ks(te("div",{class:"small",onClick:m[18]||(m[18]=C=>c.value=!0)},[me(oi,{src:se(t).song.cover,class:"cover rounded-md"},null,8,["src"]),te("div",ak,[me(ir,{text:se(t).song.title,class:"text-sm"},null,8,["text"]),me(ir,{text:se(t).song.artist,class:"text-xs text-muted"},null,8,["text"])]),me(wu,{modelValue:o.value,"onUpdate:modelValue":m[15]||(m[15]=C=>o.value=C),class:Je([{"on-this-device":f.value},"material-symbols-rounded"]),options:l.value,icon:"devices",onClick:m[16]||(m[16]=Wt(()=>{},["stop"]))},null,8,["modelValue","class","options"]),te("span",{class:"cursor-pointer material-symbols-rounded ms-fill text-xl",onClick:m[17]||(m[17]=Wt((...C)=>se(t).playPause&&se(t).playPause(...C),["stop"]))},We(se(t).playing?"pause":"play_arrow"),1)],512),[[wa,!c.value]]),Ks(te("div",lk,[te("div",null,[te("span",{class:"material-symbols-rounded ms-wght-500",onClick:m[19]||(m[19]=C=>c.value=!1)}," expand_more ")]),me(A,{class:"my-auto linkOnHover",to:"/player"},{default:Ot(()=>[me(oi,{src:se(t).song.cover,class:"cover rounded-md"},null,8,["src"])]),_:1}),te("div",uk,[te("div",ck,[fk,te("div",dk,[me(A,{to:`/track/${se(Qh)(se(t).song.id)}`,class:"linkOnHover"},{default:Ot(()=>[me(ir,{text:se(t).song.title,class:"text-2xl font-bold"},null,8,["text"])]),_:1},8,["to"]),me(A,{to:`/search/${se(t).song.artist}`,class:"linkOnHover"},{default:Ot(()=>[me(ir,{text:se(t).song.artist,class:"text-muted text-xs"},null,8,["text"])]),_:1},8,["to"])])]),te("div",hk,[te("div",pk,[te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:m[20]||(m[20]=(...C)=>se(t).toggleShuffle&&se(t).toggleShuffle(...C))},We(se(t).shuffleIcon),1),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:m[21]||(m[21]=(...C)=>se(t).previous&&se(t).previous(...C))}," skip_previous "),te("span",{class:"cursor-pointer material-symbols-rounded ms-fill text-4xl",onClick:m[22]||(m[22]=(...C)=>se(t).playPause&&se(t).playPause(...C))},We(se(t).playing?"pause_circle":"play_circle"),1),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:m[23]||(m[23]=(...C)=>se(t).next&&se(t).next(...C))}," skip_next "),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:m[24]||(m[24]=(...C)=>se(t).toggleRepeat&&se(t).toggleRepeat(...C))},We(se(t).repeat),1)]),te("div",mk,[p.value?(ne(),je(Pp,{key:0,ref_key:"playable",ref:s},null,512)):(ne(),je(bu,{key:1,modelValue:se(t).progressPercent,"onUpdate:modelValue":m[25]||(m[25]=C=>se(t).progressPercent=C),max:"1000",onChange:m[26]||(m[26]=C=>se(t).seekPercent(C/10))},null,8,["modelValue"])),te("div",vk,[te("span",gk,We(se(t).displayProgress),1),te("span",yk,We(se(t).song.duration),1)])])]),te("div",_k,[te("div",bk,[te("span",{class:Je([{"ms-fill":se(t).song.favourite},"favourite text-xl cursor-pointer material-symbols-rounded ms-wght-300"]),onClick:m[27]||(m[27]=(...C)=>se(t).toggleFavourite&&se(t).toggleFavourite(...C))}," favorite ",2),se(r).player.pictureInPicture?(ne(),ge(et,{key:0},[se(Un)=="loading"?(ne(),je(xp,{key:0})):(ne(),ge("span",{key:1,class:"favourite material-icons-round cursor-pointer text-xl ml-2",onClick:m[28]||(m[28]=(...C)=>se(sa)&&se(sa)(...C))},We(se(Un)=="ready"?"picture_in_picture_alt":"error"),1))],64)):Ne("",!0)]),me(wu,{modelValue:o.value,"onUpdate:modelValue":m[29]||(m[29]=C=>o.value=C),class:Je({"on-this-device":f.value}),options:l.value,icon:"devices"},null,8,["modelValue","class","options"])])])],512),[[wa,c.value]])])):(ne(),ge("div",zE,[te("div",ZE,[me(A,{class:"linkOnHover",to:"/player"},{default:Ot(()=>[se(t).loaded?(ne(),je(oi,{key:0,src:se(t).song.cover,class:"cover rounded-md"},null,8,["src"])):Ne("",!0)]),_:1}),se(t).loaded?(ne(),ge(et,{key:0},[te("div",GE,[me(A,{to:`/track/${se(Qh)(se(t).song.id)}`,class:"linkOnHover"},{default:Ot(()=>[me(ir,{text:se(t).song.title,class:""},null,8,["text"])]),_:1},8,["to"]),me(Tv,{artist:se(t).song.artist,class:"text-muted text-xs"},null,8,["artist"])]),te("span",{class:Je([{"ms-fill":se(t).song.favourite},"favourite text-xl cursor-pointer material-symbols-rounded ms-wght-300"]),onClick:m[0]||(m[0]=(...C)=>se(t).toggleFavourite&&se(t).toggleFavourite(...C))}," favorite ",2),se(r).player.pictureInPicture?(ne(),ge(et,{key:0},[se(Un)=="loading"?(ne(),je(xp,{key:0})):(ne(),ge("span",{key:1,class:"favourite material-icons-round cursor-pointer text-xl",onClick:m[1]||(m[1]=(...C)=>se(sa)&&se(sa)(...C))},We(se(Un)=="ready"?"picture_in_picture_alt":"error"),1))],64)):Ne("",!0)],64)):(ne(),je(A,{key:1,to:"/collection/playlists"},{default:Ot(()=>[me(ir,{class:"text-xs text-muted",text:"Nothing playing yet..."})]),_:1}))]),te("div",YE,[te("div",JE,[te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:m[2]||(m[2]=(...C)=>se(t).toggleShuffle&&se(t).toggleShuffle(...C))},We(se(t).shuffleIcon),1),te("span",{class:Je([{"cursor-not-allowed":!se(t).loaded},"icon cursor-pointer material-symbols-rounded ms-fill"]),disabled:!se(t).loaded,onClick:m[3]||(m[3]=(...C)=>se(t).previous&&se(t).previous(...C))}," skip_previous ",10,XE),te("span",{class:Je([{"cursor-not-allowed":!se(t).loaded},"cursor-pointer material-symbols-rounded ms-fill text-4xl"]),disabled:!se(t).loaded,onClick:m[4]||(m[4]=(...C)=>se(t).playPause&&se(t).playPause(...C))},We(se(t).playing?"pause_circle":"play_circle"),11,QE),te("span",{class:Je([{"cursor-not-allowed":!se(t).loaded},"icon cursor-pointer material-symbols-rounded ms-fill"]),disabled:!se(t).loaded,onClick:m[5]||(m[5]=(...C)=>se(t).next&&se(t).next(...C))}," skip_next ",10,ek),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:m[6]||(m[6]=(...C)=>se(t).toggleRepeat&&se(t).toggleRepeat(...C))},We(se(t).repeat),1)]),te("div",tk,[te("div",nk,[te("span",{class:"text-xs text-muted text-right cursor-pointer",onClick:m[7]||(m[7]=C=>se(r).player.type=se(r).player.type==="web"?"web/wave":"web")},We(se(t).displayProgress),1),p.value?(ne(),je(Pp,{key:0,ref_key:"playable",ref:s},null,512)):(ne(),je(bu,{key:1,modelValue:se(t).progressPercent,"onUpdate:modelValue":m[8]||(m[8]=C=>se(t).progressPercent=C),max:"1000",onChange:m[9]||(m[9]=C=>se(t).seekPercent(C/10))},null,8,["modelValue"])),te("span",rk,We(se(t).displayDuration),1)])])]),te("div",ik,[me(A,{to:"/sing-along",class:"icon"},{default:Ot(()=>[se(t).loaded&&se(t).hasLyrics?(ne(),ge("span",sk," mic ")):Ne("",!0)]),_:1}),me(wu,{modelValue:o.value,"onUpdate:modelValue":m[10]||(m[10]=C=>o.value=C),class:Je({"on-this-device":f.value}),options:l.value,icon:"devices"},null,8,["modelValue","class","options"]),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:m[11]||(m[11]=(...C)=>se(t).toggleMute&&se(t).toggleMute(...C))},We(se(t).muteIcon),1),me(bu,{modelValue:se(t).volume,"onUpdate:modelValue":m[12]||(m[12]=C=>se(t).volume=C),max:"100",onChange:m[13]||(m[13]=C=>se(t).setVolume(C))},null,8,["modelValue"])])]))])}}});const Wv=ot(wk,[["__scopeId","data-v-0d0bd51a"]]),Ak=1,xk=1,Pk=1,C6=e=>({type:"song",version:Ak,song:e}),Ck=async e=>{const t={type:"playlist",version:xk};if(e.type==="special")return null;if(e.type==="classic"){const r=Object.assign({},e);return delete r.queue,delete r.cursor,{...t,playlist:r}}if(e.type==="smart"){const r=await Ux(e.id);return{...t,playlist:{name:e.name,description:e.description,cover:e.cover,type:e.type,definition:r,plays:e.plays,id:e.id,href:e.href}}}},E6=async e=>({type:"collection",version:Pk,collection:await Promise.all(e.filter(t=>t.type!="special").map(Ck))}),k6=(e,t="my")=>{var r="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(e)),s=document.createElement("a");s.setAttribute("href",r),s.setAttribute("download",`${t}.one.${e.type}`),s.click()},Ek=async e=>{if(!e.length)return;const t=Cv();if(!t.path.startsWith("/playlist/")){Lr.addError("No playlist selected","Please select open the playlist you want to add songs to",3e3);return}const r=tn().getPlaylistById(t.params.id);if(r.type!=="classic"){Lr.addError("Can't add songs to this playlist","You can only add songs to classic playlists",3e3);return}await lv(r.id,e.map(s=>s.song)),Lr.addSuccess(`Added ${e.length} songs to ${r.name}`,null,3e3)},kk=async e=>{const t=e.playlist,r=await Ac(t.type,t.name,t.description,t.cover);if(t.type==="smart"){await qx(r,t.definition);return}await lv(r,t.songs)},Sk=async e=>{if(e.length){for(const t of e)await kk(t);Lr.addSuccess(`Added ${e.length} playlists`,null,3e3),tn().fetchPlaylists()}},Ok=e=>{const t=e.filter(o=>o.type==="song");Ek(t);const r=e.filter(o=>o.type==="playlist"),s=e.filter(o=>o.type==="collection");for(const o of s)r.push(...o.collection);Sk(r)},Rk=["onDrop","onDragleave"],Tk=ze({__name:"DropImport",setup(e){const t=Pe(!1),r=Cv(),s=tn(),o=Ve(()=>r.path.startsWith("/playlist/")),l=Ve(()=>{if(!o.value)return null;const p=r.params.id;return s.getPlaylistById(p)}),u=Ve(()=>l.value?l.value.type==="classic":!1),c=async p=>{const v=[];for(let C=0;CJSON.parse(C));Ok(A)},f=p=>{if(t.value=!1,!u)return;const v=p.dataTransfer.files;v.length&&c(v)},h=p=>{p.currentTarget.contains(p.relatedTarget)||(t.value=!1)};return(p,v)=>(ne(),ge("div",{class:Je(["dropzone",{drophover:t.value}]),onDrop:Wt(f,["prevent"]),onDragenter:v[0]||(v[0]=Wt(()=>{},["prevent"])),onDragover:v[1]||(v[1]=Wt(m=>t.value=!0,["prevent"])),onDragleave:Wt(h,["prevent"])},[Ui(p.$slots,"default",{},void 0,!0)],42,Rk))}});const Ik=ot(Tk,[["__scopeId","data-v-c5853362"]]),Mk=["src"],Lk={id:"appRoot",class:"appRoot"},$k={class:"interface"},Dk=te("div",{id:"popup-target"},null,-1),Bk=te("div",{id:"dropdown-target"},null,-1),Nk=te("div",{id:"autocomplete-target"},null,-1),Wk={name:"App",components:{Sidebar:Dv,Body:Bv,Player:Wv},async mounted(){Ur(),pE(),$v(),await mE()&&this.$router.push("/welcome"),await vE()},data(){return{maximised:!1}},watch:{$route(e){document.title=e.meta.title||"reAudioPlayer One"}}},Vk=ze({...Wk,setup(e){Iv();const t=zt(),r=Pe(null);ut(()=>t.song.cover,()=>{s()});const s=async()=>{r.value=await Pa(t.song.cover,"graphic_eq")};s();const o=Ve(()=>window.getCurrentThemeProperty("coverAsBackground"));return Vt(()=>{window.addEventListener("keydown",l=>{l.code==="Space"&&document.activeElement===document.body&&(l.preventDefault(),t.playPause())})}),(l,u)=>(ne(),ge(et,null,[te("div",{class:Je([{hidden:!o.value},"bgImageWrapper"])},[te("div",{style:Fr({backgroundImage:`url(${r.value})`}),class:"bgImage"},[te("img",{src:r.value,class:"hidden",onError:u[0]||(u[0]=c=>l.src=null)},null,40,Mk)],4)],2),me(Ik,null,{default:Ot(()=>[te("div",Lk,[se(t).ready?(ne(),ge(et,{key:0},[me(FC),te("div",$k,[l.maximised?Ne("",!0):(ne(),je(Dv,{key:0})),me(Bv,{onMaximise:u[1]||(u[1]=c=>l.maximised=c)})]),me(Wv),l.maximised?Ne("",!0):(ne(),je(aP,{key:0}))],64)):(ne(),je(JC,{key:1}))])]),_:1}),Dk,Bk,Nk,me(hE)],64))}});function ca(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?ca=function(t){return typeof t}:ca=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ca(e)}function Fk(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Cp(e,t){for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:{},s,o,l,u=function(f){for(var h=arguments.length,p=new Array(h>1?h-1:0),v=1;v1){var h=c.find(function(v){return v.isIntersecting});h&&(f=h)}if(o.callback){var p=f.isIntersecting&&f.intersectionRatio>=o.threshold;if(p===o.oldResult)return;o.oldResult=p,o.callback(p,f)}},this.options.intersection),s.context.$nextTick(function(){o.observer&&o.observer.observe(o.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),e}();function Fv(e,t,r){var s=t.value;if(s)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var o=new Zk(e,s,r);e._vue_visibilityState=o}}function Gk(e,t,r){var s=t.value,o=t.oldValue;if(!Vv(s,o)){var l=e._vue_visibilityState;if(!s){Hv(e);return}l?l.createObserver(s,r):Fv(e,{value:s},r)}}function Hv(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var fa={bind:Fv,update:Gk,unbind:Hv};function Yk(e){e.directive("observe-visibility",fa)}var Jk={version:"1.0.0",install:Yk},ka=null;typeof window<"u"?ka=window.Vue:typeof global<"u"&&(ka=global.Vue);ka&&ka.use(Jk);var Uv=function(t,r){var s,o=r.arg;if(!o){console.error("参数有误");return}var l=r.value,u=_t(o)?o.value:(s=r.instance)===null||s===void 0?void 0:s.$refs[o];if(!u){console.error("没有找到 ".concat(o," 对应的实例"));return}if(typeof u.addReference!="function"){console.error("".concat(o," 对应的实例不是 VContextmenu"));return}t.$contextmenuKey=o,u.addReference(t,l)},qv=function(t,r){var s,o=t.$contextmenuKey;if(o){var l=(s=r.instance)===null||s===void 0?void 0:s.$refs[o];l==null||l.removeReference(t)}},Xk=function(t,r){qv(t,r),Uv(t,r)},Qk={mounted:Uv,updated:Xk,beforeUnmount:qv},yt={contextmenu:"v-contextmenu",contextmenuIcon:"v-contextmenu-icon",contextmenuInner:"v-contextmenu-inner",contextmenuDivider:"v-contextmenu-divider",contextmenuItem:"v-contextmenu-item",contextmenuItemHover:"v-contextmenu-item--hover",contextmenuItemDisabled:"v-contextmenu-item--disabled",contextmenuGroup:"v-contextmenu-group",contextmenuGroupTitle:"v-contextmenu-group__title",contextmenuGroupMenus:"v-contextmenu-group__menus",contextmenuSubmenu:"v-contextmenu-submenu",contextmenuSubmenuTitle:"v-contextmenu-submenu__title",contextmenuSubmenuMenus:"v-contextmenu-submenu__menus",contextmenuSubmenuMenusTop:"v-contextmenu-submenu__menus--top",contextmenuSubmenuMenusRight:"v-contextmenu-submenu__menus--right",contextmenuSubmenuMenusBottom:"v-contextmenu-submenu__menus--bottom",contextmenuSubmenuMenusLeft:"v-contextmenu-submenu__menus--left",contextmenuSubmenuArrow:"v-contextmenu-submenu__arrow"};function eS(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Nr(e)}var tS={trigger:["contextmenu"]},kp=ze({name:"VContextmenu",props:{modelValue:{type:Boolean,default:!1},autoAjustPlacement:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},teleport:{type:[String,Object],default:function(){return"body"}}},emits:["show","hide","update:modelValue"],setup:function(t,r){var s=r.emit,o=Pe(null),l=Pe(t.modelValue||!1),u=function(M){l.value=M,s("update:modelValue",M)},c=Pe({top:0,left:0}),f=Ve(function(){return{top:"".concat(c.value.top,"px"),left:"".concat(c.value.left,"px")}}),h=Pe(null),p=function(M,E){var T=M instanceof Event?E:M,H=(T==null?void 0:T.autoAjustPlacement)||t.autoAjustPlacement,U={top:(T==null?void 0:T.top)||0,left:(T==null?void 0:T.left)||0};if(M instanceof Event){var N,j;M.preventDefault(),U.top=(N=T==null?void 0:T.top)!==null&&N!==void 0?N:M.pageY,U.left=(j=T==null?void 0:T.left)!==null&&j!==void 0?j:M.pageX}u(!0),lr(function(){if(H){var K=o.value;if(!K)return;var q=K.clientWidth,G=K.clientHeight;if(G+U.top>=window.innerHeight+window.scrollY){var V=U.top-G;V>window.scrollY&&(U.top=V)}if(q+U.left>=window.innerWidth+window.scrollX){var w=U.left-q;w>window.scrollX&&(U.left=w)}}c.value=U,s("show")})},v=function(){h.value=null,u(!1),s("hide")},m=Qi(new Map),A=Pe(),C=Ve(function(){return A.value&&m.get(A.value)}),S=function(M,E){var T=function(){return E!=null&&E.trigger?Array.isArray(E.trigger)?E.trigger:[E.trigger]:tS.trigger}(),H=function(N){t.disabled||(A.value=M,p(N,{}))};T.forEach(function(U){M.addEventListener(U,H)}),m.set(M,{triggers:T,handler:H})},D=function(M){var E=m.get(M);E&&(E.triggers.forEach(function(T){M.removeEventListener(T,E.handler)}),m.delete(M))},O=function(M){if(!(!M.target||!o.value||!A.value)){var E=o.value.contains(M.target)||C.value&&C.value.triggers.includes("click")&&A.value.contains(M.target);E||u(!1)}};return ut(l,function(k){k?document.addEventListener("click",O):document.removeEventListener("click",O)}),Fa(function(){document.removeEventListener("click",O)}),Or("visible",l),Or("autoAjustPlacement",t.autoAjustPlacement),Or("show",p),Or("hide",v),{visible:l,style:f,currentReferenceOptions:C,currentOptions:h,contextmenuRef:o,addReference:S,removeReference:D,toggle:u,show:p,hide:v}},methods:{renderContent:function(){var t,r;return Ks(me("div",{class:yt.contextmenu,ref:"contextmenuRef",style:this.style},[me("ul",{class:yt.contextmenuInner},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r,{triggerOptions:"currentReferenceOptions",options:"currentOptions"})])]),[[wa,"visible"]])}},render:function(){var t;return this.visible?this.teleport?me(eo,{to:this.teleport},eS(t=this.renderContent())?t:{default:function(){return[t]}}):this.renderContent():null}});function fn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Sp=ze({name:"VContextmenuItem",props:{disabled:{type:Boolean,default:!1},hideOnClick:{type:Boolean,default:!0}},emits:["click","mouseenter","mouseleave"],setup:function(t,r){var s=r.emit,o=nn("hide"),l=Pe(!1),u=Ve(function(){var p;return p={},fn(p,yt.contextmenuItem,!0),fn(p,yt.contextmenuItemDisabled,t.disabled),fn(p,yt.contextmenuItemHover,l.value),p}),c=function(v){t.disabled||(s("click",v),t.hideOnClick&&(o==null||o()))},f=function(v){t.disabled||(l.value=!0,s("mouseenter",v))},h=function(v){t.disabled||(l.value=!1,s("mouseleave",v))};return{classes:u,handleClick:c,handleMouseenter:f,handleMouseleave:h}},render:function(){var t,r;return me("li",{class:this.classes,onClick:this.handleClick,onMouseenter:this.handleMouseenter,onMouseleave:this.handleMouseleave},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r)])}}),Op=ze({name:"VContextmenuDivider",render:function(){return me("li",{class:yt.contextmenuDivider},null)}}),nS=ze({name:"VContextmenuIcon",props:{name:{type:String,required:!0}},render:function(){return me("i",{class:[yt.contextmenuIcon,"".concat(yt.contextmenuIcon,"-").concat(this.name)]},null)}}),Rp=ze({name:"VContextmenuSubmenu",props:{title:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["mouseenter","mouseleave"],setup:function(t,r){var s=r.emit,o=Pe(null),l=nn("autoAjustPlacement"),u=Pe(["top","right"]),c=Pe(!1),f=function(A){t.disabled||(c.value=!0,s("mouseenter",A),lr(function(){var C=[];if(l){var S=A.target,D=S.getBoundingClientRect();if(!o.value)return;var O=o.value.clientWidth,k=o.value.clientHeight;D.right+O>=window.innerWidth?C.push("left"):C.push("right"),D.bottom+k>=window.innerHeight?C.push("bottom"):C.push("top")}u.value=C}))},h=function(A){t.disabled||(c.value=!1,s("mouseleave",A))},p=Ve(function(){var m;return m={},fn(m,yt.contextmenuItem,!0),fn(m,yt.contextmenuSubmenuTitle,!0),fn(m,yt.contextmenuItemHover,c.value),fn(m,yt.contextmenuItemDisabled,t.disabled),m}),v=Ve(function(){var m;return m={},fn(m,yt.contextmenu,!0),fn(m,yt.contextmenuSubmenuMenus,!0),fn(m,yt.contextmenuSubmenuMenusTop,u.value.includes("top")),fn(m,yt.contextmenuSubmenuMenusRight,u.value.includes("right")),fn(m,yt.contextmenuSubmenuMenusBottom,u.value.includes("bottom")),fn(m,yt.contextmenuSubmenuMenusLeft,u.value.includes("left")),m});return{hover:c,submenuRef:o,titleClasses:p,menusClasses:v,handleMouseenter:f,handleMouseleave:h}},render:function(){var t,r,s,o;return me("li",{class:yt.contextmenuSubmenu,onMouseenter:this.handleMouseenter,onMouseleave:this.handleMouseleave},[me("div",{class:this.titleClasses},[((t=(r=this.$slots).title)===null||t===void 0?void 0:t.call(r))||this.title,me("span",{class:yt.contextmenuSubmenuArrow},[me(nS,{name:"right-arrow"},null)])]),this.hover?me("div",{ref:"submenuRef",class:this.menusClasses},[me("ul",{class:yt.contextmenuInner},[(s=(o=this.$slots).default)===null||s===void 0?void 0:s.call(o)])]):null])}}),Tp=ze({name:"VContextmenuGroup",props:{title:{type:String,default:void 0},maxWidth:{type:[Number,String],default:void 0}},setup:function(t){var r=Ve(function(){if(t.maxWidth)return{"max-width":typeof t.maxWidth=="number"?"".concat(t.maxWidth,"px"):t.maxWidth,"overflow-x":"auto"}});return{style:r}},methods:{renderTitle:function(){var t,r,s=((t=(r=this.$slots).title)===null||t===void 0?void 0:t.call(r))||this.title;return s?me("div",{class:yt.contextmenuGroupTitle},[s]):null}},render:function(){var t,r;return me("li",{class:yt.contextmenuGroup},[this.renderTitle(),me("ul",{style:this.style,class:yt.contextmenuGroupMenus},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r)])])}}),rS="3.0.0",iS=function(t){t.directive("contextmenu",Qk),t.component(kp.name,kp),t.component(Sp.name,Sp),t.component(Op.name,Op),t.component(Rp.name,Rp),t.component(Tp.name,Tp)},sS={install:iS,version:rS};const Ya=fx(Vk);Ya.directive("observe-visibility",{beforeMount:(e,t,r)=>{r.context=t.instance,fa.bind(e,t,r)},updated:fa.update,unmounted:fa.unbind});Ya.use(sS);Ya.use(Mi);Ya.use(gx()).mount("#app");export{Kt as $,Qh as A,Cv as B,Mv as C,Ve as D,Vt as E,et as F,ut as G,LC as H,Ap as I,Wt as J,PC as K,Ev as L,ir as M,wc as N,o4 as O,tC as P,f6 as Q,Ux as R,w6 as S,$C as T,wu as U,Zu as V,qx as W,u6 as X,NA as Y,hm as Z,ot as _,te as a,VA as a$,Dp as a0,AS as a1,Vs as a2,Wi as a3,yS as a4,eo as a5,qi as a6,Dm as a7,XS as a8,yc as a9,Bp as aA,Hr as aB,Wp as aC,oc as aD,_5 as aE,vc as aF,es as aG,s5 as aH,cx as aI,qS as aJ,t6 as aK,nn as aL,S5 as aM,em as aN,Tr as aO,Vi as aP,_t as aQ,US as aR,va as aS,Nr as aT,$a as aU,DS as aV,BS as aW,b5 as aX,lr as aY,Je as aZ,aS as a_,vS as aa,Cn as ab,Ir as ac,pn as ad,Ra as ae,ar as af,ZS as ag,fx as ah,h5 as ai,NS as aj,d5 as ak,e6 as al,PS as am,FS as an,hS as ao,wS as ap,J5 as aq,kS as ar,SS as as,TS as at,OS as au,ES as av,GS as aw,RS as ax,vs as ay,lS as az,Ua as b,b6 as b$,UA as b0,Fa as b1,qA as b2,FA as b3,ZA as b4,zA as b5,KA as b6,H2 as b7,jA as b8,lc as b9,dS as bA,VS as bB,fS as bC,LS as bD,YS as bE,JS as bF,$S as bG,k5 as bH,MS as bI,dm as bJ,qm as bK,_c as bL,jm as bM,sx as bN,Wu as bO,wa as bP,O5 as bQ,mS as bR,_S as bS,$A as bT,bS as bU,WS as bV,IS as bW,Ks as bX,QS as bY,jS as bZ,gS as b_,ac as ba,Or as bb,nm as bc,om as bd,Qi as be,Qp as bf,HS as bg,jh as bh,xS as bi,YA as bj,zS as bk,zs as bl,Eh as bm,xA as bn,Fi as bo,Xp as bp,cS as bq,cA as br,E5 as bs,KS as bt,uS as bu,oa as bv,CS as bw,tt as bx,pS as by,pA as bz,ge as c,As as c0,s4 as c1,p6 as c2,kv as c3,n6 as c4,av as c5,Ck as c6,k6 as c7,zt as c8,Vx as c9,a6 as cA,A6 as cB,mE as cC,Ov as cD,AC as cE,_6 as cF,C6 as cG,xp as cH,Uu as cI,m6 as cJ,d6 as cK,qE as ca,Tv as cb,r6 as cc,o6 as cd,v6 as ce,s6 as cf,vC as cg,g6 as ch,Jx as ci,y6 as cj,i6 as ck,bc as cl,x6 as cm,L4 as cn,P6 as co,pv as cp,Ur as cq,Lr as cr,sv as cs,Rv as ct,E6 as cu,lv as cv,c6 as cw,h6 as cx,Ok as cy,xc as cz,Ne as d,Hi as e,je as f,me as g,oi as h,ze as i,cr as j,tn as k,l6 as l,ci as m,fi as n,ne as o,xa as p,Pe as q,Ui as r,t4 as s,We as t,se as u,vE as v,Ot as w,Sv as x,Ac as y,Fr as z}; diff --git a/src/ui/dist/assets/index-286d536d.js.gz b/src/ui/dist/assets/index-286d536d.js.gz new file mode 100644 index 000000000..bc6413c35 Binary files /dev/null and b/src/ui/dist/assets/index-286d536d.js.gz differ diff --git a/src/ui/dist/assets/index-2ca7f604.js.gz b/src/ui/dist/assets/index-2ca7f604.js.gz deleted file mode 100644 index 1a2eeb0b2..000000000 Binary files a/src/ui/dist/assets/index-2ca7f604.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-7c7fccc5.js b/src/ui/dist/assets/index-3486840a.js similarity index 95% rename from src/ui/dist/assets/index-7c7fccc5.js rename to src/ui/dist/assets/index-3486840a.js index ad4103ea7..af387042c 100644 --- a/src/ui/dist/assets/index-7c7fccc5.js +++ b/src/ui/dist/assets/index-3486840a.js @@ -1 +1 @@ -import{_ as g,o as s,c as a,a as i,b as m,t as k,d as _,r as j,e as w,f as d,w as r,g as l,C as O,h as B,i as D,F as p,j as h,P as C,u as x,p as E,k as F,l as S,m as H,n as q,q as $,s as T,v as R,x as V,I as G,y as L}from"./index-1d15d58c.js";import{T as P}from"./TrackCompact-63a74737.js";import{P as I}from"./PlaylistEntry-32f74c9a.js";import{s as M}from"./spotify-8606af53.js";import{P as J}from"./PlaylistItem-b2b662c6.js";import"./EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js";import"./playerInPicture-af203fdf.js";const W={name:"FlexShelf",props:{heading:String,icon:String}},z={class:"shelf"},A={class:"header"},K={key:0},Q={key:0,class:"icon material-symbols-round"},U={class:"items"};function X(t,o,u,c,y,e){return s(),a("div",z,[i("div",A,[u.heading||u.icon?(s(),a("h2",K,[m(k(u.heading),1),u.icon?(s(),a("span",Q,k(u.icon),1)):_("",!0)])):_("",!0)]),i("div",U,[j(t.$slots,"default",{},void 0,!0)])])}const v=g(W,[["render",X],["__scopeId","data-v-c2d585d9"]]);const Y={class:"title"},Z={key:0,class:"material-symbols-rounded"},ee={__name:"Playlist",props:{name:{type:String,required:!0},cover:{type:String,required:!0},href:{type:String,required:!0},type:{type:String,default:"classic"}},setup(t){return(o,u)=>{const c=w("router-link");return s(),d(c,{to:t.href,class:"no-underline"},{default:r(()=>[l(O,{class:"home-playlist drop-shadow-md","with-hover":""},{default:r(()=>[l(B,{src:t.cover,type:"playlist"},null,8,["src"]),i("div",Y,[t.type!="classic"?(s(),a("span",Z,k(t.type=="smart"?"neurology":"bolt"),1)):_("",!0),i("h4",null,k(t.name),1)])]),_:1})]),_:1},8,["to"])}}},te=g(ee,[["__scopeId","data-v-dbaefeb5"]]),se=t=>(H("data-v-eefbdd0a"),t=t(),q(),t),oe={class:"home"},ie={class:"main"},ae={key:0,class:"playlists"},ne={key:1,class:"liked"},le={key:2,class:"breaking"},re={class:"side"},ce={key:0,class:"releases"},de={key:1,class:"disovery"},ue={key:2,class:"recommendations"},_e=se(()=>i("h2",null,"Recommendations",-1)),pe={name:"Home",data(){const t=new Date;return{greeting:t.getHours()<12?"Good morning":t.getHours()<18?"Good afternoon":"Good evening",releases:[],picks:[],songs:[],recommendations:[],data:F()}},mounted(){fetch("/api/releases").then(t=>t.json()).then(t=>{this.releases=t.slice(0,3)}),this.pick()},computed:{playlists(){return this.data.playlists},liked(){return S("liked").songs.slice(0,3)},breaking(){return S("breaking").songs.slice(0,3)}},methods:{playDiscover(t){fetch("/api/player/load",{method:"POST",body:JSON.stringify({id:t.id,type:"track"})})},playRecommendation(t){const o=new CustomEvent("player.play",{detail:{artist:t.artist,title:t.title,source:t.source||t.url||t.href}});window.dispatchEvent(o)},async pick(){if(!this.data.playlists.length){setTimeout(()=>this.pick(),2e3);return}if(this.songs=this.playlists.map(t=>{var o;return((o=S(t.id))==null?void 0:o.songs)||[]}).flat(),!(this.songs.length<3)){for(let t=0;t<3;t++)this.picks.push(this.songs[Math.floor(Math.random()*this.songs.length)]);fetch("/api/spotify/recommendations",{method:"POST",body:JSON.stringify({query:`${this.picks[0].artist} ${this.picks[0].title}`})}).then(t=>t.json()).then(t=>{this.recommendations=t.slice(0,3)})}}}},he=D({...pe,setup(t){return(o,u)=>{const c=w("router-link"),y=w("playlist-item");return s(),a("div",oe,[i("div",ie,[o.playlists.length?(s(),a("div",ae,[i("h2",null,[l(c,{class:"linkOnHover",to:"/collection/playlists"},{default:r(()=>[m("Playlists")]),_:1})]),l(v,null,{default:r(()=>[(s(!0),a(p,null,h(o.playlists,(e,n)=>(s(),d(y,{key:n,href:e.href,cover:e.cover,description:e.description,title:e.name,type:e.type,spotify:!1},null,8,["href","cover","description","title","type"]))),128)),(s(!0),a(p,null,h(o.playlists,(e,n)=>(s(),d(te,{key:n,cover:e.cover,href:e==null?void 0:e.href,name:e.name,type:e.type},null,8,["cover","href","name","type"]))),128))]),_:1})])):_("",!0),o.liked.length?(s(),a("div",ne,[i("h2",null,[l(c,{class:"linkOnHover",to:"/collection/tracks"},{default:r(()=>[m("Liked Songs")]),_:1})]),l(C),(s(!0),a(p,null,h(o.liked,(e,n)=>(s(),d(I,{key:n,index:n,"playlist-id":-1,song:e,"with-cover":""},null,8,["index","song"]))),128))])):_("",!0),o.breaking.length?(s(),a("div",le,[i("h2",null,[l(c,{class:"linkOnHover",to:"/collection/tracks/breaking"},{default:r(()=>[m("Breaking Songs")]),_:1})]),l(C),(s(!0),a(p,null,h(o.breaking,(e,n)=>(s(),d(I,{key:n,index:n,"playlist-id":-2,song:e,"with-cover":""},null,8,["index","song"]))),128))])):_("",!0)]),i("div",re,[o.releases.length?(s(),a("div",ce,[i("h2",null,[l(c,{class:"linkOnHover",to:"/collection/releases"},{default:r(()=>[m("Out now")]),_:1})]),l(v,null,{default:r(()=>[(s(!0),a(p,null,h(o.releases,(e,n)=>(s(),d(P,{key:n,artist:e.artist,cover:e.cover,href:e.url,title:e.title,onPlay:()=>o.playRecommendation(e)},null,8,["artist","cover","href","title","onPlay"]))),128))]),_:1})])):_("",!0),o.picks.length?(s(),a("div",de,[i("h2",null,[l(c,{class:"linkOnHover",to:"/discover"},{default:r(()=>[m("Discover")]),_:1})]),l(v,null,{default:r(()=>[(s(!0),a(p,null,h(o.picks,(e,n)=>(s(),d(P,{id:e.id,key:n,artist:e.artist,cover:x(E)(e.cover),href:e.href,title:e.title,onPlay:()=>o.playDiscover(e)},null,8,["id","artist","cover","href","title","onPlay"]))),128))]),_:1})])):_("",!0),o.recommendations.length?(s(),a("div",ue,[_e,l(v,null,{default:r(()=>[(s(!0),a(p,null,h(o.recommendations,(e,n)=>(s(),d(P,{key:n,artist:e.artist,cover:e.cover,href:e.href,title:e.title,onPlay:()=>o.playRecommendation(e)},null,8,["artist","cover","href","title","onPlay"]))),128))]),_:1})])):_("",!0)])])}}});const ye=g(he,[["__scopeId","data-v-eefbdd0a"]]),b=t=>(H("data-v-19a9c7d9"),t=t(),q(),t),fe={class:"onboarding p-4"},me=b(()=>i("h1",null,"So nice to meet you!",-1)),ve=b(()=>i("p",null,"Let's get you set up",-1)),ke={class:"grid grid-cols-2 gap-4 mt-8"},ge=b(()=>i("div",{class:"flex flex-row items-center"},[i("span",{class:"material-symbols-rounded ms-wght-700 text-4xl mr-4"},"add"),i("h2",null,"Create your first playlist")],-1)),be={class:"flex flex-row justify-end w-full"},Se={class:"flex flex-row items-center"},$e=b(()=>i("h2",null,"Import from Spotify",-1)),Pe={class:"spotify-playlists"},we=D({__name:"Onboarding",setup(t){const o=$([]),u=$(!1),c=$(null);T(),R().then(e=>{u.value=e}),fetch("/api/spotify/playlists").then(e=>e.json()).then(e=>{o.value=e});const y={fields:[{name:"name",label:"Name",placeholder:"Playlist name",icon:"title",type:"text",required:!0},{name:"description",label:"Description",placeholder:"Playlist description",icon:"description",type:"text",required:!1}],submit:{label:"Create",action:async()=>{const e=c.value.toObject();await L(e.name,e.description)}}};return(e,n)=>(s(),a("div",fe,[me,ve,i("div",ke,[l(O,{class:"p-4"},{default:r(()=>[ge,l(V,{ref_key:"createForm",ref:c,options:y.fields},null,8,["options"]),i("div",be,[l(G,{onClick:n[0]||(n[0]=f=>y.submit.action()),icon:"add",label:y.submit.label},null,8,["label"])])]),_:1}),o.value.length?(s(),d(O,{key:0,class:"p-4"},{default:r(()=>[i("div",Se,[l(x(M),{class:"spotify mr-4"}),$e]),i("div",Pe,[(s(!0),a(p,null,h(o.value,(f,N)=>(s(),d(J,{key:N,cover:f.cover,description:f.description,title:f.name,id:f.id,spotify:!0,href:`https://open.spotify.com/playlist/${f.id}`},null,8,["cover","description","title","id","href"]))),128))])]),_:1})):_("",!0)])]))}});const Oe=g(we,[["__scopeId","data-v-19a9c7d9"]]),Ne={__name:"index",setup(t){const o=F();return(u,c)=>x(o).notEmpty?(s(),d(ye,{key:0})):(s(),d(Oe,{key:1}))}};export{Ne as default}; +import{_ as g,o as s,c as a,a as i,b as m,t as k,d as _,r as j,e as w,f as d,w as r,g as l,C as O,h as B,i as D,F as p,j as h,P as C,u as x,p as E,k as F,l as S,m as H,n as q,q as $,s as T,v as R,x as V,I as G,y as L}from"./index-286d536d.js";import{T as P}from"./TrackCompact-667d7442.js";import{P as I}from"./PlaylistEntry-bb67bf25.js";import{s as M}from"./spotify-ec5e61f9.js";import{P as J}from"./PlaylistItem-6fc351b2.js";import"./EditSong.vue_vue_type_script_setup_true_lang-94868e65.js";import"./playerInPicture-af203fdf.js";const W={name:"FlexShelf",props:{heading:String,icon:String}},z={class:"shelf"},A={class:"header"},K={key:0},Q={key:0,class:"icon material-symbols-round"},U={class:"items"};function X(t,o,u,c,y,e){return s(),a("div",z,[i("div",A,[u.heading||u.icon?(s(),a("h2",K,[m(k(u.heading),1),u.icon?(s(),a("span",Q,k(u.icon),1)):_("",!0)])):_("",!0)]),i("div",U,[j(t.$slots,"default",{},void 0,!0)])])}const v=g(W,[["render",X],["__scopeId","data-v-c2d585d9"]]);const Y={class:"title"},Z={key:0,class:"material-symbols-rounded"},ee={__name:"Playlist",props:{name:{type:String,required:!0},cover:{type:String,required:!0},href:{type:String,required:!0},type:{type:String,default:"classic"}},setup(t){return(o,u)=>{const c=w("router-link");return s(),d(c,{to:t.href,class:"no-underline"},{default:r(()=>[l(O,{class:"home-playlist drop-shadow-md","with-hover":""},{default:r(()=>[l(B,{src:t.cover,type:"playlist"},null,8,["src"]),i("div",Y,[t.type!="classic"?(s(),a("span",Z,k(t.type=="smart"?"neurology":"bolt"),1)):_("",!0),i("h4",null,k(t.name),1)])]),_:1})]),_:1},8,["to"])}}},te=g(ee,[["__scopeId","data-v-dbaefeb5"]]),se=t=>(H("data-v-eefbdd0a"),t=t(),q(),t),oe={class:"home"},ie={class:"main"},ae={key:0,class:"playlists"},ne={key:1,class:"liked"},le={key:2,class:"breaking"},re={class:"side"},ce={key:0,class:"releases"},de={key:1,class:"disovery"},ue={key:2,class:"recommendations"},_e=se(()=>i("h2",null,"Recommendations",-1)),pe={name:"Home",data(){const t=new Date;return{greeting:t.getHours()<12?"Good morning":t.getHours()<18?"Good afternoon":"Good evening",releases:[],picks:[],songs:[],recommendations:[],data:F()}},mounted(){fetch("/api/releases").then(t=>t.json()).then(t=>{this.releases=t.slice(0,3)}),this.pick()},computed:{playlists(){return this.data.playlists},liked(){return S("liked").songs.slice(0,3)},breaking(){return S("breaking").songs.slice(0,3)}},methods:{playDiscover(t){fetch("/api/player/load",{method:"POST",body:JSON.stringify({id:t.id,type:"track"})})},playRecommendation(t){const o=new CustomEvent("player.play",{detail:{artist:t.artist,title:t.title,source:t.source||t.url||t.href}});window.dispatchEvent(o)},async pick(){if(!this.data.playlists.length){setTimeout(()=>this.pick(),2e3);return}if(this.songs=this.playlists.map(t=>{var o;return((o=S(t.id))==null?void 0:o.songs)||[]}).flat(),!(this.songs.length<3)){for(let t=0;t<3;t++)this.picks.push(this.songs[Math.floor(Math.random()*this.songs.length)]);fetch("/api/spotify/recommendations",{method:"POST",body:JSON.stringify({query:`${this.picks[0].artist} ${this.picks[0].title}`})}).then(t=>t.json()).then(t=>{this.recommendations=t.slice(0,3)})}}}},he=D({...pe,setup(t){return(o,u)=>{const c=w("router-link"),y=w("playlist-item");return s(),a("div",oe,[i("div",ie,[o.playlists.length?(s(),a("div",ae,[i("h2",null,[l(c,{class:"linkOnHover",to:"/collection/playlists"},{default:r(()=>[m("Playlists")]),_:1})]),l(v,null,{default:r(()=>[(s(!0),a(p,null,h(o.playlists,(e,n)=>(s(),d(y,{key:n,href:e.href,cover:e.cover,description:e.description,title:e.name,type:e.type,spotify:!1},null,8,["href","cover","description","title","type"]))),128)),(s(!0),a(p,null,h(o.playlists,(e,n)=>(s(),d(te,{key:n,cover:e.cover,href:e==null?void 0:e.href,name:e.name,type:e.type},null,8,["cover","href","name","type"]))),128))]),_:1})])):_("",!0),o.liked.length?(s(),a("div",ne,[i("h2",null,[l(c,{class:"linkOnHover",to:"/collection/tracks"},{default:r(()=>[m("Liked Songs")]),_:1})]),l(C),(s(!0),a(p,null,h(o.liked,(e,n)=>(s(),d(I,{key:n,index:n,"playlist-id":-1,song:e,"with-cover":""},null,8,["index","song"]))),128))])):_("",!0),o.breaking.length?(s(),a("div",le,[i("h2",null,[l(c,{class:"linkOnHover",to:"/collection/tracks/breaking"},{default:r(()=>[m("Breaking Songs")]),_:1})]),l(C),(s(!0),a(p,null,h(o.breaking,(e,n)=>(s(),d(I,{key:n,index:n,"playlist-id":-2,song:e,"with-cover":""},null,8,["index","song"]))),128))])):_("",!0)]),i("div",re,[o.releases.length?(s(),a("div",ce,[i("h2",null,[l(c,{class:"linkOnHover",to:"/collection/releases"},{default:r(()=>[m("Out now")]),_:1})]),l(v,null,{default:r(()=>[(s(!0),a(p,null,h(o.releases,(e,n)=>(s(),d(P,{key:n,artist:e.artist,cover:e.cover,href:e.url,title:e.title,onPlay:()=>o.playRecommendation(e)},null,8,["artist","cover","href","title","onPlay"]))),128))]),_:1})])):_("",!0),o.picks.length?(s(),a("div",de,[i("h2",null,[l(c,{class:"linkOnHover",to:"/discover"},{default:r(()=>[m("Discover")]),_:1})]),l(v,null,{default:r(()=>[(s(!0),a(p,null,h(o.picks,(e,n)=>(s(),d(P,{id:e.id,key:n,artist:e.artist,cover:x(E)(e.cover),href:e.href,title:e.title,onPlay:()=>o.playDiscover(e)},null,8,["id","artist","cover","href","title","onPlay"]))),128))]),_:1})])):_("",!0),o.recommendations.length?(s(),a("div",ue,[_e,l(v,null,{default:r(()=>[(s(!0),a(p,null,h(o.recommendations,(e,n)=>(s(),d(P,{key:n,artist:e.artist,cover:e.cover,href:e.href,title:e.title,onPlay:()=>o.playRecommendation(e)},null,8,["artist","cover","href","title","onPlay"]))),128))]),_:1})])):_("",!0)])])}}});const ye=g(he,[["__scopeId","data-v-eefbdd0a"]]),b=t=>(H("data-v-19a9c7d9"),t=t(),q(),t),fe={class:"onboarding p-4"},me=b(()=>i("h1",null,"So nice to meet you!",-1)),ve=b(()=>i("p",null,"Let's get you set up",-1)),ke={class:"grid grid-cols-2 gap-4 mt-8"},ge=b(()=>i("div",{class:"flex flex-row items-center"},[i("span",{class:"material-symbols-rounded ms-wght-700 text-4xl mr-4"},"add"),i("h2",null,"Create your first playlist")],-1)),be={class:"flex flex-row justify-end w-full"},Se={class:"flex flex-row items-center"},$e=b(()=>i("h2",null,"Import from Spotify",-1)),Pe={class:"spotify-playlists"},we=D({__name:"Onboarding",setup(t){const o=$([]),u=$(!1),c=$(null);T(),R().then(e=>{u.value=e}),fetch("/api/spotify/playlists").then(e=>e.json()).then(e=>{o.value=e});const y={fields:[{name:"name",label:"Name",placeholder:"Playlist name",icon:"title",type:"text",required:!0},{name:"description",label:"Description",placeholder:"Playlist description",icon:"description",type:"text",required:!1}],submit:{label:"Create",action:async()=>{const e=c.value.toObject();await L(e.name,e.description)}}};return(e,n)=>(s(),a("div",fe,[me,ve,i("div",ke,[l(O,{class:"p-4"},{default:r(()=>[ge,l(V,{ref_key:"createForm",ref:c,options:y.fields},null,8,["options"]),i("div",be,[l(G,{onClick:n[0]||(n[0]=f=>y.submit.action()),icon:"add",label:y.submit.label},null,8,["label"])])]),_:1}),o.value.length?(s(),d(O,{key:0,class:"p-4"},{default:r(()=>[i("div",Se,[l(x(M),{class:"spotify mr-4"}),$e]),i("div",Pe,[(s(!0),a(p,null,h(o.value,(f,N)=>(s(),d(J,{key:N,cover:f.cover,description:f.description,title:f.name,id:f.id,spotify:!0,href:`https://open.spotify.com/playlist/${f.id}`},null,8,["cover","description","title","id","href"]))),128))])]),_:1})):_("",!0)])]))}});const Oe=g(we,[["__scopeId","data-v-19a9c7d9"]]),Ne={__name:"index",setup(t){const o=F();return(u,c)=>x(o).notEmpty?(s(),d(ye,{key:0})):(s(),d(Oe,{key:1}))}};export{Ne as default}; diff --git a/src/ui/dist/assets/index-3486840a.js.gz b/src/ui/dist/assets/index-3486840a.js.gz new file mode 100644 index 000000000..ef48f9788 Binary files /dev/null and b/src/ui/dist/assets/index-3486840a.js.gz differ diff --git a/src/ui/dist/assets/index-46330f3a.css b/src/ui/dist/assets/index-46330f3a.css deleted file mode 100644 index 70eb1bb77..000000000 --- a/src/ui/dist/assets/index-46330f3a.css +++ /dev/null @@ -1,7 +0,0 @@ -@import"https://fonts.googleapis.com/icon?family=Material+Icons+Outlined";@import"https://fonts.googleapis.com/icon?family=Material+Icons+Round";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap";.hidden[data-v-625a8655]{display:none}@keyframes marquee-625a8655{0%{transform:translate(0)}20%{transform:translate(0)}to{transform:translate(calc(-100% - 30px))}}div[data-v-625a8655]{white-space:nowrap;overflow:hidden;box-sizing:border-box}.marqueeWrapper[data-v-625a8655],.marqueeWrapper *[data-v-625a8655]{text-decoration:inherit}.marqueeWrapper[data-v-625a8655]{position:relative;margin:0}.replacer[data-v-625a8655]{position:absolute;top:0;left:calc(100% + 30px)}span[data-v-625a8655]{width:auto;margin:0;white-space:nowrap;display:inherit;overflow:hidden}span.marquee[data-v-625a8655]{position:relative;animation:marquee-625a8655 15s linear infinite;overflow:unset;text-overflow:unset;display:table-cell}.overlay[data-v-625a8655]{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:30px;pointer-events:none}.playerInPicture{position:absolute;top:calc(100% - 348px);left:calc(70% - 8px);z-index:2000;width:30%;border-radius:8px;display:flex;flex-direction:column;background:var(--bg-base-lt);overflow:hidden;box-shadow:0 0 100px 3px #000c}@media screen and (max-width: 950px){.playerInPicture{width:calc(100% - 16px);left:8px!important;bottom:8px!important}}.playerInPicture .header{padding:0 8px 8px;display:flex;flex-direction:row;justify-content:space-between;transform:translateY(8px)}.playerInPicture .header .title{font-size:.8em;color:var(--fg-base-dk);display:flex;flex-direction:column;justify-content:center;max-width:calc(100% - 56px);width:100%}.playerInPicture .header .buttons{width:48px;height:24px}.playerInPicture .header .buttons span:hover{cursor:pointer}.playerInPicture .header.minimised{margin-bottom:8px}.playerInPicture .frame{flex-grow:1;min-height:300px}.playerInPicture .frame.minimised{display:none}.playerInPicture iframe{min-height:300px;width:100%;height:100%;transform:translateY(8px)}.link[data-v-148b3d73]{text-decoration:none}div.navEntry[data-v-148b3d73]{display:flex;flex-direction:row;padding:10px;border-radius:5px;color:var(--fg-base-dk)}div.navEntry.img[data-v-148b3d73]{padding:5px}div.navEntry[data-v-148b3d73]:hover,.router-link-active div.navEntry[data-v-148b3d73],div.navEntry.active[data-v-148b3d73]{background-color:var(--bg-hover-dk);cursor:pointer;color:var(--fg-base)}.router-link-active div.navEntry[data-v-148b3d73],div.navEntry.active[data-v-148b3d73]{background-color:var(--bg-hover)}.name[data-v-148b3d73]{font-weight:700}.icon[data-v-148b3d73]{width:34px}.icon[data-v-148b3d73] :has:not(.material-symbols-rounded){height:34px}.icon[data-v-148b3d73]{width:100%;border-radius:3px}.text-input-with-icon[data-v-18a674c5]{background:var(--bg-base-lt);border:1px solid var(--border-base);color:var(--fg-base-dk);width:100%}.text-input-with-icon input[data-v-18a674c5]{color:var(--fg-base-dk)}.text-input-with-icon[data-v-18a674c5]:focus-within,.text-input-with-icon[data-v-18a674c5]:hover{border-color:var(--fg-base);color:var(--fg-base)}.text-input-with-icon:focus-within input[data-v-18a674c5],.text-input-with-icon:hover input[data-v-18a674c5]{color:var(--fg-base)}.text-input-with-icon.expanded[data-v-18a674c5]{border-radius:1em 1em 0 0}input[type=text][data-v-18a674c5],input[type=number][data-v-18a674c5]{background:none!important;border:none!important}input[type=text][data-v-18a674c5],input[type=number][data-v-18a674c5],input[type=password][data-v-18a674c5]{background:var(--hover-2);border:1px solid var(--hover-3);border-radius:5px;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--font-family)}input[type=text][data-v-18a674c5]:focus,input[type=number][data-v-18a674c5]:focus,input[type=password][data-v-18a674c5]:focus{outline:none}input[type=text][data-v-18a674c5]:hover,input[type=number][data-v-18a674c5]:hover,input[type=password][data-v-18a674c5]:hover{background:var(--hover-1);border:1px solid var(--font-colour)}.suggestions[data-v-9a74c378]{background:var(--bg-base-lt);border:var(--border-container);z-index:1001;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);overflow:hidden}.loader[data-v-a8d83b29]{width:100%;height:100%;display:flex;justify-content:center;flex-direction:column;align-content:center}.spinner[data-v-a8d83b29]{margin:auto;width:100%;text-align:center}.spinner>div[data-v-a8d83b29]{width:18px;height:18px;background-color:var(--fg-base-dk);margin:5px;border-radius:100%;display:inline-block;animation:sk-bouncedelay-a8d83b29 1.4s infinite ease-in-out both}.spinner .bounce1[data-v-a8d83b29]{animation-delay:-.32s}.spinner .bounce2[data-v-a8d83b29]{animation-delay:-.16s}@keyframes sk-bouncedelay-a8d83b29{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}/*! - * Copyright (c) 2023, reAudioPlayer ONE. - * Licenced under the GNU General Public License v3.0 - */.bg-bg[data-v-b68d33f1]{background-color:var(--background)}.bg-fg[data-v-b68d33f1]{background-color:var(--font-colour)}.text-bg[data-v-b68d33f1]{color:var(--background)}.text-fg[data-v-b68d33f1]{color:var(--font-colour)}button span.material-symbols-rounded[data-v-b68d33f1]{font-variation-settings:"wght" 400}button.disabled[data-v-b68d33f1]{cursor:not-allowed}button.positive[data-v-b68d33f1]{background-color:var(--bg-base);color:var(--fg-base)}button.positive.disabled[data-v-b68d33f1]{background-color:var(--fg-base-dk);color:var(--bg-hover-ltr)}button.negative[data-v-b68d33f1]{background-color:var(--bg-contrast);color:var(--fg-contrast)}button.negative.disabled[data-v-b68d33f1]{background-color:var(--fg-base-dk);color:var(--bg-hover-ltr)}button.danger[data-v-b68d33f1]{color:#f5f5f5;background-color:#c73c3c}button.danger.disabled[data-v-b68d33f1]{background-color:#a22e2e;color:#a9a9a9}button.success[data-v-b68d33f1]{color:#f5f5f5;background-color:var(--fg-secondary)}button.success[data-v-b68d33f1]:hover{background-color:var(--fg-secondary-dk)}button.success.disabled[data-v-b68d33f1]{background-color:#a9a9a9;color:var(--fg-base)}.modal[data-v-faea87bd]{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1000;background-color:#000000b3;animation:fadeIn-faea87bd .2s ease-in-out forwards;display:flex;justify-content:center;align-items:center}@keyframes fadeIn-faea87bd{0%{opacity:0}to{opacity:1}}.modal-content[data-v-faea87bd]{cursor:default;display:flex;flex-direction:column;width:40%;max-height:80vh;background:var(--fg-contrast);border-radius:1rem;color:var(--fg-base)}.confirm[data-v-faea87bd]{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.header[data-v-faea87bd]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:20px}.title[data-v-faea87bd]{color:#fff}.dropdown[data-v-186027d9]{position:relative;display:inline-block;width:100%;height:100%}.dropdown__selected[data-v-186027d9]{background:var(--bg-base-lt);border:var(--border-container);border-radius:1000vmax;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--ff-base);cursor:pointer;display:flex;flex-direction:row;justify-content:space-between}.dropdown__selected.expanded[data-v-186027d9]{border-radius:1em 1em 0 0}.dropdown__selected[data-v-186027d9]:focus-within,.dropdown__selected[data-v-186027d9]:hover{border-color:var(--fg-base);color:var(--fg-base)}.dropdown__options[data-v-186027d9]{position:absolute;left:0;z-index:1001;width:max(100%,20rem);max-height:20rem;overflow-y:auto;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);border:var(--border-container)}.dropdown__options .dropdown__option[data-v-186027d9]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-186027d9]:hover{background:var(--bg-hover)}.content[data-v-f7f90291]{display:flex;flex-direction:row}.content .icon-button[data-v-f7f90291]{margin-right:10px;background:var(--bg-contrast);color:var(--fg-contrast);border-radius:1000vmax;padding:11px;cursor:pointer;font-variation-settings:"wght" 300}.content .imagePreview[data-v-f7f90291]{min-width:42px;max-width:42px;margin-left:10px}.content .imagePreview .cover[data-v-f7f90291]{border-radius:5px}.content .imagePreview .cover[data-v-f7f90291]:hover{cursor:pointer;filter:grayscale(.4) blur(2px)}.playlisteditor[data-v-eab2eaeb]{display:flex;flex-direction:row;margin-bottom:20px;align-items:center}.playlisteditor img[data-v-eab2eaeb]{width:20%;margin-right:20px;border-radius:5px}@media screen and (max-width: 950px){.playlisteditor[data-v-eab2eaeb]{flex-direction:column}.playlisteditor img[data-v-eab2eaeb]{align-self:center;width:40%;margin-right:0}}.playlisteditor>.details[data-v-eab2eaeb]{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-self:end}.playlisteditor>.details>h1[data-v-eab2eaeb]{font-size:2em;margin-top:10px;margin-bottom:10px}@media screen and (max-width: 950px){.playlisteditor>.details>h1[data-v-eab2eaeb]{font-size:1.4em}}.playlisteditor>.details>.detailswrapper[data-v-eab2eaeb]{font-size:.8em;display:flex;flex-direction:row;justify-content:flex-start}@media screen and (max-width: 950px){.playlisteditor>.details>.detailswrapper[data-v-eab2eaeb]{justify-content:center}}.playlisteditor>.details>.detailswrapper>.material-icons-round[data-v-eab2eaeb]{line-height:15px;font-size:15px;cursor:pointer}.playlisteditor>.details>.detailswrapper>.material-icons-round[data-v-eab2eaeb]:not(:first-child){margin-left:10px}.playlisteditor>.details>h5[data-v-eab2eaeb]{font-size:.8em;margin:0}.playlist-header[data-v-f8e4524a]{display:grid;grid-template-columns:50px 40px 1fr 1fr 40px 60px;gap:10px}.playlist-header .index[data-v-f8e4524a]{margin:auto 0}.playlist-header .artist-title[data-v-f8e4524a]{grid-column:2/span 2}.playlist-header .duration[data-v-f8e4524a]{text-align:center;grid-column-start:6}.playlist-header:not(.withMore) .duration[data-v-f8e4524a]{grid-column-start:7}.playlist-header div[data-v-f8e4524a]{margin:auto 0;color:var(--fg-base-dk);font-size:.9rem;text-transform:uppercase}.hidden[data-v-ad7138e8]{display:none}@keyframes marquee-ad7138e8{0%{transform:translate(0)}20%{transform:translate(0)}to{transform:translate(calc(-100% - 30px))}}div[data-v-ad7138e8]{white-space:nowrap;overflow:hidden;box-sizing:border-box}.marqueeWrapper[data-v-ad7138e8],.marqueeWrapper *[data-v-ad7138e8]{text-decoration:inherit}.marqueeWrapper[data-v-ad7138e8]{position:relative;margin:0}.replacer[data-v-ad7138e8]{position:absolute;top:0;left:calc(100% + 30px)}span[data-v-ad7138e8]{width:auto;margin:0;white-space:nowrap;display:inherit;overflow:hidden}span.marquee[data-v-ad7138e8]{position:relative;animation:marquee-ad7138e8 15s linear infinite;overflow:unset;text-overflow:unset;display:table-cell}.overlay[data-v-ad7138e8]{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:30px;pointer-events:none}.artist[data-v-156468cf]:not(:last-child):after{content:", "}.artist>a[data-v-156468cf]{color:inherit;text-decoration:none}.artist>a[data-v-156468cf]:active,.artist>a[data-v-156468cf]:hover{color:inherit;text-decoration:underline}/*! -* Copyright (c) 2023, reAudioPlayer ONE. -* Licenced under the GNU General Public License v3.0 -*/.playlist-entry[data-v-2482bde4]{display:grid;grid-template-columns:50px 40px 1fr 1fr 40px;gap:10px;padding:10px 0;border-radius:20px;border:1px solid transparent}.playlist-entry .artist-title[data-v-2482bde4]{grid-column:3/4}.playlist-entry:not(.withCover) .artist-title[data-v-2482bde4]{grid-column-start:2}.playlist-entry:not(.withAlbum) .artist-title[data-v-2482bde4]{grid-column-end:5}.playlist-entry div[data-v-2482bde4]{overflow:hidden}.playlist-entry .index[data-v-2482bde4],.playlist-entry .album[data-v-2482bde4],.playlist-entry .duration[data-v-2482bde4],.playlist-entry .icon[data-v-2482bde4]{margin:auto 0;font-size:.9rem;color:var(--fg-base-dk)}.playlist-entry .index.index[data-v-2482bde4],.playlist-entry .album.index[data-v-2482bde4],.playlist-entry .duration.index[data-v-2482bde4],.playlist-entry .icon.index[data-v-2482bde4]{cursor:pointer}.playlist-entry .index.icon[data-v-2482bde4],.playlist-entry .album.icon[data-v-2482bde4],.playlist-entry .duration.icon[data-v-2482bde4],.playlist-entry .icon.icon[data-v-2482bde4]{font-size:1.3rem;cursor:pointer;font-variation-settings:"wght" 500}.playlist-entry .index.icon.favourite[data-v-2482bde4],.playlist-entry .album.icon.favourite[data-v-2482bde4],.playlist-entry .duration.icon.favourite[data-v-2482bde4],.playlist-entry .icon.icon.favourite[data-v-2482bde4]{font-variation-settings:"FILL" 1}.playlist-entry.hovering[data-v-2482bde4]{background-color:var(--bg-hover-dk);border:var(--border-container)}.playlist-entry.hovering .index[data-v-2482bde4]{font-size:1.5rem;font-variation-settings:"FILL" 1}.playlist-entry.selected[data-v-2482bde4]{background-color:var(--bg-hover)}.playlist-entry .favourite-icon[data-v-2482bde4]{grid-column:5}.playlist-entry .duration[data-v-2482bde4]{grid-column:6}.playlist-entry .cover[data-v-2482bde4]{display:flex;justify-content:center}.playlist-entry img[data-v-2482bde4]{border-radius:4px;margin:auto 0}.playlist-entry .artist-title[data-v-2482bde4]{display:grid;grid-template-rows:1fr 1fr}.playlist-entry .artist-title .artist[data-v-2482bde4]{font-size:.8rem;color:var(--fg-base-dk)}.playlist-entry .artist-title span[data-v-2482bde4]{max-width:-moz-min-content;max-width:min-content;overflow:hidden}.playlist-entry.playing .title[data-v-2482bde4],.playlist-entry.playing .index[data-v-2482bde4]{color:var(--fg-secondary)}.playlist-entry.hovering .artist[data-v-2482bde4],.playlist-entry.hovering .album[data-v-2482bde4],.playlist-entry.selected .artist[data-v-2482bde4],.playlist-entry.selected .album[data-v-2482bde4]{color:var(--fg-base)}@media screen and (max-width: 768px){.playlist-entry[data-v-2482bde4]{padding:5px 0;border-radius:10px;grid-template-columns:30px 40px 1fr 1fr 30px 40px}.playlist-entry .index[data-v-2482bde4],.playlist-entry .duration[data-v-2482bde4]{font-size:.7rem}.playlist-entry .artist-title[data-v-2482bde4]{grid-column-end:5;font-size:.8rem}.playlist-entry .artist-title .artist[data-v-2482bde4]{font-size:.65rem}}.playlist[data-v-43692079]{position:relative}.playlist .entries[data-v-43692079]{position:relative;overflow-y:auto;display:flex;flex-direction:column;height:100%;max-height:30vh}.item[data-v-a7b44d84]{display:flex;align-items:flex-end;gap:1rem;padding:10px;border-radius:20px}.item img[data-v-a7b44d84]{width:50px;height:50px;border-radius:.5em;-o-object-fit:cover;object-fit:cover}.item .tag[data-v-a7b44d84]{padding:.2rem .5rem;border-radius:.5rem;background:var(--bg-base-lt);border:var(--border-container)}.item .info[data-v-a7b44d84]{display:flex;align-items:center;width:100%;gap:.5em}.item .name[data-v-a7b44d84]{font-weight:900;font-size:1rem}.item.large[data-v-a7b44d84]{min-width:40ch;background:var(--bg-base-lt);border:var(--border-container);border-radius:1em;padding:1em}.item.large .info[data-v-a7b44d84]{flex-direction:column;align-items:flex-start}.item.large .name[data-v-a7b44d84]{font-size:1.2rem}.item.large img[data-v-a7b44d84]{width:150px;height:150px}.item[data-v-a7b44d84]:hover{background:var(--bg-hover-dk);cursor:pointer}.download-anim[data-v-62e5d812]{color:var(--fg-base-dk);animation:anim-62e5d812 .5s ease-out forwards}@keyframes anim-62e5d812{0%{opacity:1;transform:translateY(500px)}to{opacity:0;transform:translateY(0)}}.suggestion[data-v-62e5d812]{display:grid;gap:1em;width:100%}.suggestion .cover[data-v-62e5d812]{border-radius:.5em}.suggestion[data-v-62e5d812]:hover,.suggestion.selected[data-v-62e5d812]{background:var(--bg-hover-dk);cursor:pointer}.suggestion span[data-v-62e5d812]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.suggestion span[data-v-62e5d812]:last-child{color:var(--fg-base-dk);font-size:.8rem}.header[data-v-62e5d812]{background:var(--bg-base-dk);height:var(--h-header);display:flex;flex-direction:row;justify-content:space-between;align-items:center;box-shadow:0 0 10px 0 var(--shadow);z-index:10;border-bottom:var(--border-container)}.logo[data-v-62e5d812]{fill:var(--fg-base);padding:10px;translate:5px 5px;height:100%}.logo[data-v-62e5d812]:hover{cursor:pointer}.header .search{width:100%;display:flex;flex-direction:row;justify-content:center;margin:0 1em}.header .search .input-with-autocomplete{max-width:800px;width:100%;flex:1}.header .search .text-input-with-icon{width:100%}.startup[data-v-24a52185]{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.startup .wrap[data-v-24a52185]{width:80%}.startup .logo[data-v-24a52185]{display:flex;flex-direction:row;justify-content:center;width:100%;align-items:center}.startup .logo svg[data-v-24a52185]{fill:var(--fg-base);padding:10px;translate:5px 5px;height:100%;max-width:400px}.startup .logo p[data-v-24a52185]{font-size:1em;color:var(--fg-base);z-index:1;margin-left:50px}.card[data-v-04b9eb92]{background:var(--bg-base-lt);border-radius:1em;border:var(--border-container);position:relative}.card[data-v-04b9eb92]:before{content:"";border-radius:1em;box-shadow:0 0 10px #0000001a;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.card.withHover[data-v-04b9eb92]:hover{background:var(--bg-hover-dk)}.card.disabled[data-v-04b9eb92]{opacity:.5;cursor:not-allowed!important}.notification[data-v-49e9d059]{padding:.5em 1em;display:flex;flex-direction:row;gap:2em;align-items:center;justify-content:space-between;color:#fff;filter:var(--drop-shadow)}.notification.success[data-v-49e9d059]{background-color:var(--success)}.notification.error[data-v-49e9d059]{background-color:var(--fail)}.notification.info[data-v-49e9d059]{background-color:var(--info)}.notification.warning[data-v-49e9d059]{background-color:var(--warning)}.notification h4[data-v-49e9d059],.notification p[data-v-49e9d059]{margin:0}.notification .details[data-v-49e9d059]{font-size:.8em}.close[data-v-49e9d059]{cursor:pointer}.notification[data-v-4dd7578e]{gap:2em;align-items:center;color:var(--fg-base);overflow:hidden;filter:var(--drop-shadow);background:var(--fg-contrast)}.notification .message[data-v-4dd7578e]{padding:.5em 1em}.notification .message h4[data-v-4dd7578e]{margin:0}.notification .message .details[data-v-4dd7578e]{font-size:.8em}.yes-no[data-v-4dd7578e]{display:flex;flex-direction:row}.yes-no .option[data-v-4dd7578e]{flex:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.yes-no .option.yes[data-v-4dd7578e]{background-color:var(--success)}.yes-no .option.no[data-v-4dd7578e]{background-color:var(--fail)}.notifications[data-v-ca1aa49b]{position:absolute;inset:auto auto 0 0;z-index:10;margin:2em 2em calc(var(--h-player) + 10px) calc(var(--w-sidebar) + 40px);display:flex;flex-direction:column;gap:1em;align-items:flex-start}.notifications .notification[data-v-ca1aa49b]{min-width:200px;max-width:400px}@font-face{font-family:v-contextmenu;src:url(data:application/vnd.ms-fontobject;base64,AAgAAFgHAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAr5f4wwAAAAAAAAAAAAAAAAAAAAAAABAAaQBjAG8AbgBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAQAGkAYwBvAG4AZgBvAG4AdAAAAAAAAAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4l69fDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=);src:url(data:application/vnd.ms-fontobject;base64,AAgAAFgHAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAr5f4wwAAAAAAAAAAAAAAAAAAAAAAABAAaQBjAG8AbgBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAQAGkAYwBvAG4AZgBvAG4AdAAAAAAAAAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4l69fDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=#iefix) format("embedded-opentype"),url(data:font/woff;base64,d09GRgABAAAAAAUAAAsAAAAAB1gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kgMY21hcAAAAYAAAABeAAABhpnABr5nbHlmAAAB4AAAAS4AAAE8h1VEkmhlYWQAAAMQAAAALwAAADYPY7HCaGhlYQAAA0AAAAAcAAAAJAfeA4RobXR4AAADXAAAAAwAAAAMC+kAAGxvY2EAAANoAAAACAAAAAgAdgCebWF4cAAAA3AAAAAfAAAAIAESAF1uYW1lAAADkAAAAUUAAAJtPlT+fXBvc3QAAATYAAAAKAAAADlBG9LpeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/sE4gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVDxTYm7438AQw9zA0AAUZgTJAQAl4gyOeJzFkMENgDAMAy9t6QMxRV88GIgXc3TirlFMKA8mqCXHimMpUYAFiOIhJrAL48Ep19yPrO4nz2SpEait9K7+U0U0y65BJTMNNm/1H5vXfXT6CnVQJ7byknADpO8MFwAAeJwVjL1Kw1AARu93Y/7a3MTe/KdN2yS2V6kGjLEKYru4KA6Cgzj6ALp2cegiODj4DCKIr1D6AL6A7qIP4BNE48fhwFk+IhPy+yktpYDYZJ1skyNyRgiUEVKTxkhEmdMR3ER2fceURCYSNUtz6RB+qjheMS6HvqIqFkx0sZMUY5FTgd1yQg9QeDEQtqNzPuhw6RGNQHTvqhP6BLeXdazJVnW8OXWKvq3NDM5Dzh80RZY1SlcsE9e+p8t6Q6meZStyl70N2oMRiuj0kvXb/Oq+vIkHvg7M57DbffNl2opaNbeRZ/NQXWVaELFszcHsuxnYRjz8IvXwL/pBf0irDkeFkmO8pyPHBD48+s6qVzMJwLBfvTEEKcMFw5wb1aKJMGEQECwJ0awWRv30B+KIMJEAAHicY2BkYGAA4sM/urfH89t8ZeBmYQCBa0pmzxD0/4csDMwSQC4HAxNIFABNGgrfAHicY2BkYGBu+N/AEMPCAAJAkpEBFTADAEcJAmwEAAAAA+kAAAQAAAAAAAAAAHYAnnicY2BkYGBgZghkYGUAASYg5gJCBob/YD4DABD3AXAAeJxlj01OwzAQhV/6B6QSqqhgh+QFYgEo/RGrblhUavdddN+mTpsqiSPHrdQDcB6OwAk4AtyAO/BIJ5s2lsffvHljTwDc4Acejt8t95E9XDI7cg0XuBeuU38QbpBfhJto41W4Rf1N2MczpsJtdGF5g9e4YvaEd2EPHXwI13CNT+E69S/hBvlbuIk7/Aq30PHqwj7mXle4jUcv9sdWL5xeqeVBxaHJIpM5v4KZXu+Sha3S6pxrW8QmU4OgX0lTnWlb3VPs10PnIhVZk6oJqzpJjMqt2erQBRvn8lGvF4kehCblWGP+tsYCjnEFhSUOjDFCGGSIyujoO1Vm9K+xQ8Jee1Y9zed0WxTU/3OFAQL0z1xTurLSeTpPgT1fG1J1dCtuy56UNJFezUkSskJe1rZUQuoBNmVXjhF6XNGJPyhnSP8ACVpuyAAAAHicY2BigAAuBuyAmZGJkZmRhYGxgjuxqCi/XLcoMz2jhIEBAC8dBRY=) format("woff"),url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4i7dfDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=) format("truetype"),url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%20%3E%0A%3C!--%0A2013-9-30%3A%20Created.%0A--%3E%0A%3Csvg%3E%0A%3Cmetadata%3E%0ACreated%20by%20iconfont%0A%3C%2Fmetadata%3E%0A%3Cdefs%3E%0A%0A%3Cfont%20id%3D%22iconfont%22%20horiz-adv-x%3D%221024%22%20%3E%0A%20%20%3Cfont-face%0A%20%20%20%20font-family%3D%22iconfont%22%0A%20%20%20%20font-weight%3D%22500%22%0A%20%20%20%20font-stretch%3D%22normal%22%0A%20%20%20%20units-per-em%3D%221024%22%0A%20%20%20%20ascent%3D%22896%22%0A%20%20%20%20descent%3D%22-128%22%0A%20%20%2F%3E%0A%20%20%20%20%3Cmissing-glyph%20%2F%3E%0A%20%20%20%20%0A%20%20%20%20%3Cglyph%20glyph-name%3D%22x%22%20unicode%3D%22x%22%20horiz-adv-x%3D%221001%22%0Ad%3D%22M281%20543q-27%20-1%20-53%20-1h-83q-18%200%20-36.5%20-6t-32.5%20-18.5t-23%20-32t-9%20-45.5v-76h912v41q0%2016%20-0.5%2030t-0.5%2018q0%2013%20-5%2029t-17%2029.5t-31.5%2022.5t-49.5%209h-133v-97h-438v97zM955%20310v-52q0%20-23%200.5%20-52t0.5%20-58t-10.5%20-47.5t-26%20-30t-33%20-16t-31.5%20-4.5q-14%20-1%20-29.5%20-0.5%0At-29.5%200.5h-32l-45%20128h-439l-44%20-128h-29h-34q-20%200%20-45%201q-25%200%20-41%209.5t-25.5%2023t-13.5%2029.5t-4%2030v167h911zM163%20247q-12%200%20-21%20-8.5t-9%20-21.5t9%20-21.5t21%20-8.5q13%200%2022%208.5t9%2021.5t-9%2021.5t-22%208.5zM316%20123q-8%20-26%20-14%20-48q-5%20-19%20-10.5%20-37t-7.5%20-25t-3%20-15t1%20-14.5%0At9.5%20-10.5t21.5%20-4h37h67h81h80h64h36q23%200%2034%2012t2%2038q-5%2013%20-9.5%2030.5t-9.5%2034.5q-5%2019%20-11%2039h-368zM336%20498v228q0%2011%202.5%2023t10%2021.5t20.5%2015.5t34%206h188q31%200%2051.5%20-14.5t20.5%20-52.5v-227h-327z%22%20%2F%3E%0A%20%20%20%20%0A%0A%20%20%20%20%0A%20%20%20%20%3Cglyph%20glyph-name%3D%22arrow-right%22%20unicode%3D%22%26%2358914%3B%22%20d%3D%22M725.3399071604938%20383.8342991012345a41.425224691358025%2041.425224691358025%200%200%200-12.924670103703681-30.074713125925918l-343.82936493827134-325.2708642765434a41.425224691358025%2041.425224691358025%200%200%200-56.91825872592596%2060.23227670123452l312.0976428246912%20295.1961511506175-312.0976428246914%20295.4447024987654a41.50807514074074%2041.50807514074074%200%200%200-1.6570089876543506%2058.575267713580246c15.74158538271605%2016.570089876543207%2042.00517783703699%2017.315743920987664%2058.575267713580246%201.6570089876543506l343.8293649382716-325.6022660740737a41.425224691358025%2041.425224691358025%200%200%200%2012.924670103703713-30.15756357530862z%22%20%20horiz-adv-x%3D%221024%22%20%2F%3E%0A%0A%20%20%20%20%0A%0A%0A%20%20%3C%2Ffont%3E%0A%3C%2Fdefs%3E%3C%2Fsvg%3E%0A) format("svg")}.v-contextmenu-icon{font-family:v-contextmenu!important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.v-contextmenu-icon-right-arrow:before{content:""}.v-contextmenu{position:absolute;background-color:#fff;border:1px solid #e8e8e8;border-radius:4px;-webkit-box-shadow:2px 2px 8px 0 rgba(150,150,150,.2);box-shadow:2px 2px 8px #96969633;font-size:14px;white-space:nowrap;line-height:1;z-index:2020;-webkit-tap-highlight-color:transparent}.v-contextmenu-inner{padding:5px 0;margin:0;list-style:none}.v-contextmenu-item{padding:5px 14px;line-height:1;color:#333;cursor:pointer}.v-contextmenu-item--hover{color:#fff;background-color:#2d3035}.v-contextmenu-item--disabled{color:#3336;cursor:not-allowed}.v-contextmenu-divider{height:0;margin:5px 0;border-bottom:1px solid #e8e8e8}.v-contextmenu-group__title{padding:5px 14px 2.5px;color:#3333338c;font-size:60%}.v-contextmenu-group__menus{padding:0 5px;margin:0;list-style:none}.v-contextmenu-group__menus .v-contextmenu-item{display:inline-block;padding:5px 9px}.v-contextmenu-submenu{position:relative}.v-contextmenu-submenu__title{padding-right:22.4px}.v-contextmenu-submenu__menus{position:absolute}.v-contextmenu-submenu__menus--left{left:0;-webkit-transform:translateX(-100%);transform:translate(-100%)}.v-contextmenu-submenu__menus--right{right:0;-webkit-transform:translateX(100%);transform:translate(100%)}.v-contextmenu-submenu__menus--top{top:-6px}.v-contextmenu-submenu__menus--bottom{bottom:-6px}.v-contextmenu-submenu__arrow{position:absolute;right:5px}.v-contextmenu-enter-active{-webkit-transition:opacity .3s ease-out;transition:opacity .3s ease-out}.v-contextmenu-leave-active{-webkit-transition:opacity .3s cubic-bezier(1,.5,.8,1);transition:opacity .3s cubic-bezier(1,.5,.8,1)}.v-contextmenu-enter-from,.v-contextmenu-leave-to{opacity:0}.logo[data-v-50cefd67]{fill:var(--fg-base);padding:10px;width:60%}.logo[data-v-50cefd67]:hover{cursor:pointer}.collapseSidebar[data-v-50cefd67]{display:flex;flex-direction:row;justify-content:center;align-items:center;height:40px}.collapseSidebar.minimised[data-v-50cefd67]{justify-content:center}.collapseSidebar .clickSymbol[data-v-50cefd67]{border-radius:5px}.collapseSidebar .clickSymbol[data-v-50cefd67]:hover{cursor:pointer;background:var(--hover-2)}.static[data-v-50cefd67]{flex-shrink:0;flex-grow:0}@media screen and (max-width: 750px){.static[data-v-50cefd67]{display:flex;flex-direction:row;justify-content:space-between;width:100%}}h2[data-v-50cefd67]{margin-bottom:0}.cover[data-v-50cefd67]{position:absolute;bottom:10px;width:100%;transform:translate(-10px,10px)}.playlistList[data-v-50cefd67]{flex-grow:1;display:flex;flex-direction:column;overflow-y:auto}.playlistList.expanded[data-v-50cefd67]{padding:0 10px}.playlistList>a[data-v-50cefd67]{font-size:.92em;text-decoration:none;color:var(--font-darker);margin-bottom:4px;margin-top:4px}.playlistList>a[data-v-50cefd67]:hover{color:var(--font-colour)}hr[data-v-50cefd67]{width:100%}div.sidebar[data-v-50cefd67]{background:var(--bg-base-dk);width:calc(var(--w-sidebar) + 20px);min-width:calc(var(--w-sidebar) + 20px);max-width:calc(var(--w-sidebar) + 20px);display:flex;flex-direction:column;padding:10px;margin:10px;border-radius:8px;max-height:100%;z-index:1;position:relative;overflow:hidden;border:var(--border-container)}@media screen and (max-width: 750px){div.sidebar[data-v-50cefd67]{flex-direction:row;width:100vw;position:absolute;bottom:0;margin:0;max-width:100vw;border-radius:0}}h2[data-v-50cefd67]:hover{cursor:pointer}h2[data-v-50cefd67]{margin:0;padding:10px}div.body[data-v-772535b8]{flex-grow:1;overflow-y:auto;overflow-x:hidden;max-width:calc(100vw - var(--sidebar-width));max-height:calc(100vh - var(--player-height) - var(--header-height))}div.body.maximised[data-v-772535b8]{max-width:100vw;max-height:100vh}@media screen and (max-width: 950px){div.body[data-v-772535b8]{max-width:100vw;max-height:calc(100vh - var(--player-height-mobile) - var(--sidebar-height) - var(--header-height))}}.progressBar__track[data-v-80b99d67]{position:relative;width:100%;height:5px;margin:10px 0;border-radius:1000vmax;background-color:var(--fg-base-dkr)}.progressBar__progress[data-v-80b99d67]{position:relative;height:5px;border-radius:1000vmax;background-color:var(--fg-base)}.progressBar__progress.hover[data-v-80b99d67]{background-color:var(--fg-secondary)}.progressBar__progress.hover[data-v-80b99d67]:after{content:""}.progressBar__progress[data-v-80b99d67]:after{position:absolute;top:-5px;right:-5px;width:15px;height:15px;border-radius:50%;background-color:var(--fg-base)}.dropdown[data-v-f0ed46f1]{position:relative;display:inline-block}.dropdown__selected[data-v-f0ed46f1]{color:var(--fg-base-dk);cursor:pointer;font-size:1.5rem;border-radius:10px;padding:5px}.dropdown__selected[data-v-f0ed46f1]:hover{background:var(--bg-hover-lt);color:var(--fg-secondary)}.dropdown__options[data-v-f0ed46f1]{position:absolute;z-index:999;width:max(100%,20rem);max-height:20rem;overflow-y:auto;background:var(--bg-base);border-radius:5px;filter:var(--drop-shadow)}.dropdown__options .dropdown__option[data-v-f0ed46f1]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-f0ed46f1]:hover{background:var(--bg-hover)}.loader[data-v-a886b69f]{width:20px;height:20px;margin:auto;border:3px solid var(--fg-base-dk);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation-a886b69f 1s linear infinite}@keyframes rotation-a886b69f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#waveform wave,#waveform canvas{width:100%;height:calc(var(--h-player) / 2 - 1em)!important}.player .on-this-device>.material-symbols-rounded{color:var(--fg-secondary)}.player[data-v-0d0bd51a]{background:var(--bg-base-lt);border-top:1px solid var(--border-base);z-index:2}.icon[data-v-0d0bd51a]{color:var(--fg-base-dk)}.icon[data-v-0d0bd51a]:hover{color:var(--fg-base)}.desktop[data-v-0d0bd51a]{display:grid;height:calc(var(--h-player) - 1px);grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);grid-template-areas:"song-info controls aux";gap:10px}.desktop .song-info[data-v-0d0bd51a]{grid-area:song-info;display:grid;align-items:center;grid-template-columns:calc(var(--h-player) - 40px) fit-content(100%) 20px 20px;gap:10px;overflow:hidden}.desktop .song-info .title-artist[data-v-0d0bd51a]{overflow:hidden}.desktop .song-info div[data-v-0d0bd51a]{margin:auto 0}.desktop .controls[data-v-0d0bd51a]{grid-area:controls;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto}.desktop .controls .top[data-v-0d0bd51a]{display:grid;grid-template-columns:repeat(2,20px) 40px repeat(2,20px);gap:1.5em;justify-content:center}.desktop .controls .top span[data-v-0d0bd51a]{margin:auto 0;font-size:1.5rem}.desktop .controls .top span[data-v-0d0bd51a]:nth-child(3){font-size:2.5rem}.desktop .controls .bottom .display[data-v-0d0bd51a]{display:grid;grid-template-columns:1fr 10fr 1fr;gap:.5em;margin-bottom:.5em;align-items:center}.desktop .aux[data-v-0d0bd51a]{grid-area:aux;justify-content:end;display:grid;grid-template-columns:20px 20px 20px minmax(auto,8vw);gap:1em;align-items:center}.desktop .aux a.icon[data-v-0d0bd51a]{display:flex;text-decoration:none}.desktop .aux a.icon.router-link-active[data-v-0d0bd51a]{color:var(--fg-secondary)}.mobile .small[data-v-0d0bd51a]{display:grid;grid-template-columns:calc(var(--h-player-mobile) - 1em) 1fr 30px 30px;gap:1em;margin:.5em;align-items:center;max-width:calc(100vw - 2em)}.mobile .small .cover[data-v-0d0bd51a]{border-radius:10px;background:var(--bg-base-dk);margin:auto 0}.mobile .full[data-v-0d0bd51a]{position:absolute;top:0;left:0;width:100vw;height:calc(100vh - var(--h-sidebar));max-height:calc(100vh - var(--h-sidebar));overflow:hidden;background:var(--bg-base);padding:2em;display:grid;grid-template-columns:1fr;grid-template-rows:30px 1fr fit-content(100%)}.mobile .full .cover[data-v-0d0bd51a]{filter:drop-shadow(0 25px 25px rgba(0,0,0,.3))}.mobile .full .controls[data-v-0d0bd51a]{display:flex;flex-direction:column-reverse}.mobile .full .controls .top[data-v-0d0bd51a]{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5em;justify-content:center}.mobile .full .controls .top span[data-v-0d0bd51a]{margin:auto 0;font-size:2rem}.mobile .full .controls .top span[data-v-0d0bd51a]:nth-child(3){font-size:3rem}.dropzone *[data-v-c5853362]{pointer-events:none}.dropzone.drophover[data-v-c5853362]:after{content:" ";display:block;text-align:center;color:var(--text-muted);font-style:italic;font-size:.8rem;background:rgba(0,0,0,.5);border-radius:1rem;position:absolute;top:0;right:0;bottom:0;left:0;margin-top:1em;margin-bottom:1em;margin-right:1em;z-index:1000}.noLink{text-decoration:none;color:unset}.noLink:hover{text-decoration:none;cursor:default;color:unset}.linkOnHover{text-decoration:none;color:unset}.linkOnHover:hover{text-decoration:underline;cursor:pointer;color:var(--fg-base)}.v-contextmenu{background:var(--fg-contrast)!important;font-family:var(--ff-base)!important;border:1px solid var(--bg-hover-dk);box-shadow:none;--webkit-box-shadow: none;color:var(--fg-base)!important}.v-contextmenu-divider{border-color:var(--border-base)}.v-contextmenu-item{color:var(--fg-base)!important;margin:5px;padding:10px 22px 10px 15px;border-radius:5px}.v-contextmenu-item--hover{background:var(--bg-hover-dk)!important}::-webkit-scrollbar{width:var(--w-scrollbar);height:var(--w-scrollbar);padding:0;margin:0;z-index:101}::-webkit-scrollbar-track{border-radius:var(--w-scrollbar)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:var(--w-scrollbar)}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover-dk)}:root{--fg-secondary: #1ed760;--fg-secondary-dk: #217e41;--bg-contrast: white;--fg-contrast: #121212;--fg-base: white;--fg-base-dk: #a7a7a7;--fg-base-dkr: #999;--bg-hover-ltr: #242424;--bg-hover-lt: hsla(0,0%,100%,.04);--bg-hover: hsla(0,0%,100%,.3);--bg-hover-dk: hsla(0,0%,100%,.1);--border-base: hsla(0,0%,100%,.1);--border-container: var(--border-base);--bg-gradient: linear-gradient(to left bottom, #1ed760, #217e41);--bg-base: #121212;--bg-base-lt: #181818;--bg-base-dk: black;--bg-fixedPlaylistHeader: var(--bg-base-lt);--border-fixedPlaylistHeader: #303030;--bg-input: var(--background-light);--ff-base: Poppins, sans-serif;--h-playlistEntry: 64px;--h-player: 88px;--h-player-mobile: 64px;--h-header: 64px;--w-sidebar: 44px;--h-sidebar: 64px;--w-scrollbar: 8px;--drop-shadow: drop-shadow(0 0 .5rem rgba(0, 0, 0, .2));--background: #1e1e1e;--neutral: #374148;--success: #00c48b;--fail: #e85454;--warning: #c7aa19;--info: #189de4}.showIfMobile{display:none!important}.hideIfMobile{display:inherit}@media only screen and (max-width: 750px){.showIfMobile{display:inherit!important}.hideIfMobile{display:none!important}}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}h1{margin-top:.5rem;margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900}h2{margin-top:1.25rem;margin-bottom:1.25rem;font-size:1.5rem;line-height:2rem;font-weight:700}h3{font-size:1.125rem;line-height:1.75rem;font-weight:700}h4{margin-top:1rem;margin-bottom:1rem;font-weight:700}h5{color:var(--fg-base-dk);text-transform:uppercase}h6{color:var(--fg-base-dk);margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem}a{text-decoration-line:underline}a:hover{color:var(--fg-secondary)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.text-base{color:var(--fg-base)}.text-muted{color:var(--fg-base-dk)}.text-very-muted{color:var(--fg-base-dkr)}.text-secondary{color:var(--fg-secondary)}.bg-secondary{background-color:var(--fg-secondary)}p{margin-top:.5rem;margin-bottom:.5rem}.h1{margin-top:.5rem;margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900}.h2{margin-top:1.25rem;margin-bottom:1.25rem;font-size:1.5rem;line-height:2rem;font-weight:700}.h3{font-size:1.125rem;line-height:1.75rem;font-weight:700}.h5{color:var(--fg-base-dk);text-transform:uppercase}.h6{color:var(--fg-base-dk);margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.left-0{left:0}.z-\[1000\]{z-index:1000}.-z-10{z-index:-10}.z-10{z-index:10}.col-span-2{grid-column:span 2 / span 2}.m-0{margin:0}.mx-4{margin-left:1rem;margin-right:1rem}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.my-auto{margin-top:auto;margin-bottom:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mb-2{margin-bottom:.5rem}.ml-4{margin-left:1rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mb-4{margin-bottom:1rem}.mt-10{margin-top:2.5rem}.mb-0{margin-bottom:0}.ml-2{margin-left:.5rem}.ml-8{margin-left:2rem}.mr-4{margin-right:1rem}.ml-0{margin-left:0}.\!mt-0{margin-top:0!important}.mt-\[10px\]{margin-top:10px}.ml-auto{margin-left:auto}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.\!grid{display:grid!important}.hidden{display:none}.h-8{height:2rem}.h-12{height:3rem}.h-full{height:100%}.h-max{height:-moz-max-content;height:max-content}.w-full{width:100%}.w-8{width:2rem}.w-1\/2{width:50%}.w-1{width:.25rem}.w-max{width:-moz-max-content;width:max-content}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-sm{max-width:24rem}.max-w-\[60ch\]{max-width:60ch}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\!grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.rounded-3xl{border-radius:1.5rem}.rounded-md{border-radius:.375rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.p-4{padding:1rem}.p-2{padding:.5rem}.p-\[10px\]{padding:10px}.p-3{padding:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-4{padding-top:1rem}.pb-2{padding-bottom:.5rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pb-4{padding-bottom:1rem}.pr-4{padding-right:1rem}.\!text-left{text-align:left!important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-5xl{font-size:3rem;line-height:1}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-9xl{font-size:8rem;line-height:1}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-light{font-weight:300}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-xl{--tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / .03)) drop-shadow(0 8px 5px rgb(0 0 0 / .08));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-2xl{--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}*{--tw-invert: 0}.fill-page{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.ms-wght-100{font-variation-settings:"wght" 100}.ms-wght-200{font-variation-settings:"wght" 200}.ms-wght-300{font-variation-settings:"wght" 300}.ms-wght-400{font-variation-settings:"wght" 400}.ms-wght-500{font-variation-settings:"wght" 500}.ms-wght-600{font-variation-settings:"wght" 600}.ms-wght-700{font-variation-settings:"wght" 700}.ms-wght-800{font-variation-settings:"wght" 800}.ms-wght-900{font-variation-settings:"wght" 900}.ms-fill{font-variation-settings:"FILL" 1}#app{font-family:var(--ff-base)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-base);color:var(--fg-base)!important}hr{border-color:var(--border-base)}div.interface{display:flex;flex-direction:row;flex-grow:1;z-index:2;max-height:calc(100vh - var(--h-player) - var(--h-header))}@media only screen and (max-width: 750px){div.interface{max-height:calc(100vh - var(--h-player-mobile) - var(--h-header) - var(--h-sidebar))}}div.appRoot{display:flex;flex-direction:column;width:100vw;height:100vh}html,body{margin:0;padding:0}.bgImageWrapper{position:fixed;top:0;left:0;height:100%;width:100%;z-index:0!important;background:black}.bgImage{height:100%;width:100%;z-index:0!important;filter:blur(100px) brightness(.75);background-position:center;background-repeat:no-repeat;background-size:cover;transform:scale(1.1)}.mobileMenu{display:flex;flex-direction:row;justify-content:center}input[type=text],input[type=password]{background:var(--hover-2);border:1px solid var(--hover-3);border-radius:5px;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--font-family)}input[type=text]:focus,input[type=password]:focus{outline:none}input[type=text]:hover,input[type=password]:hover{background:var(--hover-1);border:1px solid var(--font-colour)}@media (min-width: 640px){.sm\:ml-0{margin-left:0}}@media (min-width: 768px){.md\:\!w-96{width:24rem!important}} diff --git a/src/ui/dist/assets/index-46330f3a.css.gz b/src/ui/dist/assets/index-46330f3a.css.gz deleted file mode 100644 index 806dc2229..000000000 Binary files a/src/ui/dist/assets/index-46330f3a.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-501f346a.js.gz b/src/ui/dist/assets/index-501f346a.js.gz deleted file mode 100644 index a0b3af6dc..000000000 Binary files a/src/ui/dist/assets/index-501f346a.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-7c7fccc5.js.gz b/src/ui/dist/assets/index-7c7fccc5.js.gz deleted file mode 100644 index c64005be2..000000000 Binary files a/src/ui/dist/assets/index-7c7fccc5.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-80a51d1b.js.gz b/src/ui/dist/assets/index-80a51d1b.js.gz deleted file mode 100644 index 1f74183a4..000000000 Binary files a/src/ui/dist/assets/index-80a51d1b.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-95759d60.css b/src/ui/dist/assets/index-95759d60.css new file mode 100644 index 000000000..cd26afc8a --- /dev/null +++ b/src/ui/dist/assets/index-95759d60.css @@ -0,0 +1,7 @@ +@import"https://fonts.googleapis.com/icon?family=Material+Icons+Outlined";@import"https://fonts.googleapis.com/icon?family=Material+Icons+Round";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap";.hidden[data-v-625a8655]{display:none}@keyframes marquee-625a8655{0%{transform:translate(0)}20%{transform:translate(0)}to{transform:translate(calc(-100% - 30px))}}div[data-v-625a8655]{white-space:nowrap;overflow:hidden;box-sizing:border-box}.marqueeWrapper[data-v-625a8655],.marqueeWrapper *[data-v-625a8655]{text-decoration:inherit}.marqueeWrapper[data-v-625a8655]{position:relative;margin:0}.replacer[data-v-625a8655]{position:absolute;top:0;left:calc(100% + 30px)}span[data-v-625a8655]{width:auto;margin:0;white-space:nowrap;display:inherit;overflow:hidden}span.marquee[data-v-625a8655]{position:relative;animation:marquee-625a8655 15s linear infinite;overflow:unset;text-overflow:unset;display:table-cell}.overlay[data-v-625a8655]{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:30px;pointer-events:none}.playerInPicture{position:absolute;top:calc(100% - 348px);left:calc(70% - 8px);z-index:2000;width:30%;border-radius:8px;display:flex;flex-direction:column;background:var(--bg-base-lt);overflow:hidden;box-shadow:0 0 100px 3px #000c}@media screen and (max-width: 950px){.playerInPicture{width:calc(100% - 16px);left:8px!important;bottom:8px!important}}.playerInPicture .header{padding:0 8px 8px;display:flex;flex-direction:row;justify-content:space-between;transform:translateY(8px)}.playerInPicture .header .title{font-size:.8em;color:var(--fg-base-dk);display:flex;flex-direction:column;justify-content:center;max-width:calc(100% - 56px);width:100%}.playerInPicture .header .buttons{width:48px;height:24px}.playerInPicture .header .buttons span:hover{cursor:pointer}.playerInPicture .header.minimised{margin-bottom:8px}.playerInPicture .frame{flex-grow:1;min-height:300px}.playerInPicture .frame.minimised{display:none}.playerInPicture iframe{min-height:300px;width:100%;height:100%;transform:translateY(8px)}.link[data-v-148b3d73]{text-decoration:none}div.navEntry[data-v-148b3d73]{display:flex;flex-direction:row;padding:10px;border-radius:5px;color:var(--fg-base-dk)}div.navEntry.img[data-v-148b3d73]{padding:5px}div.navEntry[data-v-148b3d73]:hover,.router-link-active div.navEntry[data-v-148b3d73],div.navEntry.active[data-v-148b3d73]{background-color:var(--bg-hover-dk);cursor:pointer;color:var(--fg-base)}.router-link-active div.navEntry[data-v-148b3d73],div.navEntry.active[data-v-148b3d73]{background-color:var(--bg-hover)}.name[data-v-148b3d73]{font-weight:700}.icon[data-v-148b3d73]{width:34px}.icon[data-v-148b3d73] :has:not(.material-symbols-rounded){height:34px}.icon[data-v-148b3d73]{width:100%;border-radius:3px}.text-input-with-icon[data-v-18a674c5]{background:var(--bg-base-lt);border:1px solid var(--border-base);color:var(--fg-base-dk);width:100%}.text-input-with-icon input[data-v-18a674c5]{color:var(--fg-base-dk)}.text-input-with-icon[data-v-18a674c5]:focus-within,.text-input-with-icon[data-v-18a674c5]:hover{border-color:var(--fg-base);color:var(--fg-base)}.text-input-with-icon:focus-within input[data-v-18a674c5],.text-input-with-icon:hover input[data-v-18a674c5]{color:var(--fg-base)}.text-input-with-icon.expanded[data-v-18a674c5]{border-radius:1em 1em 0 0}input[type=text][data-v-18a674c5],input[type=number][data-v-18a674c5]{background:none!important;border:none!important}input[type=text][data-v-18a674c5],input[type=number][data-v-18a674c5],input[type=password][data-v-18a674c5]{background:var(--hover-2);border:1px solid var(--hover-3);border-radius:5px;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--font-family)}input[type=text][data-v-18a674c5]:focus,input[type=number][data-v-18a674c5]:focus,input[type=password][data-v-18a674c5]:focus{outline:none}input[type=text][data-v-18a674c5]:hover,input[type=number][data-v-18a674c5]:hover,input[type=password][data-v-18a674c5]:hover{background:var(--hover-1);border:1px solid var(--font-colour)}.suggestions[data-v-9a74c378]{background:var(--bg-base-lt);border:var(--border-container);z-index:1001;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);overflow:hidden}.loader[data-v-a8d83b29]{width:100%;height:100%;display:flex;justify-content:center;flex-direction:column;align-content:center}.spinner[data-v-a8d83b29]{margin:auto;width:100%;text-align:center}.spinner>div[data-v-a8d83b29]{width:18px;height:18px;background-color:var(--fg-base-dk);margin:5px;border-radius:100%;display:inline-block;animation:sk-bouncedelay-a8d83b29 1.4s infinite ease-in-out both}.spinner .bounce1[data-v-a8d83b29]{animation-delay:-.32s}.spinner .bounce2[data-v-a8d83b29]{animation-delay:-.16s}@keyframes sk-bouncedelay-a8d83b29{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}/*! + * Copyright (c) 2023, reAudioPlayer ONE. + * Licenced under the GNU General Public License v3.0 + */.bg-bg[data-v-b68d33f1]{background-color:var(--background)}.bg-fg[data-v-b68d33f1]{background-color:var(--font-colour)}.text-bg[data-v-b68d33f1]{color:var(--background)}.text-fg[data-v-b68d33f1]{color:var(--font-colour)}button span.material-symbols-rounded[data-v-b68d33f1]{font-variation-settings:"wght" 400}button.disabled[data-v-b68d33f1]{cursor:not-allowed}button.positive[data-v-b68d33f1]{background-color:var(--bg-base);color:var(--fg-base)}button.positive.disabled[data-v-b68d33f1]{background-color:var(--fg-base-dk);color:var(--bg-hover-ltr)}button.negative[data-v-b68d33f1]{background-color:var(--bg-contrast);color:var(--fg-contrast)}button.negative.disabled[data-v-b68d33f1]{background-color:var(--fg-base-dk);color:var(--bg-hover-ltr)}button.danger[data-v-b68d33f1]{color:#f5f5f5;background-color:#c73c3c}button.danger.disabled[data-v-b68d33f1]{background-color:#a22e2e;color:#a9a9a9}button.success[data-v-b68d33f1]{color:#f5f5f5;background-color:var(--fg-secondary)}button.success[data-v-b68d33f1]:hover{background-color:var(--fg-secondary-dk)}button.success.disabled[data-v-b68d33f1]{background-color:#a9a9a9;color:var(--fg-base)}.modal[data-v-faea87bd]{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1000;background-color:#000000b3;animation:fadeIn-faea87bd .2s ease-in-out forwards;display:flex;justify-content:center;align-items:center}@keyframes fadeIn-faea87bd{0%{opacity:0}to{opacity:1}}.modal-content[data-v-faea87bd]{cursor:default;display:flex;flex-direction:column;width:40%;max-height:80vh;background:var(--fg-contrast);border-radius:1rem;color:var(--fg-base)}.confirm[data-v-faea87bd]{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.header[data-v-faea87bd]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:20px}.title[data-v-faea87bd]{color:#fff}.dropdown[data-v-186027d9]{position:relative;display:inline-block;width:100%;height:100%}.dropdown__selected[data-v-186027d9]{background:var(--bg-base-lt);border:var(--border-container);border-radius:1000vmax;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--ff-base);cursor:pointer;display:flex;flex-direction:row;justify-content:space-between}.dropdown__selected.expanded[data-v-186027d9]{border-radius:1em 1em 0 0}.dropdown__selected[data-v-186027d9]:focus-within,.dropdown__selected[data-v-186027d9]:hover{border-color:var(--fg-base);color:var(--fg-base)}.dropdown__options[data-v-186027d9]{position:absolute;left:0;z-index:1001;width:max(100%,20rem);max-height:20rem;overflow-y:auto;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);border:var(--border-container)}.dropdown__options .dropdown__option[data-v-186027d9]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-186027d9]:hover{background:var(--bg-hover)}.content[data-v-f7f90291]{display:flex;flex-direction:row}.content .icon-button[data-v-f7f90291]{margin-right:10px;background:var(--bg-contrast);color:var(--fg-contrast);border-radius:1000vmax;padding:11px;cursor:pointer;font-variation-settings:"wght" 300}.content .imagePreview[data-v-f7f90291]{min-width:42px;max-width:42px;margin-left:10px}.content .imagePreview .cover[data-v-f7f90291]{border-radius:5px}.content .imagePreview .cover[data-v-f7f90291]:hover{cursor:pointer;filter:grayscale(.4) blur(2px)}.playlisteditor[data-v-eab2eaeb]{display:flex;flex-direction:row;margin-bottom:20px;align-items:center}.playlisteditor img[data-v-eab2eaeb]{width:20%;margin-right:20px;border-radius:5px}@media screen and (max-width: 950px){.playlisteditor[data-v-eab2eaeb]{flex-direction:column}.playlisteditor img[data-v-eab2eaeb]{align-self:center;width:40%;margin-right:0}}.playlisteditor>.details[data-v-eab2eaeb]{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-self:end}.playlisteditor>.details>h1[data-v-eab2eaeb]{font-size:2em;margin-top:10px;margin-bottom:10px}@media screen and (max-width: 950px){.playlisteditor>.details>h1[data-v-eab2eaeb]{font-size:1.4em}}.playlisteditor>.details>.detailswrapper[data-v-eab2eaeb]{font-size:.8em;display:flex;flex-direction:row;justify-content:flex-start}@media screen and (max-width: 950px){.playlisteditor>.details>.detailswrapper[data-v-eab2eaeb]{justify-content:center}}.playlisteditor>.details>.detailswrapper>.material-icons-round[data-v-eab2eaeb]{line-height:15px;font-size:15px;cursor:pointer}.playlisteditor>.details>.detailswrapper>.material-icons-round[data-v-eab2eaeb]:not(:first-child){margin-left:10px}.playlisteditor>.details>h5[data-v-eab2eaeb]{font-size:.8em;margin:0}.playlist-header[data-v-f8e4524a]{display:grid;grid-template-columns:50px 40px 1fr 1fr 40px 60px;gap:10px}.playlist-header .index[data-v-f8e4524a]{margin:auto 0}.playlist-header .artist-title[data-v-f8e4524a]{grid-column:2/span 2}.playlist-header .duration[data-v-f8e4524a]{text-align:center;grid-column-start:6}.playlist-header:not(.withMore) .duration[data-v-f8e4524a]{grid-column-start:7}.playlist-header div[data-v-f8e4524a]{margin:auto 0;color:var(--fg-base-dk);font-size:.9rem;text-transform:uppercase}.hidden[data-v-ad7138e8]{display:none}@keyframes marquee-ad7138e8{0%{transform:translate(0)}20%{transform:translate(0)}to{transform:translate(calc(-100% - 30px))}}div[data-v-ad7138e8]{white-space:nowrap;overflow:hidden;box-sizing:border-box}.marqueeWrapper[data-v-ad7138e8],.marqueeWrapper *[data-v-ad7138e8]{text-decoration:inherit}.marqueeWrapper[data-v-ad7138e8]{position:relative;margin:0}.replacer[data-v-ad7138e8]{position:absolute;top:0;left:calc(100% + 30px)}span[data-v-ad7138e8]{width:auto;margin:0;white-space:nowrap;display:inherit;overflow:hidden}span.marquee[data-v-ad7138e8]{position:relative;animation:marquee-ad7138e8 15s linear infinite;overflow:unset;text-overflow:unset;display:table-cell}.overlay[data-v-ad7138e8]{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:30px;pointer-events:none}.artist[data-v-156468cf]:not(:last-child):after{content:", "}.artist>a[data-v-156468cf]{color:inherit;text-decoration:none}.artist>a[data-v-156468cf]:active,.artist>a[data-v-156468cf]:hover{color:inherit;text-decoration:underline}/*! +* Copyright (c) 2023, reAudioPlayer ONE. +* Licenced under the GNU General Public License v3.0 +*/.playlist-entry[data-v-2482bde4]{display:grid;grid-template-columns:50px 40px 1fr 1fr 40px;gap:10px;padding:10px 0;border-radius:20px;border:1px solid transparent}.playlist-entry .artist-title[data-v-2482bde4]{grid-column:3/4}.playlist-entry:not(.withCover) .artist-title[data-v-2482bde4]{grid-column-start:2}.playlist-entry:not(.withAlbum) .artist-title[data-v-2482bde4]{grid-column-end:5}.playlist-entry div[data-v-2482bde4]{overflow:hidden}.playlist-entry .index[data-v-2482bde4],.playlist-entry .album[data-v-2482bde4],.playlist-entry .duration[data-v-2482bde4],.playlist-entry .icon[data-v-2482bde4]{margin:auto 0;font-size:.9rem;color:var(--fg-base-dk)}.playlist-entry .index.index[data-v-2482bde4],.playlist-entry .album.index[data-v-2482bde4],.playlist-entry .duration.index[data-v-2482bde4],.playlist-entry .icon.index[data-v-2482bde4]{cursor:pointer}.playlist-entry .index.icon[data-v-2482bde4],.playlist-entry .album.icon[data-v-2482bde4],.playlist-entry .duration.icon[data-v-2482bde4],.playlist-entry .icon.icon[data-v-2482bde4]{font-size:1.3rem;cursor:pointer;font-variation-settings:"wght" 500}.playlist-entry .index.icon.favourite[data-v-2482bde4],.playlist-entry .album.icon.favourite[data-v-2482bde4],.playlist-entry .duration.icon.favourite[data-v-2482bde4],.playlist-entry .icon.icon.favourite[data-v-2482bde4]{font-variation-settings:"FILL" 1}.playlist-entry.hovering[data-v-2482bde4]{background-color:var(--bg-hover-dk);border:var(--border-container)}.playlist-entry.hovering .index[data-v-2482bde4]{font-size:1.5rem;font-variation-settings:"FILL" 1}.playlist-entry.selected[data-v-2482bde4]{background-color:var(--bg-hover)}.playlist-entry .favourite-icon[data-v-2482bde4]{grid-column:5}.playlist-entry .duration[data-v-2482bde4]{grid-column:6}.playlist-entry .cover[data-v-2482bde4]{display:flex;justify-content:center}.playlist-entry img[data-v-2482bde4]{border-radius:4px;margin:auto 0}.playlist-entry .artist-title[data-v-2482bde4]{display:grid;grid-template-rows:1fr 1fr}.playlist-entry .artist-title .artist[data-v-2482bde4]{font-size:.8rem;color:var(--fg-base-dk)}.playlist-entry .artist-title span[data-v-2482bde4]{max-width:-moz-min-content;max-width:min-content;overflow:hidden}.playlist-entry.playing .title[data-v-2482bde4],.playlist-entry.playing .index[data-v-2482bde4]{color:var(--fg-secondary)}.playlist-entry.hovering .artist[data-v-2482bde4],.playlist-entry.hovering .album[data-v-2482bde4],.playlist-entry.selected .artist[data-v-2482bde4],.playlist-entry.selected .album[data-v-2482bde4]{color:var(--fg-base)}@media screen and (max-width: 768px){.playlist-entry[data-v-2482bde4]{padding:5px 0;border-radius:10px;grid-template-columns:30px 40px 1fr 1fr 30px 40px}.playlist-entry .index[data-v-2482bde4],.playlist-entry .duration[data-v-2482bde4]{font-size:.7rem}.playlist-entry .artist-title[data-v-2482bde4]{grid-column-end:5;font-size:.8rem}.playlist-entry .artist-title .artist[data-v-2482bde4]{font-size:.65rem}}.playlist[data-v-43692079]{position:relative}.playlist .entries[data-v-43692079]{position:relative;overflow-y:auto;display:flex;flex-direction:column;height:100%;max-height:30vh}.item[data-v-291ac2ab]{display:flex;align-items:flex-end;gap:1rem;padding:10px;border-radius:20px}.item img[data-v-291ac2ab]{width:50px;height:50px;border-radius:.5em;-o-object-fit:cover;object-fit:cover}.item .tag[data-v-291ac2ab]{padding:.2rem .5rem;border-radius:.5rem;background:var(--bg-base-lt);border:var(--border-container)}.item .info[data-v-291ac2ab]{display:flex;align-items:center;width:100%;gap:.5em}.item .name[data-v-291ac2ab]{font-weight:900;font-size:1rem}.item.large[data-v-291ac2ab]{min-width:40ch;background:var(--bg-base-lt);border:var(--border-container);border-radius:1em;padding:1em}.item.large .info[data-v-291ac2ab]{flex-direction:column;align-items:flex-start}.item.large .name[data-v-291ac2ab]{font-size:1.2rem}.item.large img[data-v-291ac2ab]{width:150px;height:150px}.item[data-v-291ac2ab]:not(:nohover):hover{background:var(--bg-hover-dk);cursor:pointer}.download-anim[data-v-993ea037]{color:var(--fg-base-dk);animation:anim-993ea037 .5s ease-out forwards}@keyframes anim-993ea037{0%{opacity:1;transform:translateY(500px)}to{opacity:0;transform:translateY(0)}}.suggestion[data-v-993ea037]{display:grid;gap:1em;width:100%}.suggestion .cover[data-v-993ea037]{border-radius:.5em}.suggestion[data-v-993ea037]:hover,.suggestion.selected[data-v-993ea037]{background:var(--bg-hover-dk);cursor:pointer}.suggestion span[data-v-993ea037]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.suggestion span[data-v-993ea037]:last-child{color:var(--fg-base-dk);font-size:.8rem}.header[data-v-993ea037]{background:var(--bg-base-dk);height:var(--h-header);display:flex;flex-direction:row;justify-content:space-between;align-items:center;box-shadow:0 0 10px 0 var(--shadow);z-index:10;border-bottom:var(--border-container)}.logo[data-v-993ea037]{fill:var(--fg-base);padding:10px;translate:5px 5px;height:100%}.logo[data-v-993ea037]:hover{cursor:pointer}.header .search{width:100%;display:flex;flex-direction:row;justify-content:center;margin:0 1em}.header .search .input-with-autocomplete{max-width:800px;width:100%;flex:1}.header .search .text-input-with-icon{width:100%}.startup[data-v-24a52185]{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.startup .wrap[data-v-24a52185]{width:80%}.startup .logo[data-v-24a52185]{display:flex;flex-direction:row;justify-content:center;width:100%;align-items:center}.startup .logo svg[data-v-24a52185]{fill:var(--fg-base);padding:10px;translate:5px 5px;height:100%;max-width:400px}.startup .logo p[data-v-24a52185]{font-size:1em;color:var(--fg-base);z-index:1;margin-left:50px}.card[data-v-04b9eb92]{background:var(--bg-base-lt);border-radius:1em;border:var(--border-container);position:relative}.card[data-v-04b9eb92]:before{content:"";border-radius:1em;box-shadow:0 0 10px #0000001a;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.card.withHover[data-v-04b9eb92]:hover{background:var(--bg-hover-dk)}.card.disabled[data-v-04b9eb92]{opacity:.5;cursor:not-allowed!important}.notification[data-v-49e9d059]{padding:.5em 1em;display:flex;flex-direction:row;gap:2em;align-items:center;justify-content:space-between;color:#fff;filter:var(--drop-shadow)}.notification.success[data-v-49e9d059]{background-color:var(--success)}.notification.error[data-v-49e9d059]{background-color:var(--fail)}.notification.info[data-v-49e9d059]{background-color:var(--info)}.notification.warning[data-v-49e9d059]{background-color:var(--warning)}.notification h4[data-v-49e9d059],.notification p[data-v-49e9d059]{margin:0}.notification .details[data-v-49e9d059]{font-size:.8em}.close[data-v-49e9d059]{cursor:pointer}.notification[data-v-4dd7578e]{gap:2em;align-items:center;color:var(--fg-base);overflow:hidden;filter:var(--drop-shadow);background:var(--fg-contrast)}.notification .message[data-v-4dd7578e]{padding:.5em 1em}.notification .message h4[data-v-4dd7578e]{margin:0}.notification .message .details[data-v-4dd7578e]{font-size:.8em}.yes-no[data-v-4dd7578e]{display:flex;flex-direction:row}.yes-no .option[data-v-4dd7578e]{flex:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.yes-no .option.yes[data-v-4dd7578e]{background-color:var(--success)}.yes-no .option.no[data-v-4dd7578e]{background-color:var(--fail)}.notifications[data-v-ca1aa49b]{position:absolute;inset:auto auto 0 0;z-index:10;margin:2em 2em calc(var(--h-player) + 10px) calc(var(--w-sidebar) + 40px);display:flex;flex-direction:column;gap:1em;align-items:flex-start}.notifications .notification[data-v-ca1aa49b]{min-width:200px;max-width:400px}@font-face{font-family:v-contextmenu;src:url(data:application/vnd.ms-fontobject;base64,AAgAAFgHAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAr5f4wwAAAAAAAAAAAAAAAAAAAAAAABAAaQBjAG8AbgBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAQAGkAYwBvAG4AZgBvAG4AdAAAAAAAAAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4l69fDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=);src:url(data:application/vnd.ms-fontobject;base64,AAgAAFgHAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAr5f4wwAAAAAAAAAAAAAAAAAAAAAAABAAaQBjAG8AbgBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAQAGkAYwBvAG4AZgBvAG4AdAAAAAAAAAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4l69fDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=#iefix) format("embedded-opentype"),url(data:font/woff;base64,d09GRgABAAAAAAUAAAsAAAAAB1gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kgMY21hcAAAAYAAAABeAAABhpnABr5nbHlmAAAB4AAAAS4AAAE8h1VEkmhlYWQAAAMQAAAALwAAADYPY7HCaGhlYQAAA0AAAAAcAAAAJAfeA4RobXR4AAADXAAAAAwAAAAMC+kAAGxvY2EAAANoAAAACAAAAAgAdgCebWF4cAAAA3AAAAAfAAAAIAESAF1uYW1lAAADkAAAAUUAAAJtPlT+fXBvc3QAAATYAAAAKAAAADlBG9LpeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/sE4gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVDxTYm7438AQw9zA0AAUZgTJAQAl4gyOeJzFkMENgDAMAy9t6QMxRV88GIgXc3TirlFMKA8mqCXHimMpUYAFiOIhJrAL48Ep19yPrO4nz2SpEait9K7+U0U0y65BJTMNNm/1H5vXfXT6CnVQJ7byknADpO8MFwAAeJwVjL1Kw1AARu93Y/7a3MTe/KdN2yS2V6kGjLEKYru4KA6Cgzj6ALp2cegiODj4DCKIr1D6AL6A7qIP4BNE48fhwFk+IhPy+yktpYDYZJ1skyNyRgiUEVKTxkhEmdMR3ER2fceURCYSNUtz6RB+qjheMS6HvqIqFkx0sZMUY5FTgd1yQg9QeDEQtqNzPuhw6RGNQHTvqhP6BLeXdazJVnW8OXWKvq3NDM5Dzh80RZY1SlcsE9e+p8t6Q6meZStyl70N2oMRiuj0kvXb/Oq+vIkHvg7M57DbffNl2opaNbeRZ/NQXWVaELFszcHsuxnYRjz8IvXwL/pBf0irDkeFkmO8pyPHBD48+s6qVzMJwLBfvTEEKcMFw5wb1aKJMGEQECwJ0awWRv30B+KIMJEAAHicY2BkYGAA4sM/urfH89t8ZeBmYQCBa0pmzxD0/4csDMwSQC4HAxNIFABNGgrfAHicY2BkYGBu+N/AEMPCAAJAkpEBFTADAEcJAmwEAAAAA+kAAAQAAAAAAAAAAHYAnnicY2BkYGBgZghkYGUAASYg5gJCBob/YD4DABD3AXAAeJxlj01OwzAQhV/6B6QSqqhgh+QFYgEo/RGrblhUavdddN+mTpsqiSPHrdQDcB6OwAk4AtyAO/BIJ5s2lsffvHljTwDc4Acejt8t95E9XDI7cg0XuBeuU38QbpBfhJto41W4Rf1N2MczpsJtdGF5g9e4YvaEd2EPHXwI13CNT+E69S/hBvlbuIk7/Aq30PHqwj7mXle4jUcv9sdWL5xeqeVBxaHJIpM5v4KZXu+Sha3S6pxrW8QmU4OgX0lTnWlb3VPs10PnIhVZk6oJqzpJjMqt2erQBRvn8lGvF4kehCblWGP+tsYCjnEFhSUOjDFCGGSIyujoO1Vm9K+xQ8Jee1Y9zed0WxTU/3OFAQL0z1xTurLSeTpPgT1fG1J1dCtuy56UNJFezUkSskJe1rZUQuoBNmVXjhF6XNGJPyhnSP8ACVpuyAAAAHicY2BigAAuBuyAmZGJkZmRhYGxgjuxqCi/XLcoMz2jhIEBAC8dBRY=) format("woff"),url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4i7dfDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=) format("truetype"),url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%20%3E%0A%3C!--%0A2013-9-30%3A%20Created.%0A--%3E%0A%3Csvg%3E%0A%3Cmetadata%3E%0ACreated%20by%20iconfont%0A%3C%2Fmetadata%3E%0A%3Cdefs%3E%0A%0A%3Cfont%20id%3D%22iconfont%22%20horiz-adv-x%3D%221024%22%20%3E%0A%20%20%3Cfont-face%0A%20%20%20%20font-family%3D%22iconfont%22%0A%20%20%20%20font-weight%3D%22500%22%0A%20%20%20%20font-stretch%3D%22normal%22%0A%20%20%20%20units-per-em%3D%221024%22%0A%20%20%20%20ascent%3D%22896%22%0A%20%20%20%20descent%3D%22-128%22%0A%20%20%2F%3E%0A%20%20%20%20%3Cmissing-glyph%20%2F%3E%0A%20%20%20%20%0A%20%20%20%20%3Cglyph%20glyph-name%3D%22x%22%20unicode%3D%22x%22%20horiz-adv-x%3D%221001%22%0Ad%3D%22M281%20543q-27%20-1%20-53%20-1h-83q-18%200%20-36.5%20-6t-32.5%20-18.5t-23%20-32t-9%20-45.5v-76h912v41q0%2016%20-0.5%2030t-0.5%2018q0%2013%20-5%2029t-17%2029.5t-31.5%2022.5t-49.5%209h-133v-97h-438v97zM955%20310v-52q0%20-23%200.5%20-52t0.5%20-58t-10.5%20-47.5t-26%20-30t-33%20-16t-31.5%20-4.5q-14%20-1%20-29.5%20-0.5%0At-29.5%200.5h-32l-45%20128h-439l-44%20-128h-29h-34q-20%200%20-45%201q-25%200%20-41%209.5t-25.5%2023t-13.5%2029.5t-4%2030v167h911zM163%20247q-12%200%20-21%20-8.5t-9%20-21.5t9%20-21.5t21%20-8.5q13%200%2022%208.5t9%2021.5t-9%2021.5t-22%208.5zM316%20123q-8%20-26%20-14%20-48q-5%20-19%20-10.5%20-37t-7.5%20-25t-3%20-15t1%20-14.5%0At9.5%20-10.5t21.5%20-4h37h67h81h80h64h36q23%200%2034%2012t2%2038q-5%2013%20-9.5%2030.5t-9.5%2034.5q-5%2019%20-11%2039h-368zM336%20498v228q0%2011%202.5%2023t10%2021.5t20.5%2015.5t34%206h188q31%200%2051.5%20-14.5t20.5%20-52.5v-227h-327z%22%20%2F%3E%0A%20%20%20%20%0A%0A%20%20%20%20%0A%20%20%20%20%3Cglyph%20glyph-name%3D%22arrow-right%22%20unicode%3D%22%26%2358914%3B%22%20d%3D%22M725.3399071604938%20383.8342991012345a41.425224691358025%2041.425224691358025%200%200%200-12.924670103703681-30.074713125925918l-343.82936493827134-325.2708642765434a41.425224691358025%2041.425224691358025%200%200%200-56.91825872592596%2060.23227670123452l312.0976428246912%20295.1961511506175-312.0976428246914%20295.4447024987654a41.50807514074074%2041.50807514074074%200%200%200-1.6570089876543506%2058.575267713580246c15.74158538271605%2016.570089876543207%2042.00517783703699%2017.315743920987664%2058.575267713580246%201.6570089876543506l343.8293649382716-325.6022660740737a41.425224691358025%2041.425224691358025%200%200%200%2012.924670103703713-30.15756357530862z%22%20%20horiz-adv-x%3D%221024%22%20%2F%3E%0A%0A%20%20%20%20%0A%0A%0A%20%20%3C%2Ffont%3E%0A%3C%2Fdefs%3E%3C%2Fsvg%3E%0A) format("svg")}.v-contextmenu-icon{font-family:v-contextmenu!important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.v-contextmenu-icon-right-arrow:before{content:""}.v-contextmenu{position:absolute;background-color:#fff;border:1px solid #e8e8e8;border-radius:4px;-webkit-box-shadow:2px 2px 8px 0 rgba(150,150,150,.2);box-shadow:2px 2px 8px #96969633;font-size:14px;white-space:nowrap;line-height:1;z-index:2020;-webkit-tap-highlight-color:transparent}.v-contextmenu-inner{padding:5px 0;margin:0;list-style:none}.v-contextmenu-item{padding:5px 14px;line-height:1;color:#333;cursor:pointer}.v-contextmenu-item--hover{color:#fff;background-color:#2d3035}.v-contextmenu-item--disabled{color:#3336;cursor:not-allowed}.v-contextmenu-divider{height:0;margin:5px 0;border-bottom:1px solid #e8e8e8}.v-contextmenu-group__title{padding:5px 14px 2.5px;color:#3333338c;font-size:60%}.v-contextmenu-group__menus{padding:0 5px;margin:0;list-style:none}.v-contextmenu-group__menus .v-contextmenu-item{display:inline-block;padding:5px 9px}.v-contextmenu-submenu{position:relative}.v-contextmenu-submenu__title{padding-right:22.4px}.v-contextmenu-submenu__menus{position:absolute}.v-contextmenu-submenu__menus--left{left:0;-webkit-transform:translateX(-100%);transform:translate(-100%)}.v-contextmenu-submenu__menus--right{right:0;-webkit-transform:translateX(100%);transform:translate(100%)}.v-contextmenu-submenu__menus--top{top:-6px}.v-contextmenu-submenu__menus--bottom{bottom:-6px}.v-contextmenu-submenu__arrow{position:absolute;right:5px}.v-contextmenu-enter-active{-webkit-transition:opacity .3s ease-out;transition:opacity .3s ease-out}.v-contextmenu-leave-active{-webkit-transition:opacity .3s cubic-bezier(1,.5,.8,1);transition:opacity .3s cubic-bezier(1,.5,.8,1)}.v-contextmenu-enter-from,.v-contextmenu-leave-to{opacity:0}.logo[data-v-50cefd67]{fill:var(--fg-base);padding:10px;width:60%}.logo[data-v-50cefd67]:hover{cursor:pointer}.collapseSidebar[data-v-50cefd67]{display:flex;flex-direction:row;justify-content:center;align-items:center;height:40px}.collapseSidebar.minimised[data-v-50cefd67]{justify-content:center}.collapseSidebar .clickSymbol[data-v-50cefd67]{border-radius:5px}.collapseSidebar .clickSymbol[data-v-50cefd67]:hover{cursor:pointer;background:var(--hover-2)}.static[data-v-50cefd67]{flex-shrink:0;flex-grow:0}@media screen and (max-width: 750px){.static[data-v-50cefd67]{display:flex;flex-direction:row;justify-content:space-between;width:100%}}h2[data-v-50cefd67]{margin-bottom:0}.cover[data-v-50cefd67]{position:absolute;bottom:10px;width:100%;transform:translate(-10px,10px)}.playlistList[data-v-50cefd67]{flex-grow:1;display:flex;flex-direction:column;overflow-y:auto}.playlistList.expanded[data-v-50cefd67]{padding:0 10px}.playlistList>a[data-v-50cefd67]{font-size:.92em;text-decoration:none;color:var(--font-darker);margin-bottom:4px;margin-top:4px}.playlistList>a[data-v-50cefd67]:hover{color:var(--font-colour)}hr[data-v-50cefd67]{width:100%}div.sidebar[data-v-50cefd67]{background:var(--bg-base-dk);width:calc(var(--w-sidebar) + 20px);min-width:calc(var(--w-sidebar) + 20px);max-width:calc(var(--w-sidebar) + 20px);display:flex;flex-direction:column;padding:10px;margin:10px;border-radius:8px;max-height:100%;z-index:1;position:relative;overflow:hidden;border:var(--border-container)}@media screen and (max-width: 750px){div.sidebar[data-v-50cefd67]{flex-direction:row;width:100vw;position:absolute;bottom:0;margin:0;max-width:100vw;border-radius:0}}h2[data-v-50cefd67]:hover{cursor:pointer}h2[data-v-50cefd67]{margin:0;padding:10px}div.body[data-v-772535b8]{flex-grow:1;overflow-y:auto;overflow-x:hidden;max-width:calc(100vw - var(--sidebar-width));max-height:calc(100vh - var(--player-height) - var(--header-height))}div.body.maximised[data-v-772535b8]{max-width:100vw;max-height:100vh}@media screen and (max-width: 950px){div.body[data-v-772535b8]{max-width:100vw;max-height:calc(100vh - var(--player-height-mobile) - var(--sidebar-height) - var(--header-height))}}.progressBar__track[data-v-80b99d67]{position:relative;width:100%;height:5px;margin:10px 0;border-radius:1000vmax;background-color:var(--fg-base-dkr)}.progressBar__progress[data-v-80b99d67]{position:relative;height:5px;border-radius:1000vmax;background-color:var(--fg-base)}.progressBar__progress.hover[data-v-80b99d67]{background-color:var(--fg-secondary)}.progressBar__progress.hover[data-v-80b99d67]:after{content:""}.progressBar__progress[data-v-80b99d67]:after{position:absolute;top:-5px;right:-5px;width:15px;height:15px;border-radius:50%;background-color:var(--fg-base)}.dropdown[data-v-f0ed46f1]{position:relative;display:inline-block}.dropdown__selected[data-v-f0ed46f1]{color:var(--fg-base-dk);cursor:pointer;font-size:1.5rem;border-radius:10px;padding:5px}.dropdown__selected[data-v-f0ed46f1]:hover{background:var(--bg-hover-lt);color:var(--fg-secondary)}.dropdown__options[data-v-f0ed46f1]{position:absolute;z-index:999;width:max(100%,20rem);max-height:20rem;overflow-y:auto;background:var(--bg-base);border-radius:5px;filter:var(--drop-shadow)}.dropdown__options .dropdown__option[data-v-f0ed46f1]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-f0ed46f1]:hover{background:var(--bg-hover)}.loader[data-v-a886b69f]{width:20px;height:20px;margin:auto;border:3px solid var(--fg-base-dk);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation-a886b69f 1s linear infinite}@keyframes rotation-a886b69f{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#waveform wave,#waveform canvas{width:100%;height:calc(var(--h-player) / 2 - 1em)!important}.player .on-this-device>.material-symbols-rounded{color:var(--fg-secondary)}.player[data-v-0d0bd51a]{background:var(--bg-base-lt);border-top:1px solid var(--border-base);z-index:2}.icon[data-v-0d0bd51a]{color:var(--fg-base-dk)}.icon[data-v-0d0bd51a]:hover{color:var(--fg-base)}.desktop[data-v-0d0bd51a]{display:grid;height:calc(var(--h-player) - 1px);grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);grid-template-areas:"song-info controls aux";gap:10px}.desktop .song-info[data-v-0d0bd51a]{grid-area:song-info;display:grid;align-items:center;grid-template-columns:calc(var(--h-player) - 40px) fit-content(100%) 20px 20px;gap:10px;overflow:hidden}.desktop .song-info .title-artist[data-v-0d0bd51a]{overflow:hidden}.desktop .song-info div[data-v-0d0bd51a]{margin:auto 0}.desktop .controls[data-v-0d0bd51a]{grid-area:controls;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto}.desktop .controls .top[data-v-0d0bd51a]{display:grid;grid-template-columns:repeat(2,20px) 40px repeat(2,20px);gap:1.5em;justify-content:center}.desktop .controls .top span[data-v-0d0bd51a]{margin:auto 0;font-size:1.5rem}.desktop .controls .top span[data-v-0d0bd51a]:nth-child(3){font-size:2.5rem}.desktop .controls .bottom .display[data-v-0d0bd51a]{display:grid;grid-template-columns:1fr 10fr 1fr;gap:.5em;margin-bottom:.5em;align-items:center}.desktop .aux[data-v-0d0bd51a]{grid-area:aux;justify-content:end;display:grid;grid-template-columns:20px 20px 20px minmax(auto,8vw);gap:1em;align-items:center}.desktop .aux a.icon[data-v-0d0bd51a]{display:flex;text-decoration:none}.desktop .aux a.icon.router-link-active[data-v-0d0bd51a]{color:var(--fg-secondary)}.mobile .small[data-v-0d0bd51a]{display:grid;grid-template-columns:calc(var(--h-player-mobile) - 1em) 1fr 30px 30px;gap:1em;margin:.5em;align-items:center;max-width:calc(100vw - 2em)}.mobile .small .cover[data-v-0d0bd51a]{border-radius:10px;background:var(--bg-base-dk);margin:auto 0}.mobile .full[data-v-0d0bd51a]{position:absolute;top:0;left:0;width:100vw;height:calc(100vh - var(--h-sidebar));max-height:calc(100vh - var(--h-sidebar));overflow:hidden;background:var(--bg-base);padding:2em;display:grid;grid-template-columns:1fr;grid-template-rows:30px 1fr fit-content(100%)}.mobile .full .cover[data-v-0d0bd51a]{filter:drop-shadow(0 25px 25px rgba(0,0,0,.3))}.mobile .full .controls[data-v-0d0bd51a]{display:flex;flex-direction:column-reverse}.mobile .full .controls .top[data-v-0d0bd51a]{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5em;justify-content:center}.mobile .full .controls .top span[data-v-0d0bd51a]{margin:auto 0;font-size:2rem}.mobile .full .controls .top span[data-v-0d0bd51a]:nth-child(3){font-size:3rem}.dropzone *[data-v-c5853362]{pointer-events:none}.dropzone.drophover[data-v-c5853362]:after{content:" ";display:block;text-align:center;color:var(--text-muted);font-style:italic;font-size:.8rem;background:rgba(0,0,0,.5);border-radius:1rem;position:absolute;top:0;right:0;bottom:0;left:0;margin-top:1em;margin-bottom:1em;margin-right:1em;z-index:1000}.noLink{text-decoration:none;color:unset}.noLink:hover{text-decoration:none;cursor:default;color:unset}.linkOnHover{text-decoration:none;color:unset}.linkOnHover:hover{text-decoration:underline;cursor:pointer;color:var(--fg-base)}.v-contextmenu{background:var(--fg-contrast)!important;font-family:var(--ff-base)!important;border:1px solid var(--bg-hover-dk);box-shadow:none;--webkit-box-shadow: none;color:var(--fg-base)!important}.v-contextmenu-divider{border-color:var(--border-base)}.v-contextmenu-item{color:var(--fg-base)!important;margin:5px;padding:10px 22px 10px 15px;border-radius:5px}.v-contextmenu-item--hover{background:var(--bg-hover-dk)!important}::-webkit-scrollbar{width:var(--w-scrollbar);height:var(--w-scrollbar);padding:0;margin:0;z-index:101}::-webkit-scrollbar-track{border-radius:var(--w-scrollbar)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:var(--w-scrollbar)}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover-dk)}:root{--fg-secondary: #1ed760;--fg-secondary-dk: #217e41;--bg-contrast: white;--fg-contrast: #121212;--fg-base: white;--fg-base-dk: #a7a7a7;--fg-base-dkr: #999;--bg-hover-ltr: #242424;--bg-hover-lt: hsla(0,0%,100%,.04);--bg-hover: hsla(0,0%,100%,.3);--bg-hover-dk: hsla(0,0%,100%,.1);--border-base: hsla(0,0%,100%,.1);--border-container: var(--border-base);--bg-gradient: linear-gradient(to left bottom, #1ed760, #217e41);--bg-base: #121212;--bg-base-lt: #181818;--bg-base-dk: black;--bg-fixedPlaylistHeader: var(--bg-base-lt);--border-fixedPlaylistHeader: #303030;--bg-input: var(--background-light);--ff-base: Poppins, sans-serif;--h-playlistEntry: 64px;--h-player: 88px;--h-player-mobile: 64px;--h-header: 64px;--w-sidebar: 44px;--h-sidebar: 64px;--w-scrollbar: 8px;--drop-shadow: drop-shadow(0 0 .5rem rgba(0, 0, 0, .2));--background: #1e1e1e;--neutral: #374148;--success: #00c48b;--fail: #e85454;--warning: #c7aa19;--info: #189de4}.showIfMobile{display:none!important}.hideIfMobile{display:inherit}@media only screen and (max-width: 750px){.showIfMobile{display:inherit!important}.hideIfMobile{display:none!important}}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}h1{margin-top:.5rem;margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900}h2{margin-top:1.25rem;margin-bottom:1.25rem;font-size:1.5rem;line-height:2rem;font-weight:700}h3{font-size:1.125rem;line-height:1.75rem;font-weight:700}h4{margin-top:1rem;margin-bottom:1rem;font-weight:700}h5{color:var(--fg-base-dk);text-transform:uppercase}h6{color:var(--fg-base-dk);margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem}a{text-decoration-line:underline}a:hover{color:var(--fg-secondary)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.text-base{color:var(--fg-base)}.text-muted{color:var(--fg-base-dk)}.text-very-muted{color:var(--fg-base-dkr)}.text-secondary{color:var(--fg-secondary)}.bg-secondary{background-color:var(--fg-secondary)}p{margin-top:.5rem;margin-bottom:.5rem}.h1{margin-top:.5rem;margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900}.h2{margin-top:1.25rem;margin-bottom:1.25rem;font-size:1.5rem;line-height:2rem;font-weight:700}.h3{font-size:1.125rem;line-height:1.75rem;font-weight:700}.h5{color:var(--fg-base-dk);text-transform:uppercase}.h6{color:var(--fg-base-dk);margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.left-0{left:0}.z-\[1000\]{z-index:1000}.-z-10{z-index:-10}.z-10{z-index:10}.col-span-2{grid-column:span 2 / span 2}.m-0{margin:0}.mx-4{margin-left:1rem;margin-right:1rem}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.my-auto{margin-top:auto;margin-bottom:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mb-2{margin-bottom:.5rem}.ml-4{margin-left:1rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mb-4{margin-bottom:1rem}.mt-10{margin-top:2.5rem}.mb-0{margin-bottom:0}.ml-2{margin-left:.5rem}.ml-8{margin-left:2rem}.mr-4{margin-right:1rem}.ml-0{margin-left:0}.\!mt-0{margin-top:0!important}.mt-\[10px\]{margin-top:10px}.ml-auto{margin-left:auto}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.\!grid{display:grid!important}.hidden{display:none}.h-8{height:2rem}.h-12{height:3rem}.h-full{height:100%}.h-max{height:-moz-max-content;height:max-content}.w-full{width:100%}.w-8{width:2rem}.w-1\/2{width:50%}.w-1{width:.25rem}.w-max{width:-moz-max-content;width:max-content}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-sm{max-width:24rem}.max-w-\[60ch\]{max-width:60ch}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\!grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.rounded-xl{border-radius:.75rem}.rounded-full{border-radius:9999px}.rounded-3xl{border-radius:1.5rem}.rounded-md{border-radius:.375rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.p-4{padding:1rem}.p-2{padding:.5rem}.p-\[10px\]{padding:10px}.p-3{padding:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-4{padding-top:1rem}.pb-2{padding-bottom:.5rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pb-4{padding-bottom:1rem}.pr-4{padding-right:1rem}.\!text-left{text-align:left!important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-5xl{font-size:3rem;line-height:1}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-9xl{font-size:8rem;line-height:1}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-light{font-weight:300}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-xl{--tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / .03)) drop-shadow(0 8px 5px rgb(0 0 0 / .08));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-2xl{--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}*{--tw-invert: 0}.fill-page{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.ms-wght-100{font-variation-settings:"wght" 100}.ms-wght-200{font-variation-settings:"wght" 200}.ms-wght-300{font-variation-settings:"wght" 300}.ms-wght-400{font-variation-settings:"wght" 400}.ms-wght-500{font-variation-settings:"wght" 500}.ms-wght-600{font-variation-settings:"wght" 600}.ms-wght-700{font-variation-settings:"wght" 700}.ms-wght-800{font-variation-settings:"wght" 800}.ms-wght-900{font-variation-settings:"wght" 900}.ms-fill{font-variation-settings:"FILL" 1}#app{font-family:var(--ff-base)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-base);color:var(--fg-base)!important}hr{border-color:var(--border-base)}div.interface{display:flex;flex-direction:row;flex-grow:1;z-index:2;max-height:calc(100vh - var(--h-player) - var(--h-header))}@media only screen and (max-width: 750px){div.interface{max-height:calc(100vh - var(--h-player-mobile) - var(--h-header) - var(--h-sidebar))}}div.appRoot{display:flex;flex-direction:column;width:100vw;height:100vh}html,body{margin:0;padding:0}.bgImageWrapper{position:fixed;top:0;left:0;height:100%;width:100%;z-index:0!important;background:black}.bgImage{height:100%;width:100%;z-index:0!important;filter:blur(100px) brightness(.75);background-position:center;background-repeat:no-repeat;background-size:cover;transform:scale(1.1)}.mobileMenu{display:flex;flex-direction:row;justify-content:center}input[type=text],input[type=password]{background:var(--hover-2);border:1px solid var(--hover-3);border-radius:5px;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--font-family)}input[type=text]:focus,input[type=password]:focus{outline:none}input[type=text]:hover,input[type=password]:hover{background:var(--hover-1);border:1px solid var(--font-colour)}@media (min-width: 640px){.sm\:ml-0{margin-left:0}}@media (min-width: 768px){.md\:\!w-96{width:24rem!important}} diff --git a/src/ui/dist/assets/index-95759d60.css.gz b/src/ui/dist/assets/index-95759d60.css.gz new file mode 100644 index 000000000..ac9ac93c4 Binary files /dev/null and b/src/ui/dist/assets/index-95759d60.css.gz differ diff --git a/src/ui/dist/assets/index-a5315d49.js.gz b/src/ui/dist/assets/index-a5315d49.js.gz deleted file mode 100644 index 3e05558c8..000000000 Binary files a/src/ui/dist/assets/index-a5315d49.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-a5315d49.js b/src/ui/dist/assets/index-a53d8d7d.js similarity index 98% rename from src/ui/dist/assets/index-a5315d49.js rename to src/ui/dist/assets/index-a53d8d7d.js index 07c85166b..c6901c8da 100644 --- a/src/ui/dist/assets/index-a5315d49.js +++ b/src/ui/dist/assets/index-a53d8d7d.js @@ -1 +1 @@ -import{i as q,cz as N,q as x,c2 as S,o as s,c as n,a as o,F as r,j as B,f as C,w as y,b as t,t as a,C as h,g as p,h as z,d,u as f,cA as D,z as F,L as T,aZ as V,x as $,I as j,cr as L,m as O,n as A,_ as E}from"./index-1d15d58c.js";const i=v=>(O("data-v-cad4addf"),v=v(),A(),v),M={class:"downloader py-2 pr-2 grid gap-4 grid-cols-2 items-start"},P={class:"downloads"},Y={class:"main"},Z={class:"m-0 mb-4"},G={class:"status"},H={class:"flex flex-col"},J={key:0,class:"info"},K=i(()=>o("span",{class:"material-symbols-rounded"},"cloud",-1)),Q={key:1,class:"info"},R=i(()=>o("span",{class:"material-symbols-rounded"},"file_download",-1)),U={class:"info"},W=i(()=>o("span",{class:"material-symbols-rounded"},"percent",-1)),X={key:2,class:"info"},ee=i(()=>o("span",{class:"material-symbols-rounded"},"speed",-1)),oe={key:3,class:"info"},se=i(()=>o("span",{class:"material-symbols-rounded"},"timer",-1)),ne=i(()=>o("div",{class:"error"},[o("span",null,"This song could not be downloaded:"),o("ul",{class:"block list-disc ml-8"},[o("li",null," verify that the source link is working "),o("li",null,"try again later")])],-1)),ae={key:0,class:"info"},le=i(()=>o("span",{class:"material-symbols-rounded"},"link",-1)),de=["href"],re={class:"wrap-progress"},te=["aria-valuenow"],ie={key:1,class:"material-symbols-rounded downloading"},ce=["onClick"],ue=["onClick"],_e=["onClick"],me={key:1,class:"col-span-2 flex flex-row justify-center items-center"},pe={class:"new-download"},fe=q({__name:"index",setup(v){const _=N(),g=l=>{L.addYesNo("Are you sure you want to redownload this song?",null,null,()=>{console.log("[downloader] reDownload",l),_.downloadFromDb(l)})},m={title:"",artist:"",album:"",cover:"",source:"",href:""},w=x(null),c=x([{name:"source",type:"text",accept:"audio/mp3",required:!0,onChange:async l=>{const u=await S(l);c.value.find(e=>e.name==="title").value=u.title,c.value.find(e=>e.name==="artist").value=u.artist,c.value.find(e=>e.name==="album").value=u.album,c.value.find(e=>e.name==="cover").value=u.cover,c.value.find(e=>e.name==="source").value=u.source},value:m.source},{name:"title",type:"text",icon:"title",required:!0,value:m.title},{name:"artist",type:"text",icon:"person",required:!0,value:m.artist},{name:"album",type:"text",icon:"album",value:m.album},{name:"cover",type:"upload",accept:"image/*",imagePreview:!0,value:m.cover}]),I=async()=>{const l=w.value.toObject();l.id=new Date().getTime(),console.log("[downloader] requestDownload",l),_.downloadOther(l)};return(l,u)=>(s(),n("div",M,[o("div",P,[(s(!0),n(r,null,B(f(_).states,e=>{var k;return s(),n(r,{key:e.songId},[e.internal?d("",!0):(s(),C(h,{key:0,class:V([["song",{downloading:((k=f(_).states[e.songId])==null?void 0:k.status)=="downloading"}],"p-4 card items-center"])},{default:y(()=>[e.status!=="pending"?(s(),n(r,{key:0},[o("main",Y,[o("h2",Z,[e.song?(s(),n(r,{key:0},[t(a(e.song.title),1)],64)):(s(),n(r,{key:1},[t(a(e.filename),1)],64))]),o("div",G,[e.song?(s(),C(h,{key:0,class:"info p-4"},{default:y(()=>[p(z,{src:e.song.cover,class:"cover"},null,8,["src"]),o("div",H,[o("span",null,a(e.song.album),1),o("span",null,a(e.song.artist),1)])]),_:2},1024)):d("",!0),e.status!=="error"?(s(),n(r,{key:1},[e.downloaded||e.total?(s(),n("div",J,[K,t(" "+a(f(D)(e.downloaded))+" / "+a(f(D)(e.total)),1)])):d("",!0),e.chunk?(s(),n("div",Q,[R,t(" "+a(e.chunk),1)])):d("",!0),o("div",U,[W,t(" "+a(e.status==="downloading"?e.percent:100)+"% ",1)]),e.speed!=="0"?(s(),n("div",X,[ee,t(" "+a(e.speed),1)])):d("",!0),e.elapsed!=="0"||e.eta!==0?(s(),n("div",oe,[se,t(" "+a(e.elapsed)+" / "+a(e.eta)+"s ",1)])):d("",!0)],64)):(s(),n(r,{key:2},[ne,e.song?(s(),n("div",ae,[le,o("a",{href:e.song.source,target:"_blank",rel:"noopener noreferrer"},a(e.song.source),9,de)])):d("",!0)],64))])]),o("aside",null,[o("div",re,[e.status=="downloading"?(s(),n("div",{key:0,class:"progress-bar",role:"progressbar","aria-valuenow":e.percent,"aria-valuemin":"0","aria-valuemax":"100",style:F({"--progress":e.percent+"%"})},null,12,te)):d("",!0),e.status=="downloading"?(s(),n("span",ie," south ")):e.status=="finished"?(s(),n("span",{key:2,class:"material-symbols-rounded cursor-pointer finished",onClick:b=>f(_).download(e.songId)}," download_for_offline ",8,ce)):e.status=="downloaded"?(s(),n("span",{key:3,class:"material-symbols-rounded cursor-pointer downloaded",onClick:b=>g(e.songId)}," download_done ",8,ue)):e.status=="error"?(s(),n("span",{key:4,class:"material-symbols-rounded cursor-pointer error",onClick:b=>g(e.songId)}," error ",8,_e)):d("",!0)])])],64)):(s(),n("div",me,[p(T)]))]),_:2},1032,["class"]))],64)}),128))]),o("div",pe,[p(h,{class:"custom p-4 flex flex-col"},{default:y(()=>[p($,{ref_key:"form",ref:w,options:c.value},null,8,["options"]),p(j,{icon:"download_for_offline",label:"Download",class:"w-full mt-8",onClick:I})]),_:1})])]))}});const ye=E(fe,[["__scopeId","data-v-cad4addf"]]);export{ye as default}; +import{i as q,cz as N,q as x,c2 as S,o as s,c as n,a as o,F as r,j as B,f as C,w as y,b as t,t as a,C as h,g as p,h as z,d,u as f,cA as D,z as F,L as T,aZ as V,x as $,I as j,cr as L,m as O,n as A,_ as E}from"./index-286d536d.js";const i=v=>(O("data-v-cad4addf"),v=v(),A(),v),M={class:"downloader py-2 pr-2 grid gap-4 grid-cols-2 items-start"},P={class:"downloads"},Y={class:"main"},Z={class:"m-0 mb-4"},G={class:"status"},H={class:"flex flex-col"},J={key:0,class:"info"},K=i(()=>o("span",{class:"material-symbols-rounded"},"cloud",-1)),Q={key:1,class:"info"},R=i(()=>o("span",{class:"material-symbols-rounded"},"file_download",-1)),U={class:"info"},W=i(()=>o("span",{class:"material-symbols-rounded"},"percent",-1)),X={key:2,class:"info"},ee=i(()=>o("span",{class:"material-symbols-rounded"},"speed",-1)),oe={key:3,class:"info"},se=i(()=>o("span",{class:"material-symbols-rounded"},"timer",-1)),ne=i(()=>o("div",{class:"error"},[o("span",null,"This song could not be downloaded:"),o("ul",{class:"block list-disc ml-8"},[o("li",null," verify that the source link is working "),o("li",null,"try again later")])],-1)),ae={key:0,class:"info"},le=i(()=>o("span",{class:"material-symbols-rounded"},"link",-1)),de=["href"],re={class:"wrap-progress"},te=["aria-valuenow"],ie={key:1,class:"material-symbols-rounded downloading"},ce=["onClick"],ue=["onClick"],_e=["onClick"],me={key:1,class:"col-span-2 flex flex-row justify-center items-center"},pe={class:"new-download"},fe=q({__name:"index",setup(v){const _=N(),g=l=>{L.addYesNo("Are you sure you want to redownload this song?",null,null,()=>{console.log("[downloader] reDownload",l),_.downloadFromDb(l)})},m={title:"",artist:"",album:"",cover:"",source:"",href:""},w=x(null),c=x([{name:"source",type:"text",accept:"audio/mp3",required:!0,onChange:async l=>{const u=await S(l);c.value.find(e=>e.name==="title").value=u.title,c.value.find(e=>e.name==="artist").value=u.artist,c.value.find(e=>e.name==="album").value=u.album,c.value.find(e=>e.name==="cover").value=u.cover,c.value.find(e=>e.name==="source").value=u.source},value:m.source},{name:"title",type:"text",icon:"title",required:!0,value:m.title},{name:"artist",type:"text",icon:"person",required:!0,value:m.artist},{name:"album",type:"text",icon:"album",value:m.album},{name:"cover",type:"upload",accept:"image/*",imagePreview:!0,value:m.cover}]),I=async()=>{const l=w.value.toObject();l.id=new Date().getTime(),console.log("[downloader] requestDownload",l),_.downloadOther(l)};return(l,u)=>(s(),n("div",M,[o("div",P,[(s(!0),n(r,null,B(f(_).states,e=>{var k;return s(),n(r,{key:e.songId},[e.internal?d("",!0):(s(),C(h,{key:0,class:V([["song",{downloading:((k=f(_).states[e.songId])==null?void 0:k.status)=="downloading"}],"p-4 card items-center"])},{default:y(()=>[e.status!=="pending"?(s(),n(r,{key:0},[o("main",Y,[o("h2",Z,[e.song?(s(),n(r,{key:0},[t(a(e.song.title),1)],64)):(s(),n(r,{key:1},[t(a(e.filename),1)],64))]),o("div",G,[e.song?(s(),C(h,{key:0,class:"info p-4"},{default:y(()=>[p(z,{src:e.song.cover,class:"cover"},null,8,["src"]),o("div",H,[o("span",null,a(e.song.album),1),o("span",null,a(e.song.artist),1)])]),_:2},1024)):d("",!0),e.status!=="error"?(s(),n(r,{key:1},[e.downloaded||e.total?(s(),n("div",J,[K,t(" "+a(f(D)(e.downloaded))+" / "+a(f(D)(e.total)),1)])):d("",!0),e.chunk?(s(),n("div",Q,[R,t(" "+a(e.chunk),1)])):d("",!0),o("div",U,[W,t(" "+a(e.status==="downloading"?e.percent:100)+"% ",1)]),e.speed!=="0"?(s(),n("div",X,[ee,t(" "+a(e.speed),1)])):d("",!0),e.elapsed!=="0"||e.eta!==0?(s(),n("div",oe,[se,t(" "+a(e.elapsed)+" / "+a(e.eta)+"s ",1)])):d("",!0)],64)):(s(),n(r,{key:2},[ne,e.song?(s(),n("div",ae,[le,o("a",{href:e.song.source,target:"_blank",rel:"noopener noreferrer"},a(e.song.source),9,de)])):d("",!0)],64))])]),o("aside",null,[o("div",re,[e.status=="downloading"?(s(),n("div",{key:0,class:"progress-bar",role:"progressbar","aria-valuenow":e.percent,"aria-valuemin":"0","aria-valuemax":"100",style:F({"--progress":e.percent+"%"})},null,12,te)):d("",!0),e.status=="downloading"?(s(),n("span",ie," south ")):e.status=="finished"?(s(),n("span",{key:2,class:"material-symbols-rounded cursor-pointer finished",onClick:b=>f(_).download(e.songId)}," download_for_offline ",8,ce)):e.status=="downloaded"?(s(),n("span",{key:3,class:"material-symbols-rounded cursor-pointer downloaded",onClick:b=>g(e.songId)}," download_done ",8,ue)):e.status=="error"?(s(),n("span",{key:4,class:"material-symbols-rounded cursor-pointer error",onClick:b=>g(e.songId)}," error ",8,_e)):d("",!0)])])],64)):(s(),n("div",me,[p(T)]))]),_:2},1032,["class"]))],64)}),128))]),o("div",pe,[p(h,{class:"custom p-4 flex flex-col"},{default:y(()=>[p($,{ref_key:"form",ref:w,options:c.value},null,8,["options"]),p(j,{icon:"download_for_offline",label:"Download",class:"w-full mt-8",onClick:I})]),_:1})])]))}});const ye=E(fe,[["__scopeId","data-v-cad4addf"]]);export{ye as default}; diff --git a/src/ui/dist/assets/index-a53d8d7d.js.gz b/src/ui/dist/assets/index-a53d8d7d.js.gz new file mode 100644 index 000000000..c5ec16f68 Binary files /dev/null and b/src/ui/dist/assets/index-a53d8d7d.js.gz differ diff --git a/src/ui/dist/assets/index-2ca7f604.js b/src/ui/dist/assets/index-e315ee00.js similarity index 97% rename from src/ui/dist/assets/index-2ca7f604.js rename to src/ui/dist/assets/index-e315ee00.js index 70502dec2..867076291 100644 --- a/src/ui/dist/assets/index-2ca7f604.js +++ b/src/ui/dist/assets/index-e315ee00.js @@ -1 +1 @@ -import{i as E,B as N,q as y,D as o,S as P,T as R,E as T,G as j,o as s,c as a,g as b,L as C,a as n,t as L,F as i,H as c,j as p,f as v,d as h,m as O,n as V,_ as A}from"./index-1d15d58c.js";const r=_=>(O("data-v-99a1f210"),_=_(),V(),_),D={class:"search"},F={key:0,class:"fill-page"},G={key:1,class:"fill-page"},H=r(()=>n("h1",null,"Something went wrong",-1)),J={class:"top flex gap-8"},M={class:"top min-w-max"},Y=r(()=>n("h2",null,"Top Result",-1)),z={key:0,class:"list songs flex-1"},K=r(()=>n("h2",null,"Songs",-1)),Q={key:0,class:"list artists"},U=r(()=>n("h2",null,"Artists",-1)),W={key:1,class:"list playlists"},X=r(()=>n("h2",null,"Playlists",-1)),Z={key:2,class:"list albums"},$=r(()=>n("h2",null,"Albums",-1)),ee=E({__name:"index",setup(_){const B=N(),m=y(!0),d=y(null),u=y(null),I=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t[0]}),f=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t.filter(l=>l.type==="song")}),g=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t.filter(l=>l.type==="artist")}),S=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t.filter(l=>l.type==="playlist")}),k=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t.filter(l=>l.type==="album")}),x=o(()=>B.params.query),q=o(()=>[...P,...R]),w=async()=>{m.value=!0,d.value=null;const e=await fetch("/api/search",{method:"POST",body:JSON.stringify({query:x.value,scope:q.value})});if(m.value=!1,!e.ok){d.value=await e.text();return}const t=await e.json();u.value=t};return T(w),j(x,w),(e,t)=>(s(),a("div",D,[m.value?(s(),a("div",F,[b(C)])):d.value?(s(),a("div",G,[H,n("p",null,L(d.value),1)])):(s(),a(i,{key:2},[n("div",J,[n("div",M,[Y,b(c,{item:I.value,large:""},null,8,["item"])]),f.value.length?(s(),a("div",z,[K,(s(!0),a(i,null,p(f.value,l=>(s(),v(c,{item:l},null,8,["item"]))),256))])):h("",!0)]),g.value.length?(s(),a("div",Q,[U,(s(!0),a(i,null,p(g.value,l=>(s(),v(c,{item:l},null,8,["item"]))),256))])):h("",!0),S.value.length?(s(),a("div",W,[X,(s(!0),a(i,null,p(S.value,l=>(s(),v(c,{item:l},null,8,["item"]))),256))])):h("",!0),k.value.length?(s(),a("div",Z,[$,(s(!0),a(i,null,p(k.value,l=>(s(),v(c,{item:l},null,8,["item"]))),256))])):h("",!0)],64))]))}});const se=A(ee,[["__scopeId","data-v-99a1f210"]]);export{se as default}; +import{i as E,B as N,q as y,D as o,S as P,T as R,E as T,G as j,o as s,c as a,g as b,L as C,a as n,t as L,F as i,H as c,j as p,f as v,d as h,m as O,n as V,_ as A}from"./index-286d536d.js";const r=_=>(O("data-v-99a1f210"),_=_(),V(),_),D={class:"search"},F={key:0,class:"fill-page"},G={key:1,class:"fill-page"},H=r(()=>n("h1",null,"Something went wrong",-1)),J={class:"top flex gap-8"},M={class:"top min-w-max"},Y=r(()=>n("h2",null,"Top Result",-1)),z={key:0,class:"list songs flex-1"},K=r(()=>n("h2",null,"Songs",-1)),Q={key:0,class:"list artists"},U=r(()=>n("h2",null,"Artists",-1)),W={key:1,class:"list playlists"},X=r(()=>n("h2",null,"Playlists",-1)),Z={key:2,class:"list albums"},$=r(()=>n("h2",null,"Albums",-1)),ee=E({__name:"index",setup(_){const B=N(),m=y(!0),d=y(null),u=y(null),I=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t[0]}),f=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t.filter(l=>l.type==="song")}),g=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t.filter(l=>l.type==="artist")}),S=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t.filter(l=>l.type==="playlist")}),k=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t.filter(l=>l.type==="album")}),x=o(()=>B.params.query),q=o(()=>[...P,...R]),w=async()=>{m.value=!0,d.value=null;const e=await fetch("/api/search",{method:"POST",body:JSON.stringify({query:x.value,scope:q.value})});if(m.value=!1,!e.ok){d.value=await e.text();return}const t=await e.json();u.value=t};return T(w),j(x,w),(e,t)=>(s(),a("div",D,[m.value?(s(),a("div",F,[b(C)])):d.value?(s(),a("div",G,[H,n("p",null,L(d.value),1)])):(s(),a(i,{key:2},[n("div",J,[n("div",M,[Y,b(c,{item:I.value,large:""},null,8,["item"])]),f.value.length?(s(),a("div",z,[K,(s(!0),a(i,null,p(f.value,l=>(s(),v(c,{item:l},null,8,["item"]))),256))])):h("",!0)]),g.value.length?(s(),a("div",Q,[U,(s(!0),a(i,null,p(g.value,l=>(s(),v(c,{item:l},null,8,["item"]))),256))])):h("",!0),S.value.length?(s(),a("div",W,[X,(s(!0),a(i,null,p(S.value,l=>(s(),v(c,{item:l},null,8,["item"]))),256))])):h("",!0),k.value.length?(s(),a("div",Z,[$,(s(!0),a(i,null,p(k.value,l=>(s(),v(c,{item:l},null,8,["item"]))),256))])):h("",!0)],64))]))}});const se=A(ee,[["__scopeId","data-v-99a1f210"]]);export{se as default}; diff --git a/src/ui/dist/assets/index-e315ee00.js.gz b/src/ui/dist/assets/index-e315ee00.js.gz new file mode 100644 index 000000000..241f3814e Binary files /dev/null and b/src/ui/dist/assets/index-e315ee00.js.gz differ diff --git a/src/ui/dist/assets/index-80a51d1b.js b/src/ui/dist/assets/index-f424206f.js similarity index 98% rename from src/ui/dist/assets/index-80a51d1b.js rename to src/ui/dist/assets/index-f424206f.js index 9a06acfce..dbaa2ef0e 100644 --- a/src/ui/dist/assets/index-80a51d1b.js +++ b/src/ui/dist/assets/index-f424206f.js @@ -1 +1 @@ -import{i as W,c8 as $,o as y,c as g,g as F,u as d,ca as G,t as x,f as A,d as C,a as j,I as H,F as I,j as K,aZ as z,b as N,J as O,L as q,_ as V}from"./index-1d15d58c.js";var S={d:(a,t)=>{for(var e in t)S.o(t,e)&&!S.o(a,e)&&Object.defineProperty(a,e,{enumerable:!0,get:t[e]})},o:(a,t)=>Object.prototype.hasOwnProperty.call(a,t)},m={};function Y(a){let t=[],e=0;for(let o=0;oi?t[e++]=i:(2048>i?t[e++]=i>>6|192:((64512&i)==55296&&o+1>18|240,t[e++]=i>>12&63|128):t[e++]=i>>12|224,t[e++]=i>>6&63|128),t[e++]=63&i|128)}let n=0;for(e=0;en&&(n=2147483648+(2147483647&n)),n%=1e6,n.toString()+"."+n.toString()}S.d(m,{ZP:()=>Q,j1:()=>L,Gb:()=>D,e6:()=>P,XU:()=>X,Iu:()=>M});const B=function(a,t){for(let e=0;e>>n:a<o.append("dt",i)),`https://translate.google.${e.tld}/translate_a/single?${o}`}const Z={auto:"Automatic",af:"Afrikaans",sq:"Albanian",am:"Amharic",ar:"Arabic",hy:"Armenian",az:"Azerbaijani",eu:"Basque",be:"Belarusian",bn:"Bengali",bs:"Bosnian",bg:"Bulgarian",ca:"Catalan",ceb:"Cebuano",ny:"Chichewa",zh:"Chinese Simplified","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",co:"Corsican",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",eo:"Esperanto",et:"Estonian",tl:"Filipino",fi:"Finnish",fr:"French",fy:"Frisian",gl:"Galician",ka:"Georgian",de:"German",el:"Greek",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",haw:"Hawaiian",he:"Hebrew",iw:"Hebrew",hi:"Hindi",hmn:"Hmong",hu:"Hungarian",is:"Icelandic",ig:"Igbo",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",jw:"Javanese",kn:"Kannada",kk:"Kazakh",km:"Khmer",rw:"Kinyarwanda",ko:"Korean",ku:"Kurdish (Kurmanji)",ky:"Kyrgyz",lo:"Lao",la:"Latin",lv:"Latvian",lt:"Lithuanian",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mn:"Mongolian",my:"Myanmar (Burmese)",ne:"Nepali",no:"Norwegian",or:"Odia (Oriya)",ps:"Pashto",fa:"Persian",pl:"Polish",pt:"Portuguese",pa:"Punjabi",ro:"Romanian",ru:"Russian",sm:"Samoan",gd:"Scots Gaelic",sr:"Serbian",st:"Sesotho",sn:"Shona",sd:"Sindhi",si:"Sinhala",sk:"Slovak",sl:"Slovenian",so:"Somali",es:"Spanish",su:"Sundanese",sw:"Swahili",sv:"Swedish",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",tr:"Turkish",tk:"Turkmen",uk:"Ukrainian",ur:"Urdu",ug:"Uyghur",uz:"Uzbek",vi:"Vietnamese",cy:"Welsh",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",zu:"Zulu"},D=a=>!!Z[a];function P(a,t=!1){const e={text:"",pronunciation:"",from:{language:{didYouMean:!1,iso:""},text:{autoCorrected:!1,value:"",didYouMean:!1}}};if(a[0].forEach(n=>{n[0]?e.text+=n[0]:n[2]&&(e.pronunciation+=n[2])}),a[2]===a[8][0][0]?e.from.language.iso=a[2]:(e.from.language.didYouMean=!0,e.from.language.iso=a[8][0][0]),a[7]&&a[7][0]){let n=a[7][0];n=n.replace(//g,"["),n=n.replace(/<\/i><\/b>/g,"]"),e.from.text.value=n,a[7][5]===!0?e.from.text.autoCorrected=!0:e.from.text.didYouMean=!0}return t&&(e.raw=a),e}var J=function(a,t,e,n){return new(e||(e=Promise))(function(o,i){function w(u){try{p(n.next(u))}catch(r){i(r)}}function v(u){try{p(n.throw(u))}catch(r){i(r)}}function p(u){var r;u.done?o(u.value):(r=u.value,r instanceof e?r:new e(function(s){s(r)})).then(w,v)}p((n=n.apply(a,t||[])).next())})};let U="";const X=a=>(U=a,M);function M(a,t={}){return J(this,void 0,void 0,function*(){const e=L(a,t),n=yield fetch(`${U}${e}`);if(!n.ok)throw new Error("Request failed");return P(yield n.json(),t.raw)})}const Q=M;m.ZP;m.j1;m.Gb;m.e6;var ee=m.XU;m.Iu;const ne={key:0,class:"fill-page"},ae={key:0},te={class:"w-full flex flex-row justify-end"},re={key:1,class:"lyrics"},se=["onClick"],ie=["onClick"],oe=W({__name:"index",setup(a){const t=ee("http://localhost:1234/api/cors/"),e=$(),n=r=>{var f,k;if(!((f=e.lyrics)!=null&&f.lyrics))return!1;const s=e.progress*1e3,l=e.lyrics.lyrics[r],c=parseInt(l.startTimeMs),h=parseInt(l.endTimeMs)?parseInt(l.endTimeMs):parseInt((k=e.lyrics.lyrics[r+1])==null?void 0:k.startTimeMs);if(s>=c&&s=h?"past":"future"},o=r=>{e.lyrics.lyrics[r].originalWorlds?w(r):i(r)},i=async r=>{const s=e.lyrics.lyrics[r];if(s.originalWorlds)return;const l=await t(s.words,{to:"en"});s.originalWorlds=s.words,s.words=l.text},w=r=>{const s=e.lyrics.lyrics[r];s.originalWorlds&&(s.words=s.originalWorlds,s.originalWorlds=null)},v=()=>{var r,s;(s=(r=e.lyrics)==null?void 0:r.lyrics)==null||s.forEach((l,c)=>{i(c)})},p=()=>{var r,s;(s=(r=e.lyrics)==null?void 0:r.lyrics)==null||s.forEach((l,c)=>{w(c)})},u=()=>{var s,l,c,h;const r=(l=(s=e.lyrics)==null?void 0:s.lyrics)==null?void 0:l.filter(f=>f.originalWorlds).length;return r&&r>((h=(c=e.lyrics)==null?void 0:c.lyrics)==null?void 0:h.length)/2};return(r,s)=>{var l,c,h,f,k,b;return y(),g(I,null,[F(G,{src:d(e).song.cover},null,8,["src"]),!d(e).lyrics||(l=d(e).lyrics)!=null&&l.error?(y(),g("div",ne,[(c=d(e).lyrics)!=null&&c.error?(y(),g("h1",ae,x((h=d(e).lyrics)==null?void 0:h.error),1)):(y(),A(q,{key:1}))])):C("",!0),j("div",te,[(f=d(e).lyrics)!=null&&f.lyrics?(y(),A(H,{key:0,icon:"translate",label:u()?"Show original":"Translate all",class:"mr-2",onClick:s[0]||(s[0]=_=>u()?p():v())},null,8,["label"])):C("",!0)]),(k=d(e).lyrics)!=null&&k.lyrics?(y(),g("div",re,[(y(!0),g(I,null,K((b=d(e).lyrics)==null?void 0:b.lyrics,(_,T)=>(y(),g("div",{class:z(["line",n(T)]),onClick:E=>d(e).seek(parseInt(_.startTimeMs)/1e3)},[N(x(_.words)+" ",1),j("span",{class:z(["material-symbols-rounded translate",{translated:_.originalWorlds}]),onClick:O(E=>o(T),["stop"])}," translate ",10,ie)],10,se))),256))])):C("",!0)],64)}}});const ce=V(oe,[["__scopeId","data-v-56ae1f29"]]);export{ce as default}; +import{i as W,c8 as $,o as y,c as g,g as F,u as d,ca as G,t as x,f as A,d as C,a as j,I as H,F as I,j as K,aZ as z,b as N,J as O,L as q,_ as V}from"./index-286d536d.js";var S={d:(a,t)=>{for(var e in t)S.o(t,e)&&!S.o(a,e)&&Object.defineProperty(a,e,{enumerable:!0,get:t[e]})},o:(a,t)=>Object.prototype.hasOwnProperty.call(a,t)},m={};function Y(a){let t=[],e=0;for(let o=0;oi?t[e++]=i:(2048>i?t[e++]=i>>6|192:((64512&i)==55296&&o+1>18|240,t[e++]=i>>12&63|128):t[e++]=i>>12|224,t[e++]=i>>6&63|128),t[e++]=63&i|128)}let n=0;for(e=0;en&&(n=2147483648+(2147483647&n)),n%=1e6,n.toString()+"."+n.toString()}S.d(m,{ZP:()=>Q,j1:()=>L,Gb:()=>D,e6:()=>P,XU:()=>X,Iu:()=>M});const B=function(a,t){for(let e=0;e>>n:a<o.append("dt",i)),`https://translate.google.${e.tld}/translate_a/single?${o}`}const Z={auto:"Automatic",af:"Afrikaans",sq:"Albanian",am:"Amharic",ar:"Arabic",hy:"Armenian",az:"Azerbaijani",eu:"Basque",be:"Belarusian",bn:"Bengali",bs:"Bosnian",bg:"Bulgarian",ca:"Catalan",ceb:"Cebuano",ny:"Chichewa",zh:"Chinese Simplified","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",co:"Corsican",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",eo:"Esperanto",et:"Estonian",tl:"Filipino",fi:"Finnish",fr:"French",fy:"Frisian",gl:"Galician",ka:"Georgian",de:"German",el:"Greek",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",haw:"Hawaiian",he:"Hebrew",iw:"Hebrew",hi:"Hindi",hmn:"Hmong",hu:"Hungarian",is:"Icelandic",ig:"Igbo",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",jw:"Javanese",kn:"Kannada",kk:"Kazakh",km:"Khmer",rw:"Kinyarwanda",ko:"Korean",ku:"Kurdish (Kurmanji)",ky:"Kyrgyz",lo:"Lao",la:"Latin",lv:"Latvian",lt:"Lithuanian",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mn:"Mongolian",my:"Myanmar (Burmese)",ne:"Nepali",no:"Norwegian",or:"Odia (Oriya)",ps:"Pashto",fa:"Persian",pl:"Polish",pt:"Portuguese",pa:"Punjabi",ro:"Romanian",ru:"Russian",sm:"Samoan",gd:"Scots Gaelic",sr:"Serbian",st:"Sesotho",sn:"Shona",sd:"Sindhi",si:"Sinhala",sk:"Slovak",sl:"Slovenian",so:"Somali",es:"Spanish",su:"Sundanese",sw:"Swahili",sv:"Swedish",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",tr:"Turkish",tk:"Turkmen",uk:"Ukrainian",ur:"Urdu",ug:"Uyghur",uz:"Uzbek",vi:"Vietnamese",cy:"Welsh",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",zu:"Zulu"},D=a=>!!Z[a];function P(a,t=!1){const e={text:"",pronunciation:"",from:{language:{didYouMean:!1,iso:""},text:{autoCorrected:!1,value:"",didYouMean:!1}}};if(a[0].forEach(n=>{n[0]?e.text+=n[0]:n[2]&&(e.pronunciation+=n[2])}),a[2]===a[8][0][0]?e.from.language.iso=a[2]:(e.from.language.didYouMean=!0,e.from.language.iso=a[8][0][0]),a[7]&&a[7][0]){let n=a[7][0];n=n.replace(//g,"["),n=n.replace(/<\/i><\/b>/g,"]"),e.from.text.value=n,a[7][5]===!0?e.from.text.autoCorrected=!0:e.from.text.didYouMean=!0}return t&&(e.raw=a),e}var J=function(a,t,e,n){return new(e||(e=Promise))(function(o,i){function w(u){try{p(n.next(u))}catch(r){i(r)}}function v(u){try{p(n.throw(u))}catch(r){i(r)}}function p(u){var r;u.done?o(u.value):(r=u.value,r instanceof e?r:new e(function(s){s(r)})).then(w,v)}p((n=n.apply(a,t||[])).next())})};let U="";const X=a=>(U=a,M);function M(a,t={}){return J(this,void 0,void 0,function*(){const e=L(a,t),n=yield fetch(`${U}${e}`);if(!n.ok)throw new Error("Request failed");return P(yield n.json(),t.raw)})}const Q=M;m.ZP;m.j1;m.Gb;m.e6;var ee=m.XU;m.Iu;const ne={key:0,class:"fill-page"},ae={key:0},te={class:"w-full flex flex-row justify-end"},re={key:1,class:"lyrics"},se=["onClick"],ie=["onClick"],oe=W({__name:"index",setup(a){const t=ee("http://localhost:1234/api/cors/"),e=$(),n=r=>{var f,k;if(!((f=e.lyrics)!=null&&f.lyrics))return!1;const s=e.progress*1e3,l=e.lyrics.lyrics[r],c=parseInt(l.startTimeMs),h=parseInt(l.endTimeMs)?parseInt(l.endTimeMs):parseInt((k=e.lyrics.lyrics[r+1])==null?void 0:k.startTimeMs);if(s>=c&&s=h?"past":"future"},o=r=>{e.lyrics.lyrics[r].originalWorlds?w(r):i(r)},i=async r=>{const s=e.lyrics.lyrics[r];if(s.originalWorlds)return;const l=await t(s.words,{to:"en"});s.originalWorlds=s.words,s.words=l.text},w=r=>{const s=e.lyrics.lyrics[r];s.originalWorlds&&(s.words=s.originalWorlds,s.originalWorlds=null)},v=()=>{var r,s;(s=(r=e.lyrics)==null?void 0:r.lyrics)==null||s.forEach((l,c)=>{i(c)})},p=()=>{var r,s;(s=(r=e.lyrics)==null?void 0:r.lyrics)==null||s.forEach((l,c)=>{w(c)})},u=()=>{var s,l,c,h;const r=(l=(s=e.lyrics)==null?void 0:s.lyrics)==null?void 0:l.filter(f=>f.originalWorlds).length;return r&&r>((h=(c=e.lyrics)==null?void 0:c.lyrics)==null?void 0:h.length)/2};return(r,s)=>{var l,c,h,f,k,b;return y(),g(I,null,[F(G,{src:d(e).song.cover},null,8,["src"]),!d(e).lyrics||(l=d(e).lyrics)!=null&&l.error?(y(),g("div",ne,[(c=d(e).lyrics)!=null&&c.error?(y(),g("h1",ae,x((h=d(e).lyrics)==null?void 0:h.error),1)):(y(),A(q,{key:1}))])):C("",!0),j("div",te,[(f=d(e).lyrics)!=null&&f.lyrics?(y(),A(H,{key:0,icon:"translate",label:u()?"Show original":"Translate all",class:"mr-2",onClick:s[0]||(s[0]=_=>u()?p():v())},null,8,["label"])):C("",!0)]),(k=d(e).lyrics)!=null&&k.lyrics?(y(),g("div",re,[(y(!0),g(I,null,K((b=d(e).lyrics)==null?void 0:b.lyrics,(_,T)=>(y(),g("div",{class:z(["line",n(T)]),onClick:E=>d(e).seek(parseInt(_.startTimeMs)/1e3)},[N(x(_.words)+" ",1),j("span",{class:z(["material-symbols-rounded translate",{translated:_.originalWorlds}]),onClick:O(E=>o(T),["stop"])}," translate ",10,ie)],10,se))),256))])):C("",!0)],64)}}});const ce=V(oe,[["__scopeId","data-v-56ae1f29"]]);export{ce as default}; diff --git a/src/ui/dist/assets/index-f424206f.js.gz b/src/ui/dist/assets/index-f424206f.js.gz new file mode 100644 index 000000000..4c62e57a1 Binary files /dev/null and b/src/ui/dist/assets/index-f424206f.js.gz differ diff --git a/src/ui/dist/assets/spotify-8606af53.js b/src/ui/dist/assets/spotify-ec5e61f9.js similarity index 93% rename from src/ui/dist/assets/spotify-8606af53.js rename to src/ui/dist/assets/spotify-ec5e61f9.js index 9412a0ff2..6181dde78 100644 --- a/src/ui/dist/assets/spotify-8606af53.js +++ b/src/ui/dist/assets/spotify-ec5e61f9.js @@ -1 +1 @@ -import{o as c,c as e,a as o}from"./index-1d15d58c.js";const t={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 168 168"},s=o("path",{fill:"#111",d:"M83.996.277C37.747.277.253 37.77.253 84.019c0 46.251 37.494 83.741 83.743 83.741 46.254 0 83.744-37.49 83.744-83.741 0-46.246-37.49-83.738-83.745-83.738l.001-.004zm38.404 120.78a5.217 5.217 0 0 1-7.18 1.73c-19.662-12.01-44.414-14.73-73.564-8.07a5.222 5.222 0 0 1-6.249-3.93 5.213 5.213 0 0 1 3.926-6.25c31.9-7.291 59.263-4.15 81.337 9.34 2.46 1.51 3.24 4.72 1.73 7.18zm10.25-22.805c-1.89 3.075-5.91 4.045-8.98 2.155-22.51-13.839-56.823-17.846-83.448-9.764-3.453 1.043-7.1-.903-8.148-4.35a6.538 6.538 0 0 1 4.354-8.143c30.413-9.228 68.222-4.758 94.072 11.127 3.07 1.89 4.04 5.91 2.15 8.976v-.001zm.88-23.744c-26.99-16.031-71.52-17.505-97.289-9.684-4.138 1.255-8.514-1.081-9.768-5.219a7.835 7.835 0 0 1 5.221-9.771c29.581-8.98 78.756-7.245 109.83 11.202a7.823 7.823 0 0 1 2.74 10.733c-2.2 3.722-7.02 4.949-10.73 2.739z"},null,-1),a=[s];function n(r,l){return c(),e("svg",t,a)}const _={render:n};export{_ as s}; +import{o as c,c as e,a as o}from"./index-286d536d.js";const t={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 168 168"},s=o("path",{fill:"#111",d:"M83.996.277C37.747.277.253 37.77.253 84.019c0 46.251 37.494 83.741 83.743 83.741 46.254 0 83.744-37.49 83.744-83.741 0-46.246-37.49-83.738-83.745-83.738l.001-.004zm38.404 120.78a5.217 5.217 0 0 1-7.18 1.73c-19.662-12.01-44.414-14.73-73.564-8.07a5.222 5.222 0 0 1-6.249-3.93 5.213 5.213 0 0 1 3.926-6.25c31.9-7.291 59.263-4.15 81.337 9.34 2.46 1.51 3.24 4.72 1.73 7.18zm10.25-22.805c-1.89 3.075-5.91 4.045-8.98 2.155-22.51-13.839-56.823-17.846-83.448-9.764-3.453 1.043-7.1-.903-8.148-4.35a6.538 6.538 0 0 1 4.354-8.143c30.413-9.228 68.222-4.758 94.072 11.127 3.07 1.89 4.04 5.91 2.15 8.976v-.001zm.88-23.744c-26.99-16.031-71.52-17.505-97.289-9.684-4.138 1.255-8.514-1.081-9.768-5.219a7.835 7.835 0 0 1 5.221-9.771c29.581-8.98 78.756-7.245 109.83 11.202a7.823 7.823 0 0 1 2.74 10.733c-2.2 3.722-7.02 4.949-10.73 2.739z"},null,-1),a=[s];function n(r,l){return c(),e("svg",t,a)}const _={render:n};export{_ as s}; diff --git a/src/ui/dist/assets/spotify-8606af53.js.gz b/src/ui/dist/assets/spotify-ec5e61f9.js.gz similarity index 85% rename from src/ui/dist/assets/spotify-8606af53.js.gz rename to src/ui/dist/assets/spotify-ec5e61f9.js.gz index ad6ddba77..bcf67fa6d 100644 Binary files a/src/ui/dist/assets/spotify-8606af53.js.gz and b/src/ui/dist/assets/spotify-ec5e61f9.js.gz differ diff --git a/src/ui/dist/index.html b/src/ui/dist/index.html index 93dd750e0..92798f22c 100644 --- a/src/ui/dist/index.html +++ b/src/ui/dist/index.html @@ -39,8 +39,8 @@ reAudioPlayer One - - + + diff --git a/src/ui/dist/index.html.gz b/src/ui/dist/index.html.gz index 1a46067c1..97817b05f 100644 Binary files a/src/ui/dist/index.html.gz and b/src/ui/dist/index.html.gz differ diff --git a/src/ui/dist/sw.js b/src/ui/dist/sw.js index 42e855f09..a7fddf670 100644 --- a/src/ui/dist/sw.js +++ b/src/ui/dist/sw.js @@ -1 +1 @@ -if(!self.define){let s,e={};const l=(l,i)=>(l=new URL(l+".js",i).href,e[l]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()})).then((()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s})));self.define=(i,r)=>{const n=s||("document"in self?document.currentScript.src:"")||location.href;if(e[n])return;let u={};const a=s=>l(s,n),t={module:{uri:n},exports:u,require:a};e[n]=Promise.all(i.map((s=>t[s]||a(s)))).then((s=>(r(...s),u)))}}define(["./workbox-fa446783"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/Albums-2ca88dd0.js",revision:null},{url:"assets/Albums-cd4d9140.css",revision:null},{url:"assets/Artist-0e218e56.js",revision:null},{url:"assets/Artist-a6b528f5.css",revision:null},{url:"assets/Artists-45473996.css",revision:null},{url:"assets/Artists-8ad4193c.js",revision:null},{url:"assets/BigPlayer-4e09ef04.css",revision:null},{url:"assets/BigPlayer-fe0f9e65.js",revision:null},{url:"assets/Breaking-e9fbbd65.js",revision:null},{url:"assets/CollectionHeader-693dcfcb.js",revision:null},{url:"assets/CollectionHeader-d7b2d6c7.css",revision:null},{url:"assets/Create-175bc322.css",revision:null},{url:"assets/Create-9551fe1a.js",revision:null},{url:"assets/Editor-29aa8a80.css",revision:null},{url:"assets/Editor-2cdd6692.js",revision:null},{url:"assets/EditSong.vue_vue_type_script_setup_true_lang-b974b13c.js",revision:null},{url:"assets/Explore-06afc866.js",revision:null},{url:"assets/Explore-e4c09a4f.css",revision:null},{url:"assets/Export-4a955656.js",revision:null},{url:"assets/Export-a03f6dd4.css",revision:null},{url:"assets/FactCard-3c5d1fcf.css",revision:null},{url:"assets/FactCard-d063b1a1.js",revision:null},{url:"assets/FullShelf-261568ae.css",revision:null},{url:"assets/FullShelf-d5d3eac0.js",revision:null},{url:"assets/gistClient-63d02b96.js",revision:null},{url:"assets/Import-11822f11.js",revision:null},{url:"assets/Import-5bb9c089.css",revision:null},{url:"assets/ImportLink-944a284d.js",revision:null},{url:"assets/ImportLink-fa9af2ae.css",revision:null},{url:"assets/index-1d15d58c.js",revision:null},{url:"assets/index-1de74717.css",revision:null},{url:"assets/index-2ca7f604.js",revision:null},{url:"assets/index-3d76937e.css",revision:null},{url:"assets/index-46330f3a.css",revision:null},{url:"assets/index-4e4ed216.css",revision:null},{url:"assets/index-501f346a.js",revision:null},{url:"assets/index-7c7fccc5.js",revision:null},{url:"assets/index-80a51d1b.js",revision:null},{url:"assets/index-9c6564e7.css",revision:null},{url:"assets/index-a5315d49.js",revision:null},{url:"assets/index-ba22315c.css",revision:null},{url:"assets/Liked-ca4d7086.js",revision:null},{url:"assets/Markdown-d883632e.css",revision:null},{url:"assets/Markdown.vue_vue_type_style_index_0_lang-c2feabe5.js",revision:null},{url:"assets/News-75f9af9a.js",revision:null},{url:"assets/News-815a31c4.css",revision:null},{url:"assets/NewsArticle-3a0c05a2.js",revision:null},{url:"assets/NewsArticle-f71d5ef8.css",revision:null},{url:"assets/Normal-415d545e.js",revision:null},{url:"assets/playerInPicture-af203fdf.js",revision:null},{url:"assets/Playlist.vue_vue_type_script_setup_true_lang-b6ff16a9.js",revision:null},{url:"assets/PlaylistEntry-32f74c9a.js",revision:null},{url:"assets/PlaylistEntry-4b74ffe1.css",revision:null},{url:"assets/PlaylistItem-10853772.css",revision:null},{url:"assets/PlaylistItem-b2b662c6.js",revision:null},{url:"assets/Playlists-afa205e6.js",revision:null},{url:"assets/Playlists-d44628c1.css",revision:null},{url:"assets/Releases-e8430e2f.css",revision:null},{url:"assets/Releases-fe528779.js",revision:null},{url:"assets/Sports-385f73f9.css",revision:null},{url:"assets/Sports-56e566b5.js",revision:null},{url:"assets/spotify-8606af53.js",revision:null},{url:"assets/Template-05dccf2e.css",revision:null},{url:"assets/Template-a12b99e6.js",revision:null},{url:"assets/Track-29247377.js",revision:null},{url:"assets/Track-50ce7320.css",revision:null},{url:"assets/TrackCompact-63a74737.js",revision:null},{url:"assets/TrackCompact-79c8b159.css",revision:null},{url:"assets/Welcome-5b21c29e.css",revision:null},{url:"assets/Welcome-a21b5bf7.js",revision:null},{url:"index.html",revision:"6009b3530a898a3353a1ba13eb4cbe66"},{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"favicon.png",revision:"81eb710c3fadc823ae3bb676eacf1795"},{url:"manifest.webmanifest",revision:"54fda1775a89a999bda4c67bd363bb64"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html"),{denylist:[/^\/api/]}))})); +if(!self.define){let s,e={};const l=(l,i)=>(l=new URL(l+".js",i).href,e[l]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()})).then((()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s})));self.define=(i,r)=>{const n=s||("document"in self?document.currentScript.src:"")||location.href;if(e[n])return;let u={};const t=s=>l(s,n),a={module:{uri:n},exports:u,require:t};e[n]=Promise.all(i.map((s=>a[s]||t(s)))).then((s=>(r(...s),u)))}}define(["./workbox-fa446783"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/Albums-184c439c.js",revision:null},{url:"assets/Albums-cd4d9140.css",revision:null},{url:"assets/Artist-701c2336.js",revision:null},{url:"assets/Artist-a6b528f5.css",revision:null},{url:"assets/Artists-45473996.css",revision:null},{url:"assets/Artists-8ef7411e.js",revision:null},{url:"assets/BigPlayer-4e09ef04.css",revision:null},{url:"assets/BigPlayer-c0cc19bd.js",revision:null},{url:"assets/Breaking-795a537c.js",revision:null},{url:"assets/CollectionHeader-0134ecc9.js",revision:null},{url:"assets/CollectionHeader-d7b2d6c7.css",revision:null},{url:"assets/Create-175bc322.css",revision:null},{url:"assets/Create-92ac9a69.js",revision:null},{url:"assets/Editor-29aa8a80.css",revision:null},{url:"assets/Editor-cd9fc5c1.js",revision:null},{url:"assets/EditSong.vue_vue_type_script_setup_true_lang-94868e65.js",revision:null},{url:"assets/Explore-91377c61.js",revision:null},{url:"assets/Explore-e4c09a4f.css",revision:null},{url:"assets/Export-442d1672.js",revision:null},{url:"assets/Export-a03f6dd4.css",revision:null},{url:"assets/FactCard-3c5d1fcf.css",revision:null},{url:"assets/FactCard-ecaa8541.js",revision:null},{url:"assets/FullShelf-261568ae.css",revision:null},{url:"assets/FullShelf-77f6f5f1.js",revision:null},{url:"assets/gistClient-be4ed4e2.js",revision:null},{url:"assets/Import-5bb9c089.css",revision:null},{url:"assets/Import-f0947c15.js",revision:null},{url:"assets/ImportLink-878046b9.js",revision:null},{url:"assets/ImportLink-fa9af2ae.css",revision:null},{url:"assets/index-1de74717.css",revision:null},{url:"assets/index-271680f6.js",revision:null},{url:"assets/index-286d536d.js",revision:null},{url:"assets/index-3486840a.js",revision:null},{url:"assets/index-3d76937e.css",revision:null},{url:"assets/index-4e4ed216.css",revision:null},{url:"assets/index-95759d60.css",revision:null},{url:"assets/index-9c6564e7.css",revision:null},{url:"assets/index-a53d8d7d.js",revision:null},{url:"assets/index-ba22315c.css",revision:null},{url:"assets/index-e315ee00.js",revision:null},{url:"assets/index-f424206f.js",revision:null},{url:"assets/Liked-4a8e9dc3.js",revision:null},{url:"assets/Markdown-d883632e.css",revision:null},{url:"assets/Markdown.vue_vue_type_style_index_0_lang-d9462c8d.js",revision:null},{url:"assets/News-53589a37.js",revision:null},{url:"assets/News-815a31c4.css",revision:null},{url:"assets/NewsArticle-6a4ee6d7.js",revision:null},{url:"assets/NewsArticle-f71d5ef8.css",revision:null},{url:"assets/Normal-8b3ddd4a.js",revision:null},{url:"assets/playerInPicture-af203fdf.js",revision:null},{url:"assets/Playlist.vue_vue_type_script_setup_true_lang-2e3ae256.js",revision:null},{url:"assets/PlaylistEntry-4b74ffe1.css",revision:null},{url:"assets/PlaylistEntry-bb67bf25.js",revision:null},{url:"assets/PlaylistItem-10853772.css",revision:null},{url:"assets/PlaylistItem-6fc351b2.js",revision:null},{url:"assets/Playlists-d44628c1.css",revision:null},{url:"assets/Playlists-dd51ccb9.js",revision:null},{url:"assets/Releases-7a81f458.js",revision:null},{url:"assets/Releases-e8430e2f.css",revision:null},{url:"assets/Sports-385f73f9.css",revision:null},{url:"assets/Sports-e337ea6b.js",revision:null},{url:"assets/spotify-ec5e61f9.js",revision:null},{url:"assets/Template-05dccf2e.css",revision:null},{url:"assets/Template-8dffc963.js",revision:null},{url:"assets/Track-50ce7320.css",revision:null},{url:"assets/Track-8da48201.js",revision:null},{url:"assets/TrackCompact-667d7442.js",revision:null},{url:"assets/TrackCompact-79c8b159.css",revision:null},{url:"assets/Welcome-5b21c29e.css",revision:null},{url:"assets/Welcome-d433ea4e.js",revision:null},{url:"index.html",revision:"8039a7472ec6a0d0d5b41ff6be1852a3"},{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"favicon.png",revision:"81eb710c3fadc823ae3bb676eacf1795"},{url:"manifest.webmanifest",revision:"54fda1775a89a999bda4c67bd363bb64"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html"),{denylist:[/^\/api/]}))})); diff --git a/src/ui/package-lock.json b/src/ui/package-lock.json index 47344c0e2..e71d8e4a2 100644 --- a/src/ui/package-lock.json +++ b/src/ui/package-lock.json @@ -1,12 +1,12 @@ { "name": "reAudioPlayer", - "version": "0.11.11", + "version": "0.11.12", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "reAudioPlayer", - "version": "0.11.11", + "version": "0.11.12", "dependencies": { "fast-average-color": "^9.3.0", "google-translate-api-browser": "^3.0.1", diff --git a/src/ui/package.json b/src/ui/package.json index e5ad8edb9..b57744372 100644 --- a/src/ui/package.json +++ b/src/ui/package.json @@ -1,6 +1,6 @@ { "name": "reAudioPlayer", - "version": "0.11.11", + "version": "0.11.12", "scripts": { "dev": "vite", "preview": "vite preview --port 8080", diff --git a/src/ui/src/Header.vue b/src/ui/src/Header.vue index d93c25f5e..d56a14f19 100644 --- a/src/ui/src/Header.vue +++ b/src/ui/src/Header.vue @@ -95,7 +95,11 @@ downloaderStore.onDownload.push((songId: number) => { }); const clickSuggestion = (value) => { - router.push(value.href); + if (value.type === "artist") { + router.push(`/artist/${value.item.name}`); + return; + } + router.push(value.item.href); }; const suggest = async (value) => { diff --git a/src/ui/src/views/Search/SearchResultItem.vue b/src/ui/src/views/Search/SearchResultItem.vue index 5b00b93c3..c8282b42c 100644 --- a/src/ui/src/views/Search/SearchResultItem.vue +++ b/src/ui/src/views/Search/SearchResultItem.vue @@ -17,6 +17,10 @@ const props = defineProps({ type: Boolean, default: false, }, + noHover: { + type: Boolean, + default: false, + }, }); const image = computed(() => { @@ -88,7 +92,7 @@ const onClick = () => { ref="importSpotifyAlbum" :album="props.item.item" /> -
+
@@ -166,7 +170,7 @@ const onClick = () => { } } - &:hover { + &:not(:nohover):hover { background: var(--bg-hover-dk); cursor: pointer; }