diff --git a/js/logger-BLuX_B6K.chunk.mjs b/js/logger-CeWNjV8L.chunk.mjs similarity index 99% rename from js/logger-BLuX_B6K.chunk.mjs rename to js/logger-CeWNjV8L.chunk.mjs index c83dfba55..2d4405be6 100644 --- a/js/logger-BLuX_B6K.chunk.mjs +++ b/js/logger-CeWNjV8L.chunk.mjs @@ -76,5 +76,5 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var P,K=!0,ge=!1;return{s:function(){m=m.call(E)},n:function(){var _e=m.next();return K=_e.done,_e},e:function(_e){ge=!0,P=_e},f:function(){try{K||m.return==null||m.return()}finally{if(ge)throw P}}}}function L(E,d){(d==null||d>E.length)&&(d=E.length);for(var m=0,g=new Array(d);m1&&arguments[1]!==void 0?arguments[1]:{},g=m.emojisToShowFilter,D=m.include,P=m.exclude,K=m.custom,ge=m.recent,_e=m.recentLength,Z=_e===void 0?20:_e;J(this,E),this._data=F(d),this._emojisFilter=g||null,this._include=D||null,this._exclude=P||null,this._custom=K||[],this._recent=ge||q.get(Z),this._emojis={},this._nativeEmojis={},this._emoticons={},this._categories=[],this._recentCategory={id:"recent",name:"Recent",emojis:[]},this._customCategory={id:"custom",name:"Custom",emojis:[]},this._searchIndex={},this.buildIndex(),Object.freeze(this)}),[{key:"buildIndex",value:function(){var E=this,d=this._data.categories;if(this._include&&(d=(d=d.filter((function(P){return E._include.includes(P.id)}))).sort((function(P,K){var ge=E._include.indexOf(P.id),_e=E._include.indexOf(K.id);return ge<_e?-1:ge>_e?1:0}))),d.forEach((function(P){if(E.isCategoryNeeded(P.id)){var K={id:P.id,name:P.name,emojis:[]};P.emojis.forEach((function(ge){var _e=E.addEmoji(ge);_e&&K.emojis.push(_e)})),K.emojis.length&&E._categories.push(K)}})),this.isCategoryNeeded("custom")){if(this._custom.length>0){var m,g=we(this._custom);try{for(g.s();!(m=g.n()).done;){var D=m.value;this.addCustomEmoji(D)}}catch(P){g.e(P)}finally{g.f()}}this._customCategory.emojis.length&&this._categories.push(this._customCategory)}this.isCategoryNeeded("recent")&&(this._recent.length&&this._recent.map((function(P){var K,ge=we(E._customCategory.emojis);try{for(ge.s();!(K=ge.n()).done;){var _e=K.value;if(_e.id===P)return void E._recentCategory.emojis.push(_e)}}catch(Z){ge.e(Z)}finally{ge.f()}E.hasEmoji(P)&&E._recentCategory.emojis.push(E.emoji(P))})),this._recentCategory.emojis.length&&this._categories.unshift(this._recentCategory))}},{key:"findEmoji",value:function(E,d){var m=E.match(se);if(m&&(E=m[1],m[2]&&(d=parseInt(m[2],10))),this._data.aliases.hasOwnProperty(E)&&(E=this._data.aliases[E]),this._emojis.hasOwnProperty(E)){var g=this._emojis[E];return d?g.getSkin(d):g}return this._nativeEmojis.hasOwnProperty(E)?this._nativeEmojis[E]:null}},{key:"categories",value:function(){return this._categories}},{key:"emoji",value:function(E){this._data.aliases.hasOwnProperty(E)&&(E=this._data.aliases[E]);var d=this._emojis[E];if(!d)throw new Error("Can not find emoji by id: "+E);return d}},{key:"firstEmoji",value:function(){var E=this._emojis[Object.keys(this._emojis)[0]];if(!E)throw new Error("Can not get first emoji");return E}},{key:"hasEmoji",value:function(E){return this._data.aliases.hasOwnProperty(E)&&(E=this._data.aliases[E]),!!this._emojis[E]}},{key:"nativeEmoji",value:function(E){return this._nativeEmojis.hasOwnProperty(E)?this._nativeEmojis[E]:null}},{key:"search",value:function(E,d){var m=this;if(d||(d=75),!E.length)return null;if(E=="-"||E=="-1")return[this.emoji("-1")];var g,D=E.toLowerCase().split(/[\s|,|\-|_]+/);D.length>2&&(D=[D[0],D[1]]),g=D.map((function(K){for(var ge=m._emojis,_e=m._searchIndex,Z=0,ve=function(){var Me=K[Se];if(Z++,_e[Me]||(_e[Me]={}),!(_e=_e[Me]).results){var Ce={};for(var ze in _e.results=[],_e.emojis={},ge){var Le=ge[ze],lt=Le._data.search,Xu=K.substr(0,Z),Mu=lt.indexOf(Xu);if(Mu!=-1){var Ju=Mu+1;Xu==ze&&(Ju=0),_e.results.push(Le),_e.emojis[ze]=Le,Ce[ze]=Ju}}_e.results.sort((function(Tn,ji){return Ce[Tn.id]-Ce[ji.id]}))}ge=_e.emojis},Se=0;Se1?oe.apply(null,g):g.length?g[0]:[])&&P.length>d&&(P=P.slice(0,d)),P}},{key:"addCustomEmoji",value:function(E){var d=Object.assign({},E,{id:E.short_names[0],custom:!0});d.search||(d.search=A(d));var m=new R(d);return this._emojis[m.id]=m,this._customCategory.emojis.push(m),m}},{key:"addEmoji",value:function(E){var d=this,m=this._data.emojis[E];if(!this.isEmojiNeeded(m))return!1;var g=new R(m);if(this._emojis[E]=g,g.native&&(this._nativeEmojis[g.native]=g),g._skins)for(var D in g._skins){var P=g._skins[D];P.native&&(this._nativeEmojis[P.native]=P)}return g.emoticons&&g.emoticons.forEach((function(K){d._emoticons[K]||(d._emoticons[K]=E)})),g}},{key:"isCategoryNeeded",value:function(E){var d=!this._include||!this._include.length||this._include.indexOf(E)>-1,m=!(!this._exclude||!this._exclude.length)&&this._exclude.indexOf(E)>-1;return!(!d||m)}},{key:"isEmojiNeeded",value:function(E){return!this._emojisFilter||this._emojisFilter(E)}}])})(),R=(function(){return O((function E(d){if(J(this,E),this._data=Object.assign({},d),this._skins=null,this._data.skin_variations)for(var m in this._skins=[],ne){var g=ne[m],D=this._data.skin_variations[g],P=Object.assign({},d);for(var K in D)P[K]=D[K];delete P.skin_variations,P.skin_tone=parseInt(m)+1,this._skins.push(new E(P))}for(var ge in this._sanitized=ye(this._data),this._sanitized)this[ge]=this._sanitized[ge];this.short_names=this._data.short_names,this.short_name=this._data.short_names[0],Object.freeze(this)}),[{key:"getSkin",value:function(E){return E&&E!="native"&&this._skins?this._skins[E-1]:this}},{key:"getPosition",value:function(){var E=+(1.6666666666666667*this._data.sheet_x).toFixed(2),d=+(100/60*this._data.sheet_y).toFixed(2);return"".concat(E,"% ").concat(d,"%")}},{key:"ariaLabel",value:function(){return[this.native].concat(this.short_names).filter(Boolean).join(", ")}}])})(),T=(function(){return O((function E(d,m,g,D,P,K,ge){J(this,E),this._emoji=d,this._native=D,this._skin=m,this._set=g,this._fallback=P,this.canRender=this._canRender(),this.cssClass=this._cssClass(),this.cssStyle=this._cssStyle(ge),this.content=this._content(),this.title=K===!0?d.short_name:null,this.ariaLabel=d.ariaLabel(),Object.freeze(this)}),[{key:"getEmoji",value:function(){return this._emoji.getSkin(this._skin)}},{key:"_canRender",value:function(){return this._isCustom()||this._isNative()||this._hasEmoji()||this._fallback}},{key:"_cssClass",value:function(){return["emoji-set-"+this._set,"emoji-type-"+this._emojiType()]}},{key:"_cssStyle",value:function(E){var d={};return this._isCustom()?d={backgroundImage:"url("+this.getEmoji()._data.imageUrl+")",backgroundSize:"100%",width:E+"px",height:E+"px"}:this._hasEmoji()&&!this._isNative()&&(d={backgroundPosition:this.getEmoji().getPosition()}),E&&(d=this._isNative()?Object.assign(d,{fontSize:Math.round(.95*E*10)/10+"px"}):Object.assign(d,{width:E+"px",height:E+"px"})),d}},{key:"_content",value:function(){return this._isCustom()?"":this._isNative()?this.getEmoji().native:this._hasEmoji()?"":this._fallback?this._fallback(this.getEmoji()):null}},{key:"_isNative",value:function(){return this._native}},{key:"_isCustom",value:function(){return this.getEmoji().custom}},{key:"_hasEmoji",value:function(){if(!this.getEmoji()._data)return!1;var E=this.getEmoji()._data["has_img_"+this._set];return E===void 0||E}},{key:"_emojiType",value:function(){return this._isCustom()?"custom":this._isNative()?"native":this._hasEmoji()?"image":"fallback"}}])})();function ye(E){var d=E.name,m=E.short_names,g=E.skin_tone,D=E.skin_variations,P=E.emoticons,K=E.unified,ge=E.custom,_e=E.imageUrl,Z=E.id||m[0],ve=":".concat(Z,":");return ge?{id:Z,name:d,colons:ve,emoticons:P,custom:ge,imageUrl:_e}:(g&&(ve+=":skin-tone-".concat(g,":")),{id:Z,name:d,colons:ve,emoticons:P,unified:K.toLowerCase(),skin:g||(D?1:null),native:re(K)})}function qe(E,d,m){return(d=S(d))in E?Object.defineProperty(E,d,{value:m,enumerable:!0,configurable:!0,writable:!0}):E[d]=m,E}var x={native:{type:Boolean,default:!1},tooltip:{type:Boolean,default:!1},fallback:{type:Function},skin:{type:Number,default:1},set:{type:String,default:"apple"},emoji:{type:[String,Object],required:!0},size:{type:Number,default:null},tag:{type:String,default:"span"}},I={perLine:{type:Number,default:9},maxSearchResults:{type:Number,default:75},emojiSize:{type:Number,default:24},title:{type:String,default:"Emoji Mart™"},emoji:{type:String,default:"department_store"},color:{type:String,default:"#ae65c5"},set:{type:String,default:"apple"},skin:{type:Number,default:null},defaultSkin:{type:Number,default:1},native:{type:Boolean,default:!1},emojiTooltip:{type:Boolean,default:!1},autoFocus:{type:Boolean,default:!1},i18n:{type:Object,default:function(){return{}}},showPreview:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},showCategories:{type:Boolean,default:!0},showSkinTones:{type:Boolean,default:!0},infiniteScroll:{type:Boolean,default:!0},pickerStyles:{type:Object,default:function(){return{}}}};function M(E,d){var m=Object.keys(E);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(E);d&&(g=g.filter((function(D){return Object.getOwnPropertyDescriptor(E,D).enumerable}))),m.push.apply(m,g)}return m}function te(E){for(var d=1;d0},emojiObjects:function(){var E=this;return this.emojis.map((function(d){return{emojiObject:d,emojiView:new T(d,E.emojiProps.skin,E.emojiProps.set,E.emojiProps.native,E.emojiProps.fallback,E.emojiProps.emojiTooltip,E.emojiProps.emojiSize)}}))}},components:{Emoji:B}},(function(){var E=this,d=E._self._c;return E.isVisible&&(E.isSearch||E.hasResults)?d("section",{class:{"emoji-mart-category":!0,"emoji-mart-no-results":!E.hasResults},attrs:{"aria-label":E.i18n.categories[E.id]}},[d("div",{staticClass:"emoji-mart-category-label"},[d("h3",{staticClass:"emoji-mart-category-label"},[E._v(E._s(E.i18n.categories[E.id]))])]),E._v(" "),E._l(E.emojiObjects,(function(m){var g=m.emojiObject,D=m.emojiView;return[D.canRender?d("button",{key:g.id,staticClass:"emoji-mart-emoji",class:E.activeClass(g),attrs:{"aria-label":D.ariaLabel,role:"option","aria-selected":"false","aria-posinset":"1","aria-setsize":"1812",type:"button","data-title":g.short_name,title:D.title},on:{mouseenter:function(P){E.emojiProps.onEnter(D.getEmoji())},mouseleave:function(P){E.emojiProps.onLeave(D.getEmoji())},click:function(P){E.emojiProps.onClick(D.getEmoji())}}},[d("span",{class:D.cssClass,style:D.cssStyle},[E._v(E._s(D.content))])]):E._e()]})),E._v(" "),E.hasResults?E._e():d("div",[d("emoji",{attrs:{data:E.data,emoji:"sleuth_or_spy",native:E.emojiProps.native,skin:E.emojiProps.skin,set:E.emojiProps.set}}),E._v(" "),d("div",{staticClass:"emoji-mart-no-results-label"},[E._v(E._s(E.i18n.notfound))])],1)],2):E._e()}),[]).exports,V=Y({props:{skin:{type:Number,required:!0}},emits:["change"],data:function(){return{opened:!1}},methods:{onClick:function(E){this.opened&&E!=this.skin&&this.$emit("change",E),this.opened=!this.opened}}},(function(){var E=this,d=E._self._c;return d("div",{class:{"emoji-mart-skin-swatches":!0,"emoji-mart-skin-swatches-opened":E.opened}},E._l(6,(function(m){return d("span",{key:m,class:{"emoji-mart-skin-swatch":!0,"emoji-mart-skin-swatch-selected":E.skin==m}},[d("span",{class:"emoji-mart-skin emoji-mart-skin-tone-"+m,on:{click:function(g){return E.onClick(m)}}})])})),0)}),[]).exports,he=Y({props:{data:{type:Object,required:!0},title:{type:String,required:!0},emoji:{type:[String,Object]},idleEmoji:{type:[String,Object],required:!0},showSkinTones:{type:Boolean,default:!0},emojiProps:{type:Object,required:!0},skinProps:{type:Object,required:!0},onSkinChange:{type:Function,required:!0}},computed:{emojiData:function(){return this.emoji?this.emoji:{}},emojiShortNames:function(){return this.emojiData.short_names},emojiEmoticons:function(){return this.emojiData.emoticons}},components:{Emoji:B,Skins:V}},(function(){var E=this,d=E._self._c;return d("div",{staticClass:"emoji-mart-preview"},[E.emoji?[d("div",{staticClass:"emoji-mart-preview-emoji"},[d("emoji",{attrs:{data:E.data,emoji:E.emoji,native:E.emojiProps.native,skin:E.emojiProps.skin,set:E.emojiProps.set}})],1),E._v(" "),d("div",{staticClass:"emoji-mart-preview-data"},[d("div",{staticClass:"emoji-mart-preview-name"},[E._v(E._s(E.emoji.name))]),E._v(" "),d("div",{staticClass:"emoji-mart-preview-shortnames"},E._l(E.emojiShortNames,(function(m){return d("span",{key:m,staticClass:"emoji-mart-preview-shortname"},[E._v(":"+E._s(m)+":")])})),0),E._v(" "),d("div",{staticClass:"emoji-mart-preview-emoticons"},E._l(E.emojiEmoticons,(function(m){return d("span",{key:m,staticClass:"emoji-mart-preview-emoticon"},[E._v(E._s(m))])})),0)])]:[d("div",{staticClass:"emoji-mart-preview-emoji"},[d("emoji",{attrs:{data:E.data,emoji:E.idleEmoji,native:E.emojiProps.native,skin:E.emojiProps.skin,set:E.emojiProps.set}})],1),E._v(" "),d("div",{staticClass:"emoji-mart-preview-data"},[d("span",{staticClass:"emoji-mart-title-label"},[E._v(E._s(E.title))])]),E._v(" "),E.showSkinTones?d("div",{staticClass:"emoji-mart-preview-skins"},[d("skins",{attrs:{skin:E.skinProps.skin},on:{change:function(m){return E.onSkinChange(m)}}})],1):E._e()]],2)}),[]).exports,me=Y({props:{data:{type:Object,required:!0},i18n:{type:Object,required:!0},autoFocus:{type:Boolean,default:!1},onSearch:{type:Function,required:!0},onArrowLeft:{type:Function,required:!1},onArrowRight:{type:Function,required:!1},onArrowDown:{type:Function,required:!1},onArrowUp:{type:Function,required:!1},onEnter:{type:Function,required:!1}},emits:["search","enter","arrowUp","arrowDown","arrowRight","arrowLeft"],data:function(){return{value:""}},computed:{emojiIndex:function(){return this.data}},watch:{value:function(){this.$emit("search",this.value)}},methods:{clear:function(){this.value=""}},mounted:function(){var E=this.$el.querySelector("input");this.autoFocus&&E.focus()}},(function(){var E=this,d=E._self._c;return d("div",{staticClass:"emoji-mart-search"},[d("input",{directives:[{name:"model",rawName:"v-model",value:E.value,expression:"value"}],attrs:{type:"text",placeholder:E.i18n.search,role:"textbox","aria-autocomplete":"list","aria-owns":"emoji-mart-list","aria-label":"Search for an emoji","aria-describedby":"emoji-mart-search-description"},domProps:{value:E.value},on:{keydown:[function(m){return!m.type.indexOf("key")&&E._k(m.keyCode,"left",37,m.key,["Left","ArrowLeft"])||"button"in m&&m.button!==0?null:function(g){return E.$emit("arrowLeft",g)}.apply(null,arguments)},function(m){return!m.type.indexOf("key")&&E._k(m.keyCode,"right",39,m.key,["Right","ArrowRight"])||"button"in m&&m.button!==2?null:function(){return E.$emit("arrowRight")}.apply(null,arguments)},function(m){return!m.type.indexOf("key")&&E._k(m.keyCode,"down",40,m.key,["Down","ArrowDown"])?null:function(){return E.$emit("arrowDown")}.apply(null,arguments)},function(m){return!m.type.indexOf("key")&&E._k(m.keyCode,"up",38,m.key,["Up","ArrowUp"])?null:function(g){return E.$emit("arrowUp",g)}.apply(null,arguments)},function(m){return!m.type.indexOf("key")&&E._k(m.keyCode,"enter",13,m.key,"Enter")?null:function(){return E.$emit("enter")}.apply(null,arguments)}],input:function(m){m.target.composing||(E.value=m.target.value)}}}),E._v(" "),d("span",{staticClass:"hidden",attrs:{id:"emoji-picker-search-description"}},[E._v(`Use the left, right, up and down arrow keys to navigate the emoji search results.`)])])}),[]),Ee=me.exports;function Ne(E,d){(d==null||d>E.length)&&(d=E.length);for(var m=0,g=new Array(d);m0})),this._categories[0].first=!0,Object.freeze(this._categories),this.activeCategory=this._categories[0],this.searchEmojis=null,this.previewEmoji=null,this.previewEmojiCategoryIdx=0,this.previewEmojiIdx=-1}),[{key:"onScroll",value:function(){var E=this._vm.$refs.scroll;if(E){for(var d=E.scrollTop,m=this.filteredCategories[0],g=0,D=this.filteredCategories.length;gd)break;m=P}this.activeCategory=m}}},{key:"allCategories",get:function(){return this._categories}},{key:"filteredCategories",get:function(){return this.searchEmojis?[{id:"search",name:"Search",emojis:this.searchEmojis}]:this._categories.filter((function(E){return E.emojis.length>0}))}},{key:"previewEmojiCategory",get:function(){return this.previewEmojiCategoryIdx>=0?this.filteredCategories[this.previewEmojiCategoryIdx]:null}},{key:"onAnchorClick",value:function(E){var d=this;if(!this.searchEmojis){var m=this.filteredCategories.indexOf(E),g=this._vm.getCategoryComponent(m);this._vm.infiniteScroll?(function(){if(g){var D=g.$el.offsetTop;E.first&&(D=0),d._vm.$refs.scroll.scrollTop=D}})():this.activeCategory=this.filteredCategories[m]}}},{key:"onSearch",value:function(E){var d=this._data.search(E,this.maxSearchResults);this.searchEmojis=d,this.previewEmojiCategoryIdx=0,this.previewEmojiIdx=0,this.updatePreviewEmoji()}},{key:"onEmojiEnter",value:function(E){this.previewEmoji=E,this.previewEmojiIdx=-1,this.previewEmojiCategoryIdx=-1}},{key:"onEmojiLeave",value:function(E){this.previewEmoji=null}},{key:"onArrowLeft",value:function(){this.previewEmojiIdx>0?this.previewEmojiIdx-=1:(this.previewEmojiCategoryIdx-=1,this.previewEmojiCategoryIdx<0?this.previewEmojiCategoryIdx=0:this.previewEmojiIdx=this.filteredCategories[this.previewEmojiCategoryIdx].emojis.length-1),this.updatePreviewEmoji()}},{key:"onArrowRight",value:function(){this.previewEmojiIdx=this.filteredCategories.length?this.previewEmojiCategoryIdx=this.filteredCategories.length-1:this.previewEmojiIdx=0),this.updatePreviewEmoji()}},{key:"onArrowDown",value:function(){if(this.previewEmojiIdx==-1)return this.onArrowRight();var E=this.filteredCategories[this.previewEmojiCategoryIdx].emojis.length,d=this._perLine;this.previewEmojiIdx+d>E&&(d=E%this._perLine);for(var m=0;m0?this.filteredCategories[this.previewEmojiCategoryIdx-1].emojis.length%this._perLine:0);for(var d=0;dg+d.scrollTop&&(d.scrollTop+=m.offsetHeight),m&&m.offsetTop"u")return 0;var E=document.createElement("div");E.style.width="100px",E.style.height="100px",E.style.overflow="scroll",E.style.position="absolute",E.style.top="-9999px",document.body.appendChild(E);var d=E.offsetWidth-E.clientWidth;return document.body.removeChild(E),d})()},filteredCategories:function(){return this.view.filteredCategories},mergedI18n:function(){return Object.freeze(X(Be,this.i18n))},idleEmoji:function(){try{return this.data.emoji(this.emoji)}catch(E){return console.error("Default preview emoji `"+this.emoji+"` is not available, check the Picker `emoji` property"),console.error(E),this.data.firstEmoji()}},isSearching:function(){return this.view.searchEmojis!=null}},watch:{skin:function(){this.onSkinChange(this.skin)}},methods:{onScroll:function(){this.infiniteScroll&&!this.waitingForPaint&&(this.waitingForPaint=!0,window.requestAnimationFrame(this.onScrollPaint.bind(this)))},onScrollPaint:function(){this.waitingForPaint=!1,this.view.onScroll()},onAnchorClick:function(E){this.view.onAnchorClick(E)},onSearch:function(E){this.view.onSearch(E)},onEmojiEnter:function(E){this.view.onEmojiEnter(E)},onEmojiLeave:function(E){this.view.onEmojiLeave(E)},onArrowLeft:function(E){var d=this.view.previewEmojiIdx;this.view.onArrowLeft(),E&&this.view.previewEmojiIdx!==d&&E.preventDefault()},onArrowRight:function(){this.view.onArrowRight()},onArrowDown:function(){this.view.onArrowDown()},onArrowUp:function(E){this.view.onArrowUp(),E.preventDefault()},onEnter:function(){this.view.previewEmoji&&(this.$emit("select",this.view.previewEmoji),q.add(this.view.previewEmoji))},onEmojiClick:function(E){this.$emit("select",E),q.add(E)},onTextSelect:function(E){E.stopPropagation()},onSkinChange:function(E){this.activeSkin=E,p.update({skin:E}),this.$emit("skin-change",E)},getCategoryComponent:function(E){var d=this.$refs["categories_"+E];return d&&"0"in d?d[0]:d}},components:{Anchors:_,Category:ee,Preview:he,Search:Ee}},Ge=Y(Qe,(function(){var E=this,d=E._self._c;return d("section",{staticClass:"emoji-mart emoji-mart-static",style:E.customStyles},[E.showCategories?d("div",{staticClass:"emoji-mart-bar emoji-mart-bar-anchors"},[d("anchors",{attrs:{data:E.data,i18n:E.mergedI18n,color:E.color,categories:E.view.allCategories,"active-category":E.view.activeCategory},on:{click:E.onAnchorClick}})],1):E._e(),E._v(" "),E._t("searchTemplate",(function(){return[E.showSearch?d("search",{ref:"search",attrs:{data:E.data,i18n:E.mergedI18n,"auto-focus":E.autoFocus,"on-search":E.onSearch},on:{search:E.onSearch,arrowLeft:E.onArrowLeft,arrowRight:E.onArrowRight,arrowDown:E.onArrowDown,arrowUp:E.onArrowUp,enter:E.onEnter,select:E.onTextSelect}}):E._e()]}),{data:E.data,i18n:E.i18n,autoFocus:E.autoFocus,onSearch:E.onSearch}),E._v(" "),d("div",{ref:"scroll",staticClass:"emoji-mart-scroll",attrs:{role:"tabpanel"},on:{scroll:E.onScroll}},[d("div",{ref:"scrollContent",attrs:{id:"emoji-mart-list",role:"listbox","aria-expanded":"true"}},[E._t("customCategory"),E._v(" "),E._l(E.view.filteredCategories,(function(m,g){return d("category",{directives:[{name:"show",rawName:"v-show",value:E.infiniteScroll||m==E.view.activeCategory||E.isSearching,expression:"infiniteScroll || category == view.activeCategory || isSearching"}],key:m.id,ref:"categories_"+g,refInFor:!0,attrs:{data:E.data,i18n:E.mergedI18n,id:m.id,name:m.name,emojis:m.emojis,"emoji-props":E.emojiProps}})}))],2)]),E._v(" "),E._t("previewTemplate",(function(){return[E.showPreview?d("div",{staticClass:"emoji-mart-bar emoji-mart-bar-preview"},[d("preview",{attrs:{data:E.data,title:E.title,emoji:E.view.previewEmoji,"idle-emoji":E.idleEmoji,"show-skin-tones":E.showSkinTones,"emoji-props":E.emojiProps,"skin-props":E.skinProps,"on-skin-change":E.onSkinChange}})],1):E._e()]}),{data:E.data,title:E.title,emoji:E.view.previewEmoji,idleEmoji:E.idleEmoji,showSkinTones:E.showSkinTones,emojiProps:E.emojiProps,skinProps:E.skinProps,onSkinChange:E.onSkinChange})],2)}),[]),uu=Ge.exports})(),a})()}))})(p4)),p4.exports}if(x9(),Kr("nextcloud-vue").persist(!0).build(),We(S5,ep,tp,np),Te("Search emoji"),Te("No emoji found"),Te("Search results"),Te("Frequently used"),Te("Smileys & Emotion"),Te("People & Body"),Te("Animals & Nature"),Te("Food & Drink"),Te("Activities"),Te("Travel & Places"),Te("Objects"),Te("Symbols"),Te("Flags"),Te("Custom"),new Lu(255,222,52,Te("Neutral skin color")),new Lu(228,205,166,Te("Light skin tone")),new Lu(250,221,192,Te("Medium light skin tone")),new Lu(174,129,87,Te("Medium skin tone")),new Lu(158,113,88,Te("Medium dark skin tone")),new Lu(96,79,69,Te("Dark skin tone")),Te("Pick an emoji"),We(H5),We(_5),We(up),Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-grid-baseline")),Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-clickable-area")),Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--clickable-area-small")),We(iy),We(sy),cs()?.circles?.teamResourceProviders,We(T5),Te("Related resources"),Te("Anything shared with the same group of people will show up here"),Array.prototype.find||(Array.prototype.find=function(e){if(this===null)throw new TypeError("Array.prototype.find called on null or undefined");if(typeof e!="function")throw new TypeError("predicate must be a function");for(var u=Object(this),t=u.length>>>0,n=arguments[1],i,a=0;a{k9(e,u,t,n)};function k9(e,u,t=()=>{},n){const i={hasInteractiveView:!0,fullWidth:!1,...n};if(window._vue_richtext_widgets[e]){Nn.error(`[ReferencePicker]: Widget for id ${e} already registered`);return}window._vue_richtext_widgets[e]={id:e,callback:u,onDestroy:t,...i}}window._vue_richtext_custom_picker_elements??={},window._registerCustomPickerElement??=b9;function b9(e,u,t=()=>{},n="large"){if(window._vue_richtext_custom_picker_elements[e]){Nn.error(`Custom reference picker element for id ${e} already registered`);return}window._vue_richtext_custom_picker_elements[e]={id:e,callback:u,onDestroy:t,size:n}}We(j5),Te("Any link"),sC("core","filetypes/link.svg"),window._vue_richtext_reference_providers??=qc("core","reference-provider-list",[]),window._vue_richtext_reference_provider_timestamps??=qc("core","reference-provider-timestamps",{}),We(gc,ly),We(Y5),We(W5),We(Q5,gc,np),We(M5,q4);const Ja=po(/[A-Za-z]/),wd=po(/[\dA-Za-z]/);function w9(e){return e!==null&&(e<32||e===127)}function Y0(e){return e!==null&&(e<0||e===32)}const qh=po(new RegExp("\\p{P}|\\p{S}","u")),Qa=po(/\s/);function po(e){return u;function u(t){return t!==null&&t>-1&&e.test(String.fromCharCode(t))}}const Yh=(function(e){if(e==null)return N9;if(typeof e=="function")return ho(e);if(typeof e=="object")return Array.isArray(e)?D9(e):F9(e);if(typeof e=="string")return S9(e);throw new Error("Expected function, string, or object as test")});function D9(e){const u=[];let t=-1;for(;++t0&&!t&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),t}ke(null),We(uy,tp),Te("Write a message …"),We(k5),{...Xp.props,placeholder:Te("Select a tag")};const V9={name:"HelpCircleIcon",emits:["click"],props:{title:{type:String},fillColor:{type:String,default:"currentColor"},size:{type:Number,default:24}}},U9=["aria-hidden","aria-label"],H9=["fill","width","height"],q9={d:"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z"},Y9={key:0};function W9(e,u,t,n,i,a){return j(),Q("span",Je(e.$attrs,{"aria-hidden":t.title?null:"true","aria-label":t.title,class:"material-design-icon help-circle-icon",role:"img",onClick:u[0]||(u[0]=s=>e.$emit("click",s))}),[(j(),Q("svg",{fill:t.fillColor,class:"material-design-icon__svg",width:t.size,height:t.size,viewBox:"0 0 24 24"},[xe("path",q9,[t.title?(j(),Q("title",Y9,Ue(t.title),1)):de("",!0)])],8,H9))],16,U9)}const K9=hu(V9,[["render",W9]]);We(K5);const G9={class:"settings-section"},Z9={class:"settings-section__name"},X9=["aria-label","href","title"],J9={key:0,class:"settings-section__desc"},Q9=ru({__name:"NcSettingsSection",props:{name:{},description:{default:""},docUrl:{default:""}},setup(e){const u=Te("External documentation");return(t,n)=>(j(),Q("div",G9,[xe("h2",Z9,[Wu(Ue(t.name)+" ",1),t.docUrl?(j(),Q("a",{key:0,"aria-label":N(u),class:"settings-section__info",href:t.docUrl,rel:"noreferrer nofollow",target:"_blank",title:N(u)},[He(K9,{size:20})],8,X9)):de("",!0)]),t.description?(j(),Q("p",J9,Ue(t.description),1)):de("",!0),Ae(t.$slots,"default",{},void 0,!0)]))}}),PS=hu(Q9,[["__scopeId","data-v-9cedb949"]]);We(vy),ap(function(e){this.loadGroup(e)},200);var f4={exports:{}},eS=f4.exports,Im;function uS(){return Im||(Im=1,(function(e){(function(u,t){e.exports?e.exports=t():u.Toastify=t()})(eS,function(u){var t=function(s){return new t.lib.init(s)},n="1.12.0";t.defaults={oldestFirst:!0,text:"Toastify is awesome!",node:void 0,duration:3e3,selector:void 0,callback:function(){},destination:void 0,newWindow:!1,close:!1,gravity:"toastify-top",positionLeft:!1,position:"",backgroundColor:"",avatar:"",className:"",stopOnFocus:!0,onClick:function(){},offset:{x:0,y:0},escapeMarkup:!0,ariaLive:"polite",style:{background:""}},t.lib=t.prototype={toastify:n,constructor:t,init:function(s){return s||(s={}),this.options={},this.toastElement=null,this.options.text=s.text||t.defaults.text,this.options.node=s.node||t.defaults.node,this.options.duration=s.duration===0?0:s.duration||t.defaults.duration,this.options.selector=s.selector||t.defaults.selector,this.options.callback=s.callback||t.defaults.callback,this.options.destination=s.destination||t.defaults.destination,this.options.newWindow=s.newWindow||t.defaults.newWindow,this.options.close=s.close||t.defaults.close,this.options.gravity=s.gravity==="bottom"?"toastify-bottom":t.defaults.gravity,this.options.positionLeft=s.positionLeft||t.defaults.positionLeft,this.options.position=s.position||t.defaults.position,this.options.backgroundColor=s.backgroundColor||t.defaults.backgroundColor,this.options.avatar=s.avatar||t.defaults.avatar,this.options.className=s.className||t.defaults.className,this.options.stopOnFocus=s.stopOnFocus===void 0?t.defaults.stopOnFocus:s.stopOnFocus,this.options.onClick=s.onClick||t.defaults.onClick,this.options.offset=s.offset||t.defaults.offset,this.options.escapeMarkup=s.escapeMarkup!==void 0?s.escapeMarkup:t.defaults.escapeMarkup,this.options.ariaLive=s.ariaLive||t.defaults.ariaLive,this.options.style=s.style||t.defaults.style,s.backgroundColor&&(this.options.style.background=s.backgroundColor),this},buildToast:function(){if(!this.options)throw"Toastify is not initialized";var s=document.createElement("div");s.className="toastify on "+this.options.className,this.options.position?s.className+=" toastify-"+this.options.position:this.options.positionLeft===!0?(s.className+=" toastify-left",console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead.")):s.className+=" toastify-right",s.className+=" "+this.options.gravity,this.options.backgroundColor&&console.warn('DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property.');for(var r in this.options.style)s.style[r]=this.options.style[r];if(this.options.ariaLive&&s.setAttribute("aria-live",this.options.ariaLive),this.options.node&&this.options.node.nodeType===Node.ELEMENT_NODE)s.appendChild(this.options.node);else if(this.options.escapeMarkup?s.innerText=this.options.text:s.innerHTML=this.options.text,this.options.avatar!==""){var o=document.createElement("img");o.src=this.options.avatar,o.className="toastify-avatar",this.options.position=="left"||this.options.positionLeft===!0?s.appendChild(o):s.insertAdjacentElement("afterbegin",o)}if(this.options.close===!0){var c=document.createElement("button");c.type="button",c.setAttribute("aria-label","Close"),c.className="toast-close",c.innerHTML="✖",c.addEventListener("click",function(A){A.stopPropagation(),this.removeElement(this.toastElement),window.clearTimeout(this.toastElement.timeOutValue)}.bind(this));var l=window.innerWidth>0?window.innerWidth:screen.width;(this.options.position=="left"||this.options.positionLeft===!0)&&l>360?s.insertAdjacentElement("afterbegin",c):s.appendChild(c)}if(this.options.stopOnFocus&&this.options.duration>0){var v=this;s.addEventListener("mouseover",function(A){window.clearTimeout(s.timeOutValue)}),s.addEventListener("mouseleave",function(){s.timeOutValue=window.setTimeout(function(){v.removeElement(s)},v.options.duration)})}if(typeof this.options.destination<"u"&&s.addEventListener("click",function(A){A.stopPropagation(),this.options.newWindow===!0?window.open(this.options.destination,"_blank"):window.location=this.options.destination}.bind(this)),typeof this.options.onClick=="function"&&typeof this.options.destination>"u"&&s.addEventListener("click",function(A){A.stopPropagation(),this.options.onClick()}.bind(this)),typeof this.options.offset=="object"){var p=i("x",this.options),f=i("y",this.options),C=this.options.position=="left"?p:"-"+p,h=this.options.gravity=="toastify-top"?f:"-"+f;s.style.transform="translate("+C+","+h+")"}return s},showToast:function(){this.toastElement=this.buildToast();var s;if(typeof this.options.selector=="string"?s=document.getElementById(this.options.selector):this.options.selector instanceof HTMLElement||typeof ShadowRoot<"u"&&this.options.selector instanceof ShadowRoot?s=this.options.selector:s=document.body,!s)throw"Root element is not defined";var r=t.defaults.oldestFirst?s.firstChild:s.lastChild;return s.insertBefore(this.toastElement,r),t.reposition(),this.options.duration>0&&(this.toastElement.timeOutValue=window.setTimeout(function(){this.removeElement(this.toastElement)}.bind(this),this.options.duration)),this},hideToast:function(){this.toastElement.timeOutValue&&clearTimeout(this.toastElement.timeOutValue),this.removeElement(this.toastElement)},removeElement:function(s){s.className=s.className.replace(" on",""),window.setTimeout(function(){this.options.node&&this.options.node.parentNode&&this.options.node.parentNode.removeChild(this.options.node),s.parentNode&&s.parentNode.removeChild(s),this.options.callback.call(s),t.reposition()}.bind(this),400)}},t.reposition=function(){for(var s={top:15,bottom:15},r={top:15,bottom:15},o={top:15,bottom:15},c=document.getElementsByClassName("toastify"),l,v=0;v0?window.innerWidth:screen.width;C<=360?(c[v].style[l]=o[l]+"px",o[l]+=p+f):a(c[v],"toastify-left")===!0?(c[v].style[l]=s[l]+"px",s[l]+=p+f):(c[v].style[l]=r[l]+"px",r[l]+=p+f)}return this};function i(s,r){return r.offset[s]?isNaN(r.offset[s])?r.offset[s]:r.offset[s]+"px":"0px"}function a(s,r){return!s||typeof r!="string"?!1:!!(s.className&&s.className.trim().split(/\s+/gi).indexOf(r)>-1)}return t.lib.init.prototype=t.lib,t})})(f4)),f4.exports}var tS=uS();const nS=is(tS),Qh=Qg().detectLanguage();for(const e of[{language:"ar",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" لا يصلح كاسم مجلد.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" غير مسموح به كاسم مجلد']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" غير مسموح به داخل اسم مجلد.']},{msgid:"All files",msgstr:["كل الملفات"]},{msgid:"Choose",msgstr:["إختَر"]},{msgid:"Choose {file}",msgstr:["إختر {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["إختَر %n ملف","إختَر %n ملف","إختَر %n ملف","إختَر %n ملفات","إختَر %n ملف","إختر %n ملف"]},{msgid:"Copy",msgstr:["نسخ"]},{msgid:"Copy to {target}",msgstr:["نسخ إلى {target}"]},{msgid:"Could not create the new folder",msgstr:["تعذّر إنشاء المجلد الجديد"]},{msgid:"Could not load files settings",msgstr:["يتعذّر تحميل إعدادات الملفات"]},{msgid:"Could not load files views",msgstr:["تعذر تحميل عرض الملفات"]},{msgid:"Create directory",msgstr:["إنشاء مجلد"]},{msgid:"Current view selector",msgstr:["محدد العرض الحالي"]},{msgid:"Favorites",msgstr:["المفضلة"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["الملفات والمجلدات التي تحددها كمفضلة ستظهر هنا."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["الملفات و المجلدات التي قمت مؤخراً بتعديلها سوف تظهر هنا."]},{msgid:"Filter file list",msgstr:["تصفية قائمة الملفات"]},{msgid:"Folder name cannot be empty.",msgstr:["اسم المجلد لا يمكن أن يكون فارغاً."]},{msgid:"Home",msgstr:["البداية"]},{msgid:"Modified",msgstr:["التعديل"]},{msgid:"Move",msgstr:["نقل"]},{msgid:"Move to {target}",msgstr:["نقل إلى {target}"]},{msgid:"Name",msgstr:["الاسم"]},{msgid:"New",msgstr:["جديد"]},{msgid:"New folder",msgstr:["مجلد جديد"]},{msgid:"New folder name",msgstr:["اسم المجلد الجديد"]},{msgid:"No files in here",msgstr:["لا توجد ملفات هنا"]},{msgid:"No files matching your filter were found.",msgstr:["لا توجد ملفات تتطابق مع عامل التصفية الذي وضعته"]},{msgid:"No matching files",msgstr:["لا توجد ملفات مطابقة"]},{msgid:"Recent",msgstr:["الحالي"]},{msgid:"Select all entries",msgstr:["حدد جميع الإدخالات"]},{msgid:"Select entry",msgstr:["إختَر المدخل"]},{msgid:"Select the row for {nodename}",msgstr:["إختر سطر الـ {nodename}"]},{msgid:"Size",msgstr:["الحجم"]},{msgid:"Undo",msgstr:["تراجع"]},{msgid:"Upload some content or sync with your devices!",msgstr:["قم برفع بعض المحتوى أو المزامنة مع أجهزتك!"]}]},{language:"ast",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["«{name}» ye un nome de carpeta inválidu."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["«{name}» ye un nome de carpeta inválidu"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["Nun se permite'l caráuter «/» dientro'l nome de les carpetes."]},{msgid:"All files",msgstr:["Tolos ficheros"]},{msgid:"Choose",msgstr:["Escoyer"]},{msgid:"Choose {file}",msgstr:["Escoyer «{ficheru}»"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Escoyer %n ficheru","Escoyer %n ficheros"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar en: {target}"]},{msgid:"Could not create the new folder",msgstr:["Nun se pudo crear la carpeta"]},{msgid:"Could not load files settings",msgstr:["Nun se pudo cargar la configuración de los ficheros"]},{msgid:"Could not load files views",msgstr:["Nun se pudieron cargar les vistes de los ficheros"]},{msgid:"Create directory",msgstr:["Crear un direutoriu"]},{msgid:"Current view selector",msgstr:["Selector de la vista actual"]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Equí apaecen los ficheros y les carpetes que metas en Favoritos."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Equí apaecen los fichero y les carpetes que modificares apocayá."]},{msgid:"Filter file list",msgstr:["Peñerar la llista de ficheros"]},{msgid:"Folder name cannot be empty.",msgstr:["El nome de la carpeta nun pue tar baleru."]},{msgid:"Home",msgstr:["Aniciu"]},{msgid:"Modified",msgstr:["Modificóse"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover a {target}"]},{msgid:"Name",msgstr:["Nome"]},{msgid:"New",msgstr:["Nuevu"]},{msgid:"New folder",msgstr:["Carpeta nueva"]},{msgid:"New folder name",msgstr:["Nome de carpeta nuevu"]},{msgid:"No files in here",msgstr:["Equí nun hai nengún ficheru"]},{msgid:"No files matching your filter were found.",msgstr:["Nun s'atopó nengún ficheru que concasare cola peñera."]},{msgid:"No matching files",msgstr:["Nun hai nengún ficheru que concase"]},{msgid:"Recent",msgstr:["De recién"]},{msgid:"Select all entries",msgstr:["Seleicionar toles entraes"]},{msgid:"Select entry",msgstr:["Seleicionar la entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Seleicionar la filera de: {nodename}"]},{msgid:"Size",msgstr:["Tamañu"]},{msgid:"Undo",msgstr:["Desfacer"]},{msgid:"Upload some content or sync with your devices!",msgstr:["¡Xubi dalgún elementu o sincroniza colos tos preseos!"]}]},{language:"ca",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:[`No és permès d'usar el caràcter "{char}" en un nom.`]},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" no és un nom permès.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" no és vàlid com a nom de carpeta.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" no és vàlid com a nom de carpeta']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" és un mot reservat i no està permès com a nom.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:[`"/" no està permès en el nom d'una carpeta.`]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n conflicte de fitxers","%n conflictes de fitxers"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n onflicte de fitxers a {dirname}","%n conflictes de fitxers a {dirname}"]},{msgid:"All files",msgstr:["Tots els fitxers"]},{msgid:"Cancel",msgstr:["Cancel·lar"]},{msgid:"Cancel the entire operation",msgstr:["Cancel·lar tota l'operació"]},{msgid:"Choose",msgstr:["Tria"]},{msgid:"Choose {file}",msgstr:["Tria {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Tria %n fitxer","Tria %n fitxers"]},{msgid:"Confirm",msgstr:["Confirma"]},{msgid:"Continue",msgstr:["Continuar"]},{msgid:"Copy",msgstr:["Copia"]},{msgid:"Copy to {target}",msgstr:["Copia a {target}"]},{msgid:"Could not create the new folder",msgstr:["No s'ha pogut crear la carpeta nova"]},{msgid:"Could not load files settings",msgstr:["No es poden carregar fitxers de configuració"]},{msgid:"Could not load files views",msgstr:["No es poden carregar fitxers de vistes"]},{msgid:"Create directory",msgstr:["Crea un directori"]},{msgid:"Current view selector",msgstr:["Selector de visualització actual"]},{msgid:"Enter your name",msgstr:["Escriviu el vostre nom"]},{msgid:"Existing version",msgstr:["Versió existent"]},{msgid:"Failed to set nickname.",msgstr:["No s'ha pogut desar el sobrenom."]},{msgid:"Favorites",msgstr:["Preferits"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Els fitxers i les carpetes que marqueu com a favorits es mostraran aquí."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Els fitxers i les carpetes recentment modificats es mostraran aquí."]},{msgid:"Filter file list",msgstr:["Filtrar llistat de fitxers"]},{msgid:"Folder name cannot be empty.",msgstr:["El nom de la carpeta no pot estar buit."]},{msgid:"Guest identification",msgstr:["Identificació com a convidat"]},{msgid:"Home",msgstr:["Inici"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Si seleccioneu les dues versions, el fitxer entrant tindrà un número afegit al seu nom."]},{msgid:"Invalid name.",msgstr:["Nom no vàlid."]},{msgid:"Last modified date unknown",msgstr:["Data de l'última modificació desconeguda"]},{msgid:"Modified",msgstr:["Data de modificació"]},{msgid:"Move",msgstr:["Desplaça"]},{msgid:"Move to {target}",msgstr:["Desplaça a {target}"]},{msgid:"Name",msgstr:["Nom"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Els noms poden tenir com a màxim 64 caràcters."]},{msgid:"Names must not be empty.",msgstr:["Els noms no poden ser buits."]},{msgid:'Names must not end with "{extension}".',msgstr:[`Els noms no poden acabar amb l'extensió "{extension}".`]},{msgid:"Names must not start with a dot.",msgstr:["Els noms no poden començar amb un punt."]},{msgid:"New",msgstr:["Crea"]},{msgid:"New folder",msgstr:["Carpeta nova"]},{msgid:"New folder name",msgstr:["Nom de la carpeta nova"]},{msgid:"New version",msgstr:["Nova versió"]},{msgid:"No files in here",msgstr:["No hi ha cap fitxer"]},{msgid:"No files matching your filter were found.",msgstr:["No s'ha trobat cap fitxer que coincideixi amb el filtre."]},{msgid:"No matching files",msgstr:["No hi ha cap fitxer que coincideixi"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Si us plau, escriu un nom amb 2 caràcters com a mínim."]},{msgid:"Recent",msgstr:["Recents"]},{msgid:"Select all checkboxes",msgstr:["Selecciona totes les caselles de selecció"]},{msgid:"Select all entries",msgstr:["Selecciona totes les entrades"]},{msgid:"Select all existing files",msgstr:["Selecciona tots els fitxers existents"]},{msgid:"Select all new files",msgstr:["Selecciona tots els fitxers nous"]},{msgid:"Select entry",msgstr:["Selecciona l'entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Selecciona la fila per a {nodename}"]},{msgid:"Size",msgstr:["Mida"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Omet %n fitxer","Omet %n fitxers"]},{msgid:"Skip this file",msgstr:["Omet aquest fitxer"]},{msgid:"Submit name",msgstr:["Entreu el nom"]},{msgid:"Undo",msgstr:["Desfés"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Pugeu contingut o sincronitzeu-lo amb els vostres dispositius!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Quan es selecciona una carpeta entrant, també se sobreescriuran els fitxers que hi entrin en conflicte."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Quan es selecciona una carpeta entrant, el contingut s'escriu a la carpeta existent i es realitza una resolució recursiva de conflictes."]},{msgid:"Which files do you want to keep?",msgstr:["Quins fitxers voleu conservar?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Actualment se us mostra com a {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Actualment no esteu identificat."]},{msgid:"You cannot leave the name empty.",msgstr:["No podeu deixar el nom buit."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Heu de triar com a mínim una solució de conflicte"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Heu de seleccionar com a mínim una versió de cada fitxer per continuar."]}]},{language:"cs_CZ",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:["„{char}“ není možné použít uvnitř názvu."]},{msgid:'"{extension}" is not an allowed name.',msgstr:["„{extension}“ není možné použít jako název."]},{msgid:'"{name}" is an invalid folder name.',msgstr:["„{name}“ není platný název složky."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["„{name}“ není povolený název složky."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["„{segment}“ je vyhrazeným názvem a není možné ho použít."]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["znak „/“ (dopředné lomítko) není možné použít uvnitř názvu složky."]},{msgid:"All files",msgstr:["Veškeré soubory"]},{msgid:"Cancel",msgstr:["Storno"]},{msgid:"Choose",msgstr:["Zvolit"]},{msgid:"Choose {file}",msgstr:["Zvolit {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Zvolte %n soubor","Zvolte %n soubory","Zvolte %n souborů","Zvolte %n soubory"]},{msgid:"Copy",msgstr:["Zkopírovat"]},{msgid:"Copy to {target}",msgstr:["Zkopírovat do {target}"]},{msgid:"Could not create the new folder",msgstr:["Novou složku se nepodařilo vytvořit"]},{msgid:"Could not load files settings",msgstr:["Nepodařilo se načíst nastavení pro soubory"]},{msgid:"Could not load files views",msgstr:["Nepodařilo se načíst pohledy souborů"]},{msgid:"Create directory",msgstr:["Vytvořit složku"]},{msgid:"Current view selector",msgstr:["Výběr stávajícího zobrazení"]},{msgid:"Enter your name",msgstr:["Zadejte své jméno"]},{msgid:"Failed to set nickname.",msgstr:["Nepodařilo se nastavit přezdívku."]},{msgid:"Favorites",msgstr:["Oblíbené"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Zde se zobrazí soubory a složky, které označíte jako oblíbené."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Zde se zobrazí soubory a složky, které jste nedávno pozměnili."]},{msgid:"Filter file list",msgstr:["Filtrovat seznam souborů"]},{msgid:"Folder name cannot be empty.",msgstr:["Složku je třeba nějak nazvat."]},{msgid:"Guest identification",msgstr:["Identifikace hosta"]},{msgid:"Home",msgstr:["Domů"]},{msgid:"Invalid name.",msgstr:["Neplatný název."]},{msgid:"Modified",msgstr:["Změněno"]},{msgid:"Move",msgstr:["Přesounout"]},{msgid:"Move to {target}",msgstr:["Přesunout do {target}"]},{msgid:"Name",msgstr:["Název"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Je třeba, aby délka jmen nepřesahovala 64 znaků."]},{msgid:"Names must not be empty.",msgstr:["Názvy je třeba vyplnit."]},{msgid:'Names must not end with "{extension}".',msgstr:["Názvy nemohou končit na „{extension}“."]},{msgid:"Names must not start with a dot.",msgstr:["Názvy nemohou začínat tečkou."]},{msgid:"New",msgstr:["Nové"]},{msgid:"New folder",msgstr:["Nová složka"]},{msgid:"New folder name",msgstr:["Název pro novou složku"]},{msgid:"No files in here",msgstr:["Nejsou zde žádné soubory"]},{msgid:"No files matching your filter were found.",msgstr:["Nenalezeny žádné soubory odpovídající vašemu filtru"]},{msgid:"No matching files",msgstr:["Žádné odpovídající soubory"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Zadejte jméno dlouhé alespoň 2 znaky."]},{msgid:"Recent",msgstr:["Nedávné"]},{msgid:"Select all entries",msgstr:["Vybrat všechny položky"]},{msgid:"Select entry",msgstr:["Vybrat položku"]},{msgid:"Select the row for {nodename}",msgstr:["Vybrat řádek pro {nodename}"]},{msgid:"Size",msgstr:["Velikost"]},{msgid:"Submit name",msgstr:["Odeslat jméno"]},{msgid:"Undo",msgstr:["Zpět"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Nahrajte sem nějaký obsah nebo proveďte synchronizaci se svými zařízeními!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["V tuto chvíli jste identifikováni jako {nickname}."]},{msgid:"You are currently not identified.",msgstr:["V tuto chvíli nejste identifikovaní."]},{msgid:"You cannot leave the name empty.",msgstr:["Jméno nelze ponechat nevyplněné."]}]},{language:"da",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" er ikke tilladt i et navn.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" er ikke tilladt i et navn.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" er et ugyldigt mappenavn.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" er ikke et tilladt mappenavn']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" er et reserveret navn og er derfor ikke tilladt.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" er ikke tilladt i et mappenavn.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n filkonflikt","%n filer konflikter"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n filkonflikt i {dirname}","%n filkonflikter i {dirname}"]},{msgid:"All files",msgstr:["Alle filer"]},{msgid:"Cancel",msgstr:["Fortryd"]},{msgid:"Cancel the entire operation",msgstr:["Annullér hele operationen"]},{msgid:"Choose",msgstr:["Vælg"]},{msgid:"Choose {file}",msgstr:["Vælg {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Vælg %n fil","Vælg %n filer"]},{msgid:"Confirm",msgstr:["Bekræft"]},{msgid:"Continue",msgstr:["Fortsæt"]},{msgid:"Copy",msgstr:["Kopier"]},{msgid:"Copy to {target}",msgstr:["Kopier til {target}"]},{msgid:"Could not create the new folder",msgstr:["Kunne ikke oprette den nye mappe"]},{msgid:"Could not load files settings",msgstr:["Filindstillingerne kunne ikke indlæses"]},{msgid:"Could not load files views",msgstr:["Kunne ikke indlæse filvisninger"]},{msgid:"Create directory",msgstr:["Opret mappe"]},{msgid:"Current view selector",msgstr:["Aktuel visningsvælger"]},{msgid:"Enter your name",msgstr:["Indtast dit navn"]},{msgid:"Existing version",msgstr:["Eksisterende version"]},{msgid:"Failed to set nickname.",msgstr:["Forsøg på at gemme kaldenavn mislykkedes."]},{msgid:"Favorites",msgstr:["Favoritter"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Filer og mapper, du markerer som foretrukne, vises her."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Filer og mapper, du for nylig har ændret, vises her."]},{msgid:"Filter file list",msgstr:["Filtrer fil liste"]},{msgid:"Folder name cannot be empty.",msgstr:["Mappenavnet må ikke være tomt."]},{msgid:"Guest identification",msgstr:["Gæsteidentifikation"]},{msgid:"Home",msgstr:["Hjem"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Hvis du vælger begge versioner, vil den indkommende fil have et nummer tilføjet til sit navn."]},{msgid:"Invalid name.",msgstr:["Ugyldigt navn."]},{msgid:"Last modified date unknown",msgstr:["Senest ændret dato ukendt"]},{msgid:"Modified",msgstr:["Ændret"]},{msgid:"Move",msgstr:["Flyt"]},{msgid:"Move to {target}",msgstr:["Flyt til {target}"]},{msgid:"Name",msgstr:["Navn"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Navne kan højst være 64 tegn lange."]},{msgid:"Names must not be empty.",msgstr:["Navne kan ikke være tomt."]},{msgid:'Names must not end with "{extension}".',msgstr:['Navne må ikke ende på "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Navne skal starte med et punktum."]},{msgid:"New",msgstr:["Ny"]},{msgid:"New folder",msgstr:["Ny mappe"]},{msgid:"New folder name",msgstr:["Ny mappe navn"]},{msgid:"New version",msgstr:["Ny version"]},{msgid:"No files in here",msgstr:["Ingen filer here"]},{msgid:"No files matching your filter were found.",msgstr:["Der blev ikke fundet nogen filer, der matcher dit filter."]},{msgid:"No matching files",msgstr:["Ingen matchende filer"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Indtast et navn med mindst 2 tegn."]},{msgid:"Recent",msgstr:["Seneste"]},{msgid:"Select all checkboxes",msgstr:["Markér alle afkrydsningsfelter"]},{msgid:"Select all entries",msgstr:["Vælg alle poster"]},{msgid:"Select all existing files",msgstr:["Vælg alle eksisterende filer"]},{msgid:"Select all new files",msgstr:["Vælg alle nye filer"]},{msgid:"Select entry",msgstr:["Vælg post"]},{msgid:"Select the row for {nodename}",msgstr:["Vælg rækken for {nodenavn}"]},{msgid:"Size",msgstr:["Størelse"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Spring %n fil over","Spring %n filer over"]},{msgid:"Skip this file",msgstr:["Spring denne fil over"]},{msgid:"Submit name",msgstr:["Indsend navn"]},{msgid:"Undo",msgstr:["Fortryd"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Upload noget indhold eller synkroniser med dine enheder!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Når en indkommende mappe er valgt, vil eventuelle modstridende filer i det også blive overskrevet."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Når en indkommende mappe er valgt, er indholdet skrevet ind i den eksisterende mappe og en rekursiv konfliktløsning udføres."]},{msgid:"Which files do you want to keep?",msgstr:["Hvilke filer vil du have?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Du er i øjeblikket identificeret som {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Du er ikke identificeret."]},{msgid:"You cannot leave the name empty.",msgstr:["Du kan ikke efterlade navnet tomt."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Du skal vælge mindst én konfliktløsning"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du skal vælge mindst én version af hver fil for at fortsætte."]}]},{language:"de",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" ist innerhalb eines Namens nicht zulässig.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" ist kein zulässiger Name.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" ist ein ungültiger Ordnername.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" ist kein zulässiger Ordnername']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" ist ein reservierter Name und nicht zulässig.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" ist innerhalb eines Ordnernamens nicht zulässig.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n Dateikonflikt","%n Dateikonflikte"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n Dateikonflikt in {dirname}","%n Dateikonflikte in {dirname}"]},{msgid:"All files",msgstr:["Alle Dateien"]},{msgid:"Cancel",msgstr:["Abbrechen"]},{msgid:"Cancel the entire operation",msgstr:["Den gesamten Vorgang abbrechen"]},{msgid:"Choose",msgstr:["Auswählen"]},{msgid:"Choose {file}",msgstr:["{file} auswählen"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["%n Datei auswählen","%n Dateien auswählen"]},{msgid:"Confirm",msgstr:["Bestätigen"]},{msgid:"Continue",msgstr:["Fortsetzen"]},{msgid:"Copy",msgstr:["Kopieren"]},{msgid:"Copy to {target}",msgstr:["Nach {target} kopieren"]},{msgid:"Could not create the new folder",msgstr:["Der neue Ordner konnte nicht erstellt werden"]},{msgid:"Could not load files settings",msgstr:["Dateieinstellungen konnten nicht geladen werden"]},{msgid:"Could not load files views",msgstr:["Dateiansichten konnten nicht geladen werden"]},{msgid:"Create directory",msgstr:["Verzeichnis erstellen"]},{msgid:"Current view selector",msgstr:["Aktuelle Ansichtsauswahl"]},{msgid:"Enter your name",msgstr:["Gib deinen Namen ein"]},{msgid:"Existing version",msgstr:["Vorhandene Version"]},{msgid:"Failed to set nickname.",msgstr:["Spitzname konnte nicht gespeichert werden."]},{msgid:"Favorites",msgstr:["Favoriten"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Dateien und Ordner, die du als Favorit markierst, werden hier angezeigt."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Dateien und Ordner, die du kürzlich geändert hast, werden hier angezeigt."]},{msgid:"Filter file list",msgstr:["Dateiliste filtern"]},{msgid:"Folder name cannot be empty.",msgstr:["Der Ordnername darf nicht leer sein."]},{msgid:"Guest identification",msgstr:["Gast-Identifikation"]},{msgid:"Home",msgstr:["Home"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Wenn beide Versionen ausgewählt werden, wird dem Namen der eingehenden Datei eine Nummer hinzugefügt."]},{msgid:"Invalid name.",msgstr:["Ungültiger Name."]},{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},{msgid:"Modified",msgstr:["Geändert"]},{msgid:"Move",msgstr:["Verschieben"]},{msgid:"Move to {target}",msgstr:["Nach {target} verschieben"]},{msgid:"Name",msgstr:["Name"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Namen dürfen maximal 64 Zeichen lang sein."]},{msgid:"Names must not be empty.",msgstr:["Namen dürfen nicht leer sein."]},{msgid:'Names must not end with "{extension}".',msgstr:['Namen dürfen nicht mit "{extension}" enden.']},{msgid:"Names must not start with a dot.",msgstr:["Namen dürfen nicht mit einem Punkt beginnen."]},{msgid:"New",msgstr:["Neu"]},{msgid:"New folder",msgstr:["Neuer Ordner"]},{msgid:"New folder name",msgstr:["Neuer Ordnername"]},{msgid:"New version",msgstr:["Neue Version"]},{msgid:"No files in here",msgstr:["Hier sind keine Dateien"]},{msgid:"No files matching your filter were found.",msgstr:["Es wurden keine Dateien gefunden, die deinem Filter entsprechen."]},{msgid:"No matching files",msgstr:["Keine passenden Dateien"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Bitte einen Namen mit mindestens zwei Zeichen eingeben."]},{msgid:"Recent",msgstr:["Neueste"]},{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},{msgid:"Select all entries",msgstr:["Alle Einträge auswählen"]},{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},{msgid:"Select entry",msgstr:["Eintrag auswählen"]},{msgid:"Select the row for {nodename}",msgstr:["Die Zeile für {nodename} auswählen."]},{msgid:"Size",msgstr:["Größe"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n Datei überspringen","%n Dateien überspringen"]},{msgid:"Skip this file",msgstr:["Diese Datei überspringen"]},{msgid:"Submit name",msgstr:["Namen senden"]},{msgid:"Undo",msgstr:["Rückgängig machen"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Lade Inhalte hoch oder synchronisiere diese mit deinen Geräten!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien mit Konflikten überschrieben."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Bei Auswahl eines eingehenden Ordners wird der Inhalt in den vorhandenen Ordner geschrieben und eine rekursive Konfliktlösung durchgeführt."]},{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien sollen behalten werden?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Du bist derzeit als {nickname} identifiziert."]},{msgid:"You are currently not identified.",msgstr:["Du bist momentan nicht identifiziert."]},{msgid:"You cannot leave the name empty.",msgstr:["Du kannst den Namen nicht leer lassen."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Es muss mindestens eine Konfliktlösung gewählt werden"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Es muss mindestens eine Version jeder Datei ausgewählt werden, um fortzufahren."]}]},{language:"de_DE",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" ist innerhalb eines Namens nicht zulässig.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" ist kein zulässiger Name.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" ist ein ungültiger Ordnername.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" ist kein zulässiger Ordnername']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" ist ein reservierter Name und nicht zulässig.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" ist innerhalb eines Ordnernamens nicht zulässig.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n Dateikonflikt","%n Dateikonflikte"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n Dateikonflikt in {dirname}","%n Dateikonflikte in {dirname}"]},{msgid:"All files",msgstr:["Alle Dateien"]},{msgid:"Cancel",msgstr:["Abbrechen"]},{msgid:"Cancel the entire operation",msgstr:["Den gesamten Vorgang abbrechen"]},{msgid:"Choose",msgstr:["Auswählen"]},{msgid:"Choose {file}",msgstr:["{file} auswählen"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["%n Datei auswählen","%n Dateien auswählen"]},{msgid:"Confirm",msgstr:["Bestätigen"]},{msgid:"Continue",msgstr:["Fortsetzen"]},{msgid:"Copy",msgstr:["Kopieren"]},{msgid:"Copy to {target}",msgstr:["Nach {target} kopieren"]},{msgid:"Could not create the new folder",msgstr:["Der neue Ordner konnte nicht erstellt werden"]},{msgid:"Could not load files settings",msgstr:["Dateieinstellungen konnten nicht geladen werden"]},{msgid:"Could not load files views",msgstr:["Dateiansichten konnten nicht geladen werden"]},{msgid:"Create directory",msgstr:["Verzeichnis erstellen"]},{msgid:"Current view selector",msgstr:["Aktuelle Ansichtsauswahl"]},{msgid:"Enter your name",msgstr:["Geben Sie Ihren Namen ein"]},{msgid:"Existing version",msgstr:["Vorhandene Version"]},{msgid:"Failed to set nickname.",msgstr:["Spitzname konnte nicht gespeichert werden."]},{msgid:"Favorites",msgstr:["Favoriten"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Dateien und Ordner, die Sie als Favorit markieren, werden hier angezeigt."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Dateien und Ordner, die Sie kürzlich geändert haben, werden hier angezeigt."]},{msgid:"Filter file list",msgstr:["Dateiliste filtern"]},{msgid:"Folder name cannot be empty.",msgstr:["Der Ordnername darf nicht leer sein."]},{msgid:"Guest identification",msgstr:["Gast-Identifikation"]},{msgid:"Home",msgstr:["Home"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Wenn beide Versionen ausgewählt werden, wird dem Namen der eingehenden Datei eine Nummer hinzugefügt."]},{msgid:"Invalid name.",msgstr:["Ungültiger Name."]},{msgid:"Last modified date unknown",msgstr:["Datum der letzten Änderung unbekannt"]},{msgid:"Modified",msgstr:["Geändert"]},{msgid:"Move",msgstr:["Verschieben"]},{msgid:"Move to {target}",msgstr:["Nach {target} verschieben"]},{msgid:"Name",msgstr:["Name"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Namen dürfen maximal 64 Zeichen lang sein."]},{msgid:"Names must not be empty.",msgstr:["Namen dürfen nicht leer sein."]},{msgid:'Names must not end with "{extension}".',msgstr:['Namen dürfen nicht mit "{extension}" enden.']},{msgid:"Names must not start with a dot.",msgstr:["Namen dürfen nicht mit einem Punkt beginnen."]},{msgid:"New",msgstr:["Neu"]},{msgid:"New folder",msgstr:["Neuer Ordner"]},{msgid:"New folder name",msgstr:["Neuer Ordnername"]},{msgid:"New version",msgstr:["Neue Version"]},{msgid:"No files in here",msgstr:["Hier sind keine Dateien"]},{msgid:"No files matching your filter were found.",msgstr:["Es wurden keine Dateien gefunden, die Ihrem Filter entsprechen."]},{msgid:"No matching files",msgstr:["Keine passenden Dateien"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Bitte einen Namen mit mindestens zwei Zeichen eingeben."]},{msgid:"Recent",msgstr:["Neueste"]},{msgid:"Select all checkboxes",msgstr:["Alle Kontrollkästchen aktivieren"]},{msgid:"Select all entries",msgstr:["Alle Einträge auswählen"]},{msgid:"Select all existing files",msgstr:["Alle vorhandenen Dateien auswählen"]},{msgid:"Select all new files",msgstr:["Alle neuen Dateien auswählen"]},{msgid:"Select entry",msgstr:["Eintrag auswählen"]},{msgid:"Select the row for {nodename}",msgstr:["Die Zeile für {nodename} auswählen."]},{msgid:"Size",msgstr:["Größe"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n Datei überspringen","%n Dateien überspringen"]},{msgid:"Skip this file",msgstr:["Diese Datei überspringen"]},{msgid:"Submit name",msgstr:["Namen senden"]},{msgid:"Undo",msgstr:["Rückgängig machen"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Laden Sie Inhalte hoch oder synchronisieren Sie diese mit Ihren Geräten!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Wenn ein eingehender Ordner ausgewählt wird, werden auch alle darin enthaltenen Dateien mit Konflikten überschrieben."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Bei Auswahl eines eingehenden Ordners wird der Inhalt in den vorhandenen Ordner geschrieben und eine rekursive Konfliktlösung durchgeführt."]},{msgid:"Which files do you want to keep?",msgstr:["Welche Dateien sollen behalten werden?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Sie sind derzeit als {nickname} identifiziert."]},{msgid:"You are currently not identified.",msgstr:["Sie sind momentan nicht identifiziert."]},{msgid:"You cannot leave the name empty.",msgstr:["Sie können den Namen nicht leer lassen."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Es muss mindestens eine Konfliktlösung gewählt werden"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Es muss mindestens eine Version jeder Datei ausgewählt werden, um fortzufahren."]}]},{language:"el",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" δεν επιτρέπεται μέσα σε ένα όνομα.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" δεν είναι επιτρεπτό όνομα.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['Το "{name}" δεν είναι έγκυρο όνομα φακέλου.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['Το "{name}" δεν είναι επιτρεπτό όνομα φακέλου']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" είναι ένα δεσμευμένο όνομα και δεν επιτρέπεται.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['Το "/" δεν επιτρέπεται μέσα στο όνομα ενός φακέλου.']},{msgid:"All files",msgstr:["Όλα τα αρχεία"]},{msgid:"Cancel",msgstr:["Ακύρωση"]},{msgid:"Choose",msgstr:["Επιλογή"]},{msgid:"Choose {file}",msgstr:["Επιλέξτε {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Επιλέξτε %n αρχείο","Επιλέξτε %n αρχεία"]},{msgid:"Copy",msgstr:["Αντιγραφή"]},{msgid:"Copy to {target}",msgstr:["Αντιγραφή στο {target}"]},{msgid:"Could not create the new folder",msgstr:["Αδυναμία δημιουργίας νέου φακέλου"]},{msgid:"Could not load files settings",msgstr:["Αδυναμία φόρτωσης ρυθμίσεων αρχείων"]},{msgid:"Could not load files views",msgstr:["Αδυναμία φόρτωσης προβολών αρχείων"]},{msgid:"Create directory",msgstr:["Δημιουργία καταλόγου"]},{msgid:"Current view selector",msgstr:["Επιλογέας τρέχουσας προβολής"]},{msgid:"Enter your name",msgstr:["Εισάγετε το όνομά σας"]},{msgid:"Failed to set nickname.",msgstr:["Αποτυχία στην ρύθμιση του ψευδώνυμου."]},{msgid:"Favorites",msgstr:["Αγαπημένα"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Τα αρχεία και οι φάκελοι που επισημάνετε ως αγαπημένα θα εμφανίζονται εδώ."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Τα αρχεία και οι φάκελοι που τροποποιήσατε πρόσφατα θα εμφανίζονται εδώ."]},{msgid:"Filter file list",msgstr:["Φιλτράρισμα λίστας αρχείων"]},{msgid:"Folder name cannot be empty.",msgstr:["Το όνομα του φακέλου δεν μπορεί να είναι κενό."]},{msgid:"Guest identification",msgstr:["Ταυτοποίηση επισκέπτη"]},{msgid:"Home",msgstr:["Αρχική"]},{msgid:"Invalid name.",msgstr:["Μη έγκυρο όνομα."]},{msgid:"Modified",msgstr:["Τροποποιήθηκε"]},{msgid:"Move",msgstr:["Μετακίνηση"]},{msgid:"Move to {target}",msgstr:["Μετακίνηση στο {target}"]},{msgid:"Name",msgstr:["Όνομα"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Τα ονόματα μπορούν να έχουν μέγιστο μήκος 64 χαρακτήρες."]},{msgid:"Names must not be empty.",msgstr:["Τα ονόματα δεν πρέπει να είναι κενά."]},{msgid:'Names must not end with "{extension}".',msgstr:['Τα ονόματα δεν πρέπει να τελειώνουν με "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Τα ονόματα δεν πρέπει να ξεκινούν με τελεία."]},{msgid:"New",msgstr:["Νέο"]},{msgid:"New folder",msgstr:["Νέος φάκελος"]},{msgid:"New folder name",msgstr:["Όνομα νέου φακέλου"]},{msgid:"No files in here",msgstr:["Δεν υπάρχουν αρχεία εδώ"]},{msgid:"No files matching your filter were found.",msgstr:["Δεν βρέθηκαν αρχεία που να ταιριάζουν με το φίλτρο σας."]},{msgid:"No matching files",msgstr:["Κανένα αρχείο δεν ταιριάζει"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Παρακαλώ εισάγετε ένα όνομα με τουλάχιστον 2 χαρακτήρες."]},{msgid:"Recent",msgstr:["Πρόσφατα"]},{msgid:"Select all entries",msgstr:["Επιλογή όλων των εγγραφών"]},{msgid:"Select entry",msgstr:["Επιλογή εγγραφής"]},{msgid:"Select the row for {nodename}",msgstr:["Επιλέξτε τη γραμμή για το {nodename}"]},{msgid:"Size",msgstr:["Μέγεθος"]},{msgid:"Submit name",msgstr:["Υποβολή ονόματος"]},{msgid:"Undo",msgstr:["Αναίρεση"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Ανεβάστε κάποιο περιεχόμενο ή συγχρονίστε με τις συσκευές σας!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Αυτή τη στιγμή έχετε αναγνωριστεί ως {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Δεν έχετε ταυτοποιηθεί."]},{msgid:"You cannot leave the name empty.",msgstr:["Δεν μπορείτε να αφήσετε το όνομα κενό."]}]},{language:"en_GB",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" is not allowed inside a name.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" is not an allowed name.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" is an invalid folder name.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" is not an allowed folder name']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" is a reserved name and not allowed.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" is not allowed inside a folder name.']},{msgid:"All files",msgstr:["All files"]},{msgid:"Cancel",msgstr:["Cancel"]},{msgid:"Choose",msgstr:["Choose"]},{msgid:"Choose {file}",msgstr:["Choose {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Choose %n file","Choose %n files"]},{msgid:"Copy",msgstr:["Copy"]},{msgid:"Copy to {target}",msgstr:["Copy to {target}"]},{msgid:"Could not create the new folder",msgstr:["Could not create the new folder"]},{msgid:"Could not load files settings",msgstr:["Could not load files settings"]},{msgid:"Could not load files views",msgstr:["Could not load files views"]},{msgid:"Create directory",msgstr:["Create directory"]},{msgid:"Current view selector",msgstr:["Current view selector"]},{msgid:"Enter your name",msgstr:["Enter your name"]},{msgid:"Failed to set nickname.",msgstr:["Failed to set nickname."]},{msgid:"Favorites",msgstr:["Favourites"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Files and folders you mark as favourite will show up here."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Files and folders you recently modified will show up here."]},{msgid:"Filter file list",msgstr:["Filter file list"]},{msgid:"Folder name cannot be empty.",msgstr:["Folder name cannot be empty."]},{msgid:"Guest identification",msgstr:["Guest identification"]},{msgid:"Home",msgstr:["Home"]},{msgid:"Invalid name.",msgstr:["Invalid name."]},{msgid:"Modified",msgstr:["Modified"]},{msgid:"Move",msgstr:["Move"]},{msgid:"Move to {target}",msgstr:["Move to {target}"]},{msgid:"Name",msgstr:["Name"]},{msgid:"Names must not be empty.",msgstr:["Names must not be empty."]},{msgid:'Names must not end with "{extension}".',msgstr:['Names must not end with "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Names must not start with a dot."]},{msgid:"New",msgstr:["New"]},{msgid:"New folder",msgstr:["New folder"]},{msgid:"New folder name",msgstr:["New folder name"]},{msgid:"No files in here",msgstr:["No files in here"]},{msgid:"No files matching your filter were found.",msgstr:["No files matching your filter were found."]},{msgid:"No matching files",msgstr:["No matching files"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Please enter a name with at least 2 characters."]},{msgid:"Recent",msgstr:["Recent"]},{msgid:"Select all entries",msgstr:["Select all entries"]},{msgid:"Select entry",msgstr:["Select entry"]},{msgid:"Select the row for {nodename}",msgstr:["Select the row for {nodename}"]},{msgid:"Size",msgstr:["Size"]},{msgid:"Submit name",msgstr:["Submit name"]},{msgid:"Undo",msgstr:["Undo"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Upload some content or sync with your devices!"]},{msgid:"You are currently not identified.",msgstr:["You are currently not identified."]},{msgid:"You cannot leave the name empty.",msgstr:["You cannot leave the name empty."]}]},{language:"es",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" no está permitido dentro de un nombre.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" no es un nombre permitido.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" es un nombre de carpeta no válido.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" no es un nombre de carpeta permitido']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" es un nombre reservado y no está permitido.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" no está permitido dentro del nombre de una carpeta.']},{msgid:"All files",msgstr:["Todos los archivos"]},{msgid:"Cancel",msgstr:["Cancelar"]},{msgid:"Choose",msgstr:["Seleccionar"]},{msgid:"Choose {file}",msgstr:["Seleccionar {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Elige %n archivo","Elige %n archivos","Seleccione %n archivos"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar a {target}"]},{msgid:"Could not create the new folder",msgstr:["No se pudo crear la nueva carpeta"]},{msgid:"Could not load files settings",msgstr:["No se pudieron cargar los ajustes de archivos"]},{msgid:"Could not load files views",msgstr:["No se pudieron cargar las vistas de los archivos"]},{msgid:"Create directory",msgstr:["Crear directorio"]},{msgid:"Current view selector",msgstr:["Selector de vista actual"]},{msgid:"Enter your name",msgstr:["Ingrese su nombre"]},{msgid:"Failed to set nickname.",msgstr:["Fallo al establecer apodo."]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Los archivos y carpetas que marque como favoritos aparecerán aquí."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Los archivos y carpetas que modificó recientemente aparecerán aquí."]},{msgid:"Filter file list",msgstr:["Filtrar lista de archivos"]},{msgid:"Folder name cannot be empty.",msgstr:["El nombre de la carpeta no puede estar vacío."]},{msgid:"Guest identification",msgstr:["Identificación de invitado"]},{msgid:"Home",msgstr:["Inicio"]},{msgid:"Invalid name.",msgstr:["Nombre inválido."]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover a {target}"]},{msgid:"Name",msgstr:["Nombre"]},{msgid:"Names must not be empty.",msgstr:["Los nombres no deben estar vacíos."]},{msgid:'Names must not end with "{extension}".',msgstr:['Los nombres no deben terminar con "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Los nombres no deben iniciar con un punto."]},{msgid:"New",msgstr:["Nuevo"]},{msgid:"New folder",msgstr:[" Nueva carpeta"]},{msgid:"New folder name",msgstr:["Nuevo nombre de carpeta"]},{msgid:"No files in here",msgstr:["No hay archivos aquí"]},{msgid:"No files matching your filter were found.",msgstr:["No se encontraron archivos que coincidiesen con su filtro."]},{msgid:"No matching files",msgstr:["No hay archivos coincidentes"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Por favor, ingrese un nombre con al menos 2 caracteres."]},{msgid:"Recent",msgstr:["Reciente"]},{msgid:"Select all entries",msgstr:["Seleccionar todas las entradas"]},{msgid:"Select entry",msgstr:["Seleccionar entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Seleccione la fila para {nodename}"]},{msgid:"Size",msgstr:["Tamaño"]},{msgid:"Submit name",msgstr:["Enviar nombre"]},{msgid:"Undo",msgstr:["Deshacer"]},{msgid:"Upload some content or sync with your devices!",msgstr:["¡Cargue algún contenido o sincronice con sus dispositivos!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Ud. se encuentra identificado actualmente como {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Ud. no se encuentra identificado actualmente."]},{msgid:"You cannot leave the name empty.",msgstr:["No puede dejar el nombre vacío."]}]},{language:"es_AR",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" es un nombre de carpeta inválido.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" no es un nombre de carpeta permitido']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" no está permitido en el nombre de una carpeta.']},{msgid:"All files",msgstr:["Todos los archivos"]},{msgid:"Choose",msgstr:["Elegir"]},{msgid:"Choose {file}",msgstr:["Elija {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Elija %n archivo","Elija %n archivos","Elija %n archivos"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar a {target}"]},{msgid:"Could not create the new folder",msgstr:["No se pudo crear la nueva carpeta"]},{msgid:"Could not load files settings",msgstr:["No se pudo cargar la configuración de archivos"]},{msgid:"Could not load files views",msgstr:["No se pudieron cargar las vistas de los archivos"]},{msgid:"Create directory",msgstr:["Crear directorio"]},{msgid:"Current view selector",msgstr:["Selector de vista actual"]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Los archivos y carpetas que marque como favoritos aparecerán aquí."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Los archivos y carpetas que modificó recientemente aparecerán aquí."]},{msgid:"Filter file list",msgstr:["Filtrar lista de archivos"]},{msgid:"Folder name cannot be empty.",msgstr:["El nombre de la carpeta no puede estar vacío."]},{msgid:"Home",msgstr:["Inicio"]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover a {target}"]},{msgid:"Name",msgstr:["Nombre"]},{msgid:"New",msgstr:["Nuevo"]},{msgid:"New folder",msgstr:["Nueva carpeta"]},{msgid:"New folder name",msgstr:["Nombre de nueva carpeta"]},{msgid:"No files in here",msgstr:["No hay archivos aquí"]},{msgid:"No files matching your filter were found.",msgstr:["No se encontraron archivos que coincidan con su filtro."]},{msgid:"No matching files",msgstr:["No hay archivos coincidentes"]},{msgid:"Recent",msgstr:["Reciente"]},{msgid:"Select all entries",msgstr:["Seleccionar todas las entradas"]},{msgid:"Select entry",msgstr:["Seleccionar entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Seleccione la fila para {nodename}"]},{msgid:"Size",msgstr:["Tamaño"]},{msgid:"Undo",msgstr:["Deshacer"]},{msgid:"Upload some content or sync with your devices!",msgstr:["¡Cargue algún contenido o sincronice con sus dispositivos!"]}]},{language:"es_MX",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" es un nombre de carpeta inválido.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" no es un nombre de carpeta permitido.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" no está permitido en el nombre de la carpeta.']},{msgid:"All files",msgstr:["Todos los archivos"]},{msgid:"Choose",msgstr:["Seleccionar"]},{msgid:"Choose {file}",msgstr:["Seleccionar {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Seleccionar %n archivo","Seleccionar %n archivos","Seleccionar %n archivos"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar a {target}"]},{msgid:"Could not create the new folder",msgstr:["No se pudo crear la nueva carpeta"]},{msgid:"Could not load files settings",msgstr:["No se pudo cargar la configuración de archivos"]},{msgid:"Could not load files views",msgstr:["No se pudieron cargar las vistas de los archivos"]},{msgid:"Create directory",msgstr:["Crear carpeta"]},{msgid:"Current view selector",msgstr:["Selector de vista actual"]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Los archivos y carpetas que marque como favoritos aparecerán aquí."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Los archivos y carpetas que modificó recientemente aparecerán aquí."]},{msgid:"Filter file list",msgstr:["Filtrar lista de archivos"]},{msgid:"Folder name cannot be empty.",msgstr:["El nombre de la carpeta no puede estar vacío."]},{msgid:"Home",msgstr:["Inicio"]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover a {target}"]},{msgid:"Name",msgstr:["Nombre"]},{msgid:"New",msgstr:["Nuevo"]},{msgid:"New folder",msgstr:["Nueva carpeta"]},{msgid:"New folder name",msgstr:["Nombre de nueva carpeta"]},{msgid:"No files in here",msgstr:["No hay archivos aquí"]},{msgid:"No files matching your filter were found.",msgstr:["No se encontraron archivos que coincidan con su filtro."]},{msgid:"No matching files",msgstr:["No hay archivos coincidentes"]},{msgid:"Recent",msgstr:["Reciente"]},{msgid:"Select all entries",msgstr:["Seleccionar todas las entradas"]},{msgid:"Select entry",msgstr:["Seleccionar entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Seleccione la fila para {nodename}"]},{msgid:"Size",msgstr:["Tamaño"]},{msgid:"Undo",msgstr:["Deshacer"]},{msgid:"Upload some content or sync with your devices!",msgstr:["¡Suba algún contenido o sincronice con sus dispositivos!"]}]},{language:"et_EE",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:["„{char}“ pole nimes lubatud."]},{msgid:'"{extension}" is not an allowed name.',msgstr:["„{extension}“ pole lubatud nimi."]},{msgid:'"{name}" is an invalid folder name.',msgstr:["„{name}“ on vigane kausta nimi."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["„{name}“ pole kausta nimes lubatud"]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["„{segment}“ on reserveeritud nimi ja pole kasutamiseks lubatud."]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["„/“ pole kausta nimes lubatud."]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n fail on vastuolus","%n faili on omavahel vastuolus"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n fail on {dirname} kaustas vastuolus","%n faili on omavahel {dirname} kaustas vastuolus"]},{msgid:"All files",msgstr:["Kõik failid"]},{msgid:"Cancel",msgstr:["Katkesta"]},{msgid:"Cancel the entire operation",msgstr:["Katkesta kogu tegevus"]},{msgid:"Choose",msgstr:["Tee valik"]},{msgid:"Choose {file}",msgstr:["Vali {file} fail"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Vali %n fail","Vali %n faili"]},{msgid:"Confirm",msgstr:["Kinnita"]},{msgid:"Continue",msgstr:["Jätka"]},{msgid:"Copy",msgstr:["Kopeeri"]},{msgid:"Copy to {target}",msgstr:["Kopeeri sihtkohta {target}"]},{msgid:"Could not create the new folder",msgstr:["Uut kausta ei saanud luua"]},{msgid:"Could not load files settings",msgstr:["Failide seadistusi ei õnnestunud laadida"]},{msgid:"Could not load files views",msgstr:["Failide vaatamiskordi ei õnnestunud laadida"]},{msgid:"Create directory",msgstr:["Loo kaust"]},{msgid:"Current view selector",msgstr:["Praeguse vaate valija"]},{msgid:"Enter your name",msgstr:["Sisesta oma nimi"]},{msgid:"Existing version",msgstr:["Olemasolev versioon"]},{msgid:"Failed to set nickname.",msgstr:["Hüüdnime ei õnnestunud lisada"]},{msgid:"Favorites",msgstr:["Lemmikud"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Failid ja kaustad, mida märgistad lemmikuks, kuvatakse siin."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Siin kuvatakse hiljuti muudetud failid ja kaustad."]},{msgid:"Filter file list",msgstr:["Filtreeri faililoendit"]},{msgid:"Folder name cannot be empty.",msgstr:["Kausta nimi ei saa olla tühi."]},{msgid:"Guest identification",msgstr:["Külalise tuvastamine"]},{msgid:"Home",msgstr:["Avaleht"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Kui valid mõlemad versioonid, siis uue faili nimele lisatakse number."]},{msgid:"Invalid name.",msgstr:["Vigane nimi."]},{msgid:"Last modified date unknown",msgstr:["Viimase muutmise kuupäev pole teada"]},{msgid:"Modified",msgstr:["Muudetud"]},{msgid:"Move",msgstr:["Teisalda"]},{msgid:"Move to {target}",msgstr:["Teisalda kausta {target}"]},{msgid:"Name",msgstr:["Nimi"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Nimed võivad olla vaid kuni 64 tähemärki pikad."]},{msgid:"Names must not be empty.",msgstr:["Nimi ei saa olla tühi."]},{msgid:'Names must not end with "{extension}".',msgstr:["Nime lõpus ei tohi olla „{extension}“."]},{msgid:"Names must not start with a dot.",msgstr:["Nime alguses ei tohi olla punkt."]},{msgid:"New",msgstr:["Uus"]},{msgid:"New folder",msgstr:["Uus kaust"]},{msgid:"New folder name",msgstr:["Uue kausta nimi"]},{msgid:"New version",msgstr:["Uus versioon"]},{msgid:"No files in here",msgstr:["Siin puuduvad failid"]},{msgid:"No files matching your filter were found.",msgstr:["Sinu filtrile vastavaid faile ei leidunud."]},{msgid:"No matching files",msgstr:["Puuduvad sobivad failid"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Palun sisesta vähemalt 2 tähemärki pikk nimi."]},{msgid:"Recent",msgstr:["Hiljutine"]},{msgid:"Select all checkboxes",msgstr:["Vali kõik märkeruudud"]},{msgid:"Select all entries",msgstr:["Vali kõik kirjed"]},{msgid:"Select all existing files",msgstr:["Vali kõik olemasolevad failid"]},{msgid:"Select all new files",msgstr:["Vali kõik uued failid"]},{msgid:"Select entry",msgstr:["Vali kirje"]},{msgid:"Select the row for {nodename}",msgstr:["Vali rida „{nodename}“ jaoks"]},{msgid:"Size",msgstr:["Suurus"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Jäta %n fail vahele","Jäta %n faili vahele"]},{msgid:"Skip this file",msgstr:["Jäta see fail vahele"]},{msgid:"Submit name",msgstr:["Lisa nimi"]},{msgid:"Undo",msgstr:["Tühista"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Lisa mingit sisu või sünkroniseeri see oma seadmestest!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Kui uute failide kaust on valitud, siis kõik seal leiduvad vastuolus failid saavad üle kirjutatud."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Kui uute failide kaust on valitud, siis sisu kirjutatakse olemasolevasse kausta ja korraldatakse rekursiivne failikonfliktide lahendamine."]},{msgid:"Which files do you want to keep?",msgstr:["Missugused failid tahaksid alles jätta?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Sa oled hetkel tuvastatav kui {nickname}.."]},{msgid:"You are currently not identified.",msgstr:["Sa oled hetkel tuvastamata."]},{msgid:"You cannot leave the name empty.",msgstr:["Sa ei saa jätte nime tühjaks."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Sa pead valima vähemalt ühe failikonflikti lahenduse."]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Jätkamaks pead valima igast failist vähemalt ühe versiooni."]}]},{language:"fa",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["{name} نام پوشه معتبر نیست"]},{msgid:'"{name}" is not an allowed folder name',msgstr:["{name} نام پوشه مجاز نیست"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" نمی‌تواند در نام پوشه استفاده شود.']},{msgid:"All files",msgstr:["همه فایل‌ها"]},{msgid:"Cancel",msgstr:["لغو"]},{msgid:"Choose",msgstr:["انتخاب"]},{msgid:"Choose {file}",msgstr:["انتخاب {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["انتخاب %n فایل","انتخاب %n فایل"]},{msgid:"Copy",msgstr:["رونوشت"]},{msgid:"Copy to {target}",msgstr:["رونوشت از {target}"]},{msgid:"Could not create the new folder",msgstr:["پوشه جدید ایجاد نشد"]},{msgid:"Could not load files settings",msgstr:["تنظیمات فایل باز نشد"]},{msgid:"Could not load files views",msgstr:["نمای فایل‌ها بارگیری نشد"]},{msgid:"Create directory",msgstr:["ایجاد فهرست"]},{msgid:"Current view selector",msgstr:["انتخابگر نماگر فعلی"]},{msgid:"Enter your name",msgstr:["نام خود را وارد کنید"]},{msgid:"Failed to set nickname.",msgstr:["تنظیم نام مستعار ناموفق بود."]},{msgid:"Favorites",msgstr:["علایق"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["فایل‌ها و پوشه‌هایی که به‌عنوان مورد علاقه علامت‌گذاری می‌کنید در اینجا نشان داده می‌شوند."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["فایل‌ها و پوشه‌هایی که اخیراً تغییر داده‌اید در اینجا نمایش داده می‌شوند."]},{msgid:"Filter file list",msgstr:["فیلتر لیست فایل"]},{msgid:"Folder name cannot be empty.",msgstr:["نام پوشه نمی تواند خالی باشد."]},{msgid:"Guest identification",msgstr:["شناسایی مهمان"]},{msgid:"Home",msgstr:["خانه"]},{msgid:"Modified",msgstr:["اصلاح شده"]},{msgid:"Move",msgstr:["انتقال"]},{msgid:"Move to {target}",msgstr:["انتقال به {target}"]},{msgid:"Name",msgstr:["نام"]},{msgid:"New",msgstr:["جدید"]},{msgid:"New folder",msgstr:["پوشه جدید"]},{msgid:"New folder name",msgstr:["نام پوشه جدید"]},{msgid:"No files in here",msgstr:["فایلی اینجا نیست"]},{msgid:"No files matching your filter were found.",msgstr:["هیچ فایلی مطابق با فیلتر شما یافت نشد."]},{msgid:"No matching files",msgstr:["فایل منطبقی وجود ندارد"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["لطفاً نامی با حداقل ۲ کاراکتر وارد کنید."]},{msgid:"Recent",msgstr:["اخیر"]},{msgid:"Select all entries",msgstr:["انتخاب همه ورودی ها"]},{msgid:"Select entry",msgstr:["انتخاب ورودی"]},{msgid:"Select the row for {nodename}",msgstr:["انتخاب ردیف برای {nodename}"]},{msgid:"Size",msgstr:["اندازه"]},{msgid:"Submit name",msgstr:["ارسال نام"]},{msgid:"Undo",msgstr:["بازگردانی"]},{msgid:"Upload some content or sync with your devices!",msgstr:["مقداری محتوا آپلود کنید یا با دستگاه های خود همگام سازی کنید!"]},{msgid:"You are currently not identified.",msgstr:["شما در حال حاضر شناسایی نشده‌اید."]},{msgid:"You cannot leave the name empty.",msgstr:["نمی‌توانید نام را خالی بگذارید."]}]},{language:"fi_FI",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" ei ole sallittu nimessä.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" ei ole sallittu nimi.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" on virheellinen kansion nimi.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" ei ole sallittu kansion nimi']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" on varattu nimi eikä se ole sallittu.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" ei ole sallittu kansion nimessä.']},{msgid:"All files",msgstr:["Kaikki tiedostot"]},{msgid:"Cancel",msgstr:["Peruuta"]},{msgid:"Choose",msgstr:["Valitse"]},{msgid:"Choose {file}",msgstr:["Valitse {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Valitse %n tiedosto","Valitse %n tiedostoa"]},{msgid:"Copy",msgstr:["Kopioi"]},{msgid:"Copy to {target}",msgstr:["Kopioi sijaintiin {target}"]},{msgid:"Could not create the new folder",msgstr:["Uutta kansiota ei voitu luoda"]},{msgid:"Could not load files settings",msgstr:["Tiedoston asetuksia ei saa ladattua"]},{msgid:"Could not load files views",msgstr:["Tiedoston näkymiä ei saa ladattua"]},{msgid:"Create directory",msgstr:["Luo kansio"]},{msgid:"Current view selector",msgstr:["Nykyisen näkymän valinta"]},{msgid:"Enter your name",msgstr:["Kirjoita nimesi"]},{msgid:"Failed to set nickname.",msgstr:["Kutsumanimen asettaminen epäonnistui."]},{msgid:"Favorites",msgstr:["Suosikit"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Tiedostot ja kansiot, jotka merkitset suosikkeihisi, näkyvät täällä."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Tiedostot ja kansiot, joita muokkasit äskettäin, näkyvät täällä."]},{msgid:"Filter file list",msgstr:["Suodata tiedostolistaa"]},{msgid:"Folder name cannot be empty.",msgstr:["Kansion nimi ei voi olla tyhjä."]},{msgid:"Guest identification",msgstr:["Vieraan tunnistaminen"]},{msgid:"Home",msgstr:["Koti"]},{msgid:"Invalid name.",msgstr:["Virheellinen nimi."]},{msgid:"Modified",msgstr:["Muokattu"]},{msgid:"Move",msgstr:["Siirrä"]},{msgid:"Move to {target}",msgstr:["Siirrä sijaintiin {target}"]},{msgid:"Name",msgstr:["Nimi"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Nimissä voi olla enintään 64 merkkiä."]},{msgid:"Names must not be empty.",msgstr:["Nimet eivät saa olla tyhjiä."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nimet eivät saa päättyä sanaan "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Nimet eivät saa alkaa pisteellä."]},{msgid:"New",msgstr:["Uusi"]},{msgid:"New folder",msgstr:["Uusi kansio"]},{msgid:"New folder name",msgstr:["Uuden kansion nimi"]},{msgid:"No files in here",msgstr:["Täällä ei ole tiedostoja"]},{msgid:"No files matching your filter were found.",msgstr:["Suodatinta vastaavia tiedostoja ei löytynyt."]},{msgid:"No matching files",msgstr:["Ei vastaavia tiedostoja"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Kirjoita vähintään kaksi merkkiä sisältävä nimi."]},{msgid:"Recent",msgstr:["Viimeisimmät"]},{msgid:"Select all entries",msgstr:["Valitse kaikki tietueet"]},{msgid:"Select entry",msgstr:["Valitse tietue"]},{msgid:"Select the row for {nodename}",msgstr:["Valitse rivi {nodename}:lle"]},{msgid:"Size",msgstr:["Koko"]},{msgid:"Submit name",msgstr:["Lähetä nimi"]},{msgid:"Undo",msgstr:["Kumoa"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Lähetä jotain sisältöä tai synkronoi laitteidesi kanssa!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Sinut tunnetaan tällä hetkellä nimellä {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Sinua ei ole tunnistettu."]},{msgid:"You cannot leave the name empty.",msgstr:["Nimeä ei voi jättää tyhjäksi."]}]},{language:"fr",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:[`"{char}" n'est pas autorisé dans un nom.`]},{msgid:'"{extension}" is not an allowed name.',msgstr:[`"{extension}" n'est pas un nom autorisé.`]},{msgid:'"{name}" is an invalid folder name.',msgstr:[`"{name}" n'est pas un nom de dossier valide.`]},{msgid:'"{name}" is not an allowed folder name',msgstr:[`"{name}" n'est pas un nom de dossier autorisé`]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:[`"{segment}" est un nom réservé et n'est pas autorisé.`]},{msgid:'"/" is not allowed inside a folder name.',msgstr:[`Le caractère "/" n'est pas autorisé dans un nom de dossier.`]},{msgid:"All files",msgstr:["Tous les fichiers"]},{msgid:"Cancel",msgstr:["Annuler"]},{msgid:"Choose",msgstr:["Choisir"]},{msgid:"Choose {file}",msgstr:["Choisir {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Choisir %n fichier","Choisir %n fichiers","Choisir %n fichiers "]},{msgid:"Copy",msgstr:["Copier"]},{msgid:"Copy to {target}",msgstr:["Copier vers {target}"]},{msgid:"Could not create the new folder",msgstr:["Impossible de créer le nouveau dossier"]},{msgid:"Could not load files settings",msgstr:["Les paramètres des fichiers n'ont pas pu être chargés"]},{msgid:"Could not load files views",msgstr:["Impossible de charger les vues des fichiers"]},{msgid:"Create directory",msgstr:["Créer un répertoire"]},{msgid:"Current view selector",msgstr:["Sélecteur d'affichage actuel"]},{msgid:"Enter your name",msgstr:["Entrez votre nom"]},{msgid:"Failed to set nickname.",msgstr:["Échec de définition du surnom."]},{msgid:"Favorites",msgstr:["Favoris"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Les fichiers et répertoires marqués en favoris apparaîtront ici."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Les fichiers et répertoires modifiés récemment apparaîtront ici."]},{msgid:"Filter file list",msgstr:["Filtrer la liste des fichiers"]},{msgid:"Folder name cannot be empty.",msgstr:["Le nom du dossier ne peut pas être vide."]},{msgid:"Guest identification",msgstr:["Identification d'invité"]},{msgid:"Home",msgstr:["Accueil"]},{msgid:"Invalid name.",msgstr:["Nom invalide."]},{msgid:"Modified",msgstr:["Modifié"]},{msgid:"Move",msgstr:["Déplacer"]},{msgid:"Move to {target}",msgstr:["Déplacer vers {target}"]},{msgid:"Name",msgstr:["Nom"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Les noms peuvent comporter au maximum 64 caractères."]},{msgid:"Names must not be empty.",msgstr:["Les noms ne peuvent pas être vides."]},{msgid:'Names must not end with "{extension}".',msgstr:['Les noms ne doivent pas se terminer par "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Les noms ne peuvent pas commencer par un point."]},{msgid:"New",msgstr:["Nouveau"]},{msgid:"New folder",msgstr:["Nouveau dossier"]},{msgid:"New folder name",msgstr:["Nom du nouveau dossier"]},{msgid:"No files in here",msgstr:["Aucun fichier ici"]},{msgid:"No files matching your filter were found.",msgstr:["Aucun fichier trouvé correspondant à votre filtre."]},{msgid:"No matching files",msgstr:["Aucun fichier correspondant"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Veuillez entrer un nom avec au moins 2 caractères."]},{msgid:"Recent",msgstr:["Récents"]},{msgid:"Select all entries",msgstr:["Tout sélectionner"]},{msgid:"Select entry",msgstr:["Sélectionner une entrée"]},{msgid:"Select the row for {nodename}",msgstr:["Sélectionner l'enregistrement pour {nodename}"]},{msgid:"Size",msgstr:["Taille"]},{msgid:"Submit name",msgstr:["Envoyer le nom"]},{msgid:"Undo",msgstr:["Rétablir"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Chargez du contenu ou synchronisez avec vos équipements !"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Vous êtes actuellement identifié comme {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Vous n'êtes pas identifié actuellement."]},{msgid:"You cannot leave the name empty.",msgstr:["Vous ne pouvez pas laisser le nom vide."]}]},{language:"ga",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:[`Ní cheadaítear "{char}" laistigh d'ainm.`]},{msgid:'"{extension}" is not an allowed name.',msgstr:['Ní ainm ceadaithe é "{extension}".']},{msgid:'"{name}" is an invalid folder name.',msgstr:['Is ainm fillteáin neamhbhailí é "{name}".']},{msgid:'"{name}" is not an allowed folder name',msgstr:['Ní ainm fillteáin ceadaithe é "{name}".']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['Is ainm curtha in áirithe é "{segment}" agus ní cheadaítear é.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:[`Ní cheadaítear "/" taobh istigh d'ainm fillteáin.`]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n coimhlint comhaid","%n coimhlint comhad","%n coimhlint comhad","%n coimhlint comhad","%n coimhlint comhad"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n coimhlint comhaid i {dirname}","%n coimhlintí comhaid i {dirname}","%n coimhlintí comhaid i {dirname}","%n coimhlintí comhaid i {dirname}","%n coimhlintí comhaid i {dirname}"]},{msgid:"All files",msgstr:["Gach comhad"]},{msgid:"Cancel",msgstr:["Cealaigh"]},{msgid:"Cancel the entire operation",msgstr:["Cealaigh an oibríocht ar fad"]},{msgid:"Choose",msgstr:["Roghnaigh"]},{msgid:"Choose {file}",msgstr:["Roghnaigh {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Roghnaigh %n comhad","Roghnaigh %n comhaid","Roghnaigh %n comhaid","Roghnaigh %n comhaid","Roghnaigh %n comhaid"]},{msgid:"Confirm",msgstr:["Deimhnigh"]},{msgid:"Continue",msgstr:["Lean ar aghaidh"]},{msgid:"Copy",msgstr:["Cóip"]},{msgid:"Copy to {target}",msgstr:["Cóipeáil chuig {target}"]},{msgid:"Could not create the new folder",msgstr:["Níorbh fhéidir an fillteán nua a chruthú"]},{msgid:"Could not load files settings",msgstr:["Níorbh fhéidir socruithe comhaid a lódáil"]},{msgid:"Could not load files views",msgstr:["Níorbh fhéidir radhairc comhad a lódáil"]},{msgid:"Create directory",msgstr:["Cruthaigh eolaire"]},{msgid:"Current view selector",msgstr:["Roghnóir amhairc reatha"]},{msgid:"Enter your name",msgstr:["Cuir isteach d'ainm"]},{msgid:"Existing version",msgstr:["Leagan atá ann cheana féin"]},{msgid:"Failed to set nickname.",msgstr:["Theip ar leasainm a shocrú."]},{msgid:"Favorites",msgstr:["Ceanáin"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Taispeánfar comhaid agus fillteáin a mharcálann tú mar is fearr leat anseo."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Taispeánfar comhaid agus fillteáin a d'athraigh tú le déanaí anseo."]},{msgid:"Filter file list",msgstr:["Scag liosta comhad"]},{msgid:"Folder name cannot be empty.",msgstr:["Ní féidir ainm fillteáin a bheith folamh."]},{msgid:"Guest identification",msgstr:["Aitheantas aoi"]},{msgid:"Home",msgstr:["Baile"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Má roghnaíonn tú an dá leagan, cuirfear uimhir le hainm an chomhaid atá ag teacht isteach."]},{msgid:"Invalid name.",msgstr:["Ainm neamhbhailí."]},{msgid:"Last modified date unknown",msgstr:["Dáta an athraithe dheireanaigh anaithnid"]},{msgid:"Modified",msgstr:["Athraithe"]},{msgid:"Move",msgstr:["Bog"]},{msgid:"Move to {target}",msgstr:["Bog go{target}"]},{msgid:"Name",msgstr:["Ainm"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Ní fhéadfaidh ainmneacha a bheith níos mó ná 64 carachtar ar fhad."]},{msgid:"Names must not be empty.",msgstr:["Ní féidir ainmneacha a bheith folamh."]},{msgid:'Names must not end with "{extension}".',msgstr:['Ní féidir ainmneacha a chríochnú le "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Ní mór ainmneacha a bheith ag tosú le ponc."]},{msgid:"New",msgstr:["Nua"]},{msgid:"New folder",msgstr:["Fillteán nua"]},{msgid:"New folder name",msgstr:["Ainm fillteáin nua"]},{msgid:"New version",msgstr:["Leagan nua"]},{msgid:"No files in here",msgstr:["Níl aon chomhaid istigh anseo"]},{msgid:"No files matching your filter were found.",msgstr:["Níor aimsíodh aon chomhad a tháinig le do scagaire."]},{msgid:"No matching files",msgstr:["Gan comhaid meaitseála"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Cuir isteach ainm ina bhfuil 2 charachtar ar a laghad."]},{msgid:"Recent",msgstr:["le déanaí"]},{msgid:"Select all checkboxes",msgstr:["Roghnaigh na boscaí seiceála go léir"]},{msgid:"Select all entries",msgstr:["Roghnaigh gach iontráil"]},{msgid:"Select all existing files",msgstr:["Roghnaigh na comhaid uile atá ann cheana"]},{msgid:"Select all new files",msgstr:["Roghnaigh gach comhad nua"]},{msgid:"Select entry",msgstr:["Roghnaigh iontráil"]},{msgid:"Select the row for {nodename}",msgstr:["Roghnaigh an ró do {nodename}"]},{msgid:"Size",msgstr:["Méid"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Léim %n comhad","Léim %n comhaid","Léim %n comhaid","Léim %n comhaid","Léim %n comhaid"]},{msgid:"Skip this file",msgstr:["Scipeáil an comhad seo"]},{msgid:"Submit name",msgstr:["Cuir isteach ainm"]},{msgid:"Undo",msgstr:["Cealaigh"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Uaslódáil roinnt ábhair nó sioncronaigh le do ghléasanna!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Nuair a roghnaítear fillteán isteach, déanfar aon chomhaid choimhlinteacha ann a athscríobh freisin."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Nuair a roghnaítear fillteán isteach, scríobhtar an t-ábhar isteach sa fhillteán atá ann cheana féin agus déantar réiteach coinbhleachta athchúrsach."]},{msgid:"Which files do you want to keep?",msgstr:["Cé na comhaid ar mhaith leat a choinneáil?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Is é {nickname} an ainm atá ort faoi láthair."]},{msgid:"You are currently not identified.",msgstr:["Níl aitheantas tugtha duit faoi láthair."]},{msgid:"You cannot leave the name empty.",msgstr:["Ní féidir leat an t-ainm a fhágáil folamh."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Ní mór duit réiteach coinbhleachta amháin ar a laghad a roghnú"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Ní mór duit leagan amháin ar a laghad de gach comhad a roghnú le leanúint ar aghaidh."]}]},{language:"gl",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:["«{char}» non está permitido dentro dun nome."]},{msgid:'"{extension}" is not an allowed name.',msgstr:["«{extension}» non é un nome permitido."]},{msgid:'"{name}" is an invalid folder name.',msgstr:["«{name}» non é un nome de cartafol válido."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["«{name}» non é un nome de cartafol permitido"]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["«{segment}» é un nome reservado e non está permitido."]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["A «/» non está permitida no nome dun cartafol."]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n ficheiro en conflito","%n ficheiros en conflito"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n ficheiro en conflito en {dirname}","%n ficheiros en conflito en {dirname}"]},{msgid:"All files",msgstr:["Todos os ficheiros"]},{msgid:"Cancel",msgstr:["Cancelar"]},{msgid:"Cancel the entire operation",msgstr:["Cancelar toda a operación"]},{msgid:"Choose",msgstr:["Escoller"]},{msgid:"Choose {file}",msgstr:["Escoller {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Escoller %n ficheiro","Escoller %n ficheiros"]},{msgid:"Confirm",msgstr:["Confirmar"]},{msgid:"Continue",msgstr:["Continuar"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar en {target}"]},{msgid:"Could not create the new folder",msgstr:["Non foi posíbel crear o novo cartafol"]},{msgid:"Could not load files settings",msgstr:["Non foi posíbel cargar os axustes dos ficheiros"]},{msgid:"Could not load files views",msgstr:["Non foi posíbel cargar as vistas dos ficheiros"]},{msgid:"Create directory",msgstr:["Crear un directorio"]},{msgid:"Current view selector",msgstr:["Selector de vista actual"]},{msgid:"Enter your name",msgstr:["Introduza o seu nome"]},{msgid:"Existing version",msgstr:["Versión existente"]},{msgid:"Failed to set nickname.",msgstr:["Produciuse un fallo ao definir o alcume."]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Os ficheiros e cartafoles que marque como favoritos aparecerán aquí."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Os ficheiros e cartafoles que modificou recentemente aparecerán aquí."]},{msgid:"Filter file list",msgstr:["Filtrar a lista de ficheiros"]},{msgid:"Folder name cannot be empty.",msgstr:["O nome do cartafol non pode estar baleiro."]},{msgid:"Guest identification",msgstr:["Identificación do convidado"]},{msgid:"Home",msgstr:["Inicio"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Se selecciona ambas as versións, o ficheiro entrante terá un número engadido ao seu nome."]},{msgid:"Invalid name.",msgstr:["Nome incorrecto"]},{msgid:"Last modified date unknown",msgstr:["Data da última modificación descoñecida"]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover cara a {target}"]},{msgid:"Name",msgstr:["Nome"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Os nomes poden ter unha lonxitude máxima de 64 caracteres."]},{msgid:"Names must not be empty.",msgstr:["Os nomes non deben estar baleiros."]},{msgid:'Names must not end with "{extension}".',msgstr:["Os nomes non deben rematar en «{extension}»."]},{msgid:"Names must not start with a dot.",msgstr:["Os nomes non deben comezar cun punto."]},{msgid:"New",msgstr:["Novo"]},{msgid:"New folder",msgstr:["Novo cartafol"]},{msgid:"New folder name",msgstr:["Novo nome do cartafol"]},{msgid:"New version",msgstr:["Nova versión"]},{msgid:"No files in here",msgstr:["Aquí non hai ficheiros"]},{msgid:"No files matching your filter were found.",msgstr:["Non se atopou ningún ficheiro que coincida co filtro."]},{msgid:"No matching files",msgstr:["Non hai ficheiros coincidentes"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Introduza un nome con polo menos 2 caracteres."]},{msgid:"Recent",msgstr:["Recente"]},{msgid:"Select all checkboxes",msgstr:["Seleccionar todas as caixas"]},{msgid:"Select all entries",msgstr:["Seleccionar todas as entradas"]},{msgid:"Select all existing files",msgstr:["Seleccionar todos os ficheiros existentes"]},{msgid:"Select all new files",msgstr:["Seleccionar todos os ficheiros novos"]},{msgid:"Select entry",msgstr:["Seleccionar a entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Seleccionar a fila para {nodename}"]},{msgid:"Size",msgstr:["Tamaño"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Omitir %n ficheiro","Omitir %n ficheiros"]},{msgid:"Skip this file",msgstr:["Omitir este ficheiro"]},{msgid:"Submit name",msgstr:["Enviar o nome"]},{msgid:"Undo",msgstr:["Desfacer"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Enviar algún contido ou sincronizalo cos seus dispositivos!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Cando se selecciona un cartafol entrante, todos os ficheiros conflitivos dentro dela tamén serán sobrescritos."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Cando se selecciona un cartafol entrante, o contido escríbese no cartafol existente e realízase unha resolución recursiva de conflitos."]},{msgid:"Which files do you want to keep?",msgstr:["Que ficheiros quere conservar?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Vde. está identificado actualmente como {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Vde. non está identificado actualmente."]},{msgid:"You cannot leave the name empty.",msgstr:["Vde. non pode deixar o nome baleiro."]},{msgid:"You need to choose at least one conflict solution",msgstr:["É necesario escoller polo menos unha solución de conflito"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["É necesario seleccionar polo menos unha versión de cada ficheiro para continuar."]}]},{language:"hu_HU",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" nem engedélyezett névben.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" nem engedélyezett név.']},{msgid:'"{name}" is an invalid folder name.',msgstr:["„{name}” érvénytelen mappanév."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["„{name}” nem engedélyezett mappanév"]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" foglalt név és nem engedélyezett.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:["„/” jel nem szerepelhet mappa nevében."]},{msgid:"All files",msgstr:["Minden fájl"]},{msgid:"Cancel",msgstr:["Mégse"]},{msgid:"Choose",msgstr:["Kiválasztás"]},{msgid:"Choose {file}",msgstr:["{file} kiválasztása"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["%n fájl kiválasztása","%n fájl kiválasztása"]},{msgid:"Copy",msgstr:["Másolás"]},{msgid:"Copy to {target}",msgstr:["Másolás ide: {target}"]},{msgid:"Could not create the new folder",msgstr:["Az új mappa létrehozása nem lehetséges"]},{msgid:"Could not load files settings",msgstr:["Fájlbeállítások betöltése nem lehetséges"]},{msgid:"Could not load files views",msgstr:["Fájlnézetek betöltése nem lehetséges"]},{msgid:"Create directory",msgstr:["Mappa létrehozása"]},{msgid:"Current view selector",msgstr:["Jelenlegi nézet választó"]},{msgid:"Enter your name",msgstr:["Add meg a neved"]},{msgid:"Failed to set nickname.",msgstr:["Becenév beállítás sikertelen."]},{msgid:"Favorites",msgstr:["Kedvencek"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["A kedvencként megjelölt fájlok és mappák itt jelennek meg."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["A nemrég módosított fájlok és mappák itt jelennek meg."]},{msgid:"Filter file list",msgstr:["Fájl lista szűrése"]},{msgid:"Folder name cannot be empty.",msgstr:["A mappa neve nem lehet üres."]},{msgid:"Guest identification",msgstr:["Vendég azonosítás"]},{msgid:"Home",msgstr:["Kezdőlap"]},{msgid:"Invalid name.",msgstr:["Érvénytelen név."]},{msgid:"Modified",msgstr:["Módosítva"]},{msgid:"Move",msgstr:["Mozgatás"]},{msgid:"Move to {target}",msgstr:["Mozgatás ide: {target}"]},{msgid:"Name",msgstr:["Név"]},{msgid:"Names must not be empty.",msgstr:["Nevek nem lehetnek üresek."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nevek nem végződhetnek "{extension}"-re.']},{msgid:"Names must not start with a dot.",msgstr:["Nevek nem kezdődhetnek ponttal."]},{msgid:"New",msgstr:["Új"]},{msgid:"New folder",msgstr:["Új mappa"]},{msgid:"New folder name",msgstr:["Új mappa név"]},{msgid:"No files in here",msgstr:["Itt nincsenek fájlok"]},{msgid:"No files matching your filter were found.",msgstr:["Nincs a szűrési feltételeknek megfelelő fájl."]},{msgid:"No matching files",msgstr:["Nincs ilyen fájl"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Kérlek adj meg egy legalább 2 karakteres nevet."]},{msgid:"Recent",msgstr:["Gyakori"]},{msgid:"Select all entries",msgstr:["Minden bejegyzés kijelölése"]},{msgid:"Select entry",msgstr:["Bejegyzés kijelölése"]},{msgid:"Select the row for {nodename}",msgstr:["Válassz sort a következőnek: {nodename}"]},{msgid:"Size",msgstr:["Méret"]},{msgid:"Submit name",msgstr:["Név beküldése"]},{msgid:"Undo",msgstr:["Visszavonás"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Tölts fel tartalmat vagy szinkronizálj az eszközeiddel!"]},{msgid:"You are currently not identified.",msgstr:["Jelenleg nem vagy azonosítva."]},{msgid:"You cannot leave the name empty.",msgstr:["A nevet nem hagyhatod üresen."]}]},{language:"hy",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["{name} սխալ թղթապանակի անվանում է"]},{msgid:'"{name}" is not an allowed folder name',msgstr:["{name} համարվում է անթույլատրելի թղթապանակի անվանում"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["/ չի թույլատրվում օգտագործել անվանման մեջ"]},{msgid:"All files",msgstr:["Բոլոր ֆայլերը"]},{msgid:"Choose",msgstr:["Ընտրել"]},{msgid:"Choose {file}",msgstr:["Ընտրել {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Ընտրել %n ֆայլ","Ընտրել %n ֆայլեր"]},{msgid:"Copy",msgstr:["Պատճենել"]},{msgid:"Copy to {target}",msgstr:["Պատճենել {target}"]},{msgid:"Could not create the new folder",msgstr:["Չստացվեց ստեղծել նոր թղթապանակը"]},{msgid:"Could not load files settings",msgstr:["Չստացվեց բեռնել ֆայլի կարգավորումները"]},{msgid:"Could not load files views",msgstr:["Չստացվեց բեռնել ֆայլերի դիտումները"]},{msgid:"Create directory",msgstr:["Ստեղծել դիրեկտորիա"]},{msgid:"Current view selector",msgstr:["Ընթացիկ դիտման ընտրիչ"]},{msgid:"Favorites",msgstr:["Նախընտրելիներ"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Այստեղ կցուցադրվեն այն ֆայլերն ու պանակները, որոնք դուք նշել եք որպես նախընտրելիներ:"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Այստեղ կցուցադրվեն այն ֆայլերն ու պանակները, որոնք վերջերս փոխել եք:"]},{msgid:"Filter file list",msgstr:["Ֆիլտրել ֆայլերի ցուցակը"]},{msgid:"Folder name cannot be empty.",msgstr:["Թղթապանակի անունը չի կարող դատարկ լինել:"]},{msgid:"Home",msgstr:["Սկիզբ"]},{msgid:"Modified",msgstr:["Փոփոխված"]},{msgid:"Move",msgstr:["Տեղափոխել"]},{msgid:"Move to {target}",msgstr:["Տեղափոխել {target}"]},{msgid:"Name",msgstr:["Անուն"]},{msgid:"New",msgstr:["Նոր"]},{msgid:"New folder",msgstr:["Նոր թղթապանակ"]},{msgid:"New folder name",msgstr:["Նոր թղթապանակի անվանում"]},{msgid:"No files in here",msgstr:["Այստեղ չկան ֆայլեր"]},{msgid:"No files matching your filter were found.",msgstr:["Ձեր ֆիլտրին համապատասխանող ֆայլերը չեն գտնվել:"]},{msgid:"No matching files",msgstr:["Չկան համապատասխան ֆայլեր"]},{msgid:"Recent",msgstr:["Վերջին"]},{msgid:"Select all entries",msgstr:["Ընտրել բոլոր գրառումները"]},{msgid:"Select entry",msgstr:["Ընտրել բոլոր գրառումը"]},{msgid:"Select the row for {nodename}",msgstr:["Ընտրեք տողը {nodename}-ի համար "]},{msgid:"Size",msgstr:["Չափ"]},{msgid:"Undo",msgstr:["Ետարկել"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Ներբեռնեք որոշ բովանդակություն կամ համաժամացրեք այն ձեր սարքերի հետ:"]}]},{language:"id",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" bukan nama folder yang valid.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" merupakan nama folder yang tidak diperbolehkan']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" tidak diperbolehkan di dalam nama folder.']},{msgid:"All files",msgstr:["Semua berkas"]},{msgid:"Choose",msgstr:["Pilih"]},{msgid:"Choose {file}",msgstr:["Pilih {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Pilih %n file"]},{msgid:"Copy",msgstr:["Salin"]},{msgid:"Copy to {target}",msgstr:["Salin ke {target}"]},{msgid:"Could not create the new folder",msgstr:["Tidak dapat membuat folder baru"]},{msgid:"Could not load files settings",msgstr:["Tidak dapat memuat pengaturan file"]},{msgid:"Could not load files views",msgstr:["Tidak dapat memuat tampilan file"]},{msgid:"Create directory",msgstr:["Buat direktori"]},{msgid:"Current view selector",msgstr:["Pemilih tampilan saat ini"]},{msgid:"Favorites",msgstr:["Favorit"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Berkas dan folder yang Anda tandai sebagai favorit akan muncul di sini."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Berkas dan folder yang Anda ubah baru-baru ini akan muncul di sini."]},{msgid:"Filter file list",msgstr:["Saring daftar berkas"]},{msgid:"Folder name cannot be empty.",msgstr:["Name berkas tidak boleh kosong."]},{msgid:"Home",msgstr:["Beranda"]},{msgid:"Modified",msgstr:["Diubah"]},{msgid:"Move",msgstr:["Pindahkan"]},{msgid:"Move to {target}",msgstr:["Pindahkan ke {target}"]},{msgid:"Name",msgstr:["Nama"]},{msgid:"New",msgstr:["Baru"]},{msgid:"New folder",msgstr:["Folder baru"]},{msgid:"New folder name",msgstr:["Nama folder baru"]},{msgid:"No files in here",msgstr:["Tidak ada berkas di sini"]},{msgid:"No files matching your filter were found.",msgstr:["Tidak ada berkas yang cocok dengan penyaringan Anda."]},{msgid:"No matching files",msgstr:["Tidak ada berkas yang cocok"]},{msgid:"Recent",msgstr:["Terkini"]},{msgid:"Select all entries",msgstr:["Pilih semua entri"]},{msgid:"Select entry",msgstr:["Pilih entri"]},{msgid:"Select the row for {nodename}",msgstr:["Pilih baris untuk {nodename}"]},{msgid:"Size",msgstr:["Ukuran"]},{msgid:"Undo",msgstr:["Tidak jadi"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Unggah beberapa konten atau sinkronkan dengan perangkat Anda!"]}]},{language:"is",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" er ógilt möppuheiti.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" er ekki leyfilegt möppuheiti']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" er er ekki leyfilegt innan í skráarheiti.']},{msgid:"All files",msgstr:["Allar skrár"]},{msgid:"Choose",msgstr:["Veldu"]},{msgid:"Choose {file}",msgstr:["Veldu {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Veldu %n skrá","Veldu %n skrár"]},{msgid:"Copy",msgstr:["Afrita"]},{msgid:"Copy to {target}",msgstr:["Afrita í {target}"]},{msgid:"Could not create the new folder",msgstr:["Get ekki búið til nýju möppuna"]},{msgid:"Could not load files settings",msgstr:["Tókst ekki að hlaða inn stillingum skráa"]},{msgid:"Could not load files views",msgstr:["Tókst ekki að hlaða inn sýnum skráa"]},{msgid:"Create directory",msgstr:["Búa til möppu"]},{msgid:"Current view selector",msgstr:["Núverandi val sýnar"]},{msgid:"Favorites",msgstr:["Eftirlæti"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Skrár og möppur sem þú merkir sem eftirlæti birtast hér."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Skrár og möppur sem þú breyttir nýlega birtast hér."]},{msgid:"Filter file list",msgstr:["Sía skráalista"]},{msgid:"Folder name cannot be empty.",msgstr:["Möppuheiti má ekki vera tómt."]},{msgid:"Home",msgstr:["Heim"]},{msgid:"Modified",msgstr:["Breytt"]},{msgid:"Move",msgstr:["Færa"]},{msgid:"Move to {target}",msgstr:["Færa í {target}"]},{msgid:"Name",msgstr:["Heiti"]},{msgid:"New",msgstr:["Nýtt"]},{msgid:"New folder",msgstr:["Ný mappa"]},{msgid:"New folder name",msgstr:["Heiti nýrrar möppu"]},{msgid:"No files in here",msgstr:["Engar skrár hér"]},{msgid:"No files matching your filter were found.",msgstr:["Engar skrár fundust sem passa við síuna."]},{msgid:"No matching files",msgstr:["Engar samsvarandi skrár"]},{msgid:"Recent",msgstr:["Nýlegt"]},{msgid:"Select all entries",msgstr:["Velja allar færslur"]},{msgid:"Select entry",msgstr:["Velja færslu"]},{msgid:"Select the row for {nodename}",msgstr:["Veldu röðina fyrir {nodename}"]},{msgid:"Size",msgstr:["Stærð"]},{msgid:"Undo",msgstr:["Afturkalla"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Sendu inn eitthvað efni eða samstilltu við tækin þín!"]}]},{language:"it",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" non è un nome di cartella valido.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" non è un nome di cartella ammesso']},{msgid:'"/" is not allowed inside a folder name.',msgstr:[`"/" non è ammesso all'interno del nome di una cartella.`]},{msgid:"All files",msgstr:["Tutti i file"]},{msgid:"Choose",msgstr:["Scegli"]},{msgid:"Choose {file}",msgstr:["Scegli {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Seleziona %n file","Seleziona %n file","Seleziona %n file"]},{msgid:"Copy",msgstr:["Copia"]},{msgid:"Copy to {target}",msgstr:["Copia in {target}"]},{msgid:"Could not create the new folder",msgstr:["Impossibile creare la nuova cartella"]},{msgid:"Could not load files settings",msgstr:["Impossibile caricare le impostazioni dei file"]},{msgid:"Could not load files views",msgstr:["Impossibile caricare le visualizzazioni dei file"]},{msgid:"Create directory",msgstr:["Crea directory"]},{msgid:"Current view selector",msgstr:["Selettore della vista corrente"]},{msgid:"Favorites",msgstr:["Preferiti"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["I file e le cartelle contrassegnate come preferite saranno mostrate qui."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["I file e le cartelle che hai modificato di recente saranno mostrate qui."]},{msgid:"Filter file list",msgstr:["Filtra elenco file"]},{msgid:"Folder name cannot be empty.",msgstr:["Il nome della cartella non può essere vuoto."]},{msgid:"Home",msgstr:["Home"]},{msgid:"Modified",msgstr:["Modificato"]},{msgid:"Move",msgstr:["Sposta"]},{msgid:"Move to {target}",msgstr:["Sposta in {target}"]},{msgid:"Name",msgstr:["Nome"]},{msgid:"New",msgstr:["Nuovo"]},{msgid:"New folder",msgstr:["Nuova cartella"]},{msgid:"New folder name",msgstr:["Nuovo nome cartella"]},{msgid:"No files in here",msgstr:["Nessun file qui"]},{msgid:"No files matching your filter were found.",msgstr:["Nessun file che corrisponde al tuo filtro è stato trovato."]},{msgid:"No matching files",msgstr:["Nessun file corrispondente"]},{msgid:"Recent",msgstr:["Recente"]},{msgid:"Select all entries",msgstr:["Scegli tutte le voci"]},{msgid:"Select entry",msgstr:["Seleziona la voce"]},{msgid:"Select the row for {nodename}",msgstr:["Seleziona la riga per {nodename}"]},{msgid:"Size",msgstr:["Taglia/dimensioni"]},{msgid:"Undo",msgstr:["Annulla"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Carica qualche contenuto o sincronizza con i tuoi dispositivi!"]}]},{language:"ja_JP",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['名前に"{char}"は使用できません。']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}"は許可された名前ではありません']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" はフォルダー名に使用できません。']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}"は許可されたフォルダー名ではありません']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}"は予約名であり使用できません。']},{msgid:'"/" is not allowed inside a folder name.',msgstr:["フォルダー名に「/(スラッシュ)」は使用できません。"]},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%nファイルが競合しています"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%nディレクトリ{dirname}内のファイル競合"]},{msgid:"All files",msgstr:["すべてのファイル"]},{msgid:"Cancel",msgstr:["キャンセル"]},{msgid:"Cancel the entire operation",msgstr:["操作全体をキャンセルする"]},{msgid:"Choose",msgstr:["選択"]},{msgid:"Choose {file}",msgstr:["{file} を選択"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["%n 個のファイルを選択"]},{msgid:"Confirm",msgstr:["承認"]},{msgid:"Continue",msgstr:["続ける"]},{msgid:"Copy",msgstr:["コピー"]},{msgid:"Copy to {target}",msgstr:["{target} にコピー"]},{msgid:"Could not create the new folder",msgstr:["新しいフォルダーを作成できませんでした"]},{msgid:"Could not load files settings",msgstr:["ファイル設定を読み込めませんでした"]},{msgid:"Could not load files views",msgstr:["ファイルビューを読み込めませんでした"]},{msgid:"Create directory",msgstr:["ディレクトリを作成"]},{msgid:"Current view selector",msgstr:["現在のビューセレクタ"]},{msgid:"Enter your name",msgstr:["名前を入力してください"]},{msgid:"Existing version",msgstr:["現行バージョン"]},{msgid:"Failed to set nickname.",msgstr:["ニックネームの設定に失敗しました。"]},{msgid:"Favorites",msgstr:["お気に入り"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["お気に入りとしてマークしたファイルとフォルダがここに表示されます。"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["最近変更したファイルとフォルダがここに表示されます。"]},{msgid:"Filter file list",msgstr:["ファイルリストをフィルタ"]},{msgid:"Folder name cannot be empty.",msgstr:["フォルダ名は空にできません。"]},{msgid:"Guest identification",msgstr:["ゲスト識別"]},{msgid:"Home",msgstr:["ホーム"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["両方のバージョンを選択した場合、受信ファイル名には番号が追加されます。"]},{msgid:"Invalid name.",msgstr:["無効な名前です。"]},{msgid:"Last modified date unknown",msgstr:["最終更新日不明"]},{msgid:"Modified",msgstr:["変更済み"]},{msgid:"Move",msgstr:["移動"]},{msgid:"Move to {target}",msgstr:["{target} に移動"]},{msgid:"Name",msgstr:["名前"]},{msgid:"Names may be at most 64 characters long.",msgstr:["名前は最大64文字です。"]},{msgid:"Names must not be empty.",msgstr:["名前は空にできません。"]},{msgid:'Names must not end with "{extension}".',msgstr:['名前の末尾に"{extension}"は使用できません']},{msgid:"Names must not start with a dot.",msgstr:["ドットで始まる名前は使用できません。"]},{msgid:"New",msgstr:["新規作成"]},{msgid:"New folder",msgstr:["新しいフォルダー"]},{msgid:"New folder name",msgstr:["新しいフォルダーの名前"]},{msgid:"New version",msgstr:["新バージョン"]},{msgid:"No files in here",msgstr:["ファイルがありません"]},{msgid:"No files matching your filter were found.",msgstr:["フィルタに一致するファイルは見つかりませんでした。"]},{msgid:"No matching files",msgstr:["一致するファイルはありません"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["名前を2文字以上で入力してください。"]},{msgid:"Recent",msgstr:["最近"]},{msgid:"Select all checkboxes",msgstr:["すべてのチェックボックスを選択する"]},{msgid:"Select all entries",msgstr:["すべてのエントリを選択"]},{msgid:"Select all existing files",msgstr:["既存のファイルをすべて選択"]},{msgid:"Select all new files",msgstr:["すべての新規ファイルを選択"]},{msgid:"Select entry",msgstr:["エントリを選択"]},{msgid:"Select the row for {nodename}",msgstr:["{nodename} の行を選択"]},{msgid:"Size",msgstr:["サイズ"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n 個のファイルをスキップ"]},{msgid:"Skip this file",msgstr:["このファイルをスキップ"]},{msgid:"Submit name",msgstr:["名前を送信する"]},{msgid:"Undo",msgstr:["元に戻す"]},{msgid:"Upload some content or sync with your devices!",msgstr:["コンテンツをアップロードするか、デバイスと同期してください!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["受信フォルダが選択されている場合、そのフォルダ内の競合ファイルも上書きされます。"]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["受信フォルダが選択されると、内容は既存のフォルダに書き込まれ、再帰的な競合解決が実行されます。"]},{msgid:"Which files do you want to keep?",msgstr:["どのファイルを残しますか?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["現在、{nickname}として識別されています。"]},{msgid:"You are currently not identified.",msgstr:["現在あなたは識別されていません。"]},{msgid:"You cannot leave the name empty.",msgstr:["名前を空にすることはできません。"]},{msgid:"You need to choose at least one conflict solution",msgstr:["少なくとも1つの競合ソリューションを選択する必要があります"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["続行するには、各ファイルのバージョンを少なくとも1つ選択する必要があります。"]}]},{language:"ko",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}"는 이름 내에 사용할 수 없습니다.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}"은 허용되는 이름이 아닙니다.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}"은 사용할 수 없는 폴더명입니다.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}"은 허용되지 않은 폴더명입니다.']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['같은 이름을 가진 "{segment}"이 이미 사용 중입니다.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/"는 폴더명에 사용할 수 없는 기호입니다.']},{msgid:"All files",msgstr:["모든 파일"]},{msgid:"Cancel",msgstr:["취소"]},{msgid:"Choose",msgstr:["선택"]},{msgid:"Choose {file}",msgstr:["{file} 선택"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["%n개의 파일 선택"]},{msgid:"Copy",msgstr:["복사"]},{msgid:"Copy to {target}",msgstr:["{target}으로 복사"]},{msgid:"Could not create the new folder",msgstr:["새 폴더를 만들 수 없음"]},{msgid:"Could not load files settings",msgstr:["파일 설정을 불러오지 못함"]},{msgid:"Could not load files views",msgstr:["파일 보기를 불러오지 못함"]},{msgid:"Create directory",msgstr:["디렉토리 만들기"]},{msgid:"Current view selector",msgstr:["현재 뷰 선택자"]},{msgid:"Enter your name",msgstr:["이름을 입력하세요 "]},{msgid:"Failed to set nickname.",msgstr:[`닉네임을 설정하지 못했습니다. - `]},{msgid:"Favorites",msgstr:["즐겨찾기"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["즐겨찾기로 표시한 파일 및 폴더가 이곳에 표시됩니다."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["최근 수정한 파일 및 폴더가 이곳에 표시됩니다."]},{msgid:"Filter file list",msgstr:["파일 목록 필터링"]},{msgid:"Folder name cannot be empty.",msgstr:["폴더명을 비울 수 없습니다."]},{msgid:"Guest identification",msgstr:["게스트 확인"]},{msgid:"Home",msgstr:["홈"]},{msgid:"Invalid name.",msgstr:["잘못된 이름입니다. "]},{msgid:"Modified",msgstr:["수정됨"]},{msgid:"Move",msgstr:["이동"]},{msgid:"Move to {target}",msgstr:["{target}으로 이동"]},{msgid:"Name",msgstr:["이름"]},{msgid:"Names may be at most 64 characters long.",msgstr:["이름은 아마도 최대 64글자 입니다."]},{msgid:"Names must not be empty.",msgstr:["이름은 비어 있으면 안 됩니다."]},{msgid:'Names must not end with "{extension}".',msgstr:['이름은 "{extension}"로 끝나지 않아야 합니다.']},{msgid:"Names must not start with a dot.",msgstr:["이름은 점으로 시작해서는 안 됩니다."]},{msgid:"New",msgstr:["새로 만들기"]},{msgid:"New folder",msgstr:["새 폴더"]},{msgid:"New folder name",msgstr:["새 폴더명"]},{msgid:"No files in here",msgstr:["파일이 없습니다"]},{msgid:"No files matching your filter were found.",msgstr:["선택한 필터에 해당하는 파일이 없습니다."]},{msgid:"No matching files",msgstr:["일치하는 파일 없음"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["최소 2자 이상의 이름을 입력하십시오. "]},{msgid:"Recent",msgstr:["최근"]},{msgid:"Select all entries",msgstr:["모두 선택"]},{msgid:"Select entry",msgstr:["항목 선택"]},{msgid:"Select the row for {nodename}",msgstr:["{nodename}의 행 선택"]},{msgid:"Size",msgstr:["크기"]},{msgid:"Submit name",msgstr:["이름 제출"]},{msgid:"Undo",msgstr:["되돌리기"]},{msgid:"Upload some content or sync with your devices!",msgstr:["기기에서 파일을 업로드 또는 동기화하세요!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["{nickname}로서 인증 상태 입니다."]},{msgid:"You are currently not identified.",msgstr:["현재 인증되지 않았습니다."]},{msgid:"You cannot leave the name empty.",msgstr:["이름은 비워 둘 수 없습니다. "]}]},{language:"lb",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["{name} ass en ongëlteg Dossier"]},{msgid:'"{name}" is not an allowed folder name',msgstr:["{name} ass net en erlaabten Dossiernumm"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" ass net an engem Dossier Numm erlaabt']},{msgid:"All files",msgstr:["All Dateien"]},{msgid:"Choose",msgstr:["Wielt"]},{msgid:"Choose {file}",msgstr:["Wielt {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Wielt %n Fichieren","Wielt %n Fichier"]},{msgid:"Copy",msgstr:["Kopie"]},{msgid:"Copy to {target}",msgstr:["Kopie op {target}"]},{msgid:"Could not create the new folder",msgstr:["Konnt den neien Dossier net erstellen"]},{msgid:"Could not load files settings",msgstr:["Konnt d'Dateienastellungen net lueden"]},{msgid:"Could not load files views",msgstr:["Konnt d'Dateien net lueden"]},{msgid:"Create directory",msgstr:["Erstellt Verzeechnes"]},{msgid:"Current view selector",msgstr:["Aktuell Vue selector"]},{msgid:"Favorites",msgstr:["Favoritten"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Dateien an Ordner, déi Dir als Favorit markéiert, ginn hei gewisen"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Dateien an Ordner déi Dir viru kuerzem geännert hutt ginn hei op"]},{msgid:"Filter file list",msgstr:["Filter Datei Lëscht"]},{msgid:"Folder name cannot be empty.",msgstr:["Dossier Numm kann net eidel sinn"]},{msgid:"Home",msgstr:["Wëllkomm"]},{msgid:"Modified",msgstr:["Geännert"]},{msgid:"Move",msgstr:["Plënne"]},{msgid:"Move to {target}",msgstr:["Plënneren {target}"]},{msgid:"Name",msgstr:["Numm"]},{msgid:"New",msgstr:["Nei"]},{msgid:"New folder",msgstr:["Neien dossier"]},{msgid:"New folder name",msgstr:["Neien dossier numm"]},{msgid:"No files in here",msgstr:["Kee fichier hei"]},{msgid:"No files matching your filter were found.",msgstr:["Kee fichier deen äre filter passt gouf fonnt"]},{msgid:"No matching files",msgstr:["Keng passende dateien"]},{msgid:"Recent",msgstr:["Rezent"]},{msgid:"Select all entries",msgstr:["Wielt all entréen"]},{msgid:"Select entry",msgstr:["Wielt entrée"]},{msgid:"Select the row for {nodename}",msgstr:["Wielt d'zeil fir {nodename}"]},{msgid:"Size",msgstr:["Gréisst"]},{msgid:"Undo",msgstr:["Undoen"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Luet en inhalt erop oder synchroniséiert mat ären apparater"]}]},{language:"lt_LT",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["„{name}“ yra netinkamas aplanko pavadinimas."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["„{name}“ yra neleidžiamas aplanko pavadinimas"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["„/“ yra neleidžiamas aplanko pavadinime."]},{msgid:"All files",msgstr:["Visi failai"]},{msgid:"Cancel",msgstr:["Atšaukti"]},{msgid:"Choose",msgstr:["Pasirinkti"]},{msgid:"Choose {file}",msgstr:["Pasirinkti {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Pasirinkti %n failą","Pasirinkti %n failus","Pasirinkti %n failų","Pasirinkti %n failą"]},{msgid:"Copy",msgstr:["Kopijuoti"]},{msgid:"Copy to {target}",msgstr:["Kopijuoti į {target}"]},{msgid:"Could not create the new folder",msgstr:["Nepavyko sukurti naujo aplanko"]},{msgid:"Could not load files settings",msgstr:["Nepavyko įkelti failų nustatymų"]},{msgid:"Could not load files views",msgstr:["Nepavyko įkelti failų peržiūrų"]},{msgid:"Create directory",msgstr:["Sukurti katalogą"]},{msgid:"Current view selector",msgstr:["Dabartinis peržiūros pasirinkimas"]},{msgid:"Enter your name",msgstr:["Įrašykite savo vardą"]},{msgid:"Failed to set nickname.",msgstr:["Nepavyko nustatyti slapyvardžio"]},{msgid:"Favorites",msgstr:["Populiariausi"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Failai ir aplankai, kuriuos pažymėsite kaip mėgstamiausius, bus rodomi čia."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Čia bus rodomi failai ir aplankai, kuriuos neseniai pakeitėte."]},{msgid:"Filter file list",msgstr:["Filtruoti failų sąrašą"]},{msgid:"Folder name cannot be empty.",msgstr:["Aplanko pavadinimas negali būti tuščias."]},{msgid:"Guest identification",msgstr:["Svečio identifikacija"]},{msgid:"Home",msgstr:["Pradžia"]},{msgid:"Modified",msgstr:["Pakeista"]},{msgid:"Move",msgstr:["Perkelti"]},{msgid:"Move to {target}",msgstr:["Perkelti į {target}"]},{msgid:"Name",msgstr:["Vardas"]},{msgid:"New",msgstr:["Naujas"]},{msgid:"New folder",msgstr:["Naujas aplankas"]},{msgid:"New folder name",msgstr:["Naujas aplanko pavadinimas"]},{msgid:"No files in here",msgstr:["Čia failų nėra"]},{msgid:"No files matching your filter were found.",msgstr:["Nepavyko rasti failų pagal filtro nustatymus"]},{msgid:"No matching files",msgstr:["Nėra atitinkančių failų"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Įrašykite vardą iš mažiausiai dviejų ženklų."]},{msgid:"Recent",msgstr:["Nauji"]},{msgid:"Select all entries",msgstr:["Žymėti visus įrašus"]},{msgid:"Select entry",msgstr:["Žymėti įrašą"]},{msgid:"Select the row for {nodename}",msgstr:["Pasirinkite eilutę {nodename}"]},{msgid:"Size",msgstr:["Dydis"]},{msgid:"Submit name",msgstr:["Patvirtinti vardą"]},{msgid:"Undo",msgstr:["Atšaukti"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Įkelkite turinio arba sinchronizuokite su savo įrenginiais!"]},{msgid:"You are currently not identified.",msgstr:["Šiuo metu nesate identifikuotas."]},{msgid:"You cannot leave the name empty.",msgstr:["Negalite palikti tuščio vardo lauko."]}]},{language:"lv",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" nav derīgs mapes nosaukums.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" nav atļauts mapes nosaukums']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" nav atļauts mapes nosaukuma izmantošanā.']},{msgid:"All files",msgstr:["Visas datnes"]},{msgid:"Choose",msgstr:["Izvēlieties"]},{msgid:"Choose {file}",msgstr:["Izvēlieties {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Izvēlēties %n datņu","Izvēlēties %n datni","Izvēlēties %n datnes"]},{msgid:"Copy",msgstr:["Kopēt"]},{msgid:"Copy to {target}",msgstr:["Kopēt uz {target}"]},{msgid:"Could not create the new folder",msgstr:["Nevarēja izveidot jaunu mapi"]},{msgid:"Could not load files settings",msgstr:["Nevarēja ielādēt datņu iestatījumus"]},{msgid:"Could not load files views",msgstr:["Nevarēja ielādēt datņu apskatījumus"]},{msgid:"Create directory",msgstr:["Izveidot direktoriju"]},{msgid:"Current view selector",msgstr:["Pašreizēja skata atlasītājs"]},{msgid:"Favorites",msgstr:["Favorīti"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Šeit parādīsies datnes un mapes, kas tiks atzīmētas kā iecienītas."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Šeit parādīsies datnes un mapes, kuras nesen tika izmainītas."]},{msgid:"Filter file list",msgstr:["Atlasīt datņu sarakstu"]},{msgid:"Folder name cannot be empty.",msgstr:["Mapes nosaukums nevar būt tukšs."]},{msgid:"Home",msgstr:["Sākums"]},{msgid:"Modified",msgstr:["Izmaninīta"]},{msgid:"Move",msgstr:["Pārvietot"]},{msgid:"Move to {target}",msgstr:["Pārvietot uz {target}"]},{msgid:"Name",msgstr:["Nosaukums"]},{msgid:"New",msgstr:["Jauns"]},{msgid:"New folder",msgstr:["Jauna mape"]},{msgid:"New folder name",msgstr:["Jaunas mapes nosaukums"]},{msgid:"No files in here",msgstr:["Šeit nav datņu"]},{msgid:"No files matching your filter were found.",msgstr:["Netika atrasta neviena datne, kas atbilst atlasei."]},{msgid:"No matching files",msgstr:["Nav atbilstošu datņu"]},{msgid:"Recent",msgstr:["Nesenās"]},{msgid:"Select all entries",msgstr:["Atlasīt visus ierakstus"]},{msgid:"Select entry",msgstr:["Atlasīt ierakstu"]},{msgid:"Select the row for {nodename}",msgstr:["Atlasīt rindu {nodename}"]},{msgid:"Size",msgstr:["Izmērs"]},{msgid:"Undo",msgstr:["Atsaukt"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Augšupielādē kādu saturu vai sinhronizē savās iekārtās!"]}]},{language:"mk",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" не е дозволено во име.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" не е дозволено име.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" не е валидно име за папка/']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" не е дозволено име за папка']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" е резервирано име и не е дозволено.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" не е дозволена во име на папка.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n конфликт со датотекa","%n конфликти со датотеки"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n конфликт со датотека во {dirname}","%n конфликти со датотеки vo {dirname}"]},{msgid:"All files",msgstr:["Сите датотеки"]},{msgid:"Cancel",msgstr:["Откажи"]},{msgid:"Cancel the entire operation",msgstr:["Прекини ја целата операција"]},{msgid:"Choose",msgstr:["Избери"]},{msgid:"Choose {file}",msgstr:["Избери {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Избери %n датотека","Избери %n датотеки"]},{msgid:"Confirm",msgstr:["Потврди"]},{msgid:"Continue",msgstr:["Продолжи"]},{msgid:"Copy",msgstr:["Копирај"]},{msgid:"Copy to {target}",msgstr:["Копирај во {target}"]},{msgid:"Could not create the new folder",msgstr:["Неможе да се креира нова папка"]},{msgid:"Could not load files settings",msgstr:["Неможе да се вчиаат параметрите за датотеките"]},{msgid:"Could not load files views",msgstr:["Неможе да се вчитаат погледите за датотеките"]},{msgid:"Create directory",msgstr:["Креирај папка"]},{msgid:"Current view selector",msgstr:["Избирач на тековен приказ"]},{msgid:"Enter your name",msgstr:["Внесете го вашето име"]},{msgid:"Existing version",msgstr:["Моментална верзија"]},{msgid:"Failed to set nickname.",msgstr:["Неуспешно поставување прекар."]},{msgid:"Favorites",msgstr:["Фаворити"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Датотеките и папките кој ќе ги означите за омилени ќе се појават овде."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Датотеките и папките кој неодамна сте ги измениле ќе се појават овде."]},{msgid:"Filter file list",msgstr:["Филтрирај листа на датотеки"]},{msgid:"Folder name cannot be empty.",msgstr:["Името на папката неможе да биде празно."]},{msgid:"Guest identification",msgstr:["Гостинска идентификација"]},{msgid:"Home",msgstr:["Почетна"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Ако ги избереш двете верзии, влезната датотека ќе добие број додаден на нејзиното име."]},{msgid:"Invalid name.",msgstr:["Невалидно име."]},{msgid:"Last modified date unknown",msgstr:["Датумот на последна измена е непознат"]},{msgid:"Modified",msgstr:["Променето"]},{msgid:"Move",msgstr:["Премести"]},{msgid:"Move to {target}",msgstr:["Премести во {target}"]},{msgid:"Name",msgstr:["Име"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Имињата можат да бидат најмногу со 64 карактери."]},{msgid:"Names must not be empty.",msgstr:["Имињата неможе да бидат празни."]},{msgid:'Names must not end with "{extension}".',msgstr:['Имињата неможе да завршуваат со "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Имињата неможе да започнуваат со точка."]},{msgid:"New",msgstr:["Нова"]},{msgid:"New folder",msgstr:["Нова папка"]},{msgid:"New folder name",msgstr:["Ново име на папка"]},{msgid:"New version",msgstr:["Нова верзија"]},{msgid:"No files in here",msgstr:["Овде нема датотеки"]},{msgid:"No files matching your filter were found.",msgstr:["Не се пронајдени датотеки што одговараат на вашиот филтер."]},{msgid:"No matching files",msgstr:["Нема датотеки што се совпаѓаат"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Внесете име со најмалку 2 карактери."]},{msgid:"Recent",msgstr:["Неодамнешни"]},{msgid:"Select all checkboxes",msgstr:["Избери ги сите полиња за избор"]},{msgid:"Select all entries",msgstr:["Изберете ги сите записи"]},{msgid:"Select all existing files",msgstr:["Изберете ги сите постоечки датотеки"]},{msgid:"Select all new files",msgstr:["Изберете ги сите нови датотеки"]},{msgid:"Select entry",msgstr:["Избери запис"]},{msgid:"Select the row for {nodename}",msgstr:["Избери ред за {nodename}"]},{msgid:"Size",msgstr:["Големина"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Прескокни %n датотека","Прескокни %n датотеки"]},{msgid:"Skip this file",msgstr:["Прескокни ја оваа датотека"]},{msgid:"Submit name",msgstr:["Испрати име"]},{msgid:"Undo",msgstr:["Врати"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Прикачи содржина или синхронизирај со ваши уреди!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Кога е избрана влезна папка, сите конфликтни датотеки во неа исто така ќе бидат препишани."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Кога е избрана влезна папка, содржината се запишува во постоечката папка и се извршува рекурсивно решавање на конфликти."]},{msgid:"Which files do you want to keep?",msgstr:["Кој датотеки сакаш да ги зачуваш?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Моментално сте идентификувани како {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Моментално не сте идентификувани."]},{msgid:"You cannot leave the name empty.",msgstr:["Не можете да го оставите името празно."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Треба да избереш најмалку едно решение за конфликт"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Треба да избереш најмалку една верзија за секоја датотека за да продолжи."]}]},{language:"ms_MY",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" adalah nama folder yang tidak sesuai ']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" nama folder yang tidak dibenarkan']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" tidak dibenarkan dalam nama folder']},{msgid:"All files",msgstr:["Semua fail"]},{msgid:"Choose",msgstr:["Pilih"]},{msgid:"Choose {file}",msgstr:["Pilih {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Pilih fail %n"]},{msgid:"Copy",msgstr:["menyalin"]},{msgid:"Copy to {target}",msgstr:["menyalin ke {target}"]},{msgid:"Could not create the new folder",msgstr:["Tidak dapat mewujudkan folder baharu"]},{msgid:"Could not load files settings",msgstr:["Tidak dapat memuatkan tetapan fail"]},{msgid:"Could not load files views",msgstr:["Tidak dapat memuatkan paparan fail"]},{msgid:"Create directory",msgstr:["mewujudkan direktori"]},{msgid:"Current view selector",msgstr:["pemilih pandangan semasa"]},{msgid:"Favorites",msgstr:["Pilihan"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Fail dan folder yang anda tanda sebagai pilihan akan dipaparkan di sini."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Fail dan folder yang anda telah ubah suai baru-baru ini dipaparkan di sini."]},{msgid:"Filter file list",msgstr:["Menapis senarai fail"]},{msgid:"Folder name cannot be empty.",msgstr:["Nama folder tidak boleh kosong."]},{msgid:"Home",msgstr:["Utama"]},{msgid:"Modified",msgstr:["Ubah suai"]},{msgid:"Move",msgstr:["pindah"]},{msgid:"Move to {target}",msgstr:["pindah ke {target}"]},{msgid:"Name",msgstr:["Nama"]},{msgid:"New",msgstr:["Baru"]},{msgid:"New folder",msgstr:["Folder Baharu"]},{msgid:"New folder name",msgstr:["Nama folder baharu"]},{msgid:"No files in here",msgstr:["Tiada fail di sini"]},{msgid:"No files matching your filter were found.",msgstr:["Tiada fail yang sepadan dengan tapisan anda."]},{msgid:"No matching files",msgstr:["Tiada fail yang sepadan"]},{msgid:"Recent",msgstr:["baru-baru ini"]},{msgid:"Select all entries",msgstr:["Pilih semua entri"]},{msgid:"Select entry",msgstr:["Pilih entri"]},{msgid:"Select the row for {nodename}",msgstr:["memilih baris {nodename}"]},{msgid:"Size",msgstr:["Saiz"]},{msgid:"Undo",msgstr:["buat asal"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Muat naik beberapa kandungan atau selaras dengan peranti anda!"]}]},{language:"nb_NO",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" er ikke tillatt i et navn.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" er ikke et tillatt navn.']},{msgid:'"{name}" is an invalid folder name.',msgstr:["«{name}» er ikke et gyldig mappenavn."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["«{name}» er ikke et tillatt mappenavn."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" er et reservert navn og er ikke tillatt.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" er ikke tillatt inne i et mappenavn.']},{msgid:"All files",msgstr:["Alle filer"]},{msgid:"Cancel",msgstr:["Avbryt"]},{msgid:"Choose",msgstr:["Velg"]},{msgid:"Choose {file}",msgstr:["Velg {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Velg %n fil","Velg %n filer"]},{msgid:"Copy",msgstr:["Kopier"]},{msgid:"Copy to {target}",msgstr:["Kopier til {target}"]},{msgid:"Could not create the new folder",msgstr:["Kunne ikke opprette den nye mappen"]},{msgid:"Could not load files settings",msgstr:["Kunne ikke laste filinnstillinger"]},{msgid:"Could not load files views",msgstr:["Kunne ikke laste filvisninger"]},{msgid:"Create directory",msgstr:["Opprett mappe"]},{msgid:"Current view selector",msgstr:["Nåværende visningsvelger"]},{msgid:"Enter your name",msgstr:["Skriv inn navnet ditt"]},{msgid:"Failed to set nickname.",msgstr:["Kunne ikke lagre kallenavnet."]},{msgid:"Favorites",msgstr:["Favoritter"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Filer og mapper du markerer som favoritter vil vises her."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Filer og mapper du nylig har endret, vil vises her."]},{msgid:"Filter file list",msgstr:["Filtrer filliste"]},{msgid:"Folder name cannot be empty.",msgstr:["Mappenavn kan ikke være tomt."]},{msgid:"Guest identification",msgstr:["Gjesteidentifikasjon"]},{msgid:"Home",msgstr:["Hjem"]},{msgid:"Invalid name.",msgstr:["Ugyldig navn."]},{msgid:"Modified",msgstr:["Modifisert"]},{msgid:"Move",msgstr:["Flytt"]},{msgid:"Move to {target}",msgstr:["Flytt til {target}"]},{msgid:"Name",msgstr:["Navn"]},{msgid:"Names must not be empty.",msgstr:["Navn kan ikke være tomme."]},{msgid:'Names must not end with "{extension}".',msgstr:['Navn kan ikke ende med "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Navn kan ikke starte med et punktum."]},{msgid:"New",msgstr:["Ny"]},{msgid:"New folder",msgstr:["Ny mappe"]},{msgid:"New folder name",msgstr:["Nytt mappenavn"]},{msgid:"No files in here",msgstr:["Ingen filer her"]},{msgid:"No files matching your filter were found.",msgstr:["Ingen filer funnet med ditt filter."]},{msgid:"No matching files",msgstr:["Ingen filer samsvarer"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Vennligst angi et navn som har minst 2 tegn."]},{msgid:"Recent",msgstr:["Nylige"]},{msgid:"Select all entries",msgstr:["Velg alle oppføringer"]},{msgid:"Select entry",msgstr:["Velg oppføring"]},{msgid:"Select the row for {nodename}",msgstr:["Velg raden for {nodename}"]},{msgid:"Size",msgstr:["Størrelse"]},{msgid:"Submit name",msgstr:["Bekreft navn"]},{msgid:"Undo",msgstr:["Angre"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Last opp innhold eller synkroniser med enhetene dine!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Du er akkurat nå identifisert som {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Du er akkurat nå ikke identifisert."]},{msgid:"You cannot leave the name empty.",msgstr:["Du kan ikke la navnet være blankt."]}]},{language:"nl",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" kan niet gebruikt worden in de benaming.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" is geen toegestane naam.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" is een ongeldige mapnaam.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" is geen toegestane mapnaam']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" is een gereserveerde naam en niet toegestaan.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" is niet toegestaan binnen een bestandsnaam']},{msgid:"All files",msgstr:["Alle bestanden"]},{msgid:"Cancel",msgstr:["Annuleren"]},{msgid:"Choose",msgstr:["Kiezen"]},{msgid:"Choose {file}",msgstr:["Kies {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Kies %n bestand","Kies %n bestanden"]},{msgid:"Copy",msgstr:["Kopiëren"]},{msgid:"Copy to {target}",msgstr:["Kopiëren naar {target}"]},{msgid:"Could not create the new folder",msgstr:["Kon de nieuwe map niet maken"]},{msgid:"Could not load files settings",msgstr:["Kon de bestandsinstellingen niet laden"]},{msgid:"Could not load files views",msgstr:["Kon de bestandsweergaves niet laden"]},{msgid:"Create directory",msgstr:["Map aanmaken"]},{msgid:"Current view selector",msgstr:["Huidige weergave keuze"]},{msgid:"Enter your name",msgstr:["Voer je naam in"]},{msgid:"Failed to set nickname.",msgstr:["Kon geen bijnaam instellen."]},{msgid:"Favorites",msgstr:["Favorieten"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Bestanden en mappen die je als favoriet markeert, verschijnen hier."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Bestanden en mappen die je recentelijk hebt gewijzigd, verschijnen hier."]},{msgid:"Filter file list",msgstr:["Bestandslijst filteren"]},{msgid:"Folder name cannot be empty.",msgstr:["Mapnaam mag niet leeg zijn."]},{msgid:"Guest identification",msgstr:["Gastenidentificatie"]},{msgid:"Home",msgstr:["Thuis"]},{msgid:"Invalid name.",msgstr:["Ongeldige naam."]},{msgid:"Modified",msgstr:["Gewijzigd"]},{msgid:"Move",msgstr:["Verplaatsen"]},{msgid:"Move to {target}",msgstr:["Verplaatsen naar {target}"]},{msgid:"Name",msgstr:["Naam"]},{msgid:"Names must not be empty.",msgstr:["Namen mogen niet leeg zijn."]},{msgid:'Names must not end with "{extension}".',msgstr:['Namen mogen niet eindigen met "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Namen mogen niet begonnen met een punt."]},{msgid:"New",msgstr:["Nieuw"]},{msgid:"New folder",msgstr:["Nieuwe map"]},{msgid:"New folder name",msgstr:["Nieuwe mapnaam"]},{msgid:"No files in here",msgstr:["Geen bestanden hier"]},{msgid:"No files matching your filter were found.",msgstr:["Geen bestanden gevonden die voldoen aan je filter."]},{msgid:"No matching files",msgstr:["Geen overeenkomende bestanden"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Voer een naam in met minimaal 2 tekens."]},{msgid:"Recent",msgstr:["Recent"]},{msgid:"Select all entries",msgstr:["Alle invoer selecteren"]},{msgid:"Select entry",msgstr:["Invoer selecteren"]},{msgid:"Select the row for {nodename}",msgstr:["Selecteer de rij voor {nodename}"]},{msgid:"Size",msgstr:["Grootte"]},{msgid:"Submit name",msgstr:["Naam indienen"]},{msgid:"Undo",msgstr:["Ongedaan maken"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Upload inhoud of synchroniseer met je apparaten!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Je wordt momenteel geïdentificeerd als {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Je bent momenteel niet geïdentificeerd."]},{msgid:"You cannot leave the name empty.",msgstr:["Je kunt de naam niet leeg laten."]}]},{language:"pl",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" nie jest dozwolone w nazwie.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" nie jest dozwoloną nazwą.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" jest nieprawidłową nazwą folderu']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" nie jest dozwoloną nazwą folderu']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" jest zastrzeżoną nazwą i nie jest dozwolone.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['Znak "/" nie jest dozwolony w nazwie folderu']},{msgid:"All files",msgstr:["Wszystkie pliki"]},{msgid:"Cancel",msgstr:["Anuluj"]},{msgid:"Choose",msgstr:["Wybierz"]},{msgid:"Choose {file}",msgstr:["Wybierz {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Wybierz %n plik","Wybierz %n pliki","Wybierz %n plików","Wybierz %n plików"]},{msgid:"Copy",msgstr:["Kopiuj"]},{msgid:"Copy to {target}",msgstr:["Skopiuj do {target}"]},{msgid:"Could not create the new folder",msgstr:["Nie można utworzyć nowego folderu"]},{msgid:"Could not load files settings",msgstr:["Nie można wczytać ustawień plików"]},{msgid:"Could not load files views",msgstr:["Nie można wczytać widoków plików"]},{msgid:"Create directory",msgstr:["Utwórz katalog"]},{msgid:"Current view selector",msgstr:["Bieżący selektor widoku"]},{msgid:"Enter your name",msgstr:["Wprowadź nazwę"]},{msgid:"Failed to set nickname.",msgstr:["Nie udało się utworzyć pseudonimu."]},{msgid:"Favorites",msgstr:["Ulubione"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Pliki i foldery które oznaczysz jako ulubione będą wyświetlały się tutaj"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Pliki i foldery które ostatnio modyfikowałeś będą wyświetlały się tutaj"]},{msgid:"Filter file list",msgstr:["Filtruj listę plików"]},{msgid:"Folder name cannot be empty.",msgstr:["Nazwa folderu nie może być pusta"]},{msgid:"Guest identification",msgstr:["Identyfikacja gościa"]},{msgid:"Home",msgstr:["Strona główna"]},{msgid:"Invalid name.",msgstr:["Nieprawidłowa nazwa."]},{msgid:"Modified",msgstr:["Zmodyfikowano"]},{msgid:"Move",msgstr:["Przenieś"]},{msgid:"Move to {target}",msgstr:["Przejdź do {target}"]},{msgid:"Name",msgstr:["Nazwa"]},{msgid:"Names must not be empty.",msgstr:["Nazwy nie mogą być puste."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nazwy nie mogą kończyć się na "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Nazwy nie mogą zaczynać się od kropki."]},{msgid:"New",msgstr:["Nowy"]},{msgid:"New folder",msgstr:["Nowy folder"]},{msgid:"New folder name",msgstr:["Nowa nazwa folderu"]},{msgid:"No files in here",msgstr:["Brak plików"]},{msgid:"No files matching your filter were found.",msgstr:["Nie znaleziono plików spełniających warunki filtru"]},{msgid:"No matching files",msgstr:["Brak pasujących plików"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Wprowadź nazwę zawierającą minimum 2 znaki."]},{msgid:"Recent",msgstr:["Ostatni"]},{msgid:"Select all entries",msgstr:["Wybierz wszystkie wpisy"]},{msgid:"Select entry",msgstr:["Wybierz wpis"]},{msgid:"Select the row for {nodename}",msgstr:["Wybierz wiersz dla {nodename}"]},{msgid:"Size",msgstr:["Rozmiar"]},{msgid:"Submit name",msgstr:["Zatwierdź nazwę"]},{msgid:"Undo",msgstr:["Cofnij"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Wyślij zawartość lub zsynchronizuj ze swoimi urządzeniami!"]},{msgid:"You are currently not identified.",msgstr:["Użytkownik nie został uwierzytelniony."]},{msgid:"You cannot leave the name empty.",msgstr:["Nazwa nie może być pusta."]}]},{language:"pt_BR",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" não é permitido dentro de um nome.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" não é um nome permitido.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" é um nome de pasta inválido.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" não é um nome de pasta permitido']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" é um nome reservado e não permitido.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" não é permitido dentro de um nome de pasta.']},{msgid:"All files",msgstr:["Todos os arquivos"]},{msgid:"Cancel",msgstr:["Cancelar"]},{msgid:"Choose",msgstr:["Escolher"]},{msgid:"Choose {file}",msgstr:["Escolher {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Escolher %n arquivo","Escolher %n arquivos","Escolher %n arquivos"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar para {target}"]},{msgid:"Could not create the new folder",msgstr:["Não foi possível criar a nova pasta"]},{msgid:"Could not load files settings",msgstr:["Não foi possível carregar configurações de arquivos"]},{msgid:"Could not load files views",msgstr:["Não foi possível carregar visualições de arquivos"]},{msgid:"Create directory",msgstr:["Criar diretório"]},{msgid:"Current view selector",msgstr:["Seletor de visualização atual"]},{msgid:"Enter your name",msgstr:["Digite seu nome"]},{msgid:"Failed to set nickname.",msgstr:["Falha ao definir apelido."]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Os arquivos e pastas que você marca como favoritos aparecerão aqui."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Arquivos e pastas que você modificou recentemente aparecerão aqui."]},{msgid:"Filter file list",msgstr:["Filtrar lista de arquivos"]},{msgid:"Folder name cannot be empty.",msgstr:["O nome da pasta não pode ser vazio."]},{msgid:"Guest identification",msgstr:["Identificação de convidados"]},{msgid:"Home",msgstr:["Início"]},{msgid:"Invalid name.",msgstr:["Nome inválido."]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover para {target}"]},{msgid:"Name",msgstr:["Nome"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Os nomes podem ter no máximo 64 caracteres."]},{msgid:"Names must not be empty.",msgstr:["Nomes não podem estar vazios."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nomes não podem terminar com "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Nomes não podem começar com um ponto."]},{msgid:"New",msgstr:["Novo"]},{msgid:"New folder",msgstr:["Nova pasta"]},{msgid:"New folder name",msgstr:["Novo nome de pasta"]},{msgid:"No files in here",msgstr:["Nenhum arquivo aqui"]},{msgid:"No files matching your filter were found.",msgstr:["Nenhum arquivo correspondente ao seu filtro foi encontrado."]},{msgid:"No matching files",msgstr:["Nenhum arquivo correspondente"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Digite um nome com pelo menos 2 caracteres."]},{msgid:"Recent",msgstr:["Recente"]},{msgid:"Select all entries",msgstr:["Selecionar todas as entradas"]},{msgid:"Select entry",msgstr:["Selecionar entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Selecionar a linha para {nodename}"]},{msgid:"Size",msgstr:["Tamanho"]},{msgid:"Submit name",msgstr:["Enviar nome"]},{msgid:"Undo",msgstr:["Desfazer"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Faça upload de algum conteúdo ou sincronize com seus dispositivos!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Encontra-se identificado como {nickname}"]},{msgid:"You are currently not identified.",msgstr:["No momento, você não está identificado."]},{msgid:"You cannot leave the name empty.",msgstr:["Você não pode deixar o nome vazio."]}]},{language:"pt_PT",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" não é permitido dentro de um nome.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" não é um nome permitido.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" é um nome de pasta inválido.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" não é um nome de pasta permitido']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" é um nome reservado e não é permitido.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" não é permitido dentro do nome de pasta.']},{msgid:"All files",msgstr:["Todos os ficheiros"]},{msgid:"Cancel",msgstr:["Cancelar"]},{msgid:"Choose",msgstr:["Escolher"]},{msgid:"Choose {file}",msgstr:["Escolher {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Escolha %n ficheiro","Escolha %n ficheiros","Escolha %n ficheiros"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar para {target}"]},{msgid:"Could not create the new folder",msgstr:["Não foi possível criar a nova pasta "]},{msgid:"Could not load files settings",msgstr:["Não foi possível carregar as definições dos ficheiros"]},{msgid:"Could not load files views",msgstr:["Não foi possível carregar as visualizações dos ficheiros"]},{msgid:"Create directory",msgstr:["Criar pasta"]},{msgid:"Current view selector",msgstr:["Seletor de visualização atual"]},{msgid:"Enter your name",msgstr:["Introduza o seu nome"]},{msgid:"Failed to set nickname.",msgstr:["Falha ao definir o nome alternativo."]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Os ficheiros e as pastas que marcar como favoritos aparecerão aqui."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Os ficheiros e as pastas que modificou recentemente aparecerão aqui."]},{msgid:"Filter file list",msgstr:["Filtrar lista de ficheiros"]},{msgid:"Folder name cannot be empty.",msgstr:["O nome da pasta não pode estar vazio."]},{msgid:"Guest identification",msgstr:["Identificação de convidado"]},{msgid:"Home",msgstr:["Início"]},{msgid:"Invalid name.",msgstr:["Nome inválido."]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover para {target}"]},{msgid:"Name",msgstr:["Nome"]},{msgid:"Names must not be empty.",msgstr:["O nome não pode ficar em branco."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nomes não podem terminar em "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Os nomes não podem começar por um ponto."]},{msgid:"New",msgstr:["Novo"]},{msgid:"New folder",msgstr:["Nova pasta"]},{msgid:"New folder name",msgstr:["Novo nome da pasta"]},{msgid:"No files in here",msgstr:["Sem ficheiros aqui"]},{msgid:"No files matching your filter were found.",msgstr:["Não foi encontrado nenhum ficheiro correspondente ao seu filtro."]},{msgid:"No matching files",msgstr:["Nenhum ficheiro correspondente"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Introduza um nome com, pelo menos, 2 caracteres."]},{msgid:"Recent",msgstr:["Recentes"]},{msgid:"Select all entries",msgstr:["Selecionar todas as entradas"]},{msgid:"Select entry",msgstr:["Selecionar entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Selecione a linha para {nodename}"]},{msgid:"Size",msgstr:["Tamanho"]},{msgid:"Submit name",msgstr:["Submeter nome"]},{msgid:"Undo",msgstr:["Anular"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Envie algum conteúdo ou sincronize com os seus dispositivos!"]},{msgid:"You are currently not identified.",msgstr:["Atualmente, não está identificado."]},{msgid:"You cannot leave the name empty.",msgstr:["Não pode deixar o nome em branco."]}]},{language:"ro",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" este un nume de director invalid.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" nu este un nume de director permis']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" nu este permis în numele unui director.']},{msgid:"All files",msgstr:["Toate fișierele"]},{msgid:"Choose",msgstr:["Alege"]},{msgid:"Choose {file}",msgstr:["Alege {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Alege %n fișier","Alege %n fișiere","Alege %n fișiere"]},{msgid:"Copy",msgstr:["Copiază"]},{msgid:"Copy to {target}",msgstr:["Copiază în {target}"]},{msgid:"Could not create the new folder",msgstr:["Nu s-a putut crea noul director"]},{msgid:"Could not load files settings",msgstr:["Nu s-au putut încărca setările fișierelor"]},{msgid:"Could not load files views",msgstr:["Nu s-au putut încărca vizualizările fișierelor"]},{msgid:"Create directory",msgstr:["Creează director"]},{msgid:"Current view selector",msgstr:["Selectorul curent al vizualizării"]},{msgid:"Favorites",msgstr:["Favorite"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Fișiere și directoare pe care le marcați ca favorite vor apărea aici."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Fișiere și directoare pe care le-ați modificat recent vor apărea aici."]},{msgid:"Filter file list",msgstr:["Filtrează lista de fișiere"]},{msgid:"Folder name cannot be empty.",msgstr:["Numele de director nu poate fi necompletat."]},{msgid:"Home",msgstr:["Acasă"]},{msgid:"Modified",msgstr:["Modificat"]},{msgid:"Move",msgstr:["Mută"]},{msgid:"Move to {target}",msgstr:["Mută către {target}"]},{msgid:"Name",msgstr:["Nume"]},{msgid:"New",msgstr:["Nou"]},{msgid:"New folder",msgstr:["Director nou"]},{msgid:"New folder name",msgstr:["Numele noului director"]},{msgid:"No files in here",msgstr:["Nu există fișiere"]},{msgid:"No files matching your filter were found.",msgstr:["Nu există fișiere potrivite pentru filtrul selectat"]},{msgid:"No matching files",msgstr:["Nu există fișiere potrivite"]},{msgid:"Recent",msgstr:["Recente"]},{msgid:"Select all entries",msgstr:["Selectează toate înregistrările"]},{msgid:"Select entry",msgstr:["Selectează înregistrarea"]},{msgid:"Select the row for {nodename}",msgstr:["Selectează rândul pentru {nodename}"]},{msgid:"Size",msgstr:["Mărime"]},{msgid:"Undo",msgstr:["Anulează"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Încărcați conținut sau sincronizați cu dispozitivele dumneavoastră!"]}]},{language:"ru",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" не допускается внутри имени.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" это не допустимое имя.']},{msgid:'"{name}" is an invalid folder name.',msgstr:["«{name}» — недопустимое имя папки."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["«{name}» не является разрешенным именем папки"]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" это зарезервированное имя и не допустимо.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:["Символ «/» не допускается внутри имени папки."]},{msgid:"All files",msgstr:["Все файлы"]},{msgid:"Cancel",msgstr:["Отмена"]},{msgid:"Choose",msgstr:["Выбрать"]},{msgid:"Choose {file}",msgstr:["Выбрать «{file}»"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Выбрать %n файл","Выбрать %n файла","Выбрать %n файлов","Выбрать %n файлов"]},{msgid:"Copy",msgstr:["Копировать"]},{msgid:"Copy to {target}",msgstr:["Копировать в «{target}»"]},{msgid:"Could not create the new folder",msgstr:["Не удалось создать новую папку"]},{msgid:"Could not load files settings",msgstr:["Не удалось загрузить настройки файлов"]},{msgid:"Could not load files views",msgstr:["Не удалось загрузить конфигурацию просмотра файлов"]},{msgid:"Create directory",msgstr:["Создать папку"]},{msgid:"Current view selector",msgstr:["Переключатель текущего вида"]},{msgid:"Enter your name",msgstr:["Введите ваше имя"]},{msgid:"Failed to set nickname.",msgstr:["Не удалось задать никнейм."]},{msgid:"Favorites",msgstr:["Избранное"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Здесь будут отображаться файлы и папки, которые вы пометили как избранные."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Здесь будут отображаться файлы и папки, которые вы недавно изменили."]},{msgid:"Filter file list",msgstr:["Фильтровать список файлов"]},{msgid:"Folder name cannot be empty.",msgstr:["Имя папки не может быть пустым."]},{msgid:"Guest identification",msgstr:["Гостевая идентификация"]},{msgid:"Home",msgstr:["Домой"]},{msgid:"Invalid name.",msgstr:["Неверное имя."]},{msgid:"Modified",msgstr:["Изменен"]},{msgid:"Move",msgstr:["Переместить"]},{msgid:"Move to {target}",msgstr:["Переместить в «{target}»"]},{msgid:"Name",msgstr:["Имя"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Имена не могут быть длинее 64 символов."]},{msgid:"Names must not be empty.",msgstr:["Имена не могут быть пустыми."]},{msgid:'Names must not end with "{extension}".',msgstr:['Имена не могут оканчиваться на "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Имена должны начинаться с точки."]},{msgid:"New",msgstr:["Новый"]},{msgid:"New folder",msgstr:["Новая папка"]},{msgid:"New folder name",msgstr:["Имя новой папки"]},{msgid:"No files in here",msgstr:["Здесь нет файлов"]},{msgid:"No files matching your filter were found.",msgstr:["Файлы, соответствующие вашему фильтру, не найдены."]},{msgid:"No matching files",msgstr:["Нет подходящих файлов"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Пожалуйста введите имя длиной не менее 2 символов."]},{msgid:"Recent",msgstr:["Недавний"]},{msgid:"Select all entries",msgstr:["Выбрать все записи"]},{msgid:"Select entry",msgstr:["Выбрать запись"]},{msgid:"Select the row for {nodename}",msgstr:["Выбрать строку для «{nodename}»"]},{msgid:"Size",msgstr:["Размер"]},{msgid:"Submit name",msgstr:["Отправить имя"]},{msgid:"Undo",msgstr:["Отменить"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Загрузите контент или синхронизируйте его со своими устройствами!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Вы идентифицированы как {nickname}."]},{msgid:"You are currently not identified.",msgstr:["В данный момент вы не идентифицированы."]},{msgid:"You cannot leave the name empty.",msgstr:["Вы не можете оставить имя пустым."]}]},{language:"sk_SK",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" je neplatný názov pričinka.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" nie je povolený názov priečinka.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" nie je povolené v názve priečinka.']},{msgid:"All files",msgstr:["Všetky súbory"]},{msgid:"Choose",msgstr:["Vybrať"]},{msgid:"Choose {file}",msgstr:["Vybrať {súbor}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Vybraný %n súbor","Vybrané %n súbory","Vybraných %n súborov","Vybraných %n súborov"]},{msgid:"Copy",msgstr:["Kopírovať"]},{msgid:"Copy to {target}",msgstr:["Kopírovať do {umiestnenia}"]},{msgid:"Could not create the new folder",msgstr:["Nepodarilo sa vytvoriť nový priečinok"]},{msgid:"Could not load files settings",msgstr:["Nepodarilo sa načítať nastavenia súborov"]},{msgid:"Could not load files views",msgstr:["Nepodarilo sa načítať pohľady súborov"]},{msgid:"Create directory",msgstr:["Vytvoriť adresár"]},{msgid:"Current view selector",msgstr:["Výber aktuálneho zobrazenia"]},{msgid:"Favorites",msgstr:["Obľúbené"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Tu sa zobrazia súbory a priečinky, ktoré označíte ako obľúbené."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Tu sa zobrazia súbory a priečinky, ktoré ste nedávno upravili."]},{msgid:"Filter file list",msgstr:["Filtrovať zoznam súborov"]},{msgid:"Folder name cannot be empty.",msgstr:["Názov priečinka nemôže byť prázdny."]},{msgid:"Home",msgstr:["Domov"]},{msgid:"Modified",msgstr:["Upravené"]},{msgid:"Move",msgstr:["Prejsť"]},{msgid:"Move to {target}",msgstr:["Prejsť na {umiestnenie}"]},{msgid:"Name",msgstr:["Názov"]},{msgid:"New",msgstr:["Pridať"]},{msgid:"New folder",msgstr:["Pridať priečinok"]},{msgid:"New folder name",msgstr:["Pridať názov priečinka"]},{msgid:"No files in here",msgstr:["Nie sú tu žiadne súbory"]},{msgid:"No files matching your filter were found.",msgstr:["Nenašli sa žiadne súbory zodpovedajúce vášmu filtru."]},{msgid:"No matching files",msgstr:["Žiadne zodpovedajúce súbory"]},{msgid:"Recent",msgstr:["Nedávne"]},{msgid:"Select all entries",msgstr:["Vybrať všetky položky"]},{msgid:"Select entry",msgstr:["Vybrať položku"]},{msgid:"Select the row for {nodename}",msgstr:["Vyberte riadok pre {názov uzla}"]},{msgid:"Size",msgstr:["Veľkosť"]},{msgid:"Undo",msgstr:["Späť"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Nahrajte nejaký obsah alebo synchronizujte so svojimi zariadeniami!"]}]},{language:"sl",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["{name} je neveljavno ime mape."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["{name} ni dovoljeno ime mape"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" ni dovoljen v imenu mape.']},{msgid:"All files",msgstr:["Vse datoteke"]},{msgid:"Choose",msgstr:["Izberi"]},{msgid:"Choose {file}",msgstr:["Izberi {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Izberi %n datoteko","Izberi %n datoteki","Izberi %n datotek","Izberi %n datotek"]},{msgid:"Copy",msgstr:["Kopiraj"]},{msgid:"Copy to {target}",msgstr:["Kopiraj v {target}"]},{msgid:"Could not create the new folder",msgstr:["Nisem mogel ustvariti nove mape"]},{msgid:"Could not load files settings",msgstr:["NIsem mogel naložiti nastavitev datotek"]},{msgid:"Could not load files views",msgstr:["Nisem mogel naložiti pogledov datotek"]},{msgid:"Create directory",msgstr:["Ustvari mapo"]},{msgid:"Current view selector",msgstr:["Izbirnik trenutnega pogleda"]},{msgid:"Favorites",msgstr:["Priljubljene"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Datoteke in mape ki jih označite kot priljubljene se bodo prikazale tukaj."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Daoteke in mape ki ste jih pred kratkim spremenili se bodo prikazale tukaj."]},{msgid:"Filter file list",msgstr:["Filtriraj seznam datotek"]},{msgid:"Folder name cannot be empty.",msgstr:["Ime mape ne more biti prazno"]},{msgid:"Home",msgstr:["Domov"]},{msgid:"Modified",msgstr:["Spremenjeno"]},{msgid:"Move",msgstr:["Premakni"]},{msgid:"Move to {target}",msgstr:["Premakni v {target}"]},{msgid:"Name",msgstr:["Ime"]},{msgid:"New",msgstr:["Nov"]},{msgid:"New folder",msgstr:["Nova mapa"]},{msgid:"New folder name",msgstr:["Novo ime mape"]},{msgid:"No files in here",msgstr:["Tukaj ni datotek"]},{msgid:"No files matching your filter were found.",msgstr:["Ni bilo najdenih ujemajočih datotek glede na vaš filter."]},{msgid:"No matching files",msgstr:["Ni ujemajočih datotek"]},{msgid:"Recent",msgstr:["Nedavne"]},{msgid:"Select all entries",msgstr:["Izberi vse vnose"]},{msgid:"Select entry",msgstr:["Izberi vnos"]},{msgid:"Select the row for {nodename}",msgstr:["Izberi vrstico za {nodename}"]},{msgid:"Size",msgstr:["Velikost"]},{msgid:"Undo",msgstr:["Razveljavi"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Naloži nekaj vsebine ali sinhroniziraj s svojimi napravami!"]}]},{language:"sr",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:["„{char}” није дозвољено унутар имена."]},{msgid:'"{extension}" is not an allowed name.',msgstr:["„{extension}” није дозвољено име."]},{msgid:'"{name}" is an invalid folder name.',msgstr:["„{name}” није исправно име фолдера."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["„{name}” није дозвољено име за фолдер."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["„{segment}” је резервисано име и није дозвољено."]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["„/” није дозвољено унутар имена фолдера."]},{msgid:"All files",msgstr:["Сви фајлови"]},{msgid:"Cancel",msgstr:["Откажи"]},{msgid:"Choose",msgstr:["Изаберите"]},{msgid:"Choose {file}",msgstr:["Изаберите {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Изаберите %n фајл","Изаберите %n фајла","Изаберите %n фајлова"]},{msgid:"Copy",msgstr:["Копирај"]},{msgid:"Copy to {target}",msgstr:["Копирај у {target}"]},{msgid:"Could not create the new folder",msgstr:["Није могао да се креира нови фолдер"]},{msgid:"Could not load files settings",msgstr:["Не могу да се учитају подешавања фајлова"]},{msgid:"Could not load files views",msgstr:["Не могу да се учитају прикази фајлова"]},{msgid:"Create directory",msgstr:["Креирај директоријум"]},{msgid:"Current view selector",msgstr:["Бирач тренутног приказа"]},{msgid:"Enter your name",msgstr:["Унесите своје име"]},{msgid:"Failed to set nickname.",msgstr:["Није успело постављање надимка."]},{msgid:"Favorites",msgstr:["Омиљено"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Овде ће се појавити фајлови и фолдери које сте означили као омиљене."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Овде ће се појавити фајлови и фолдери који се се недавно изменили."]},{msgid:"Filter file list",msgstr:["Фитрирање листе фајлова"]},{msgid:"Folder name cannot be empty.",msgstr:["Име фолдера не може бити празно."]},{msgid:"Guest identification",msgstr:["Идентификација госта"]},{msgid:"Home",msgstr:["Почетак"]},{msgid:"Invalid name.",msgstr:["Неисправно име."]},{msgid:"Modified",msgstr:["Измењено"]},{msgid:"Move",msgstr:["Премести"]},{msgid:"Move to {target}",msgstr:["Премести у {target}"]},{msgid:"Name",msgstr:["Име"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Највећа дужина имена може бити 64 карактера."]},{msgid:"Names must not be empty.",msgstr:["Имена не смеју да буду празна."]},{msgid:'Names must not end with "{extension}".',msgstr:["Имена не смеју да се завршавају на „{extension}”."]},{msgid:"Names must not start with a dot.",msgstr:["Имена не смеју да почињу тачком."]},{msgid:"New",msgstr:["Ново"]},{msgid:"New folder",msgstr:["Нови фолдер"]},{msgid:"New folder name",msgstr:["Име новог фолдера"]},{msgid:"No files in here",msgstr:["Овде нема фајлова"]},{msgid:"No files matching your filter were found.",msgstr:["Није пронађен ниједан фајл који задовољава ваш филтер."]},{msgid:"No matching files",msgstr:["Нема таквих фајлова"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Молимо вас да унесете име од барем два карактера."]},{msgid:"Recent",msgstr:["Скорашње"]},{msgid:"Select all entries",msgstr:["Изаберите све ставке"]},{msgid:"Select entry",msgstr:["Изаберите ставку"]},{msgid:"Select the row for {nodename}",msgstr:["Изаберите ред за {nodename}"]},{msgid:"Size",msgstr:["Величина"]},{msgid:"Submit name",msgstr:["Предај име"]},{msgid:"Undo",msgstr:["Поништи"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Отпремите нешто или синхронизујте са својим уређајима!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Тренутно се идентификујете као {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Тренутно немате идентификацију."]},{msgid:"You cannot leave the name empty.",msgstr:["Име не можете да оставите празно."]}]},{language:"sr@latin",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["„{name}” je neispravan naziv foldera."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["„{name}” je nedozvoljen naziv foldera."]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["„/” se ne može koristiti unutar naziva foldera."]},{msgid:"All files",msgstr:["Svi fajlovi"]},{msgid:"Choose",msgstr:["Izaberite"]},{msgid:"Choose {file}",msgstr:["Izaberite {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Izaberite %n fajl","Izaberite %n fajla","Izaberite %n fajlova"]},{msgid:"Copy",msgstr:["Kopiraj"]},{msgid:"Copy to {target}",msgstr:["Kopiraj u {target}"]},{msgid:"Could not create the new folder",msgstr:["Neuspešno kreiranje novog foldera"]},{msgid:"Could not load files settings",msgstr:["Neuspešno učitavanje podešavanja fajlova"]},{msgid:"Could not load files views",msgstr:["Neuspešno učitavanje prikaza fajlova"]},{msgid:"Create directory",msgstr:["Kreiraj direktorijum"]},{msgid:"Current view selector",msgstr:["Birač trenutnog prikaza"]},{msgid:"Favorites",msgstr:["Omiljeno"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Lista omiljenih fajlova i foldera."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Lista fajlova i foldera sa skorašnjim izmenama."]},{msgid:"Filter file list",msgstr:["Fitriranje liste fajlova"]},{msgid:"Folder name cannot be empty.",msgstr:["Naziv foldera ne može biti prazan."]},{msgid:"Home",msgstr:["Početak"]},{msgid:"Modified",msgstr:["Izmenjeno"]},{msgid:"Move",msgstr:["Premesti"]},{msgid:"Move to {target}",msgstr:["Premesti u {target}"]},{msgid:"Name",msgstr:["Naziv"]},{msgid:"New",msgstr:["Novo"]},{msgid:"New folder",msgstr:["Novi folder"]},{msgid:"New folder name",msgstr:["Naziv novog foldera"]},{msgid:"No files in here",msgstr:["Bez fajlova"]},{msgid:"No files matching your filter were found.",msgstr:["Nema fajlova koji zadovoljavaju uslove filtera."]},{msgid:"No matching files",msgstr:["Nema takvih fajlova"]},{msgid:"Recent",msgstr:["Skorašnje"]},{msgid:"Select all entries",msgstr:["Izaberite sve stavke"]},{msgid:"Select entry",msgstr:["Izaberite stavku"]},{msgid:"Select the row for {nodename}",msgstr:["Izaberite red za {nodename}"]},{msgid:"Size",msgstr:["Veličina"]},{msgid:"Undo",msgstr:["Vrati"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Otpremite sadržaj ili sinhronizujte sa svojim uređajima!"]}]},{language:"sv",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" är inte tillåtet i ett namn.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" är inte ett tillåtet namn.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" är ett ogiltigt mappnamn.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" är inte ett tillåtet mappnamn']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" är ett reserverat namn och inte tillåtet.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" är inte tillåtet i ett mappnamn.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n fil är i konflikt","%n filer är i konflikt"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n fil är i konflikt i {dirname}","%n filer är i konflikt i {dirname}"]},{msgid:"All files",msgstr:["Alla filer"]},{msgid:"Cancel",msgstr:["Avbryt"]},{msgid:"Cancel the entire operation",msgstr:["Avbryt hela operationen"]},{msgid:"Choose",msgstr:["Välj"]},{msgid:"Choose {file}",msgstr:["Välj {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Välj %n fil","Välj %n filer"]},{msgid:"Confirm",msgstr:["Bekräfta"]},{msgid:"Continue",msgstr:["Fortsätt"]},{msgid:"Copy",msgstr:["Kopiera"]},{msgid:"Copy to {target}",msgstr:["Kopiera till {target}"]},{msgid:"Could not create the new folder",msgstr:["Kunde inte skapa den nya mappen"]},{msgid:"Could not load files settings",msgstr:["Kunde inte ladda filinställningar"]},{msgid:"Could not load files views",msgstr:["Kunde inte ladda filvyer"]},{msgid:"Create directory",msgstr:["Skapa katalog"]},{msgid:"Current view selector",msgstr:["Aktuell vyväljare"]},{msgid:"Enter your name",msgstr:["Ange ditt namn"]},{msgid:"Existing version",msgstr:["Nuvarande version"]},{msgid:"Failed to set nickname.",msgstr:["Kunde inte ställa in smeknamn."]},{msgid:"Favorites",msgstr:["Favoriter"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Filer och mappar som du markerar som favorit kommer att visas här."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Filer och mappar som du nyligen ändrat kommer att visas här."]},{msgid:"Filter file list",msgstr:["Filtrera fillistan"]},{msgid:"Folder name cannot be empty.",msgstr:["Mappnamnet får inte vara tomt."]},{msgid:"Guest identification",msgstr:["Gästidentifiering"]},{msgid:"Home",msgstr:["Hem"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Om du väljer båda versionerna kommer den inkommande filen att få ett nummer tillagt i sitt namn."]},{msgid:"Invalid name.",msgstr:["Ogiltigt namn."]},{msgid:"Last modified date unknown",msgstr:["Senaste ändringsdatum okänt"]},{msgid:"Modified",msgstr:["Ändrad"]},{msgid:"Move",msgstr:["Flytta"]},{msgid:"Move to {target}",msgstr:["Flytta till {target}"]},{msgid:"Name",msgstr:["Namn"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Namnen kan vara högst 64 tecken långa."]},{msgid:"Names must not be empty.",msgstr:["Namn får inte vara tomt."]},{msgid:'Names must not end with "{extension}".',msgstr:['Namn får inte sluta med "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Namn får inte börja med en punkt."]},{msgid:"New",msgstr:["Ny"]},{msgid:"New folder",msgstr:["Ny mapp"]},{msgid:"New folder name",msgstr:["Nytt mappnamn"]},{msgid:"New version",msgstr:["Ny version"]},{msgid:"No files in here",msgstr:["Inga filer här"]},{msgid:"No files matching your filter were found.",msgstr:["Inga filer som matchar ditt filter hittades."]},{msgid:"No matching files",msgstr:["Inga matchande filer"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Ange ett namn med minst 2 tecken."]},{msgid:"Recent",msgstr:["Nyligen"]},{msgid:"Select all checkboxes",msgstr:["Markera alla kryssrutor"]},{msgid:"Select all entries",msgstr:["Välj alla poster"]},{msgid:"Select all existing files",msgstr:["Välj alla befintliga filer"]},{msgid:"Select all new files",msgstr:["Välj alla nya filer"]},{msgid:"Select entry",msgstr:["Välj post"]},{msgid:"Select the row for {nodename}",msgstr:["Välj raden för {nodename}"]},{msgid:"Size",msgstr:["Storlek"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Hoppa över %n fil","Hoppa över %n filer"]},{msgid:"Skip this file",msgstr:["Hoppa över den här filen"]},{msgid:"Submit name",msgstr:["Skicka namn"]},{msgid:"Undo",msgstr:["Ångra"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Ladda upp lite innehåll eller synkronisera med dina enheter!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["När en inkommande mapp väljs kommer eventuella konflikterande filer i den också att skrivas över."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["När en inkommande mapp väljs skrivs innehållet in i den befintliga mappen och en rekursiv konfliktlösning utförs."]},{msgid:"Which files do you want to keep?",msgstr:["Vilka filer vill du behålla?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Du är för närvarande identifierad som {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Du är för närvarande inte identifierad."]},{msgid:"You cannot leave the name empty.",msgstr:["Du kan inte lämna namnet tomt."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Du måste välja minst en konfliktlösning"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du måste välja minst en version av varje fil för att fortsätta."]}]},{language:"tr",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['Bir ad içinde "{char}" karakteri kullanılamaz.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" adına izin verilmiyor.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" geçersiz bir klasör adı.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" izin verilen bir klasör adı değil']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" adı sistem için ayrılmış olduğundan kullanılamaz.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" karakteri klasör adında kullanılamaz.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n dosya çakışıyor","%n dosya çakışıyor"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["{dirname} içindeki %n dosya çakışıyor","{dirname} içindeki %n dosya çakışıyor"]},{msgid:"All files",msgstr:["Tüm dosyalar"]},{msgid:"Cancel",msgstr:["İptal"]},{msgid:"Cancel the entire operation",msgstr:["Tüm işlemi iptal et"]},{msgid:"Choose",msgstr:["Seçin"]},{msgid:"Choose {file}",msgstr:["{file} seçin"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["%n dosya seçin","%n dosya seçin"]},{msgid:"Confirm",msgstr:["Onayla"]},{msgid:"Continue",msgstr:["İlerle"]},{msgid:"Copy",msgstr:["Kopyala"]},{msgid:"Copy to {target}",msgstr:["{target} üzerine kopyala"]},{msgid:"Could not create the new folder",msgstr:["Yeni klasör oluşturulamadı"]},{msgid:"Could not load files settings",msgstr:["Dosyalar uygulamasının ayarları yüklenemedi"]},{msgid:"Could not load files views",msgstr:["Dosyalar uygulamasının görünümleri yüklenemedi"]},{msgid:"Create directory",msgstr:["Klasör oluştur"]},{msgid:"Current view selector",msgstr:["Geçerli görünüm seçici"]},{msgid:"Enter your name",msgstr:["Adınızı yazın"]},{msgid:"Existing version",msgstr:["Var olan sürüm"]},{msgid:"Failed to set nickname.",msgstr:["Takma ad ayarlanamadı."]},{msgid:"Favorites",msgstr:["Sık kullanılanlar"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Sık kullanılan olarak seçtiğiniz dosyalar burada görüntülenir."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Son zamanlarda değiştirdiğiniz dosya ve klasörler burada görüntülenir."]},{msgid:"Filter file list",msgstr:["Dosya listesini süz"]},{msgid:"Folder name cannot be empty.",msgstr:["Klasör adı boş olamaz."]},{msgid:"Guest identification",msgstr:["Konuk kimliği"]},{msgid:"Home",msgstr:["Giriş"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["İki sürümü de seçerseniz, gelen dosyanın adına bir sayı eklenir."]},{msgid:"Invalid name.",msgstr:["Ad geçersiz."]},{msgid:"Last modified date unknown",msgstr:["Son değiştirilme tarihi bilinmiyor."]},{msgid:"Modified",msgstr:["Değiştirilme"]},{msgid:"Move",msgstr:["Taşı"]},{msgid:"Move to {target}",msgstr:["{target} üzerine taşı"]},{msgid:"Name",msgstr:["Ad"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Adlar en fazla 64 karakter uzunluğunda olabilir."]},{msgid:"Names must not be empty.",msgstr:["Ad boş olamaz."]},{msgid:'Names must not end with "{extension}".',msgstr:['Ad "{extension}" ile bitemez.']},{msgid:"Names must not start with a dot.",msgstr:["Ad nokta karakteri ile başlayamaz."]},{msgid:"New",msgstr:["Yeni"]},{msgid:"New folder",msgstr:["Yeni klasör"]},{msgid:"New folder name",msgstr:["Yeni klasör adı"]},{msgid:"New version",msgstr:["Yeni sürüm"]},{msgid:"No files in here",msgstr:["Burada herhangi bir dosya yok"]},{msgid:"No files matching your filter were found.",msgstr:["Süzgece uyan bir dosya bulunamadı."]},{msgid:"No matching files",msgstr:["Eşleşen bir dosya yok"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Ad en az 2 karakter uzunluğunda olmalıdır."]},{msgid:"Recent",msgstr:["Son kullanılanlar"]},{msgid:"Select all checkboxes",msgstr:["Tüm kutuları işaretle"]},{msgid:"Select all entries",msgstr:["Tüm kayıtları seç"]},{msgid:"Select all existing files",msgstr:["Tüm var olan dosyaları seç"]},{msgid:"Select all new files",msgstr:["Tüm yeni dosyaları seç"]},{msgid:"Select entry",msgstr:["Kaydı seç"]},{msgid:"Select the row for {nodename}",msgstr:["{nodename} satırını seçin"]},{msgid:"Size",msgstr:["Boyut"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n dosyayı atla","%n dosyayı atla"]},{msgid:"Skip this file",msgstr:["Bu dosyayı atla"]},{msgid:"Submit name",msgstr:["Adı gönder"]},{msgid:"Undo",msgstr:["Geri al"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Bazı içerikler yükleyin ya da aygıtlarınızla eşitleyin!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Bir gelen klasör seçildiğinde, içindeki çakışan dosyaların da üzerine yazılır."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Bir gelen klasör seçildiğinde, içerik var olan klasöre yazılır ve alt klasörlerle bir çakışma çözümü uygulanır."]},{msgid:"Which files do you want to keep?",msgstr:["Hangi dosyaları tutmak istiyorsunuz?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["{nickname} olarak tanınıyorsunuz."]},{msgid:"You are currently not identified.",msgstr:["Henüz kendinizi tanıtmadınız."]},{msgid:"You cannot leave the name empty.",msgstr:["Ad boş bırakılamaz."]},{msgid:"You need to choose at least one conflict solution",msgstr:["En az bir çakışma çözümü seçmelisiniz"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["İlerlemek için her dosaynın en az bir sürümünü seçmelisiniz."]}]},{language:"uk",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" не дозволено всередині імени.']},{msgid:'"{extension}" is not an allowed name.',msgstr:[`"{extension}" недозволене ім'я.`]},{msgid:'"{name}" is an invalid folder name.',msgstr:[`"{name}" недійсне ім'я каталогу.`]},{msgid:'"{name}" is not an allowed folder name',msgstr:[`"{name}" недозволене ім'я каталогу.`]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:[`"{segment}" зарезервоване ім'я і не дозволено для використання.`]},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" не дозволено у імені каталогу.']},{msgid:"All files",msgstr:["Всі файли"]},{msgid:"Cancel",msgstr:["Скасувати"]},{msgid:"Choose",msgstr:["Вибрати"]},{msgid:"Choose {file}",msgstr:["Вибрати {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Вибрати %n файл","Вибрати %n файли","Вибрати %n файлів","Вибрати %n файлів"]},{msgid:"Copy",msgstr:["Копіювати"]},{msgid:"Copy to {target}",msgstr:["Копіювати до {target}"]},{msgid:"Could not create the new folder",msgstr:["Не вдалося створити новий каталог"]},{msgid:"Could not load files settings",msgstr:["Не вдалося завантажити налаштування файлів"]},{msgid:"Could not load files views",msgstr:["Не вдалося завантажити подання файлів"]},{msgid:"Create directory",msgstr:["Створити каталог"]},{msgid:"Current view selector",msgstr:["Вибір подання"]},{msgid:"Enter your name",msgstr:["Зазначте ваше ім'я"]},{msgid:"Failed to set nickname.",msgstr:["Не вдалося встановити псевдо."]},{msgid:"Favorites",msgstr:["Із зірочкою"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Тут показуватимуться файли та каталоги, які ви позначите зірочкою."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Тут показуватимуться файли та каталоги, які було нещодавно змінено."]},{msgid:"Filter file list",msgstr:["Фільтрувати список файлів"]},{msgid:"Folder name cannot be empty.",msgstr:["Ім'я каталогу не може бути порожнє."]},{msgid:"Guest identification",msgstr:["Ім'я для гостя"]},{msgid:"Home",msgstr:["Домівка"]},{msgid:"Invalid name.",msgstr:["Недійсне ім'я."]},{msgid:"Modified",msgstr:["Змінено"]},{msgid:"Move",msgstr:["Перемістити"]},{msgid:"Move to {target}",msgstr:["Перемістити до {target}"]},{msgid:"Name",msgstr:["Ім'я"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Імена мають мати довжину не більше 64 символів."]},{msgid:"Names must not be empty.",msgstr:["Ім'я не може бути порожнє."]},{msgid:'Names must not end with "{extension}".',msgstr:[`Ім'я не може закінчуватися на "{extension}".`]},{msgid:"Names must not start with a dot.",msgstr:["Ім'я не може починатися з крапки."]},{msgid:"New",msgstr:["Новий"]},{msgid:"New folder",msgstr:["Новий каталог"]},{msgid:"New folder name",msgstr:["Ім'я нового каталогу"]},{msgid:"No files in here",msgstr:["Тут відсутні файли"]},{msgid:"No files matching your filter were found.",msgstr:["Відсутні збіги за фільтром."]},{msgid:"No matching files",msgstr:["Відсутні збіги файлів."]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Зазначте ім'я довжиною не менше 2 символів"]},{msgid:"Recent",msgstr:["Останні"]},{msgid:"Select all entries",msgstr:["Вибрати всі записи"]},{msgid:"Select entry",msgstr:["Вибрати запис"]},{msgid:"Select the row for {nodename}",msgstr:["Вибрати рядок для {nodename}"]},{msgid:"Size",msgstr:["Розмір"]},{msgid:"Submit name",msgstr:["Встановити ім'я"]},{msgid:"Undo",msgstr:["Повернути"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Завантажте вміст або синхронізуйте з вашим пристроєм!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Вас визначено як {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Вас не ідентифіковано."]},{msgid:"You cannot leave the name empty.",msgstr:["Потрібно зазначити ім'я."]}]},{language:"uz",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['Nom ichida "{char}" ga ruxsat berilmagan.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" ruxsat etilgan nom emas.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" jild nomi yaroqsiz.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" ruxsat etilgan jild nomi emas']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" - zaxiralangan nom va ruxsat berilmaydi.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" papka nomi ichida ruxsat berilmaydi.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n fayl ziddiyatli"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["{dirname} da %n fayl ziddiyati"]},{msgid:"All files",msgstr:["Barcha fayllar"]},{msgid:"Cancel",msgstr:["Bekor qilish"]},{msgid:"Cancel the entire operation",msgstr:["Butun operatsiyani bekor qiling"]},{msgid:"Choose",msgstr:["Tanlang"]},{msgid:"Choose {file}",msgstr:["Tanlang {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Tanlang %n faylni"]},{msgid:"Confirm",msgstr:["Tasdiqlang"]},{msgid:"Continue",msgstr:["Davom eting"]},{msgid:"Copy",msgstr:["Nusxa"]},{msgid:"Copy to {target}",msgstr:[" {target} ga nusxa"]},{msgid:"Could not create the new folder",msgstr:["Yangi jild yaratib bo‘lmadi"]},{msgid:"Could not load files settings",msgstr:["Fayl sozlamalari yuklanmadi"]},{msgid:"Could not load files views",msgstr:["Fayllarni koʻrishni yuklab boʻlmadi"]},{msgid:"Create directory",msgstr:["Katalog yaratish"]},{msgid:"Current view selector",msgstr:["Joriy ko'rinish selektori"]},{msgid:"Enter your name",msgstr:["Ismingizni kiriting"]},{msgid:"Existing version",msgstr:["Mavjud versiya"]},{msgid:"Failed to set nickname.",msgstr:["Taxallusni o‘rnatib bo‘lmadi."]},{msgid:"Favorites",msgstr:["Tanlanganlar"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Tanlangan deb belgilagan fayl va papkalar shu yerda koʻrinadi."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Siz yaqinda oʻzgartirgan fayl va papkalar shu yerda koʻrinadi."]},{msgid:"Filter file list",msgstr:["Fayl ro'yxatini filtrlash"]},{msgid:"Folder name cannot be empty.",msgstr:["Jild nomi boʻsh boʻlishi mumkin emas."]},{msgid:"Guest identification",msgstr:["Foydalanuvchini identifikatsiyalash"]},{msgid:"Home",msgstr:["Uy"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Agar siz ikkala versiyani tanlasangiz, kiruvchi fayl nomiga qo'shilgan raqamga ega bo'ladi."]},{msgid:"Invalid name.",msgstr:["Nomi noto‘g‘ri."]},{msgid:"Last modified date unknown",msgstr:["Oxirgi tahrirlangan sana noma'lum"]},{msgid:"Modified",msgstr:["Modifikatsiyalangan"]},{msgid:"Move",msgstr:["Ko'chirish"]},{msgid:"Move to {target}",msgstr:[" {target} ga ko'chirish"]},{msgid:"Name",msgstr:["Nomi"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Ismlar ko'pi bilan 64 ta belgidan iborat bo'lishi mumkin."]},{msgid:"Names must not be empty.",msgstr:["Ismlar bo'sh bo'lmasligi kerak."]},{msgid:'Names must not end with "{extension}".',msgstr:['Ismlar "{extension}" bilan tugamasligi kerak.']},{msgid:"Names must not start with a dot.",msgstr:["Ismlar nuqta bilan boshlanmasligi kerak."]},{msgid:"New",msgstr:["Yangi"]},{msgid:"New folder",msgstr:["Yangi jild"]},{msgid:"New folder name",msgstr:["Yangi jild nomi"]},{msgid:"New version",msgstr:["Yangi versiya"]},{msgid:"No files in here",msgstr:["Fayl mavjud emas"]},{msgid:"No files matching your filter were found.",msgstr:["Filtringizga mos keladigan fayl topilmadi."]},{msgid:"No matching files",msgstr:["Mos fayllar yo'q"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Kamida 2 ta belgidan iborat nom kiriting."]},{msgid:"Recent",msgstr:["Yaqinda"]},{msgid:"Select all checkboxes",msgstr:["Barcha katakchalarni belgilang"]},{msgid:"Select all entries",msgstr:["Barcha yozuvlarni tanlang"]},{msgid:"Select all existing files",msgstr:["Barcha mavjud fayllarni tanlang"]},{msgid:"Select all new files",msgstr:["Barcha yangi fayllarni tanlang"]},{msgid:"Select entry",msgstr:["Yozuvni tanlang"]},{msgid:"Select the row for {nodename}",msgstr:["{nodename} uchun qatorni tanlang"]},{msgid:"Size",msgstr:["O`lcham"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n faylni oʻtkazib yuborish"]},{msgid:"Skip this file",msgstr:["Ushbu faylni o'tkazib yuboring"]},{msgid:"Submit name",msgstr:["Ismni tasdiqlang"]},{msgid:"Undo",msgstr:["Bekor qilish"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Qurilmangizga ba'zi kontentni yuklang yoki sinxronlang!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Kiruvchi papka tanlanganda, undagi har qanday ziddiyatli fayllar ham ustiga yoziladi."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Kiruvchi papka tanlanganda, kontent mavjud jildga yoziladi va nizolarni rekursiv hal qilish amalga oshiriladi."]},{msgid:"Which files do you want to keep?",msgstr:["Qaysi fayllarni saqlamoqchisiz?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Siz hozirda {nickname} sifatida aniqlangansiz."]},{msgid:"You are currently not identified.",msgstr:["Siz hozirda identifikatsiyadan o'tmagansiz"]},{msgid:"You cannot leave the name empty.",msgstr:["Ism katagini bo'sh qoldirib bo'lmaydi."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Siz kamida bitta mojaro yechimini tanlashingiz kerak"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Davom etish uchun har bir faylning kamida bitta versiyasini tanlashingiz kerak."]}]},{language:"vi",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" là tên thư mục không hợp lệ.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"1{name}"không phải là tên thư mục được cho phép']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/"không được phép đặt trong tên thư mục.']},{msgid:"All files",msgstr:["Tất cả tệp"]},{msgid:"Choose",msgstr:["Chọn"]},{msgid:"Choose {file}",msgstr:["Chọn {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Chọn %n tệp"]},{msgid:"Copy",msgstr:["Sao chép"]},{msgid:"Copy to {target}",msgstr:["Sao chép đến {target}"]},{msgid:"Could not create the new folder",msgstr:["Không thể tạo thư mục mới"]},{msgid:"Could not load files settings",msgstr:["Không thể tải tập tin cài đặt"]},{msgid:"Could not load files views",msgstr:["Không thể tải xuống tệp xem"]},{msgid:"Create directory",msgstr:["Tạo thư mục"]},{msgid:"Current view selector",msgstr:["Hiện tại chế độ xem của bộ chọn"]},{msgid:"Favorites",msgstr:["Yêu cầu thích"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Các tập tin và thư mục bạn đánh dấu yêu thích sẽ hiển thị ở đây."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Các tập tin và thư mục bạn sửa đổi gần đây sẽ hiển thị ở đây."]},{msgid:"Filter file list",msgstr:["Filter list file"]},{msgid:"Folder name cannot be empty.",msgstr:["Thư mục tên không được để trống."]},{msgid:"Home",msgstr:["Trang chủ"]},{msgid:"Modified",msgstr:["Đã sửa đổi"]},{msgid:"Move",msgstr:["Di chuyển"]},{msgid:"Move to {target}",msgstr:["Di chuyển đến{target}"]},{msgid:"Name",msgstr:["Tên"]},{msgid:"New",msgstr:["Mới"]},{msgid:"New folder",msgstr:["New thư mục"]},{msgid:"New folder name",msgstr:["New thư mục tên"]},{msgid:"No files in here",msgstr:["No file at here"]},{msgid:"No files matching your filter were found.",msgstr:["Không tìm thấy tệp nào phù hợp với bộ lọc của bạn."]},{msgid:"No matching files",msgstr:["No file phù hợp"]},{msgid:"Recent",msgstr:["Gần đây"]},{msgid:"Select all entries",msgstr:["Choose all items"]},{msgid:"Select entry",msgstr:["Chọn mục nhập"]},{msgid:"Select the row for {nodename}",msgstr:["Choose hang cho{nodename}"]},{msgid:"Size",msgstr:["Kích cỡ"]},{msgid:"Undo",msgstr:["Hoàn tác"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Tải lên một số nội dung hoặc đồng bộ hóa với thiết bị của bạn!"]}]},{language:"zh_CN",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["“{name}” 是无效的文件夹名称。"]},{msgid:'"{name}" is not an allowed folder name',msgstr:["“{name}” 不是允许的文件夹名称"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["文件夹名称中不允许包含 “/”。"]},{msgid:"All files",msgstr:["所有文件"]},{msgid:"Choose",msgstr:["选择"]},{msgid:"Choose {file}",msgstr:["选择 {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["选择 %n 个文件"]},{msgid:"Copy",msgstr:["复制"]},{msgid:"Copy to {target}",msgstr:["复制到 {target}"]},{msgid:"Could not create the new folder",msgstr:["无法创建新文件夹"]},{msgid:"Could not load files settings",msgstr:["无法加载文件设置"]},{msgid:"Could not load files views",msgstr:["无法加载文件视图"]},{msgid:"Create directory",msgstr:["创建目录"]},{msgid:"Current view selector",msgstr:["当前视图选择器"]},{msgid:"Favorites",msgstr:["最爱"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["您标记为最爱的文件与文件夹会显示在这里"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["您最近修改的文件与文件夹会显示在这里"]},{msgid:"Filter file list",msgstr:["过滤文件列表"]},{msgid:"Folder name cannot be empty.",msgstr:["文件夹名称不能为空。"]},{msgid:"Home",msgstr:["主目录"]},{msgid:"Modified",msgstr:["已修改"]},{msgid:"Move",msgstr:["移动"]},{msgid:"Move to {target}",msgstr:["移动至 {target}"]},{msgid:"Name",msgstr:["名称"]},{msgid:"New",msgstr:["新建"]},{msgid:"New folder",msgstr:["新文件夹"]},{msgid:"New folder name",msgstr:["新文件夹名称"]},{msgid:"No files in here",msgstr:["此处无文件"]},{msgid:"No files matching your filter were found.",msgstr:["找不到符合您过滤条件的文件"]},{msgid:"No matching files",msgstr:["无符合的文件"]},{msgid:"Recent",msgstr:["最近"]},{msgid:"Select all entries",msgstr:["选择所有条目"]},{msgid:"Select entry",msgstr:["选择条目"]},{msgid:"Select the row for {nodename}",msgstr:["选择 {nodename} 的列"]},{msgid:"Size",msgstr:["大小"]},{msgid:"Undo",msgstr:[" 撤消"]},{msgid:"Upload some content or sync with your devices!",msgstr:["上传一些项目或与您的设备同步!"]}]},{language:"zh_HK",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['名稱中不能使用 "{char}"。']},{msgid:'"{extension}" is not an allowed name.',msgstr:["「{extension}」並非允許的名稱。"]},{msgid:'"{name}" is an invalid folder name.',msgstr:["「{name}」是無效的資料夾名稱。"]},{msgid:'"{name}" is not an allowed folder name',msgstr:["資料夾名稱「{name}」不符合允許的規範。"]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["「{segment}」是一個保留名稱,不能使用。"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:['資料夾名稱中不允許使用 "/"。']},{msgid:"All files",msgstr:["所有檔案"]},{msgid:"Cancel",msgstr:["取消"]},{msgid:"Choose",msgstr:["選擇"]},{msgid:"Choose {file}",msgstr:["選擇 {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["選擇 %n 個檔案"]},{msgid:"Copy",msgstr:["複製"]},{msgid:"Copy to {target}",msgstr:["複製到 {target}"]},{msgid:"Could not create the new folder",msgstr:["無法建立新資料夾"]},{msgid:"Could not load files settings",msgstr:["無法載入檔案設定"]},{msgid:"Could not load files views",msgstr:["無法載入檔案視圖"]},{msgid:"Create directory",msgstr:["建立目錄"]},{msgid:"Current view selector",msgstr:["目前視圖選擇器"]},{msgid:"Enter your name",msgstr:["輸入您的名字"]},{msgid:"Failed to set nickname.",msgstr:["無法設置暱稱。"]},{msgid:"Favorites",msgstr:["最愛"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["您標記為最愛的檔案與資料夾將會顯示在此處。"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["您最近修改的檔案與資料夾將會顯示在此處。"]},{msgid:"Filter file list",msgstr:["過濾檔案清單"]},{msgid:"Folder name cannot be empty.",msgstr:["資料夾名稱不能為空。"]},{msgid:"Guest identification",msgstr:["訪客身份識別"]},{msgid:"Home",msgstr:["首頁"]},{msgid:"Invalid name.",msgstr:["無效的名字。"]},{msgid:"Modified",msgstr:["已修改"]},{msgid:"Move",msgstr:["移動"]},{msgid:"Move to {target}",msgstr:["移動至 {target}"]},{msgid:"Name",msgstr:["名稱"]},{msgid:"Names must not be empty.",msgstr:["名稱不能為空。"]},{msgid:'Names must not end with "{extension}".',msgstr:["名稱不得以「{extension}」結尾。"]},{msgid:"Names must not start with a dot.",msgstr:["名稱不得以點開頭。"]},{msgid:"New",msgstr:["新"]},{msgid:"New folder",msgstr:["新資料夾"]},{msgid:"New folder name",msgstr:["新資料夾名稱"]},{msgid:"No files in here",msgstr:["此處無檔案"]},{msgid:"No files matching your filter were found.",msgstr:["找不到符合您過濾條件的檔案。"]},{msgid:"No matching files",msgstr:["沒有匹配的檔案"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["請輸入至少 2 個字符的名稱。"]},{msgid:"Recent",msgstr:["最近"]},{msgid:"Select all entries",msgstr:["選擇所有項目"]},{msgid:"Select entry",msgstr:["選擇項目"]},{msgid:"Select the row for {nodename}",msgstr:["選擇 {nodename} 的列"]},{msgid:"Size",msgstr:["大小"]},{msgid:"Submit name",msgstr:["遞交名字"]},{msgid:"Undo",msgstr:["還原"]},{msgid:"Upload some content or sync with your devices!",msgstr:["上傳一些內容或與您的裝置同步!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["您目前被識別為 {nickname}。"]},{msgid:"You are currently not identified.",msgstr:["您目前尚未被識別。"]},{msgid:"You cannot leave the name empty.",msgstr:["名稱不能留空。"]}]},{language:"zh_TW",translations:[{msgid:'"{name}" is an invalid file name.',msgstr:["「{name}」是無效的檔案名稱。"]},{msgid:'"{name}" is not an allowed filetype',msgstr:["「{name}」並非允許的檔案類型"]},{msgid:'"/" is not allowed inside a file name.',msgstr:["檔案名稱中不允許使用「/」。"]},{msgid:"All files",msgstr:["所有檔案"]},{msgid:"Choose",msgstr:["選擇"]},{msgid:"Choose {file}",msgstr:["選擇 {file}"]},{msgid:"Copy",msgstr:["複製"]},{msgid:"Copy to {target}",msgstr:["複製到 {target}"]},{msgid:"Could not create the new folder",msgstr:["無法建立新資料夾"]},{msgid:"Create directory",msgstr:["建立目錄"]},{msgid:"Current view selector",msgstr:["目前檢視選取器"]},{msgid:"Favorites",msgstr:["最愛"]},{msgid:"File name cannot be empty.",msgstr:["檔案名稱不能為空。"]},{msgid:"Filepicker sections",msgstr:["檔案挑選器選取"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["您標記為最愛的檔案與資料夾將會顯示在此處。"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["您最近修改的檔案與資料夾將會顯示在此處。"]},{msgid:"Filter file list",msgstr:["過濾檔案清單"]},{msgid:"Home",msgstr:["家"]},{msgid:"Mime type {mime}",msgstr:["Mime type {mime}"]},{msgid:"Modified",msgstr:["已修改"]},{msgid:"Move",msgstr:["移動"]},{msgid:"Move to {target}",msgstr:["移動至 {target}"]},{msgid:"Name",msgstr:["名稱"]},{msgid:"New",msgstr:["新"]},{msgid:"New folder",msgstr:["新資料夾"]},{msgid:"New folder name",msgstr:["新資料夾名稱"]},{msgid:"No files in here",msgstr:["此處無檔案"]},{msgid:"No files matching your filter were found.",msgstr:["找不到符合您過濾條件的檔案。"]},{msgid:"No matching files",msgstr:["無符合的檔案"]},{msgid:"Recent",msgstr:["最近"]},{msgid:"Select all entries",msgstr:["選取所有條目"]},{msgid:"Select entry",msgstr:["選取條目"]},{msgid:"Select the row for {nodename}",msgstr:["選取 {nodename} 的列"]},{msgid:"Size",msgstr:["大小"]},{msgid:"Undo",msgstr:["復原"]},{msgid:"unknown",msgstr:["未知"]},{msgid:"Upload some content or sync with your devices!",msgstr:["上傳一些內容或與您的裝置同步"]}]}]){const{language:u,translations:t}=e,n={headers:{},translations:{"":Object.fromEntries(t.map(i=>[i.msgid,i]))}};Qh.addTranslation(u,n)}const Ps=Qh.build();Ps.ngettext.bind(Ps),Ps.gettext.bind(Ps);Y4().setApp("@nextcloud/dialogs").detectLogLevel().build();const iS="off",aS="polite",sS="assertive";var E4=(e=>(e[e.OFF=iS]="OFF",e[e.POLITE=aS]="POLITE",e[e.ASSERTIVE=sS]="ASSERTIVE",e))(E4||{});const rS=7e3;function e1(e,u){if(u={timeout:rS,isHTML:!1,type:void 0,selector:void 0,onRemove:()=>{},onClick:void 0,close:!0,...u},typeof e=="string"&&!u.isHTML){const s=document.createElement("div");s.innerHTML=e,e=s.innerText}let t=u.type??"";typeof u.onClick=="function"&&(t+=" toast-with-click ");const n=e instanceof Node;let i=E4.POLITE;u.ariaLive?i=u.ariaLive:(u.type==="toast-error"||u.type==="toast-undo")&&(i=E4.ASSERTIVE);const a=nS({[n?"node":"text"]:e,duration:u.timeout,callback:u.onRemove,onClick:u.onClick,close:u.close,gravity:"top",selector:u.selector,position:"right",backgroundColor:"",className:"dialogs "+t,escapeMarkup:!u.isHTML,ariaLive:i});return a.showToast(),a}function OS(e,u){return e1(e,{...u,type:"toast-error"})}function MS(e,u){return e1(e,{...u,type:"toast-success"})}const zS=Y4().setApp("teams").detectUser().detectLogLevel().build();export{Xt as $,ao as A,Pe as B,An as C,oS as D,Jn as E,Ve as F,i0 as G,l0 as H,DS as I,le as J,un as K,Je as L,nr as M,NS as N,$e as O,FS as P,SS as Q,Qg as R,Y4 as S,$4 as T,bS as U,vu as V,Du as W,jt as X,_S as Y,wS as Z,hu as _,Q as a,PS as a0,MS as a1,de as b,Gn as c,ru as d,Wu as e,xe as f,Cu as g,He as h,TS as i,Oe as j,ht as k,$r as l,Ws as m,xu as n,j as o,U4 as p,ke as q,Ae as r,wu as s,Ue as t,N as u,qn as v,V4 as w,rt as x,zS as y,OS as z}; -//# sourceMappingURL=logger-BLuX_B6K.chunk.mjs.map + `]},{msgid:"Favorites",msgstr:["즐겨찾기"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["즐겨찾기로 표시한 파일 및 폴더가 이곳에 표시됩니다."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["최근 수정한 파일 및 폴더가 이곳에 표시됩니다."]},{msgid:"Filter file list",msgstr:["파일 목록 필터링"]},{msgid:"Folder name cannot be empty.",msgstr:["폴더명을 비울 수 없습니다."]},{msgid:"Guest identification",msgstr:["게스트 확인"]},{msgid:"Home",msgstr:["홈"]},{msgid:"Invalid name.",msgstr:["잘못된 이름입니다. "]},{msgid:"Modified",msgstr:["수정됨"]},{msgid:"Move",msgstr:["이동"]},{msgid:"Move to {target}",msgstr:["{target}으로 이동"]},{msgid:"Name",msgstr:["이름"]},{msgid:"Names may be at most 64 characters long.",msgstr:["이름은 아마도 최대 64글자 입니다."]},{msgid:"Names must not be empty.",msgstr:["이름은 비어 있으면 안 됩니다."]},{msgid:'Names must not end with "{extension}".',msgstr:['이름은 "{extension}"로 끝나지 않아야 합니다.']},{msgid:"Names must not start with a dot.",msgstr:["이름은 점으로 시작해서는 안 됩니다."]},{msgid:"New",msgstr:["새로 만들기"]},{msgid:"New folder",msgstr:["새 폴더"]},{msgid:"New folder name",msgstr:["새 폴더명"]},{msgid:"No files in here",msgstr:["파일이 없습니다"]},{msgid:"No files matching your filter were found.",msgstr:["선택한 필터에 해당하는 파일이 없습니다."]},{msgid:"No matching files",msgstr:["일치하는 파일 없음"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["최소 2자 이상의 이름을 입력하십시오. "]},{msgid:"Recent",msgstr:["최근"]},{msgid:"Select all entries",msgstr:["모두 선택"]},{msgid:"Select entry",msgstr:["항목 선택"]},{msgid:"Select the row for {nodename}",msgstr:["{nodename}의 행 선택"]},{msgid:"Size",msgstr:["크기"]},{msgid:"Submit name",msgstr:["이름 제출"]},{msgid:"Undo",msgstr:["되돌리기"]},{msgid:"Upload some content or sync with your devices!",msgstr:["기기에서 파일을 업로드 또는 동기화하세요!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["{nickname}로서 인증 상태 입니다."]},{msgid:"You are currently not identified.",msgstr:["현재 인증되지 않았습니다."]},{msgid:"You cannot leave the name empty.",msgstr:["이름은 비워 둘 수 없습니다. "]}]},{language:"lb",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["{name} ass en ongëlteg Dossier"]},{msgid:'"{name}" is not an allowed folder name',msgstr:["{name} ass net en erlaabten Dossiernumm"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" ass net an engem Dossier Numm erlaabt']},{msgid:"All files",msgstr:["All Dateien"]},{msgid:"Choose",msgstr:["Wielt"]},{msgid:"Choose {file}",msgstr:["Wielt {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Wielt %n Fichieren","Wielt %n Fichier"]},{msgid:"Copy",msgstr:["Kopie"]},{msgid:"Copy to {target}",msgstr:["Kopie op {target}"]},{msgid:"Could not create the new folder",msgstr:["Konnt den neien Dossier net erstellen"]},{msgid:"Could not load files settings",msgstr:["Konnt d'Dateienastellungen net lueden"]},{msgid:"Could not load files views",msgstr:["Konnt d'Dateien net lueden"]},{msgid:"Create directory",msgstr:["Erstellt Verzeechnes"]},{msgid:"Current view selector",msgstr:["Aktuell Vue selector"]},{msgid:"Favorites",msgstr:["Favoritten"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Dateien an Ordner, déi Dir als Favorit markéiert, ginn hei gewisen"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Dateien an Ordner déi Dir viru kuerzem geännert hutt ginn hei op"]},{msgid:"Filter file list",msgstr:["Filter Datei Lëscht"]},{msgid:"Folder name cannot be empty.",msgstr:["Dossier Numm kann net eidel sinn"]},{msgid:"Home",msgstr:["Wëllkomm"]},{msgid:"Modified",msgstr:["Geännert"]},{msgid:"Move",msgstr:["Plënne"]},{msgid:"Move to {target}",msgstr:["Plënneren {target}"]},{msgid:"Name",msgstr:["Numm"]},{msgid:"New",msgstr:["Nei"]},{msgid:"New folder",msgstr:["Neien dossier"]},{msgid:"New folder name",msgstr:["Neien dossier numm"]},{msgid:"No files in here",msgstr:["Kee fichier hei"]},{msgid:"No files matching your filter were found.",msgstr:["Kee fichier deen äre filter passt gouf fonnt"]},{msgid:"No matching files",msgstr:["Keng passende dateien"]},{msgid:"Recent",msgstr:["Rezent"]},{msgid:"Select all entries",msgstr:["Wielt all entréen"]},{msgid:"Select entry",msgstr:["Wielt entrée"]},{msgid:"Select the row for {nodename}",msgstr:["Wielt d'zeil fir {nodename}"]},{msgid:"Size",msgstr:["Gréisst"]},{msgid:"Undo",msgstr:["Undoen"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Luet en inhalt erop oder synchroniséiert mat ären apparater"]}]},{language:"lt_LT",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["„{name}“ yra netinkamas aplanko pavadinimas."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["„{name}“ yra neleidžiamas aplanko pavadinimas"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["„/“ yra neleidžiamas aplanko pavadinime."]},{msgid:"All files",msgstr:["Visi failai"]},{msgid:"Cancel",msgstr:["Atšaukti"]},{msgid:"Choose",msgstr:["Pasirinkti"]},{msgid:"Choose {file}",msgstr:["Pasirinkti {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Pasirinkti %n failą","Pasirinkti %n failus","Pasirinkti %n failų","Pasirinkti %n failą"]},{msgid:"Copy",msgstr:["Kopijuoti"]},{msgid:"Copy to {target}",msgstr:["Kopijuoti į {target}"]},{msgid:"Could not create the new folder",msgstr:["Nepavyko sukurti naujo aplanko"]},{msgid:"Could not load files settings",msgstr:["Nepavyko įkelti failų nustatymų"]},{msgid:"Could not load files views",msgstr:["Nepavyko įkelti failų peržiūrų"]},{msgid:"Create directory",msgstr:["Sukurti katalogą"]},{msgid:"Current view selector",msgstr:["Dabartinis peržiūros pasirinkimas"]},{msgid:"Enter your name",msgstr:["Įrašykite savo vardą"]},{msgid:"Failed to set nickname.",msgstr:["Nepavyko nustatyti slapyvardžio"]},{msgid:"Favorites",msgstr:["Populiariausi"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Failai ir aplankai, kuriuos pažymėsite kaip mėgstamiausius, bus rodomi čia."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Čia bus rodomi failai ir aplankai, kuriuos neseniai pakeitėte."]},{msgid:"Filter file list",msgstr:["Filtruoti failų sąrašą"]},{msgid:"Folder name cannot be empty.",msgstr:["Aplanko pavadinimas negali būti tuščias."]},{msgid:"Guest identification",msgstr:["Svečio identifikacija"]},{msgid:"Home",msgstr:["Pradžia"]},{msgid:"Modified",msgstr:["Pakeista"]},{msgid:"Move",msgstr:["Perkelti"]},{msgid:"Move to {target}",msgstr:["Perkelti į {target}"]},{msgid:"Name",msgstr:["Vardas"]},{msgid:"New",msgstr:["Naujas"]},{msgid:"New folder",msgstr:["Naujas aplankas"]},{msgid:"New folder name",msgstr:["Naujas aplanko pavadinimas"]},{msgid:"No files in here",msgstr:["Čia failų nėra"]},{msgid:"No files matching your filter were found.",msgstr:["Nepavyko rasti failų pagal filtro nustatymus"]},{msgid:"No matching files",msgstr:["Nėra atitinkančių failų"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Įrašykite vardą iš mažiausiai dviejų ženklų."]},{msgid:"Recent",msgstr:["Nauji"]},{msgid:"Select all entries",msgstr:["Žymėti visus įrašus"]},{msgid:"Select entry",msgstr:["Žymėti įrašą"]},{msgid:"Select the row for {nodename}",msgstr:["Pasirinkite eilutę {nodename}"]},{msgid:"Size",msgstr:["Dydis"]},{msgid:"Submit name",msgstr:["Patvirtinti vardą"]},{msgid:"Undo",msgstr:["Atšaukti"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Įkelkite turinio arba sinchronizuokite su savo įrenginiais!"]},{msgid:"You are currently not identified.",msgstr:["Šiuo metu nesate identifikuotas."]},{msgid:"You cannot leave the name empty.",msgstr:["Negalite palikti tuščio vardo lauko."]}]},{language:"lv",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" nav derīgs mapes nosaukums.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" nav atļauts mapes nosaukums']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" nav atļauts mapes nosaukuma izmantošanā.']},{msgid:"All files",msgstr:["Visas datnes"]},{msgid:"Choose",msgstr:["Izvēlieties"]},{msgid:"Choose {file}",msgstr:["Izvēlieties {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Izvēlēties %n datņu","Izvēlēties %n datni","Izvēlēties %n datnes"]},{msgid:"Copy",msgstr:["Kopēt"]},{msgid:"Copy to {target}",msgstr:["Kopēt uz {target}"]},{msgid:"Could not create the new folder",msgstr:["Nevarēja izveidot jaunu mapi"]},{msgid:"Could not load files settings",msgstr:["Nevarēja ielādēt datņu iestatījumus"]},{msgid:"Could not load files views",msgstr:["Nevarēja ielādēt datņu apskatījumus"]},{msgid:"Create directory",msgstr:["Izveidot direktoriju"]},{msgid:"Current view selector",msgstr:["Pašreizēja skata atlasītājs"]},{msgid:"Favorites",msgstr:["Favorīti"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Šeit parādīsies datnes un mapes, kas tiks atzīmētas kā iecienītas."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Šeit parādīsies datnes un mapes, kuras nesen tika izmainītas."]},{msgid:"Filter file list",msgstr:["Atlasīt datņu sarakstu"]},{msgid:"Folder name cannot be empty.",msgstr:["Mapes nosaukums nevar būt tukšs."]},{msgid:"Home",msgstr:["Sākums"]},{msgid:"Modified",msgstr:["Izmaninīta"]},{msgid:"Move",msgstr:["Pārvietot"]},{msgid:"Move to {target}",msgstr:["Pārvietot uz {target}"]},{msgid:"Name",msgstr:["Nosaukums"]},{msgid:"New",msgstr:["Jauns"]},{msgid:"New folder",msgstr:["Jauna mape"]},{msgid:"New folder name",msgstr:["Jaunas mapes nosaukums"]},{msgid:"No files in here",msgstr:["Šeit nav datņu"]},{msgid:"No files matching your filter were found.",msgstr:["Netika atrasta neviena datne, kas atbilst atlasei."]},{msgid:"No matching files",msgstr:["Nav atbilstošu datņu"]},{msgid:"Recent",msgstr:["Nesenās"]},{msgid:"Select all entries",msgstr:["Atlasīt visus ierakstus"]},{msgid:"Select entry",msgstr:["Atlasīt ierakstu"]},{msgid:"Select the row for {nodename}",msgstr:["Atlasīt rindu {nodename}"]},{msgid:"Size",msgstr:["Izmērs"]},{msgid:"Undo",msgstr:["Atsaukt"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Augšupielādē kādu saturu vai sinhronizē savās iekārtās!"]}]},{language:"mk",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" не е дозволено во име.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" не е дозволено име.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" не е валидно име за папка/']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" не е дозволено име за папка']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" е резервирано име и не е дозволено.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" не е дозволена во име на папка.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n конфликт со датотекa","%n конфликти со датотеки"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n конфликт со датотека во {dirname}","%n конфликти со датотеки vo {dirname}"]},{msgid:"All files",msgstr:["Сите датотеки"]},{msgid:"Cancel",msgstr:["Откажи"]},{msgid:"Cancel the entire operation",msgstr:["Прекини ја целата операција"]},{msgid:"Choose",msgstr:["Избери"]},{msgid:"Choose {file}",msgstr:["Избери {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Избери %n датотека","Избери %n датотеки"]},{msgid:"Confirm",msgstr:["Потврди"]},{msgid:"Continue",msgstr:["Продолжи"]},{msgid:"Copy",msgstr:["Копирај"]},{msgid:"Copy to {target}",msgstr:["Копирај во {target}"]},{msgid:"Could not create the new folder",msgstr:["Неможе да се креира нова папка"]},{msgid:"Could not load files settings",msgstr:["Неможе да се вчиаат параметрите за датотеките"]},{msgid:"Could not load files views",msgstr:["Неможе да се вчитаат погледите за датотеките"]},{msgid:"Create directory",msgstr:["Креирај папка"]},{msgid:"Current view selector",msgstr:["Избирач на тековен приказ"]},{msgid:"Enter your name",msgstr:["Внесете го вашето име"]},{msgid:"Existing version",msgstr:["Моментална верзија"]},{msgid:"Failed to set nickname.",msgstr:["Неуспешно поставување прекар."]},{msgid:"Favorites",msgstr:["Фаворити"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Датотеките и папките кој ќе ги означите за омилени ќе се појават овде."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Датотеките и папките кој неодамна сте ги измениле ќе се појават овде."]},{msgid:"Filter file list",msgstr:["Филтрирај листа на датотеки"]},{msgid:"Folder name cannot be empty.",msgstr:["Името на папката неможе да биде празно."]},{msgid:"Guest identification",msgstr:["Гостинска идентификација"]},{msgid:"Home",msgstr:["Почетна"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Ако ги избереш двете верзии, влезната датотека ќе добие број додаден на нејзиното име."]},{msgid:"Invalid name.",msgstr:["Невалидно име."]},{msgid:"Last modified date unknown",msgstr:["Датумот на последна измена е непознат"]},{msgid:"Modified",msgstr:["Променето"]},{msgid:"Move",msgstr:["Премести"]},{msgid:"Move to {target}",msgstr:["Премести во {target}"]},{msgid:"Name",msgstr:["Име"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Имињата можат да бидат најмногу со 64 карактери."]},{msgid:"Names must not be empty.",msgstr:["Имињата неможе да бидат празни."]},{msgid:'Names must not end with "{extension}".',msgstr:['Имињата неможе да завршуваат со "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Имињата неможе да започнуваат со точка."]},{msgid:"New",msgstr:["Нова"]},{msgid:"New folder",msgstr:["Нова папка"]},{msgid:"New folder name",msgstr:["Ново име на папка"]},{msgid:"New version",msgstr:["Нова верзија"]},{msgid:"No files in here",msgstr:["Овде нема датотеки"]},{msgid:"No files matching your filter were found.",msgstr:["Не се пронајдени датотеки што одговараат на вашиот филтер."]},{msgid:"No matching files",msgstr:["Нема датотеки што се совпаѓаат"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Внесете име со најмалку 2 карактери."]},{msgid:"Recent",msgstr:["Неодамнешни"]},{msgid:"Select all checkboxes",msgstr:["Избери ги сите полиња за избор"]},{msgid:"Select all entries",msgstr:["Изберете ги сите записи"]},{msgid:"Select all existing files",msgstr:["Изберете ги сите постоечки датотеки"]},{msgid:"Select all new files",msgstr:["Изберете ги сите нови датотеки"]},{msgid:"Select entry",msgstr:["Избери запис"]},{msgid:"Select the row for {nodename}",msgstr:["Избери ред за {nodename}"]},{msgid:"Size",msgstr:["Големина"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Прескокни %n датотека","Прескокни %n датотеки"]},{msgid:"Skip this file",msgstr:["Прескокни ја оваа датотека"]},{msgid:"Submit name",msgstr:["Испрати име"]},{msgid:"Undo",msgstr:["Врати"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Прикачи содржина или синхронизирај со ваши уреди!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Кога е избрана влезна папка, сите конфликтни датотеки во неа исто така ќе бидат препишани."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Кога е избрана влезна папка, содржината се запишува во постоечката папка и се извршува рекурсивно решавање на конфликти."]},{msgid:"Which files do you want to keep?",msgstr:["Кој датотеки сакаш да ги зачуваш?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Моментално сте идентификувани како {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Моментално не сте идентификувани."]},{msgid:"You cannot leave the name empty.",msgstr:["Не можете да го оставите името празно."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Треба да избереш најмалку едно решение за конфликт"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Треба да избереш најмалку една верзија за секоја датотека за да продолжи."]}]},{language:"ms_MY",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" adalah nama folder yang tidak sesuai ']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" nama folder yang tidak dibenarkan']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" tidak dibenarkan dalam nama folder']},{msgid:"All files",msgstr:["Semua fail"]},{msgid:"Choose",msgstr:["Pilih"]},{msgid:"Choose {file}",msgstr:["Pilih {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Pilih fail %n"]},{msgid:"Copy",msgstr:["menyalin"]},{msgid:"Copy to {target}",msgstr:["menyalin ke {target}"]},{msgid:"Could not create the new folder",msgstr:["Tidak dapat mewujudkan folder baharu"]},{msgid:"Could not load files settings",msgstr:["Tidak dapat memuatkan tetapan fail"]},{msgid:"Could not load files views",msgstr:["Tidak dapat memuatkan paparan fail"]},{msgid:"Create directory",msgstr:["mewujudkan direktori"]},{msgid:"Current view selector",msgstr:["pemilih pandangan semasa"]},{msgid:"Favorites",msgstr:["Pilihan"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Fail dan folder yang anda tanda sebagai pilihan akan dipaparkan di sini."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Fail dan folder yang anda telah ubah suai baru-baru ini dipaparkan di sini."]},{msgid:"Filter file list",msgstr:["Menapis senarai fail"]},{msgid:"Folder name cannot be empty.",msgstr:["Nama folder tidak boleh kosong."]},{msgid:"Home",msgstr:["Utama"]},{msgid:"Modified",msgstr:["Ubah suai"]},{msgid:"Move",msgstr:["pindah"]},{msgid:"Move to {target}",msgstr:["pindah ke {target}"]},{msgid:"Name",msgstr:["Nama"]},{msgid:"New",msgstr:["Baru"]},{msgid:"New folder",msgstr:["Folder Baharu"]},{msgid:"New folder name",msgstr:["Nama folder baharu"]},{msgid:"No files in here",msgstr:["Tiada fail di sini"]},{msgid:"No files matching your filter were found.",msgstr:["Tiada fail yang sepadan dengan tapisan anda."]},{msgid:"No matching files",msgstr:["Tiada fail yang sepadan"]},{msgid:"Recent",msgstr:["baru-baru ini"]},{msgid:"Select all entries",msgstr:["Pilih semua entri"]},{msgid:"Select entry",msgstr:["Pilih entri"]},{msgid:"Select the row for {nodename}",msgstr:["memilih baris {nodename}"]},{msgid:"Size",msgstr:["Saiz"]},{msgid:"Undo",msgstr:["buat asal"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Muat naik beberapa kandungan atau selaras dengan peranti anda!"]}]},{language:"nb_NO",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" er ikke tillatt i et navn.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" er ikke et tillatt navn.']},{msgid:'"{name}" is an invalid folder name.',msgstr:["«{name}» er ikke et gyldig mappenavn."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["«{name}» er ikke et tillatt mappenavn."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" er et reservert navn og er ikke tillatt.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" er ikke tillatt inne i et mappenavn.']},{msgid:"All files",msgstr:["Alle filer"]},{msgid:"Cancel",msgstr:["Avbryt"]},{msgid:"Choose",msgstr:["Velg"]},{msgid:"Choose {file}",msgstr:["Velg {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Velg %n fil","Velg %n filer"]},{msgid:"Copy",msgstr:["Kopier"]},{msgid:"Copy to {target}",msgstr:["Kopier til {target}"]},{msgid:"Could not create the new folder",msgstr:["Kunne ikke opprette den nye mappen"]},{msgid:"Could not load files settings",msgstr:["Kunne ikke laste filinnstillinger"]},{msgid:"Could not load files views",msgstr:["Kunne ikke laste filvisninger"]},{msgid:"Create directory",msgstr:["Opprett mappe"]},{msgid:"Current view selector",msgstr:["Nåværende visningsvelger"]},{msgid:"Enter your name",msgstr:["Skriv inn navnet ditt"]},{msgid:"Failed to set nickname.",msgstr:["Kunne ikke lagre kallenavnet."]},{msgid:"Favorites",msgstr:["Favoritter"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Filer og mapper du markerer som favoritter vil vises her."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Filer og mapper du nylig har endret, vil vises her."]},{msgid:"Filter file list",msgstr:["Filtrer filliste"]},{msgid:"Folder name cannot be empty.",msgstr:["Mappenavn kan ikke være tomt."]},{msgid:"Guest identification",msgstr:["Gjesteidentifikasjon"]},{msgid:"Home",msgstr:["Hjem"]},{msgid:"Invalid name.",msgstr:["Ugyldig navn."]},{msgid:"Modified",msgstr:["Modifisert"]},{msgid:"Move",msgstr:["Flytt"]},{msgid:"Move to {target}",msgstr:["Flytt til {target}"]},{msgid:"Name",msgstr:["Navn"]},{msgid:"Names must not be empty.",msgstr:["Navn kan ikke være tomme."]},{msgid:'Names must not end with "{extension}".',msgstr:['Navn kan ikke ende med "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Navn kan ikke starte med et punktum."]},{msgid:"New",msgstr:["Ny"]},{msgid:"New folder",msgstr:["Ny mappe"]},{msgid:"New folder name",msgstr:["Nytt mappenavn"]},{msgid:"No files in here",msgstr:["Ingen filer her"]},{msgid:"No files matching your filter were found.",msgstr:["Ingen filer funnet med ditt filter."]},{msgid:"No matching files",msgstr:["Ingen filer samsvarer"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Vennligst angi et navn som har minst 2 tegn."]},{msgid:"Recent",msgstr:["Nylige"]},{msgid:"Select all entries",msgstr:["Velg alle oppføringer"]},{msgid:"Select entry",msgstr:["Velg oppføring"]},{msgid:"Select the row for {nodename}",msgstr:["Velg raden for {nodename}"]},{msgid:"Size",msgstr:["Størrelse"]},{msgid:"Submit name",msgstr:["Bekreft navn"]},{msgid:"Undo",msgstr:["Angre"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Last opp innhold eller synkroniser med enhetene dine!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Du er akkurat nå identifisert som {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Du er akkurat nå ikke identifisert."]},{msgid:"You cannot leave the name empty.",msgstr:["Du kan ikke la navnet være blankt."]}]},{language:"nl",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" kan niet gebruikt worden in de benaming.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" is geen toegestane naam.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" is een ongeldige mapnaam.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" is geen toegestane mapnaam']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" is een gereserveerde naam en niet toegestaan.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" is niet toegestaan binnen een bestandsnaam']},{msgid:"All files",msgstr:["Alle bestanden"]},{msgid:"Cancel",msgstr:["Annuleren"]},{msgid:"Choose",msgstr:["Kiezen"]},{msgid:"Choose {file}",msgstr:["Kies {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Kies %n bestand","Kies %n bestanden"]},{msgid:"Copy",msgstr:["Kopiëren"]},{msgid:"Copy to {target}",msgstr:["Kopiëren naar {target}"]},{msgid:"Could not create the new folder",msgstr:["Kon de nieuwe map niet maken"]},{msgid:"Could not load files settings",msgstr:["Kon de bestandsinstellingen niet laden"]},{msgid:"Could not load files views",msgstr:["Kon de bestandsweergaves niet laden"]},{msgid:"Create directory",msgstr:["Map aanmaken"]},{msgid:"Current view selector",msgstr:["Huidige weergave keuze"]},{msgid:"Enter your name",msgstr:["Voer je naam in"]},{msgid:"Failed to set nickname.",msgstr:["Kon geen bijnaam instellen."]},{msgid:"Favorites",msgstr:["Favorieten"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Bestanden en mappen die je als favoriet markeert, verschijnen hier."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Bestanden en mappen die je recentelijk hebt gewijzigd, verschijnen hier."]},{msgid:"Filter file list",msgstr:["Bestandslijst filteren"]},{msgid:"Folder name cannot be empty.",msgstr:["Mapnaam mag niet leeg zijn."]},{msgid:"Guest identification",msgstr:["Gastenidentificatie"]},{msgid:"Home",msgstr:["Thuis"]},{msgid:"Invalid name.",msgstr:["Ongeldige naam."]},{msgid:"Modified",msgstr:["Gewijzigd"]},{msgid:"Move",msgstr:["Verplaatsen"]},{msgid:"Move to {target}",msgstr:["Verplaatsen naar {target}"]},{msgid:"Name",msgstr:["Naam"]},{msgid:"Names must not be empty.",msgstr:["Namen mogen niet leeg zijn."]},{msgid:'Names must not end with "{extension}".',msgstr:['Namen mogen niet eindigen met "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Namen mogen niet begonnen met een punt."]},{msgid:"New",msgstr:["Nieuw"]},{msgid:"New folder",msgstr:["Nieuwe map"]},{msgid:"New folder name",msgstr:["Nieuwe mapnaam"]},{msgid:"No files in here",msgstr:["Geen bestanden hier"]},{msgid:"No files matching your filter were found.",msgstr:["Geen bestanden gevonden die voldoen aan je filter."]},{msgid:"No matching files",msgstr:["Geen overeenkomende bestanden"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Voer een naam in met minimaal 2 tekens."]},{msgid:"Recent",msgstr:["Recent"]},{msgid:"Select all entries",msgstr:["Alle invoer selecteren"]},{msgid:"Select entry",msgstr:["Invoer selecteren"]},{msgid:"Select the row for {nodename}",msgstr:["Selecteer de rij voor {nodename}"]},{msgid:"Size",msgstr:["Grootte"]},{msgid:"Submit name",msgstr:["Naam indienen"]},{msgid:"Undo",msgstr:["Ongedaan maken"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Upload inhoud of synchroniseer met je apparaten!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Je wordt momenteel geïdentificeerd als {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Je bent momenteel niet geïdentificeerd."]},{msgid:"You cannot leave the name empty.",msgstr:["Je kunt de naam niet leeg laten."]}]},{language:"pl",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" nie jest dozwolone w nazwie.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" nie jest dozwoloną nazwą.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" jest nieprawidłową nazwą folderu']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" nie jest dozwoloną nazwą folderu']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" jest zastrzeżoną nazwą i nie jest dozwolone.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['Znak "/" nie jest dozwolony w nazwie folderu']},{msgid:"All files",msgstr:["Wszystkie pliki"]},{msgid:"Cancel",msgstr:["Anuluj"]},{msgid:"Choose",msgstr:["Wybierz"]},{msgid:"Choose {file}",msgstr:["Wybierz {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Wybierz %n plik","Wybierz %n pliki","Wybierz %n plików","Wybierz %n plików"]},{msgid:"Copy",msgstr:["Kopiuj"]},{msgid:"Copy to {target}",msgstr:["Skopiuj do {target}"]},{msgid:"Could not create the new folder",msgstr:["Nie można utworzyć nowego folderu"]},{msgid:"Could not load files settings",msgstr:["Nie można wczytać ustawień plików"]},{msgid:"Could not load files views",msgstr:["Nie można wczytać widoków plików"]},{msgid:"Create directory",msgstr:["Utwórz katalog"]},{msgid:"Current view selector",msgstr:["Bieżący selektor widoku"]},{msgid:"Enter your name",msgstr:["Wprowadź nazwę"]},{msgid:"Failed to set nickname.",msgstr:["Nie udało się utworzyć pseudonimu."]},{msgid:"Favorites",msgstr:["Ulubione"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Pliki i foldery które oznaczysz jako ulubione będą wyświetlały się tutaj"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Pliki i foldery które ostatnio modyfikowałeś będą wyświetlały się tutaj"]},{msgid:"Filter file list",msgstr:["Filtruj listę plików"]},{msgid:"Folder name cannot be empty.",msgstr:["Nazwa folderu nie może być pusta"]},{msgid:"Guest identification",msgstr:["Identyfikacja gościa"]},{msgid:"Home",msgstr:["Strona główna"]},{msgid:"Invalid name.",msgstr:["Nieprawidłowa nazwa."]},{msgid:"Modified",msgstr:["Zmodyfikowano"]},{msgid:"Move",msgstr:["Przenieś"]},{msgid:"Move to {target}",msgstr:["Przejdź do {target}"]},{msgid:"Name",msgstr:["Nazwa"]},{msgid:"Names must not be empty.",msgstr:["Nazwy nie mogą być puste."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nazwy nie mogą kończyć się na "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Nazwy nie mogą zaczynać się od kropki."]},{msgid:"New",msgstr:["Nowy"]},{msgid:"New folder",msgstr:["Nowy folder"]},{msgid:"New folder name",msgstr:["Nowa nazwa folderu"]},{msgid:"No files in here",msgstr:["Brak plików"]},{msgid:"No files matching your filter were found.",msgstr:["Nie znaleziono plików spełniających warunki filtru"]},{msgid:"No matching files",msgstr:["Brak pasujących plików"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Wprowadź nazwę zawierającą minimum 2 znaki."]},{msgid:"Recent",msgstr:["Ostatni"]},{msgid:"Select all entries",msgstr:["Wybierz wszystkie wpisy"]},{msgid:"Select entry",msgstr:["Wybierz wpis"]},{msgid:"Select the row for {nodename}",msgstr:["Wybierz wiersz dla {nodename}"]},{msgid:"Size",msgstr:["Rozmiar"]},{msgid:"Submit name",msgstr:["Zatwierdź nazwę"]},{msgid:"Undo",msgstr:["Cofnij"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Wyślij zawartość lub zsynchronizuj ze swoimi urządzeniami!"]},{msgid:"You are currently not identified.",msgstr:["Użytkownik nie został uwierzytelniony."]},{msgid:"You cannot leave the name empty.",msgstr:["Nazwa nie może być pusta."]}]},{language:"pt_BR",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" não é permitido dentro de um nome.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" não é um nome permitido.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" é um nome de pasta inválido.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" não é um nome de pasta permitido']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" é um nome reservado e não permitido.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" não é permitido dentro de um nome de pasta.']},{msgid:"All files",msgstr:["Todos os arquivos"]},{msgid:"Cancel",msgstr:["Cancelar"]},{msgid:"Choose",msgstr:["Escolher"]},{msgid:"Choose {file}",msgstr:["Escolher {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Escolher %n arquivo","Escolher %n arquivos","Escolher %n arquivos"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar para {target}"]},{msgid:"Could not create the new folder",msgstr:["Não foi possível criar a nova pasta"]},{msgid:"Could not load files settings",msgstr:["Não foi possível carregar configurações de arquivos"]},{msgid:"Could not load files views",msgstr:["Não foi possível carregar visualições de arquivos"]},{msgid:"Create directory",msgstr:["Criar diretório"]},{msgid:"Current view selector",msgstr:["Seletor de visualização atual"]},{msgid:"Enter your name",msgstr:["Digite seu nome"]},{msgid:"Failed to set nickname.",msgstr:["Falha ao definir apelido."]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Os arquivos e pastas que você marca como favoritos aparecerão aqui."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Arquivos e pastas que você modificou recentemente aparecerão aqui."]},{msgid:"Filter file list",msgstr:["Filtrar lista de arquivos"]},{msgid:"Folder name cannot be empty.",msgstr:["O nome da pasta não pode ser vazio."]},{msgid:"Guest identification",msgstr:["Identificação de convidados"]},{msgid:"Home",msgstr:["Início"]},{msgid:"Invalid name.",msgstr:["Nome inválido."]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover para {target}"]},{msgid:"Name",msgstr:["Nome"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Os nomes podem ter no máximo 64 caracteres."]},{msgid:"Names must not be empty.",msgstr:["Nomes não podem estar vazios."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nomes não podem terminar com "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Nomes não podem começar com um ponto."]},{msgid:"New",msgstr:["Novo"]},{msgid:"New folder",msgstr:["Nova pasta"]},{msgid:"New folder name",msgstr:["Novo nome de pasta"]},{msgid:"No files in here",msgstr:["Nenhum arquivo aqui"]},{msgid:"No files matching your filter were found.",msgstr:["Nenhum arquivo correspondente ao seu filtro foi encontrado."]},{msgid:"No matching files",msgstr:["Nenhum arquivo correspondente"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Digite um nome com pelo menos 2 caracteres."]},{msgid:"Recent",msgstr:["Recente"]},{msgid:"Select all entries",msgstr:["Selecionar todas as entradas"]},{msgid:"Select entry",msgstr:["Selecionar entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Selecionar a linha para {nodename}"]},{msgid:"Size",msgstr:["Tamanho"]},{msgid:"Submit name",msgstr:["Enviar nome"]},{msgid:"Undo",msgstr:["Desfazer"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Faça upload de algum conteúdo ou sincronize com seus dispositivos!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Encontra-se identificado como {nickname}"]},{msgid:"You are currently not identified.",msgstr:["No momento, você não está identificado."]},{msgid:"You cannot leave the name empty.",msgstr:["Você não pode deixar o nome vazio."]}]},{language:"pt_PT",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" não é permitido dentro de um nome.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" não é um nome permitido.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" é um nome de pasta inválido.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" não é um nome de pasta permitido']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" é um nome reservado e não é permitido.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" não é permitido dentro do nome de pasta.']},{msgid:"All files",msgstr:["Todos os ficheiros"]},{msgid:"Cancel",msgstr:["Cancelar"]},{msgid:"Choose",msgstr:["Escolher"]},{msgid:"Choose {file}",msgstr:["Escolher {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Escolha %n ficheiro","Escolha %n ficheiros","Escolha %n ficheiros"]},{msgid:"Copy",msgstr:["Copiar"]},{msgid:"Copy to {target}",msgstr:["Copiar para {target}"]},{msgid:"Could not create the new folder",msgstr:["Não foi possível criar a nova pasta "]},{msgid:"Could not load files settings",msgstr:["Não foi possível carregar as definições dos ficheiros"]},{msgid:"Could not load files views",msgstr:["Não foi possível carregar as visualizações dos ficheiros"]},{msgid:"Create directory",msgstr:["Criar pasta"]},{msgid:"Current view selector",msgstr:["Seletor de visualização atual"]},{msgid:"Enter your name",msgstr:["Introduza o seu nome"]},{msgid:"Failed to set nickname.",msgstr:["Falha ao definir o nome alternativo."]},{msgid:"Favorites",msgstr:["Favoritos"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Os ficheiros e as pastas que marcar como favoritos aparecerão aqui."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Os ficheiros e as pastas que modificou recentemente aparecerão aqui."]},{msgid:"Filter file list",msgstr:["Filtrar lista de ficheiros"]},{msgid:"Folder name cannot be empty.",msgstr:["O nome da pasta não pode estar vazio."]},{msgid:"Guest identification",msgstr:["Identificação de convidado"]},{msgid:"Home",msgstr:["Início"]},{msgid:"Invalid name.",msgstr:["Nome inválido."]},{msgid:"Modified",msgstr:["Modificado"]},{msgid:"Move",msgstr:["Mover"]},{msgid:"Move to {target}",msgstr:["Mover para {target}"]},{msgid:"Name",msgstr:["Nome"]},{msgid:"Names must not be empty.",msgstr:["O nome não pode ficar em branco."]},{msgid:'Names must not end with "{extension}".',msgstr:['Nomes não podem terminar em "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Os nomes não podem começar por um ponto."]},{msgid:"New",msgstr:["Novo"]},{msgid:"New folder",msgstr:["Nova pasta"]},{msgid:"New folder name",msgstr:["Novo nome da pasta"]},{msgid:"No files in here",msgstr:["Sem ficheiros aqui"]},{msgid:"No files matching your filter were found.",msgstr:["Não foi encontrado nenhum ficheiro correspondente ao seu filtro."]},{msgid:"No matching files",msgstr:["Nenhum ficheiro correspondente"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Introduza um nome com, pelo menos, 2 caracteres."]},{msgid:"Recent",msgstr:["Recentes"]},{msgid:"Select all entries",msgstr:["Selecionar todas as entradas"]},{msgid:"Select entry",msgstr:["Selecionar entrada"]},{msgid:"Select the row for {nodename}",msgstr:["Selecione a linha para {nodename}"]},{msgid:"Size",msgstr:["Tamanho"]},{msgid:"Submit name",msgstr:["Submeter nome"]},{msgid:"Undo",msgstr:["Anular"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Envie algum conteúdo ou sincronize com os seus dispositivos!"]},{msgid:"You are currently not identified.",msgstr:["Atualmente, não está identificado."]},{msgid:"You cannot leave the name empty.",msgstr:["Não pode deixar o nome em branco."]}]},{language:"ro",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" este un nume de director invalid.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" nu este un nume de director permis']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" nu este permis în numele unui director.']},{msgid:"All files",msgstr:["Toate fișierele"]},{msgid:"Choose",msgstr:["Alege"]},{msgid:"Choose {file}",msgstr:["Alege {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Alege %n fișier","Alege %n fișiere","Alege %n fișiere"]},{msgid:"Copy",msgstr:["Copiază"]},{msgid:"Copy to {target}",msgstr:["Copiază în {target}"]},{msgid:"Could not create the new folder",msgstr:["Nu s-a putut crea noul director"]},{msgid:"Could not load files settings",msgstr:["Nu s-au putut încărca setările fișierelor"]},{msgid:"Could not load files views",msgstr:["Nu s-au putut încărca vizualizările fișierelor"]},{msgid:"Create directory",msgstr:["Creează director"]},{msgid:"Current view selector",msgstr:["Selectorul curent al vizualizării"]},{msgid:"Favorites",msgstr:["Favorite"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Fișiere și directoare pe care le marcați ca favorite vor apărea aici."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Fișiere și directoare pe care le-ați modificat recent vor apărea aici."]},{msgid:"Filter file list",msgstr:["Filtrează lista de fișiere"]},{msgid:"Folder name cannot be empty.",msgstr:["Numele de director nu poate fi necompletat."]},{msgid:"Home",msgstr:["Acasă"]},{msgid:"Modified",msgstr:["Modificat"]},{msgid:"Move",msgstr:["Mută"]},{msgid:"Move to {target}",msgstr:["Mută către {target}"]},{msgid:"Name",msgstr:["Nume"]},{msgid:"New",msgstr:["Nou"]},{msgid:"New folder",msgstr:["Director nou"]},{msgid:"New folder name",msgstr:["Numele noului director"]},{msgid:"No files in here",msgstr:["Nu există fișiere"]},{msgid:"No files matching your filter were found.",msgstr:["Nu există fișiere potrivite pentru filtrul selectat"]},{msgid:"No matching files",msgstr:["Nu există fișiere potrivite"]},{msgid:"Recent",msgstr:["Recente"]},{msgid:"Select all entries",msgstr:["Selectează toate înregistrările"]},{msgid:"Select entry",msgstr:["Selectează înregistrarea"]},{msgid:"Select the row for {nodename}",msgstr:["Selectează rândul pentru {nodename}"]},{msgid:"Size",msgstr:["Mărime"]},{msgid:"Undo",msgstr:["Anulează"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Încărcați conținut sau sincronizați cu dispozitivele dumneavoastră!"]}]},{language:"ru",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" не допускается внутри имени.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" это не допустимое имя.']},{msgid:'"{name}" is an invalid folder name.',msgstr:["«{name}» — недопустимое имя папки."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["«{name}» не является разрешенным именем папки"]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" это зарезервированное имя и не допустимо.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:["Символ «/» не допускается внутри имени папки."]},{msgid:"All files",msgstr:["Все файлы"]},{msgid:"Cancel",msgstr:["Отмена"]},{msgid:"Choose",msgstr:["Выбрать"]},{msgid:"Choose {file}",msgstr:["Выбрать «{file}»"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Выбрать %n файл","Выбрать %n файла","Выбрать %n файлов","Выбрать %n файлов"]},{msgid:"Copy",msgstr:["Копировать"]},{msgid:"Copy to {target}",msgstr:["Копировать в «{target}»"]},{msgid:"Could not create the new folder",msgstr:["Не удалось создать новую папку"]},{msgid:"Could not load files settings",msgstr:["Не удалось загрузить настройки файлов"]},{msgid:"Could not load files views",msgstr:["Не удалось загрузить конфигурацию просмотра файлов"]},{msgid:"Create directory",msgstr:["Создать папку"]},{msgid:"Current view selector",msgstr:["Переключатель текущего вида"]},{msgid:"Enter your name",msgstr:["Введите ваше имя"]},{msgid:"Failed to set nickname.",msgstr:["Не удалось задать никнейм."]},{msgid:"Favorites",msgstr:["Избранное"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Здесь будут отображаться файлы и папки, которые вы пометили как избранные."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Здесь будут отображаться файлы и папки, которые вы недавно изменили."]},{msgid:"Filter file list",msgstr:["Фильтровать список файлов"]},{msgid:"Folder name cannot be empty.",msgstr:["Имя папки не может быть пустым."]},{msgid:"Guest identification",msgstr:["Гостевая идентификация"]},{msgid:"Home",msgstr:["Домой"]},{msgid:"Invalid name.",msgstr:["Неверное имя."]},{msgid:"Modified",msgstr:["Изменен"]},{msgid:"Move",msgstr:["Переместить"]},{msgid:"Move to {target}",msgstr:["Переместить в «{target}»"]},{msgid:"Name",msgstr:["Имя"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Имена не могут быть длинее 64 символов."]},{msgid:"Names must not be empty.",msgstr:["Имена не могут быть пустыми."]},{msgid:'Names must not end with "{extension}".',msgstr:['Имена не могут оканчиваться на "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Имена должны начинаться с точки."]},{msgid:"New",msgstr:["Новый"]},{msgid:"New folder",msgstr:["Новая папка"]},{msgid:"New folder name",msgstr:["Имя новой папки"]},{msgid:"No files in here",msgstr:["Здесь нет файлов"]},{msgid:"No files matching your filter were found.",msgstr:["Файлы, соответствующие вашему фильтру, не найдены."]},{msgid:"No matching files",msgstr:["Нет подходящих файлов"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Пожалуйста введите имя длиной не менее 2 символов."]},{msgid:"Recent",msgstr:["Недавний"]},{msgid:"Select all entries",msgstr:["Выбрать все записи"]},{msgid:"Select entry",msgstr:["Выбрать запись"]},{msgid:"Select the row for {nodename}",msgstr:["Выбрать строку для «{nodename}»"]},{msgid:"Size",msgstr:["Размер"]},{msgid:"Submit name",msgstr:["Отправить имя"]},{msgid:"Undo",msgstr:["Отменить"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Загрузите контент или синхронизируйте его со своими устройствами!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Вы идентифицированы как {nickname}."]},{msgid:"You are currently not identified.",msgstr:["В данный момент вы не идентифицированы."]},{msgid:"You cannot leave the name empty.",msgstr:["Вы не можете оставить имя пустым."]}]},{language:"sk_SK",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" je neplatný názov pričinka.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" nie je povolený názov priečinka.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" nie je povolené v názve priečinka.']},{msgid:"All files",msgstr:["Všetky súbory"]},{msgid:"Choose",msgstr:["Vybrať"]},{msgid:"Choose {file}",msgstr:["Vybrať {súbor}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Vybraný %n súbor","Vybrané %n súbory","Vybraných %n súborov","Vybraných %n súborov"]},{msgid:"Copy",msgstr:["Kopírovať"]},{msgid:"Copy to {target}",msgstr:["Kopírovať do {umiestnenia}"]},{msgid:"Could not create the new folder",msgstr:["Nepodarilo sa vytvoriť nový priečinok"]},{msgid:"Could not load files settings",msgstr:["Nepodarilo sa načítať nastavenia súborov"]},{msgid:"Could not load files views",msgstr:["Nepodarilo sa načítať pohľady súborov"]},{msgid:"Create directory",msgstr:["Vytvoriť adresár"]},{msgid:"Current view selector",msgstr:["Výber aktuálneho zobrazenia"]},{msgid:"Favorites",msgstr:["Obľúbené"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Tu sa zobrazia súbory a priečinky, ktoré označíte ako obľúbené."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Tu sa zobrazia súbory a priečinky, ktoré ste nedávno upravili."]},{msgid:"Filter file list",msgstr:["Filtrovať zoznam súborov"]},{msgid:"Folder name cannot be empty.",msgstr:["Názov priečinka nemôže byť prázdny."]},{msgid:"Home",msgstr:["Domov"]},{msgid:"Modified",msgstr:["Upravené"]},{msgid:"Move",msgstr:["Prejsť"]},{msgid:"Move to {target}",msgstr:["Prejsť na {umiestnenie}"]},{msgid:"Name",msgstr:["Názov"]},{msgid:"New",msgstr:["Pridať"]},{msgid:"New folder",msgstr:["Pridať priečinok"]},{msgid:"New folder name",msgstr:["Pridať názov priečinka"]},{msgid:"No files in here",msgstr:["Nie sú tu žiadne súbory"]},{msgid:"No files matching your filter were found.",msgstr:["Nenašli sa žiadne súbory zodpovedajúce vášmu filtru."]},{msgid:"No matching files",msgstr:["Žiadne zodpovedajúce súbory"]},{msgid:"Recent",msgstr:["Nedávne"]},{msgid:"Select all entries",msgstr:["Vybrať všetky položky"]},{msgid:"Select entry",msgstr:["Vybrať položku"]},{msgid:"Select the row for {nodename}",msgstr:["Vyberte riadok pre {názov uzla}"]},{msgid:"Size",msgstr:["Veľkosť"]},{msgid:"Undo",msgstr:["Späť"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Nahrajte nejaký obsah alebo synchronizujte so svojimi zariadeniami!"]}]},{language:"sl",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["{name} je neveljavno ime mape."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["{name} ni dovoljeno ime mape"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" ni dovoljen v imenu mape.']},{msgid:"All files",msgstr:["Vse datoteke"]},{msgid:"Choose",msgstr:["Izberi"]},{msgid:"Choose {file}",msgstr:["Izberi {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Izberi %n datoteko","Izberi %n datoteki","Izberi %n datotek","Izberi %n datotek"]},{msgid:"Copy",msgstr:["Kopiraj"]},{msgid:"Copy to {target}",msgstr:["Kopiraj v {target}"]},{msgid:"Could not create the new folder",msgstr:["Nisem mogel ustvariti nove mape"]},{msgid:"Could not load files settings",msgstr:["NIsem mogel naložiti nastavitev datotek"]},{msgid:"Could not load files views",msgstr:["Nisem mogel naložiti pogledov datotek"]},{msgid:"Create directory",msgstr:["Ustvari mapo"]},{msgid:"Current view selector",msgstr:["Izbirnik trenutnega pogleda"]},{msgid:"Favorites",msgstr:["Priljubljene"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Datoteke in mape ki jih označite kot priljubljene se bodo prikazale tukaj."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Daoteke in mape ki ste jih pred kratkim spremenili se bodo prikazale tukaj."]},{msgid:"Filter file list",msgstr:["Filtriraj seznam datotek"]},{msgid:"Folder name cannot be empty.",msgstr:["Ime mape ne more biti prazno"]},{msgid:"Home",msgstr:["Domov"]},{msgid:"Modified",msgstr:["Spremenjeno"]},{msgid:"Move",msgstr:["Premakni"]},{msgid:"Move to {target}",msgstr:["Premakni v {target}"]},{msgid:"Name",msgstr:["Ime"]},{msgid:"New",msgstr:["Nov"]},{msgid:"New folder",msgstr:["Nova mapa"]},{msgid:"New folder name",msgstr:["Novo ime mape"]},{msgid:"No files in here",msgstr:["Tukaj ni datotek"]},{msgid:"No files matching your filter were found.",msgstr:["Ni bilo najdenih ujemajočih datotek glede na vaš filter."]},{msgid:"No matching files",msgstr:["Ni ujemajočih datotek"]},{msgid:"Recent",msgstr:["Nedavne"]},{msgid:"Select all entries",msgstr:["Izberi vse vnose"]},{msgid:"Select entry",msgstr:["Izberi vnos"]},{msgid:"Select the row for {nodename}",msgstr:["Izberi vrstico za {nodename}"]},{msgid:"Size",msgstr:["Velikost"]},{msgid:"Undo",msgstr:["Razveljavi"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Naloži nekaj vsebine ali sinhroniziraj s svojimi napravami!"]}]},{language:"sr",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:["„{char}” није дозвољено унутар имена."]},{msgid:'"{extension}" is not an allowed name.',msgstr:["„{extension}” није дозвољено име."]},{msgid:'"{name}" is an invalid folder name.',msgstr:["„{name}” није исправно име фолдера."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["„{name}” није дозвољено име за фолдер."]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["„{segment}” је резервисано име и није дозвољено."]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["„/” није дозвољено унутар имена фолдера."]},{msgid:"All files",msgstr:["Сви фајлови"]},{msgid:"Cancel",msgstr:["Откажи"]},{msgid:"Choose",msgstr:["Изаберите"]},{msgid:"Choose {file}",msgstr:["Изаберите {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Изаберите %n фајл","Изаберите %n фајла","Изаберите %n фајлова"]},{msgid:"Copy",msgstr:["Копирај"]},{msgid:"Copy to {target}",msgstr:["Копирај у {target}"]},{msgid:"Could not create the new folder",msgstr:["Није могао да се креира нови фолдер"]},{msgid:"Could not load files settings",msgstr:["Не могу да се учитају подешавања фајлова"]},{msgid:"Could not load files views",msgstr:["Не могу да се учитају прикази фајлова"]},{msgid:"Create directory",msgstr:["Креирај директоријум"]},{msgid:"Current view selector",msgstr:["Бирач тренутног приказа"]},{msgid:"Enter your name",msgstr:["Унесите своје име"]},{msgid:"Failed to set nickname.",msgstr:["Није успело постављање надимка."]},{msgid:"Favorites",msgstr:["Омиљено"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Овде ће се појавити фајлови и фолдери које сте означили као омиљене."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Овде ће се појавити фајлови и фолдери који се се недавно изменили."]},{msgid:"Filter file list",msgstr:["Фитрирање листе фајлова"]},{msgid:"Folder name cannot be empty.",msgstr:["Име фолдера не може бити празно."]},{msgid:"Guest identification",msgstr:["Идентификација госта"]},{msgid:"Home",msgstr:["Почетак"]},{msgid:"Invalid name.",msgstr:["Неисправно име."]},{msgid:"Modified",msgstr:["Измењено"]},{msgid:"Move",msgstr:["Премести"]},{msgid:"Move to {target}",msgstr:["Премести у {target}"]},{msgid:"Name",msgstr:["Име"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Највећа дужина имена може бити 64 карактера."]},{msgid:"Names must not be empty.",msgstr:["Имена не смеју да буду празна."]},{msgid:'Names must not end with "{extension}".',msgstr:["Имена не смеју да се завршавају на „{extension}”."]},{msgid:"Names must not start with a dot.",msgstr:["Имена не смеју да почињу тачком."]},{msgid:"New",msgstr:["Ново"]},{msgid:"New folder",msgstr:["Нови фолдер"]},{msgid:"New folder name",msgstr:["Име новог фолдера"]},{msgid:"No files in here",msgstr:["Овде нема фајлова"]},{msgid:"No files matching your filter were found.",msgstr:["Није пронађен ниједан фајл који задовољава ваш филтер."]},{msgid:"No matching files",msgstr:["Нема таквих фајлова"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Молимо вас да унесете име од барем два карактера."]},{msgid:"Recent",msgstr:["Скорашње"]},{msgid:"Select all entries",msgstr:["Изаберите све ставке"]},{msgid:"Select entry",msgstr:["Изаберите ставку"]},{msgid:"Select the row for {nodename}",msgstr:["Изаберите ред за {nodename}"]},{msgid:"Size",msgstr:["Величина"]},{msgid:"Submit name",msgstr:["Предај име"]},{msgid:"Undo",msgstr:["Поништи"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Отпремите нешто или синхронизујте са својим уређајима!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Тренутно се идентификујете као {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Тренутно немате идентификацију."]},{msgid:"You cannot leave the name empty.",msgstr:["Име не можете да оставите празно."]}]},{language:"sr@latin",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["„{name}” je neispravan naziv foldera."]},{msgid:'"{name}" is not an allowed folder name',msgstr:["„{name}” je nedozvoljen naziv foldera."]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["„/” se ne može koristiti unutar naziva foldera."]},{msgid:"All files",msgstr:["Svi fajlovi"]},{msgid:"Choose",msgstr:["Izaberite"]},{msgid:"Choose {file}",msgstr:["Izaberite {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Izaberite %n fajl","Izaberite %n fajla","Izaberite %n fajlova"]},{msgid:"Copy",msgstr:["Kopiraj"]},{msgid:"Copy to {target}",msgstr:["Kopiraj u {target}"]},{msgid:"Could not create the new folder",msgstr:["Neuspešno kreiranje novog foldera"]},{msgid:"Could not load files settings",msgstr:["Neuspešno učitavanje podešavanja fajlova"]},{msgid:"Could not load files views",msgstr:["Neuspešno učitavanje prikaza fajlova"]},{msgid:"Create directory",msgstr:["Kreiraj direktorijum"]},{msgid:"Current view selector",msgstr:["Birač trenutnog prikaza"]},{msgid:"Favorites",msgstr:["Omiljeno"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Lista omiljenih fajlova i foldera."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Lista fajlova i foldera sa skorašnjim izmenama."]},{msgid:"Filter file list",msgstr:["Fitriranje liste fajlova"]},{msgid:"Folder name cannot be empty.",msgstr:["Naziv foldera ne može biti prazan."]},{msgid:"Home",msgstr:["Početak"]},{msgid:"Modified",msgstr:["Izmenjeno"]},{msgid:"Move",msgstr:["Premesti"]},{msgid:"Move to {target}",msgstr:["Premesti u {target}"]},{msgid:"Name",msgstr:["Naziv"]},{msgid:"New",msgstr:["Novo"]},{msgid:"New folder",msgstr:["Novi folder"]},{msgid:"New folder name",msgstr:["Naziv novog foldera"]},{msgid:"No files in here",msgstr:["Bez fajlova"]},{msgid:"No files matching your filter were found.",msgstr:["Nema fajlova koji zadovoljavaju uslove filtera."]},{msgid:"No matching files",msgstr:["Nema takvih fajlova"]},{msgid:"Recent",msgstr:["Skorašnje"]},{msgid:"Select all entries",msgstr:["Izaberite sve stavke"]},{msgid:"Select entry",msgstr:["Izaberite stavku"]},{msgid:"Select the row for {nodename}",msgstr:["Izaberite red za {nodename}"]},{msgid:"Size",msgstr:["Veličina"]},{msgid:"Undo",msgstr:["Vrati"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Otpremite sadržaj ili sinhronizujte sa svojim uređajima!"]}]},{language:"sv",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" är inte tillåtet i ett namn.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" är inte ett tillåtet namn.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" är ett ogiltigt mappnamn.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" är inte ett tillåtet mappnamn']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" är ett reserverat namn och inte tillåtet.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" är inte tillåtet i ett mappnamn.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n fil är i konflikt","%n filer är i konflikt"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["%n fil är i konflikt i {dirname}","%n filer är i konflikt i {dirname}"]},{msgid:"All files",msgstr:["Alla filer"]},{msgid:"Cancel",msgstr:["Avbryt"]},{msgid:"Cancel the entire operation",msgstr:["Avbryt hela operationen"]},{msgid:"Choose",msgstr:["Välj"]},{msgid:"Choose {file}",msgstr:["Välj {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Välj %n fil","Välj %n filer"]},{msgid:"Confirm",msgstr:["Bekräfta"]},{msgid:"Continue",msgstr:["Fortsätt"]},{msgid:"Copy",msgstr:["Kopiera"]},{msgid:"Copy to {target}",msgstr:["Kopiera till {target}"]},{msgid:"Could not create the new folder",msgstr:["Kunde inte skapa den nya mappen"]},{msgid:"Could not load files settings",msgstr:["Kunde inte ladda filinställningar"]},{msgid:"Could not load files views",msgstr:["Kunde inte ladda filvyer"]},{msgid:"Create directory",msgstr:["Skapa katalog"]},{msgid:"Current view selector",msgstr:["Aktuell vyväljare"]},{msgid:"Enter your name",msgstr:["Ange ditt namn"]},{msgid:"Existing version",msgstr:["Nuvarande version"]},{msgid:"Failed to set nickname.",msgstr:["Kunde inte ställa in smeknamn."]},{msgid:"Favorites",msgstr:["Favoriter"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Filer och mappar som du markerar som favorit kommer att visas här."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Filer och mappar som du nyligen ändrat kommer att visas här."]},{msgid:"Filter file list",msgstr:["Filtrera fillistan"]},{msgid:"Folder name cannot be empty.",msgstr:["Mappnamnet får inte vara tomt."]},{msgid:"Guest identification",msgstr:["Gästidentifiering"]},{msgid:"Home",msgstr:["Hem"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Om du väljer båda versionerna kommer den inkommande filen att få ett nummer tillagt i sitt namn."]},{msgid:"Invalid name.",msgstr:["Ogiltigt namn."]},{msgid:"Last modified date unknown",msgstr:["Senaste ändringsdatum okänt"]},{msgid:"Modified",msgstr:["Ändrad"]},{msgid:"Move",msgstr:["Flytta"]},{msgid:"Move to {target}",msgstr:["Flytta till {target}"]},{msgid:"Name",msgstr:["Namn"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Namnen kan vara högst 64 tecken långa."]},{msgid:"Names must not be empty.",msgstr:["Namn får inte vara tomt."]},{msgid:'Names must not end with "{extension}".',msgstr:['Namn får inte sluta med "{extension}".']},{msgid:"Names must not start with a dot.",msgstr:["Namn får inte börja med en punkt."]},{msgid:"New",msgstr:["Ny"]},{msgid:"New folder",msgstr:["Ny mapp"]},{msgid:"New folder name",msgstr:["Nytt mappnamn"]},{msgid:"New version",msgstr:["Ny version"]},{msgid:"No files in here",msgstr:["Inga filer här"]},{msgid:"No files matching your filter were found.",msgstr:["Inga filer som matchar ditt filter hittades."]},{msgid:"No matching files",msgstr:["Inga matchande filer"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Ange ett namn med minst 2 tecken."]},{msgid:"Recent",msgstr:["Nyligen"]},{msgid:"Select all checkboxes",msgstr:["Markera alla kryssrutor"]},{msgid:"Select all entries",msgstr:["Välj alla poster"]},{msgid:"Select all existing files",msgstr:["Välj alla befintliga filer"]},{msgid:"Select all new files",msgstr:["Välj alla nya filer"]},{msgid:"Select entry",msgstr:["Välj post"]},{msgid:"Select the row for {nodename}",msgstr:["Välj raden för {nodename}"]},{msgid:"Size",msgstr:["Storlek"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["Hoppa över %n fil","Hoppa över %n filer"]},{msgid:"Skip this file",msgstr:["Hoppa över den här filen"]},{msgid:"Submit name",msgstr:["Skicka namn"]},{msgid:"Undo",msgstr:["Ångra"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Ladda upp lite innehåll eller synkronisera med dina enheter!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["När en inkommande mapp väljs kommer eventuella konflikterande filer i den också att skrivas över."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["När en inkommande mapp väljs skrivs innehållet in i den befintliga mappen och en rekursiv konfliktlösning utförs."]},{msgid:"Which files do you want to keep?",msgstr:["Vilka filer vill du behålla?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Du är för närvarande identifierad som {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Du är för närvarande inte identifierad."]},{msgid:"You cannot leave the name empty.",msgstr:["Du kan inte lämna namnet tomt."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Du måste välja minst en konfliktlösning"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Du måste välja minst en version av varje fil för att fortsätta."]}]},{language:"tr",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['Bir ad içinde "{char}" karakteri kullanılamaz.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" adına izin verilmiyor.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" geçersiz bir klasör adı.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" izin verilen bir klasör adı değil']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" adı sistem için ayrılmış olduğundan kullanılamaz.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" karakteri klasör adında kullanılamaz.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n dosya çakışıyor","%n dosya çakışıyor"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["{dirname} içindeki %n dosya çakışıyor","{dirname} içindeki %n dosya çakışıyor"]},{msgid:"All files",msgstr:["Tüm dosyalar"]},{msgid:"Cancel",msgstr:["İptal"]},{msgid:"Cancel the entire operation",msgstr:["Tüm işlemi iptal et"]},{msgid:"Choose",msgstr:["Seçin"]},{msgid:"Choose {file}",msgstr:["{file} seçin"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["%n dosya seçin","%n dosya seçin"]},{msgid:"Confirm",msgstr:["Onayla"]},{msgid:"Continue",msgstr:["İlerle"]},{msgid:"Copy",msgstr:["Kopyala"]},{msgid:"Copy to {target}",msgstr:["{target} üzerine kopyala"]},{msgid:"Could not create the new folder",msgstr:["Yeni klasör oluşturulamadı"]},{msgid:"Could not load files settings",msgstr:["Dosyalar uygulamasının ayarları yüklenemedi"]},{msgid:"Could not load files views",msgstr:["Dosyalar uygulamasının görünümleri yüklenemedi"]},{msgid:"Create directory",msgstr:["Klasör oluştur"]},{msgid:"Current view selector",msgstr:["Geçerli görünüm seçici"]},{msgid:"Enter your name",msgstr:["Adınızı yazın"]},{msgid:"Existing version",msgstr:["Var olan sürüm"]},{msgid:"Failed to set nickname.",msgstr:["Takma ad ayarlanamadı."]},{msgid:"Favorites",msgstr:["Sık kullanılanlar"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Sık kullanılan olarak seçtiğiniz dosyalar burada görüntülenir."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Son zamanlarda değiştirdiğiniz dosya ve klasörler burada görüntülenir."]},{msgid:"Filter file list",msgstr:["Dosya listesini süz"]},{msgid:"Folder name cannot be empty.",msgstr:["Klasör adı boş olamaz."]},{msgid:"Guest identification",msgstr:["Konuk kimliği"]},{msgid:"Home",msgstr:["Giriş"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["İki sürümü de seçerseniz, gelen dosyanın adına bir sayı eklenir."]},{msgid:"Invalid name.",msgstr:["Ad geçersiz."]},{msgid:"Last modified date unknown",msgstr:["Son değiştirilme tarihi bilinmiyor."]},{msgid:"Modified",msgstr:["Değiştirilme"]},{msgid:"Move",msgstr:["Taşı"]},{msgid:"Move to {target}",msgstr:["{target} üzerine taşı"]},{msgid:"Name",msgstr:["Ad"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Adlar en fazla 64 karakter uzunluğunda olabilir."]},{msgid:"Names must not be empty.",msgstr:["Ad boş olamaz."]},{msgid:'Names must not end with "{extension}".',msgstr:['Ad "{extension}" ile bitemez.']},{msgid:"Names must not start with a dot.",msgstr:["Ad nokta karakteri ile başlayamaz."]},{msgid:"New",msgstr:["Yeni"]},{msgid:"New folder",msgstr:["Yeni klasör"]},{msgid:"New folder name",msgstr:["Yeni klasör adı"]},{msgid:"New version",msgstr:["Yeni sürüm"]},{msgid:"No files in here",msgstr:["Burada herhangi bir dosya yok"]},{msgid:"No files matching your filter were found.",msgstr:["Süzgece uyan bir dosya bulunamadı."]},{msgid:"No matching files",msgstr:["Eşleşen bir dosya yok"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Ad en az 2 karakter uzunluğunda olmalıdır."]},{msgid:"Recent",msgstr:["Son kullanılanlar"]},{msgid:"Select all checkboxes",msgstr:["Tüm kutuları işaretle"]},{msgid:"Select all entries",msgstr:["Tüm kayıtları seç"]},{msgid:"Select all existing files",msgstr:["Tüm var olan dosyaları seç"]},{msgid:"Select all new files",msgstr:["Tüm yeni dosyaları seç"]},{msgid:"Select entry",msgstr:["Kaydı seç"]},{msgid:"Select the row for {nodename}",msgstr:["{nodename} satırını seçin"]},{msgid:"Size",msgstr:["Boyut"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n dosyayı atla","%n dosyayı atla"]},{msgid:"Skip this file",msgstr:["Bu dosyayı atla"]},{msgid:"Submit name",msgstr:["Adı gönder"]},{msgid:"Undo",msgstr:["Geri al"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Bazı içerikler yükleyin ya da aygıtlarınızla eşitleyin!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Bir gelen klasör seçildiğinde, içindeki çakışan dosyaların da üzerine yazılır."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Bir gelen klasör seçildiğinde, içerik var olan klasöre yazılır ve alt klasörlerle bir çakışma çözümü uygulanır."]},{msgid:"Which files do you want to keep?",msgstr:["Hangi dosyaları tutmak istiyorsunuz?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["{nickname} olarak tanınıyorsunuz."]},{msgid:"You are currently not identified.",msgstr:["Henüz kendinizi tanıtmadınız."]},{msgid:"You cannot leave the name empty.",msgstr:["Ad boş bırakılamaz."]},{msgid:"You need to choose at least one conflict solution",msgstr:["En az bir çakışma çözümü seçmelisiniz"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["İlerlemek için her dosaynın en az bir sürümünü seçmelisiniz."]}]},{language:"uk",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['"{char}" не дозволено всередині імени.']},{msgid:'"{extension}" is not an allowed name.',msgstr:[`"{extension}" недозволене ім'я.`]},{msgid:'"{name}" is an invalid folder name.',msgstr:[`"{name}" недійсне ім'я каталогу.`]},{msgid:'"{name}" is not an allowed folder name',msgstr:[`"{name}" недозволене ім'я каталогу.`]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:[`"{segment}" зарезервоване ім'я і не дозволено для використання.`]},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" не дозволено у імені каталогу.']},{msgid:"All files",msgstr:["Всі файли"]},{msgid:"Cancel",msgstr:["Скасувати"]},{msgid:"Choose",msgstr:["Вибрати"]},{msgid:"Choose {file}",msgstr:["Вибрати {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Вибрати %n файл","Вибрати %n файли","Вибрати %n файлів","Вибрати %n файлів"]},{msgid:"Copy",msgstr:["Копіювати"]},{msgid:"Copy to {target}",msgstr:["Копіювати до {target}"]},{msgid:"Could not create the new folder",msgstr:["Не вдалося створити новий каталог"]},{msgid:"Could not load files settings",msgstr:["Не вдалося завантажити налаштування файлів"]},{msgid:"Could not load files views",msgstr:["Не вдалося завантажити подання файлів"]},{msgid:"Create directory",msgstr:["Створити каталог"]},{msgid:"Current view selector",msgstr:["Вибір подання"]},{msgid:"Enter your name",msgstr:["Зазначте ваше ім'я"]},{msgid:"Failed to set nickname.",msgstr:["Не вдалося встановити псевдо."]},{msgid:"Favorites",msgstr:["Із зірочкою"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Тут показуватимуться файли та каталоги, які ви позначите зірочкою."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Тут показуватимуться файли та каталоги, які було нещодавно змінено."]},{msgid:"Filter file list",msgstr:["Фільтрувати список файлів"]},{msgid:"Folder name cannot be empty.",msgstr:["Ім'я каталогу не може бути порожнє."]},{msgid:"Guest identification",msgstr:["Ім'я для гостя"]},{msgid:"Home",msgstr:["Домівка"]},{msgid:"Invalid name.",msgstr:["Недійсне ім'я."]},{msgid:"Modified",msgstr:["Змінено"]},{msgid:"Move",msgstr:["Перемістити"]},{msgid:"Move to {target}",msgstr:["Перемістити до {target}"]},{msgid:"Name",msgstr:["Ім'я"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Імена мають мати довжину не більше 64 символів."]},{msgid:"Names must not be empty.",msgstr:["Ім'я не може бути порожнє."]},{msgid:'Names must not end with "{extension}".',msgstr:[`Ім'я не може закінчуватися на "{extension}".`]},{msgid:"Names must not start with a dot.",msgstr:["Ім'я не може починатися з крапки."]},{msgid:"New",msgstr:["Новий"]},{msgid:"New folder",msgstr:["Новий каталог"]},{msgid:"New folder name",msgstr:["Ім'я нового каталогу"]},{msgid:"No files in here",msgstr:["Тут відсутні файли"]},{msgid:"No files matching your filter were found.",msgstr:["Відсутні збіги за фільтром."]},{msgid:"No matching files",msgstr:["Відсутні збіги файлів."]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Зазначте ім'я довжиною не менше 2 символів"]},{msgid:"Recent",msgstr:["Останні"]},{msgid:"Select all entries",msgstr:["Вибрати всі записи"]},{msgid:"Select entry",msgstr:["Вибрати запис"]},{msgid:"Select the row for {nodename}",msgstr:["Вибрати рядок для {nodename}"]},{msgid:"Size",msgstr:["Розмір"]},{msgid:"Submit name",msgstr:["Встановити ім'я"]},{msgid:"Undo",msgstr:["Повернути"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Завантажте вміст або синхронізуйте з вашим пристроєм!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Вас визначено як {nickname}."]},{msgid:"You are currently not identified.",msgstr:["Вас не ідентифіковано."]},{msgid:"You cannot leave the name empty.",msgstr:["Потрібно зазначити ім'я."]}]},{language:"uz",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['Nom ichida "{char}" ga ruxsat berilmagan.']},{msgid:'"{extension}" is not an allowed name.',msgstr:['"{extension}" ruxsat etilgan nom emas.']},{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" jild nomi yaroqsiz.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"{name}" ruxsat etilgan jild nomi emas']},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:['"{segment}" - zaxiralangan nom va ruxsat berilmaydi.']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/" papka nomi ichida ruxsat berilmaydi.']},{msgid:"%n file conflict",msgid_plural:"%n files conflict",msgstr:["%n fayl ziddiyatli"]},{msgid:"%n file conflict in {dirname}",msgid_plural:"%n file conflicts in {dirname}",msgstr:["{dirname} da %n fayl ziddiyati"]},{msgid:"All files",msgstr:["Barcha fayllar"]},{msgid:"Cancel",msgstr:["Bekor qilish"]},{msgid:"Cancel the entire operation",msgstr:["Butun operatsiyani bekor qiling"]},{msgid:"Choose",msgstr:["Tanlang"]},{msgid:"Choose {file}",msgstr:["Tanlang {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Tanlang %n faylni"]},{msgid:"Confirm",msgstr:["Tasdiqlang"]},{msgid:"Continue",msgstr:["Davom eting"]},{msgid:"Copy",msgstr:["Nusxa"]},{msgid:"Copy to {target}",msgstr:[" {target} ga nusxa"]},{msgid:"Could not create the new folder",msgstr:["Yangi jild yaratib bo‘lmadi"]},{msgid:"Could not load files settings",msgstr:["Fayl sozlamalari yuklanmadi"]},{msgid:"Could not load files views",msgstr:["Fayllarni koʻrishni yuklab boʻlmadi"]},{msgid:"Create directory",msgstr:["Katalog yaratish"]},{msgid:"Current view selector",msgstr:["Joriy ko'rinish selektori"]},{msgid:"Enter your name",msgstr:["Ismingizni kiriting"]},{msgid:"Existing version",msgstr:["Mavjud versiya"]},{msgid:"Failed to set nickname.",msgstr:["Taxallusni o‘rnatib bo‘lmadi."]},{msgid:"Favorites",msgstr:["Tanlanganlar"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Tanlangan deb belgilagan fayl va papkalar shu yerda koʻrinadi."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Siz yaqinda oʻzgartirgan fayl va papkalar shu yerda koʻrinadi."]},{msgid:"Filter file list",msgstr:["Fayl ro'yxatini filtrlash"]},{msgid:"Folder name cannot be empty.",msgstr:["Jild nomi boʻsh boʻlishi mumkin emas."]},{msgid:"Guest identification",msgstr:["Foydalanuvchini identifikatsiyalash"]},{msgid:"Home",msgstr:["Uy"]},{msgid:"If you select both versions, the incoming file will have a number added to its name.",msgstr:["Agar siz ikkala versiyani tanlasangiz, kiruvchi fayl nomiga qo'shilgan raqamga ega bo'ladi."]},{msgid:"Invalid name.",msgstr:["Nomi noto‘g‘ri."]},{msgid:"Last modified date unknown",msgstr:["Oxirgi tahrirlangan sana noma'lum"]},{msgid:"Modified",msgstr:["Modifikatsiyalangan"]},{msgid:"Move",msgstr:["Ko'chirish"]},{msgid:"Move to {target}",msgstr:[" {target} ga ko'chirish"]},{msgid:"Name",msgstr:["Nomi"]},{msgid:"Names may be at most 64 characters long.",msgstr:["Ismlar ko'pi bilan 64 ta belgidan iborat bo'lishi mumkin."]},{msgid:"Names must not be empty.",msgstr:["Ismlar bo'sh bo'lmasligi kerak."]},{msgid:'Names must not end with "{extension}".',msgstr:['Ismlar "{extension}" bilan tugamasligi kerak.']},{msgid:"Names must not start with a dot.",msgstr:["Ismlar nuqta bilan boshlanmasligi kerak."]},{msgid:"New",msgstr:["Yangi"]},{msgid:"New folder",msgstr:["Yangi jild"]},{msgid:"New folder name",msgstr:["Yangi jild nomi"]},{msgid:"New version",msgstr:["Yangi versiya"]},{msgid:"No files in here",msgstr:["Fayl mavjud emas"]},{msgid:"No files matching your filter were found.",msgstr:["Filtringizga mos keladigan fayl topilmadi."]},{msgid:"No matching files",msgstr:["Mos fayllar yo'q"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["Kamida 2 ta belgidan iborat nom kiriting."]},{msgid:"Recent",msgstr:["Yaqinda"]},{msgid:"Select all checkboxes",msgstr:["Barcha katakchalarni belgilang"]},{msgid:"Select all entries",msgstr:["Barcha yozuvlarni tanlang"]},{msgid:"Select all existing files",msgstr:["Barcha mavjud fayllarni tanlang"]},{msgid:"Select all new files",msgstr:["Barcha yangi fayllarni tanlang"]},{msgid:"Select entry",msgstr:["Yozuvni tanlang"]},{msgid:"Select the row for {nodename}",msgstr:["{nodename} uchun qatorni tanlang"]},{msgid:"Size",msgstr:["O`lcham"]},{msgid:"Skip %n file",msgid_plural:"Skip %n files",msgstr:["%n faylni oʻtkazib yuborish"]},{msgid:"Skip this file",msgstr:["Ushbu faylni o'tkazib yuboring"]},{msgid:"Submit name",msgstr:["Ismni tasdiqlang"]},{msgid:"Undo",msgstr:["Bekor qilish"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Qurilmangizga ba'zi kontentni yuklang yoki sinxronlang!"]},{msgid:"When an incoming folder is selected, any conflicting files within it will also be overwritten.",msgstr:["Kiruvchi papka tanlanganda, undagi har qanday ziddiyatli fayllar ham ustiga yoziladi."]},{msgid:"When an incoming folder is selected, the content is written into the existing folder and a recursive conflict resolution is performed.",msgstr:["Kiruvchi papka tanlanganda, kontent mavjud jildga yoziladi va nizolarni rekursiv hal qilish amalga oshiriladi."]},{msgid:"Which files do you want to keep?",msgstr:["Qaysi fayllarni saqlamoqchisiz?"]},{msgid:"You are currently identified as {nickname}.",msgstr:["Siz hozirda {nickname} sifatida aniqlangansiz."]},{msgid:"You are currently not identified.",msgstr:["Siz hozirda identifikatsiyadan o'tmagansiz"]},{msgid:"You cannot leave the name empty.",msgstr:["Ism katagini bo'sh qoldirib bo'lmaydi."]},{msgid:"You need to choose at least one conflict solution",msgstr:["Siz kamida bitta mojaro yechimini tanlashingiz kerak"]},{msgid:"You need to select at least one version of each file to continue.",msgstr:["Davom etish uchun har bir faylning kamida bitta versiyasini tanlashingiz kerak."]}]},{language:"vi",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:['"{name}" là tên thư mục không hợp lệ.']},{msgid:'"{name}" is not an allowed folder name',msgstr:['"1{name}"không phải là tên thư mục được cho phép']},{msgid:'"/" is not allowed inside a folder name.',msgstr:['"/"không được phép đặt trong tên thư mục.']},{msgid:"All files",msgstr:["Tất cả tệp"]},{msgid:"Choose",msgstr:["Chọn"]},{msgid:"Choose {file}",msgstr:["Chọn {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["Chọn %n tệp"]},{msgid:"Copy",msgstr:["Sao chép"]},{msgid:"Copy to {target}",msgstr:["Sao chép đến {target}"]},{msgid:"Could not create the new folder",msgstr:["Không thể tạo thư mục mới"]},{msgid:"Could not load files settings",msgstr:["Không thể tải tập tin cài đặt"]},{msgid:"Could not load files views",msgstr:["Không thể tải xuống tệp xem"]},{msgid:"Create directory",msgstr:["Tạo thư mục"]},{msgid:"Current view selector",msgstr:["Hiện tại chế độ xem của bộ chọn"]},{msgid:"Favorites",msgstr:["Yêu cầu thích"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["Các tập tin và thư mục bạn đánh dấu yêu thích sẽ hiển thị ở đây."]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["Các tập tin và thư mục bạn sửa đổi gần đây sẽ hiển thị ở đây."]},{msgid:"Filter file list",msgstr:["Filter list file"]},{msgid:"Folder name cannot be empty.",msgstr:["Thư mục tên không được để trống."]},{msgid:"Home",msgstr:["Trang chủ"]},{msgid:"Modified",msgstr:["Đã sửa đổi"]},{msgid:"Move",msgstr:["Di chuyển"]},{msgid:"Move to {target}",msgstr:["Di chuyển đến{target}"]},{msgid:"Name",msgstr:["Tên"]},{msgid:"New",msgstr:["Mới"]},{msgid:"New folder",msgstr:["New thư mục"]},{msgid:"New folder name",msgstr:["New thư mục tên"]},{msgid:"No files in here",msgstr:["No file at here"]},{msgid:"No files matching your filter were found.",msgstr:["Không tìm thấy tệp nào phù hợp với bộ lọc của bạn."]},{msgid:"No matching files",msgstr:["No file phù hợp"]},{msgid:"Recent",msgstr:["Gần đây"]},{msgid:"Select all entries",msgstr:["Choose all items"]},{msgid:"Select entry",msgstr:["Chọn mục nhập"]},{msgid:"Select the row for {nodename}",msgstr:["Choose hang cho{nodename}"]},{msgid:"Size",msgstr:["Kích cỡ"]},{msgid:"Undo",msgstr:["Hoàn tác"]},{msgid:"Upload some content or sync with your devices!",msgstr:["Tải lên một số nội dung hoặc đồng bộ hóa với thiết bị của bạn!"]}]},{language:"zh_CN",translations:[{msgid:'"{name}" is an invalid folder name.',msgstr:["“{name}” 是无效的文件夹名称。"]},{msgid:'"{name}" is not an allowed folder name',msgstr:["“{name}” 不是允许的文件夹名称"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:["文件夹名称中不允许包含 “/”。"]},{msgid:"All files",msgstr:["所有文件"]},{msgid:"Choose",msgstr:["选择"]},{msgid:"Choose {file}",msgstr:["选择 {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["选择 %n 个文件"]},{msgid:"Copy",msgstr:["复制"]},{msgid:"Copy to {target}",msgstr:["复制到 {target}"]},{msgid:"Could not create the new folder",msgstr:["无法创建新文件夹"]},{msgid:"Could not load files settings",msgstr:["无法加载文件设置"]},{msgid:"Could not load files views",msgstr:["无法加载文件视图"]},{msgid:"Create directory",msgstr:["创建目录"]},{msgid:"Current view selector",msgstr:["当前视图选择器"]},{msgid:"Favorites",msgstr:["最爱"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["您标记为最爱的文件与文件夹会显示在这里"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["您最近修改的文件与文件夹会显示在这里"]},{msgid:"Filter file list",msgstr:["过滤文件列表"]},{msgid:"Folder name cannot be empty.",msgstr:["文件夹名称不能为空。"]},{msgid:"Home",msgstr:["主目录"]},{msgid:"Modified",msgstr:["已修改"]},{msgid:"Move",msgstr:["移动"]},{msgid:"Move to {target}",msgstr:["移动至 {target}"]},{msgid:"Name",msgstr:["名称"]},{msgid:"New",msgstr:["新建"]},{msgid:"New folder",msgstr:["新文件夹"]},{msgid:"New folder name",msgstr:["新文件夹名称"]},{msgid:"No files in here",msgstr:["此处无文件"]},{msgid:"No files matching your filter were found.",msgstr:["找不到符合您过滤条件的文件"]},{msgid:"No matching files",msgstr:["无符合的文件"]},{msgid:"Recent",msgstr:["最近"]},{msgid:"Select all entries",msgstr:["选择所有条目"]},{msgid:"Select entry",msgstr:["选择条目"]},{msgid:"Select the row for {nodename}",msgstr:["选择 {nodename} 的列"]},{msgid:"Size",msgstr:["大小"]},{msgid:"Undo",msgstr:[" 撤消"]},{msgid:"Upload some content or sync with your devices!",msgstr:["上传一些项目或与您的设备同步!"]}]},{language:"zh_HK",translations:[{msgid:'"{char}" is not allowed inside a name.',msgstr:['名稱中不能使用 "{char}"。']},{msgid:'"{extension}" is not an allowed name.',msgstr:["「{extension}」並非允許的名稱。"]},{msgid:'"{name}" is an invalid folder name.',msgstr:["「{name}」是無效的資料夾名稱。"]},{msgid:'"{name}" is not an allowed folder name',msgstr:["資料夾名稱「{name}」不符合允許的規範。"]},{msgid:'"{segment}" is a reserved name and not allowed.',msgstr:["「{segment}」是一個保留名稱,不能使用。"]},{msgid:'"/" is not allowed inside a folder name.',msgstr:['資料夾名稱中不允許使用 "/"。']},{msgid:"All files",msgstr:["所有檔案"]},{msgid:"Cancel",msgstr:["取消"]},{msgid:"Choose",msgstr:["選擇"]},{msgid:"Choose {file}",msgstr:["選擇 {file}"]},{msgid:"Choose %n file",msgid_plural:"Choose %n files",msgstr:["選擇 %n 個檔案"]},{msgid:"Copy",msgstr:["複製"]},{msgid:"Copy to {target}",msgstr:["複製到 {target}"]},{msgid:"Could not create the new folder",msgstr:["無法建立新資料夾"]},{msgid:"Could not load files settings",msgstr:["無法載入檔案設定"]},{msgid:"Could not load files views",msgstr:["無法載入檔案視圖"]},{msgid:"Create directory",msgstr:["建立目錄"]},{msgid:"Current view selector",msgstr:["目前視圖選擇器"]},{msgid:"Enter your name",msgstr:["輸入您的名字"]},{msgid:"Failed to set nickname.",msgstr:["無法設置暱稱。"]},{msgid:"Favorites",msgstr:["最愛"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["您標記為最愛的檔案與資料夾將會顯示在此處。"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["您最近修改的檔案與資料夾將會顯示在此處。"]},{msgid:"Filter file list",msgstr:["過濾檔案清單"]},{msgid:"Folder name cannot be empty.",msgstr:["資料夾名稱不能為空。"]},{msgid:"Guest identification",msgstr:["訪客身份識別"]},{msgid:"Home",msgstr:["首頁"]},{msgid:"Invalid name.",msgstr:["無效的名字。"]},{msgid:"Modified",msgstr:["已修改"]},{msgid:"Move",msgstr:["移動"]},{msgid:"Move to {target}",msgstr:["移動至 {target}"]},{msgid:"Name",msgstr:["名稱"]},{msgid:"Names must not be empty.",msgstr:["名稱不能為空。"]},{msgid:'Names must not end with "{extension}".',msgstr:["名稱不得以「{extension}」結尾。"]},{msgid:"Names must not start with a dot.",msgstr:["名稱不得以點開頭。"]},{msgid:"New",msgstr:["新"]},{msgid:"New folder",msgstr:["新資料夾"]},{msgid:"New folder name",msgstr:["新資料夾名稱"]},{msgid:"No files in here",msgstr:["此處無檔案"]},{msgid:"No files matching your filter were found.",msgstr:["找不到符合您過濾條件的檔案。"]},{msgid:"No matching files",msgstr:["沒有匹配的檔案"]},{msgid:"Please enter a name with at least 2 characters.",msgstr:["請輸入至少 2 個字符的名稱。"]},{msgid:"Recent",msgstr:["最近"]},{msgid:"Select all entries",msgstr:["選擇所有項目"]},{msgid:"Select entry",msgstr:["選擇項目"]},{msgid:"Select the row for {nodename}",msgstr:["選擇 {nodename} 的列"]},{msgid:"Size",msgstr:["大小"]},{msgid:"Submit name",msgstr:["遞交名字"]},{msgid:"Undo",msgstr:["還原"]},{msgid:"Upload some content or sync with your devices!",msgstr:["上傳一些內容或與您的裝置同步!"]},{msgid:"You are currently identified as {nickname}.",msgstr:["您目前被識別為 {nickname}。"]},{msgid:"You are currently not identified.",msgstr:["您目前尚未被識別。"]},{msgid:"You cannot leave the name empty.",msgstr:["名稱不能留空。"]}]},{language:"zh_TW",translations:[{msgid:'"{name}" is an invalid file name.',msgstr:["「{name}」是無效的檔案名稱。"]},{msgid:'"{name}" is not an allowed filetype',msgstr:["「{name}」並非允許的檔案類型"]},{msgid:'"/" is not allowed inside a file name.',msgstr:["檔案名稱中不允許使用「/」。"]},{msgid:"All files",msgstr:["所有檔案"]},{msgid:"Choose",msgstr:["選擇"]},{msgid:"Choose {file}",msgstr:["選擇 {file}"]},{msgid:"Copy",msgstr:["複製"]},{msgid:"Copy to {target}",msgstr:["複製到 {target}"]},{msgid:"Could not create the new folder",msgstr:["無法建立新資料夾"]},{msgid:"Create directory",msgstr:["建立目錄"]},{msgid:"Current view selector",msgstr:["目前檢視選取器"]},{msgid:"Favorites",msgstr:["最愛"]},{msgid:"File name cannot be empty.",msgstr:["檔案名稱不能為空。"]},{msgid:"Filepicker sections",msgstr:["檔案挑選器選取"]},{msgid:"Files and folders you mark as favorite will show up here.",msgstr:["您標記為最愛的檔案與資料夾將會顯示在此處。"]},{msgid:"Files and folders you recently modified will show up here.",msgstr:["您最近修改的檔案與資料夾將會顯示在此處。"]},{msgid:"Filter file list",msgstr:["過濾檔案清單"]},{msgid:"Home",msgstr:["家"]},{msgid:"Mime type {mime}",msgstr:["Mime type {mime}"]},{msgid:"Modified",msgstr:["已修改"]},{msgid:"Move",msgstr:["移動"]},{msgid:"Move to {target}",msgstr:["移動至 {target}"]},{msgid:"Name",msgstr:["名稱"]},{msgid:"New",msgstr:["新"]},{msgid:"New folder",msgstr:["新資料夾"]},{msgid:"New folder name",msgstr:["新資料夾名稱"]},{msgid:"No files in here",msgstr:["此處無檔案"]},{msgid:"No files matching your filter were found.",msgstr:["找不到符合您過濾條件的檔案。"]},{msgid:"No matching files",msgstr:["無符合的檔案"]},{msgid:"Recent",msgstr:["最近"]},{msgid:"Select all entries",msgstr:["選取所有條目"]},{msgid:"Select entry",msgstr:["選取條目"]},{msgid:"Select the row for {nodename}",msgstr:["選取 {nodename} 的列"]},{msgid:"Size",msgstr:["大小"]},{msgid:"Undo",msgstr:["復原"]},{msgid:"unknown",msgstr:["未知"]},{msgid:"Upload some content or sync with your devices!",msgstr:["上傳一些內容或與您的裝置同步"]}]}]){const{language:u,translations:t}=e,n={headers:{},translations:{"":Object.fromEntries(t.map(i=>[i.msgid,i]))}};Qh.addTranslation(u,n)}const Ps=Qh.build();Ps.ngettext.bind(Ps),Ps.gettext.bind(Ps);Y4().setApp("@nextcloud/dialogs").detectLogLevel().build();const iS="off",aS="polite",sS="assertive";var E4=(e=>(e[e.OFF=iS]="OFF",e[e.POLITE=aS]="POLITE",e[e.ASSERTIVE=sS]="ASSERTIVE",e))(E4||{});const rS=7e3;function e1(e,u){if(u={timeout:rS,isHTML:!1,type:void 0,selector:void 0,onRemove:()=>{},onClick:void 0,close:!0,...u},typeof e=="string"&&!u.isHTML){const s=document.createElement("div");s.innerHTML=e,e=s.innerText}let t=u.type??"";typeof u.onClick=="function"&&(t+=" toast-with-click ");const n=e instanceof Node;let i=E4.POLITE;u.ariaLive?i=u.ariaLive:(u.type==="toast-error"||u.type==="toast-undo")&&(i=E4.ASSERTIVE);const a=nS({[n?"node":"text"]:e,duration:u.timeout,callback:u.onRemove,onClick:u.onClick,close:u.close,gravity:"top",selector:u.selector,position:"right",backgroundColor:"",className:"dialogs "+t,escapeMarkup:!u.isHTML,ariaLive:i});return a.showToast(),a}function OS(e,u){return e1(e,{...u,type:"toast-error"})}function MS(e,u){return e1(e,{...u,type:"toast-success"})}const zS=Y4().setApp("teams").detectUser().detectLogLevel().build();export{Xt as $,ao as A,Pe as B,An as C,oS as D,i0 as E,Ve as F,l0 as G,DS as H,le as I,un as J,Je as K,nr as L,$e as M,NS as N,FS as O,SS as P,Jn as Q,Qg as R,Y4 as S,$4 as T,bS as U,vu as V,Du as W,_S as X,jt as Y,wS as Z,hu as _,Q as a,PS as a0,MS as a1,de as b,Gn as c,ru as d,Wu as e,xe as f,Cu as g,He as h,TS as i,ht as j,Oe as k,$r as l,Ws as m,xu as n,j as o,U4 as p,ke as q,Ae as r,wu as s,Ue as t,N as u,qn as v,V4 as w,rt as x,zS as y,OS as z}; +//# sourceMappingURL=logger-CeWNjV8L.chunk.mjs.map diff --git a/js/logger-BLuX_B6K.chunk.mjs.license b/js/logger-CeWNjV8L.chunk.mjs.license similarity index 100% rename from js/logger-BLuX_B6K.chunk.mjs.license rename to js/logger-CeWNjV8L.chunk.mjs.license diff --git a/js/logger-BLuX_B6K.chunk.mjs.map b/js/logger-CeWNjV8L.chunk.mjs.map similarity index 99% rename from js/logger-BLuX_B6K.chunk.mjs.map rename to js/logger-CeWNjV8L.chunk.mjs.map index ed8bf5cc8..45c3a64d5 100644 --- a/js/logger-BLuX_B6K.chunk.mjs.map +++ b/js/logger-CeWNjV8L.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"logger-BLuX_B6K.chunk.mjs","sources":["../node_modules/vite-plugin-node-polyfills/shims/global/dist/index.js","../node_modules/@vue/shared/dist/shared.esm-bundler.js","../node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../node_modules/vite-plugin-node-polyfills/shims/process/dist/index.js","../node_modules/semver/internal/debug.js","../node_modules/semver/internal/constants.js","../node_modules/semver/internal/re.js","../node_modules/semver/internal/parse-options.js","../node_modules/semver/internal/identifiers.js","../node_modules/semver/classes/semver.js","../node_modules/semver/functions/major.js","../node_modules/semver/functions/parse.js","../node_modules/semver/functions/valid.js","../node_modules/@nextcloud/event-bus/dist/index.mjs","../node_modules/@nextcloud/browser-storage/dist/ScopedStorage.js","../node_modules/@nextcloud/browser-storage/dist/StorageBuilder.js","../node_modules/@nextcloud/browser-storage/dist/index.js","../node_modules/@nextcloud/auth/dist/index.mjs","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/vite-plugin-node-polyfills/shims/buffer/dist/index.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/classes/Blob.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/platform/common/utils.js","../node_modules/axios/lib/platform/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/helpers/throttle.js","../node_modules/axios/lib/helpers/progressEventReducer.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/helpers/resolveConfig.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/helpers/composeSignals.js","../node_modules/axios/lib/helpers/trackStream.js","../node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/adapters/fetch.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/index.js","../node_modules/@nextcloud/router/dist/index.mjs","../node_modules/@nextcloud/axios/dist/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/mdi-CpchYUUV.mjs","../node_modules/dompurify/dist/purify.es.mjs","../node_modules/@nextcloud/vue/dist/chunks/_plugin-vue_export-helper-1tPrXgE0.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcIconSvgWrapper-BvLanNaW.mjs","../node_modules/@nextcloud/vue/dist/chunks/useNcActions-BzPO2c4h.mjs","../node_modules/@nextcloud/vue/dist/chunks/actionGlobal-BZFdtdJL.mjs","../node_modules/@nextcloud/vue/dist/chunks/actionText-BXR0sWNu.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionButton-DNXoAooH.mjs","../node_modules/escape-html/index.js","../node_modules/@nextcloud/l10n/dist/chunks/translation-DoG5ZELJ.mjs","../node_modules/@nextcloud/l10n/dist/gettext.mjs","../node_modules/@nextcloud/vue/dist/chunks/_l10n-Dq_eYxz_.mjs","../node_modules/@nextcloud/vue/dist/chunks/createElementId-DhjFt1I9.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionButtonGroup-C7ej9wLo.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcDateTimePickerNative-C_4mwR_o.mjs","../node_modules/@nextcloud/capabilities/node_modules/@nextcloud/initial-state/dist/index.js","../node_modules/@nextcloud/capabilities/dist/index.mjs","../node_modules/debounce/index.js","../node_modules/vue-router/dist/useApi-o-nPpLEi.mjs","../node_modules/@nextcloud/vue/dist/chunks/legacy-DcjXBL_t.mjs","../node_modules/@nextcloud/vue/dist/chunks/useNcFormBox-Djlh582y.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcButton-C9D47Igd.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputField-o5OFv3z6.mjs","../node_modules/@nextcloud/logger/dist/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/logger-D3RVzcfQ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcPasswordField-uaMO2pdt.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcTextField.vue_vue_type_script_setup_true_lang-BxkYy7wv.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionInput-1xeJpD6P.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionLink-Cd69py4e.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionRouter-DtxPh20B.mjs","../node_modules/@nextcloud/vue/dist/chunks/focusTrap-HJQ4pqHV.mjs","../node_modules/@nextcloud/vue/dist/chunks/useTrapStackControl-B6cEicto.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/floating-vue/node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs","../node_modules/floating-vue/dist/floating-vue.mjs","../node_modules/tabbable/dist/index.esm.js","../node_modules/focus-trap/dist/focus-trap.esm.js","../node_modules/@nextcloud/vue/dist/chunks/rtl-v0UOPAM7.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcPopover-OqcYrWOx.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActions-BWDsG06k.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcActionText-Bd1fgVqA.mjs","../node_modules/@nextcloud/vue/node_modules/@vueuse/shared/dist/index.js","../node_modules/@nextcloud/vue/node_modules/@vueuse/core/dist/index.js","../node_modules/@nextcloud/vue/dist/composables/useIsMobile/index.mjs","../node_modules/@nextcloud/vue/node_modules/@nextcloud/initial-state/dist/index.js","../node_modules/@nextcloud/vue/dist/chunks/appName-DyNMVZpX.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppContent-njY3MCzi.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigation-Bpdpz-wF.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationCaption-CyEhlxoS.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronDown-FiGpp0KT.mjs","../node_modules/@nextcloud/vue/dist/chunks/Close-D6ngJ4t9.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcInputConfirmCancel-ClnOVtrc.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcLoadingIcon-b_ajZ_nQ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationItem-Ny1Po7Rd.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSearch-C5RAT6JQ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppNavigationSettings-BPLJktWz.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcDialogButton.vue_vue_type_script_setup_true_lang-DABuSwSR.mjs","../node_modules/@nextcloud/vue/dist/composables/useFormatDateTime/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/platform-CC2ecGvV.mjs","../node_modules/@nextcloud/vue/dist/composables/useHotKey/index.mjs","../node_modules/@nextcloud/vue/dist/functions/isDarkTheme/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/constants-wIEKSp2G.mjs","../node_modules/@nextcloud/vue/dist/composables/useIsDarkTheme/index.mjs","../node_modules/@nextcloud/vue/dist/composables/useIsFullscreen/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcModal-DHryP_87.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppSettingsDialog-DddRGyYJ.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppSettingsShortcutsSection-D07KOJfT.mjs","../node_modules/@vueuse/components/node_modules/@vueuse/shared/dist/index.js","../node_modules/@vueuse/components/node_modules/@vueuse/core/dist/index.js","../node_modules/@vueuse/components/dist/index.js","../node_modules/linkifyjs/dist/linkify.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAppSidebar-BAnJD3ea.mjs","../node_modules/@nextcloud/vue/dist/chunks/autolink-U5pBzLgI.mjs","../node_modules/@nextcloud/vue/dist/functions/contactsMenu/index.mjs","../node_modules/ts-md5/dist/index.es.js","../node_modules/@nextcloud/vue/dist/chunks/colors-BHGKZFDI.mjs","../node_modules/@nextcloud/vue/dist/functions/usernameToColor/index.mjs","../node_modules/striptags/src/striptags.js","../node_modules/@nextcloud/vue/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_45238efd_lang-D6LzDiYf.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcUserStatusIcon-XiwrgeCm.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAvatar-C9d7Wrc8.mjs","../node_modules/eventemitter3/index.js","../node_modules/p-timeout/index.js","../node_modules/p-queue/dist/lower-bound.js","../node_modules/p-queue/dist/priority-queue.js","../node_modules/p-queue/dist/index.js","../node_modules/@nextcloud/vue/dist/functions/preloadImage/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcIconToggleSwitch-CSrdR61T.mjs","../node_modules/@nextcloud/vue/dist/chunks/useNcRadioGroup-D6llQmAl.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcCheckboxRadioSwitch-BMsPx74L.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcChip-B71t2Ny2.mjs","../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/vue-select/dist/vue-select.es.js","../node_modules/@nextcloud/vue/dist/chunks/NcHighlight.vue_vue_type_script_lang-DnWQDM_2.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcEllipsisedOption-dT-CtXYp.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcSelect-DLheQ2yp.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcCollectionList-BLDdPjtu.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcColorPicker-DDHxR-iN.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcContent-O-bMKi-3.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcDashboardWidget-DCBQdRFz.mjs","../node_modules/date-fns/constants.js","../node_modules/date-fns/constructFrom.js","../node_modules/date-fns/toDate.js","../node_modules/date-fns/addDays.js","../node_modules/date-fns/addMonths.js","../node_modules/date-fns/add.js","../node_modules/date-fns/addMilliseconds.js","../node_modules/date-fns/addHours.js","../node_modules/date-fns/_lib/defaultOptions.js","../node_modules/date-fns/startOfWeek.js","../node_modules/date-fns/startOfISOWeek.js","../node_modules/date-fns/getISOWeekYear.js","../node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js","../node_modules/date-fns/_lib/normalizeDates.js","../node_modules/date-fns/startOfDay.js","../node_modules/date-fns/differenceInCalendarDays.js","../node_modules/date-fns/startOfISOWeekYear.js","../node_modules/date-fns/addQuarters.js","../node_modules/date-fns/addYears.js","../node_modules/date-fns/compareAsc.js","../node_modules/date-fns/isDate.js","../node_modules/date-fns/isValid.js","../node_modules/date-fns/getQuarter.js","../node_modules/date-fns/differenceInCalendarYears.js","../node_modules/date-fns/differenceInYears.js","../node_modules/date-fns/_lib/normalizeInterval.js","../node_modules/date-fns/eachDayOfInterval.js","../node_modules/date-fns/startOfQuarter.js","../node_modules/date-fns/eachQuarterOfInterval.js","../node_modules/date-fns/startOfMonth.js","../node_modules/date-fns/endOfYear.js","../node_modules/date-fns/startOfYear.js","../node_modules/date-fns/endOfWeek.js","../node_modules/date-fns/endOfQuarter.js","../node_modules/date-fns/locale/en-US/_lib/formatDistance.js","../node_modules/date-fns/locale/_lib/buildFormatLongFn.js","../node_modules/date-fns/locale/en-US/_lib/formatLong.js","../node_modules/date-fns/locale/en-US/_lib/formatRelative.js","../node_modules/date-fns/locale/_lib/buildLocalizeFn.js","../node_modules/date-fns/locale/en-US/_lib/localize.js","../node_modules/date-fns/locale/_lib/buildMatchFn.js","../node_modules/date-fns/locale/_lib/buildMatchPatternFn.js","../node_modules/date-fns/locale/en-US/_lib/match.js","../node_modules/date-fns/locale/en-US.js","../node_modules/date-fns/getDayOfYear.js","../node_modules/date-fns/getISOWeek.js","../node_modules/date-fns/getWeekYear.js","../node_modules/date-fns/startOfWeekYear.js","../node_modules/date-fns/getWeek.js","../node_modules/date-fns/_lib/addLeadingZeros.js","../node_modules/date-fns/_lib/format/lightFormatters.js","../node_modules/date-fns/_lib/format/formatters.js","../node_modules/date-fns/_lib/format/longFormatters.js","../node_modules/date-fns/_lib/protectedTokens.js","../node_modules/date-fns/format.js","../node_modules/date-fns/getDay.js","../node_modules/date-fns/getDaysInMonth.js","../node_modules/date-fns/getDefaultOptions.js","../node_modules/date-fns/getHours.js","../node_modules/date-fns/getISODay.js","../node_modules/date-fns/getMinutes.js","../node_modules/date-fns/getMonth.js","../node_modules/date-fns/getSeconds.js","../node_modules/date-fns/getYear.js","../node_modules/date-fns/isAfter.js","../node_modules/date-fns/isBefore.js","../node_modules/date-fns/isEqual.js","../node_modules/date-fns/transpose.js","../node_modules/date-fns/parse/_lib/Setter.js","../node_modules/date-fns/parse/_lib/Parser.js","../node_modules/date-fns/parse/_lib/parsers/EraParser.js","../node_modules/date-fns/parse/_lib/constants.js","../node_modules/date-fns/parse/_lib/utils.js","../node_modules/date-fns/parse/_lib/parsers/YearParser.js","../node_modules/date-fns/parse/_lib/parsers/LocalWeekYearParser.js","../node_modules/date-fns/parse/_lib/parsers/ISOWeekYearParser.js","../node_modules/date-fns/parse/_lib/parsers/ExtendedYearParser.js","../node_modules/date-fns/parse/_lib/parsers/QuarterParser.js","../node_modules/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js","../node_modules/date-fns/parse/_lib/parsers/MonthParser.js","../node_modules/date-fns/parse/_lib/parsers/StandAloneMonthParser.js","../node_modules/date-fns/setWeek.js","../node_modules/date-fns/parse/_lib/parsers/LocalWeekParser.js","../node_modules/date-fns/setISOWeek.js","../node_modules/date-fns/parse/_lib/parsers/ISOWeekParser.js","../node_modules/date-fns/parse/_lib/parsers/DateParser.js","../node_modules/date-fns/parse/_lib/parsers/DayOfYearParser.js","../node_modules/date-fns/setDay.js","../node_modules/date-fns/parse/_lib/parsers/DayParser.js","../node_modules/date-fns/parse/_lib/parsers/LocalDayParser.js","../node_modules/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js","../node_modules/date-fns/setISODay.js","../node_modules/date-fns/parse/_lib/parsers/ISODayParser.js","../node_modules/date-fns/parse/_lib/parsers/AMPMParser.js","../node_modules/date-fns/parse/_lib/parsers/AMPMMidnightParser.js","../node_modules/date-fns/parse/_lib/parsers/DayPeriodParser.js","../node_modules/date-fns/parse/_lib/parsers/Hour1to12Parser.js","../node_modules/date-fns/parse/_lib/parsers/Hour0to23Parser.js","../node_modules/date-fns/parse/_lib/parsers/Hour0To11Parser.js","../node_modules/date-fns/parse/_lib/parsers/Hour1To24Parser.js","../node_modules/date-fns/parse/_lib/parsers/MinuteParser.js","../node_modules/date-fns/parse/_lib/parsers/SecondParser.js","../node_modules/date-fns/parse/_lib/parsers/FractionOfSecondParser.js","../node_modules/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js","../node_modules/date-fns/parse/_lib/parsers/ISOTimezoneParser.js","../node_modules/date-fns/parse/_lib/parsers/TimestampSecondsParser.js","../node_modules/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js","../node_modules/date-fns/parse/_lib/parsers.js","../node_modules/date-fns/parse.js","../node_modules/date-fns/isSameQuarter.js","../node_modules/date-fns/subDays.js","../node_modules/date-fns/setMonth.js","../node_modules/date-fns/set.js","../node_modules/date-fns/setHours.js","../node_modules/date-fns/setMilliseconds.js","../node_modules/date-fns/setMinutes.js","../node_modules/date-fns/setSeconds.js","../node_modules/date-fns/setYear.js","../node_modules/date-fns/subMonths.js","../node_modules/date-fns/sub.js","../node_modules/date-fns/subYears.js","../node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js","../node_modules/@nextcloud/vue/dist/chunks/NcTimezonePicker.vue_vue_type_script_setup_true_lang-B7nhSDot.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcDateTimePicker-RLihgV8b.mjs","../node_modules/emoji-mart-vue-fast/src/vendor/raf-polyfill.js","../node_modules/emoji-mart-vue-fast/dist/emoji-mart.js","../node_modules/tributejs/dist/tribute.esm.js","../node_modules/@nextcloud/vue/dist/chunks/emoji-BY_D0V5K.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcEmojiPicker-Djc9a0gw.mjs","../node_modules/@nextcloud/vue/dist/chunks/useCopy-CfYsbB0V.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcKbd-DzE_4Z3y.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcHotkeyList-D8hkh6o6.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcProgressBar-OIWW1Sei.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcRelatedResourcesPanel-BndhQA8u.mjs","../node_modules/@nextcloud/vue/dist/chunks/customPickerElements-4pQTZUnk.mjs","../node_modules/@nextcloud/vue/dist/chunks/referencePickerModal-D9HwChP3.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcRichText-DJlaHs_Q.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcRichContenteditable-CjuPClU1.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcSelectTags-CTHyuMcq.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcSettingsSection-BiX5No3C.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcSettingsSelectGroup-B69Mhcar.mjs","../node_modules/toastify-js/src/toastify.js","../node_modules/@nextcloud/dialogs/dist/chunks/index-hZPKu-D6.mjs","../src/logger.ts"],"sourcesContent":["const global = globalThis || void 0 || self;\n\nexport { global as default, global };\n//# sourceMappingURL=index.js.map\n","/**\n* @vue/shared v3.5.22\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return ((str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n });\n};\nconst camelizeRE = /-\\w/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (c) => c.slice(1).toUpperCase());\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `CACHED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"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,Error,Symbol\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n if (!styles) return \"\";\n if (isString(styles)) return styles;\n let ret = \"\";\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>|?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nfunction normalizeCssVarValue(value) {\n if (value == null) {\n return \"initial\";\n }\n if (typeof value === \"string\") {\n return value === \"\" ? \" \" : value;\n }\n if (typeof value !== \"number\" || !Number.isFinite(value)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n console.warn(\n \"[Vue warn] Invalid value used for CSS binding. Expected a string or a finite number but received:\",\n value\n );\n }\n }\n return String(value);\n}\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeCssVarValue, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/**\n* @vue/reactivity v3.5.22\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { extend, hasChanged, isArray, isIntegerKey, isSymbol, isMap, hasOwn, makeMap, isObject, capitalize, toRawType, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, remove, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal track `on` calls, allow `on` call multiple times\n */\n this._on = 0;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n if (++this._on === 1) {\n this.prevScope = activeEffectScope;\n activeEffectScope = this;\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n if (this._on > 0 && --this._on === 0) {\n activeEffectScope = this.prevScope;\n this.prevScope = void 0;\n }\n }\n stop(fromParent) {\n if (this._active) {\n this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n this.scopes.length = 0;\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\",\n \"EVALUATED\": 128,\n \"128\": \"EVALUATED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= -65;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= -3;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= -2;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= -9;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= -9;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= -17;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n if (!computed.isSSR && computed.flags & 128 && (!computed.deps && !computed._dirty || !isDirty(computed))) {\n return;\n }\n computed.flags |= 2;\n const dep = computed.dep;\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed.flags |= 128;\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= -3;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= -5;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n // TODO isolatedDeclarations \"__v_skip\"\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n /**\n * @internal\n */\n this.__v_skip = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, (v) => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimization required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (!result.done) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n if (key === \"__v_skip\") return target[\"__v_skip\"];\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n const value = targetIsArray && isIntegerKey(key) ? res : res.value;\n return isReadonly2 && isObject(value) ? readonly(value) : value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target[key]\n );\n }\n return true;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return target.size;\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n oldValue = newValue;\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Map();\n if ((seen.get(value) || 0) >= depth) {\n return value;\n }\n seen.set(value, depth);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.22\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, isReadonly, shallowReadArray, toReadonly, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1 } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, EMPTY_OBJ, isPromise, isArray, NOOP, getGlobalThis, extend, isBuiltInDirective, NO, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, normalizeCssVarValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, camelize, capitalize, isSymbol, isGloballyAllowed, EMPTY_ARR, hyphenate, makeMap, toRawType, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n if (cb.flags & 4) {\n cb.flags &= -2;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= -2;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= -2;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= -2;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= -2;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n if (!(instance.job.flags & 8)) {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n }\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst TeleportEndKey = Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (parentComponent && parentComponent.isCE) {\n (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2, true);\n }\n if (isTeleportDeferred(n2.props)) {\n n2.el.__isMounted = false;\n queuePostRenderEffect(() => {\n mountToTarget();\n delete n2.el.__isMounted;\n }, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n if (isTeleportDeferred(n2.props) && n1.el.__isMounted === false) {\n queuePostRenderEffect(() => {\n TeleportImpl.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n }, parentSuspense);\n return;\n }\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, !!!(process.env.NODE_ENV !== \"production\"));\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) {\n vnode2.anchor = hydrateChildren(\n nextSibling(node2),\n vnode2,\n parentNode(node2),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode2.targetStart = targetStart;\n vnode2.targetAnchor = targetAnchor;\n }\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n const disabled = isTeleportDisabled(vnode.props);\n if (target) {\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n hydrateDisabledTeleport(\n node,\n vnode,\n targetNode,\n targetNode && nextSibling(targetNode)\n );\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n } else if (disabled) {\n if (vnode.shapeFlag & 16) {\n hydrateDisabledTeleport(node, vnode, node, nextSibling(node));\n }\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target);\n insert(targetAnchor, target);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n const child = findNonCommentChild(children);\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n let desc;\n if (!!(process.env.NODE_ENV !== \"production\") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\n\nconst pendingSetRefMap = /* @__PURE__ */ new WeakMap();\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? NO : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n return hasOwn(rawSetupState, key);\n };\n const canSetRef = (ref2) => {\n return !!!(process.env.NODE_ENV !== \"production\") || !knownTemplateRefs.has(ref2);\n };\n if (oldRef != null && oldRef !== ref) {\n invalidatePendingSetRef(oldRawRef);\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n if (canSetRef(oldRef)) {\n oldRef.value = null;\n }\n const oldRawRefAtom = oldRawRef;\n if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n const newVal = [refValue];\n if (canSetRef(ref)) {\n ref.value = newVal;\n }\n if (rawRef.k) refs[rawRef.k] = newVal;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n if (canSetRef(ref)) {\n ref.value = value;\n }\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n const job = () => {\n doSet();\n pendingSetRefMap.delete(rawRef);\n };\n job.id = -1;\n pendingSetRefMap.set(rawRef, job);\n queuePostRenderEffect(job, parentSuspense);\n } else {\n invalidatePendingSetRef(rawRef);\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\nfunction invalidatePendingSetRef(rawRef) {\n const pendingSetRef = pendingSetRefMap.get(rawRef);\n if (pendingSetRef) {\n pendingSetRef.flags |= 8;\n pendingSetRefMap.delete(rawRef);\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n const cls = content.getAttribute(\"class\");\n if (cls) content.$cls = cls;\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n if (el.textContent !== clientText) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${el.textContent}\n - expected on client: ${vnode.children}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n if (el.$cls) {\n actual = el.$cls;\n delete el.$cls;\n } else {\n actual = el.getAttribute(\"class\");\n }\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n const value = normalizeCssVarValue(cssVars[key]);\n expectedMap.set(`--${getEscapedCssVarName(key, false)}`, value);\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return list.includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n let patched = false;\n (instance.bu || (instance.bu = [])).push(() => patched = true);\n const performHydrate = () => {\n if (patched) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Skipping lazy hydration for component '${getComponentName(resolvedComp) || resolvedComp.__file}': it was updated before lazy hydration performed.`\n );\n }\n return;\n }\n hydrate();\n };\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n performHydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : performHydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n if (!!(process.env.NODE_ENV !== \"production\") && true) {\n instance2.__keepAliveStorageContainer = storageContainer;\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= -257;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= -257;\n vnode.shapeFlag &= -513;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n let isReadonlySource = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n isReadonlySource = isReadonly(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? isReadonlySource ? toReadonly(toReactive(source[i])) : toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n const hasProps = Object.keys(props).length > 0;\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n hasProps ? -2 : 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n const rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate