From a245beb2665348f7b2523fea8950079bc9992a9e Mon Sep 17 00:00:00 2001 From: istudyatuni Date: Sat, 14 Oct 2023 19:02:49 +0000 Subject: [PATCH] deploy: 1fd8101d10c3122ea999d6070150eea823363024 --- .nojekyll | 0 assets/index-98e2ad8f.js | 8 ++ assets/index-98e2ad8f.js.map | 1 + assets/index-a9ea168e.css | 1 + favicon.png | Bin 0 -> 1281 bytes .../32/clouds_sun_sunny_weather.svg | 1 + .../32/cloudy_weather_clouds_cloud.svg | 1 + .../cloudy_weather_forecast_rain_clouds.svg | 1 + .../32/foggy_weather_fog_clouds_cloudy.svg | 1 + .../32/hail_weather_hailstone_clouds_snow.svg | 1 + .../32/hurricane_weather_tornado_storm.svg | 1 + .../32/moon_night_weather_foggy_fog.svg | 1 + .../32/moon_weather_clouds_cloudy.svg | 1 + .../32/moon_weather_snow_night.svg | 1 + .../32/morning_sunrise_sun_weather.svg | 1 + .../night_weather_clouds_storm_rain_moon.svg | 1 + .../32/rain_cloud_drizzel_weather.svg | 1 + .../32/rain_storm_shower_weather.svg | 1 + icons/weather-icons/32/readme.txt | 4 + .../32/sand_weather_sandstorm_sun_day.svg | 1 + .../32/sand_weather_storm_sandstorm.svg | 1 + .../32/storm_weather_night_clouds.svg | 1 + .../32/storm_weather_sandstorm_sand_cloud.svg | 1 + .../32/storm_weather_thunder_clouds_rain.svg | 1 + .../32/sunny_rain_cloudy_weather_clouds.svg | 1 + .../32/sunny_weather_clouds_storm.svg | 1 + .../32/weather_clouds_fog_foggy.svg | 1 + ...ather_forecast_temperature_thermometer.svg | 1 + .../32/weather_moon_moonrise_night.svg | 1 + .../32/weather_moonset_moon_morning.svg | 1 + .../32/weather_night_moon_moonlight.svg | 1 + .../32/weather_rain_storm_night.svg | 1 + .../32/weather_sun_sunny_temperature.svg | 1 + .../32/weather_sunset_sun_evening.svg | 1 + .../32/wind_weather_cloudy_storm.svg | 1 + .../32/windy_cloudy_storm_wind_weather.svg | 1 + .../32/winter_snow_clouds_weather.svg | 1 + ..._snowflake_christmas_xmas_weather_snow.svg | 1 + icons/weather-icons/tiny/cloud_flash.svg | 1 + icons/weather-icons/tiny/cloudy.svg | 1 + icons/weather-icons/tiny/night_moon.svg | 1 + icons/weather-icons/tiny/rainbow.svg | 1 + icons/weather-icons/tiny/readme.txt | 4 + icons/weather-icons/tiny/snow_cloud.svg | 1 + icons/weather-icons/tiny/snowflake.svg | 1 + .../weather-icons/tiny/storm_flash_light.svg | 1 + icons/weather-icons/tiny/sun_cloudy.svg | 1 + icons/weather-icons/tiny/sunny.svg | 1 + icons/weather-icons/tiny/water_rain_cloud.svg | 1 + icons/weather-icons/tiny/water_rain_drop.svg | 1 + index.html | 26 ++++++ key.txt | 2 + locales/en.json | 86 ++++++++++++++++++ locales/ru.json | 86 ++++++++++++++++++ version.txt | 1 + 55 files changed, 262 insertions(+) create mode 100644 .nojekyll create mode 100644 assets/index-98e2ad8f.js create mode 100644 assets/index-98e2ad8f.js.map create mode 100644 assets/index-a9ea168e.css create mode 100644 favicon.png create mode 100644 icons/weather-icons/32/clouds_sun_sunny_weather.svg create mode 100644 icons/weather-icons/32/cloudy_weather_clouds_cloud.svg create mode 100644 icons/weather-icons/32/cloudy_weather_forecast_rain_clouds.svg create mode 100644 icons/weather-icons/32/foggy_weather_fog_clouds_cloudy.svg create mode 100644 icons/weather-icons/32/hail_weather_hailstone_clouds_snow.svg create mode 100644 icons/weather-icons/32/hurricane_weather_tornado_storm.svg create mode 100644 icons/weather-icons/32/moon_night_weather_foggy_fog.svg create mode 100644 icons/weather-icons/32/moon_weather_clouds_cloudy.svg create mode 100644 icons/weather-icons/32/moon_weather_snow_night.svg create mode 100644 icons/weather-icons/32/morning_sunrise_sun_weather.svg create mode 100644 icons/weather-icons/32/night_weather_clouds_storm_rain_moon.svg create mode 100644 icons/weather-icons/32/rain_cloud_drizzel_weather.svg create mode 100644 icons/weather-icons/32/rain_storm_shower_weather.svg create mode 100644 icons/weather-icons/32/readme.txt create mode 100644 icons/weather-icons/32/sand_weather_sandstorm_sun_day.svg create mode 100644 icons/weather-icons/32/sand_weather_storm_sandstorm.svg create mode 100644 icons/weather-icons/32/storm_weather_night_clouds.svg create mode 100644 icons/weather-icons/32/storm_weather_sandstorm_sand_cloud.svg create mode 100644 icons/weather-icons/32/storm_weather_thunder_clouds_rain.svg create mode 100644 icons/weather-icons/32/sunny_rain_cloudy_weather_clouds.svg create mode 100644 icons/weather-icons/32/sunny_weather_clouds_storm.svg create mode 100644 icons/weather-icons/32/weather_clouds_fog_foggy.svg create mode 100644 icons/weather-icons/32/weather_forecast_temperature_thermometer.svg create mode 100644 icons/weather-icons/32/weather_moon_moonrise_night.svg create mode 100644 icons/weather-icons/32/weather_moonset_moon_morning.svg create mode 100644 icons/weather-icons/32/weather_night_moon_moonlight.svg create mode 100644 icons/weather-icons/32/weather_rain_storm_night.svg create mode 100644 icons/weather-icons/32/weather_sun_sunny_temperature.svg create mode 100644 icons/weather-icons/32/weather_sunset_sun_evening.svg create mode 100644 icons/weather-icons/32/wind_weather_cloudy_storm.svg create mode 100644 icons/weather-icons/32/windy_cloudy_storm_wind_weather.svg create mode 100644 icons/weather-icons/32/winter_snow_clouds_weather.svg create mode 100644 icons/weather-icons/32/winter_snowflake_christmas_xmas_weather_snow.svg create mode 100644 icons/weather-icons/tiny/cloud_flash.svg create mode 100644 icons/weather-icons/tiny/cloudy.svg create mode 100644 icons/weather-icons/tiny/night_moon.svg create mode 100644 icons/weather-icons/tiny/rainbow.svg create mode 100644 icons/weather-icons/tiny/readme.txt create mode 100644 icons/weather-icons/tiny/snow_cloud.svg create mode 100644 icons/weather-icons/tiny/snowflake.svg create mode 100644 icons/weather-icons/tiny/storm_flash_light.svg create mode 100644 icons/weather-icons/tiny/sun_cloudy.svg create mode 100644 icons/weather-icons/tiny/sunny.svg create mode 100644 icons/weather-icons/tiny/water_rain_cloud.svg create mode 100644 icons/weather-icons/tiny/water_rain_drop.svg create mode 100644 index.html create mode 100644 key.txt create mode 100644 locales/en.json create mode 100644 locales/ru.json create mode 100644 version.txt diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/assets/index-98e2ad8f.js b/assets/index-98e2ad8f.js new file mode 100644 index 0000000..818de8e --- /dev/null +++ b/assets/index-98e2ad8f.js @@ -0,0 +1,8 @@ +var Xr=Object.defineProperty;var Wr=(e,t,n)=>t in e?Xr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var xt=(e,t,n)=>(Wr(e,typeof t!="symbol"?t+"":t,n),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();function N(){}function ee(e,t){for(const n in t)e[n]=t[n];return e}function qr(e){return!!e&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"}function rr(e){return e()}function an(){return Object.create(null)}function oe(e){e.forEach(rr)}function zt(e){return typeof e=="function"}function z(e,t){return e!=e?t==t:e!==t||e&&typeof e=="object"||typeof e=="function"}let tt;function nt(e,t){return e===t?!0:(tt||(tt=document.createElement("a")),tt.href=t,e===tt.href)}function Zr(e){return Object.keys(e).length===0}function Xt(e,...t){if(e==null){for(const r of t)r(void 0);return N}const n=e.subscribe(...t);return n.unsubscribe?()=>n.unsubscribe():n}function me(e){let t;return Xt(e,n=>t=n)(),t}function F(e,t,n){e.$$.on_destroy.push(Xt(t,n))}function ze(e,t,n,r){if(e){const i=ir(e,t,n,r);return e[0](i)}}function ir(e,t,n,r){return e[1]&&r?ee(n.ctx.slice(),e[1](r(t))):n.ctx}function Xe(e,t,n,r){if(e[2]&&r){const i=e[2](r(n));if(t.dirty===void 0)return i;if(typeof i=="object"){const s=[],o=Math.max(t.dirty.length,i.length);for(let a=0;a32){const t=[],n=e.ctx.length/32;for(let r=0;re.removeEventListener(t,n,r)}function ln(e){return function(t){return t.stopPropagation(),e.call(this,t)}}function _(e,t,n){n==null?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function ge(e,t){for(const n in t)_(e,n,t[n])}function Jr(e){return Array.from(e.childNodes)}function G(e,t){t=""+t,e.data!==t&&(e.data=t)}function ct(e,t){e.value=t??""}function Pt(e,t,n,r){n==null?e.style.removeProperty(t):e.style.setProperty(t,n,r?"important":"")}function un(e,t,n){for(let r=0;r{o.source===r.contentWindow&&t()})):(r.src="about:blank",r.onload=()=>{s=K(r.contentWindow,"resize",t),t()}),m(e,r),()=>{(i||s&&r.contentWindow)&&s(),E(r)}}function cn(e,t,n){e.classList.toggle(t,!!n)}function ti(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}let Ze;function ue(e){Ze=e}function Ie(){if(!Ze)throw new Error("Function called outside component initialization");return Ze}function ni(e){Ie().$$.on_mount.push(e)}function ri(){const e=Ie();return(t,n,{cancelable:r=!1}={})=>{const i=e.$$.callbacks[t];if(i){const s=ti(t,n,{cancelable:r});return i.slice().forEach(o=>{o.call(e,s)}),!s.defaultPrevented}return!0}}function ii(e,t){return Ie().$$.context.set(e,t),t}function Wt(e){return Ie().$$.context.get(e)}function si(e){return Ie().$$.context.has(e)}function oi(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(r=>r.call(this,t))}const He=[],Qe=[];let Te=[];const Lt=[],sr=Promise.resolve();let Nt=!1;function or(){Nt||(Nt=!0,sr.then(qt))}function ai(){return or(),sr}function Je(e){Te.push(e)}function hn(e){Lt.push(e)}const St=new Set;let xe=0;function qt(){if(xe!==0)return;const e=Ze;do{try{for(;xee.indexOf(r)===-1?t.push(r):n.push(r)),n.forEach(r=>r()),Te=t}const at=new Set;let be;function ce(){be={r:0,c:[],p:be}}function he(){be.r||oe(be.c),be=be.p}function x(e,t){e&&e.i&&(at.delete(e),e.i(t))}function A(e,t,n,r){if(e&&e.o){if(at.has(e))return;at.add(e),be.c.push(()=>{at.delete(e),r&&(n&&e.d(1),r())}),e.o(t)}else r&&r()}function ci(e,t){const n=t.token={};function r(i,s,o,a){if(t.token!==n)return;t.resolved=a;let l=t.ctx;o!==void 0&&(l=l.slice(),l[o]=a);const u=i&&(t.current=i)(l);let c=!1;t.block&&(t.blocks?t.blocks.forEach((h,f)=>{f!==s&&h&&(ce(),A(h,1,1,()=>{t.blocks[f]===h&&(t.blocks[f]=null)}),he())}):t.block.d(1),u.c(),x(u,1),u.m(t.mount(),t.anchor),c=!0),t.block=u,t.blocks&&(t.blocks[s]=u),c&&qt()}if(qr(e)){const i=Ie();if(e.then(s=>{ue(i),r(t.then,1,t.value,s),ue(null)},s=>{if(ue(i),r(t.catch,2,t.error,s),ue(null),!t.hasCatch)throw s}),t.current!==t.pending)return r(t.pending,0),!0}else{if(t.current!==t.then)return r(t.then,1,t.value,e),!0;t.resolved=e}}function se(e){return(e==null?void 0:e.length)!==void 0?e:Array.from(e)}function fn(e,t){e.d(1),t.delete(e.key)}function ar(e,t){A(e,1,1,()=>{t.delete(e.key)})}function ht(e,t,n,r,i,s,o,a,l,u,c,h){let f=e.length,p=s.length,g=f;const y={};for(;g--;)y[e[g].key]=g;const w=[],$=new Map,P=new Map,d=[];for(g=p;g--;){const H=h(i,s,g),R=n(H);let T=o.get(R);T?r&&d.push(()=>T.p(H,t)):(T=u(R,H),T.c()),$.set(R,w[g]=T),R in y&&P.set(R,Math.abs(g-y[R]))}const b=new Set,O=new Set;function j(H){x(H,1),H.m(a,c),o.set(H.key,H),c=H.first,p--}for(;f&&p;){const H=w[p-1],R=e[f-1],T=H.key,q=R.key;H===R?(c=H.first,f--,p--):$.has(q)?!o.has(T)||b.has(T)?j(H):O.has(q)?f--:P.get(T)>P.get(q)?(O.add(T),j(H)):(b.add(q),f--):(l(R,o),f--)}for(;f--;){const H=e[f];$.has(H.key)||l(H,o)}for(;p;)j(w[p-1]);return oe(d),w}function vt(e,t){const n={},r={},i={$$scope:1};let s=e.length;for(;s--;){const o=e[s],a=t[s];if(a){for(const l in o)l in a||(r[l]=1);for(const l in a)i[l]||(n[l]=a[l],i[l]=1);e[s]=a}else for(const l in o)i[l]=1}for(const o in r)o in n||(n[o]=void 0);return n}function mn(e,t,n){const r=e.$$.props[t];r!==void 0&&(e.$$.bound[r]=n,n(e.$$.ctx[r]))}function D(e){e&&e.c()}function C(e,t,n){const{fragment:r,after_update:i}=e.$$;r&&r.m(t,n),Je(()=>{const s=e.$$.on_mount.map(rr).filter(zt);e.$$.on_destroy?e.$$.on_destroy.push(...s):oe(s),e.$$.on_mount=[]}),i.forEach(Je)}function k(e,t){const n=e.$$;n.fragment!==null&&(ui(n.after_update),oe(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function hi(e,t){e.$$.dirty[0]===-1&&(He.push(e),or(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<{const g=p.length?p[0]:f;return u.ctx&&i(u.ctx[h],u.ctx[h]=g)&&(!u.skip_bound&&u.bound[h]&&u.bound[h](g),c&&hi(e,h)),f}):[],u.update(),c=!0,oe(u.before_update),u.fragment=r?r(u.ctx):!1,t.target){if(t.hydrate){const h=Jr(t.target);u.fragment&&u.fragment.l(h),h.forEach(E)}else u.fragment&&u.fragment.c();t.intro&&x(e.$$.fragment),C(e,t.target,t.anchor),qt()}ue(l)}class W{constructor(){xt(this,"$$");xt(this,"$$set")}$destroy(){k(this,1),this.$destroy=N}$on(t,n){if(!zt(n))return N;const r=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return r.push(n),()=>{const i=r.indexOf(n);i!==-1&&r.splice(i,1)}}$set(t){this.$$set&&!Zr(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}const fi="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(fi);const Se=[];function mi(e,t){return{subscribe:ie(e,t).subscribe}}function ie(e,t=N){let n;const r=new Set;function i(a){if(z(e,a)&&(e=a,n)){const l=!Se.length;for(const u of r)u[1](),Se.push(u,e);if(l){for(let u=0;u{r.delete(u),r.size===0&&n&&(n(),n=null)}}return{set:i,update:s,subscribe:o}}function Pe(e,t,n){const r=!Array.isArray(e),i=r?[e]:e;if(!i.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const s=t.length<2;return mi(n,(o,a)=>{let l=!1;const u=[];let c=0,h=N;const f=()=>{if(c)return;h();const g=t(r?u[0]:u,o,a);s?o(g):h=zt(g)?g:N},p=i.map((g,y)=>Xt(g,w=>{u[y]=w,c&=~(1<{c|=1<JSON.stringify(l,null,2),i=JSON.parse;t.getItem(e)===null&&t.setItem(e,r(n));const s=i(t.getItem(e)),{subscribe:o,update:a}=ie(s);return{subscribe:o,set:(l,u)=>a(c=>(c[l]=u,t.setItem(e,r(c)),c)),delete:l=>a(u=>(delete u[l],t.setItem(e,r(u)),u))}}function Zt(e,t){return lr(e,localStorage,t)}function di(e,t){return lr(e,sessionStorage,t)}function ur(e,t){let n=me(e);if((n.version??0)===t.version)return;let r={version:t.version};cr(r,t,n);for(let[i,s]of Object.entries(r))e.set(i,s)}function cr(e,t,n){for(let[r,i]of Object.entries(t))typeof i>"u"||(typeof n[r]>"u"?e[r]=i:typeof i=="object"?i!==null&&(e[r]={},cr(e[r],i,n[r])):typeof i!=typeof e[r]&&(e[r]=i))}const hr={version:1,searches:[]},gi=Zt("cache",hr);function pi(){ur(gi,hr)}const fr={version:1,theme:"system",locale:void 0,current_city:{lat:51.50853,lon:-.12574,name:"London, United Kingdom"},tz:Intl.DateTimeFormat().resolvedOptions().timeZone},J=Zt("settings",fr);function _i(){ur(J,fr)}const ft=ie(!1),Mt=ie(!1),mr=ie([]),Qt=ie(""),ye=di("weather"),Ht=Zt("cache",{version:1,cities:[]});function bi(){pi(),_i()}function Ue(e){e instanceof Date||(e=new Date(e));const t=e.getHours(),n=e.getMinutes();return`${t}:${n<10?"0"+n:n}`}function dr(){return Ue(new Date)}function dn(){Qt.set(dr())}function vi(){Qt.set(dr()),setTimeout(()=>{dn(),setInterval(dn,60*1e3)},(60-new Date().getSeconds())*1e3)}function yi(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var wi=function(t){return Ei(t)&&!xi(t)};function Ei(e){return!!e&&typeof e=="object"}function xi(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||Ti(e)}var Si=typeof Symbol=="function"&&Symbol.for,Hi=Si?Symbol.for("react.element"):60103;function Ti(e){return e.$$typeof===Hi}function Ai(e){return Array.isArray(e)?[]:{}}function Ye(e,t){return t.clone!==!1&&t.isMergeableObject(e)?Ae(Ai(e),e,t):e}function Bi(e,t,n){return e.concat(t).map(function(r){return Ye(r,n)})}function $i(e,t){if(!t.customMerge)return Ae;var n=t.customMerge(e);return typeof n=="function"?n:Ae}function Oi(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function gn(e){return Object.keys(e).concat(Oi(e))}function gr(e,t){try{return t in e}catch{return!1}}function Ii(e,t){return gr(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function Pi(e,t,n){var r={};return n.isMergeableObject(e)&&gn(e).forEach(function(i){r[i]=Ye(e[i],n)}),gn(t).forEach(function(i){Ii(e,i)||(gr(e,i)&&n.isMergeableObject(t[i])?r[i]=$i(i,n)(e[i],t[i],n):r[i]=Ye(t[i],n))}),r}function Ae(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||Bi,n.isMergeableObject=n.isMergeableObject||wi,n.cloneUnlessOtherwiseSpecified=Ye;var r=Array.isArray(t),i=Array.isArray(e),s=r===i;return s?r?n.arrayMerge(e,t,n):Pi(e,t,n):Ye(t,n)}Ae.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,i){return Ae(r,i,n)},{})};var Li=Ae,Ni=Li;const Mi=yi(Ni);var Ct=function(e,t){return Ct=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},Ct(e,t)};function yt(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Ct(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var U=function(){return U=Object.assign||function(t){for(var n,r=1,i=arguments.length;r0}),n=[],r=0,i=t;r1)throw new RangeError("integer-width stems only accept a single optional option");i.options[0].replace(ji,function(l,u,c,h,f,p){if(u)t.minimumIntegerDigits=c.length;else{if(h&&f)throw new Error("We currently do not support maximum integer digits");if(p)throw new Error("We currently do not support exact integer digits")}return""});continue}if(Hr.test(i.stem)){t.minimumIntegerDigits=i.stem.length;continue}if(_n.test(i.stem)){if(i.options.length>1)throw new RangeError("Fraction-precision stems only accept a single optional option");i.stem.replace(_n,function(l,u,c,h,f,p){return c==="*"?t.minimumFractionDigits=u.length:h&&h[0]==="#"?t.maximumFractionDigits=h.length:f&&p?(t.minimumFractionDigits=f.length,t.maximumFractionDigits=f.length+p.length):(t.minimumFractionDigits=u.length,t.maximumFractionDigits=u.length),""});var s=i.options[0];s==="w"?t=U(U({},t),{trailingZeroDisplay:"stripIfInteger"}):s&&(t=U(U({},t),bn(s)));continue}if(Sr.test(i.stem)){t=U(U({},t),bn(i.stem));continue}var o=Tr(i.stem);o&&(t=U(U({},t),o));var a=Vi(i.stem);a&&(t=U(U({},t),a))}return t}var it={AX:["H"],BQ:["H"],CP:["H"],CZ:["H"],DK:["H"],FI:["H"],ID:["H"],IS:["H"],ML:["H"],NE:["H"],RU:["H"],SE:["H"],SJ:["H"],SK:["H"],AS:["h","H"],BT:["h","H"],DJ:["h","H"],ER:["h","H"],GH:["h","H"],IN:["h","H"],LS:["h","H"],PG:["h","H"],PW:["h","H"],SO:["h","H"],TO:["h","H"],VU:["h","H"],WS:["h","H"],"001":["H","h"],AL:["h","H","hB"],TD:["h","H","hB"],"ca-ES":["H","h","hB"],CF:["H","h","hB"],CM:["H","h","hB"],"fr-CA":["H","h","hB"],"gl-ES":["H","h","hB"],"it-CH":["H","h","hB"],"it-IT":["H","h","hB"],LU:["H","h","hB"],NP:["H","h","hB"],PF:["H","h","hB"],SC:["H","h","hB"],SM:["H","h","hB"],SN:["H","h","hB"],TF:["H","h","hB"],VA:["H","h","hB"],CY:["h","H","hb","hB"],GR:["h","H","hb","hB"],CO:["h","H","hB","hb"],DO:["h","H","hB","hb"],KP:["h","H","hB","hb"],KR:["h","H","hB","hb"],NA:["h","H","hB","hb"],PA:["h","H","hB","hb"],PR:["h","H","hB","hb"],VE:["h","H","hB","hb"],AC:["H","h","hb","hB"],AI:["H","h","hb","hB"],BW:["H","h","hb","hB"],BZ:["H","h","hb","hB"],CC:["H","h","hb","hB"],CK:["H","h","hb","hB"],CX:["H","h","hb","hB"],DG:["H","h","hb","hB"],FK:["H","h","hb","hB"],GB:["H","h","hb","hB"],GG:["H","h","hb","hB"],GI:["H","h","hb","hB"],IE:["H","h","hb","hB"],IM:["H","h","hb","hB"],IO:["H","h","hb","hB"],JE:["H","h","hb","hB"],LT:["H","h","hb","hB"],MK:["H","h","hb","hB"],MN:["H","h","hb","hB"],MS:["H","h","hb","hB"],NF:["H","h","hb","hB"],NG:["H","h","hb","hB"],NR:["H","h","hb","hB"],NU:["H","h","hb","hB"],PN:["H","h","hb","hB"],SH:["H","h","hb","hB"],SX:["H","h","hb","hB"],TA:["H","h","hb","hB"],ZA:["H","h","hb","hB"],"af-ZA":["H","h","hB","hb"],AR:["H","h","hB","hb"],CL:["H","h","hB","hb"],CR:["H","h","hB","hb"],CU:["H","h","hB","hb"],EA:["H","h","hB","hb"],"es-BO":["H","h","hB","hb"],"es-BR":["H","h","hB","hb"],"es-EC":["H","h","hB","hb"],"es-ES":["H","h","hB","hb"],"es-GQ":["H","h","hB","hb"],"es-PE":["H","h","hB","hb"],GT:["H","h","hB","hb"],HN:["H","h","hB","hb"],IC:["H","h","hB","hb"],KG:["H","h","hB","hb"],KM:["H","h","hB","hb"],LK:["H","h","hB","hb"],MA:["H","h","hB","hb"],MX:["H","h","hB","hb"],NI:["H","h","hB","hb"],PY:["H","h","hB","hb"],SV:["H","h","hB","hb"],UY:["H","h","hB","hb"],JP:["H","h","K"],AD:["H","hB"],AM:["H","hB"],AO:["H","hB"],AT:["H","hB"],AW:["H","hB"],BE:["H","hB"],BF:["H","hB"],BJ:["H","hB"],BL:["H","hB"],BR:["H","hB"],CG:["H","hB"],CI:["H","hB"],CV:["H","hB"],DE:["H","hB"],EE:["H","hB"],FR:["H","hB"],GA:["H","hB"],GF:["H","hB"],GN:["H","hB"],GP:["H","hB"],GW:["H","hB"],HR:["H","hB"],IL:["H","hB"],IT:["H","hB"],KZ:["H","hB"],MC:["H","hB"],MD:["H","hB"],MF:["H","hB"],MQ:["H","hB"],MZ:["H","hB"],NC:["H","hB"],NL:["H","hB"],PM:["H","hB"],PT:["H","hB"],RE:["H","hB"],RO:["H","hB"],SI:["H","hB"],SR:["H","hB"],ST:["H","hB"],TG:["H","hB"],TR:["H","hB"],WF:["H","hB"],YT:["H","hB"],BD:["h","hB","H"],PK:["h","hB","H"],AZ:["H","hB","h"],BA:["H","hB","h"],BG:["H","hB","h"],CH:["H","hB","h"],GE:["H","hB","h"],LI:["H","hB","h"],ME:["H","hB","h"],RS:["H","hB","h"],UA:["H","hB","h"],UZ:["H","hB","h"],XK:["H","hB","h"],AG:["h","hb","H","hB"],AU:["h","hb","H","hB"],BB:["h","hb","H","hB"],BM:["h","hb","H","hB"],BS:["h","hb","H","hB"],CA:["h","hb","H","hB"],DM:["h","hb","H","hB"],"en-001":["h","hb","H","hB"],FJ:["h","hb","H","hB"],FM:["h","hb","H","hB"],GD:["h","hb","H","hB"],GM:["h","hb","H","hB"],GU:["h","hb","H","hB"],GY:["h","hb","H","hB"],JM:["h","hb","H","hB"],KI:["h","hb","H","hB"],KN:["h","hb","H","hB"],KY:["h","hb","H","hB"],LC:["h","hb","H","hB"],LR:["h","hb","H","hB"],MH:["h","hb","H","hB"],MP:["h","hb","H","hB"],MW:["h","hb","H","hB"],NZ:["h","hb","H","hB"],SB:["h","hb","H","hB"],SG:["h","hb","H","hB"],SL:["h","hb","H","hB"],SS:["h","hb","H","hB"],SZ:["h","hb","H","hB"],TC:["h","hb","H","hB"],TT:["h","hb","H","hB"],UM:["h","hb","H","hB"],US:["h","hb","H","hB"],VC:["h","hb","H","hB"],VG:["h","hb","H","hB"],VI:["h","hb","H","hB"],ZM:["h","hb","H","hB"],BO:["H","hB","h","hb"],EC:["H","hB","h","hb"],ES:["H","hB","h","hb"],GQ:["H","hB","h","hb"],PE:["H","hB","h","hb"],AE:["h","hB","hb","H"],"ar-001":["h","hB","hb","H"],BH:["h","hB","hb","H"],DZ:["h","hB","hb","H"],EG:["h","hB","hb","H"],EH:["h","hB","hb","H"],HK:["h","hB","hb","H"],IQ:["h","hB","hb","H"],JO:["h","hB","hb","H"],KW:["h","hB","hb","H"],LB:["h","hB","hb","H"],LY:["h","hB","hb","H"],MO:["h","hB","hb","H"],MR:["h","hB","hb","H"],OM:["h","hB","hb","H"],PH:["h","hB","hb","H"],PS:["h","hB","hb","H"],QA:["h","hB","hb","H"],SA:["h","hB","hb","H"],SD:["h","hB","hb","H"],SY:["h","hB","hb","H"],TN:["h","hB","hb","H"],YE:["h","hB","hb","H"],AF:["H","hb","hB","h"],LA:["H","hb","hB","h"],CN:["H","hB","hb","h"],LV:["H","hB","hb","h"],TL:["H","hB","hb","h"],"zu-ZA":["H","hB","hb","h"],CD:["hB","H"],IR:["hB","H"],"hi-IN":["hB","h","H"],"kn-IN":["hB","h","H"],"ml-IN":["hB","h","H"],"te-IN":["hB","h","H"],KH:["hB","h","H","hb"],"ta-IN":["hB","h","hb","H"],BN:["hb","hB","h","H"],MY:["hb","hB","h","H"],ET:["hB","hb","h","H"],"gu-IN":["hB","hb","h","H"],"mr-IN":["hB","hb","h","H"],"pa-IN":["hB","hb","h","H"],TW:["hB","hb","h","H"],KE:["hB","hb","H","h"],MM:["hB","hb","H","h"],TZ:["hB","hb","H","h"],UG:["hB","hb","H","h"]};function Xi(e,t){for(var n="",r=0;r>1),l="a",u=Wi(t);for((u=="H"||u=="k")&&(a=0);a-- >0;)n+=l;for(;o-- >0;)n=u+n}else i==="J"?n+="H":n+=i}return n}function Wi(e){var t=e.hourCycle;if(t===void 0&&e.hourCycles&&e.hourCycles.length&&(t=e.hourCycles[0]),t)switch(t){case"h24":return"k";case"h23":return"H";case"h12":return"h";case"h11":return"K";default:throw new Error("Invalid hourCycle")}var n=e.language,r;n!=="root"&&(r=e.maximize().region);var i=it[r||""]||it[n||""]||it["".concat(n,"-001")]||it["001"];return i[0]}var At,qi=new RegExp("^".concat(xr.source,"*")),Zi=new RegExp("".concat(xr.source,"*$"));function M(e,t){return{start:e,end:t}}var Qi=!!String.prototype.startsWith,Ji=!!String.fromCodePoint,Yi=!!Object.fromEntries,Ki=!!String.prototype.codePointAt,es=!!String.prototype.trimStart,ts=!!String.prototype.trimEnd,ns=!!Number.isSafeInteger,rs=ns?Number.isSafeInteger:function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e&&Math.abs(e)<=9007199254740991},Rt=!0;try{var is=Br("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu");Rt=((At=is.exec("a"))===null||At===void 0?void 0:At[0])==="a"}catch{Rt=!1}var yn=Qi?function(t,n,r){return t.startsWith(n,r)}:function(t,n,r){return t.slice(r,r+n.length)===n},Dt=Ji?String.fromCodePoint:function(){for(var t=[],n=0;ns;){if(o=t[s++],o>1114111)throw RangeError(o+" is not a valid code point");r+=o<65536?String.fromCharCode(o):String.fromCharCode(((o-=65536)>>10)+55296,o%1024+56320)}return r},wn=Yi?Object.fromEntries:function(t){for(var n={},r=0,i=t;r=r)){var i=t.charCodeAt(n),s;return i<55296||i>56319||n+1===r||(s=t.charCodeAt(n+1))<56320||s>57343?i:(i-55296<<10)+(s-56320)+65536}},ss=es?function(t){return t.trimStart()}:function(t){return t.replace(qi,"")},os=ts?function(t){return t.trimEnd()}:function(t){return t.replace(Zi,"")};function Br(e,t){return new RegExp(e,t)}var Ut;if(Rt){var En=Br("([^\\p{White_Space}\\p{Pattern_Syntax}]*)","yu");Ut=function(t,n){var r;En.lastIndex=n;var i=En.exec(t);return(r=i[1])!==null&&r!==void 0?r:""}}else Ut=function(t,n){for(var r=[];;){var i=Ar(t,n);if(i===void 0||$r(i)||cs(i))break;r.push(i),n+=i>=65536?2:1}return Dt.apply(void 0,r)};var as=function(){function e(t,n){n===void 0&&(n={}),this.message=t,this.position={offset:0,line:1,column:1},this.ignoreTag=!!n.ignoreTag,this.locale=n.locale,this.requiresOtherClause=!!n.requiresOtherClause,this.shouldParseSkeletons=!!n.shouldParseSkeletons}return e.prototype.parse=function(){if(this.offset()!==0)throw Error("parser can only be used once");return this.parseMessage(0,"",!1)},e.prototype.parseMessage=function(t,n,r){for(var i=[];!this.isEOF();){var s=this.char();if(s===123){var o=this.parseArgument(t,r);if(o.err)return o;i.push(o.val)}else{if(s===125&&t>0)break;if(s===35&&(n==="plural"||n==="selectordinal")){var a=this.clonePosition();this.bump(),i.push({type:V.pound,location:M(a,this.clonePosition())})}else if(s===60&&!this.ignoreTag&&this.peek()===47){if(r)break;return this.error(L.UNMATCHED_CLOSING_TAG,M(this.clonePosition(),this.clonePosition()))}else if(s===60&&!this.ignoreTag&&Gt(this.peek()||0)){var o=this.parseTag(t,n);if(o.err)return o;i.push(o.val)}else{var o=this.parseLiteral(t,n);if(o.err)return o;i.push(o.val)}}}return{val:i,err:null}},e.prototype.parseTag=function(t,n){var r=this.clonePosition();this.bump();var i=this.parseTagName();if(this.bumpSpace(),this.bumpIf("/>"))return{val:{type:V.literal,value:"<".concat(i,"/>"),location:M(r,this.clonePosition())},err:null};if(this.bumpIf(">")){var s=this.parseMessage(t+1,n,!0);if(s.err)return s;var o=s.val,a=this.clonePosition();if(this.bumpIf("")?{val:{type:V.tag,value:i,children:o,location:M(r,this.clonePosition())},err:null}:this.error(L.INVALID_TAG,M(a,this.clonePosition())))}else return this.error(L.UNCLOSED_TAG,M(r,this.clonePosition()))}else return this.error(L.INVALID_TAG,M(r,this.clonePosition()))},e.prototype.parseTagName=function(){var t=this.offset();for(this.bump();!this.isEOF()&&us(this.char());)this.bump();return this.message.slice(t,this.offset())},e.prototype.parseLiteral=function(t,n){for(var r=this.clonePosition(),i="";;){var s=this.tryParseQuote(n);if(s){i+=s;continue}var o=this.tryParseUnquoted(t,n);if(o){i+=o;continue}var a=this.tryParseLeftAngleBracket();if(a){i+=a;continue}break}var l=M(r,this.clonePosition());return{val:{type:V.literal,value:i,location:l},err:null}},e.prototype.tryParseLeftAngleBracket=function(){return!this.isEOF()&&this.char()===60&&(this.ignoreTag||!ls(this.peek()||0))?(this.bump(),"<"):null},e.prototype.tryParseQuote=function(t){if(this.isEOF()||this.char()!==39)return null;switch(this.peek()){case 39:return this.bump(),this.bump(),"'";case 123:case 60:case 62:case 125:break;case 35:if(t==="plural"||t==="selectordinal")break;return null;default:return null}this.bump();var n=[this.char()];for(this.bump();!this.isEOF();){var r=this.char();if(r===39)if(this.peek()===39)n.push(39),this.bump();else{this.bump();break}else n.push(r);this.bump()}return Dt.apply(void 0,n)},e.prototype.tryParseUnquoted=function(t,n){if(this.isEOF())return null;var r=this.char();return r===60||r===123||r===35&&(n==="plural"||n==="selectordinal")||r===125&&t>0?null:(this.bump(),Dt(r))},e.prototype.parseArgument=function(t,n){var r=this.clonePosition();if(this.bump(),this.bumpSpace(),this.isEOF())return this.error(L.EXPECT_ARGUMENT_CLOSING_BRACE,M(r,this.clonePosition()));if(this.char()===125)return this.bump(),this.error(L.EMPTY_ARGUMENT,M(r,this.clonePosition()));var i=this.parseIdentifierIfPossible().value;if(!i)return this.error(L.MALFORMED_ARGUMENT,M(r,this.clonePosition()));if(this.bumpSpace(),this.isEOF())return this.error(L.EXPECT_ARGUMENT_CLOSING_BRACE,M(r,this.clonePosition()));switch(this.char()){case 125:return this.bump(),{val:{type:V.argument,value:i,location:M(r,this.clonePosition())},err:null};case 44:return this.bump(),this.bumpSpace(),this.isEOF()?this.error(L.EXPECT_ARGUMENT_CLOSING_BRACE,M(r,this.clonePosition())):this.parseArgumentOptions(t,n,i,r);default:return this.error(L.MALFORMED_ARGUMENT,M(r,this.clonePosition()))}},e.prototype.parseIdentifierIfPossible=function(){var t=this.clonePosition(),n=this.offset(),r=Ut(this.message,n),i=n+r.length;this.bumpTo(i);var s=this.clonePosition(),o=M(t,s);return{value:r,location:o}},e.prototype.parseArgumentOptions=function(t,n,r,i){var s,o=this.clonePosition(),a=this.parseIdentifierIfPossible().value,l=this.clonePosition();switch(a){case"":return this.error(L.EXPECT_ARGUMENT_TYPE,M(o,l));case"number":case"date":case"time":{this.bumpSpace();var u=null;if(this.bumpIf(",")){this.bumpSpace();var c=this.clonePosition(),h=this.parseSimpleArgStyleIfPossible();if(h.err)return h;var f=os(h.val);if(f.length===0)return this.error(L.EXPECT_ARGUMENT_STYLE,M(this.clonePosition(),this.clonePosition()));var p=M(c,this.clonePosition());u={style:f,styleLocation:p}}var g=this.tryParseArgumentClose(i);if(g.err)return g;var y=M(i,this.clonePosition());if(u&&yn(u==null?void 0:u.style,"::",0)){var w=ss(u.style.slice(2));if(a==="number"){var h=this.parseNumberSkeletonFromString(w,u.styleLocation);return h.err?h:{val:{type:V.number,value:r,location:y,style:h.val},err:null}}else{if(w.length===0)return this.error(L.EXPECT_DATE_TIME_SKELETON,y);var $=w;this.locale&&($=Xi(w,this.locale));var f={type:Be.dateTime,pattern:$,location:u.styleLocation,parsedOptions:this.shouldParseSkeletons?Di($):{}},P=a==="date"?V.date:V.time;return{val:{type:P,value:r,location:y,style:f},err:null}}}return{val:{type:a==="number"?V.number:a==="date"?V.date:V.time,value:r,location:y,style:(s=u==null?void 0:u.style)!==null&&s!==void 0?s:null},err:null}}case"plural":case"selectordinal":case"select":{var d=this.clonePosition();if(this.bumpSpace(),!this.bumpIf(","))return this.error(L.EXPECT_SELECT_ARGUMENT_OPTIONS,M(d,U({},d)));this.bumpSpace();var b=this.parseIdentifierIfPossible(),O=0;if(a!=="select"&&b.value==="offset"){if(!this.bumpIf(":"))return this.error(L.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,M(this.clonePosition(),this.clonePosition()));this.bumpSpace();var h=this.tryParseDecimalInteger(L.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE,L.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);if(h.err)return h;this.bumpSpace(),b=this.parseIdentifierIfPossible(),O=h.val}var j=this.tryParsePluralOrSelectOptions(t,a,n,b);if(j.err)return j;var g=this.tryParseArgumentClose(i);if(g.err)return g;var H=M(i,this.clonePosition());return a==="select"?{val:{type:V.select,value:r,options:wn(j.val),location:H},err:null}:{val:{type:V.plural,value:r,options:wn(j.val),offset:O,pluralType:a==="plural"?"cardinal":"ordinal",location:H},err:null}}default:return this.error(L.INVALID_ARGUMENT_TYPE,M(o,l))}},e.prototype.tryParseArgumentClose=function(t){return this.isEOF()||this.char()!==125?this.error(L.EXPECT_ARGUMENT_CLOSING_BRACE,M(t,this.clonePosition())):(this.bump(),{val:!0,err:null})},e.prototype.parseSimpleArgStyleIfPossible=function(){for(var t=0,n=this.clonePosition();!this.isEOF();){var r=this.char();switch(r){case 39:{this.bump();var i=this.clonePosition();if(!this.bumpUntil("'"))return this.error(L.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE,M(i,this.clonePosition()));this.bump();break}case 123:{t+=1,this.bump();break}case 125:{if(t>0)t-=1;else return{val:this.message.slice(n.offset,this.offset()),err:null};break}default:this.bump();break}}return{val:this.message.slice(n.offset,this.offset()),err:null}},e.prototype.parseNumberSkeletonFromString=function(t,n){var r=[];try{r=Gi(t)}catch{return this.error(L.INVALID_NUMBER_SKELETON,n)}return{val:{type:Be.number,tokens:r,location:n,parsedOptions:this.shouldParseSkeletons?zi(r):{}},err:null}},e.prototype.tryParsePluralOrSelectOptions=function(t,n,r,i){for(var s,o=!1,a=[],l=new Set,u=i.value,c=i.location;;){if(u.length===0){var h=this.clonePosition();if(n!=="select"&&this.bumpIf("=")){var f=this.tryParseDecimalInteger(L.EXPECT_PLURAL_ARGUMENT_SELECTOR,L.INVALID_PLURAL_ARGUMENT_SELECTOR);if(f.err)return f;c=M(h,this.clonePosition()),u=this.message.slice(h.offset,this.offset())}else break}if(l.has(u))return this.error(n==="select"?L.DUPLICATE_SELECT_ARGUMENT_SELECTOR:L.DUPLICATE_PLURAL_ARGUMENT_SELECTOR,c);u==="other"&&(o=!0),this.bumpSpace();var p=this.clonePosition();if(!this.bumpIf("{"))return this.error(n==="select"?L.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT:L.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT,M(this.clonePosition(),this.clonePosition()));var g=this.parseMessage(t+1,n,r);if(g.err)return g;var y=this.tryParseArgumentClose(p);if(y.err)return y;a.push([u,{value:g.val,location:M(p,this.clonePosition())}]),l.add(u),this.bumpSpace(),s=this.parseIdentifierIfPossible(),u=s.value,c=s.location}return a.length===0?this.error(n==="select"?L.EXPECT_SELECT_ARGUMENT_SELECTOR:L.EXPECT_PLURAL_ARGUMENT_SELECTOR,M(this.clonePosition(),this.clonePosition())):this.requiresOtherClause&&!o?this.error(L.MISSING_OTHER_CLAUSE,M(this.clonePosition(),this.clonePosition())):{val:a,err:null}},e.prototype.tryParseDecimalInteger=function(t,n){var r=1,i=this.clonePosition();this.bumpIf("+")||this.bumpIf("-")&&(r=-1);for(var s=!1,o=0;!this.isEOF();){var a=this.char();if(a>=48&&a<=57)s=!0,o=o*10+(a-48),this.bump();else break}var l=M(i,this.clonePosition());return s?(o*=r,rs(o)?{val:o,err:null}:this.error(n,l)):this.error(t,l)},e.prototype.offset=function(){return this.position.offset},e.prototype.isEOF=function(){return this.offset()===this.message.length},e.prototype.clonePosition=function(){return{offset:this.position.offset,line:this.position.line,column:this.position.column}},e.prototype.char=function(){var t=this.position.offset;if(t>=this.message.length)throw Error("out of bound");var n=Ar(this.message,t);if(n===void 0)throw Error("Offset ".concat(t," is at invalid UTF-16 code unit boundary"));return n},e.prototype.error=function(t,n){return{val:null,err:{kind:t,message:this.message,location:n}}},e.prototype.bump=function(){if(!this.isEOF()){var t=this.char();t===10?(this.position.line+=1,this.position.column=1,this.position.offset+=1):(this.position.column+=1,this.position.offset+=t<65536?1:2)}},e.prototype.bumpIf=function(t){if(yn(this.message,t,this.offset())){for(var n=0;n=0?(this.bumpTo(r),!0):(this.bumpTo(this.message.length),!1)},e.prototype.bumpTo=function(t){if(this.offset()>t)throw Error("targetOffset ".concat(t," must be greater than or equal to the current offset ").concat(this.offset()));for(t=Math.min(t,this.message.length);;){var n=this.offset();if(n===t)break;if(n>t)throw Error("targetOffset ".concat(t," is at invalid UTF-16 code unit boundary"));if(this.bump(),this.isEOF())break}},e.prototype.bumpSpace=function(){for(;!this.isEOF()&&$r(this.char());)this.bump()},e.prototype.peek=function(){if(this.isEOF())return null;var t=this.char(),n=this.offset(),r=this.message.charCodeAt(n+(t>=65536?2:1));return r??null},e}();function Gt(e){return e>=97&&e<=122||e>=65&&e<=90}function ls(e){return Gt(e)||e===47}function us(e){return e===45||e===46||e>=48&&e<=57||e===95||e>=97&&e<=122||e>=65&&e<=90||e==183||e>=192&&e<=214||e>=216&&e<=246||e>=248&&e<=893||e>=895&&e<=8191||e>=8204&&e<=8205||e>=8255&&e<=8256||e>=8304&&e<=8591||e>=11264&&e<=12271||e>=12289&&e<=55295||e>=63744&&e<=64975||e>=65008&&e<=65533||e>=65536&&e<=983039}function $r(e){return e>=9&&e<=13||e===32||e===133||e>=8206&&e<=8207||e===8232||e===8233}function cs(e){return e>=33&&e<=35||e===36||e>=37&&e<=39||e===40||e===41||e===42||e===43||e===44||e===45||e>=46&&e<=47||e>=58&&e<=59||e>=60&&e<=62||e>=63&&e<=64||e===91||e===92||e===93||e===94||e===96||e===123||e===124||e===125||e===126||e===161||e>=162&&e<=165||e===166||e===167||e===169||e===171||e===172||e===174||e===176||e===177||e===182||e===187||e===191||e===215||e===247||e>=8208&&e<=8213||e>=8214&&e<=8215||e===8216||e===8217||e===8218||e>=8219&&e<=8220||e===8221||e===8222||e===8223||e>=8224&&e<=8231||e>=8240&&e<=8248||e===8249||e===8250||e>=8251&&e<=8254||e>=8257&&e<=8259||e===8260||e===8261||e===8262||e>=8263&&e<=8273||e===8274||e===8275||e>=8277&&e<=8286||e>=8592&&e<=8596||e>=8597&&e<=8601||e>=8602&&e<=8603||e>=8604&&e<=8607||e===8608||e>=8609&&e<=8610||e===8611||e>=8612&&e<=8613||e===8614||e>=8615&&e<=8621||e===8622||e>=8623&&e<=8653||e>=8654&&e<=8655||e>=8656&&e<=8657||e===8658||e===8659||e===8660||e>=8661&&e<=8691||e>=8692&&e<=8959||e>=8960&&e<=8967||e===8968||e===8969||e===8970||e===8971||e>=8972&&e<=8991||e>=8992&&e<=8993||e>=8994&&e<=9e3||e===9001||e===9002||e>=9003&&e<=9083||e===9084||e>=9085&&e<=9114||e>=9115&&e<=9139||e>=9140&&e<=9179||e>=9180&&e<=9185||e>=9186&&e<=9254||e>=9255&&e<=9279||e>=9280&&e<=9290||e>=9291&&e<=9311||e>=9472&&e<=9654||e===9655||e>=9656&&e<=9664||e===9665||e>=9666&&e<=9719||e>=9720&&e<=9727||e>=9728&&e<=9838||e===9839||e>=9840&&e<=10087||e===10088||e===10089||e===10090||e===10091||e===10092||e===10093||e===10094||e===10095||e===10096||e===10097||e===10098||e===10099||e===10100||e===10101||e>=10132&&e<=10175||e>=10176&&e<=10180||e===10181||e===10182||e>=10183&&e<=10213||e===10214||e===10215||e===10216||e===10217||e===10218||e===10219||e===10220||e===10221||e===10222||e===10223||e>=10224&&e<=10239||e>=10240&&e<=10495||e>=10496&&e<=10626||e===10627||e===10628||e===10629||e===10630||e===10631||e===10632||e===10633||e===10634||e===10635||e===10636||e===10637||e===10638||e===10639||e===10640||e===10641||e===10642||e===10643||e===10644||e===10645||e===10646||e===10647||e===10648||e>=10649&&e<=10711||e===10712||e===10713||e===10714||e===10715||e>=10716&&e<=10747||e===10748||e===10749||e>=10750&&e<=11007||e>=11008&&e<=11055||e>=11056&&e<=11076||e>=11077&&e<=11078||e>=11079&&e<=11084||e>=11085&&e<=11123||e>=11124&&e<=11125||e>=11126&&e<=11157||e===11158||e>=11159&&e<=11263||e>=11776&&e<=11777||e===11778||e===11779||e===11780||e===11781||e>=11782&&e<=11784||e===11785||e===11786||e===11787||e===11788||e===11789||e>=11790&&e<=11798||e===11799||e>=11800&&e<=11801||e===11802||e===11803||e===11804||e===11805||e>=11806&&e<=11807||e===11808||e===11809||e===11810||e===11811||e===11812||e===11813||e===11814||e===11815||e===11816||e===11817||e>=11818&&e<=11822||e===11823||e>=11824&&e<=11833||e>=11834&&e<=11835||e>=11836&&e<=11839||e===11840||e===11841||e===11842||e>=11843&&e<=11855||e>=11856&&e<=11857||e===11858||e>=11859&&e<=11903||e>=12289&&e<=12291||e===12296||e===12297||e===12298||e===12299||e===12300||e===12301||e===12302||e===12303||e===12304||e===12305||e>=12306&&e<=12307||e===12308||e===12309||e===12310||e===12311||e===12312||e===12313||e===12314||e===12315||e===12316||e===12317||e>=12318&&e<=12319||e===12320||e===12336||e===64830||e===64831||e>=65093&&e<=65094}function Ft(e){e.forEach(function(t){if(delete t.location,vr(t)||yr(t))for(var n in t.options)delete t.options[n].location,Ft(t.options[n].value);else pr(t)&&Er(t.style)||(_r(t)||br(t))&&kt(t.style)?delete t.style.location:wr(t)&&Ft(t.children)})}function hs(e,t){t===void 0&&(t={}),t=U({shouldParseSkeletons:!0,requiresOtherClause:!0},t);var n=new as(e,t).parse();if(n.err){var r=SyntaxError(L[n.err.kind]);throw r.location=n.err.location,r.originalMessage=n.err.message,r}return t!=null&&t.captureLocation||Ft(n.val),n.val}function Bt(e,t){var n=t&&t.cache?t.cache:_s,r=t&&t.serializer?t.serializer:ps,i=t&&t.strategy?t.strategy:ms;return i(e,{cache:n,serializer:r})}function fs(e){return e==null||typeof e=="number"||typeof e=="boolean"}function Or(e,t,n,r){var i=fs(r)?r:n(r),s=t.get(i);return typeof s>"u"&&(s=e.call(this,r),t.set(i,s)),s}function Ir(e,t,n){var r=Array.prototype.slice.call(arguments,3),i=n(r),s=t.get(i);return typeof s>"u"&&(s=e.apply(this,r),t.set(i,s)),s}function Jt(e,t,n,r,i){return n.bind(t,e,r,i)}function ms(e,t){var n=e.length===1?Or:Ir;return Jt(e,this,n,t.cache.create(),t.serializer)}function ds(e,t){return Jt(e,this,Ir,t.cache.create(),t.serializer)}function gs(e,t){return Jt(e,this,Or,t.cache.create(),t.serializer)}var ps=function(){return JSON.stringify(arguments)};function Yt(){this.cache=Object.create(null)}Yt.prototype.get=function(e){return this.cache[e]};Yt.prototype.set=function(e,t){this.cache[e]=t};var _s={create:function(){return new Yt}},$t={variadic:ds,monadic:gs},$e;(function(e){e.MISSING_VALUE="MISSING_VALUE",e.INVALID_VALUE="INVALID_VALUE",e.MISSING_INTL_API="MISSING_INTL_API"})($e||($e={}));var wt=function(e){yt(t,e);function t(n,r,i){var s=e.call(this,n)||this;return s.code=r,s.originalMessage=i,s}return t.prototype.toString=function(){return"[formatjs Error: ".concat(this.code,"] ").concat(this.message)},t}(Error),xn=function(e){yt(t,e);function t(n,r,i,s){return e.call(this,'Invalid values for "'.concat(n,'": "').concat(r,'". Options are "').concat(Object.keys(i).join('", "'),'"'),$e.INVALID_VALUE,s)||this}return t}(wt),bs=function(e){yt(t,e);function t(n,r,i){return e.call(this,'Value for "'.concat(n,'" must be of type ').concat(r),$e.INVALID_VALUE,i)||this}return t}(wt),vs=function(e){yt(t,e);function t(n,r){return e.call(this,'The intl string context variable "'.concat(n,'" was not provided to the string "').concat(r,'"'),$e.MISSING_VALUE,r)||this}return t}(wt),Q;(function(e){e[e.literal=0]="literal",e[e.object=1]="object"})(Q||(Q={}));function ys(e){return e.length<2?e:e.reduce(function(t,n){var r=t[t.length-1];return!r||r.type!==Q.literal||n.type!==Q.literal?t.push(n):r.value+=n.value,t},[])}function ws(e){return typeof e=="function"}function lt(e,t,n,r,i,s,o){if(e.length===1&&pn(e[0]))return[{type:Q.literal,value:e[0].value}];for(var a=[],l=0,u=e;l0?new Intl.Locale(n[0]):new Intl.Locale(typeof t=="string"?t:t[0])},e.__parse=hs,e.formats={number:{integer:{maximumFractionDigits:0},currency:{style:"currency"},percent:{style:"percent"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}},e}();function Hs(e,t){if(t==null)return;if(t in e)return e[t];const n=t.split(".");let r=e;for(let i=0;i0){const s=n.slice(i,n.length).join(".");if(s in r){r=r[s];break}}r=r[n[i]]}else r=void 0;return r}const fe={},Ts=(e,t,n)=>n&&(t in fe||(fe[t]={}),e in fe[t]||(fe[t][e]=n),n),Lr=(e,t)=>{if(t==null)return;if(t in fe&&e in fe[t])return fe[t][e];const n=et(t);for(let r=0;r(n[e]=Mi.all([n[e]||{},...t]),n))}Pe([Le],([e])=>Object.keys(e));Le.subscribe(e=>Kt=e);const Fe={};function Is(e){Fe[e]=new Set}function Ps(e,t){Fe[e].delete(t),Fe[e].size===0&&delete Fe[e]}function je(e){return Fe[e]}function Ls(e){return et(e).map(t=>{const n=je(t);return[t,n?[...n]:[]]}).filter(([,t])=>t.length>0)}function mt(e){return e==null?!1:et(e).some(t=>{var n;return(n=je(t))==null?void 0:n.size})}function Ns(e,t){return Promise.all(t.map(r=>(Ps(e,r),r().then(i=>i.default||i)))).then(r=>Os(e,...r))}const De={};function Nr(e){if(!mt(e))return e in De?De[e]:Promise.resolve();const t=Ls(e);return De[e]=Promise.all(t.map(([n,r])=>Ns(n,r))).then(()=>{if(mt(e))return Nr(e);delete De[e]}),De[e]}function Ms(e,t){je(e)||Is(e);const n=je(e);je(e).has(t)||(en(e)||Le.update(r=>(r[e]={},r)),n.add(t))}var Sn=Object.getOwnPropertySymbols,Cs=Object.prototype.hasOwnProperty,ks=Object.prototype.propertyIsEnumerable,Rs=(e,t)=>{var n={};for(var r in e)Cs.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&Sn)for(var r of Sn(e))t.indexOf(r)<0&&ks.call(e,r)&&(n[r]=e[r]);return n};const Ds={number:{scientific:{notation:"scientific"},engineering:{notation:"engineering"},compactLong:{notation:"compact",compactDisplay:"long"},compactShort:{notation:"compact",compactDisplay:"short"}},date:{short:{month:"numeric",day:"numeric",year:"2-digit"},medium:{month:"short",day:"numeric",year:"numeric"},long:{month:"long",day:"numeric",year:"numeric"},full:{weekday:"long",month:"long",day:"numeric",year:"numeric"}},time:{short:{hour:"numeric",minute:"numeric"},medium:{hour:"numeric",minute:"numeric",second:"numeric"},long:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"},full:{hour:"numeric",minute:"numeric",second:"numeric",timeZoneName:"short"}}};function Us({locale:e,id:t}){console.warn(`[svelte-i18n] The message "${t}" was not found in "${et(e).join('", "')}".${mt(pe())?` + +Note: there are at least one loader still registered to this locale that wasn't executed.`:""}`)}const Gs={fallbackLocale:null,loadingDelay:200,formats:Ds,warnOnMissingMessages:!0,handleMissingMessage:void 0,ignoreTag:!0},Ge=Gs;function Oe(){return Ge}function Fs(e){const t=e,{formats:n}=t,r=Rs(t,["formats"]);let i=e.fallbackLocale;if(e.initialLocale)try{Pr.resolveLocale(e.initialLocale)&&(i=e.initialLocale)}catch{console.warn(`[svelte-i18n] The initial locale "${e.initialLocale}" is not a valid locale.`)}return r.warnOnMissingMessages&&(delete r.warnOnMissingMessages,r.handleMissingMessage==null?r.handleMissingMessage=Us:console.warn('[svelte-i18n] The "warnOnMissingMessages" option is deprecated. Please use the "handleMissingMessage" option instead.')),Object.assign(Ge,r,{initialLocale:i}),n&&("number"in n&&Object.assign(Ge.formats.number,n.number),"date"in n&&Object.assign(Ge.formats.date,n.date),"time"in n&&Object.assign(Ge.formats.time,n.time)),Ne.set(i)}const Ve=ie(!1);var js=Object.defineProperty,Vs=Object.defineProperties,zs=Object.getOwnPropertyDescriptors,Hn=Object.getOwnPropertySymbols,Xs=Object.prototype.hasOwnProperty,Ws=Object.prototype.propertyIsEnumerable,Tn=(e,t,n)=>t in e?js(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,qs=(e,t)=>{for(var n in t||(t={}))Xs.call(t,n)&&Tn(e,n,t[n]);if(Hn)for(var n of Hn(t))Ws.call(t,n)&&Tn(e,n,t[n]);return e},Zs=(e,t)=>Vs(e,zs(t));let jt;const dt=ie(null);function An(e){return e.split("-").map((t,n,r)=>r.slice(0,n+1).join("-")).reverse()}function et(e,t=Oe().fallbackLocale){const n=An(e);return t?[...new Set([...n,...An(t)])]:n}function pe(){return jt??void 0}dt.subscribe(e=>{jt=e??void 0,typeof window<"u"&&e!=null&&document.documentElement.setAttribute("lang",e)});const Qs=e=>{if(e&&$s(e)&&mt(e)){const{loadingDelay:t}=Oe();let n;return typeof window<"u"&&pe()!=null&&t?n=window.setTimeout(()=>Ve.set(!0),t):Ve.set(!0),Nr(e).then(()=>{dt.set(e)}).finally(()=>{clearTimeout(n),Ve.set(!1)})}return dt.set(e)},Ne=Zs(qs({},dt),{set:Qs}),Js=()=>typeof window>"u"?null:window.navigator.language||window.navigator.languages[0],Et=e=>{const t=Object.create(null);return r=>{const i=JSON.stringify(r);return i in t?t[i]:t[i]=e(r)}};var Ys=Object.defineProperty,gt=Object.getOwnPropertySymbols,Mr=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,Bn=(e,t,n)=>t in e?Ys(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tn=(e,t)=>{for(var n in t||(t={}))Mr.call(t,n)&&Bn(e,n,t[n]);if(gt)for(var n of gt(t))Cr.call(t,n)&&Bn(e,n,t[n]);return e},Me=(e,t)=>{var n={};for(var r in e)Mr.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&>)for(var r of gt(e))t.indexOf(r)<0&&Cr.call(e,r)&&(n[r]=e[r]);return n};const Ke=(e,t)=>{const{formats:n}=Oe();if(e in n&&t in n[e])return n[e][t];throw new Error(`[svelte-i18n] Unknown "${t}" ${e} format.`)},Ks=Et(e=>{var t=e,{locale:n,format:r}=t,i=Me(t,["locale","format"]);if(n==null)throw new Error('[svelte-i18n] A "locale" must be set to format numbers');return r&&(i=Ke("number",r)),new Intl.NumberFormat(n,i)}),eo=Et(e=>{var t=e,{locale:n,format:r}=t,i=Me(t,["locale","format"]);if(n==null)throw new Error('[svelte-i18n] A "locale" must be set to format dates');return r?i=Ke("date",r):Object.keys(i).length===0&&(i=Ke("date","short")),new Intl.DateTimeFormat(n,i)}),to=Et(e=>{var t=e,{locale:n,format:r}=t,i=Me(t,["locale","format"]);if(n==null)throw new Error('[svelte-i18n] A "locale" must be set to format time values');return r?i=Ke("time",r):Object.keys(i).length===0&&(i=Ke("time","short")),new Intl.DateTimeFormat(n,i)}),no=(e={})=>{var t=e,{locale:n=pe()}=t,r=Me(t,["locale"]);return Ks(tn({locale:n},r))},ro=(e={})=>{var t=e,{locale:n=pe()}=t,r=Me(t,["locale"]);return eo(tn({locale:n},r))},io=(e={})=>{var t=e,{locale:n=pe()}=t,r=Me(t,["locale"]);return to(tn({locale:n},r))},so=Et((e,t=pe())=>new Pr(e,t,Oe().formats,{ignoreTag:Oe().ignoreTag})),oo=(e,t={})=>{var n,r,i,s;let o=t;typeof e=="object"&&(o=e,e=o.id);const{values:a,locale:l=pe(),default:u}=o;if(l==null)throw new Error("[svelte-i18n] Cannot format a message without first setting the initial locale.");let c=Lr(e,l);if(!c)c=(s=(i=(r=(n=Oe()).handleMissingMessage)==null?void 0:r.call(n,{locale:l,id:e,defaultValue:u}))!=null?i:u)!=null?s:e;else if(typeof c!="string")return console.warn(`[svelte-i18n] Message with id "${e}" must be of type "string", found: "${typeof c}". Gettin its value through the "$format" method is deprecated; use the "json" method instead.`),c;if(!a)return c;let h=c;try{h=so(c,l).format(a)}catch(f){f instanceof Error&&console.warn(`[svelte-i18n] Message "${e}" has syntax error:`,f.message)}return h},ao=(e,t)=>io(t).format(e),lo=(e,t)=>ro(t).format(e),uo=(e,t)=>no(t).format(e),co=(e,t=pe())=>Lr(e,t),ae=Pe([Ne,Le],()=>oo);Pe([Ne],()=>ao);Pe([Ne],()=>lo);Pe([Ne],()=>uo);Pe([Ne,Le],()=>co);const kr={en:"en","en-US":"en",ru:"ru","ru-RU":"ru"},$n="en",ho=[...new Set(Object.values(kr))];function fo(e){return kr[e]}const mo={en:"English",ru:"Русский"};async function go(e){return(await fetch(e)).json()}function po(e){Ms(e,()=>go(`locales/${e}.json`))}function _o(e){for(let t of e)po(t)}function bo(){me(J).locale===void 0&&J.set("locale",fo(Js())||$n),_o(ho),Fs({fallbackLocale:$n,initialLocale:me(J).locale})}function On(e,t,n){const r=e.slice();return r[5]=t[n],r}function In(e){let t,n=e[5].name+"",r,i;return{c(){t=v("option"),r=I(n),t.__value=i=e[5].value,ct(t,t.__value)},m(s,o){S(s,t,o),m(t,r)},p(s,o){o&4&&n!==(n=s[5].name+"")&&G(r,n),o&4&&i!==(i=s[5].value)&&(t.__value=i,ct(t,t.__value))},d(s){s&&E(t)}}}function vo(e){let t,n,r,i,s,o,a,l=se(e[2]),u=[];for(let c=0;ce[4].call(s))},m(c,h){S(c,t,h),m(t,n),m(t,r),S(c,i,h),S(c,s,h);for(let f=0;f{"title"in l&&n(1,r=l.title),"options"in l&&n(2,i=l.options),"value"in l&&n(0,s=l.value)},[s,r,i,o,a]}class Pn extends W{constructor(t){super(),X(this,t,yo,vo,z,{title:1,options:2,value:0})}}function Ln(e){let t,n=e[1]("settings.reload_required",{locale:e[2].locale})+"",r;return{c(){t=v("div"),r=I(n),_(t,"class","reload-required svelte-ma3q3m")},m(i,s){S(i,t,s),m(t,r)},p(i,s){s&6&&n!==(n=i[1]("settings.reload_required",{locale:i[2].locale})+"")&&G(r,n)},d(i){i&&E(t)}}}function wo(e){let t,n=e[1]("settings.title")+"",r,i,s,o,a,l,u,c,h,f,p,g=e[0]&&Ln(e);function y(d){e[5](d)}let w={title:e[1]("settings.theme.title"),options:e[3]};e[2].theme!==void 0&&(w.value=e[2].theme),a=new Pn({props:w}),Qe.push(()=>mn(a,"value",y));function $(d){e[6](d)}let P={title:e[1]("settings.language.title"),options:e[4]};return e[2].locale!==void 0&&(P.value=e[2].locale),h=new Pn({props:P}),Qe.push(()=>mn(h,"value",$)),h.$on("change",e[7]),{c(){t=v("h3"),r=I(n),i=B(),g&&g.c(),s=B(),o=v("div"),D(a.$$.fragment),u=B(),c=v("div"),D(h.$$.fragment)},m(d,b){S(d,t,b),m(t,r),S(d,i,b),g&&g.m(d,b),S(d,s,b),S(d,o,b),C(a,o,null),S(d,u,b),S(d,c,b),C(h,c,null),p=!0},p(d,[b]){(!p||b&2)&&n!==(n=d[1]("settings.title")+"")&&G(r,n),d[0]?g?g.p(d,b):(g=Ln(d),g.c(),g.m(s.parentNode,s)):g&&(g.d(1),g=null);const O={};b&2&&(O.title=d[1]("settings.theme.title")),!l&&b&4&&(l=!0,O.value=d[2].theme,hn(()=>l=!1)),a.$set(O);const j={};b&2&&(j.title=d[1]("settings.language.title")),!f&&b&4&&(f=!0,j.value=d[2].locale,hn(()=>f=!1)),h.$set(j)},i(d){p||(x(a.$$.fragment,d),x(h.$$.fragment,d),p=!0)},o(d){A(a.$$.fragment,d),A(h.$$.fragment,d),p=!1},d(d){d&&(E(t),E(i),E(s),E(o),E(u),E(c)),g&&g.d(d),k(a),k(h)}}}function Eo(e,t,n){let r,i;F(e,ae,h=>n(1,r=h)),F(e,J,h=>n(2,i=h));let s=!1,o=["light","dark","system"].map(h=>({value:h,name:r("settings.theme."+h)})),a=Object.entries(mo).map(h=>({value:h[0],name:h[1]}));function l(h){e.$$.not_equal(i.theme,h)&&(i.theme=h,J.set(i))}function u(h){e.$$.not_equal(i.locale,h)&&(i.locale=h,J.set(i))}return[s,r,i,o,a,l,u,()=>n(0,s=!0)]}let xo=class extends W{constructor(t){super(),X(this,t,Eo,wo,z,{})}};function So(e){let t,n='',r=[{viewBox:"0 0 24 24"},{width:"1.2em"},{height:"1.2em"},e[0]],i={};for(let s=0;s{n(0,t=ee(ee({},t),de(r)))},t=de(t),[t]}class To extends W{constructor(t){super(),X(this,t,Ho,So,z,{})}}function Ao(e){let t,n='',r=[{viewBox:"0 0 24 24"},{width:"1.2em"},{height:"1.2em"},e[0]],i={};for(let s=0;s{n(0,t=ee(ee({},t),de(r)))},t=de(t),[t]}class $o extends W{constructor(t){super(),X(this,t,Bo,Ao,z,{})}}function Oo(e){let t,n,r,i=e[1].current_city.name+"",s,o,a,l,u,c,h,f,p,g,y,w,$;u=new To({props:{width:"30",height:"30"}}),p=new $o({props:{width:"30",height:"30"}});const P=e[3].default,d=ze(P,e,e[2],null);return{c(){t=v("div"),n=v("div"),r=v("h4"),s=I(i),o=B(),a=v("div"),l=v("a"),D(u.$$.fragment),h=B(),f=v("a"),D(p.$$.fragment),g=B(),d&&d.c(),_(r,"class","city svelte-11xorlr"),_(l,"href",c=e[0]?"/":"/settings"),_(l,"class","settings svelte-11xorlr"),_(l,"alt","settings toggle"),_(f,"href","https://github.com/istudyatuni/weather-site"),_(f,"alt","github"),_(f,"class","github svelte-11xorlr"),_(a,"class","inline svelte-11xorlr"),_(n,"class","inline svelte-11xorlr"),_(t,"class","grid-item svelte-11xorlr")},m(b,O){S(b,t,O),m(t,n),m(n,r),m(r,s),m(n,o),m(n,a),m(a,l),C(u,l,null),m(a,h),m(a,f),C(p,f,null),m(t,g),d&&d.m(t,null),y=!0,w||($=K(l,"click",e[4]),w=!0)},p(b,[O]){(!y||O&2)&&i!==(i=b[1].current_city.name+"")&&G(s,i),(!y||O&1&&c!==(c=b[0]?"/":"/settings"))&&_(l,"href",c),d&&d.p&&(!y||O&4)&&We(d,P,b,b[2],y?Xe(P,b[2],O,null):qe(b[2]),null)},i(b){y||(x(u.$$.fragment,b),x(p.$$.fragment,b),x(d,b),y=!0)},o(b){A(u.$$.fragment,b),A(p.$$.fragment,b),A(d,b),y=!1},d(b){b&&E(t),k(u),k(p),d&&d.d(b),w=!1,$()}}}function Io(e,t,n){let r;F(e,J,l=>n(1,r=l));let{$$slots:i={},$$scope:s}=t,o=!0;const a=()=>n(0,o=!o);return e.$$set=l=>{"$$scope"in l&&n(2,s=l.$$scope)},[o,r,s,i,a]}class Po extends W{constructor(t){super(),X(this,t,Io,Oo,z,{})}}function Nn(e){let t;return{c(){t=v("center"),t.innerHTML='

Loading...

'},m(n,r){S(n,t,r)},d(n){n&&E(t)}}}function Lo(e){let t,n=(e[0]||e[1])&&Nn();return{c(){n&&n.c(),t=we()},m(r,i){n&&n.m(r,i),S(r,t,i)},p(r,[i]){r[0]||r[1]?n||(n=Nn(),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:N,o:N,d(r){r&&E(t),n&&n.d(r)}}}function No(e,t,n){let r,i;return F(e,Ve,s=>n(0,r=s)),F(e,Mt,s=>n(1,i=s)),[r,i]}class Mo extends W{constructor(t){super(),X(this,t,No,Lo,z,{})}}const Co=["n","ne","e","se","s","sw","w","nw"];function Mn(e){return Co[Math.round(e/45)%8]}const ko=e=>({}),Cn=e=>({});function Ro(e){let t,n,r,i,s;const o=e[2].under,a=ze(o,e,e[1],Cn);return{c(){t=v("div"),a&&a.c(),n=B(),r=v("div"),i=I(e[0]),_(r,"class","text svelte-1s5o2o4"),_(t,"class","tooltip svelte-1s5o2o4")},m(l,u){S(l,t,u),a&&a.m(t,null),m(t,n),m(t,r),m(r,i),s=!0},p(l,[u]){a&&a.p&&(!s||u&2)&&We(a,o,l,l[1],s?Xe(o,l[1],u,ko):qe(l[1]),Cn),(!s||u&1)&&G(i,l[0])},i(l){s||(x(a,l),s=!0)},o(l){A(a,l),s=!1},d(l){l&&E(t),a&&a.d(l)}}}function Do(e,t,n){let{$$slots:r={},$$scope:i}=t,{text:s=""}=t;return e.$$set=o=>{"text"in o&&n(0,s=o.text),"$$scope"in o&&n(1,i=o.$$scope)},[s,i,r]}class Uo extends W{constructor(t){super(),X(this,t,Do,Ro,z,{text:0})}}function Go(e){let t,n='',r=[{viewBox:"0 0 24 24"},{width:"1.2em"},{height:"1.2em"},e[0]],i={};for(let s=0;s{n(0,t=ee(ee({},t),de(r)))},t=de(t),[t]}class jo extends W{constructor(t){super(),X(this,t,Fo,Go,z,{})}}const Vo=e=>({}),kn=e=>({}),zo=e=>({}),Rn=e=>({});function Dn(e){let t,n,r;return n=new Uo({props:{text:e[1],$$slots:{under:[Xo]},$$scope:{ctx:e}}}),{c(){t=v("span"),D(n.$$.fragment),_(t,"class","help svelte-rgi477")},m(i,s){S(i,t,s),C(n,t,null),r=!0},p(i,s){const o={};s&2&&(o.text=i[1]),s&8&&(o.$$scope={dirty:s,ctx:i}),n.$set(o)},i(i){r||(x(n.$$.fragment,i),r=!0)},o(i){A(n.$$.fragment,i),r=!1},d(i){i&&E(t),k(n)}}}function Xo(e){let t,n;return t=new jo({props:{slot:"under",width:"20",height:"20"}}),{c(){D(t.$$.fragment)},m(r,i){C(t,r,i),n=!0},p:N,i(r){n||(x(t.$$.fragment,r),n=!0)},o(r){A(t.$$.fragment,r),n=!1},d(r){k(t,r)}}}function Wo(e){let t,n,r,i,s,o,a,l,u,c,h=e[1]&&Dn(e);const f=e[2].value,p=ze(f,e,e[3],Rn),g=e[2].content,y=ze(g,e,e[3],kn);return{c(){t=v("div"),n=v("p"),r=v("span"),i=I(e[0]),s=B(),h&&h.c(),o=B(),a=v("div"),l=v("p"),p&&p.c(),u=B(),y&&y.c(),_(n,"class","title svelte-rgi477"),_(l,"class","value svelte-rgi477"),_(a,"class","data svelte-rgi477"),_(t,"class","wrapper svelte-rgi477")},m(w,$){S(w,t,$),m(t,n),m(n,r),m(r,i),m(n,s),h&&h.m(n,null),m(t,o),m(t,a),m(a,l),p&&p.m(l,null),m(a,u),y&&y.m(a,null),c=!0},p(w,[$]){(!c||$&1)&&G(i,w[0]),w[1]?h?(h.p(w,$),$&2&&x(h,1)):(h=Dn(w),h.c(),x(h,1),h.m(n,null)):h&&(ce(),A(h,1,1,()=>{h=null}),he()),p&&p.p&&(!c||$&8)&&We(p,f,w,w[3],c?Xe(f,w[3],$,zo):qe(w[3]),Rn),y&&y.p&&(!c||$&8)&&We(y,g,w,w[3],c?Xe(g,w[3],$,Vo):qe(w[3]),kn)},i(w){c||(x(h),x(p,w),x(y,w),c=!0)},o(w){A(h),A(p,w),A(y,w),c=!1},d(w){w&&E(t),h&&h.d(),p&&p.d(w),y&&y.d(w)}}}function qo(e,t,n){let{$$slots:r={},$$scope:i}=t,{title:s,help:o}=t;return e.$$set=a=>{"title"in a&&n(0,s=a.title),"help"in a&&n(1,o=a.help),"$$scope"in a&&n(3,i=a.$$scope)},[s,o,r,i]}class Ce extends W{constructor(t){super(),X(this,t,qo,Wo,z,{title:0,help:1})}}function Zo(e){let t,n='',r=[{viewBox:"0 0 24 24"},{width:"1.2em"},{height:"1.2em"},e[0]],i={};for(let s=0;s{n(0,t=ee(ee({},t),de(r)))},t=de(t),[t]}class Jo extends W{constructor(t){super(),X(this,t,Qo,Zo,z,{})}}function Yo(e){let t,n=(e[0]??"-.-")+"",r,i,s,o=e[3]("highlights.measure.m_in_s")+"",a;return{c(){t=v("div"),r=I(n),i=B(),s=v("span"),a=I(o),_(s,"class","measure"),_(t,"slot","value")},m(l,u){S(l,t,u),m(t,r),m(t,i),m(t,s),m(s,a)},p(l,u){u&1&&n!==(n=(l[0]??"-.-")+"")&&G(r,n),u&8&&o!==(o=l[3]("highlights.measure.m_in_s")+"")&&G(a,o)},d(l){l&&E(t)}}}function Ko(e){let t;return{c(){t=I("--")},m(n,r){S(n,t,r)},p:N,d(n){n&&E(t)}}}function ea(e){let t=e[3]("highlights.compass_directions."+Mn(e[1]))+"",n;return{c(){n=I(t)},m(r,i){S(r,n,i)},p(r,i){i&10&&t!==(t=r[3]("highlights.compass_directions."+Mn(r[1]))+"")&&G(n,t)},d(r){r&&E(n)}}}function ta(e){let t,n,r,i,s;n=new Jo({props:{style:`transform: rotate(${e[2]}deg);`,alt:"",width:"30",height:"30"}});function o(u,c){return u[1]!==void 0?ea:Ko}let a=o(e),l=a(e);return{c(){t=v("div"),D(n.$$.fragment),r=B(),i=v("span"),l.c(),_(i,"class","wind-dir svelte-ks2vty"),_(t,"class","dir-wrapper svelte-ks2vty"),_(t,"slot","content")},m(u,c){S(u,t,c),C(n,t,null),m(t,r),m(t,i),l.m(i,null),s=!0},p(u,c){const h={};c&4&&(h.style=`transform: rotate(${u[2]}deg);`),n.$set(h),a===(a=o(u))&&l?l.p(u,c):(l.d(1),l=a(u),l&&(l.c(),l.m(i,null)))},i(u){s||(x(n.$$.fragment,u),s=!0)},o(u){A(n.$$.fragment,u),s=!1},d(u){u&&E(t),k(n),l.d()}}}function na(e){let t,n;return t=new Ce({props:{title:e[3]("highlights.wind_status"),$$slots:{content:[ta],value:[Yo]},$$scope:{ctx:e}}}),{c(){D(t.$$.fragment)},m(r,i){C(t,r,i),n=!0},p(r,[i]){const s={};i&8&&(s.title=r[3]("highlights.wind_status")),i&31&&(s.$$scope={dirty:i,ctx:r}),t.$set(s)},i(r){n||(x(t.$$.fragment,r),n=!0)},o(r){A(t.$$.fragment,r),n=!1},d(r){k(t,r)}}}function ra(e,t,n){let r,i;F(e,ae,a=>n(3,i=a));let{speed:s,deg:o}=t;return e.$$set=a=>{"speed"in a&&n(0,s=a.speed),"deg"in a&&n(1,o=a.deg)},e.$$.update=()=>{e.$$.dirty&2&&n(2,r=135+o)},[s,o,r,i]}class ia extends W{constructor(t){super(),X(this,t,ra,na,z,{speed:0,deg:1})}}function sa(e){let t=(e[0]??"-.-")+"",n,r,i,s=e[2](`highlights.measure.${e[1]}`)+"",o;return{c(){n=I(t),r=B(),i=v("span"),o=I(s),_(i,"class","measure")},m(a,l){S(a,n,l),S(a,r,l),S(a,i,l),m(i,o)},p(a,l){l&1&&t!==(t=(a[0]??"-.-")+"")&&G(n,t),l&6&&s!==(s=a[2](`highlights.measure.${a[1]}`)+"")&&G(o,s)},d(a){a&&(E(n),E(r),E(i))}}}function oa(e){let t,n;return t=new Ce({props:{title:e[2]("highlights.visibility"),$$slots:{value:[sa]},$$scope:{ctx:e}}}),{c(){D(t.$$.fragment)},m(r,i){C(t,r,i),n=!0},p(r,[i]){const s={};i&4&&(s.title=r[2]("highlights.visibility")),i&39&&(s.$$scope={dirty:i,ctx:r}),t.$set(s)},i(r){n||(x(t.$$.fragment,r),n=!0)},o(r){A(t.$$.fragment,r),n=!1},d(r){k(t,r)}}}function aa(e,t,n){let r,i,s,o;F(e,ae,l=>n(2,o=l));let{meters:a}=t;return e.$$set=l=>{"meters"in l&&n(3,a=l.meters)},e.$$.update=()=>{e.$$.dirty&8&&n(4,r=(a??0)>=1e3),e.$$.dirty&16&&n(1,i=r?"km":"m"),e.$$.dirty&24&&n(0,s=r?a/1e3:a)},[s,i,o,a,r]}class la extends W{constructor(t){super(),X(this,t,aa,oa,z,{meters:3})}}function ua(e){let t,n,r,i,s,o,a,l,u;return{c(){t=v("div"),n=v("div"),r=v("div"),i=I(e[0]),s=B(),o=v("div"),a=B(),l=v("div"),_(r,"class","value svelte-objgg8"),_(o,"class","pointer svelte-objgg8"),_(n,"class","icon svelte-objgg8"),Pt(n,"margin-left",e[0]*e[2]+"px"),_(l,"class","bar svelte-objgg8"),_(t,"slot","content"),_(t,"class","wrapper svelte-objgg8"),Je(()=>e[4].call(t))},m(c,h){S(c,t,h),m(t,n),m(n,r),m(r,i),m(n,s),m(n,o),m(t,a),m(t,l),u=ei(t,e[4].bind(t))},p(c,h){h&1&&G(i,c[0]),h&5&&Pt(n,"margin-left",c[0]*c[2]+"px")},d(c){c&&E(t),u()}}}function ca(e){let t,n;return t=new Ce({props:{title:e[3]("highlights.uv_index.title"),help:e[3]("highlights.uv_index.help"),$$slots:{content:[ua]},$$scope:{ctx:e}}}),{c(){D(t.$$.fragment)},m(r,i){C(t,r,i),n=!0},p(r,[i]){const s={};i&8&&(s.title=r[3]("highlights.uv_index.title")),i&8&&(s.help=r[3]("highlights.uv_index.help")),i&39&&(s.$$scope={dirty:i,ctx:r}),t.$set(s)},i(r){n||(x(t.$$.fragment,r),n=!0)},o(r){A(t.$$.fragment,r),n=!1},d(r){k(t,r)}}}function ha(e,t,n){let r,i;F(e,ae,l=>n(3,i=l));let{uv:s=0}=t,o=0;function a(){o=this.clientWidth,n(1,o)}return e.$$set=l=>{"uv"in l&&n(0,s=l.uv)},e.$$.update=()=>{e.$$.dirty&2&&n(2,r=o/11)},[s,o,r,i,a]}class fa extends W{constructor(t){super(),X(this,t,ha,ca,z,{uv:0})}}function ma(e){let t,n,r,i=e[2]("highlights.sun.sunrise")+"",s,o,a,l=(e[0]?Ue(e[0]):"--:--")+"",u,c,h,f,p=e[2]("highlights.sun.sunset")+"",g,y,w,$=(e[1]?Ue(e[1]):"--:--")+"",P;return{c(){t=v("div"),n=v("p"),r=v("span"),s=I(i),o=I(":"),a=B(),u=I(l),c=B(),h=v("p"),f=v("span"),g=I(p),y=I(":"),w=B(),P=I($),_(r,"class","svelte-2f7yy4"),_(n,"class","time svelte-2f7yy4"),_(f,"class","svelte-2f7yy4"),_(h,"class","time svelte-2f7yy4"),_(t,"slot","content")},m(d,b){S(d,t,b),m(t,n),m(n,r),m(r,s),m(r,o),m(n,a),m(n,u),m(t,c),m(t,h),m(h,f),m(f,g),m(f,y),m(h,w),m(h,P)},p(d,b){b&4&&i!==(i=d[2]("highlights.sun.sunrise")+"")&&G(s,i),b&1&&l!==(l=(d[0]?Ue(d[0]):"--:--")+"")&&G(u,l),b&4&&p!==(p=d[2]("highlights.sun.sunset")+"")&&G(g,p),b&2&&$!==($=(d[1]?Ue(d[1]):"--:--")+"")&&G(P,$)},d(d){d&&E(t)}}}function da(e){let t,n;return t=new Ce({props:{title:e[2]("highlights.sun.title"),$$slots:{content:[ma]},$$scope:{ctx:e}}}),{c(){D(t.$$.fragment)},m(r,i){C(t,r,i),n=!0},p(r,[i]){const s={};i&4&&(s.title=r[2]("highlights.sun.title")),i&15&&(s.$$scope={dirty:i,ctx:r}),t.$set(s)},i(r){n||(x(t.$$.fragment,r),n=!0)},o(r){A(t.$$.fragment,r),n=!1},d(r){k(t,r)}}}function ga(e,t,n){let r;F(e,ae,o=>n(2,r=o));let{sunrise:i,sunset:s}=t;return e.$$set=o=>{"sunrise"in o&&n(0,i=o.sunrise),"sunset"in o&&n(1,s=o.sunset)},[i,s,r]}class pa extends W{constructor(t){super(),X(this,t,ga,da,z,{sunrise:0,sunset:1})}}function _a(e){let t=(e[0]??"--")+"",n,r,i;return{c(){n=I(t),r=B(),i=v("span"),i.textContent="%",_(i,"class","measure")},m(s,o){S(s,n,o),S(s,r,o),S(s,i,o)},p(s,o){o&1&&t!==(t=(s[0]??"--")+"")&&G(n,t)},d(s){s&&(E(n),E(r),E(i))}}}function ba(e){let t,n;return t=new Ce({props:{title:e[1]("highlights.humidity.title"),help:e[1]("highlights.humidity.help"),$$slots:{value:[_a]},$$scope:{ctx:e}}}),{c(){D(t.$$.fragment)},m(r,i){C(t,r,i),n=!0},p(r,[i]){const s={};i&2&&(s.title=r[1]("highlights.humidity.title")),i&2&&(s.help=r[1]("highlights.humidity.help")),i&5&&(s.$$scope={dirty:i,ctx:r}),t.$set(s)},i(r){n||(x(t.$$.fragment,r),n=!0)},o(r){A(t.$$.fragment,r),n=!1},d(r){k(t,r)}}}function va(e,t,n){let r;F(e,ae,s=>n(1,r=s));let{percentage:i}=t;return e.$$set=s=>{"percentage"in s&&n(0,i=s.percentage)},[i,r]}class ya extends W{constructor(t){super(),X(this,t,va,ba,z,{percentage:0})}}function wa(e){let t,n;return t=new Ce({props:{title:e[0]("highlights.air_quality")}}),{c(){D(t.$$.fragment)},m(r,i){C(t,r,i),n=!0},p(r,[i]){const s={};i&1&&(s.title=r[0]("highlights.air_quality")),t.$set(s)},i(r){n||(x(t.$$.fragment,r),n=!0)},o(r){A(t.$$.fragment,r),n=!1},d(r){k(t,r)}}}function Ea(e,t,n){let r;return F(e,ae,i=>n(0,r=i)),[r]}class xa extends W{constructor(t){super(),X(this,t,Ea,wa,z,{})}}function Sa(e){var P,d,b,O,j;let t,n=e[1]("highlights.title")+"",r,i,s,o,a,l,u,c,h,f,p,g,y,w,$;return o=new ia({props:{speed:(P=e[0].wind)==null?void 0:P.speed,deg:(d=e[0].wind)==null?void 0:d.deg}}),l=new pa({props:{sunrise:(b=e[0])==null?void 0:b.sunrise,sunset:(O=e[0])==null?void 0:O.sunset}}),c=new ya({props:{percentage:(j=e[0].main)==null?void 0:j.humidity}}),f=new la({props:{meters:e[0].visibility}}),g=new fa({props:{uv:e[0].uv_index}}),w=new xa({}),{c(){t=v("h3"),r=I(n),i=B(),s=v("div"),D(o.$$.fragment),a=B(),D(l.$$.fragment),u=B(),D(c.$$.fragment),h=B(),D(f.$$.fragment),p=B(),D(g.$$.fragment),y=B(),D(w.$$.fragment),_(s,"class","grid svelte-1y0h5cp")},m(H,R){S(H,t,R),m(t,r),S(H,i,R),S(H,s,R),C(o,s,null),m(s,a),C(l,s,null),m(s,u),C(c,s,null),m(s,h),C(f,s,null),m(s,p),C(g,s,null),m(s,y),C(w,s,null),$=!0},p(H,[R]){var Y,ke,Re,Z,te;(!$||R&2)&&n!==(n=H[1]("highlights.title")+"")&&G(r,n);const T={};R&1&&(T.speed=(Y=H[0].wind)==null?void 0:Y.speed),R&1&&(T.deg=(ke=H[0].wind)==null?void 0:ke.deg),o.$set(T);const q={};R&1&&(q.sunrise=(Re=H[0])==null?void 0:Re.sunrise),R&1&&(q.sunset=(Z=H[0])==null?void 0:Z.sunset),l.$set(q);const _e={};R&1&&(_e.percentage=(te=H[0].main)==null?void 0:te.humidity),c.$set(_e);const le={};R&1&&(le.meters=H[0].visibility),f.$set(le);const Ee={};R&1&&(Ee.uv=H[0].uv_index),g.$set(Ee)},i(H){$||(x(o.$$.fragment,H),x(l.$$.fragment,H),x(c.$$.fragment,H),x(f.$$.fragment,H),x(g.$$.fragment,H),x(w.$$.fragment,H),$=!0)},o(H){A(o.$$.fragment,H),A(l.$$.fragment,H),A(c.$$.fragment,H),A(f.$$.fragment,H),A(g.$$.fragment,H),A(w.$$.fragment,H),$=!1},d(H){H&&(E(t),E(i),E(s)),k(o),k(l),k(c),k(f),k(g),k(w)}}}function Ha(e,t,n){let r,i,s;return F(e,ye,o=>n(2,i=o)),F(e,ae,o=>n(1,s=o)),e.$$.update=()=>{var o;e.$$.dirty&4&&n(0,r=((o=i==null?void 0:i.current)==null?void 0:o.content)||{})},[r,s,i]}class Ta extends W{constructor(t){super(),X(this,t,Ha,Sa,z,{})}}const nn=new Headers;nn.append("cache-control","no-cache");nn.append("pragma","no-cache");async function Aa(){return await(await fetch("version.txt",{headers:nn})).text()}function Un(e,t,n){const r=e.slice();return r[3]=t[n],r[5]=n,r}function Gn(e,t,n){const r=e.slice();return r[6]=t[n][0],r[7]=t[n][1],r}function Ba(e){return{c:N,m:N,d:N}}function $a(e){let t;return{c(){t=v("pre"),t.textContent=`Current version build time: ${e[10]}`},m(n,r){S(n,t,r)},d(n){n&&E(t)}}}function Oa(e){return{c:N,m:N,d:N}}function Fn(e,t){let n,r,i=t[6]+"",s,o,a=JSON.stringify(t[7])+"",l,u;return{key:e,first:null,c(){n=v("li"),r=v("code"),s=I(i),o=I(": "),l=I(a),u=B(),_(r,"class","svelte-9yr7a"),_(n,"class","svelte-9yr7a"),this.first=n},m(c,h){S(c,n,h),m(n,r),m(r,s),m(r,o),m(r,l),m(n,u)},p(c,h){t=c,h&1&&i!==(i=t[6]+"")&&G(s,i),h&1&&a!==(a=JSON.stringify(t[7])+"")&&G(l,a)},d(c){c&&E(n)}}}function jn(e,t){let n,r,i=decodeURI(t[3])+"",s,o;return{key:e,first:null,c(){n=v("li"),r=v("code"),s=I(i),o=B(),_(r,"class","svelte-9yr7a"),_(n,"class","svelte-9yr7a"),this.first=n},m(a,l){S(a,n,l),m(n,r),m(r,s),m(n,o)},p(a,l){t=a,l&2&&i!==(i=decodeURI(t[3])+"")&&G(s,i)},d(a){a&&E(n)}}}function Ia(e){let t,n,r,i,s,o=[],a=new Map,l,u,c,h,f=[],p=new Map,g={ctx:e,current:null,token:null,hasCatch:!1,pending:Oa,then:$a,catch:Ba,value:10};ci(Aa(),g);let y=se(e[0]);const w=d=>d[6];for(let d=0;dd[5];for(let d=0;d<$.length;d+=1){let b=Un(e,$,d),O=P(b);p.set(O,f[d]=jn(O,b))}return{c(){t=v("div"),g.block.c(),n=B(),r=v("h4"),r.innerHTML="
LocalStorage.settings:
",i=B(),s=v("ul");for(let d=0;dLog:",c=B(),h=v("ul");for(let d=0;dt,g.anchor=n,m(t,n),m(t,r),m(t,i),m(t,s);for(let O=0;On(2,i=o)),F(e,mr,o=>n(1,s=o)),e.$$.update=()=>{e.$$.dirty&4&&n(0,r=Object.entries(i))},[r,s,i]}class La extends W{constructor(t){super(),X(this,t,Pa,Ia,z,{})}}function Na(){return me(J).locale}function Ma(){return new Date().toLocaleDateString(Na(),{weekday:"long"})}const Ca={"01d":"weather_sun_sunny_temperature","01n":"weather_night_moon_moonlight","02d":"clouds_sun_sunny_weather","02n":"moon_weather_clouds_cloudy","03d":"clouds_sun_sunny_weather","03n":"moon_weather_clouds_cloudy","04d":"cloudy_weather_clouds_cloud","04n":"cloudy_weather_clouds_cloud","09d":"rain_cloud_drizzel_weather","09n":"rain_cloud_drizzel_weather","10d":"rain_storm_shower_weather","10n":"rain_storm_shower_weather","11d":"storm_weather_night_clouds","11n":"storm_weather_night_clouds","13d":"winter_snowflake_christmas_xmas_weather_snow","13n":"moon_weather_snow_night","50d":"foggy_weather_fog_clouds_cloudy","50n":"foggy_weather_fog_clouds_cloudy"},ka={0:"01",1:"02",2:"03",3:"04",45:"50",48:"50",51:"50",53:"50",55:"50",56:"50",57:"50",61:"09",63:"09",65:"10",66:"09",67:"10",71:"13",73:"13",75:"13",77:"13",80:"10",81:"10",82:"10",85:"13",86:"13",95:"11",96:"11",99:"11"};function Vn(e){return`icons/weather-icons/32/${Ca[e]}.svg`}function Ra(e,t){let n=t?"d":"n";return ka[e]+n}function Da(e){let t,n,r,i=e[0].name+"",s,o,a,l,u,c=(e[0].admin||"")+"",h,f,p;return{c(){t=v("div"),n=v("div"),r=v("span"),s=I(i),o=B(),a=v("span"),a.textContent="×",l=B(),u=v("div"),h=I(c),_(a,"role","button"),_(a,"tabindex","0"),_(a,"class","svelte-7wu9tj"),cn(a,"hidden",!e[1]),_(n,"class","flex svelte-7wu9tj"),_(u,"class","details svelte-7wu9tj"),_(t,"class","outer svelte-7wu9tj"),_(t,"role","button"),_(t,"tabindex","0")},m(g,y){S(g,t,y),m(t,n),m(n,r),m(r,s),m(n,o),m(n,a),m(t,l),m(t,u),m(u,h),f||(p=[K(a,"click",ln(e[3])),K(a,"keypress",ln(e[3])),K(t,"click",e[2]),K(t,"keypress",e[2])],f=!0)},p(g,[y]){y&1&&i!==(i=g[0].name+"")&&G(s,i),y&2&&cn(a,"hidden",!g[1]),y&1&&c!==(c=(g[0].admin||"")+"")&&G(h,c)},i:N,o:N,d(g){g&&E(t),f=!1,oe(p)}}}function Ua(e,t,n){let{city:r={},allow_delete:i=!1}=t;const s=ri();function o(u){return c=>{c.type==="keypress"&&c.code!=="Enter"||s(u,r)}}let a=o("select"),l=o("deletion");return e.$$set=u=>{"city"in u&&n(0,r=u.city),"allow_delete"in u&&n(1,i=u.allow_delete)},[r,i,a,l]}class Rr extends W{constructor(t){super(),X(this,t,Ua,Da,z,{city:0,allow_delete:1})}}function Dr(e){me(ft)&&mr.update(t=>[...t,e])}const Ga="https://geocoding-api.open-meteo.com/v1/search",Fa=5;async function ja(e,t=Fa){const n=new URLSearchParams;n.set("count",t),n.set("language",me(J).locale),n.set("name",e);const r=await fetch(Ga+"?"+n.toString());Dr(r.url);const i=await r.json();r.ok?i.results!==void 0&&ye.set("geocoding",Va(i.results)):(i.error===!0&&console.error("error quering geocoding api:",i.reason),console.error("error quering geocoding api"))}function Va(e){return e.map(t=>{let n={id:t.id,name:[t.name,t.country].filter(r=>(r??"")!=="").join(", "),lat:t.latitude,lon:t.longitude};return t.admin1!==void 0&&t.admin1!==t.name&&(n.admin=t.admin1),n})}const za="https://api.open-meteo.com/v1/forecast",Xa=20,Wa={current:["temperature_2m","relativehumidity_2m","is_day","weathercode","windspeed_10m","winddirection_10m"],hourly:["visibility"],daily:["sunrise","sunset","uv_index_max"],windspeed_unit:"ms",forecast_days:1};async function Ur(e=!1){var o,a;const t=new Date;if(!e&&((a=(o=me(ye))==null?void 0:o.current)==null?void 0:a.until)>t.getTime())return;const n=me(J),r=new URLSearchParams;r.set("latitude",n.current_city.lat),r.set("longitude",n.current_city.lon),r.set("timezone",n.tz);for(let[l,u]of Object.entries(Wa))r.set(l,u);const i=await fetch(za+"?"+r.toString());Dr(i.url);const s=await i.json();i.ok?(t.setMinutes(t.getMinutes()+Xa),ye.set("current",{content:qa(s),until:t.getTime()})):(alert(s.message),s.message==="city not found"&&J.delete("current_city"))}function qa(e){let t=new Date().getHours();return{weather:{weathercode:e.current.weathercode,icon:Ra(e.current.weathercode,e.current.is_day)},main:{temp:e.current.temperature_2m,humidity:e.current.relativehumidity_2m},visibility:e.hourly.visibility[t],wind:{speed:e.current.windspeed_10m,deg:e.current.winddirection_10m},sunrise:e.daily.sunrise[0],sunset:e.daily.sunset[0],uv_index:e.daily.uv_index_max[0]}}function zn(e,t,n){const r=e.slice();return r[22]=t[n],r[24]=n,r}function Xn(e,t,n){const r=e.slice();return r[22]=t[n],r[24]=n,r}function Wn(e){let t,n,r,i,s;const o=[Qa,Za],a=[];function l(u,c){return c&128&&(t=null),t==null&&(t=!!Array.isArray(u[7].geocoding)),t?0:1}return n=l(e,-1),r=a[n]=o[n](e),{c(){r.c(),i=we()},m(u,c){a[n].m(u,c),S(u,i,c),s=!0},p(u,c){let h=n;n=l(u,c),n===h?a[n].p(u,c):(ce(),A(a[h],1,1,()=>{a[h]=null}),he(),r=a[n],r?r.p(u,c):(r=a[n]=o[n](u),r.c()),x(r,1),r.m(i.parentNode,i))},i(u){s||(x(r),s=!0)},o(u){A(r),s=!1},d(u){u&&E(i),a[n].d(u)}}}function Za(e){let t,n=e[6]("search_city.no_cities_found")+"",r;return{c(){t=v("div"),r=I(n),_(t,"class","no-cities-found svelte-194tzog")},m(i,s){S(i,t,s),m(t,r)},p(i,s){s&64&&n!==(n=i[6]("search_city.no_cities_found")+"")&&G(r,n)},i:N,o:N,d(i){i&&E(t)}}}function Qa(e){let t,n=[],r=new Map,i,s=se(e[7].geocoding);const o=a=>a[24];for(let a=0;aa[24];for(let a=0;a{c=null}),he()),p&14&&(s=f[3]&&!f[2]&&Array.isArray(f[1].searches)),s?h?(h.p(f,p),p&14&&x(h,1)):(h=Zn(f),h.c(),x(h,1),h.m(o.parentNode,o)):h&&(ce(),A(h,1,1,()=>{h=null}),he())},i(f){a||(x(c),x(h),a=!0)},o(f){A(c),A(h),a=!1},d(f){f&&(E(t),E(r),E(i),E(o)),e[12](null),c&&c.d(f),h&&h.d(f),l=!1,oe(u)}}}const Jn=5;function Ya(e,t,n){let r,i,s,o,a;F(e,Ht,T=>n(1,i=T)),F(e,ft,T=>n(17,s=T)),F(e,ae,T=>n(6,o=T)),F(e,ye,T=>n(7,a=T));let l="",u=!1,c=!1,h=null;function f(){h.focus()}async function p(){ye.set("geocoding",{}),await ja(l.trim()),n(2,u=!0)}function g(T){if(!((T.code===""?T.key:T.code)!=="Enter"||l.trim()==="")){if(l==="debug"){ft.set(!s);return}p()}}function y(T){let{lat:q,lon:_e,name:le}=T.detail;J.set("current_city",{lat:q,lon:_e,name:le}),Ur(!0),d(),$(l),n(0,l="")}function w(T){n(0,l=T.detail.name),f(),d(),p()}function $(T){i.searches.find(q=>q.name===T)===void 0&&(i.searches.unshift({name:T}),Ht.set("searches",i.searches))}function P(T){Ht.set("searches",i.searches.filter(q=>q.name!==T))}function d(){n(2,u=!1),n(3,c=!1)}function b(T){Qe[T?"unshift":"push"](()=>{h=T,n(4,h)})}function O(){l=this.value,n(0,l)}const j=()=>n(3,c=!0),H=()=>n(3,c=!0),R=T=>P(T.detail.name);return e.$$.update=()=>{e.$$.dirty&3&&n(5,r=i.searches.filter(({name:T})=>T.startsWith(l)))},[l,i,u,c,h,r,o,a,g,y,w,P,b,O,j,H,R]}class Ka extends W{constructor(t){super(),X(this,t,Ya,Ja,z,{})}}function el(e){var ke,Re;let t,n,r,i,s,o,a,l,u,c=(((Re=(ke=e[0])==null?void 0:ke.main)==null?void 0:Re.temp)??"-.-")+"",h,f,p,g,y,w=Ma()+"",$,P,d,b,O,j,H,R,T,q,_e,le,Ee,Y;return n=new Ka({}),{c(){t=v("div"),D(n.$$.fragment),r=B(),i=v("div"),s=v("img"),a=B(),l=v("div"),u=v("p"),h=I(c),f=I(` + °`),p=v("span"),p.textContent="C",g=B(),y=v("p"),$=I(w),P=v("span"),d=I(", "),b=I(e[3]),O=B(),j=v("hr"),H=B(),R=v("div"),T=v("img"),_e=B(),le=v("p"),Ee=I(e[2]),_(s,"class","big-icon svelte-ogld07"),nt(s.src,o=Vn(e[0].weather.icon))||_(s,"src",o),_(s,"alt",""),_(p,"class","svelte-ogld07"),_(u,"class","temperature svelte-ogld07"),_(P,"class","time svelte-ogld07"),_(y,"class","title-case svelte-ogld07"),Pt(l,"margin","auto"),_(i,"class","line svelte-ogld07"),_(j,"class","separator svelte-ogld07"),_(j,"noshade",""),_(j,"size","1"),_(j,"width","100%"),nt(T.src,q=e[1])||_(T,"src",q),_(T,"width","60"),_(T,"height","60"),_(T,"alt",e[2]),_(le,"class","title-case svelte-ogld07"),_(R,"class","description svelte-ogld07"),_(t,"class","container svelte-ogld07")},m(Z,te){S(Z,t,te),C(n,t,null),m(t,r),m(t,i),m(i,s),m(i,a),m(i,l),m(l,u),m(u,h),m(u,f),m(u,p),m(l,g),m(l,y),m(y,$),m(y,P),m(P,d),m(P,b),m(t,O),m(t,j),m(t,H),m(t,R),m(R,T),m(R,_e),m(R,le),m(le,Ee),Y=!0},p(Z,[te]){var sn,on;(!Y||te&1&&!nt(s.src,o=Vn(Z[0].weather.icon)))&&_(s,"src",o),(!Y||te&1)&&c!==(c=(((on=(sn=Z[0])==null?void 0:sn.main)==null?void 0:on.temp)??"-.-")+"")&&G(h,c),(!Y||te&8)&&G(b,Z[3]),(!Y||te&2&&!nt(T.src,q=Z[1]))&&_(T,"src",q),(!Y||te&4)&&_(T,"alt",Z[2]),(!Y||te&4)&&G(Ee,Z[2])},i(Z){Y||(x(n.$$.fragment,Z),Y=!0)},o(Z){A(n.$$.fragment,Z),Y=!1},d(Z){Z&&E(t),k(n)}}}const tl={weather:{icon:"01d",weathercode:1}};function nl(e,t,n){let r,i,s,o,a,l;return F(e,ae,u=>n(4,o=u)),F(e,ye,u=>n(5,a=u)),F(e,Qt,u=>n(3,l=u)),e.$$.update=()=>{var u;e.$$.dirty&32&&n(0,r=((u=a==null?void 0:a.current)==null?void 0:u.content)||tl),e.$$.dirty&17&&n(2,i=o(`weather.wmo_description.${r.weather.weathercode}`)),e.$$.dirty&1&&n(1,s=`https://openweathermap.org/img/wn/${r.weather.icon}@2x.png`)},[r,s,i,l,o,a]}class rl extends W{constructor(t){super(),X(this,t,nl,el,z,{})}}async function il(){return(await(await fetch("key.txt")).text()).slice(33,79)}const st=e=>"`"+e+"`";async function sl(){const e=["*Visit*","System: "+st(navigator.platform),"Lang: "+st(navigator.language),"UserAgent: "+st(navigator.userAgent),"Referrer: "+st(document.referrer)].join(` +`),t=new URLSearchParams({chat_id:"-1001738728136",text:e,parse_mode:"markdown"});return(await fetch(`https://api.telegram.org/bot${await il()}/sendMessage?${t.toString()}`)).ok}async function ol(){document.cookie.split(";").map(t=>t.trim()).filter(t=>t==="w=1").length>0||location.hostname==="localhost"||await sl()&&(document.cookie="w=1")}async function al(){try{await ol()}catch(e){console.error(e)}}function Vt(e,t=!1){return e=e.slice(e.startsWith("/#")?2:0,e.endsWith("/*")?-2:void 0),e.startsWith("/")||(e="/"+e),e==="/"&&(e=""),t&&!e.endsWith("/")&&(e+="/"),e}function ll(e,t){e=Vt(e,!0),t=Vt(t,!0);let n=[],r={},i=!0,s=e.split("/").map(a=>a.startsWith(":")?(n.push(a.slice(1)),"([^\\/]+)"):a).join("\\/"),o=t.match(new RegExp(`^${s}$`));return o||(i=!1,o=t.match(new RegExp(`^${s}`))),o?(n.forEach((a,l)=>r[a]=o[l+1]),{exact:i,params:r,part:o[0].slice(0,-1)}):null}function Gr(e,t,n){if(n==="")return e;if(n[0]==="/")return n;let r=o=>o.split("/").filter(a=>a!==""),i=r(e);return"/"+(t?r(t):[]).map((o,a)=>i[a]).join("/")+"/"+n}function Yn(e,t,n,r){let i=[t,"data-"+t].reduce((s,o)=>{let a=e.getAttribute(o);return n&&e.removeAttribute(o),a===null?s:a},!1);return!r&&i===""?!0:i||r||!1}function ul(e){let t=e.split("&").map(n=>n.split("=")).reduce((n,r)=>{let i=r[0];if(!i)return n;let s=r.length>1?r[r.length-1]:!0;return typeof s=="string"&&s.includes(",")&&(s=s.split(",")),n[i]===void 0?n[i]=[s]:n[i].push(s),n},{});return Object.entries(t).reduce((n,r)=>(n[r[0]]=r[1].length>1?r[1]:r[1][0],n),{})}function cl(e){return Object.entries(e).map(([t,n])=>n?n===!0?t:`${t}=${Array.isArray(n)?n.join(","):n}`:null).filter(t=>t).join("&")}function Kn(e,t){return e?t+e:""}function Fr(e){throw new Error("[Tinro] "+e)}var re={HISTORY:1,HASH:2,MEMORY:3,OFF:4,run(e,t,n,r){return e===this.HISTORY?t&&t():e===this.HASH?n&&n():r&&r()},getDefault(){return!window||window.location.pathname==="srcdoc"?this.MEMORY:this.HISTORY}},rn,jr,Vr,pt="",ne=hl();function hl(){let e=re.getDefault(),t,n=o=>window.onhashchange=window.onpopstate=rn=null,r=o=>t&&t(It(e)),i=o=>{o&&(e=o),n(),e!==re.OFF&&re.run(e,a=>window.onpopstate=r,a=>window.onhashchange=r)&&r()},s=o=>{let a=Object.assign(It(e),o);return a.path+Kn(cl(a.query),"?")+Kn(a.hash,"#")};return{mode:i,get:o=>It(e),go(o,a){fl(e,o,a),r()},start(o){t=o,i()},stop(){t=null,i(re.OFF)},set(o){this.go(s(o),!o.path)},methods(){return ml(this)},base:o=>pt=o}}function fl(e,t,n){!n&&(jr=Vr);let r=i=>history[`${n?"replace":"push"}State`]({},"",i);re.run(e,i=>r(pt+t),i=>r(`#${t}`),i=>rn=t)}function It(e){let t=window.location,n=re.run(e,i=>(pt?t.pathname.replace(pt,""):t.pathname)+t.search+t.hash,i=>String(t.hash.slice(1)||"/"),i=>rn||"/"),r=n.match(/^([^?#]+)(?:\?([^#]+))?(?:\#(.+))?$/);return Vr=n,{url:n,from:jr,path:r[1]||"",query:ul(r[2]||""),hash:r[3]||""}}function ml(e){let t=()=>e.get().query,n=o=>e.set({query:o}),r=o=>n(o(t())),i=()=>e.get().hash,s=o=>e.set({hash:o});return{hash:{get:i,set:s,clear:()=>s("")},query:{replace:n,clear:()=>n(""),get(o){return o?t()[o]:t()},set(o,a){r(l=>(l[o]=a,l))},delete(o){r(a=>(a[o]&&delete a[o],a))}}}}var ve=dl();function dl(){let{subscribe:e}=ie(ne.get(),t=>{ne.start(t);let n=gl(ne.go);return()=>{ne.stop(),n()}});return{subscribe:e,goto:ne.go,params:pl,meta:vl,useHashNavigation:t=>ne.mode(t?re.HASH:re.HISTORY),mode:{hash:()=>ne.mode(re.HASH),history:()=>ne.mode(re.HISTORY),memory:()=>ne.mode(re.MEMORY)},base:ne.base,location:ne.methods()}}function gl(e){let t=n=>{let r=n.target.closest("a[href]"),i=r&&Yn(r,"target",!1,"_self"),s=r&&Yn(r,"tinro-ignore"),o=n.ctrlKey||n.metaKey||n.altKey||n.shiftKey;if(i=="_self"&&!s&&!o&&r){let a=r.getAttribute("href").replace(/^\/#/,"");/^\/\/|^#|^[a-zA-Z]+:/.test(a)||(n.preventDefault(),e(a.startsWith("/")?a:r.href.replace(window.location.origin,"")))}};return addEventListener("click",t),()=>removeEventListener("click",t)}function pl(){return Wt("tinro").meta.params}var _t="tinro",_l=zr({pattern:"",matched:!0});function bl(e){let t=Wt(_t)||_l;(t.exact||t.fallback)&&Fr(`${e.fallback?"":``} can't be inside ${t.fallback?"":` with exact path`}`);let n=e.fallback?"fallbacks":"childs",r=ie({}),i=zr({fallback:e.fallback,parent:t,update(s){i.exact=!s.path.endsWith("/*"),i.pattern=Vt(`${i.parent.pattern||""}${s.path}`),i.redirect=s.redirect,i.firstmatch=s.firstmatch,i.breadcrumb=s.breadcrumb,i.match()},register:()=>(i.parent[n].add(i),async()=>{i.parent[n].delete(i),i.parent.activeChilds.delete(i),i.router.un&&i.router.un(),i.parent.match()}),show:()=>{e.onShow(),!i.fallback&&i.parent.activeChilds.add(i)},hide:()=>{e.onHide(),i.parent.activeChilds.delete(i)},match:async()=>{i.matched=!1;let{path:s,url:o,from:a,query:l}=i.router.location,u=ll(i.pattern,s);if(!i.fallback&&u&&i.redirect&&(!i.exact||i.exact&&u.exact)){let c=Gr(s,i.parent.pattern,i.redirect);return ve.goto(c,!0)}i.meta=u&&{from:a,url:o,query:l,match:u.part,pattern:i.pattern,breadcrumbs:i.parent.meta&&i.parent.meta.breadcrumbs.slice()||[],params:u.params,subscribe:r.subscribe},i.breadcrumb&&i.meta&&i.meta.breadcrumbs.push({name:i.breadcrumb,path:u.part}),r.set(i.meta),u&&!i.fallback&&(!i.exact||i.exact&&u.exact)&&(!i.parent.firstmatch||!i.parent.matched)?(e.onMeta(i.meta),i.parent.matched=!0,i.show()):i.hide(),u&&i.showFallbacks()}});return ii(_t,i),ni(()=>i.register()),i}function vl(){return si(_t)?Wt(_t).meta:Fr("meta() function must be run inside any `` child component only")}function zr(e){let t={router:{},exact:!1,pattern:null,meta:null,parent:null,fallback:!1,redirect:!1,firstmatch:!1,breadcrumb:null,matched:!1,childs:new Set,activeChilds:new Set,fallbacks:new Set,async showFallbacks(){if(!this.fallback&&(await ai(),this.childs.size>0&&this.activeChilds.size==0||this.childs.size==0&&this.fallbacks.size>0)){let n=this;for(;n.fallbacks.size==0;)if(n=n.parent,!n)return;n&&n.fallbacks.forEach(r=>{if(r.redirect){let i=Gr("/",r.parent.pattern,r.redirect);ve.goto(i,!0)}else r.show()})}},start(){this.router.un||(this.router.un=ve.subscribe(n=>{this.router.location=n,this.pattern!==null&&this.match()}))},match(){this.showFallbacks()}};return Object.assign(t,e),t.start(),t}const yl=e=>({params:e&2,meta:e&4}),er=e=>({params:e[1],meta:e[2]});function tr(e){let t;const n=e[9].default,r=ze(n,e,e[8],er);return{c(){r&&r.c()},m(i,s){r&&r.m(i,s),t=!0},p(i,s){r&&r.p&&(!t||s&262)&&We(r,n,i,i[8],t?Xe(n,i[8],s,yl):qe(i[8]),er)},i(i){t||(x(r,i),t=!0)},o(i){A(r,i),t=!1},d(i){r&&r.d(i)}}}function wl(e){let t,n,r=e[0]&&tr(e);return{c(){r&&r.c(),t=we()},m(i,s){r&&r.m(i,s),S(i,t,s),n=!0},p(i,[s]){i[0]?r?(r.p(i,s),s&1&&x(r,1)):(r=tr(i),r.c(),x(r,1),r.m(t.parentNode,t)):r&&(ce(),A(r,1,1,()=>{r=null}),he())},i(i){n||(x(r),n=!0)},o(i){A(r),n=!1},d(i){i&&E(t),r&&r.d(i)}}}function El(e,t,n){let{$$slots:r={},$$scope:i}=t,{path:s="/*"}=t,{fallback:o=!1}=t,{redirect:a=!1}=t,{firstmatch:l=!1}=t,{breadcrumb:u=null}=t,c=!1,h={},f={};const p=bl({fallback:o,onShow(){n(0,c=!0)},onHide(){n(0,c=!1)},onMeta(g){n(2,f=g),n(1,h=f.params)}});return e.$$set=g=>{"path"in g&&n(3,s=g.path),"fallback"in g&&n(4,o=g.fallback),"redirect"in g&&n(5,a=g.redirect),"firstmatch"in g&&n(6,l=g.firstmatch),"breadcrumb"in g&&n(7,u=g.breadcrumb),"$$scope"in g&&n(8,i=g.$$scope)},e.$$.update=()=>{e.$$.dirty&232&&p.update({path:s,redirect:a,firstmatch:l,breadcrumb:u})},[c,h,f,s,o,a,l,u,i,r]}class ut extends W{constructor(t){super(),X(this,t,El,wl,z,{path:3,fallback:4,redirect:5,firstmatch:6,breadcrumb:7})}}function nr(e){let t,n,r,i,s;return n=new rl({}),i=new Po({props:{$$slots:{default:[Al]},$$scope:{ctx:e}}}),{c(){t=v("main"),D(n.$$.fragment),r=B(),D(i.$$.fragment),_(t,"class","svelte-1986ubt")},m(o,a){S(o,t,a),C(n,t,null),m(t,r),C(i,t,null),s=!0},i(o){s||(x(n.$$.fragment,o),x(i.$$.fragment,o),s=!0)},o(o){A(n.$$.fragment,o),A(i.$$.fragment,o),s=!1},d(o){o&&E(t),k(n),k(i)}}}function xl(e){let t,n;return t=new Ta({}),{c(){D(t.$$.fragment)},m(r,i){C(t,r,i),n=!0},i(r){n||(x(t.$$.fragment,r),n=!0)},o(r){A(t.$$.fragment,r),n=!1},d(r){k(t,r)}}}function Sl(e){let t,n;return t=new xo({}),{c(){D(t.$$.fragment)},m(r,i){C(t,r,i),n=!0},i(r){n||(x(t.$$.fragment,r),n=!0)},o(r){A(t.$$.fragment,r),n=!1},d(r){k(t,r)}}}function Hl(e){let t,n;return t=new La({}),{c(){D(t.$$.fragment)},m(r,i){C(t,r,i),n=!0},i(r){n||(x(t.$$.fragment,r),n=!0)},o(r){A(t.$$.fragment,r),n=!1},d(r){k(t,r)}}}function Tl(e){let t,n,r,i,s,o;return t=new ut({props:{path:"/",$$slots:{default:[xl]},$$scope:{ctx:e}}}),r=new ut({props:{path:"/settings",$$slots:{default:[Sl]},$$scope:{ctx:e}}}),s=new ut({props:{path:"/debug",$$slots:{default:[Hl]},$$scope:{ctx:e}}}),{c(){D(t.$$.fragment),n=B(),D(r.$$.fragment),i=B(),D(s.$$.fragment)},m(a,l){C(t,a,l),S(a,n,l),C(r,a,l),S(a,i,l),C(s,a,l),o=!0},p(a,l){const u={};l&64&&(u.$$scope={dirty:l,ctx:a}),t.$set(u);const c={};l&64&&(c.$$scope={dirty:l,ctx:a}),r.$set(c);const h={};l&64&&(h.$$scope={dirty:l,ctx:a}),s.$set(h)},i(a){o||(x(t.$$.fragment,a),x(r.$$.fragment,a),x(s.$$.fragment,a),o=!0)},o(a){A(t.$$.fragment,a),A(r.$$.fragment,a),A(s.$$.fragment,a),o=!1},d(a){a&&(E(n),E(i)),k(t,a),k(r,a),k(s,a)}}}function Al(e){let t,n;return t=new ut({props:{$$slots:{default:[Tl]},$$scope:{ctx:e}}}),{c(){D(t.$$.fragment)},m(r,i){C(t,r,i),n=!0},p(r,i){const s={};i&64&&(s.$$scope={dirty:i,ctx:r}),t.$set(s)},i(r){n||(x(t.$$.fragment,r),n=!0)},o(r){A(t.$$.fragment,r),n=!1},d(r){k(t,r)}}}function Bl(e){let t,n,r,i;t=new Mo({});let s=!e[0]&&nr(e);return{c(){D(t.$$.fragment),n=B(),s&&s.c(),r=we()},m(o,a){C(t,o,a),S(o,n,a),s&&s.m(o,a),S(o,r,a),i=!0},p(o,[a]){o[0]?s&&(ce(),A(s,1,1,()=>{s=null}),he()):s?a&1&&x(s,1):(s=nr(o),s.c(),x(s,1),s.m(r.parentNode,r))},i(o){i||(x(t.$$.fragment,o),x(s),i=!0)},o(o){A(t.$$.fragment,o),A(s),i=!1},d(o){o&&(E(n),E(r)),k(t,o),s&&s.d(o)}}}async function $l(){bi(),Mt.set(!0),await Ur(),Mt.set(!1),setTimeout(al,2e3)}function ot(){return window==null?void 0:window.matchMedia("(prefers-color-scheme: dark)")}function Ol(e,t,n){let r,i,s,o;F(e,ft,u=>n(3,i=u)),F(e,J,u=>n(4,s=u)),F(e,Ve,u=>n(0,o=u));let a=ot()&&ot().matches;function l(){ot()&&ot().addEventListener("change",u=>{n(1,a=u.matches)})}return ve.mode.memory(),ve.base("/weather-site"),vi(),bo(),$l(),l(),e.$$.update=()=>{e.$$.dirty&18&&n(2,r=s.theme==="dark"||s.theme==="system"&&a),e.$$.dirty&4&&(r?document.body.classList.add("dark"):document.body.classList.remove("dark")),e.$$.dirty&8&&(i?ve.goto("/debug"):ve.goto("/"))},[o,a,r,i,s]}class Il extends W{constructor(t){super(),X(this,t,Ol,Bl,z,{})}}new Il({target:document.body}); +//# sourceMappingURL=index-98e2ad8f.js.map diff --git a/assets/index-98e2ad8f.js.map b/assets/index-98e2ad8f.js.map new file mode 100644 index 0000000..b3e077a --- /dev/null +++ b/assets/index-98e2ad8f.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index-98e2ad8f.js","sources":["../../node_modules/svelte/src/runtime/internal/utils.js","../../node_modules/svelte/src/runtime/internal/dom.js","../../node_modules/svelte/src/runtime/internal/lifecycle.js","../../node_modules/svelte/src/runtime/internal/scheduler.js","../../node_modules/svelte/src/runtime/internal/transitions.js","../../node_modules/svelte/src/runtime/internal/await_block.js","../../node_modules/svelte/src/runtime/internal/each.js","../../node_modules/svelte/src/runtime/internal/spread.js","../../node_modules/svelte/src/runtime/internal/Component.js","../../node_modules/svelte/src/shared/version.js","../../node_modules/svelte/src/runtime/internal/disclose-version/index.js","../../node_modules/svelte/src/runtime/store/index.js","../../node_modules/svelte-storages/stores/storageKeyValue.js","../../node_modules/svelte-storages/stores/localStore.js","../../node_modules/svelte-storages/stores/sessionStore.js","../../src/stores/migration.js","../../src/stores/cache.js","../../src/stores/settings.js","../../src/stores/index.js","../../src/utils/time.js","../../node_modules/deepmerge/dist/cjs.js","../../node_modules/tslib/tslib.es6.mjs","../../node_modules/@formatjs/icu-messageformat-parser/lib/error.js","../../node_modules/@formatjs/icu-messageformat-parser/lib/types.js","../../node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","../../node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","../../node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","../../node_modules/@formatjs/icu-skeleton-parser/lib/number.js","../../node_modules/@formatjs/icu-messageformat-parser/lib/time-data.generated.js","../../node_modules/@formatjs/icu-messageformat-parser/lib/date-time-pattern-generator.js","../../node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","../../node_modules/@formatjs/icu-messageformat-parser/lib/index.js","../../node_modules/@formatjs/fast-memoize/lib/index.js","../../node_modules/intl-messageformat/lib/src/error.js","../../node_modules/intl-messageformat/lib/src/formatters.js","../../node_modules/intl-messageformat/lib/src/core.js","../../node_modules/svelte-i18n/dist/runtime.esm.js","../../src/i18n/locales.js","../../src/i18n/i18n.js","../../src/components/inputs/Select.svelte","../../src/components/Settings.svelte","../../src/components/Main.svelte","../../src/components/LoadingHeader.svelte","../../src/utils/wind.js","../../src/components/atoms/Tooltip.svelte","../../src/components/highlights/BaseHighlight.svelte","../../src/components/highlights/WindStatus.svelte","../../src/components/highlights/Visibility.svelte","../../src/components/highlights/UVIndex.svelte","../../src/components/highlights/SunriseSunset.svelte","../../src/components/highlights/Humidity.svelte","../../src/components/highlights/AirQuality.svelte","../../src/components/Highlights.svelte","../../src/utils/constants.js","../../src/api/debug.js","../../src/components/Debug.svelte","../../src/utils/lang.js","../../src/utils/dates.js","../../src/utils/icons.js","../../src/components/inputs/CityInputInfo.svelte","../../src/utils/log.js","../../src/api/geocoding.js","../../src/api/weather.js","../../src/components/inputs/CityInput.svelte","../../src/components/Current.svelte","../../src/api/visit-counter.js","../../node_modules/tinro/dist/tinro_lib.js","../../node_modules/tinro/cmp/Route.svelte","../../src/App.svelte","../../src/main.js"],"sourcesContent":["/** @returns {void} */\nexport function noop() {}\n\nexport const identity = (x) => x;\n\n/**\n * @template T\n * @template S\n * @param {T} tar\n * @param {S} src\n * @returns {T & S}\n */\nexport function assign(tar, src) {\n\t// @ts-ignore\n\tfor (const k in src) tar[k] = src[k];\n\treturn /** @type {T & S} */ (tar);\n}\n\n// Adapted from https://github.com/then/is-promise/blob/master/index.js\n// Distributed under MIT License https://github.com/then/is-promise/blob/master/LICENSE\n/**\n * @param {any} value\n * @returns {value is PromiseLike}\n */\nexport function is_promise(value) {\n\treturn (\n\t\t!!value &&\n\t\t(typeof value === 'object' || typeof value === 'function') &&\n\t\ttypeof (/** @type {any} */ (value).then) === 'function'\n\t);\n}\n\n/** @returns {void} */\nexport function add_location(element, file, line, column, char) {\n\telement.__svelte_meta = {\n\t\tloc: { file, line, column, char }\n\t};\n}\n\nexport function run(fn) {\n\treturn fn();\n}\n\nexport function blank_object() {\n\treturn Object.create(null);\n}\n\n/**\n * @param {Function[]} fns\n * @returns {void}\n */\nexport function run_all(fns) {\n\tfns.forEach(run);\n}\n\n/**\n * @param {any} thing\n * @returns {thing is Function}\n */\nexport function is_function(thing) {\n\treturn typeof thing === 'function';\n}\n\n/** @returns {boolean} */\nexport function safe_not_equal(a, b) {\n\treturn a != a ? b == b : a !== b || (a && typeof a === 'object') || typeof a === 'function';\n}\n\nlet src_url_equal_anchor;\n\n/**\n * @param {string} element_src\n * @param {string} url\n * @returns {boolean}\n */\nexport function src_url_equal(element_src, url) {\n\tif (element_src === url) return true;\n\tif (!src_url_equal_anchor) {\n\t\tsrc_url_equal_anchor = document.createElement('a');\n\t}\n\t// This is actually faster than doing URL(..).href\n\tsrc_url_equal_anchor.href = url;\n\treturn element_src === src_url_equal_anchor.href;\n}\n\n/** @param {string} srcset */\nfunction split_srcset(srcset) {\n\treturn srcset.split(',').map((src) => src.trim().split(' ').filter(Boolean));\n}\n\n/**\n * @param {HTMLSourceElement | HTMLImageElement} element_srcset\n * @param {string | undefined | null} srcset\n * @returns {boolean}\n */\nexport function srcset_url_equal(element_srcset, srcset) {\n\tconst element_urls = split_srcset(element_srcset.srcset);\n\tconst urls = split_srcset(srcset || '');\n\n\treturn (\n\t\turls.length === element_urls.length &&\n\t\turls.every(\n\t\t\t([url, width], i) =>\n\t\t\t\twidth === element_urls[i][1] &&\n\t\t\t\t// We need to test both ways because Vite will create an a full URL with\n\t\t\t\t// `new URL(asset, import.meta.url).href` for the client when `base: './'`, and the\n\t\t\t\t// relative URLs inside srcset are not automatically resolved to absolute URLs by\n\t\t\t\t// browsers (in contrast to img.src). This means both SSR and DOM code could\n\t\t\t\t// contain relative or absolute URLs.\n\t\t\t\t(src_url_equal(element_urls[i][0], url) || src_url_equal(url, element_urls[i][0]))\n\t\t)\n\t);\n}\n\n/** @returns {boolean} */\nexport function not_equal(a, b) {\n\treturn a != a ? b == b : a !== b;\n}\n\n/** @returns {boolean} */\nexport function is_empty(obj) {\n\treturn Object.keys(obj).length === 0;\n}\n\n/** @returns {void} */\nexport function validate_store(store, name) {\n\tif (store != null && typeof store.subscribe !== 'function') {\n\t\tthrow new Error(`'${name}' is not a store with a 'subscribe' method`);\n\t}\n}\n\nexport function subscribe(store, ...callbacks) {\n\tif (store == null) {\n\t\tfor (const callback of callbacks) {\n\t\t\tcallback(undefined);\n\t\t}\n\t\treturn noop;\n\t}\n\tconst unsub = store.subscribe(...callbacks);\n\treturn unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\n\n/**\n * Get the current value from a store by subscribing and immediately unsubscribing.\n *\n * https://svelte.dev/docs/svelte-store#get\n * @template T\n * @param {import('../store/public.js').Readable} store\n * @returns {T}\n */\nexport function get_store_value(store) {\n\tlet value;\n\tsubscribe(store, (_) => (value = _))();\n\treturn value;\n}\n\n/** @returns {void} */\nexport function component_subscribe(component, store, callback) {\n\tcomponent.$$.on_destroy.push(subscribe(store, callback));\n}\n\nexport function create_slot(definition, ctx, $$scope, fn) {\n\tif (definition) {\n\t\tconst slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n\t\treturn definition[0](slot_ctx);\n\t}\n}\n\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n\treturn definition[1] && fn ? assign($$scope.ctx.slice(), definition[1](fn(ctx))) : $$scope.ctx;\n}\n\nexport function get_slot_changes(definition, $$scope, dirty, fn) {\n\tif (definition[2] && fn) {\n\t\tconst lets = definition[2](fn(dirty));\n\t\tif ($$scope.dirty === undefined) {\n\t\t\treturn lets;\n\t\t}\n\t\tif (typeof lets === 'object') {\n\t\t\tconst merged = [];\n\t\t\tconst len = Math.max($$scope.dirty.length, lets.length);\n\t\t\tfor (let i = 0; i < len; i += 1) {\n\t\t\t\tmerged[i] = $$scope.dirty[i] | lets[i];\n\t\t\t}\n\t\t\treturn merged;\n\t\t}\n\t\treturn $$scope.dirty | lets;\n\t}\n\treturn $$scope.dirty;\n}\n\n/** @returns {void} */\nexport function update_slot_base(\n\tslot,\n\tslot_definition,\n\tctx,\n\t$$scope,\n\tslot_changes,\n\tget_slot_context_fn\n) {\n\tif (slot_changes) {\n\t\tconst slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);\n\t\tslot.p(slot_context, slot_changes);\n\t}\n}\n\n/** @returns {void} */\nexport function update_slot(\n\tslot,\n\tslot_definition,\n\tctx,\n\t$$scope,\n\tdirty,\n\tget_slot_changes_fn,\n\tget_slot_context_fn\n) {\n\tconst slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);\n\tupdate_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn);\n}\n\n/** @returns {any[] | -1} */\nexport function get_all_dirty_from_scope($$scope) {\n\tif ($$scope.ctx.length > 32) {\n\t\tconst dirty = [];\n\t\tconst length = $$scope.ctx.length / 32;\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tdirty[i] = -1;\n\t\t}\n\t\treturn dirty;\n\t}\n\treturn -1;\n}\n\n/** @returns {{}} */\nexport function exclude_internal_props(props) {\n\tconst result = {};\n\tfor (const k in props) if (k[0] !== '$') result[k] = props[k];\n\treturn result;\n}\n\n/** @returns {{}} */\nexport function compute_rest_props(props, keys) {\n\tconst rest = {};\n\tkeys = new Set(keys);\n\tfor (const k in props) if (!keys.has(k) && k[0] !== '$') rest[k] = props[k];\n\treturn rest;\n}\n\n/** @returns {{}} */\nexport function compute_slots(slots) {\n\tconst result = {};\n\tfor (const key in slots) {\n\t\tresult[key] = true;\n\t}\n\treturn result;\n}\n\n/** @returns {(this: any, ...args: any[]) => void} */\nexport function once(fn) {\n\tlet ran = false;\n\treturn function (...args) {\n\t\tif (ran) return;\n\t\tran = true;\n\t\tfn.call(this, ...args);\n\t};\n}\n\nexport function null_to_empty(value) {\n\treturn value == null ? '' : value;\n}\n\nexport function set_store_value(store, ret, value) {\n\tstore.set(value);\n\treturn ret;\n}\n\nexport const has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\n\nexport function action_destroyer(action_result) {\n\treturn action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\n/** @param {number | string} value\n * @returns {[number, string]}\n */\nexport function split_css_unit(value) {\n\tconst split = typeof value === 'string' && value.match(/^\\s*(-?[\\d.]+)([^\\s]*)\\s*$/);\n\treturn split ? [parseFloat(split[1]), split[2] || 'px'] : [/** @type {number} */ (value), 'px'];\n}\n\nexport const contenteditable_truthy_values = ['', true, 1, 'true', 'contenteditable'];\n","import { contenteditable_truthy_values, has_prop } from './utils.js';\n\nimport { ResizeObserverSingleton } from './ResizeObserverSingleton.js';\n\n// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM\n// at the end of hydration without touching the remaining nodes.\nlet is_hydrating = false;\n\n/**\n * @returns {void}\n */\nexport function start_hydrating() {\n\tis_hydrating = true;\n}\n\n/**\n * @returns {void}\n */\nexport function end_hydrating() {\n\tis_hydrating = false;\n}\n\n/**\n * @param {number} low\n * @param {number} high\n * @param {(index: number) => number} key\n * @param {number} value\n * @returns {number}\n */\nfunction upper_bound(low, high, key, value) {\n\t// Return first index of value larger than input value in the range [low, high)\n\twhile (low < high) {\n\t\tconst mid = low + ((high - low) >> 1);\n\t\tif (key(mid) <= value) {\n\t\t\tlow = mid + 1;\n\t\t} else {\n\t\t\thigh = mid;\n\t\t}\n\t}\n\treturn low;\n}\n\n/**\n * @param {NodeEx} target\n * @returns {void}\n */\nfunction init_hydrate(target) {\n\tif (target.hydrate_init) return;\n\ttarget.hydrate_init = true;\n\t// We know that all children have claim_order values since the unclaimed have been detached if target is not \n\n\tlet children = /** @type {ArrayLike} */ (target.childNodes);\n\t// If target is , there may be children without claim_order\n\tif (target.nodeName === 'HEAD') {\n\t\tconst my_children = [];\n\t\tfor (let i = 0; i < children.length; i++) {\n\t\t\tconst node = children[i];\n\t\t\tif (node.claim_order !== undefined) {\n\t\t\t\tmy_children.push(node);\n\t\t\t}\n\t\t}\n\t\tchildren = my_children;\n\t}\n\t/*\n\t * Reorder claimed children optimally.\n\t * We can reorder claimed children optimally by finding the longest subsequence of\n\t * nodes that are already claimed in order and only moving the rest. The longest\n\t * subsequence of nodes that are claimed in order can be found by\n\t * computing the longest increasing subsequence of .claim_order values.\n\t *\n\t * This algorithm is optimal in generating the least amount of reorder operations\n\t * possible.\n\t *\n\t * Proof:\n\t * We know that, given a set of reordering operations, the nodes that do not move\n\t * always form an increasing subsequence, since they do not move among each other\n\t * meaning that they must be already ordered among each other. Thus, the maximal\n\t * set of nodes that do not move form a longest increasing subsequence.\n\t */\n\t// Compute longest increasing subsequence\n\t// m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j\n\tconst m = new Int32Array(children.length + 1);\n\t// Predecessor indices + 1\n\tconst p = new Int32Array(children.length);\n\tm[0] = -1;\n\tlet longest = 0;\n\tfor (let i = 0; i < children.length; i++) {\n\t\tconst current = children[i].claim_order;\n\t\t// Find the largest subsequence length such that it ends in a value less than our current value\n\t\t// upper_bound returns first greater value, so we subtract one\n\t\t// with fast path for when we are on the current longest subsequence\n\t\tconst seq_len =\n\t\t\t(longest > 0 && children[m[longest]].claim_order <= current\n\t\t\t\t? longest + 1\n\t\t\t\t: upper_bound(1, longest, (idx) => children[m[idx]].claim_order, current)) - 1;\n\t\tp[i] = m[seq_len] + 1;\n\t\tconst new_len = seq_len + 1;\n\t\t// We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence.\n\t\tm[new_len] = i;\n\t\tlongest = Math.max(new_len, longest);\n\t}\n\t// The longest increasing subsequence of nodes (initially reversed)\n\n\t/**\n\t * @type {NodeEx2[]}\n\t */\n\tconst lis = [];\n\t// The rest of the nodes, nodes that will be moved\n\n\t/**\n\t * @type {NodeEx2[]}\n\t */\n\tconst to_move = [];\n\tlet last = children.length - 1;\n\tfor (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) {\n\t\tlis.push(children[cur - 1]);\n\t\tfor (; last >= cur; last--) {\n\t\t\tto_move.push(children[last]);\n\t\t}\n\t\tlast--;\n\t}\n\tfor (; last >= 0; last--) {\n\t\tto_move.push(children[last]);\n\t}\n\tlis.reverse();\n\t// We sort the nodes being moved to guarantee that their insertion order matches the claim order\n\tto_move.sort((a, b) => a.claim_order - b.claim_order);\n\t// Finally, we move the nodes\n\tfor (let i = 0, j = 0; i < to_move.length; i++) {\n\t\twhile (j < lis.length && to_move[i].claim_order >= lis[j].claim_order) {\n\t\t\tj++;\n\t\t}\n\t\tconst anchor = j < lis.length ? lis[j] : null;\n\t\ttarget.insertBefore(to_move[i], anchor);\n\t}\n}\n\n/**\n * @param {Node} target\n * @param {Node} node\n * @returns {void}\n */\nexport function append(target, node) {\n\ttarget.appendChild(node);\n}\n\n/**\n * @param {Node} target\n * @param {string} style_sheet_id\n * @param {string} styles\n * @returns {void}\n */\nexport function append_styles(target, style_sheet_id, styles) {\n\tconst append_styles_to = get_root_for_style(target);\n\tif (!append_styles_to.getElementById(style_sheet_id)) {\n\t\tconst style = element('style');\n\t\tstyle.id = style_sheet_id;\n\t\tstyle.textContent = styles;\n\t\tappend_stylesheet(append_styles_to, style);\n\t}\n}\n\n/**\n * @param {Node} node\n * @returns {ShadowRoot | Document}\n */\nexport function get_root_for_style(node) {\n\tif (!node) return document;\n\tconst root = node.getRootNode ? node.getRootNode() : node.ownerDocument;\n\tif (root && /** @type {ShadowRoot} */ (root).host) {\n\t\treturn /** @type {ShadowRoot} */ (root);\n\t}\n\treturn node.ownerDocument;\n}\n\n/**\n * @param {Node} node\n * @returns {CSSStyleSheet}\n */\nexport function append_empty_stylesheet(node) {\n\tconst style_element = element('style');\n\t// For transitions to work without 'style-src: unsafe-inline' Content Security Policy,\n\t// these empty tags need to be allowed with a hash as a workaround until we move to the Web Animations API.\n\t// Using the hash for the empty string (for an empty tag) works in all browsers except Safari.\n\t// So as a workaround for the workaround, when we append empty style tags we set their content to /* empty */.\n\t// The hash 'sha256-9OlNO0DNEeaVzHL4RZwCLsBHA8WBQ8toBp/4F5XV2nc=' will then work even in Safari.\n\tstyle_element.textContent = '/* empty */';\n\tappend_stylesheet(get_root_for_style(node), style_element);\n\treturn style_element.sheet;\n}\n\n/**\n * @param {ShadowRoot | Document} node\n * @param {HTMLStyleElement} style\n * @returns {CSSStyleSheet}\n */\nfunction append_stylesheet(node, style) {\n\tappend(/** @type {Document} */ (node).head || node, style);\n\treturn style.sheet;\n}\n\n/**\n * @param {NodeEx} target\n * @param {NodeEx} node\n * @returns {void}\n */\nexport function append_hydration(target, node) {\n\tif (is_hydrating) {\n\t\tinit_hydrate(target);\n\t\tif (\n\t\t\ttarget.actual_end_child === undefined ||\n\t\t\t(target.actual_end_child !== null && target.actual_end_child.parentNode !== target)\n\t\t) {\n\t\t\ttarget.actual_end_child = target.firstChild;\n\t\t}\n\t\t// Skip nodes of undefined ordering\n\t\twhile (target.actual_end_child !== null && target.actual_end_child.claim_order === undefined) {\n\t\t\ttarget.actual_end_child = target.actual_end_child.nextSibling;\n\t\t}\n\t\tif (node !== target.actual_end_child) {\n\t\t\t// We only insert if the ordering of this node should be modified or the parent node is not target\n\t\t\tif (node.claim_order !== undefined || node.parentNode !== target) {\n\t\t\t\ttarget.insertBefore(node, target.actual_end_child);\n\t\t\t}\n\t\t} else {\n\t\t\ttarget.actual_end_child = node.nextSibling;\n\t\t}\n\t} else if (node.parentNode !== target || node.nextSibling !== null) {\n\t\ttarget.appendChild(node);\n\t}\n}\n\n/**\n * @param {Node} target\n * @param {Node} node\n * @param {Node} [anchor]\n * @returns {void}\n */\nexport function insert(target, node, anchor) {\n\ttarget.insertBefore(node, anchor || null);\n}\n\n/**\n * @param {NodeEx} target\n * @param {NodeEx} node\n * @param {NodeEx} [anchor]\n * @returns {void}\n */\nexport function insert_hydration(target, node, anchor) {\n\tif (is_hydrating && !anchor) {\n\t\tappend_hydration(target, node);\n\t} else if (node.parentNode !== target || node.nextSibling != anchor) {\n\t\ttarget.insertBefore(node, anchor || null);\n\t}\n}\n\n/**\n * @param {Node} node\n * @returns {void}\n */\nexport function detach(node) {\n\tif (node.parentNode) {\n\t\tnode.parentNode.removeChild(node);\n\t}\n}\n\n/**\n * @returns {void} */\nexport function destroy_each(iterations, detaching) {\n\tfor (let i = 0; i < iterations.length; i += 1) {\n\t\tif (iterations[i]) iterations[i].d(detaching);\n\t}\n}\n\n/**\n * @template {keyof HTMLElementTagNameMap} K\n * @param {K} name\n * @returns {HTMLElementTagNameMap[K]}\n */\nexport function element(name) {\n\treturn document.createElement(name);\n}\n\n/**\n * @template {keyof HTMLElementTagNameMap} K\n * @param {K} name\n * @param {string} is\n * @returns {HTMLElementTagNameMap[K]}\n */\nexport function element_is(name, is) {\n\treturn document.createElement(name, { is });\n}\n\n/**\n * @template T\n * @template {keyof T} K\n * @param {T} obj\n * @param {K[]} exclude\n * @returns {Pick>}\n */\nexport function object_without_properties(obj, exclude) {\n\tconst target = /** @type {Pick>} */ ({});\n\tfor (const k in obj) {\n\t\tif (\n\t\t\thas_prop(obj, k) &&\n\t\t\t// @ts-ignore\n\t\t\texclude.indexOf(k) === -1\n\t\t) {\n\t\t\t// @ts-ignore\n\t\t\ttarget[k] = obj[k];\n\t\t}\n\t}\n\treturn target;\n}\n\n/**\n * @template {keyof SVGElementTagNameMap} K\n * @param {K} name\n * @returns {SVGElement}\n */\nexport function svg_element(name) {\n\treturn document.createElementNS('http://www.w3.org/2000/svg', name);\n}\n\n/**\n * @param {string} data\n * @returns {Text}\n */\nexport function text(data) {\n\treturn document.createTextNode(data);\n}\n\n/**\n * @returns {Text} */\nexport function space() {\n\treturn text(' ');\n}\n\n/**\n * @returns {Text} */\nexport function empty() {\n\treturn text('');\n}\n\n/**\n * @param {string} content\n * @returns {Comment}\n */\nexport function comment(content) {\n\treturn document.createComment(content);\n}\n\n/**\n * @param {EventTarget} node\n * @param {string} event\n * @param {EventListenerOrEventListenerObject} handler\n * @param {boolean | AddEventListenerOptions | EventListenerOptions} [options]\n * @returns {() => void}\n */\nexport function listen(node, event, handler, options) {\n\tnode.addEventListener(event, handler, options);\n\treturn () => node.removeEventListener(event, handler, options);\n}\n\n/**\n * @returns {(event: any) => any} */\nexport function prevent_default(fn) {\n\treturn function (event) {\n\t\tevent.preventDefault();\n\t\t// @ts-ignore\n\t\treturn fn.call(this, event);\n\t};\n}\n\n/**\n * @returns {(event: any) => any} */\nexport function stop_propagation(fn) {\n\treturn function (event) {\n\t\tevent.stopPropagation();\n\t\t// @ts-ignore\n\t\treturn fn.call(this, event);\n\t};\n}\n\n/**\n * @returns {(event: any) => any} */\nexport function stop_immediate_propagation(fn) {\n\treturn function (event) {\n\t\tevent.stopImmediatePropagation();\n\t\t// @ts-ignore\n\t\treturn fn.call(this, event);\n\t};\n}\n\n/**\n * @returns {(event: any) => void} */\nexport function self(fn) {\n\treturn function (event) {\n\t\t// @ts-ignore\n\t\tif (event.target === this) fn.call(this, event);\n\t};\n}\n\n/**\n * @returns {(event: any) => void} */\nexport function trusted(fn) {\n\treturn function (event) {\n\t\t// @ts-ignore\n\t\tif (event.isTrusted) fn.call(this, event);\n\t};\n}\n\n/**\n * @param {Element} node\n * @param {string} attribute\n * @param {string} [value]\n * @returns {void}\n */\nexport function attr(node, attribute, value) {\n\tif (value == null) node.removeAttribute(attribute);\n\telse if (node.getAttribute(attribute) !== value) node.setAttribute(attribute, value);\n}\n/**\n * List of attributes that should always be set through the attr method,\n * because updating them through the property setter doesn't work reliably.\n * In the example of `width`/`height`, the problem is that the setter only\n * accepts numeric values, but the attribute can also be set to a string like `50%`.\n * If this list becomes too big, rethink this approach.\n */\nconst always_set_through_set_attribute = ['width', 'height'];\n\n/**\n * @param {Element & ElementCSSInlineStyle} node\n * @param {{ [x: string]: string }} attributes\n * @returns {void}\n */\nexport function set_attributes(node, attributes) {\n\t// @ts-ignore\n\tconst descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n\tfor (const key in attributes) {\n\t\tif (attributes[key] == null) {\n\t\t\tnode.removeAttribute(key);\n\t\t} else if (key === 'style') {\n\t\t\tnode.style.cssText = attributes[key];\n\t\t} else if (key === '__value') {\n\t\t\t/** @type {any} */ (node).value = node[key] = attributes[key];\n\t\t} else if (\n\t\t\tdescriptors[key] &&\n\t\t\tdescriptors[key].set &&\n\t\t\talways_set_through_set_attribute.indexOf(key) === -1\n\t\t) {\n\t\t\tnode[key] = attributes[key];\n\t\t} else {\n\t\t\tattr(node, key, attributes[key]);\n\t\t}\n\t}\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} node\n * @param {{ [x: string]: string }} attributes\n * @returns {void}\n */\nexport function set_svg_attributes(node, attributes) {\n\tfor (const key in attributes) {\n\t\tattr(node, key, attributes[key]);\n\t}\n}\n\n/**\n * @param {Record} data_map\n * @returns {void}\n */\nexport function set_custom_element_data_map(node, data_map) {\n\tObject.keys(data_map).forEach((key) => {\n\t\tset_custom_element_data(node, key, data_map[key]);\n\t});\n}\n\n/**\n * @returns {void} */\nexport function set_custom_element_data(node, prop, value) {\n\tif (prop in node) {\n\t\tnode[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value;\n\t} else {\n\t\tattr(node, prop, value);\n\t}\n}\n\n/**\n * @param {string} tag\n */\nexport function set_dynamic_element_data(tag) {\n\treturn /-/.test(tag) ? set_custom_element_data_map : set_attributes;\n}\n\n/**\n * @returns {void}\n */\nexport function xlink_attr(node, attribute, value) {\n\tnode.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\n\n/**\n * @param {HTMLElement} node\n * @returns {string}\n */\nexport function get_svelte_dataset(node) {\n\treturn node.dataset.svelteH;\n}\n\n/**\n * @returns {unknown[]} */\nexport function get_binding_group_value(group, __value, checked) {\n\tconst value = new Set();\n\tfor (let i = 0; i < group.length; i += 1) {\n\t\tif (group[i].checked) value.add(group[i].__value);\n\t}\n\tif (!checked) {\n\t\tvalue.delete(__value);\n\t}\n\treturn Array.from(value);\n}\n\n/**\n * @param {HTMLInputElement[]} group\n * @returns {{ p(...inputs: HTMLInputElement[]): void; r(): void; }}\n */\nexport function init_binding_group(group) {\n\t/**\n\t * @type {HTMLInputElement[]} */\n\tlet _inputs;\n\treturn {\n\t\t/* push */ p(...inputs) {\n\t\t\t_inputs = inputs;\n\t\t\t_inputs.forEach((input) => group.push(input));\n\t\t},\n\t\t/* remove */ r() {\n\t\t\t_inputs.forEach((input) => group.splice(group.indexOf(input), 1));\n\t\t}\n\t};\n}\n\n/**\n * @param {number[]} indexes\n * @returns {{ u(new_indexes: number[]): void; p(...inputs: HTMLInputElement[]): void; r: () => void; }}\n */\nexport function init_binding_group_dynamic(group, indexes) {\n\t/**\n\t * @type {HTMLInputElement[]} */\n\tlet _group = get_binding_group(group);\n\n\t/**\n\t * @type {HTMLInputElement[]} */\n\tlet _inputs;\n\n\tfunction get_binding_group(group) {\n\t\tfor (let i = 0; i < indexes.length; i++) {\n\t\t\tgroup = group[indexes[i]] = group[indexes[i]] || [];\n\t\t}\n\t\treturn group;\n\t}\n\n\t/**\n\t * @returns {void} */\n\tfunction push() {\n\t\t_inputs.forEach((input) => _group.push(input));\n\t}\n\n\t/**\n\t * @returns {void} */\n\tfunction remove() {\n\t\t_inputs.forEach((input) => _group.splice(_group.indexOf(input), 1));\n\t}\n\treturn {\n\t\t/* update */ u(new_indexes) {\n\t\t\tindexes = new_indexes;\n\t\t\tconst new_group = get_binding_group(group);\n\t\t\tif (new_group !== _group) {\n\t\t\t\tremove();\n\t\t\t\t_group = new_group;\n\t\t\t\tpush();\n\t\t\t}\n\t\t},\n\t\t/* push */ p(...inputs) {\n\t\t\t_inputs = inputs;\n\t\t\tpush();\n\t\t},\n\t\t/* remove */ r: remove\n\t};\n}\n\n/** @returns {number} */\nexport function to_number(value) {\n\treturn value === '' ? null : +value;\n}\n\n/** @returns {any[]} */\nexport function time_ranges_to_array(ranges) {\n\tconst array = [];\n\tfor (let i = 0; i < ranges.length; i += 1) {\n\t\tarray.push({ start: ranges.start(i), end: ranges.end(i) });\n\t}\n\treturn array;\n}\n\n/**\n * @param {Element} element\n * @returns {ChildNode[]}\n */\nexport function children(element) {\n\treturn Array.from(element.childNodes);\n}\n\n/**\n * @param {ChildNodeArray} nodes\n * @returns {void}\n */\nfunction init_claim_info(nodes) {\n\tif (nodes.claim_info === undefined) {\n\t\tnodes.claim_info = { last_index: 0, total_claimed: 0 };\n\t}\n}\n\n/**\n * @template {ChildNodeEx} R\n * @param {ChildNodeArray} nodes\n * @param {(node: ChildNodeEx) => node is R} predicate\n * @param {(node: ChildNodeEx) => ChildNodeEx | undefined} process_node\n * @param {() => R} create_node\n * @param {boolean} dont_update_last_index\n * @returns {R}\n */\nfunction claim_node(nodes, predicate, process_node, create_node, dont_update_last_index = false) {\n\t// Try to find nodes in an order such that we lengthen the longest increasing subsequence\n\tinit_claim_info(nodes);\n\tconst result_node = (() => {\n\t\t// We first try to find an element after the previous one\n\t\tfor (let i = nodes.claim_info.last_index; i < nodes.length; i++) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (predicate(node)) {\n\t\t\t\tconst replacement = process_node(node);\n\t\t\t\tif (replacement === undefined) {\n\t\t\t\t\tnodes.splice(i, 1);\n\t\t\t\t} else {\n\t\t\t\t\tnodes[i] = replacement;\n\t\t\t\t}\n\t\t\t\tif (!dont_update_last_index) {\n\t\t\t\t\tnodes.claim_info.last_index = i;\n\t\t\t\t}\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\t// Otherwise, we try to find one before\n\t\t// We iterate in reverse so that we don't go too far back\n\t\tfor (let i = nodes.claim_info.last_index - 1; i >= 0; i--) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (predicate(node)) {\n\t\t\t\tconst replacement = process_node(node);\n\t\t\t\tif (replacement === undefined) {\n\t\t\t\t\tnodes.splice(i, 1);\n\t\t\t\t} else {\n\t\t\t\t\tnodes[i] = replacement;\n\t\t\t\t}\n\t\t\t\tif (!dont_update_last_index) {\n\t\t\t\t\tnodes.claim_info.last_index = i;\n\t\t\t\t} else if (replacement === undefined) {\n\t\t\t\t\t// Since we spliced before the last_index, we decrease it\n\t\t\t\t\tnodes.claim_info.last_index--;\n\t\t\t\t}\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\t// If we can't find any matching node, we create a new one\n\t\treturn create_node();\n\t})();\n\tresult_node.claim_order = nodes.claim_info.total_claimed;\n\tnodes.claim_info.total_claimed += 1;\n\treturn result_node;\n}\n\n/**\n * @param {ChildNodeArray} nodes\n * @param {string} name\n * @param {{ [key: string]: boolean }} attributes\n * @param {(name: string) => Element | SVGElement} create_element\n * @returns {Element | SVGElement}\n */\nfunction claim_element_base(nodes, name, attributes, create_element) {\n\treturn claim_node(\n\t\tnodes,\n\t\t/** @returns {node is Element | SVGElement} */\n\t\t(node) => node.nodeName === name,\n\t\t/** @param {Element} node */\n\t\t(node) => {\n\t\t\tconst remove = [];\n\t\t\tfor (let j = 0; j < node.attributes.length; j++) {\n\t\t\t\tconst attribute = node.attributes[j];\n\t\t\t\tif (!attributes[attribute.name]) {\n\t\t\t\t\tremove.push(attribute.name);\n\t\t\t\t}\n\t\t\t}\n\t\t\tremove.forEach((v) => node.removeAttribute(v));\n\t\t\treturn undefined;\n\t\t},\n\t\t() => create_element(name)\n\t);\n}\n\n/**\n * @param {ChildNodeArray} nodes\n * @param {string} name\n * @param {{ [key: string]: boolean }} attributes\n * @returns {Element | SVGElement}\n */\nexport function claim_element(nodes, name, attributes) {\n\treturn claim_element_base(nodes, name, attributes, element);\n}\n\n/**\n * @param {ChildNodeArray} nodes\n * @param {string} name\n * @param {{ [key: string]: boolean }} attributes\n * @returns {Element | SVGElement}\n */\nexport function claim_svg_element(nodes, name, attributes) {\n\treturn claim_element_base(nodes, name, attributes, svg_element);\n}\n\n/**\n * @param {ChildNodeArray} nodes\n * @returns {Text}\n */\nexport function claim_text(nodes, data) {\n\treturn claim_node(\n\t\tnodes,\n\t\t/** @returns {node is Text} */\n\t\t(node) => node.nodeType === 3,\n\t\t/** @param {Text} node */\n\t\t(node) => {\n\t\t\tconst data_str = '' + data;\n\t\t\tif (node.data.startsWith(data_str)) {\n\t\t\t\tif (node.data.length !== data_str.length) {\n\t\t\t\t\treturn node.splitText(data_str.length);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tnode.data = data_str;\n\t\t\t}\n\t\t},\n\t\t() => text(data),\n\t\ttrue // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements\n\t);\n}\n\n/**\n * @returns {Text} */\nexport function claim_space(nodes) {\n\treturn claim_text(nodes, ' ');\n}\n\n/**\n * @param {ChildNodeArray} nodes\n * @returns {Comment}\n */\nexport function claim_comment(nodes, data) {\n\treturn claim_node(\n\t\tnodes,\n\t\t/** @returns {node is Comment} */\n\t\t(node) => node.nodeType === 8,\n\t\t/** @param {Comment} node */\n\t\t(node) => {\n\t\t\tnode.data = '' + data;\n\t\t\treturn undefined;\n\t\t},\n\t\t() => comment(data),\n\t\ttrue\n\t);\n}\n\nfunction get_comment_idx(nodes, text, start) {\n\tfor (let i = start; i < nodes.length; i += 1) {\n\t\tconst node = nodes[i];\n\t\tif (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n}\n\n/**\n * @param {boolean} is_svg\n * @returns {HtmlTagHydration}\n */\nexport function claim_html_tag(nodes, is_svg) {\n\t// find html opening tag\n\tconst start_index = get_comment_idx(nodes, 'HTML_TAG_START', 0);\n\tconst end_index = get_comment_idx(nodes, 'HTML_TAG_END', start_index + 1);\n\tif (start_index === -1 || end_index === -1) {\n\t\treturn new HtmlTagHydration(is_svg);\n\t}\n\n\tinit_claim_info(nodes);\n\tconst html_tag_nodes = nodes.splice(start_index, end_index - start_index + 1);\n\tdetach(html_tag_nodes[0]);\n\tdetach(html_tag_nodes[html_tag_nodes.length - 1]);\n\tconst claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1);\n\tfor (const n of claimed_nodes) {\n\t\tn.claim_order = nodes.claim_info.total_claimed;\n\t\tnodes.claim_info.total_claimed += 1;\n\t}\n\treturn new HtmlTagHydration(is_svg, claimed_nodes);\n}\n\n/**\n * @param {Text} text\n * @param {unknown} data\n * @returns {void}\n */\nexport function set_data(text, data) {\n\tdata = '' + data;\n\tif (text.data === data) return;\n\ttext.data = /** @type {string} */ (data);\n}\n\n/**\n * @param {Text} text\n * @param {unknown} data\n * @returns {void}\n */\nexport function set_data_contenteditable(text, data) {\n\tdata = '' + data;\n\tif (text.wholeText === data) return;\n\ttext.data = /** @type {string} */ (data);\n}\n\n/**\n * @param {Text} text\n * @param {unknown} data\n * @param {string} attr_value\n * @returns {void}\n */\nexport function set_data_maybe_contenteditable(text, data, attr_value) {\n\tif (~contenteditable_truthy_values.indexOf(attr_value)) {\n\t\tset_data_contenteditable(text, data);\n\t} else {\n\t\tset_data(text, data);\n\t}\n}\n\n/**\n * @returns {void} */\nexport function set_input_value(input, value) {\n\tinput.value = value == null ? '' : value;\n}\n\n/**\n * @returns {void} */\nexport function set_input_type(input, type) {\n\ttry {\n\t\tinput.type = type;\n\t} catch (e) {\n\t\t// do nothing\n\t}\n}\n\n/**\n * @returns {void} */\nexport function set_style(node, key, value, important) {\n\tif (value == null) {\n\t\tnode.style.removeProperty(key);\n\t} else {\n\t\tnode.style.setProperty(key, value, important ? 'important' : '');\n\t}\n}\n\n/**\n * @returns {void} */\nexport function select_option(select, value, mounting) {\n\tfor (let i = 0; i < select.options.length; i += 1) {\n\t\tconst option = select.options[i];\n\t\tif (option.__value === value) {\n\t\t\toption.selected = true;\n\t\t\treturn;\n\t\t}\n\t}\n\tif (!mounting || value !== undefined) {\n\t\tselect.selectedIndex = -1; // no option should be selected\n\t}\n}\n\n/**\n * @returns {void} */\nexport function select_options(select, value) {\n\tfor (let i = 0; i < select.options.length; i += 1) {\n\t\tconst option = select.options[i];\n\t\toption.selected = ~value.indexOf(option.__value);\n\t}\n}\n\nexport function select_value(select) {\n\tconst selected_option = select.querySelector(':checked');\n\treturn selected_option && selected_option.__value;\n}\n\nexport function select_multiple_value(select) {\n\treturn [].map.call(select.querySelectorAll(':checked'), (option) => option.__value);\n}\n// unfortunately this can't be a constant as that wouldn't be tree-shakeable\n// so we cache the result instead\n\n/**\n * @type {boolean} */\nlet crossorigin;\n\n/**\n * @returns {boolean} */\nexport function is_crossorigin() {\n\tif (crossorigin === undefined) {\n\t\tcrossorigin = false;\n\t\ttry {\n\t\t\tif (typeof window !== 'undefined' && window.parent) {\n\t\t\t\tvoid window.parent.document;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tcrossorigin = true;\n\t\t}\n\t}\n\treturn crossorigin;\n}\n\n/**\n * @param {HTMLElement} node\n * @param {() => void} fn\n * @returns {() => void}\n */\nexport function add_iframe_resize_listener(node, fn) {\n\tconst computed_style = getComputedStyle(node);\n\tif (computed_style.position === 'static') {\n\t\tnode.style.position = 'relative';\n\t}\n\tconst iframe = element('iframe');\n\tiframe.setAttribute(\n\t\t'style',\n\t\t'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' +\n\t\t\t'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;'\n\t);\n\tiframe.setAttribute('aria-hidden', 'true');\n\tiframe.tabIndex = -1;\n\tconst crossorigin = is_crossorigin();\n\n\t/**\n\t * @type {() => void}\n\t */\n\tlet unsubscribe;\n\tif (crossorigin) {\n\t\tiframe.src = \"data:text/html,\";\n\t\tunsubscribe = listen(\n\t\t\twindow,\n\t\t\t'message',\n\t\t\t/** @param {MessageEvent} event */ (event) => {\n\t\t\t\tif (event.source === iframe.contentWindow) fn();\n\t\t\t}\n\t\t);\n\t} else {\n\t\tiframe.src = 'about:blank';\n\t\tiframe.onload = () => {\n\t\t\tunsubscribe = listen(iframe.contentWindow, 'resize', fn);\n\t\t\t// make sure an initial resize event is fired _after_ the iframe is loaded (which is asynchronous)\n\t\t\t// see https://github.com/sveltejs/svelte/issues/4233\n\t\t\tfn();\n\t\t};\n\t}\n\tappend(node, iframe);\n\treturn () => {\n\t\tif (crossorigin) {\n\t\t\tunsubscribe();\n\t\t} else if (unsubscribe && iframe.contentWindow) {\n\t\t\tunsubscribe();\n\t\t}\n\t\tdetach(iframe);\n\t};\n}\nexport const resize_observer_content_box = /* @__PURE__ */ new ResizeObserverSingleton({\n\tbox: 'content-box'\n});\nexport const resize_observer_border_box = /* @__PURE__ */ new ResizeObserverSingleton({\n\tbox: 'border-box'\n});\nexport const resize_observer_device_pixel_content_box = /* @__PURE__ */ new ResizeObserverSingleton(\n\t{ box: 'device-pixel-content-box' }\n);\nexport { ResizeObserverSingleton };\n\n/**\n * @returns {void} */\nexport function toggle_class(element, name, toggle) {\n\t// The `!!` is required because an `undefined` flag means flipping the current state.\n\telement.classList.toggle(name, !!toggle);\n}\n\n/**\n * @template T\n * @param {string} type\n * @param {T} [detail]\n * @param {{ bubbles?: boolean, cancelable?: boolean }} [options]\n * @returns {CustomEvent}\n */\nexport function custom_event(type, detail, { bubbles = false, cancelable = false } = {}) {\n\treturn new CustomEvent(type, { detail, bubbles, cancelable });\n}\n\n/**\n * @param {string} selector\n * @param {HTMLElement} parent\n * @returns {ChildNodeArray}\n */\nexport function query_selector_all(selector, parent = document.body) {\n\treturn Array.from(parent.querySelectorAll(selector));\n}\n\n/**\n * @param {string} nodeId\n * @param {HTMLElement} head\n * @returns {any[]}\n */\nexport function head_selector(nodeId, head) {\n\tconst result = [];\n\tlet started = 0;\n\tfor (const node of head.childNodes) {\n\t\tif (node.nodeType === 8 /* comment node */) {\n\t\t\tconst comment = node.textContent.trim();\n\t\t\tif (comment === `HEAD_${nodeId}_END`) {\n\t\t\t\tstarted -= 1;\n\t\t\t\tresult.push(node);\n\t\t\t} else if (comment === `HEAD_${nodeId}_START`) {\n\t\t\t\tstarted += 1;\n\t\t\t\tresult.push(node);\n\t\t\t}\n\t\t} else if (started > 0) {\n\t\t\tresult.push(node);\n\t\t}\n\t}\n\treturn result;\n}\n/** */\nexport class HtmlTag {\n\t/**\n\t * @private\n\t * @default false\n\t */\n\tis_svg = false;\n\t/** parent for creating node */\n\te = undefined;\n\t/** html tag nodes */\n\tn = undefined;\n\t/** target */\n\tt = undefined;\n\t/** anchor */\n\ta = undefined;\n\tconstructor(is_svg = false) {\n\t\tthis.is_svg = is_svg;\n\t\tthis.e = this.n = null;\n\t}\n\n\t/**\n\t * @param {string} html\n\t * @returns {void}\n\t */\n\tc(html) {\n\t\tthis.h(html);\n\t}\n\n\t/**\n\t * @param {string} html\n\t * @param {HTMLElement | SVGElement} target\n\t * @param {HTMLElement | SVGElement} anchor\n\t * @returns {void}\n\t */\n\tm(html, target, anchor = null) {\n\t\tif (!this.e) {\n\t\t\tif (this.is_svg)\n\t\t\t\tthis.e = svg_element(/** @type {keyof SVGElementTagNameMap} */ (target.nodeName));\n\t\t\t/** #7364 target for