var P=Object.create,y=Object.defineProperty,Q=Object.getPrototypeOf,U=Object.prototype.hasOwnProperty,Z=Object.getOwnPropertyNames,B=Object.getOwnPropertyDescriptor;var O=e=>y(e,"__esModule",{value:!0});var G=(e,a)=>{for(var n in a)y(e,n,{get:a[n],enumerable:!0})},J=(e,a,n)=>{if(a&&typeof a=="object"||typeof a=="function")for(let r of Z(a))!U.call(e,r)&&r!=="default"&&y(e,r,{get:()=>a[r],enumerable:!(n=B(a,r))||n.enumerable});return e},k=e=>J(O(y(e!=null?P(Q(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);O(exports);G(exports,{Route:()=>D,active:()=>T,meta:()=>H,router:()=>g});var c=k(require("svelte/internal"));var A=k(require("svelte")),C=k(require("svelte/store")),h=k(require("svelte")),E=k(require("svelte/store"));function R(e,a=!1){return e=e.slice(e.startsWith("/#")?2:0,e.endsWith("/*")?-2:void 0),e.startsWith("/")||(e="/"+e),e==="/"&&(e=""),a&&!e.endsWith("/")&&(e+="/"),e}function j(e,a){e=R(e,!0),a=R(a,!0);let n=[],r={},t=!0,i=e.split("/").map(s=>s.startsWith(":")?(n.push(s.slice(1)),"([^\\/]+)"):s).join("\\/"),l=a.match(new RegExp(`^${i}$`));return l||(t=!1,l=a.match(new RegExp(`^${i}`))),l?(n.forEach((s,p)=>r[s]=l[p+1]),{exact:t,params:r,part:l[0].slice(0,-1)}):null}function M(e,a,n){if(n==="")return e;if(n[0]==="/")return n;let r=l=>l.split("/").filter(s=>s!==""),t=r(e),i=a?r(a):[];return"/"+i.map((l,s)=>t[s]).join("/")+"/"+n}function _(e,a,n,r){let t=[a,"data-"+a].reduce((i,l)=>{let s=e.getAttribute(l);return n&&e.removeAttribute(l),s===null?i:s},!1);return!r&&t===""?!0:t||r||!1}function V(e){let a=e.split("&").map(n=>n.split("=")).reduce((n,r)=>{let t=r[0];if(!t)return n;let i=r.length>1?r[r.length-1]:!0;return typeof i=="string"&&i.includes(",")&&(i=i.split(",")),n[t]===void 0?n[t]=[i]:n[t].push(i),n},{});return Object.entries(a).reduce((n,r)=>(n[r[0]]=r[1].length>1?r[1]:r[1][0],n),{})}function X(e){return Object.entries(e).map(([a,n])=>n?n===!0?a:`${a}=${Array.isArray(n)?n.join(","):n}`:null).filter(a=>a).join("&")}function Y(e,a){return e?a+e:""}function q(e){throw new Error("[Tinro] "+e)}var m={HISTORY:1,HASH:2,MEMORY:3,OFF:4,run(e,a,n,r){return e===this.HISTORY?a&&a():e===this.HASH?n&&n():r&&r()},getDefault(){return!window||window.location.pathname==="srcdoc"?this.MEMORY:this.HISTORY}},x,W,z,d=$();function $(){let e=m.getDefault(),a,n=l=>window.onhashchange=window.onpopstate=x=null,r=l=>a&&a(S(e)),t=l=>{l&&(e=l),n(),e!==m.OFF&&m.run(e,s=>window.onpopstate=r,s=>window.onhashchange=r)&&r()},i=l=>{let s=Object.assign(S(e),l);return s.path+Y(X(s.query),"?")+Y(s.hash,"#")};return{mode:t,get:l=>S(e),go(l,s){tt(e,l,s),r()},start(l){a=l,t()},stop(){a=null,t(m.OFF)},set(l){this.go(i(l),!l.path)},methods(){return et(this)}}}function tt(e,a,n){!n&&(W=z);let r=t=>history[`${n?"replace":"push"}State`]({},"",t);m.run(e,t=>r(a),t=>r(`#${a}`),t=>x=a)}function S(e){let a=window.location,n=m.run(e,t=>a.pathname+a.search+a.hash,t=>String(a.hash.slice(1)||"/"),t=>x||"/"),r=n.match(/^([^?#]+)(?:\?([^#]+))?(?:\#(.+))?$/);return z=n,{url:n,from:W,path:r[1]||"",query:V(r[2]||""),hash:r[3]||""}}function et(e){let a=()=>e.get().query,n=l=>e.set({query:l}),r=l=>n(l(a())),t=()=>e.get().hash,i=l=>e.set({hash:l});return{hash:{get:t,set:i,clear:()=>i("")},query:{replace:n,clear:()=>n(""),get(l){return l?a()[l]:a()},set(l,s){r(p=>(p[l]=s,p))},delete(l){r(s=>(s[l]&&delete s[l],s))}}}}var v="tinro";function F(e){let a=(0,h.getContext)(v);a&&(a.exact||a.fallback)&&q(`${e.fallback?"":``} can't be inside ${a.fallback?"":` with exact path`}`);let n=e.fallback?"fallbacks":"childs",r=(0,E.writable)({}),t={router:{},exact:!1,pattern:null,meta:{},parent:a,fallback:e.fallback,redirect:!1,firstmatch:!1,breadcrumb:null,matched:!1,childs:new Set,activeChilds:new Set,fallbacks:new Set,update(i){t.exact=!i.path.endsWith("/*"),t.pattern=R(`${t.parent&&t.parent.pattern||""}${i.path}`),t.redirect=i.redirect,t.firstmatch=i.firstmatch,t.breadcrumb=i.breadcrumb,t.match()},register:()=>{if(t.parent)return t.parent[n].add(t),()=>{t.parent[n].delete(t),t.router.un&&t.router.un()}},show:()=>{e.onShow(),!t.fallback&&t.parent&&t.parent.activeChilds.add(t)},hide:()=>{e.onHide(),!t.fallback&&t.parent&&t.parent.activeChilds.delete(t)},match:async()=>{t.matched=!1;let{path:i,url:l,from:s,query:p}=t.router.location,u=j(t.pattern,i);if(!t.fallback&&u&&t.redirect&&(!t.exact||t.exact&&u.exact)){await(0,h.tick)();let f=M(i,t.parent&&t.parent.pattern,t.redirect);return g.goto(f,!0)}if(t.meta=u&&{from:s,url:l,query:p,match:u.part,pattern:t.pattern,breadcrumbs:t.parent&&t.parent.meta&&t.parent.meta.breadcrumbs.slice()||[],params:u.params,subscribe:r.subscribe},t.breadcrumb&&t.meta&&t.meta.breadcrumbs.push({name:t.breadcrumb,path:u.part}),r.set(t.meta),u&&!t.fallback&&(!t.exact||t.exact&&u.exact)&&(!t.parent||!t.parent.firstmatch||!t.parent.matched)?(e.onMeta(t.meta),t.parent&&(t.parent.matched=!0),t.show()):t.hide(),await(0,h.tick)(),u&&!t.fallback&&(t.childs.size>0&&t.activeChilds.size==0||t.childs.size==0&&t.fallbacks.size>0)){let f=t;for(;f.fallbacks.size==0;)if(f=f.parent,!f)return;f&&f.fallbacks.forEach(b=>{if(b.redirect){let w=M("/",b.parent&&b.parent.pattern,b.redirect);g.goto(w,!0)}else b.show()})}}};return(0,h.setContext)(v,t),(0,h.onMount)(()=>t.register()),t.router.un=g.subscribe(i=>{t.router.location=i,t.pattern!==null&&t.match()}),t}function H(){return(0,h.hasContext)(v)?(0,h.getContext)(v).meta:q("meta() function must be run inside any `` child component only")}var g=rt();function rt(){let{subscribe:e}=(0,C.writable)(d.get(),a=>{d.start(a);let n=at(d.go);return()=>{d.stop(),n()}});return{subscribe:e,goto:d.go,params:nt,meta:H,useHashNavigation:a=>d.mode(a?m.HASH:m.HISTORY),mode:{hash:()=>d.mode(m.HASH),history:()=>d.mode(m.HISTORY),memory:()=>d.mode(m.MEMORY)},location:d.methods()}}function T(e){let a=_(e,"href"),n=_(e,"exact",!0),r=_(e,"active-class",!0,"active");return{destroy:g.subscribe(t=>{let i=j(a,t.path);i&&(i.exact&&n||!n)?e.classList.add(r):e.classList.remove(r)})}}function at(e){let a=n=>{let r=n.target.closest("a[href]"),t=r&&_(r,"target",!1,"_self"),i=r&&_(r,"tinro-ignore"),l=n.ctrlKey||n.metaKey||n.altKey||n.shiftKey;if(t=="_self"&&!i&&!l&&r){let s=r.getAttribute("href").replace(/^\/#/,"");/^\/\/|^[a-zA-Z]+:/.test(s)||(n.preventDefault(),e(s.startsWith("/")?s:r.href.replace(window.location.origin,"")))}};return addEventListener("click",a),()=>removeEventListener("click",a)}function nt(){return(0,A.getContext)("tinro").meta.params}var it=e=>({params:e&2,meta:e&4}),I=e=>({params:e[1],meta:e[2]});function K(e){let a,n=e[9].default,r=(0,c.create_slot)(n,e,e[8],I);return{c(){r&&r.c()},m(t,i){r&&r.m(t,i),a=!0},p(t,i){r&&r.p&&i&262&&(0,c.update_slot)(r,n,t,t[8],i,it,I)},i(t){a||((0,c.transition_in)(r,t),a=!0)},o(t){(0,c.transition_out)(r,t),a=!1},d(t){r&&r.d(t)}}}function lt(e){let a,n,r=e[0]&&K(e);return{c(){r&&r.c(),a=(0,c.empty)()},m(t,i){r&&r.m(t,i),(0,c.insert)(t,a,i),n=!0},p(t,[i]){t[0]?r?(r.p(t,i),i&1&&(0,c.transition_in)(r,1)):(r=K(t),r.c(),(0,c.transition_in)(r,1),r.m(a.parentNode,a)):r&&((0,c.group_outros)(),(0,c.transition_out)(r,1,1,()=>{r=null}),(0,c.check_outros)())},i(t){n||((0,c.transition_in)(r),n=!0)},o(t){(0,c.transition_out)(r),n=!1},d(t){r&&r.d(t),t&&(0,c.detach)(a)}}}function st(e,a,n){let{$$slots:r={},$$scope:t}=a,{path:i="/*"}=a,{fallback:l=!1}=a,{redirect:s=!1}=a,{firstmatch:p=!1}=a,{breadcrumb:u=null}=a,f=!1,b={},w={},N=F({fallback:l,onShow(){n(0,f=!0)},onHide(){n(0,f=!1)},onMeta(o){n(2,w=o),n(1,b=w.params)}});return e.$$set=o=>{"path"in o&&n(3,i=o.path),"fallback"in o&&n(4,l=o.fallback),"redirect"in o&&n(5,s=o.redirect),"firstmatch"in o&&n(6,p=o.firstmatch),"breadcrumb"in o&&n(7,u=o.breadcrumb),"$$scope"in o&&n(8,t=o.$$scope)},e.$$.update=()=>{if(e.$$.dirty&232){t:N.update({path:i,redirect:s,firstmatch:p,breadcrumb:u})}},[f,b,w,i,l,s,p,u,t,r]}var L=class extends c.SvelteComponent{constructor(a){super();(0,c.init)(this,a,st,lt,c.safe_not_equal,{path:3,fallback:4,redirect:5,firstmatch:6,breadcrumb:7})}},D=L;