From af6a252d04409797861dcdee5340016ff054cd9b Mon Sep 17 00:00:00 2001 From: circle-gon <97845741+circle-gon@users.noreply.github.com> Date: Sun, 4 Dec 2022 19:44:20 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20thepaper?= =?UTF-8?q?pilot/Advent-Incremental@df645f7b47bb8055e60e7fc7c3aea3a2c204e6?= =?UTF-8?q?44=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/index.2b3b6b47.js | 16 ++++++++++++++++ assets/index.51edb8ac.js | 16 ---------------- index.html | 2 +- sw.js | 2 +- 4 files changed, 18 insertions(+), 18 deletions(-) create mode 100644 assets/index.2b3b6b47.js delete mode 100644 assets/index.51edb8ac.js diff --git a/assets/index.2b3b6b47.js b/assets/index.2b3b6b47.js new file mode 100644 index 0000000..2f7c98b --- /dev/null +++ b/assets/index.2b3b6b47.js @@ -0,0 +1,16 @@ +/* empty css */import"./vue.92681fcb.js";import{Z as I,l as Ne,u as Nn,q as on,C as o,b1 as Je,aa as L,aE as b,a0 as M,a1 as m,aK as nt,G as ye,t as x,aC as di,w as ze,b2 as xe,a8 as r,O as F,ao as ts,I as be,ay as Cn,ar as Pt,aG as pn,A as Se,_ as U,b6 as q,b8 as Vn,bs as ns,aq as $t,bu as tn,bb as Sn,T as is,a7 as g,j as ss,bv as ii,J as z,$ as P,aH as ot,aF as rt,al as yn,aL as bt,aN as Me,z as lt,H as as,aJ as fi,bn as ls,br as os,be as rs}from"./@vue.4ce677c2.js";import{i as us}from"./is-plain-object.906d88e8.js";import{c as mi}from"./nanoevents.1080beb7.js";import{L as vt}from"./lz-string.731cedc5.js";import{Y as cs}from"./vue-next-select.a2bfab1d.js";import{s as ds,u as pi}from"./vue-toastification.6f567382.js";import{D as fs}from"./vuedraggable.7949458c.js";import{p as ms}from"./vue-textarea-autosize.35804eaf.js";import{v as ps,n as hs}from"./workbox-window.8d14e8b7.js";import"./sortablejs.29100d8a.js";const gs=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const l of s)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&i(u)}).observe(document,{childList:!0,subtree:!0});function n(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerpolicy&&(l.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?l.credentials="include":s.crossorigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function i(s){if(s.ep)return;s.ep=!0;const l=n(s);fetch(s.href,l)}};gs();const vs="modulepreload",si={},ys="./",bn=function(t,n){return!n||n.length===0?t():Promise.all(n.map(i=>{if(i=`${ys}${i}`,i in si)return;si[i]=!0;const s=i.endsWith(".css"),l=s?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${i}"]${l}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":vs,s||(u.as="script",u.crossOrigin=""),u.href=i,document.head.appendChild(u),s)return new Promise((c,f)=>{u.addEventListener("load",c),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},bs="./projInfo-schema.json",_s="Advent Incremental",ws="An incremental game you play a day at a time, leading up to Christmas!",ks="advent-incremental",Ns="thepaperpilot and friends",Cs="",Ss="",Ms="0.3",Is="Initial Commit",As=!0,Ps=!1,$s=2,Es=!0,Ts=null,xs="",Bs=["main"],Fs=3600,Ds=0,Os=!0,Rs="base64";var K={$schema:bs,title:_s,description:ws,id:ks,author:Ns,discordName:Cs,discordLink:Ss,versionNumber:Ms,versionTitle:Is,allowGoBack:As,defaultShowSmall:Ps,defaultDecimalsShown:$s,useHeader:Es,banner:Ts,logo:xs,initialTabs:Bs,maxTickLength:Fs,offlineLimit:Ds,enablePausing:Os,exportEncoding:Rs};const Dn=17,qs=9e15,Vs=Math.log10(9e15),Ls=1/9e15,Gs=308,Hs=-324,ai=5,Us=function(){const e=[];for(let n=Hs+1;n<=Gs;n++)e.push(Number("1e"+n));const t=323;return function(n){return e[n+t]}}(),St=[2,Math.E,3,4,5,6,7,8,9,10],js=[[1,1.0891168053867777,1.1789745164521264,1.2701428397304229,1.3632066654400328,1.4587804913784246,1.557523817412741,1.660158301473385,1.767487542936873,1.8804205225512542,2],[1,1.1121114330934,1.23103892493161,1.35838369631113,1.49605193039935,1.64635423375119,1.81213853570186,1.99697132461829,2.20538955455724,2.44325744833852,Math.E],[1,1.1187738849693603,1.2464963939368214,1.38527004705667,1.5376664685821402,1.7068895236551784,1.897001227148399,2.1132403089001035,2.362480153784171,2.6539010333870774,3],[1,1.1367350847096405,1.2889510672956703,1.4606478703324786,1.6570295196661111,1.8850062585672889,2.1539465047453485,2.476829779693097,2.872061932789197,3.3664204535587183,4],[1,1.1494592900767588,1.319708228183931,1.5166291280087583,1.748171114438024,2.0253263297298045,2.3636668498288547,2.7858359149579424,3.3257226212448145,4.035730287722532,5],[1,1.159225940787673,1.343712473580932,1.5611293155111927,1.8221199554561318,2.14183924486326,2.542468319282638,3.0574682501653316,3.7390572020926873,4.6719550537360774,6],[1,1.1670905356972596,1.3632807444991446,1.5979222279405536,1.8842640123816674,2.2416069644878687,2.69893426559423,3.3012632110403577,4.121250340630164,5.281493033448316,7],[1,1.1736630594087796,1.379783782386201,1.6292821855668218,1.9378971836180754,2.3289975651071977,2.8384347394720835,3.5232708454565906,4.478242031114584,5.868592169644505,8],[1,1.1793017514670474,1.394054150657457,1.65664127441059,1.985170999970283,2.4069682290577457,2.9647310119960752,3.7278665320924946,4.814462547283592,6.436522247411611,9],[1,1.18422737399915,1.4066113788546144,1.680911177655277,2.027492094355525,2.4775152854601967,3.080455730250329,3.918234505962507,5.1332705696484595,6.9878696918072905,10]],zs=[[-1,-.9194161097107025,-.8335625019330468,-.7425599821143978,-.6466611521029437,-.5462617907227869,-.4419033816638769,-.3342645487554494,-.224140440909962,-.11241087890006762,0],[-1,-.90603157029014,-.80786507256596,-.7064666939634,-.60294836853664,-.49849837513117,-.39430303318768,-.29147201034755,-.19097820800866,-.09361896280296,0],[-1,-.9021579584316141,-.8005762598234203,-.6964780623319391,-.5911906810998454,-.486050182576545,-.3823089430815083,-.28106046722897615,-.1831906535795894,-.08935809204418144,0],[-1,-.8917227442365535,-.781258746326964,-.6705130326902455,-.5612813129406509,-.4551067709033134,-.35319256652135966,-.2563741554088552,-.1651412821106526,-.0796919581982668,0],[-1,-.8843387974366064,-.7678744063886243,-.6529563724510552,-.5415870994657841,-.4352842206588936,-.33504449124791424,-.24138853420685147,-.15445285440944467,-.07409659641336663,0],[-1,-.8786709358426346,-.7577735191184886,-.6399546189952064,-.527284921869926,-.4211627631006314,-.3223479611761232,-.23107655627789858,-.1472057700818259,-.07035171210706326,0],[-1,-.8740862815291583,-.7497032990976209,-.6297119746181752,-.5161838335958787,-.41036238255751956,-.31277212146489963,-.2233976621705518,-.1418697367979619,-.06762117662323441,0],[-1,-.8702632331800649,-.7430366914122081,-.6213373075161548,-.5072025698095242,-.40171437727184167,-.30517930701410456,-.21736343968190863,-.137710238299109,-.06550774483471955,0],[-1,-.8670016295947213,-.7373984232432306,-.6143173985094293,-.49973884395492807,-.394584953527678,-.2989649949848695,-.21245647317021688,-.13434688362382652,-.0638072667348083,0],[-1,-.8641642839543857,-.732534623168535,-.6083127477059322,-.4934049257184696,-.3885773075899922,-.29376029055315767,-.2083678561173622,-.13155653399373268,-.062401588652553186,0]],h=function(t){return a.fromValue_noAlloc(t)},V=function(e,t,n){return a.fromComponents(e,t,n)},j=function(t,n,i){return a.fromComponents_noNormalize(t,n,i)},ht=function(t,n){const i=n+1,s=Math.ceil(Math.log10(Math.abs(t))),l=Math.round(t*Math.pow(10,i-s))*Math.pow(10,s-i);return parseFloat(l.toFixed(Math.max(i-s,0)))},On=function(e){return Math.sign(e)*Math.log10(Math.abs(e))},Ws=function(e){if(!isFinite(e))return e;if(e<-50)return e===Math.trunc(e)?Number.NEGATIVE_INFINITY:0;let t=1;for(;e<10;)t=t*e,++e;e-=1;let n=.9189385332046727;n=n+(e+.5)*Math.log(e),n=n-e;const i=e*e;let s=e;return n=n+1/(12*s),s=s*i,n=n+1/(360*s),s=s*i,n=n+1/(1260*s),s=s*i,n=n+1/(1680*s),s=s*i,n=n+1/(1188*s),s=s*i,n=n+691/(360360*s),s=s*i,n=n+7/(1092*s),s=s*i,n=n+3617/(122400*s),Math.exp(n)/t},hi=.5671432904097838,li=function(e,t=1e-10){let n,i;if(!Number.isFinite(e)||e===0)return e;if(e===1)return hi;e<10?n=0:n=Math.log(e)-Math.log(Math.log(e));for(let s=0;s<100;++s){if(i=(e*Math.exp(-n)+n*n)/(n+1),Math.abs(i-n).5?1:-1;if(Math.random()*20<1)return j(t,0,1);const n=Math.floor(Math.random()*(e+1));let i=n===0?Math.random()*616-308:Math.random()*16;Math.random()>.9&&(i=Math.trunc(i));let s=Math.pow(10,i);return Math.random()>.9&&(s=Math.trunc(s)),V(t,n,s)}static affordGeometricSeries_core(e,t,n,i){const s=t.mul(n.pow(i));return k.floor(e.div(s).mul(n.sub(1)).add(1).log10().div(n.log10()))}static sumGeometricSeries_core(e,t,n,i){return t.mul(n.pow(i)).mul(k.sub(1,n.pow(e))).div(k.sub(1,n))}static affordArithmeticSeries_core(e,t,n,i){const l=t.add(i.mul(n)).sub(n.div(2)),u=l.pow(2);return l.neg().add(u.add(n.mul(e).mul(2)).sqrt()).div(n).floor()}static sumArithmeticSeries_core(e,t,n,i){const s=t.add(i.mul(n));return e.div(2).mul(s.mul(2).plus(e.sub(1).mul(n)))}static efficiencyOfPurchase_core(e,t,n){return e.div(t).add(e.div(n))}normalize(){if(this.sign===0||this.mag===0&&this.layer===0)return this.sign=0,this.mag=0,this.layer=0,this;if(this.layer===0&&this.mag<0&&(this.mag=-this.mag,this.sign=-this.sign),this.layer===0&&this.mag=qs)return this.layer+=1,this.mag=t*Math.log10(e),this;for(;e0;)this.layer-=1,this.layer===0?this.mag=Math.pow(10,this.mag):(this.mag=t*Math.pow(10,e),e=Math.abs(this.mag),t=Math.sign(this.mag));return this.layer===0&&(this.mag<0?(this.mag=-this.mag,this.sign=-this.sign):this.mag===0&&(this.sign=0)),this}fromComponents(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this.normalize(),this}fromComponents_noNormalize(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this}fromMantissaExponent(e,t){return this.layer=1,this.sign=Math.sign(e),e=Math.abs(e),this.mag=t+Math.log10(e),this.normalize(),this}fromMantissaExponent_noNormalize(e,t){return this.fromMantissaExponent(e,t),this}fromDecimal(e){return this.sign=e.sign,this.layer=e.layer,this.mag=e.mag,this}fromNumber(e){return this.mag=Math.abs(e),this.sign=Math.sign(e),this.layer=0,this.normalize(),this}fromString(e){e=e.replace(",","");const t=e.split("^^^");if(t.length===2){const v=parseFloat(t[0]),p=parseFloat(t[1]),w=t[1].split(";");let S=1;if(w.length===2&&(S=parseFloat(w[1]),isFinite(S)||(S=1)),isFinite(v)&&isFinite(p)){const H=k.pentate(v,p,S);return this.sign=H.sign,this.layer=H.layer,this.mag=H.mag,this}}const n=e.split("^^");if(n.length===2){const v=parseFloat(n[0]),p=parseFloat(n[1]),w=n[1].split(";");let S=1;if(w.length===2&&(S=parseFloat(w[1]),isFinite(S)||(S=1)),isFinite(v)&&isFinite(p)){const H=k.tetrate(v,p,S);return this.sign=H.sign,this.layer=H.layer,this.mag=H.mag,this}}const i=e.split("^");if(i.length===2){const v=parseFloat(i[0]),p=parseFloat(i[1]);if(isFinite(v)&&isFinite(p)){const w=k.pow(v,p);return this.sign=w.sign,this.layer=w.layer,this.mag=w.mag,this}}e=e.trim().toLowerCase();let s,l,u=e.split("pt");if(u.length===2){s=10,l=parseFloat(u[0]),u[1]=u[1].replace("(",""),u[1]=u[1].replace(")","");let v=parseFloat(u[1]);if(isFinite(v)||(v=1),isFinite(s)&&isFinite(l)){const p=k.tetrate(s,l,v);return this.sign=p.sign,this.layer=p.layer,this.mag=p.mag,this}}if(u=e.split("p"),u.length===2){s=10,l=parseFloat(u[0]),u[1]=u[1].replace("(",""),u[1]=u[1].replace(")","");let v=parseFloat(u[1]);if(isFinite(v)||(v=1),isFinite(s)&&isFinite(l)){const p=k.tetrate(s,l,v);return this.sign=p.sign,this.layer=p.layer,this.mag=p.mag,this}}const c=e.split("e"),f=c.length-1;if(f===0){const v=parseFloat(e);if(isFinite(v))return this.fromNumber(v)}else if(f===1){const v=parseFloat(e);if(isFinite(v)&&v!==0)return this.fromNumber(v)}const d=e.split("e^");if(d.length===2){this.sign=1,d[0].charAt(0)=="-"&&(this.sign=-1);let v="";for(let p=0;p=43&&w<=57||w===101)v+=d[1].charAt(p);else return this.layer=parseFloat(v),this.mag=parseFloat(d[1].substr(p+1)),this.normalize(),this}}if(f<1)return this.sign=0,this.layer=0,this.mag=0,this;const _=parseFloat(c[0]);if(_===0)return this.sign=0,this.layer=0,this.mag=0,this;let y=parseFloat(c[c.length-1]);if(f>=2){const v=parseFloat(c[c.length-2]);isFinite(v)&&(y*=Math.sign(v),y+=On(v))}if(!isFinite(_))this.sign=c[0]==="-"?-1:1,this.layer=f,this.mag=y;else if(f===1)this.sign=Math.sign(_),this.layer=1,this.mag=y+Math.log10(Math.abs(_));else if(this.sign=Math.sign(_),this.layer=f,f===2){const v=k.mul(V(1,2,y),h(_));return this.sign=v.sign,this.layer=v.layer,this.mag=v.mag,this}else this.mag=y;return this.normalize(),this}fromValue(e){return e instanceof k||e!=null&&typeof e=="object"&&"sign"in e&&"mag"in e&&"layer"in e?this.fromDecimal(e):typeof e=="number"?this.fromNumber(e):typeof e=="string"?this.fromString(e):(this.sign=0,this.layer=0,this.mag=0,this)}toNumber(){return Number.isFinite(this.layer)?this.layer===0?this.sign*this.mag:this.layer===1?this.sign*Math.pow(10,this.mag):this.mag>0?this.sign>0?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:0:Number.NaN}mantissaWithDecimalPlaces(e){return isNaN(this.m)?Number.NaN:this.m===0?0:ht(this.m,e)}magnitudeWithDecimalPlaces(e){return isNaN(this.mag)?Number.NaN:this.mag===0?0:ht(this.mag,e)}toString(){return isNaN(this.layer)||isNaN(this.sign)||isNaN(this.mag)?"NaN":this.mag===Number.POSITIVE_INFINITY||this.layer===Number.POSITIVE_INFINITY?this.sign===1?"Infinity":"-Infinity":this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toString():this.m+"e"+this.e:this.layer===1?this.m+"e"+this.e:this.layer<=ai?(this.sign===-1?"-":"")+"e".repeat(this.layer)+this.mag:(this.sign===-1?"-":"")+"(e^"+this.layer+")"+this.mag}toExponential(e){return this.layer===0?(this.sign*this.mag).toExponential(e):this.toStringWithDecimalPlaces(e)}toFixed(e){return this.layer===0?(this.sign*this.mag).toFixed(e):this.toStringWithDecimalPlaces(e)}toPrecision(e){return this.e<=-7?this.toExponential(e-1):e>this.e?this.toFixed(e-this.exponent-1):this.toExponential(e-1)}valueOf(){return this.toString()}toJSON(){return this.toString()}toStringWithDecimalPlaces(e){return this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toFixed(e):ht(this.m,e)+"e"+ht(this.e,e):this.layer===1?ht(this.m,e)+"e"+ht(this.e,e):this.layer<=ai?(this.sign===-1?"-":"")+"e".repeat(this.layer)+ht(this.mag,e):(this.sign===-1?"-":"")+"(e^"+this.layer+")"+ht(this.mag,e)}abs(){return j(this.sign===0?0:1,this.layer,this.mag)}neg(){return j(-this.sign,this.layer,this.mag)}negate(){return this.neg()}negated(){return this.neg()}sgn(){return this.sign}round(){return this.mag<0?k.dZero:this.layer===0?V(this.sign,0,Math.round(this.mag)):this}floor(){return this.mag<0?k.dZero:this.layer===0?V(this.sign,0,Math.floor(this.mag)):this}ceil(){return this.mag<0?k.dZero:this.layer===0?V(this.sign,0,Math.ceil(this.mag)):this}trunc(){return this.mag<0?k.dZero:this.layer===0?V(this.sign,0,Math.trunc(this.mag)):this}add(e){const t=h(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer)||this.sign===0)return t;if(t.sign===0)return this;if(this.sign===-t.sign&&this.layer===t.layer&&this.mag===t.mag)return j(0,0,0);let n,i;if(this.layer>=2||t.layer>=2)return this.maxabs(t);if(k.cmpabs(this,t)>0?(n=this,i=t):(n=t,i=this),n.layer===0&&i.layer===0)return h(n.sign*n.mag+i.sign*i.mag);const s=n.layer*Math.sign(n.mag),l=i.layer*Math.sign(i.mag);if(s-l>=2)return n;if(s===0&&l===-1){if(Math.abs(i.mag-Math.log10(n.mag))>Dn)return n;{const u=Math.pow(10,Math.log10(n.mag)-i.mag),c=i.sign+n.sign*u;return V(Math.sign(c),1,i.mag+Math.log10(Math.abs(c)))}}if(s===1&&l===0){if(Math.abs(n.mag-Math.log10(i.mag))>Dn)return n;{const u=Math.pow(10,n.mag-Math.log10(i.mag)),c=i.sign+n.sign*u;return V(Math.sign(c),1,Math.log10(i.mag)+Math.log10(Math.abs(c)))}}if(Math.abs(n.mag-i.mag)>Dn)return n;{const u=Math.pow(10,n.mag-i.mag),c=i.sign+n.sign*u;return V(Math.sign(c),1,i.mag+Math.log10(Math.abs(c)))}}plus(e){return this.add(e)}sub(e){return this.add(h(e).neg())}subtract(e){return this.sub(e)}minus(e){return this.sub(e)}mul(e){const t=h(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer))return t;if(this.sign===0||t.sign===0)return j(0,0,0);if(this.layer===t.layer&&this.mag===-t.mag)return j(this.sign*t.sign,0,1);let n,i;if(this.layer>t.layer||this.layer==t.layer&&Math.abs(this.mag)>Math.abs(t.mag)?(n=this,i=t):(n=t,i=this),n.layer===0&&i.layer===0)return h(n.sign*i.sign*n.mag*i.mag);if(n.layer>=3||n.layer-i.layer>=2)return V(n.sign*i.sign,n.layer,n.mag);if(n.layer===1&&i.layer===0)return V(n.sign*i.sign,1,n.mag+Math.log10(i.mag));if(n.layer===1&&i.layer===1)return V(n.sign*i.sign,1,n.mag+i.mag);if(n.layer===2&&i.layer===1){const s=V(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(V(Math.sign(i.mag),i.layer-1,Math.abs(i.mag)));return V(n.sign*i.sign,s.layer+1,s.sign*s.mag)}if(n.layer===2&&i.layer===2){const s=V(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(V(Math.sign(i.mag),i.layer-1,Math.abs(i.mag)));return V(n.sign*i.sign,s.layer+1,s.sign*s.mag)}throw Error("Bad arguments to mul: "+this+", "+e)}multiply(e){return this.mul(e)}times(e){return this.mul(e)}div(e){const t=h(e);return this.mul(t.recip())}divide(e){return this.div(e)}divideBy(e){return this.div(e)}dividedBy(e){return this.div(e)}recip(){return this.mag===0?k.dNaN:this.layer===0?V(this.sign,0,1/this.mag):V(this.sign,this.layer,-this.mag)}reciprocal(){return this.recip()}reciprocate(){return this.recip()}cmp(e){const t=h(e);return this.sign>t.sign?1:this.sign0?this.layer:-this.layer,i=t.mag>0?t.layer:-t.layer;return n>i?1:nt.mag?1:this.mag0?t:this}clamp(e,t){return this.max(e).min(t)}clampMin(e){return this.max(e)}clampMax(e){return this.min(e)}cmp_tolerance(e,t){const n=h(e);return this.eq_tolerance(n,t)?0:this.cmp(n)}compare_tolerance(e,t){return this.cmp_tolerance(e,t)}eq_tolerance(e,t){const n=h(e);if(t==null&&(t=1e-7),this.sign!==n.sign||Math.abs(this.layer-n.layer)>1)return!1;let i=this.mag,s=n.mag;return this.layer>n.layer&&(s=On(s)),this.layer0?V(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):V(1,0,Math.log10(this.mag))}log10(){return this.sign<=0?k.dNaN:this.layer>0?V(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):V(this.sign,0,Math.log10(this.mag))}log(e){return e=h(e),this.sign<=0||e.sign<=0||e.sign===1&&e.layer===0&&e.mag===1?k.dNaN:this.layer===0&&e.layer===0?V(this.sign,0,Math.log(this.mag)/Math.log(e.mag)):k.div(this.log10(),e.log10())}log2(){return this.sign<=0?k.dNaN:this.layer===0?V(this.sign,0,Math.log2(this.mag)):this.layer===1?V(Math.sign(this.mag),0,Math.abs(this.mag)*3.321928094887362):this.layer===2?V(Math.sign(this.mag),1,Math.abs(this.mag)+.5213902276543247):V(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}ln(){return this.sign<=0?k.dNaN:this.layer===0?V(this.sign,0,Math.log(this.mag)):this.layer===1?V(Math.sign(this.mag),0,Math.abs(this.mag)*2.302585092994046):this.layer===2?V(Math.sign(this.mag),1,Math.abs(this.mag)+.36221568869946325):V(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}logarithm(e){return this.log(e)}pow(e){const t=h(e),n=this,i=t;if(n.sign===0)return i.eq(0)?j(1,0,1):n;if(n.sign===1&&n.layer===0&&n.mag===1)return n;if(i.sign===0)return j(1,0,1);if(i.sign===1&&i.layer===0&&i.mag===1)return n;const s=n.absLog10().mul(i).pow10();return this.sign===-1?Math.abs(i.toNumber()%2)%2===1?s.neg():Math.abs(i.toNumber()%2)%2===0?s:k.dNaN:s}pow10(){if(!Number.isFinite(this.layer)||!Number.isFinite(this.mag))return k.dNaN;let e=this;if(e.layer===0){const t=Math.pow(10,e.sign*e.mag);if(Number.isFinite(t)&&Math.abs(t)>=.1)return V(1,0,t);if(e.sign===0)return k.dOne;e=j(e.sign,e.layer+1,Math.log10(e.mag))}return e.sign>0&&e.mag>=0?V(e.sign,e.layer+1,e.mag):e.sign<0&&e.mag>=0?V(-e.sign,e.layer+1,-e.mag):k.dOne}pow_base(e){return h(e).pow(this)}root(e){const t=h(e);return this.pow(t.recip())}factorial(){return this.mag<0?this.add(1).gamma():this.layer===0?this.add(1).gamma():this.layer===1?k.exp(k.mul(this,k.ln(this).sub(1))):k.exp(this)}gamma(){if(this.mag<0)return this.recip();if(this.layer===0){if(this.lt(j(1,0,24)))return h(Ws(this.sign*this.mag));const e=this.mag-1;let t=.9189385332046727;t=t+(e+.5)*Math.log(e),t=t-e;const n=e*e;let i=e,s=12*i,l=1/s,u=t+l;if(u===t||(t=u,i=i*n,s=360*i,l=1/s,u=t-l,u===t))return k.exp(t);t=u,i=i*n,s=1260*i;let c=1/s;return t=t+c,i=i*n,s=1680*i,c=1/s,t=t-c,k.exp(t)}else return this.layer===1?k.exp(k.mul(this,k.ln(this).sub(1))):k.exp(this)}lngamma(){return this.gamma().ln()}exp(){return this.mag<0?k.dOne:this.layer===0&&this.mag<=709.7?h(Math.exp(this.sign*this.mag)):this.layer===0?V(1,1,this.sign*Math.log10(Math.E)*this.mag):this.layer===1?V(1,2,this.sign*(Math.log10(.4342944819032518)+this.mag)):V(1,this.layer+1,this.sign*this.mag)}sqr(){return this.pow(2)}sqrt(){if(this.layer===0)return h(Math.sqrt(this.sign*this.mag));if(this.layer===1)return V(1,2,Math.log10(this.mag)-.3010299956639812);{const e=k.div(j(this.sign,this.layer-1,this.mag),j(1,0,2));return e.layer+=1,e.normalize(),e}}cube(){return this.pow(3)}cbrt(){return this.pow(1/3)}tetrate(e=2,t=j(1,0,1)){if(e===1)return k.pow(this,t);if(e===0)return new k(t);if(this.eq(k.dOne))return k.dOne;if(this.eq(-1))return k.pow(this,t);if(e===Number.POSITIVE_INFINITY){const s=this.toNumber();if(s<=1.444667861009766&&s>=.06598803584531254){if(s>1.444667861009099)return new k(Math.E);const l=k.ln(this).neg();return l.lambertw().div(l)}else return s>1.444667861009766?new k(Number.POSITIVE_INFINITY):k.dNaN}if(this.eq(k.dZero)){let s=Math.abs((e+1)%2);return s>1&&(s=2-s),new k(s)}if(e<0)return k.iteratedlog(t,this,-e);t=h(t);const n=e;e=Math.trunc(e);const i=n-e;if(this.gt(k.dZero)&&this.lte(1.444667861009766)){e=Math.min(1e4,e);for(let s=0;s3)return j(t.sign,t.layer+(e-s-1),t.mag);if(s>1e4)return t}return t}iteratedexp(e=2,t=j(1,0,1)){return this.tetrate(e,t)}iteratedlog(e=10,t=1){if(t<0)return k.tetrate(e,-t,this);e=h(e);let n=h(this);const i=t;t=Math.trunc(t);const s=i-t;if(n.layer-e.layer>3){const l=Math.min(t,n.layer-e.layer-3);t-=l,n.layer-=l}for(let l=0;l1e4)return n}return s>0&&s<1&&(e.eq(10)?n=n.layeradd10(-s):n=n.layeradd(-s,e)),n}slog(e=10){if(e=h(e),e.lte(k.dZero)||e.eq(k.dOne))return k.dNaN;if(e.lt(k.dOne))return this.eq(k.dOne)?k.dZero:this.eq(k.dZero)?k.dNegOne:k.dNaN;if(this.mag<0||this.eq(k.dZero))return k.dNegOne;let t=0,n=h(this);if(n.layer-e.layer>3){const i=n.layer-e.layer-3;t+=i,n.layer-=i}for(let i=0;i<100;++i)if(n.lt(k.dZero))n=k.pow(e,n),t-=1;else{if(n.lte(k.dOne))return h(t+k.slog_critical(e.toNumber(),n.toNumber()));t+=1,n=k.log(n,e)}return h(t)}static slog_critical(e,t){return e>10?t-1:k.critical_section(e,t,zs)}static tetrate_critical(e,t){return k.critical_section(e,t,js)}static critical_section(e,t,n){t*=10,t<0&&(t=0),t>10&&(t=10),e<2&&(e=2),e>10&&(e=10);let i=0,s=0;for(let c=0;ce){const f=(e-St[c])/(St[c+1]-St[c]);i=n[c][Math.floor(t)]*(1-f)+n[c+1][Math.floor(t)]*f,s=n[c][Math.ceil(t)]*(1-f)+n[c+1][Math.ceil(t)]*f;break}const l=t-Math.floor(t);return i*(1-l)+s*l}layeradd10(e){e=k.fromValue_noAlloc(e).toNumber();const t=h(this);if(e>=1){t.mag<0&&t.layer>0?(t.sign=0,t.mag=0,t.layer=0):t.sign===-1&&t.layer==0&&(t.sign=1,t.mag=-t.mag);const n=Math.trunc(e);e-=n,t.layer+=n}if(e<=-1){const n=Math.trunc(e);if(e-=n,t.layer+=n,t.layer<0)for(let i=0;i<100;++i){if(t.layer++,t.mag=Math.log10(t.mag),!isFinite(t.mag))return t.sign===0&&(t.sign=1),t.layer<0&&(t.layer=0),t.normalize();if(t.layer>=0)break}}for(;t.layer<0;)t.layer++,t.mag=Math.log10(t.mag);return t.sign===0&&(t.sign=1,t.mag===0&&t.layer>=1&&(t.layer-=1,t.mag=1)),t.normalize(),e!==0?t.layeradd(e,10):t}layeradd(e,t){const i=this.slog(t).toNumber()+e;return i>=0?k.tetrate(t,i):Number.isFinite(i)?i>=-1?k.log(k.tetrate(t,i+1),t):k.log(k.log(k.tetrate(t,i+2),t),t):k.dNaN}lambertw(){if(this.lt(-.3678794411710499))throw Error("lambertw is unimplemented for results less than -1, sorry!");if(this.mag<0)return h(li(this.toNumber()));if(this.layer===0)return h(li(this.sign*this.mag));if(this.layer===1)return oi(this);if(this.layer===2)return oi(this);if(this.layer>=3)return j(this.sign,this.layer-1,this.mag);throw"Unhandled behavior in lambertw()"}ssqrt(){if(this.sign==1&&this.layer>=3)return j(this.sign,this.layer-1,this.mag);const e=this.ln();return e.div(e.lambertw())}pentate(e=2,t=j(1,0,1)){t=h(t);const n=e;e=Math.trunc(e);const i=n-e;i!==0&&(t.eq(k.dOne)?(++e,t=new k(i)):this.eq(10)?t=t.layeradd10(i):t=t.layeradd(i,this));for(let s=0;s10)return t}return t}sin(){return this.mag<0?this:this.layer===0?h(Math.sin(this.sign*this.mag)):j(0,0,0)}cos(){return this.mag<0?k.dOne:this.layer===0?h(Math.cos(this.sign*this.mag)):j(0,0,0)}tan(){return this.mag<0?this:this.layer===0?h(Math.tan(this.sign*this.mag)):j(0,0,0)}asin(){return this.mag<0?this:this.layer===0?h(Math.asin(this.sign*this.mag)):j(Number.NaN,Number.NaN,Number.NaN)}acos(){return this.mag<0?h(Math.acos(this.toNumber())):this.layer===0?h(Math.acos(this.sign*this.mag)):j(Number.NaN,Number.NaN,Number.NaN)}atan(){return this.mag<0?this:this.layer===0?h(Math.atan(this.sign*this.mag)):h(Math.atan(this.sign*(1/0)))}sinh(){return this.exp().sub(this.negate().exp()).div(2)}cosh(){return this.exp().add(this.negate().exp()).div(2)}tanh(){return this.sinh().div(this.cosh())}asinh(){return k.ln(this.add(this.sqr().add(1).sqrt()))}acosh(){return k.ln(this.add(this.sqr().sub(1).sqrt()))}atanh(){return this.abs().gte(1)?j(Number.NaN,Number.NaN,Number.NaN):k.ln(this.add(1).div(h(1).sub(this))).div(2)}ascensionPenalty(e){return e===0?this:this.root(k.pow(10,e))}egg(){return this.add(9)}lessThanOrEqualTo(e){return this.cmp(e)<1}lessThan(e){return this.cmp(e)<0}greaterThanOrEqualTo(e){return this.cmp(e)>-1}greaterThan(e){return this.cmp(e)>0}};let a=k;a.dZero=j(0,0,0);a.dOne=j(1,0,1);a.dNegOne=j(-1,0,1);a.dTwo=j(1,0,2);a.dTen=j(1,0,10);a.dNaN=j(Number.NaN,Number.NaN,Number.NaN);a.dInf=j(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);a.dNegInf=j(-1,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);a.dNumberMax=V(1,0,Number.MAX_VALUE);a.dNumberMin=V(1,0,Number.MIN_VALUE);const Qs=new a(1);function Yt(e,t,n=!0){let i=a.log10(e).floor(),s=a.div(e,a.pow(10,i));s.toStringWithDecimalPlaces(t)==="10"&&(s=Qs,i=i.add(1));const l=i.gte(1e9)?We(i,Math.max(Math.max(t,3),K.defaultDecimalsShown)):i.gte(1e4)?_n(i,0):i.toStringWithDecimalPlaces(0);return n?s.toStringWithDecimalPlaces(t)+"e"+l:"e"+l}function _n(e,t){if(e==null)return"NaN";if(e=new a(e),e.mag<.001)return 0 .toFixed(t);const i=e.toStringWithDecimalPlaces(t).split(".");return i[0]=i[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"),i.length==1?i[0]:i[0]+"."+i[1]}function gi(e,t){return e==null?"NaN":(e=new a(e),e.mag<1e-4?0 .toFixed(t):(e.mag<.1&&t!==0&&(t=Math.max(Math.max(t,e.log10().negate().ceil().toNumber()),K.defaultDecimalsShown)),e.toStringWithDecimalPlaces(t)))}const Ks=new a("eeee1000"),Js=new a("e100000"),ri=new a("e1000"),vi=new a(1e9),Xs=new a(1e6),Zs=new a(1e3),Ys=new a(.98),ea=new a(.001),yi=new a(0);function We(e,t,n){if(t==null&&(t=K.defaultDecimalsShown),n=n!=null?n:K.defaultShowSmall,e=new a(e),isNaN(e.sign)||isNaN(e.layer)||isNaN(e.mag))return"NaN";if(e.sign<0)return"-"+We(e.neg(),t);if(e.mag===Number.POSITIVE_INFINITY)return"Infinity";if(e.gte(Ks)){const i=e.slog();return i.gte(Xs)?"F"+We(i.floor()):a.pow(10,i.sub(i.floor())).toStringWithDecimalPlaces(3)+"F"+_n(i.floor(),0)}else{if(e.gte(Js))return Yt(e,0,!1);if(e.gte(ri))return Yt(e,0);if(e.gte(vi))return Yt(e,t);if(e.gte(Zs))return _n(e,0);if(e.gte(ea)||!n)return gi(e,t);if(e.eq(yi))return 0 .toFixed(t)}return e=_i(e),e.lt(ri)?Yt(e,t).replace(/([^(?:e|F)]*)$/,"-$1"):We(e,t)+"\u207B\xB9"}function je(e){return e=new a(e),e.sign<0?"-"+je(e.neg()):e.gte(vi)||e.lte(Ys)&&!e.eq(yi)?We(e):We(e,0)}function bi(e){return a.lt(e,0)?"-"+bi(a.neg(e)):a.gt(e,2**51)?We(a.div(e,31536e3))+"y":(e=new a(e).toNumber(),e<60?We(e)+"s":e<3600?je(Math.floor(e/60))+"m "+We(e%60)+"s":e<86400?je(Math.floor(e/3600))+"h "+je(Math.floor(e/60)%60)+"m "+je(e%60)+"s":e<31536e3?je(Math.floor(e/84600)%365)+"d "+je(Math.floor(e/3600)%24)+"h "+je(Math.floor(e/60)%60)+"m":je(Math.floor(e/31536e3))+"y "+je(Math.floor(e/84600)%365)+"d "+je(Math.floor(e/3600)%24)+"h")}function ta(e,t,n){e=new a(e);let i=e.toStringWithDecimalPlaces(t);return new a(i).gte(n)&&(i=a.sub(n,Math.pow(.1,t)).toStringWithDecimalPlaces(t)),i}function na(e,t){return We(e,t,!0)}function _i(e){let t=a.log10(e).ceil();const n=a.div(e,a.pow(10,t));return t=t.neg(),e=new a(10).pow(t).times(n),e}var ia=Object.freeze(Object.defineProperty({__proto__:null,default:a,exponentialFormat:Yt,commaFormat:_n,regularFormat:gi,format:We,formatWhole:je,formatTime:bi,toPlaces:ta,formatSmall:na,invertOOM:_i},Symbol.toStringTag,{value:"Module"}));const{exponentialFormat:sa,commaFormat:aa,regularFormat:la,format:Z,formatWhole:R,formatTime:Mn,toPlaces:oa,formatSmall:ra,invertOOM:ua}=ia;window.Decimal=a;window.exponentialFormat=sa;window.commaFormat=aa;window.regularFormat=la;window.format=Z;window.formatWhole=R;window.formatTime=Mn;window.toPlaces=oa;window.formatSmall=ra;window.invertOOM=ua;function wi(e){let t=e.replace(/([A-Z])/g," $1");return t=t.charAt(0).toUpperCase()+t.slice(1),t}function Rn(e){return typeof e=="function"}var J=(e=>(e.Up="Up",e.Down="Down",e.Left="Left",e.Right="Right",e.Default="Up",e))(J||{});const nn=Symbol("DoNotCache");function $(e,t){const n=e[t];Rn(n)&&n.length===0&&!n[nn]?e[t]=I(n.bind(e)):Rn(n)&&(e[t]=n.bind(e),e[t][nn]=!0)}function Be(e){return Rn(e)&&!e[nn]&&(e=I(e)),e}const _t=Symbol("Component"),wt=Symbol("GatherProps");let ca=0;function Gt(e="feature-"){return e+ca++}var ke=(e=>(e[e.Visible=0]="Visible",e[e.Hidden=1]="Hidden",e[e.None=2]="None",e))(ke||{});function B(e){return e[nn]=!0,e}function Y(e,t=2){return e?0:t}function Ce(e,t,n){e[t]===void 0&&n!=null&&(e[t]=n)}function ki(e,...t){const n=[],i=s=>{Object.keys(s).forEach(l=>{const u=s[l];u&&typeof u=="object"&&(t.includes(u.type)?n.push(u):!(u instanceof a)&&!Ne(u)&&i(u))})};return i(e),n}const Mt={variables:{"--foreground":"#dfdfdf","--background":"#0f0f0f","--feature-foreground":"#0f0f0f","--tooltip-background":"rgba(0, 0, 0, 0.75)","--raised-background":"#0f0f0f","--points":"#ffffff","--locked":"#bf8f8f","--highlighted":"#333","--bought":"#77bf5f","--danger":"rgb(220, 53, 69)","--link":"#02f2f2","--outline":"#dfdfdf","--accent1":"#627a82","--accent2":"#658262","--accent3":"#7c6282","--border-radius":"15px","--modal-border":"solid 2px var(--color)","--feature-margin":"0px"},floatingTabs:!0,mergeAdjacent:!0,showPin:!0};var Ln=(e=>(e.Classic="classic",e.Paper="paper",e.Nordic="nordic",e.Aqua="aqua",e))(Ln||{}),rn={classic:Mt,paper:{...Mt,variables:{...Mt.variables,"--background":"#2a323d","--feature-foreground":"#000","--raised-background":"#333c4a","--locked":"#3a3e45","--bought":"#5C8A58","--outline":"#333c4a","--border-radius":"4px","--modal-border":"","--feature-margin":"5px"},floatingTabs:!1},nordic:{...Mt,variables:{...Mt.variables,"--foreground":"#D8DEE9","--background":"#2E3440","--feature-foreground":"#000","--raised-background":"#3B4252","--points":"#E5E9F0","--locked":"#4c566a","--highlighted":"#434c5e","--bought":"#8FBCBB","--danger":"#D08770","--link":"#88C0D0","--outline":"#3B4252","--accent1":"#B48EAD","--accent2":"#A3BE8C","--accent3":"#EBCB8B","--border-radius":"4px","--modal-border":"solid 2px #3B4252","--feature-margin":"5px"},floatingTabs:!1},aqua:{...Mt,variables:{...Mt.variables,"--foreground":"#bfdfff","--background":"#001f3f","--tooltip-background":"rgba(0, 15, 31, 0.75)","--raised-background":"#001f3f","--points":"#dfefff","--locked":"#c4a7b3","--outline":"#bfdfff"}}};const de=Symbol("ProxyState"),Dt=Symbol("ProxyPath");function Le(e,t={}){const n=t;let i=!1;function s(){return i||(Object.assign(n,e(n)),i=!0),n}return new Proxy(n,{get(l,u){return u===de?s():s()[u]},set(l,u,c){return s()[u]=c,!0},has(l,u){return u===de?!0:Reflect.has(s(),u)},ownKeys(){return Reflect.ownKeys(s())},getOwnPropertyDescriptor(l,u){return i||(Object.assign(n,e(n)),i=!0),Object.getOwnPropertyDescriptor(l,u)}})}var ne=window.state=Nn({lastTenTicks:[],hasNaN:!1,NaNPath:[]});const Ni=on({id:"",devSpeed:null,name:"",tabs:[],time:-1,autosave:!0,offlineProd:!0,offlineTime:null,timePlayed:0,keepGoing:!1,modID:"",modVersion:"",layers:{}});function Ci(e){return JSON.stringify(e,(t,n)=>o(n))}const Si={get(e,t){var i;if(t===de||t===Dt)return e[t];const n=e[de][t];if(t!=="value"&&(us(n)||Array.isArray(n))){if(n!==((i=e[t])==null?void 0:i[de])){const s=[...e[Dt],t];e[t]=new Proxy({[de]:n,[Dt]:s},Si)}return e[t]}return n},set(e,t,n,i){if(!ne.hasNaN&&(typeof n=="number"&&isNaN(n)||n instanceof a&&(isNaN(n.sign)||isNaN(n.layer)||isNaN(n.mag)))){const s=e[de][t];if(!(typeof s=="number"&&isNaN(s)||s instanceof a&&(isNaN(s.sign)||isNaN(s.layer)||isNaN(s.mag))))throw Ni.autosave=!1,ne.hasNaN=!0,ne.NaNPath=[...e[Dt],t],ne.NaNReceiver=i,console.error("Attempted to set NaN value",[...e[Dt],t],e[de]),"Attempted to set NaN value. See above for details"}return e[de][t]=n,!0},ownKeys(e){return Reflect.ownKeys(e[de])},has(e,t){return Reflect.has(e[de],t)},getOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(e[de],t)}};var A=window.player=new Proxy({[de]:Ni,[Dt]:["player"]},Si);const re=mi();let Ot=null,en=null;function wn(){const e=Date.now();let t=(e-A.time)/1e3;A.time=e;const n=t;if(ne.lastTenTicks.push(n),ne.lastTenTicks.length>10&&(ne.lastTenTicks=ne.lastTenTicks.slice(1)),!((en==null?void 0:en.value)&&!A.keepGoing)&&!ne.hasNaN&&(t=Math.max(t,0),A.devSpeed!==0)){if(A.offlineTime!=null){if(a.gt(A.offlineTime,K.offlineLimit*3600)&&(A.offlineTime=K.offlineLimit*3600),a.gt(A.offlineTime,0)&&A.devSpeed!==0){const i=Math.max(A.offlineTime/10,t);A.offlineTime=A.offlineTime-i,t+=i}else A.devSpeed===0&&(A.offlineTime+=t);(!A.offlineProd||a.lt(A.offlineTime,0))&&(A.offlineTime=null)}t=Math.min(t,K.maxTickLength),A.devSpeed!=null&&(t*=A.devSpeed),Number.isFinite(t)||(t=1e308),!a.eq(t,0)&&(A.timePlayed+=t,Number.isFinite(A.timePlayed)||(A.timePlayed=1e308),re.emit("update",t,n),oe.unthrottled?(requestAnimationFrame(wn),Ot!=null&&(clearInterval(Ot),Ot=null)):Ot==null&&(Ot=setInterval(wn,50)))}}async function da(){en=(await bn(()=>Promise.resolve().then(function(){return zi}),void 0)).hasWon,Je(en,e=>{e&&re.emit("gameWon")}),oe.unthrottled?requestAnimationFrame(wn):Ot=setInterval(wn,50)}document.fonts.onloadingdone=()=>re.emit("fontsLoaded");var fa=Object.freeze(Object.defineProperty({__proto__:null,globalBus:re,startGameLoop:da},Symbol.toStringTag,{value:"Module"}));function Mi(e={}){return Object.assign({id:`${K.id}-0`,name:"Default Save",tabs:K.initialTabs.slice(),time:Date.now(),autosave:!0,offlineProd:!0,offlineTime:0,timePlayed:0,keepGoing:!1,modID:K.id,modVersion:K.versionNumber,layers:{}},e)}function Qe(e){const t=vt.compressToUTF16(Ci(e!=null?e:A[de]));return localStorage.setItem((e!=null?e:A[de]).id,t),t}async function ma(){ha();try{let e=localStorage.getItem(oe.active);if(e==null){await It(Rt());return}if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=vt.decompressFromUTF16(e);else throw"Unable to determine save encoding";const t=JSON.parse(e);if(t.modID!==K.id){await It(Rt());return}t.id=oe.active,await It(t)}catch(e){console.error(`Failed to load save. Falling back to new save. +`,e),await It(Rt())}}function Rt(){const e=gn(),t=Mi({id:e});return Qe(t),oe.saves.push(e),t}function gn(){let e,t=0;do e=`${K.id}-${t++}`;while(localStorage.getItem(e));return e}async function It(e){console.info("Loading save",e);const{layers:t,removeLayer:n,addLayer:i}=await bn(()=>Promise.resolve().then(function(){return Da}),void 0),{fixOldSave:s,getInitialLayers:l}=await bn(()=>Promise.resolve().then(function(){return zi}),void 0);for(const u in t){const c=t[u];c&&n(c)}l(e).forEach(u=>i(u,e)),e=Mi(e),e.offlineProd&&e.time&&e.devSpeed!==0&&(e.offlineTime==null&&(e.offlineTime=0),e.offlineTime+=Math.min(e.offlineTime+(Date.now()-e.time)/1e3,K.offlineLimit*3600)),e.time=Date.now(),e.modVersion!==K.versionNumber&&s(e.modVersion,e),Object.assign(A,e),oe.active=A.id,re.emit("onLoad")}setInterval(()=>{A.autosave&&Qe()},1e3);window.onbeforeunload=()=>{A.autosave&&Qe()};window.save=Qe;const pa=window.hardReset=async()=>{await It(Rt())},sn=on({active:"",saves:[],showTPS:!0,theme:Ln.Nordic,unthrottled:!1});Je(sn,e=>{const t=vt.compressToUTF16(JSON.stringify(e));localStorage.setItem(K.id,t)},{deep:!0});var oe=window.settings=sn;window.hardResetSettings=()=>{const e={active:"",saves:[],showTPS:!0,theme:Ln.Nordic};re.emit("loadSettings",e),Object.assign(sn,e),pa()};function ha(){try{let e=localStorage.getItem(K.id);if(e!=null&&e!==""){if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=vt.decompressFromUTF16(e);else{console.warn("Unable to determine settings encoding",e);return}const t=JSON.parse(e);typeof t=="object"&&Object.assign(sn,t)}re.emit("loadSettings",sn)}catch{}}const Ii=on([]);function ga(e){Ii.push(e)}const Ai=on([]);function va(e){Ai.push(e)}const ya=on([]),ba={class:"table"},vn=L({__name:"Column",setup(e){const t=I(()=>rn[oe.theme].mergeAdjacent);return(n,i)=>(b(),M("div",ba,[m("div",{class:ye(["col",{mergeAdjacent:o(t)}])},[nt(n.$slots,"default")],2)]))}}),_a={class:"table"},Pi=L({__name:"Row",setup(e){const t=I(()=>rn[oe.theme].mergeAdjacent);return(n,i)=>(b(),M("div",_a,[m("div",{class:ye(["row",{mergeAdjacent:o(t)}])},[nt(n.$slots,"default")],2)]))}});function $i(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!ts(e)}function X(e,t="span"){return typeof e=="function"?L({render:e}):typeof e=="string"?e.length>0?(e=e.trim(),e.charAt(0)!=="<"&&(e=`<${t}>${e}`),L({template:e})):L({render:()=>({})}):e}function me(e){if(kt(e))return typeof e=="function"?e():X(e);const t=e[_t];return r(t,e[wt](),null)}function Ge(...e){let t;return r(Pi,null,$i(t=e.map(me))?t:{default:()=>[t]})}function Gn(...e){let t;return r(vn,null,$i(t=e.map(me))?t:{default:()=>[t]})}function it(e){if(kt(e))return typeof e=="function"?e():typeof e=="string"?r(F,null,[e]):r(e,null,null);const t=e[_t];return r(t,e[wt](),null)}function kt(e){return typeof e=="string"?!0:typeof e=="object"?e==null?!1:"render"in e||"component"in e:typeof e=="function"&&e[nn]===!0}function Ei(e,t,n){const i=x(null),s=x(void 0);function l(f){i.value||(i.value=setInterval(c,250)),s.value=f,n&&(n.value=!0)}function u(){i.value&&(clearInterval(i.value),i.value=null),n&&(n.value=!1)}function c(){t&&t.value?t.value():e&&e.value&&e.value(s.value)}return di(u),{start:l,stop:u,handleHolding:c}}function Ti(e,t="div"){const n=ze();return xe(()=>{n.value=X(_e(e),t)}),n}function Et(e,t="div"){const n=ze(null);return xe(()=>{const i=_e(e);n.value=i==null?null:X(i,t)}),n}function wa(e){return I(()=>_e(e))}function _e(e){return o(o(e))}function E(...e){return e.includes(Object)||e.push(Object),e}const Pe=L({__name:"Spacer",props:{width:{default:"8px"},height:{default:"17px"}},setup(e){return(t,n)=>(b(),M("div",{style:be({width:e.width,height:e.height})},null,4))}});var ee=(e,t)=>{const n=e.__vccOpts||e;for(const[i,s]of t)n[i]=s;return n};const ka=L({__name:"Context",emits:["updateNodes"],setup(e,{emit:t}){var _;const n=x({}),i=new ResizeObserver(c),s=x(null);Cn(()=>{const y=s.value;y!=null&&i.observe(y)});let l=!0,u=x((_=s.value)==null?void 0:_.getBoundingClientRect());function c(){l&&(l=!1,Pt(()=>{var y;u.value=(y=s.value)==null?void 0:y.getBoundingClientRect(),Object.values(n.value).filter(v=>v).forEach(v=>v.rect=v.element.getBoundingClientRect()),t("updateNodes",n.value),l=!0}))}re.on("fontsLoaded",c);const f={attributes:!1,childList:!0,subtree:!1};pn(Hn,(y,v)=>{const p=new MutationObserver(()=>d(y));p.observe(v,f),n.value[y]={element:v,observer:p,rect:v.getBoundingClientRect()},c()}),pn(Un,y=>{var v;(v=n.value[y])==null||v.observer.disconnect(),n.value[y]=void 0,c()}),pn(jn,n),pn(zn,u);function d(y){const v=n.value[y];v!=null&&(v.rect=v.element.getBoundingClientRect(),t("updateNodes",n.value))}return(y,v)=>(b(),M(F,null,[nt(y.$slots,"default",{},void 0,!0),m("div",{ref_key:"resizeListener",ref:s,class:"resize-listener"},null,512)],64))}});var xi=ee(ka,[["__scopeId","data-v-2b1dc1bc"]]);const Na=["onPointerdown"],Ca={class:"modal-wrapper"},Sa={class:"modal-container"},Ma={class:"modal-header"},Ia=g(" default header "),Aa={class:"modal-body"},Pa=g(" default body "),$a={class:"modal-footer"},Ea=m("div",{class:"modal-default-flex-grow"},null,-1),Xe=L({__name:"Modal",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const s=Se(e),l=I(()=>s.modelValue||c.value);function u(){n("update:modelValue",!1)}const c=x(!1),f=x(null),d=I(()=>{var _,y;return(y=(_=f.value)==null?void 0:_.nodes)!=null?y:null});return t({isOpen:l,nodes:d}),(_,y)=>(b(),U(is,{to:"#modal-root"},[r(Sn,{name:"modal",onBeforeEnter:y[0]||(y[0]=v=>c.value=!0),onAfterLeave:y[1]||(y[1]=v=>c.value=!1)},{default:q(()=>[Vn(m("div",$t({class:"modal-mask",onPointerdown:tn(u,["self"])},_.$attrs),[m("div",Ca,[m("div",Sa,[m("div",Ma,[nt(_.$slots,"header",{shown:o(l)},()=>[Ia])]),m("div",Aa,[r(xi,{ref_key:"contextRef",ref:f},{default:q(()=>[nt(_.$slots,"body",{shown:o(l)},()=>[Pa])]),_:3},512)]),m("div",$a,[nt(_.$slots,"footer",{shown:o(l)},()=>[m("div",{class:"modal-default-footer"},[Ea,m("button",{class:"button modal-default-button",onClick:u}," Close ")])])])])])],16,Na),[[ns,e.modelValue]])]),_:3})]))}}),an=Symbol("PersistentState"),ln=Symbol("DefaultValue"),kn=Symbol("StackTrace"),Bi=Symbol("Deleted");function Ta(){var e;return((e=new Error().stack)==null?void 0:e.split(` +`).slice(3,5).map(t=>t.trim()).join(` +`))||""}function Fe(e){const t=Ne(e)?e:x(e);return t[an]=t,t[ln]=Ne(e)?e.value:e,t[kn]=Ta(),t[Bi]=!1,Ke.length===0?console.warn("Creating a persistent ref outside of a layer. This is not officially supported",t,` +Created at: +`+t[kn]):qt[Ke[Ke.length-1]].add(t),t}re.on("addLayer",(e,t)=>{const n=[],i=(s,l=[])=>{let u=!1;return Object.keys(s).forEach(c=>{const f=s[c];if(f&&typeof f=="object")if(an in f){if(u=!0,f[Bi]){console.warn("Deleted persistent ref present in returned object. Ignoring...",f,` +Created at: +`+f[kn]);return}qt[e.id].delete(de in f?f[de]:f);const d=l.reduce((y,v)=>(v in y||(y[v]={}),y[v]),t),_=d[c];d[c]=f[an],ss(d)?_!=null?d[c]=_:d[c]=f[ln]:_!=null?d[c].value=_:d[c].value=f[ln]}else!(f instanceof a)&&!Ne(f)&&!n.includes(f)&&(typeof f.type=="symbol"&&n.push(f),i(f,[...l,c])&&(ii(f)&&!ii(s)?console.warn("Found array that contains persistent values when adding layer. Keep in mind changing the order of elements in the array will mess with existing player saves.",de in s?s[de]:s,c):u=!0))}),u};i(e),qt[e.id].forEach(s=>{console.error(`Created persistent ref in ${e.id} without registering it to the layer! Make sure to include everything persistent in the returned object`,s,` +Created at: +`+s[kn])}),qt[e.id].clear()});const Hn=Symbol("RegisterNode"),Un=Symbol("UnregisterNode"),jn=Symbol("Nodes"),zn=Symbol("Bounds"),$e=Nn({});window.layers=$e;const qt={},Ke=[];function Tt(e,t){return Le(()=>{const n={},i=n.emitter=mi();if(n.on=i.on.bind(i),n.emit=i.emit.bind(i),n.nodes=x({}),n.id=e,Ke.push(e),qt[e]=new Set,n.minimized=Fe(!1),Object.assign(n,t.call(n)),Ke[Ke.length-1]==null||Ke[Ke.length-1]!==e)throw`Adding layers stack in invalid state. This should not happen +Stack: ${Ke} +Trying to pop ${n.id}`;return Ke.pop(),$(n,"color"),$(n,"display"),$(n,"name"),Ce(n,"name",n.id),$(n,"minWidth"),Ce(n,"minWidth",600),$(n,"minimizable"),Ce(n,"minimizable",!0),n})}function Fi(e,t){if(console.info("Adding layer",e.id),$e[e.id]){console.error("Attempted to add layer with same ID as existing layer",e.id,$e[e.id]);return}Ce(t,"layers",{}),t.layers[e.id]==null&&(t.layers[e.id]={}),$e[e.id]=e,re.emit("addLayer",e,t.layers[e.id])}function xa(e){return $e[e]}function Di(e){console.info("Removing layer",e.id),re.emit("removeLayer",e),$e[e.id]=void 0}function Ba(e){Di(e),Fi(e,A)}function Fa(e){const t=x(!1);return{openModal:()=>t.value=!0,modal:B(()=>r(Xe,{modelValue:t.value,"onUpdate:modelValue":n=>t.value=n},{header:()=>r("h2",null,[o(e.name)]),body:o(e.display)}))}}re.on("update",function(t){Object.values($e).forEach(n=>{n==null||n.emit("preUpdate",t)}),Object.values($e).forEach(n=>{n==null||n.emit("update",t)}),Object.values($e).forEach(n=>{n==null||n.emit("postUpdate",t)})});var Da=Object.freeze(Object.defineProperty({__proto__:null,RegisterNodeInjectionKey:Hn,UnregisterNodeInjectionKey:Un,NodesInjectionKey:jn,BoundsInjectionKey:zn,layers:$e,persistentRefs:qt,addingLayers:Ke,createLayer:Tt,addLayer:Fi,getLayer:xa,removeLayer:Di,reloadLayer:Ba,setupLayerModal:Fa},Symbol.toStringTag,{value:"Module"}));const Oa={},Ra={class:"notif"};function qa(e,t){return b(),M("div",Ra,"!")}var ui=ee(Oa,[["render",qa],["__scopeId","data-v-66323fd4"]]);const In=e=>(ot("data-v-949cc93c"),e=e(),rt(),e),Va={key:0,class:"day feature dontMerge opened"},La={class:"date"},Ga=g("Dec"),Ha=In(()=>m("br",null,null,-1)),Ua={class:"date"},ja=g("Dec"),za=In(()=>m("br",null,null,-1)),Wa=In(()=>m("div",{class:"doors"},null,-1)),Qa={class:"date"},Ka=g("Dec"),Ja=In(()=>m("br",null,null,-1)),Xa={key:0,class:"material-icons lock"},Za=L({__name:"Day",props:{day:null,symbol:null,opened:null,shouldNotify:null},emits:["openLore","openLayer","unlockLayer"],setup(e,{emit:t}){const n=e,i=I(()=>a.gte(G.day.value,n.day)&&new Date().getMonth()===11&&new Date().getDate()>=n.day);function s(){i.value&&t("unlockLayer")}return(l,u)=>e.opened.value?(b(),M("div",Va,[r(Sn,{appear:"",name:"door"},{default:q(()=>[m("div",{class:"doors",onClick:u[0]||(u[0]=c=>t("openLayer"))},[m("div",La,[Ga,Ha,g(z(e.day),1)]),m("div",Ua,[ja,za,g(z(e.day),1)])])]),_:1}),m("div",{class:"icon",style:be({backgroundImage:`url(${e.symbol})`})},null,4),m("div",{class:"lore",onClick:u[1]||(u[1]=c=>t("openLore"))},"?"),o(e.shouldNotify)?(b(),U(ui,{key:0})):P("",!0)])):(b(),M("div",{key:1,class:ye(["day feature dontMerge",{can:o(i),locked:!o(i),canOpen:o(i)}]),onClick:s},[Wa,m("div",Qa,[Ka,Ja,g(z(e.day),1)]),o(i)?P("",!0):(b(),M("div",Xa,"lock")),o(i)?(b(),U(ui,{key:1})):P("",!0)],2))}});var Ya=ee(Za,[["__scopeId","data-v-949cc93c"]]);const el={key:0},tl={key:0,class:"mark star"},nl=["src"],il=L({__name:"MarkNode",props:{mark:{type:[Boolean,String]}},setup(e){return(t,n)=>e.mark?(b(),M("div",el,[e.mark===!0?(b(),M("div",tl)):(b(),M("img",{key:1,class:"mark",src:e.mark},null,8,nl))])):P("",!0)}});var An=ee(il,[["__scopeId","data-v-2207999f"]]);const sl=L({__name:"Node",props:{id:null},setup(e){const n=Se(e),i=yn(Hn,()=>{}),s=yn(Un,()=>{}),l=ze(null),u=I(()=>l.value&&l.value.parentElement);return Je([u,n.id],([c,f],[d,_])=>{d&&s(o(_)),c&&i(f,c)}),di(()=>s(o(n.id))),(c,f)=>(b(),M("div",{class:"node",ref_key:"node",ref:l},null,512))}});var un=ee(sl,[["__scopeId","data-v-a48cb382"]]),al=L({props:{display:{type:E(Object,String,Function),required:!0},visibility:{type:E(Number),required:!0},style:E(Object,String,Array),classes:E(Object),onClick:Function,onHold:Function,canClick:{type:E(Boolean),required:!0},small:Boolean,mark:E(Boolean,String),id:{type:String,required:!0},isHolding:Object},components:{Node:un,MarkNode:An},setup(e){const{display:t,onClick:n,onHold:i}=Se(e),s=ze("");xe(()=>{const c=_e(t);if(c==null){s.value="";return}if(kt(c)){s.value=X(c);return}const f=X(c.title||"","h3"),d=X(c.description,"div");s.value=X(B(()=>r("span",null,[c.title?r("div",null,[r(f,null,null)]):null,r(d,null,null)])))});const{start:l,stop:u}=Ei(n,i,e.isHolding);return{start:l,stop:u,comp:s,Visibility:ke,unref:o}}});function ll(e,t,n,i,s,l){var f;const u=bt("MarkNode"),c=bt("Node");return e.unref(e.visibility)!==e.Visibility.None?(b(),M("button",{key:0,style:be([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(f=e.unref(e.style))!=null?f:[]]),onClick:t[0]||(t[0]=(...d)=>e.onClick&&e.onClick(...d)),onMousedown:t[1]||(t[1]=(...d)=>e.start&&e.start(...d)),onMouseleave:t[2]||(t[2]=(...d)=>e.stop&&e.stop(...d)),onMouseup:t[3]||(t[3]=(...d)=>e.stop&&e.stop(...d)),onTouchstartPassive:t[4]||(t[4]=(...d)=>e.start&&e.start(...d)),onTouchendPassive:t[5]||(t[5]=(...d)=>e.stop&&e.stop(...d)),onTouchcancelPassive:t[6]||(t[6]=(...d)=>e.stop&&e.stop(...d)),class:ye({feature:!0,clickable:!0,can:e.unref(e.canClick),locked:!e.unref(e.canClick),small:e.small,...e.unref(e.classes)})},[e.unref(e.comp)?(b(),U(Me(e.unref(e.comp)),{key:0})):P("",!0),r(u,{mark:e.unref(e.mark)},null,8,["mark"]),r(c,{id:e.id},null,8,["id"])],38)):P("",!0)}var Oi=ee(al,[["render",ll],["__scopeId","data-v-8cedd7da"]]);const ol=Symbol("Clickable");function Ae(e){return Le(()=>{var n;const t=(n=e==null?void 0:e())!=null?n:{};if(t.id=Gt("clickable-"),t.type=ol,t[_t]=Oi,t.isHolding=x(!1),$(t,"visibility"),Ce(t,"visibility",ke.Visible),$(t,"canClick"),Ce(t,"canClick",!0),$(t,"classes"),$(t,"style"),$(t,"mark"),$(t,"display"),t.onClick){const i=t.onClick.bind(t);t.onClick=function(s){o(t.canClick)&&i(s)}}if(t.onHold){const i=t.onHold.bind(t);t.onHold=function(){o(t.canClick)&&i()}}return t[wt]=function(){const{display:i,visibility:s,style:l,classes:u,onClick:c,onHold:f,isHolding:d,canClick:_,small:y,mark:v,id:p}=this;return{display:i,visibility:s,style:o(l),classes:u,onClick:c,onHold:f,isHolding:d,canClick:_,small:y,mark:v,id:p}},t})}function at(e,t="points",n=0,i=void 0){const s=Ne(e)?e:Fe(e);return s.displayName=t,s.precision=n,s.small=i,s}function Wn(e){const t=Fe(e.value);return Je(e,(n,i)=>{a.gt(n,i)&&(t.value=a.add(t.value,a.sub(n,i)))}),t}new a("10^^8");new a("1e100");function Pn(e,t){const n=t!=null?t:e.value;return a.eq(e.precision,0)?R(e.small?n:a.floor(n)):Z(n,e.precision,e.small)}const rl=["x1","y1","x2","y2"],ul=L({__name:"Link",props:{link:null,startNode:null,endNode:null,boundingRect:null},setup(e){const n=Se(e),i=I(()=>{const l=n.startNode.value.rect,u=n.boundingRect.value,c=u?{x:l.x+l.width/2-u.x,y:l.y+l.height/2-u.y}:{x:0,y:0};return n.link.value.offsetStart&&(c.x+=n.link.value.offsetStart.x,c.y+=n.link.value.offsetStart.y),c}),s=I(()=>{const l=n.endNode.value.rect,u=n.boundingRect.value,c=u?{x:l.x+l.width/2-u.x,y:l.y+l.height/2-u.y}:{x:0,y:0};return n.link.value.offsetEnd&&(c.x+=n.link.value.offsetEnd.x,c.y+=n.link.value.offsetEnd.y),c});return(l,u)=>(b(),M("line",$t({"stroke-width":"15px",stroke:"white"},e.link,{x1:o(i).x,y1:o(i).y,x2:o(s).x,y2:o(s).y}),null,16,rl))}});const cl=L({__name:"Links",props:{links:null},setup(e){var f;const n=lt(e,"links"),i=x(null),s=yn(jn,x({})),l=yn(zn,x(void 0)),u=x((f=i.value)==null?void 0:f.getBoundingClientRect());Je(l,()=>{var d;return u.value=(d=i.value)==null?void 0:d.getBoundingClientRect()}),Cn(()=>{var d;return u.value=(d=i.value)==null?void 0:d.getBoundingClientRect()});const c=I(()=>{var _,y;const d=s.value;return(y=(_=n.value)==null?void 0:_.filter(v=>{var p,w;return((p=d[v.startNode.id])==null?void 0:p.rect)&&((w=d[v.startNode.id])==null?void 0:w.rect)}))!=null?y:[]});return(d,_)=>(b(),M(F,null,[o(c)?(b(),M("svg",as($t({key:0},d.$attrs)),[(b(!0),M(F,null,fi(o(c),(y,v)=>(b(),U(ul,{key:v,link:y,boundingRect:u.value,startNode:o(s)[y.startNode.id],endNode:o(s)[y.endNode.id]},null,8,["link","boundingRect","startNode","endNode"]))),128))],16)):P("",!0),m("div",{ref_key:"resizeListener",ref:i,class:"resize-listener"},null,512)],64))}});var dl=ee(cl,[["__scopeId","data-v-063f6d6b"]]);L({props:{nodes:{type:E(Array),required:!0},leftSideNodes:E(Array),rightSideNodes:E(Array),branches:E(Array)},components:{Links:dl},setup(e){const{nodes:t,leftSideNodes:n,rightSideNodes:i}=Se(e),s=ze();xe(()=>{const c=_e(t);s.value=X(B(()=>r(F,null,[c.map(f=>r("span",{class:"row tree-row",style:"margin: 50px auto;"},[f.map(it)]))])))});const l=ze();xe(()=>{const c=_e(n);l.value=c?X(B(()=>r("span",{class:"left-side-nodes small"},[c.map(it)]))):""});const u=ze();return xe(()=>{const c=_e(i);u.value=c?X(B(()=>r("span",{class:"side-nodes small"},[c.map(it)]))):""}),{unref:o,nodesComp:s,leftNodesComp:l,rightNodesComp:u}}});L({props:{display:E(Object,String,Function),visibility:{type:E(Number),required:!0},style:E(String,Object,Array),classes:E(Object),onClick:Function,onHold:Function,color:E(String),glowColor:E(String),canClick:{type:E(Boolean),required:!0},mark:E(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:An,Node:un},setup(e){const{onClick:t,onHold:n,display:i}=Se(e),s=Et(i),{start:l,stop:u}=Ei(t,n);return{start:l,stop:u,comp:s,unref:o,Visibility:ke,isCoercableComponent:kt}}});function Qn(e){const t=[],n={};let i=!1;function s(){return i||(t.push(...e()),n.base=t.map(c=>Be(c.base)),n.baseText=t.map(c=>Be(c.baseText)),n.visible=t.map(c=>Be(c.visible)),i=!0),t}const l=Fe({});return[B(()=>{const c=s();let f=!0;const d=c.map((_,y)=>{var S,H,ae;if(o(n.visible[y])===!1)return null;const v=r("h3",{onClick:()=>l.value[y]=!l.value[y],style:"cursor: pointer"},[r("span",{class:"modifier-toggle"+(o(l.value[y])?" collapsed":"")},[g("\u25BC")]),_.title,_.subtitle?r("span",{class:"subtitle"},[g(" ("),_.subtitle,g(")")]):null]),p=o(l.value[y])?null:r(F,null,[r("div",{class:"modifier-container"},[r("span",{class:"modifier-amount"},[Z((S=o(n.base[y]))!=null?S:1),_.unit]),r("span",{class:"modifier-description"},[it((H=o(n.baseText[y]))!=null?H:"Base")])]),it(o(_.modifier.description))]),w=!f;return f=!1,r(F,null,[w?r("br",null,null):null,r("div",null,[v,r("br",null,null),p,r("hr",null,null),g("Total: "),Z(_.modifier.apply((ae=o(n.base[y]))!=null?ae:1)),_.unit])])});return r(F,null,[d])}),l]}const fl=L({props:{progress:{type:E(String,Object,Number),required:!0},width:{type:E(Number),required:!0},height:{type:E(Number),required:!0},direction:{type:E(String),required:!0},display:E(Object,String,Function),visibility:{type:E(Number),required:!0},style:E(Object,String,Array),classes:E(Object),borderStyle:E(Object,String,Array),textStyle:E(Object,String,Array),baseStyle:E(Object,String,Array),fillStyle:E(Object,String,Array),mark:E(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:An,Node:un},setup(e){const{progress:t,width:n,height:i,direction:s,display:l}=Se(e),u=I(()=>{let d=t.value instanceof a?t.value.toNumber():Number(t.value);return(1-Math.min(Math.max(d,0),1))*100}),c=I(()=>{const d={width:_e(n)+.5+"px",height:_e(i)+.5+"px"};switch(o(s)){case J.Up:d.clipPath=`inset(${u.value}% 0% 0% 0%)`,d.width=_e(n)+1+"px";break;case J.Down:d.clipPath=`inset(0% 0% ${u.value}% 0%)`,d.width=_e(n)+1+"px";break;case J.Right:d.clipPath=`inset(0% ${u.value}% 0% 0%)`;break;case J.Left:d.clipPath=`inset(0% 0% 0% ${u.value} + '%)`;break;case J.Default:d.clipPath="inset(0% 50% 0% 0%)";break}return d}),f=Et(l);return{normalizedProgress:u,barStyle:c,component:f,unref:o,Visibility:ke}}});function ml(e,t,n,i,s,l){var f,d,_,y,v,p,w;const u=bt("MarkNode"),c=bt("Node");return e.unref(e.visibility)!==e.Visibility.None?(b(),M("div",{key:0,style:be([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px",visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(f=e.unref(e.style))!=null?f:{}]),class:ye({bar:!0,...e.unref(e.classes)})},[m("div",{class:"overlayTextContainer border",style:be([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px"},(d=e.unref(e.borderStyle))!=null?d:{}])},[e.component?(b(),M("span",{key:0,class:"overlayText",style:be(e.unref(e.textStyle))},[(b(),U(Me(e.component)))],4)):P("",!0)],4),m("div",{class:"border",style:be([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px"},(_=e.unref(e.style))!=null?_:{},(y=e.unref(e.baseStyle))!=null?y:{},(v=e.unref(e.borderStyle))!=null?v:{}])},[m("div",{class:"fill",style:be([e.barStyle,(p=e.unref(e.style))!=null?p:{},(w=e.unref(e.fillStyle))!=null?w:{}])},null,4)],4),r(u,{mark:e.unref(e.mark)},null,8,["mark"]),r(c,{id:e.id},null,8,["id"])],6)):P("",!0)}var pl=ee(fl,[["render",ml],["__scopeId","data-v-02d0d7b2"]]);const hl=Symbol("Bar");function At(e){return Le(()=>{const t=e();return t.id=Gt("bar-"),t.type=hl,t[_t]=pl,$(t,"visibility"),Ce(t,"visibility",ke.Visible),$(t,"width"),$(t,"height"),$(t,"direction"),$(t,"style"),$(t,"classes"),$(t,"borderStyle"),$(t,"baseStyle"),$(t,"textStyle"),$(t,"fillStyle"),$(t,"progress"),$(t,"display"),$(t,"mark"),t[wt]=function(){const{progress:n,width:i,height:s,direction:l,display:u,visibility:c,style:f,classes:d,borderStyle:_,textStyle:y,baseStyle:v,fillStyle:p,mark:w,id:S}=this;return{progress:n,width:i,height:s,direction:l,display:u,visibility:c,style:o(f),classes:d,borderStyle:_,textStyle:y,baseStyle:v,fillStyle:p,mark:w,id:S}},t})}const gl=Symbol("Buyable");function tt(e){const t=Fe(0);return Le(()=>{var l,u,c;const n=e();if(n.canPurchase==null&&(n.resource==null||n.cost==null))throw console.warn("Cannot create buyable without a canPurchase property or a resource and cost property",n),"Cannot create buyable without a canPurchase property or a resource and cost property";n.id=Gt("buyable-"),n.type=gl,n[_t]=Oi,n.amount=t,n.amount[ln]=(l=n.initialValue)!=null?l:0,n.canAfford=I(()=>{const f=n,d=o(f.cost);return f.resource!=null&&d!=null&&a.gte(f.resource.value,d)}),n.canPurchase==null&&(n.canPurchase=I(()=>o(n.visibility)===ke.Visible&&o(n.canAfford)&&a.lt(n.amount.value,o(n.purchaseLimit)))),n.maxed=I(()=>a.gte(n.amount.value,o(n.purchaseLimit))),$(n,"classes");const i=n.classes;n.classes=I(()=>{const f=o(i)||{};return n.maxed.value&&(f.bought=!0),f}),$(n,"canPurchase"),n.canClick=n.canPurchase,n.onClick=n.purchase=(c=(u=n.onClick)!=null?u:n.purchase)!=null?c:function(){var _;const f=n;if(!o(f.canPurchase))return;const d=o(f.cost);f.cost!=null&&f.resource!=null&&(f.resource.value=a.sub(f.resource.value,d),f.amount.value=a.add(f.amount.value,1)),(_=f.onPurchase)==null||_.call(f,d)},$(n,"display");const s=n.display;return n.display=B(()=>{const f=o(s);if(kt(f)){const d=X(f);return r(d,null,null)}if(f!=null&&n.cost!=null&&n.resource!=null){const d=n,_=X(f.title||"","h3"),y=X(f.description||""),v=X(f.effectDisplay||"");return r("span",null,[f.title?r("div",null,[r(_,null,null)]):null,f.description?r(y,null,null):null,f.showAmount===!1?null:r("div",null,[r("br",null,null),o(d.purchaseLimit)===a.dInf?r(F,null,[g("Amount: "),R(d.amount.value)]):r(F,null,[g("Amount: "),R(d.amount.value),g(" /")," ",R(o(d.purchaseLimit))])]),f.effectDisplay?r("div",null,[r("br",null,null),g("Currently: "),r(v,null,null)]):null,d.cost&&!d.maxed.value?r("div",null,[g("Cost: "),Z(o(d.cost)||0)," ",n.resource.displayName]):null])}return""}),$(n,"visibility"),Ce(n,"visibility",ke.Visible),$(n,"cost"),$(n,"resource"),$(n,"purchaseLimit"),Ce(n,"purchaseLimit",a.dInf),$(n,"style"),$(n,"mark"),$(n,"small"),n[wt]=function(){const{display:f,visibility:d,style:_,classes:y,onClick:v,canClick:p,small:w,mark:S,id:H}=this;return{display:f,visibility:d,style:o(_),classes:y,onClick:v,canClick:p,small:w,mark:S,id:H}},n})}const $n=Nn({}),Kn=Symbol("Hotkey");function qn(e){return Le(()=>{const t=e();return t.type=Kn,$(t,"enabled"),Ce(t,"enabled",!0),$(t,"description"),t})}re.on("addLayer",e=>{ki(e,Kn).forEach(t=>{$n[t.key]=t})});re.on("removeLayer",e=>{ki(e,Kn).forEach(t=>{$n[t.key]=void 0})});document.onkeydown=function(e){var i;if(((i=e.target)==null?void 0:i.tagName)==="INPUT"||Xn.value&&!A.keepGoing)return;let t=e.key;e.shiftKey&&(t="shift+"+t),e.ctrlKey&&(t="ctrl+"+t);const n=$n[t];n&&o(n.enabled)&&(e.preventDefault(),n.onPress())};va(B(()=>{const e=Object.values($n).filter(t=>o(t==null?void 0:t.enabled));return e.length===0?"":r("div",null,[r("br",null,null),r("h4",null,[g("Hotkeys")]),e.map(t=>r("div",null,[t==null?void 0:t.key,g(": "),t==null?void 0:t.description]))])}));const vl=L({__name:"Sticky",setup(e){const t=x("0"),n=new ResizeObserver(s),i=ze(null);function s(){let l=i.value;if(l==null)return;let u=0;for(;l.previousSibling;){const c=l.previousSibling;c.dataset&&"vSticky"in c.dataset&&(u+=c.offsetHeight),l=c}t.value=u+"px"}return Pt(s),document.fonts.ready.then(s),Cn(()=>{var u;const l=(u=i.value)==null?void 0:u.parentElement;l&&n.observe(l)}),(l,u)=>(b(),M("div",{class:"sticky",style:be({top:t.value}),ref_key:"element",ref:i,"data-v-sticky":""},[nt(l.$slots,"default",{},void 0,!0)],4))}});var yl=ee(vl,[["__scopeId","data-v-cccac690"]]);const bl=L({__name:"Resource",props:{resource:null,color:null},setup(e){const t=e,n=I(()=>Pn(t.resource));return(i,s)=>(b(),M("h2",{style:be({color:e.color,"text-shadow":"0px 0px 10px "+e.color})},z(o(n)),5))}});const _l={class:"main-display"},wl={key:0},kl={key:1},Nl=g(", "),Vt=L({__name:"MainDisplay",props:{resource:null,color:null,classes:null,style:null,effectDisplay:null},setup(e){const n=Se(e),i=x(null),s=Et(n.effectDisplay),l=I(()=>a.lt(n.resource.value,"1e1000"));return(u,c)=>(b(),U(yl,null,{default:q(()=>{var f,d,_,y;return[m("div",{class:ye(["main-display-container",(f=e.classes)!=null?f:{}]),style:be([{height:`${((_=(d=i.value)==null?void 0:d.$el.clientHeight)!=null?_:0)+50}px`},(y=e.style)!=null?y:{}])},[m("div",_l,[o(l)?(b(),M("span",wl,"You have ")):P("",!0),r(bl,{resource:e.resource,color:e.color||"white"},null,8,["resource","color"]),g(" "+z(e.resource.displayName),1),o(s)?(b(),M("span",kl,[Nl,(b(),U(Me(o(s)),{ref_key:"effectRef",ref:i},null,512))])):P("",!0)])],6)]}),_:1}))}});var Cl=L({props:{display:{type:E(String,Object,Function),required:!0},visibility:{type:E(Number),required:!0},style:E(String,Object,Array),classes:E(Object),resource:Object,cost:E(String,Object,Number),canPurchase:{type:E(Boolean),required:!0},bought:{type:E(Boolean),required:!0},mark:E(Boolean,String),id:{type:String,required:!0},purchase:{type:Function,required:!0}},components:{Node:un,MarkNode:An},setup(e){const{display:t,cost:n}=Se(e),i=ze("");return xe(()=>{const s=_e(t);if(s==null){i.value="";return}if(kt(s)){i.value=X(s);return}const l=_e(n),u=X(s.title||"","h3"),c=X(s.description,"div"),f=X(s.effectDisplay||"");i.value=X(B(()=>{var d;return r("span",null,[s.title?r("div",null,[r(u,null,null)]):null,r(c,null,null),s.effectDisplay?r("div",null,[g("Currently: "),r(f,null,null)]):null,e.resource!=null&&s.showCost!==!1?r(F,null,[r("br",null,null),g("Cost: "),e.resource&&Pn(e.resource,l)," ",(d=e.resource)==null?void 0:d.displayName]):null])}))}),{component:i,unref:o,Visibility:ke}}});const Sl=["disabled"];function Ml(e,t,n,i,s,l){var f;const u=bt("MarkNode"),c=bt("Node");return e.unref(e.visibility)!==e.Visibility.None?(b(),M("button",{key:0,style:be([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(f=e.unref(e.style))!=null?f:{}]),onClick:t[0]||(t[0]=(...d)=>e.purchase&&e.purchase(...d)),class:ye({feature:!0,upgrade:!0,can:e.unref(e.canPurchase),locked:!e.unref(e.canPurchase),bought:e.unref(e.bought),...e.unref(e.classes)}),disabled:!e.unref(e.canPurchase)},[e.unref(e.component)?(b(),U(Me(e.unref(e.component)),{key:0})):P("",!0),r(u,{mark:e.unref(e.mark)},null,8,["mark"]),r(c,{id:e.id},null,8,["id"])],14,Sl)):P("",!0)}var Il=ee(Cl,[["render",Ml],["__scopeId","data-v-7f411ac8"]]);const Al=Symbol("Upgrade");function ge(e){const t=Fe(!1);return Le(()=>{const n=e();return n.id=Gt("upgrade-"),n.type=Al,n[_t]=Il,n.canAfford==null&&(n.resource==null||n.cost==null)&&console.warn("Error: can't create upgrade without a canAfford property or a resource and cost property",n),n.bought=t,n.canAfford==null?n.canAfford=I(()=>{const i=n;return i.resource!=null&&i.cost!=null&&a.gte(i.resource.value,o(i.cost))}):$(n,"canAfford"),n.canPurchase=I(()=>o(n.visibility)===ke.Visible&&o(n.canAfford)&&!o(n.bought)),n.purchase=function(){var s;const i=n;!o(i.canPurchase)||(i.resource!=null&&i.cost!=null&&(i.resource.value=a.sub(i.resource.value,o(i.cost))),t.value=!0,(s=i.onPurchase)==null||s.call(i))},$(n,"visibility"),Ce(n,"visibility",ke.Visible),$(n,"classes"),$(n,"style"),$(n,"display"),$(n,"mark"),$(n,"cost"),$(n,"resource"),n[wt]=function(){const{display:i,visibility:s,style:l,classes:u,resource:c,cost:f,canPurchase:d,bought:_,mark:y,id:v,purchase:p}=this;return{display:i,visibility:s,style:o(l),classes:u,resource:c,cost:f,canPurchase:d,bought:_,mark:y,id:v,purchase:p}},n})}function se(e){return Le(()=>{const{addend:t,description:n,enabled:i}=e(),s=Be(t),l=Be(n),u=i==null?void 0:Be(i);return{apply:c=>a.add(c,o(s)),revert:c=>a.sub(c,o(s)),enabled:u,description:n==null?void 0:B(()=>r("div",{class:"modifier-container"},[r("span",{class:"modifier-amount"},[a.gte(o(s),0)?"+":"",Z(o(s))]),o(l)?r("span",{class:"modifier-description"},[it(o(l))]):null]))}})}function W(e){return Le(()=>{const{multiplier:t,description:n,enabled:i}=e(),s=Be(t),l=Be(n),u=i==null?void 0:Be(i);return{apply:c=>a.times(c,o(s)),revert:c=>a.div(c,o(s)),enabled:u,description:n==null?void 0:B(()=>r("div",{class:"modifier-container"},[r("span",{class:"modifier-amount"},[g("x"),Z(o(s))]),o(l)?r("span",{class:"modifier-description"},[it(o(l))]):null]))}})}function Ri(e){return Le(()=>{const{exponent:t,description:n,enabled:i,supportLowNumbers:s}=e(),l=Be(t),u=Be(n),c=i==null?void 0:Be(i);return{apply:f=>{let d=f;return s&&(d=a.add(d,1)),d=a.pow(d,o(l)),s&&(d=a.sub(d,1)),d},revert:f=>{let d=f;return s&&(d=a.add(d,1)),d=a.root(d,o(l)),s&&(d=a.sub(d,1)),d},enabled:c,description:n==null?void 0:B(()=>r("div",{class:"modifier-container"},[r("span",{class:"modifier-amount"},[g("^"),Z(o(l))]),o(u)?r("span",{class:"modifier-description"},[it(o(u)),s?" (+1 effective)":null]):null]))}})}function fe(e){return Le(()=>{const t=e();return{apply:n=>t.filter(i=>o(i.enabled)!==!1).reduce((i,s)=>s.apply(i),n),revert:t.every(n=>n.revert!=null)?n=>t.filter(i=>o(i.enabled)!==!1).reduceRight((i,s)=>s.revert(i),n):void 0,enabled:I(()=>t.filter(n=>o(n.enabled)!==!1).length>0),description:B(()=>r(F,null,[t.filter(n=>o(n.enabled)!==!1).map(n=>o(n.description)).filter(n=>n).map(it)]))}})}const Pl={class:"field"},$l={key:0,class:"field-title"},Jn=L({__name:"Select",props:{title:null,modelValue:null,options:null,placeholder:null,closeOnSelect:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){var u;const n=e,i=Et(lt(n,"title"),"span"),s=x((u=n.options.find(c=>c.value===n.modelValue))!=null?u:null);Je(lt(n,"modelValue"),c=>{var f;_e(s)!==c&&(s.value=(f=n.options.find(d=>d.value===c))!=null?f:null)});function l(c){t("update:modelValue",c.value)}return(c,f)=>(b(),M("div",Pl,[o(i)?(b(),M("span",$l,[(b(),U(Me(o(i))))])):P("",!0),r(o(cs),{options:e.options,modelValue:s.value,"onUpdate:modelValue":[f[0]||(f[0]=d=>s.value=d),l],min:1,"label-by":"label",placeholder:e.placeholder,"close-on-select":e.closeOnSelect},null,8,["options","modelValue","placeholder","close-on-select"])]))}});var El=L({props:{visibility:{type:E(Number),required:!0},display:{type:E(String,Object,Function),required:!0},style:E(String,Object,Array),classes:E(Object),earned:{type:E(Boolean),required:!0},id:{type:String,required:!0}},components:{Node:un},setup(e){const{display:t}=Se(e),n=ze("");return xe(()=>{const i=_e(t);if(i==null){n.value="";return}if(kt(i)){n.value=X(i);return}const s=X(i.requirement,"h3"),l=X(i.effectDisplay||"","b"),u=X(i.optionsDisplay||"","span");n.value=X(B(()=>r("span",null,[r(s,null,null),i.effectDisplay?r("div",null,[r(l,null,null)]):null,i.optionsDisplay?r("div",{class:"equal-spaced"},[r(u,null,null)]):null])))}),{comp:n,unref:o,Visibility:ke}}});function Tl(e,t,n,i,s,l){var c;const u=bt("Node");return e.unref(e.visibility)!==e.Visibility.None?(b(),M("div",{key:0,style:be([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(c=e.unref(e.style))!=null?c:{}]),class:ye({feature:!0,milestone:!0,done:e.unref(e.earned),...e.unref(e.classes)})},[(b(),U(Me(e.unref(e.comp)))),r(u,{id:e.id},null,8,["id"])],6)):P("",!0)}var xl=ee(El,[["render",Tl],["__scopeId","data-v-f4e8794e"]]);re.on("setupVue",e=>e.use(ds));const Bl=pi(),Fl=Symbol("Milestone");let yt;(function(e){e.All="all",e.Configurable="configurable",e.Incomplete="incomplete",e.None="none"})(yt||(yt={}));function Ve(e){const t=Fe(!1);return Le(()=>{var s;const n=(s=e==null?void 0:e())!=null?s:{};n.id=Gt("milestone-"),n.type=Fl,n[_t]=xl,n.earned=t,n.complete=function(){t.value=!0},$(n,"visibility"),Ce(n,"visibility",ke.Visible);const i=n.visibility;if(n.visibility=I(()=>{const l=o(n.display);switch(oe.msDisplay){default:case yt.All:return o(i);case yt.Configurable:return o(n.earned)&&!(l!=null&&typeof l=="object"&&"optionsDisplay"in l)?ke.None:o(i);case yt.Incomplete:return o(n.earned)?ke.None:o(i);case yt.None:return ke.None}}),$(n,"style"),$(n,"classes"),$(n,"display"),n[wt]=function(){const{visibility:l,display:u,style:c,classes:f,earned:d,id:_}=this;return{visibility:l,display:u,style:o(c),classes:f,earned:d,id:_}},n.shouldEarn){const l=n;xe(()=>{var u,c;if(oe.active===A.id&&!l.earned.value&&o(l.visibility)===ke.Visible&&((u=l.shouldEarn)==null?void 0:u.call(l))&&(l.earned.value=!0,(c=l.onComplete)==null||c.call(l),l.display)){const f=o(l.display),d=X(kt(f)?f:f.requirement);Bl(r(F,null,[r("h3",null,[g("Milestone earned!")]),r("div",null,[r(d,null,null)])]))}})}return n})}re.on("loadSettings",e=>{Ce(e,"msDisplay",yt.All)});const Dl=Object.values(yt).map(e=>({label:wi(e),value:e}));ga(B(()=>r(Jn,{title:"Show Milestones",options:Dl,"onUpdate:modelValue":e=>oe.msDisplay=e,modelValue:oe.msDisplay},null)));const Ol=Symbol("Reset");function Rl(e){return Le(()=>{const t=e();return t.id=Gt("reset-"),t.type=Ol,t.reset=function(){var i;const n=s=>{s&&typeof s=="object"&&(an in s?s[an].value=s[ln]:!(s instanceof a)&&!Ne(s)&&Object.values(s).forEach(l=>n(l)))};o(t.thingsToReset).forEach(n),re.emit("reset",t),(i=t.onReset)==null||i.call(t)},$(t,"thingsToReset"),t})}const hn={};re.on("removeLayer",e=>{var t;(t=hn[e.id])==null||t.call(hn),hn[e.id]=void 0});function qi(e){return Le(()=>{const t=e();return t.currentGain==null&&(t.currentGain=I(()=>{let n=t.gainModifier?t.gainModifier.apply(t.scaling.currentGain(t)):t.scaling.currentGain(t);return n=a.floor(n).max(0),o(t.buyMax)||(n=n.min(1)),n})),t.actualGain==null&&(t.actualGain=t.currentGain),t.currentAt==null&&(t.currentAt=I(()=>{let n=t.scaling.currentAt(t);return t.roundUpCost&&(n=a.ceil(n)),n})),t.nextAt==null&&(t.nextAt=I(()=>{let n=t.scaling.nextAt(t);return t.roundUpCost&&(n=a.ceil(n)),n})),t.convert==null&&(t.convert=function(){var s;const n=o(t.currentGain),i=o(t.currentAt);t.gainResource.value=a.add(t.gainResource.value,n),t.spend(n,i),(s=t.onConvert)==null||s.call(t,n)}),t.spend==null&&(t.spend=function(){t.baseResource.value=0}),$(t,"currentGain"),$(t,"actualGain"),$(t,"currentAt"),$(t,"nextAt"),$(t,"buyMax"),Ce(t,"buyMax",!0),$(t,"roundUpCost"),Ce(t,"roundUpCost",!0),t})}function Vi(e,t){const n=Be(e),i=Be(t);return{currentGain(s){let l=o(s.baseResource.value);if(s.costModifier&&(l=s.costModifier.apply(l)),a.lt(l,o(n)))return 0;const u=a.div(l,o(n)).pow(o(i));return u.isNan()?new a(0):u},currentAt(s){let l=o(s.currentGain);return s.gainModifier&&(l=s.gainModifier.revert(l)),l=a.max(0,l).root(o(i)).times(o(n)),s.costModifier&&(l=s.costModifier.revert(l)),l},nextAt(s){let l=a.add(o(s.currentGain),1).floor();return s.gainModifier&&(l=s.gainModifier.revert(l)),l=a.max(0,l).root(o(i)).times(o(n)).max(o(n)),s.costModifier&&(l=s.costModifier.revert(l)),l}}}function ql(e){return qi(e)}function Vl(e){return qi(()=>{const t=e();return Ce(t,"buyMax",!1),t.currentGain==null&&(t.currentGain=I(()=>{let n=t.gainModifier?t.gainModifier.apply(t.scaling.currentGain(t)):t.scaling.currentGain(t);return n=a.floor(n).max(t.gainResource.value),o(t.buyMax)||(n=n.min(a.add(t.gainResource.value,1))),n})),t.actualGain==null&&(t.actualGain=I(()=>{let n=a.sub(a.floor(t.scaling.currentGain(t)),t.gainResource.value).max(0);return o(t.buyMax)||(n=n.min(1)),n})),Ce(t,"convert",function(){var s;const n=o(t.actualGain),i=o(t.currentAt);t.gainResource.value=t.gainModifier?t.gainModifier.apply(o(t.currentGain)):o(t.currentGain),t.spend(n,i),(s=t.onConvert)==null||s.call(t,n)}),t})}const Ll="paper",Qt=5,he=Tt(Ll,function(){const e="Paper",t="#E8DCB8",n="#E8DCB8",s=at(0,"paper"),l=Wn(s),u=at(I(()=>a.min(a.div(te.logs.value,1e9),a.div(le.ash.value,1e6))),"pulp"),c=ql(()=>({scaling:Vi(1,1.2),baseResource:u,gainResource:s,roundUpCost:!0,spend(C,N){te.logs.value=a.sub(te.logs.value,a.times(N,1e9)),le.ash.value=a.sub(le.ash.value,a.times(N,1e6))}})),f=Ae(()=>({display:B(()=>{const C=a.gte(c.actualGain.value,1)?c.currentAt.value:c.nextAt.value;return r(F,null,[r("span",{style:"font-size: large"},[g("Create "),R(c.currentGain.value),g(" "),s.displayName]),r("br",null,null),r("span",{style:"font-size: large"},[g("Cost: "),Pn(te.logs,C),g(" "),u.displayName,g(" ("),R(a.times(C,1e9)),g(" "),te.logs.displayName,g(";")," ",R(a.times(C,1e6)),g(" "),le.ash.displayName,g(")")])])}),canClick:()=>a.gte(c.actualGain.value,1),onClick(){!o(this.canClick)||c.convert()},style:"width: 600px; min-height: unset"}));function d(C){const N=tt(()=>({display:{title:C.name,description:`Print a copy of "${C.name}", which ${C.elfName} will use to improve their skills! Each copy printed will reduce the "${C.buyableName}" price scaling by 0.95x and make ${C.elfName} purchase +10% faster!`,effectDisplay:B(()=>r(F,null,[Z(a.pow(.95,N.amount.value)),g("x price scaling,")," ",Z(a.div(N.amount.value,10).add(1)),g("x auto-purchase speed")])),showAmount:!1},resource:s,cost:()=>a.pow(5,N.amount.value).times(10),style:"width: 600px"}));return N}const _=d({name:"Now You're Logging!",elfName:"Holly",buyableName:"Generic Cutters"}),y=d({name:"The Man Who Planted Trees",elfName:"Ivy",buyableName:"Generic Planters"}),v=d({name:"Logjam",elfName:"Hope",buyableName:"Expand Forest"}),p=d({name:"Fahrenheit 451",elfName:"Jack",buyableName:"Heated Cutters"}),w=d({name:"Tillamook Burn Country",elfName:"Mary",buyableName:"Heated Planters"}),S=d({name:"The Garden Tree's Handbook",elfName:"Noel",buyableName:"Fertilized Soil"}),H={cuttersBook:_,plantersBook:y,expandersBook:v,heatedCuttersBook:p,heatedPlantersBook:w,fertilizerBook:S},ae=At(()=>({direction:J.Right,width:600,height:25,fillStyle:`backgroundColor: ${n}`,textStyle:"color: var(--feature-foreground)",progress:()=>G.day.value===Qt?a.div(a.log10(a.add(l.value,1)),a.log10(5e3)):1,display:B(()=>G.day.value===Qt?r(F,null,[R(l.value),g("/"),R(5e3)]):"")}));return xe(()=>{G.day.value===Qt&&a.gte(l.value,5e3)&&G.completeDay()}),{name:e,day:Qt,color:t,paper:s,totalPaper:l,paperConversion:c,books:H,minWidth:700,display:B(()=>r(F,null,[r("div",null,[G.day.value===Qt?`Reach ${R(5e3)} total ${s.displayName} to complete the day`:`${e} Complete!`]),me(ae),r(Pe,null,null),r(Vt,{resource:s,color:t,style:"margin-bottom: 0"},null),r(Pe,null,null),me(f),r(Pe,null,null),Gn(...Object.values(H))]))}}),Gl="workshop",Kt=2,qe=Tt(Gl,function(){const e="Workshop",t="#D66B02",n="#D66B02",i=at(0,"foundation progress"),s=Vl(()=>({scaling:Vi(250,1.5),baseResource:te.logs,gainResource:i,roundUpCost:!0,buyMax:!1,spend(ae,C){te.logs.value=a.sub(te.logs.value,C)}})),l=Ae(()=>({display:B(()=>r(F,null,[r("b",{style:"font-size: x-large"},[g("Build part of the foundation")]),r("br",null,null),r("br",null,null),r("span",{style:"font-size: large"},[g("Cost:")," ",Pn(te.logs,a.gte(s.actualGain.value,1)?s.currentAt.value:s.nextAt.value)," ",te.logs.displayName])])),visibility:()=>Y(a.lt(i.value,100)),canClick:()=>a.gte(s.actualGain.value,1)&&a.lt(i.value,100),onClick(){!o(this.canClick)||s.convert()},style:"width: 600px; min-height: unset"})),u=qn(()=>({key:"w",description:"Build part of the foundation.",onPress:()=>{l.canClick.value&&l.onClick()}})),c=Ve(()=>({display:{requirement:"1% Foundation Completed",effectDisplay:"Trees give 5% more logs for each % of foundation completed"},shouldEarn:()=>a.gte(i.value,1)})),f=Ve(()=>({display:{requirement:"10% Foundation Completed",effectDisplay:"Cut an additional tree per second for each 5% of foundation completed"},shouldEarn:()=>a.gte(i.value,10),visibility:()=>Y(c.earned.value)})),d=Ve(()=>({display:{requirement:"20% Foundation Completed",effectDisplay:"Plant an additional tree per second for each 10% of foundation completed"},shouldEarn:()=>a.gte(i.value,20),visibility:()=>Y(f.earned.value)})),_=Ve(()=>({display:{requirement:"30% Foundation Completed",effectDisplay:"All automatic tree cutting is doubled"},shouldEarn:()=>a.gte(i.value,30),visibility:()=>Y(d.earned.value)})),y=Ve(()=>({display:{requirement:"40% Foundation Completed",effectDisplay:"All automatic tree planting is doubled"},shouldEarn:()=>a.gte(i.value,40),visibility:()=>Y(_.earned.value)})),v=Ve(()=>({display:{requirement:"50% Foundation Completed",effectDisplay:"Trees give twice as many logs"},shouldEarn:()=>a.gte(i.value,50),visibility:()=>Y(y.earned.value)})),p=Ve(()=>({display:{requirement:"75% Foundation Completed",effectDisplay:"The forest gains an extra tree for every 2% of foundation completed"},shouldEarn:()=>a.gte(i.value,75),visibility:()=>Y(v.earned.value)})),w=Ve(()=>({display:{requirement:"100% Foundation Completed",effectDisplay:"Trees' log gain is now raised to the 1.1th power"},shouldEarn:()=>a.gte(i.value,100),visibility:()=>Y(p.earned.value)})),S={logGainMilestone1:c,autoCutMilestone1:f,autoPlantMilestone1:d,autoCutMilestone2:_,autoPlantMilestone2:y,logGainMilestone2:v,morePlantsMilestone1:p,logGainMilestone3:w},H=At(()=>({direction:J.Right,width:600,height:25,fillStyle:`backgroundColor: ${n}`,progress:()=>G.day.value===Kt?a.div(i.value,100):1,display:B(()=>G.day.value===Kt?r(F,null,[R(i.value),g("%")]):"")}));return xe(()=>{G.day.value===Kt&&a.gte(i.value,100)&&G.completeDay()}),{name:e,day:Kt,color:t,foundationProgress:i,foundationConversion:s,milestones:S,minWidth:700,buildFoundationHK:u,display:B(()=>r(F,null,[r("div",null,[G.day.value===Kt?"Complete the foundation to complete the day":`${e} Complete!`]),me(H),r(Pe,null,null),me(l),a.lt(i.value,100)?r("div",null,[g("You have "),R(i.value),g("% completed")]):null,r(Pe,null,null),Gn(...Object.values(S))]))}}),Hl="elves",Jt=4,gt=Tt(Hl,function(){const e="Elves",t="red",n="#911D21",s=At(()=>({direction:J.Right,width:600,height:25,fillStyle:`backgroundColor: ${n}`,progress:()=>G.day.value===Jt?a.div(Ie.value,6).times(.8333333333333334).add(a.div(a.add(le.coal.value,1).log10(),a.log10(1e9)).clamp(0,1).div(6)):1,display:B(()=>G.day.value===Jt?a.lt(Ie.value,6)?r(F,null,[R(Ie.value),g("/6 elves")]):r(F,null,[R(le.coal.value),g("/"),R(1e9),g(" coal")]):"")})),l=Rl(()=>({thingsToReset:[te,qe,le],onReset(){setTimeout(()=>{Q.earned.value&&(te.row1Upgrades[4].bought.value=!0,te.row2Upgrades[4].bought.value=!0)})}})),u=fe(()=>[W(()=>({multiplier:2,description:"6 Elves Trained",enabled:ie.earned})),W(()=>({multiplier:()=>a.times(he.books.cuttersBook.amount.value,.1).add(1),description:"Now You're Logging!",enabled:()=>a.gt(he.books.cuttersBook.amount.value,0)}))]),c=fe(()=>[W(()=>({multiplier:2,description:"6 Elves Trained",enabled:ie.earned})),W(()=>({multiplier:()=>a.times(he.books.plantersBook.amount.value,.1).add(1),description:"The Man Who Planted Trees",enabled:()=>a.gt(he.books.plantersBook.amount.value,0)}))]),f=fe(()=>[W(()=>({multiplier:2,description:"6 Elves Trained",enabled:ie.earned})),W(()=>({multiplier:()=>a.times(he.books.expandersBook.amount.value,.1).add(1),description:"Logjam",enabled:()=>a.gt(he.books.expandersBook.amount.value,0)}))]),d=fe(()=>[W(()=>({multiplier:2,description:"6 Elves Trained",enabled:ie.earned})),W(()=>({multiplier:()=>a.times(he.books.heatedCuttersBook.amount.value,.1).add(1),description:"Fahrenheit 451",enabled:()=>a.gt(he.books.heatedCuttersBook.amount.value,0)}))]),_=fe(()=>[W(()=>({multiplier:2,description:"6 Elves Trained",enabled:ie.earned})),W(()=>({multiplier:()=>a.times(he.books.heatedPlantersBook.amount.value,.1).add(1),description:"Tillamook Burn Country",enabled:()=>a.gt(he.books.heatedPlantersBook.amount.value,0)}))]),y=fe(()=>[W(()=>({multiplier:2,description:"6 Elves Trained",enabled:ie.earned})),W(()=>({multiplier:()=>a.times(he.books.fertilizerBook.amount.value,.1).add(1),description:"The Garden Tree's Handbook",enabled:()=>a.gt(he.books.fertilizerBook.amount.value,0)}))]),[v,p]=Qn(()=>[{title:"Holly Auto-Buy Frequency",modifier:u,base:10,unit:"/s",visible:De.cuttersElf.bought},{title:"Ivy Auto-Buy Frequency",modifier:c,base:10,unit:"/s",visible:De.plantersElf.bought},{title:"Hope Auto-Buy Frequency",modifier:f,base:10,unit:"/s",visible:De.expandersElf.bought},{title:"Jack Auto-Buy Frequency",modifier:d,base:10,unit:"/s",visible:De.heatedCuttersElf.bought},{title:"Mary Auto-Buy Frequency",modifier:_,base:10,unit:"/s",visible:De.heatedPlantersElf.bought},{title:"Noel Auto-Buy Frequency",modifier:y,base:10,unit:"/s",visible:De.fertilizerElf.bought}]),w=x(!1),S=B(()=>r(Xe,{modelValue:w.value,"onUpdate:modelValue":pe=>w.value=pe},{header:()=>r("h2",null,[e,g(" Modifiers")]),body:v}));function H(pe){const ft=I(()=>a.pow(4,Ie.value).times(1e6)),Te=Fe(0),st=I(()=>pe.cooldownModifier.apply(10));function Ze(ce){if(Oe.bought.value){Te.value=a.add(Te.value,ce);const mt=a.recip(st.value);for(;a.gte(Te.value,mt);)if(o(pe.buyable.canPurchase))pe.buyable.amount.value=a.add(pe.buyable.amount.value,1),Te.value=mt.sub(mt);else{Te.value=mt;break}}}const Oe=ge(()=>({...pe,buyProgress:Te,update:Ze,resource:le.coal,cost:ft,computedAutoBuyCooldown:st,display:()=>({title:pe.name,description:B(()=>r(F,null,[pe.description,Oe.bought.value?null:r(F,null,[" ",g("Training this elf will require resetting all your progress from days 1-3.")])])),showCost:!Oe.bought.value}),style:"width: 190px",onPurchase:l.reset}));return Oe}const ae=H({name:"Holly",description:"Holly will automatically purchase cutters you can afford, without actually spending any logs.",buyable:te.row1Buyables[0],cooldownModifier:u}),C=H({name:"Ivy",description:"Ivy will automatically purchase planters you can afford, without actually spending any logs.",buyable:te.row1Buyables[1],cooldownModifier:c}),N=H({name:"Hope",description:"Hope will automatically purchase forest expanders you can afford, without actually spending any logs.",buyable:te.row1Buyables[2],cooldownModifier:f}),O=[ae,C,N],ue=H({name:"Jack",description:"Jack will automatically purchase heated cutters you can afford, without actually spending any coal.",buyable:le.heatedCutters,cooldownModifier:d}),we=H({name:"Mary",description:"Mary will automatically purchase heated planters you can afford, without actually spending any coal.",buyable:le.heatedPlanters,cooldownModifier:_}),Ee=H({name:"Noel",description:"Noel will automatically purchase fertilized soil you can afford, without actually spending any ash.",buyable:le.moreFertilizer,cooldownModifier:y}),xt=[ue,we,Ee],De={cuttersElf:ae,plantersElf:C,expandersElf:N,heatedCuttersElf:ue,heatedPlantersElf:we,fertilizerElf:Ee},Ie=I(()=>Object.values(De).filter(pe=>pe.bought.value).length),Nt=Ve(()=>({display:{requirement:"1 Elf Trained",effectDisplay:"Manual cutting and planting can happen twice as often for each trained elf"},shouldEarn:()=>a.gte(Ie.value,1)})),Q=Ve(()=>({display:{requirement:"2 Elves Trained",effectDisplay:"Research I & II are't reset after training"},shouldEarn:()=>a.gte(Ie.value,2),visibility:()=>Y(Nt.earned.value)})),ct=Ve(()=>({display:{requirement:"3 Elves Trained",effectDisplay:"Coal gain is raised to the 1.25"},shouldEarn:()=>a.gte(Ie.value,3),visibility:()=>Y(Q.earned.value)})),Ue=Ve(()=>({display:{requirement:"4 Elves Trained",effectDisplay:"Trees give twice as many logs"},shouldEarn:()=>a.gte(Ie.value,4),visibility:()=>Y(ct.earned.value)})),dt=Ve(()=>({display:{requirement:"5 Elves Trained",effectDisplay:"Forest is twice as large"},shouldEarn:()=>a.gte(Ie.value,5),visibility:()=>Y(Ue.earned.value)})),ie=Ve(()=>({display:{requirement:"6 Elves Trained",effectDisplay:"Elves work twice as fast"},shouldEarn:()=>a.gte(Ie.value,6),visibility:()=>Y(dt.earned.value)})),Ct=[Nt,Q,ct,Ue,dt,ie];return re.on("update",pe=>{a.lt(G.day.value,Jt)||Object.values(De).forEach(ft=>ft.update(pe))}),xe(()=>{G.day.value===Jt&&a.gte(Ie.value,6)&&a.gte(le.coal.value,1e9)&&G.completeDay()}),{name:e,color:t,elves:De,totalElves:Ie,milestones:Ct,generalTabCollapsed:p,minWidth:700,display:B(()=>r(F,null,[r("div",null,[G.day.value===Jt?`Reach ${R(6)} trained elves and ${R(1e9)} ${le.coal.displayName} to complete the day`:`${e} Complete!`," ",g("-")," ",r("button",{class:"button",style:"display: inline-block;",onClick:()=>w.value=!0},[g("Check Modifiers")])]),me(s),me(S),r(Pe,null,null),r("div",{style:"width: 600px"},[Ge(...O),Ge(...xt)]),Gn(...Ct)]))}}),Ul="coal",Xt=3,le=Tt(Ul,function(){const e="Coal",t="#151716",n="#B2BeB5",i="var(--foreground)",s=at(0,"coal"),l=Wn(s),u=at(0,"ash"),c=1e7,f=At(()=>({direction:J.Right,width:600,height:25,fillStyle:`backgroundColor: ${t}`,progress:()=>G.day.value===Xt?a.log10(a.add(l.value,1)).div(Math.log10(c)):1,display:B(()=>G.day.value===Xt?r(F,null,[R(l.value),g("/"),R(c)]):"")})),d=Fe(0),_=I(()=>a.times(d.value,1e3)),y=I(()=>a.times(d.value,.1)),v=I(()=>a.times(d.value,50)),p=tt(()=>({resource:te.logs,cost(){return a.times(Ee.amount.value,10).plus(this.amount.value).pow(1.5).times(1e4)},display:B(()=>r(F,null,[r("h3",null,[g("Small Fire")]),r("br",null,null),g("Burn 1000 logs for 0.1 coal and 50 ash"),r("br",null,null),r("br",null,null),g("Currently:"),r("br",null,null),g("-"),Z(_.value),g(" logs/sec"),r("br",null,null),g("+"),Z(y.value),g(" coal/sec"),r("br",null,null),g("+"),Z(v.value),g(" ash/sec"),r("br",null,null),r("br",null,null),g("Cost: "),R(o(p.cost)),g(" "),p.resource.displayName])),onPurchase(){d.value=a.add(d.value,1)},style:{color:i,width:"160px"}})),w=Ae(()=>({display:"0",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.gt(d.value,0)},onClick(){d.value=0}})),S=Ae(()=>({display:"-",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.gt(d.value,0)},onClick(){d.value=a.sub(d.value,1)}})),H=Ae(()=>({display:"+",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.lt(d.value,p.amount.value)},onClick(){d.value=a.add(d.value,1)}})),ae=Ae(()=>({display:"Max",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.lt(d.value,p.amount.value)},onClick(){d.value=p.amount.value}})),C=at(p.amount,"small fires"),N=Fe(0),O=I(()=>a.times(N.value,1e4)),ue=I(()=>a.times(N.value,10)),we=I(()=>a.times(N.value,1e3)),Ee=tt(()=>({resource:C,cost:10,display:B(()=>r(F,null,[r("h3",null,[g("Bonfire")]),r("br",null,null),g("Burn 10,000 logs for 10 coal and 1000 ash"),r("br",null,null),r("br",null,null),g("Currently:"),r("br",null,null),g("-"),Z(O.value),g(" logs/sec"),r("br",null,null),g("+"),Z(ue.value),g(" coal/sec"),r("br",null,null),g("+"),Z(we.value),g(" ash/sec"),r("br",null,null),r("br",null,null),g("Cost: "),R(o(Ee.cost)),g(" "),Ee.resource.displayName])),onPurchase(D){d.value=a.sub(d.value,D).max(0),N.value=a.add(N.value,1)},style:{color:i,width:"160px"}})),xt=Ae(()=>({display:"0",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.gt(N.value,0)},onClick(){N.value=0}})),De=Ae(()=>({display:"-",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.gt(N.value,0)},onClick(){N.value=a.sub(N.value,1)}})),Ie=Ae(()=>({display:"+",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.lt(N.value,Ee.amount.value)},onClick(){N.value=a.add(N.value,1)}})),Nt=Ae(()=>({display:"Max",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.lt(N.value,Ee.amount.value)},onClick(){N.value=Ee.amount.value}})),Q=Fe(0),ct=I(()=>a.times(Q.value,1e6)),Ue=I(()=>a.times(Q.value,1e4)),dt=I(()=>a.times(Q.value,1e4)),ie=tt(()=>({resource:te.logs,cost(){return a.pow(1.1,this.amount.value).times(1e7)},display:B(()=>r(F,null,[r("h3",null,[g("Charcoal Kiln")]),r("br",null,null),g("Burn 1,000,000 logs for 10,000 coal and 10,000 ash"),r("br",null,null),r("br",null,null),g("Currently:"),r("br",null,null),g("-"),Z(ct.value),g(" logs/sec"),r("br",null,null),g("+"),Z(Ue.value),g(" coal/sec"),r("br",null,null),g("+"),Z(dt.value),g(" ash/sec"),r("br",null,null),r("br",null,null),g("Cost: "),R(o(ie.cost)),g(" "),ie.resource.displayName])),onPurchase(){Q.value=a.add(Q.value,1)},style:{color:i,width:"160px"}})),Ct=Ae(()=>({display:"0",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.gt(Q.value,0)},onClick(){Q.value=0}})),pe=Ae(()=>({display:"-",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.gt(Q.value,0)},onClick(){Q.value=a.sub(Q.value,1)}})),ft=Ae(()=>({display:"+",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.lt(Q.value,ie.amount.value)},onClick(){Q.value=a.add(Q.value,1)}})),Te=Ae(()=>({display:"Max",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.lt(Q.value,ie.amount.value)},onClick(){Q.value=ie.amount.value}})),st=ge(()=>({resource:s,cost:5,display:{title:"Warmer Cutters",description:"Cut down twice as many trees/s"},style:{color:i}})),Ze=ge(()=>({resource:s,cost:5,display:{title:"Warmer Planters",description:"Plant twice as many trees/s"},style:{color:i}})),Oe=ge(()=>({resource:u,cost:5e3,display:{title:"Ashy Soil",description:"Trees give 25% more logs"},style:{color:i}})),ce=ge(()=>({resource:C,cost:10,display:{title:"Bigger Fires",description:"Put all those fires together into a larger blaze"},onPurchase(){C.value=a.add(C.value,this.cost)},style:{color:i}})),mt=[st,Ze,Oe,ce],Ye=ge(()=>({resource:s,cost:250,display:{title:"Dedicated Cutter Heaters",description:"Double the bonus from Heated Cutters"},style:{color:i},visibility:()=>Y(ce.bought.value)})),Re=ge(()=>({resource:s,cost:250,display:{title:"Dedicated Planter Heaters",description:"Double the bonus from Heated Planters"},style:{color:i},visibility:()=>Y(ce.bought.value)})),Ht=ge(()=>({canAfford(){return a.gte(te.logs.value,1e5)&&a.gte(u.value,1e5)},onPurchase(){te.logs.value=a.sub(te.logs.value,1e5),u.value=a.sub(u.value,1e5)},display:B(()=>r(F,null,[r("h3",null,[g("Mulched Soil")]),r("br",null,null),g("Double the bonus from Fertilized Soil"),r("br",null,null),r("br",null,null),g("Cost: "),R(1e5),g(" "),te.logs.displayName,r("br",null,null),R(1e5),g(" "),u.displayName])),style:{color:i},visibility:()=>Y(ce.bought.value)})),et=ge(()=>({resource:te.logs,cost:1e7,display:{title:"Efficient Fires",description:"Move the fires underground to keep the coal from turning to ash"},style:{color:i},visibility:()=>Y(ce.bought.value)})),Tn=[Ye,Re,Ht,et],Bt=tt(()=>({resource:s,cost(){let D=this.amount.value;return a.gte(D,50)&&(D=a.pow(D,2).div(50)),a.gte(D,200)&&(D=a.pow(D,2).div(200)),a.gte(D,2e6)&&(D=a.pow(D,2).div(2e6)),D=a.pow(.95,he.books.heatedCuttersBook.amount.value).times(D),a.add(D,1).pow(2.5).times(10)},display:{title:"Heated Cutters",description:"Even warmer cutters cut down trees faster",effectDisplay:B(()=>r(F,null,[g("Cutters cut down trees "),Z(dn.value),g("x faster")]))},style:{color:i},visibility:()=>Y(st.bought.value)})),pt=tt(()=>({resource:s,cost(){let D=this.amount.value;return a.gte(D,50)&&(D=a.pow(D,2).div(50)),a.gte(D,200)&&(D=a.pow(D,2).div(200)),a.gte(D,2e6)&&(D=a.pow(D,2).div(2e6)),D=a.pow(.95,he.books.heatedPlantersBook.amount.value).times(D),a.add(D,1).pow(2.5).times(10)},display:{title:"Heated Planters",description:"Even warmer planters plant trees faster",effectDisplay:B(()=>r(F,null,[g("Planters plant trees "),Z(T.value),g("x faster")]))},style:{color:i},visibility:()=>Y(Ze.bought.value)})),Ft=tt(()=>({resource:u,cost(){let D=this.amount.value;return a.gte(D,50)&&(D=a.pow(D,2).div(50)),a.gte(D,200)&&(D=a.pow(D,2).div(200)),a.gte(D,2e6)&&(D=a.pow(D,2).div(2e6)),D=a.pow(.95,he.books.fertilizerBook.amount.value).times(D),a.add(D,1).pow(1.5).times(5e4)},display:{title:"Fertilized Soil",description:"More fertilizer helps trees grow bigger",effectDisplay:B(()=>r(F,null,[g("Trees give "),Z(zt.value),g("x more logs")]))},style:{color:i},visibility:()=>Y(Oe.bought.value)})),Ut=[Bt,pt,Ft],jt=fe(()=>[se(()=>({addend(){return a.times(Bt.amount.value,.25)},description:"Heated Cutters",enabled(){return a.gt(Bt.amount.value,0)}})),W(()=>({multiplier:2,description:"Dedicated Cutter Heaters",enabled:Ye.bought}))]),dn=I(()=>jt.apply(1)),xn=fe(()=>[se(()=>({addend(){return a.times(pt.amount.value,.25)},description:"Heated Planters",enabled(){return a.gt(pt.amount.value,0)}})),W(()=>({multiplier:2,description:"Dedicated Planter Heaters",enabled:Re.bought}))]),T=I(()=>xn.apply(1)),fn=fe(()=>[se(()=>({addend(){return a.times(Ft.amount.value,.25)},description:"Fertilized Soil",enabled(){return a.gt(Ft.amount.value,0)}})),W(()=>({multiplier:2,description:"Mulched Soil",enabled:Ht.bought}))]),zt=I(()=>fn.apply(1)),mn=fe(()=>[se(()=>({addend(){return y.value},description:"Small Fires",enabled(){return a.gt(d.value,0)}})),se(()=>({addend(){return ue.value},description:"Bonfires",enabled(){return a.gt(N.value,0)}})),se(()=>({addend(){return Ue.value},description:"Charcoal Kilns",enabled(){return a.gt(Q.value,0)}})),Ri(()=>({exponent:1.25,description:"3 Elves Trained",enabled:gt.milestones[2].earned}))]),Wt=I(()=>mn.apply(0)),ei=fe(()=>[se(()=>({addend(){return v.value},description:"Small Fires",enabled(){return a.gt(d.value,0)}})),se(()=>({addend(){return we.value},description:"Bonfires",enabled(){return a.gt(N.value,0)}})),se(()=>({addend(){return dt.value},description:"Charcoal Kilns",enabled(){return a.gt(Q.value,0)}}))]),Bn=I(()=>ei.apply(0)),ti=fe(()=>[se(()=>({addend(){return a.negate(_.value)},description:"Small Fires",enabled(){return a.gt(d.value,0)}})),se(()=>({addend(){return a.negate(O.value)},description:"Bonfires",enabled(){return a.gt(N.value,0)}})),se(()=>({addend(){return a.negate(ct.value)},description:"Charcoal Kilns",enabled(){return a.gt(Q.value,0)}}))]),ni=I(()=>ti.apply(0)),[Zi,Yi]=Qn(()=>[{title:"Log Consumption",modifier:ti,base:0,visible(){return a.gt(d.value,0)||a.gt(N.value,0)||a.gt(Q.value,0)}},{title:"Coal Gain",modifier:mn,base:0,visible(){return a.gt(d.value,0)||a.gt(N.value,0)||a.gt(Q.value,0)}},{title:"Ash Gain",modifier:ei,base:0,visible(){return a.gt(d.value,0)||a.gt(N.value,0)||a.gt(Q.value,0)}}]),Fn=x(!1),es=B(()=>r(Xe,{modelValue:Fn.value,"onUpdate:modelValue":D=>Fn.value=D},{header:()=>r("h2",null,[e,g(" Modifiers")]),body:Zi}));return re.on("update",D=>{a.lt(G.day.value,Xt)||a.times(D,ni.value).negate().gt(te.logs.value)||(te.logs.value=a.times(D,ni.value).plus(te.logs.value),s.value=a.times(D,Wt.value).plus(s.value),u.value=a.times(D,Bn.value).plus(u.value))}),xe(()=>{G.day.value===Xt&&a.gte(l.value,c)&&G.completeDay()}),{name:e,color:t,coal:s,totalCoal:l,ash:u,activeFires:d,buildFire:p,activeBonfires:N,buildBonfire:Ee,activeKilns:Q,buildKiln:ie,warmerCutters:st,warmerPlanters:Ze,basicFertilizer:Oe,unlockBonfire:ce,dedicatedCutters:Ye,dedicatedPlanters:Re,betterFertilizer:Ht,unlockKiln:et,heatedCutters:Bt,heatedPlanters:pt,moreFertilizer:Ft,computedHeatedCutterEffect:dn,computedHeatedPlanterEffect:T,computedFertilizerEffect:zt,generalTabCollapsed:Yi,minWidth:700,display:B(()=>r(F,null,[r("div",null,[G.day.value===Xt?`Reach ${R(c)} ${s.displayName} to complete the day`:`${e} Complete!`," ",g("-")," ",r("button",{class:"button",style:"display: inline-block;",onClick:()=>Fn.value=!0},[g("Check Modifiers")])]),me(f),me(es),r(Pe,null,null),r(Vt,{resource:s,color:t,style:"margin-bottom: 0",effectDisplay:a.gt(Wt.value,0)?`+${Z(Wt.value)}/s`:void 0},null),r(Pe,null,null),r(Vt,{resource:u,color:n,style:"margin-bottom: 0",effectDisplay:a.gt(Bn.value,0)?`+${Z(Bn.value)}/s`:void 0},null),r(Pe,null,null),r(Pi,null,{default:()=>[r(vn,null,{default:()=>[me(p),r("div",null,[R(d.value),g("/"),R(p.amount.value)]),Ge(w,S,H,ae)]}),ce.bought.value?r(F,null,[r(Pe,null,null),r(vn,null,{default:()=>[me(Ee),r("div",null,[R(N.value),g("/"),R(Ee.amount.value)]),Ge(xt,De,Ie,Nt)]})]):void 0,et.bought.value?r(F,null,[r(Pe,null,null),r(vn,null,{default:()=>[me(ie),r("div",null,[R(Q.value),g("/"),R(ie.amount.value)]),Ge(Ct,pe,ft,Te)]})]):void 0]}),r(Pe,null,null),Ge(...mt),Ge(...Tn),Ge(...Ut)]))}}),jl="trees",Zt=1,ci=.5,te=Tt(jl,function(){const e="Trees",t="#4BDC13",n="green",i=at(0,"logs"),s=Wn(i),l=at(0,"saplings"),u=1e4,c=x(0),f=fe(()=>[se(()=>({addend:()=>a.times(xt.amount.value,10),description:"Expand Forest",enabled:O.bought})),se(()=>({addend:()=>a.div(qe.foundationProgress.value,2),description:"75% Foundation Completed",enabled:qe.milestones.morePlantsMilestone1.earned})),W(()=>({multiplier:2,description:"5 Elves Trained",enabled:gt.milestones[4].earned}))]),d=at(I(()=>a.sub(f.apply(10),l.value)),"trees"),_=ge(()=>({resource:i,cost:10,display:{title:"Wooden Fingers",description:"Cut down an additional tree per click"}})),y=ge(()=>({resource:i,cost:10,display:{title:"Leafy Fingers",description:"Plant an additional tree per click"}})),v=ge(()=>({resource:i,cost:25,display:{title:"Automated Knives",description:"Cut down a tree every second"}})),p=ge(()=>({resource:i,cost:25,display:{title:"Automated Spade",description:"Plant a tree every second"}})),w=ge(()=>({resource:i,cost:40,display:{title:"Research I",description:"Trees give 25% more logs, and unlock more upgrades"}})),S=[_,y,v,p,w],H=ge(()=>({resource:i,cost:50,visibility:()=>Y(w.bought.value),display:{title:"Sharper Fingers",description:"Manually cut trees twice as often"}})),ae=ge(()=>({resource:i,cost:50,visibility:()=>Y(w.bought.value),display:{title:"Greener Fingers",description:"Manually Plant trees twice as often"}})),C=ge(()=>({resource:i,cost:150,visibility:()=>Y(w.bought.value),display:{title:"Smart Knives",description:"Each time you manually chop trees, gain 1s of automatic tree chopping production"}})),N=ge(()=>({resource:i,cost:150,visibility:()=>Y(w.bought.value),display:{title:"Smart Spades",description:"Each time you manually plant trees, gain 1s of automatic tree planting production"}})),O=ge(()=>({resource:i,cost:300,visibility:()=>Y(w.bought.value),display:{title:"Research II",description:"Trees give 25% more logs, and unlock repeatable purchases"}})),ue=[H,ae,C,N,O],we=tt(()=>({resource:i,cost(){let T=this.amount.value;return a.gte(T,50)&&(T=a.pow(T,2).div(50)),a.gte(T,200)&&(T=a.pow(T,2).div(200)),a.gte(T,2e6)&&(T=a.pow(T,2).div(2e6)),T=a.pow(.95,he.books.cuttersBook.amount.value).times(T),a.times(100,T).add(200)},display:{title:"Generic Cutters",description:"Each cutter cuts down 1 tree/s"},visibility:()=>Y(O.bought.value)})),Ee=tt(()=>({resource:i,cost(){let T=this.amount.value;return a.gte(T,50)&&(T=a.pow(T,2).div(50)),a.gte(T,200)&&(T=a.pow(T,2).div(200)),a.gte(T,2e6)&&(T=a.pow(T,2).div(2e6)),T=a.pow(.95,he.books.plantersBook.amount.value).times(T),a.times(100,T).add(200)},display:{title:"Generic Planters",description:"Each planter plants 0.5 trees/s"},visibility:()=>Y(O.bought.value)})),xt=tt(()=>({resource:i,cost(){let T=this.amount.value;return a.gte(T,100)&&(T=a.pow(T,2).div(100)),a.gte(T,1e5)&&(T=a.pow(T,2).div(1e5)),T=a.pow(.95,he.books.expandersBook.amount.value).times(T),a.pow(a.add(T,1),1.5).times(500)},display:{title:"Expand Forest",description:"Add 10 trees to the forest"},visibility:()=>Y(O.bought.value)})),De=[we,Ee,xt],Ie=At(()=>({direction:J.Right,width:600,height:25,fillStyle:`backgroundColor: ${n}`,progress:()=>G.day.value===Zt?a.log10(a.add(s.value,1)).div(Math.log10(u)):1,display:B(()=>G.day.value===Zt?r(F,null,[R(s.value),g("/"),R(u)]):"")})),Nt=fe(()=>[se(()=>({addend:1,description:"Wooden Fingers",enabled:_.bought})),se(()=>({addend:ie,description:"Smart Knives",enabled:C.bought}))]),Q=I(()=>Nt.apply(1)),ct=fe(()=>[W(()=>({multiplier:.5,description:"Sharper Fingers",enabled:H.bought})),W(()=>({multiplier:()=>a.pow(.5,gt.totalElves.value),description:"1 Elf Trained",enabled:gt.milestones[0].earned}))]),Ue=I(()=>ct.apply(1)),dt=fe(()=>[se(()=>({addend:1,description:"Automated Knives",enabled:v.bought})),se(()=>({addend:we.amount,description:"Generic Cutters",enabled:O.bought})),se(()=>({addend:()=>a.div(qe.foundationProgress.value,5).floor(),description:"10% Foundation Completed",enabled:qe.milestones.autoCutMilestone1.earned})),W(()=>({multiplier:2,description:"30% Foundation Completed",enabled:qe.milestones.autoCutMilestone2.earned})),W(()=>({multiplier:2,description:"Warmer Cutters",enabled:le.warmerCutters.bought})),W(()=>({multiplier:le.computedHeatedCutterEffect,description:"Heated Cutters",enabled:()=>a.gt(le.heatedCutters.amount.value,0)}))]),ie=I(()=>dt.apply(0)),Ct=fe(()=>[se(()=>({addend:1,description:"Leafy Fingers",enabled:y.bought})),se(()=>({addend:Ze,description:"Smart Spades",enabled:N.bought}))]),pe=I(()=>Ct.apply(1)),ft=fe(()=>[W(()=>({multiplier:.5,description:"Greener Fingers",enabled:ae.bought})),W(()=>({multiplier:()=>a.pow(.5,gt.totalElves.value),description:"1 Elf Trained",enabled:gt.milestones[0].earned}))]),Te=I(()=>ft.apply(1)),st=fe(()=>[se(()=>({addend:1,description:"Automated Spade",enabled:p.bought})),se(()=>({addend:()=>a.div(Ee.amount.value,2),description:"Generic Planters",enabled:O.bought})),se(()=>({addend:()=>a.div(qe.foundationProgress.value,10).floor(),description:"20% Foundation Completed",enabled:qe.milestones.autoPlantMilestone1.earned})),W(()=>({multiplier:2,description:"40% Foundation Completed",enabled:qe.milestones.autoPlantMilestone2.earned})),W(()=>({multiplier:2,description:"Warmer Planters",enabled:le.warmerPlanters.bought})),W(()=>({multiplier:le.computedHeatedPlanterEffect,description:"Heated Planters",enabled:()=>a.gt(le.heatedPlanters.amount.value,0)}))]),Ze=I(()=>st.apply(0)),Oe=fe(()=>[W(()=>({multiplier:1.25,description:"Research I",enabled:w.bought})),W(()=>({multiplier:1.25,description:"Research II",enabled:O.bought})),W(()=>({multiplier:()=>a.div(qe.foundationProgress.value,20).add(1),description:"1% Foundation Completed",enabled:qe.milestones.logGainMilestone1.earned})),W(()=>({multiplier:2,description:"50% Foundation Completed",enabled:qe.milestones.logGainMilestone2.earned})),W(()=>({multiplier:1.25,description:"Ashy Soil",enabled:le.basicFertilizer.bought})),W(()=>({multiplier:le.computedFertilizerEffect,description:"Fertilized Soil",enabled:()=>a.gt(le.moreFertilizer.amount.value,0)})),W(()=>({multiplier:2,description:"4 Elves Trained",enabled:gt.milestones[3].earned})),Ri(()=>({exponent:1.1,description:"100% Foundation Completed",enabled:qe.milestones.logGainMilestone3.earned}))]),ce=Fe(0),mt=At(()=>({direction:J.Right,width:100,height:10,style:"margin-top: 8px",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s",progress:()=>a.div(ce.value,Ue.value)})),Ye=Ae(()=>({display:{title:"Cut trees",description:B(()=>r(F,null,[g("Cut down up to "),R(a.floor(Q.value))," ",g("tree"),a.eq(Q.value,1)?"":"s",g(" at once!"),r("br",null,null),me(mt)]))},style:{minHeight:"80px"},canClick:()=>a.gte(d.value,1)&&a.gte(ce.value,Ue.value),onClick(){if(a.lt(ce.value,Ue.value))return;const T=a.floor(a.min(d.value,a.times(Q.value,a.div(ce.value,Ue.value).floor())));i.value=a.add(i.value,Oe.apply(T)),l.value=a.add(l.value,T),ce.value=0}})),Re=Fe(0),Ht=At(()=>({direction:J.Right,width:100,height:10,style:"margin-top: 8px",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s",progress:()=>a.div(Re.value,Te.value)})),et=Ae(()=>({display:{title:"Plant trees",description:B(()=>r(F,null,[g("Plant up to "),R(a.floor(pe.value))," ",g("tree"),a.eq(pe.value,1)?"":"s",g(" at once!"),r("br",null,null),me(Ht)]))},style:{minHeight:"80px"},canClick:()=>a.gte(l.value,1)&&a.gte(Re.value,Te.value),onClick(){if(a.lt(Re.value,Te.value))return;const T=a.floor(a.min(l.value,a.times(pe.value,a.div(Re.value,Te.value).floor())));l.value=a.sub(l.value,T),Re.value=0}})),[Tn,Bt]=Qn(()=>[{title:"Logs per Tree",modifier:Oe,base:1,visible:w.bought},{title:"Manual Cutting Amount",modifier:Nt,base:1,visible:_.bought,unit:"/click"},{title:"Manual Cutting Cooldown",modifier:ct,base:1,visible:_.bought,unit:"s"},{title:"Manual Planting Amount",modifier:Ct,base:1,visible:y.bought,unit:"/click"},{title:"Manual Planting Cooldown",modifier:ft,base:1,visible:y.bought,unit:"s"},{title:"Auto Cutting Amount",modifier:dt,base:0,visible:v.bought,unit:"/s"},{title:"Auto Planting Amount",modifier:st,base:0,visible:p.bought,unit:"/s"},{title:"Forest Size",modifier:f,base:10,visible:O.bought}]),pt=x(!1),Ft=B(()=>r(Xe,{modelValue:pt.value,"onUpdate:modelValue":T=>pt.value=T},{header:()=>r("h2",null,[e,g(" Modifiers")]),body:Tn}));re.on("update",T=>{if(a.lt(G.day.value,Zt))return;a.gte(ce.value,Ue.value)?ce.value=Ue.value:(ce.value=a.add(ce.value,T),Ye.isHolding.value&&Ye.onClick()),a.gte(Re.value,Te.value)?Re.value=Te.value:(Re.value=a.add(Re.value,T),et.isHolding.value&&et.onClick());const fn=a.min(d.value,a.times(ie.value,T)),zt=Oe.apply(fn),mn=a.div(zt,T);c.value=a.mul(mn,ci).add(a.mul(c.value,a.dOne.sub(ci))),i.value=a.add(i.value,zt),l.value=a.add(l.value,fn);const Wt=a.min(l.value,a.times(Ze.value,T));l.value=a.sub(l.value,Wt)}),xe(()=>{G.day.value===Zt&&a.gte(s.value,u)&&G.completeDay()});const Ut=I(()=>a.sub(ie.value,Ze.value)),jt=I(()=>a.sub(Ze.value,ie.value)),dn=qn(()=>({key:"c",description:'Press the "Cut trees" button.',onPress:()=>{Ye.canClick.value&&Ye.onClick()}})),xn=qn(()=>({key:"p",description:'Press the "Plant trees" button.',onPress:()=>{et.canClick.value&&et.onClick()}}));return{name:e,color:t,logs:i,totalLogs:s,trees:d,saplings:l,cutTree:Ye,plantTree:et,cutTreeHK:dn,plantTreeHK:xn,row1Upgrades:S,row2Upgrades:ue,row1Buyables:De,manualCutProgress:ce,manualPlantProgress:Re,generalTabCollapsed:Bt,minWidth:700,display:B(()=>r(F,null,[r("div",null,[G.day.value===Zt?`Reach ${R(1e4)} ${i.displayName} to complete the day`:`${e} Complete!`," ",g("-")," ",r("button",{class:"button",style:"display: inline-block;",onClick:()=>pt.value=!0},[g("Check Modifiers")])]),me(Ie),me(Ft),r(Pe,null,null),r(Vt,{resource:i,color:t,style:"margin-bottom: 0",effectDisplay:a.gt(ie.value,0)?`expected: +${Z(Oe.apply(ie.value))}/s, average: +${Z(c.value)}/s (${Z(a.div(c.value,Oe.apply(ie.value)).mul(100))}% efficent)`:void 0},null),r(Vt,{resource:l,color:n,style:"margin-bottom: 0",effectDisplay:{[-1]:`${R(Ut.value)}/s`,0:void 0,1:`+${R(Ut.value)}/s`}[a.compare(Ut.value,0)]},null),r(Vt,{resource:d,color:n,style:"margin-bottom: 0",effectDisplay:{[-1]:`${R(jt.value)}/s`,0:void 0,1:`+${R(jt.value)}/s`}[a.compare(jt.value,0)]},null),r(Pe,null,null),Ge(Ye,et),r("div",null,[g("Tip: You can hold down on actions to perform them automatically")]),r("div",null,[g("Note: your average log gain will be equal to your expected log gain if you have enough trees to support your chopping")]),r(Pe,null,null),Ge(...S),Ge(...ue),Ge(...De)]))}});var Li="./assets/tree.35808197.png",Gi="./assets/sws.714ad454.png",Hi="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAFxGAABcRgEUlENBAAAAG3RFWHRTb2Z0d2FyZQBDZWxzeXMgU3R1ZGlvIFRvb2zBp+F8AAAMuElEQVR42u3dO4zkSAEG4L/Kr5me6dl1QkJAjkDiElJISAiO7CQSyCBHQis08QQrXUJISExKxCNBguQICJCIkBAZOqlmH0LbPW27CKa78XjtabddZVeV/z/ZXe12r11V39TDdllorcEwTHsEgTAMgTAMgTAMgTAMgTAMgTAMgTz5z4Ro/c+01oJVwSwaSBcOQmEWD6QPDiJhFgnkHBxEwiwKyBAcBMIQCIEwBDIcCJEwBEIgDIEQCEMgBMIQCIEwBOIQECJhggfCXoQhEAJhCIRAGAIhEIbxCQiRMARCIMySgXCYxRAIgTAEQiAMgRAIw/gEhEiY4IGwF2EIhEAYAiEQhkAIhGF8AkIkDIEQCLNkIBxmMQRCIAyBEAhDIATCMD4BIRImeCDsRRgCIRCGQAiEIRACYQjEJyBEwhAIgTBLBsJhFkMgBMIQCIEwBEIgDIH4BIRImOCBsBdhCIRAGAIhEIZACIQhEE7UGYZAGMYPIBxmMQRCIAyBEAhDIATCEAgn6gzjEBD2IgyBEAhDIATCEAiBMATCiTrDEAjD+AGEwyyGQAiEIRACYQiEQBgC4USdYRwCwl6EIRACYQiEQBgCIRCGQDhRZxgCYRg/gHCYxRAIgTAEQiAMgRAIQyCcqDME4hAQ9iIMgRAIQyAEwhCIs0CGfgeBMUEDsRGiIRD3DsoxJMRCIARCJK318Nz5ttVTaOVDIERitex9LysngRBJeGXua3k5C4RIwixr38qMQAhk8rL2qdw4xCKS2crah7LjJJ1IZi1v18uOFwoJZPYyz/P820qpLwgkQBwhIHGh3PM8/41S6jMCmaiSbm9fnfXv7+5eLxKJSz+U8jz/m1LqEwKxUEnngqhlB0AAkPtfi7u71wmBzAJkB+BzAL9USv2HQObHUQCo9jB0rTdJl9CLuDikzfN8A+AHSqnfEYiBShqBowJQ7mEcGvXh9zp0JKZw7H/qxwBwf38vDH3n35VS31w8EAM46o37nJR7IM3P16EMRuL80uXAcs/zvM/nxP39fTALILMBmRGHrgFpw1H/d+Lu7nXsK5JmGWutxZhyPwHko/M1DWWOcvUSyO3tq3rjPrfAqlrv0fX5Iz7fgNicV+R5fuxd9+Vz8hxtIJmyfGcBMhJH2VI5fQtL14ZYuu9nXUcyxWR7j6NZjr3Oz2ckkwMxgKOtYsSZSIoeFfykEQxBYrsCp1qFauAYFF+ReAPk9vbVrmVYJQYg0bVhlujTW9zevtq5dG1k6uVZE0BsIrEJZVIgI3HgxLCqfi2jAHBo0LLja4uxQ6g5Ks5XHL4i8QXIA9pXmXTHSoro+PeHv4vxuIw7yRzBRMXNcVHPNA7bQKz8QJoKyMjeQ7c09CYKWfv7LhyHHiOZsqGNrbRQcBCI4UquzTvaeouuIVcTSP1zwuZwykbFhYTDRySTABnRe1QNHBrdV79PZi4cQyttZhxDL8QGhcRZIHscBwBVA0l9Ut61kqX3KCI4knMrbUogtnuNqcF4A2Rk79HsIQ4XCWXHfOTQU0g4mHMqbUk4bKExsjjiIpAOHJ3l4DqMWkP8XCn18x5l9msAP1oiCpNQlgDk5DxjqqVagw3zT0qp77SU0wrAdwF8CuCnBsq9OJS9lBJpmsrdblcB0HEci4uLi8RmA+0LsOu7m5+fC4lVIANxoDEhb4OiXe8tTjScPwP4sVLqn/ty+iqAvwD4F4AbAN8a+v1SygKAllKiLMt6XUAIgTiORZqmMo5jaQPGOVhOfb8JJCED6UTiW6/RUukawKdKqd8KIb4B4PcAHgB8ZT/Puhrw1UWtzMVj29BHHFEUIU1TmWVZr0ULG6tM9Qbf9/uHfMYkEqeAnHo60MTGClNVSh8kWuufvXnz5ocAPsH/V+vSAeVcPG0P+ohCSikA6Kqq9Hq9TufCYaAuNAY+jOUkEAO9x+w4bA853r17V1ZVVWito9rw8axlaSllUVUVhHj8eBw/XuqpqkoLIbBer8+6a8AlHG1AhhxjnufXSqn/eg3EBRx9J5djG1Ge59hsNtXDw4Muy1I0hpHRmeVcRFEEIQS01ojjWMRxLJIkGTRHcw1IY1iKIb1InudfAvi+UuqvwQFxDYephpRlWVkUBfZAjh3CkOFVkiQyyzIRx/GouZmLOBpAxJjjzPP8a0qpfwc1xHJhaGWjUa1Wq+rDhw/Yl//gFbn9PANJkiDLMoQGpOvWl6km7E4DcR3HmMqK47gqimIUjn05I4oiXFxcIEmSoHA8VzdjjvesOxpcXcUyjSNN0w9XV1eXzYI9A0fbLfd638DFXA1MCAEpJW5ubkLuPYwec57nN0qp994B2SM57Ek1+kKglHKzX/LUUkq9Xq9XI76ueUdxs7JmuylSSokXL14QiIVexEUgFYBqzK3pQoiN1loeGrOUUqdpqi8vL1cjcOhnehQA0Pf397PcTp9lGVarVVBA9ntwtd2xbeyY+yBx7l6s29tX5dBb1GswjkunQogqSRJcXV1djG0seZ5XDSD1JdpZgAghsD+/SYHYmBs0cDw5TQIZn+3jfyeOJ34YWt3c3GSmGkoDyZOeZOph1mH+kWXZ5CtYNq4XPbNzo5hrmBUKkK14fOu9kFKiqqoDkCrLMnF5eZmYbCQtPQn2E3U5B5CxE3RbQPp+f489f8VccxGnH7k9I81tgQ6/VnmeJ6YbSEsvUv+eyZBEUWQEx8AyMHkqeiiOsVCWBOSj59SjKNI3NzexhcbRtYnEpEBevnx5vAcrUCDC5jksCUhzK1EhhNBxHIvr62srzz109SJLADICR9eKlDaBw1sgEyApmwUrpUQURTgFZCCOrnPRPgPpuUhhqqcQzwARtpEvEYhoTmDTNBWr1cr4CshzQKbqRQ6Tc9NAniuXATiab+/CM0B6v1JhynmIF1uP9kh9k4djpcRxjPV6bXwN/cSqyyS9iOkJ+gQx1ktM2YuECKTZiIQpGH2AmHpP34lyRBRFWK/XvuKwCsVbIBaRVF0FnSQJdrudsUo4tWZvG8hh84U0TXF5eekyCHHizwQyIRBjy4RnAPloRWaK3qPH8bnYW1iZkAcJxAKS5uvArO0p2+g9nAQyM5I+y7Xe9B4hANG2Ctq1oZVHUE6tVh3LqnbHLoEYRjLZioivOBwCcrKMTB7ngHvKcqXUG+eAGEQyKw6XgcyARA8tn7neg5jn+deVUv8IEYj1XF9fI0kS7SuOGcDoMeUzx94AeZ7/QSn1PSeBuIwkSRJUVYU4jrFarXQoQCxi0SbKY8wxjbgz4hcAvlBK/dE5IC4iOVxrONzGcXju4urqSoeCwzQU2xtd2z6Orsm6E0Bc7kkO+05VVQUp5fERVykl3r9/j1AypGHaeo59IJLBe/cSiIEepf4rAFRVhdAy5c6SlnoR40icAeLDpL0OxqVym7pxTrEDysA7h0cNfZ0H4hOSkDPFDveGkYxaPXsOiXDxJyGREMgZQDrvwzPxbIhwdahAJO4hmWNzuR5IjAJpIhEuj6WJhEB6HOOzd3KP7UWE65NNInECyOgJsMXjPPmow5gbGIUPqzFEMjsSZ4F0HeeigBCKO73IECC2X4pqemHBWyBE4sQwq9fkd+qVMAIhFGeAPNfoGnOC1tcX2AJSliU2mw2klNi//xFCiLPveggCCJFMDuQjJB1/1zZZ1mPnBVMmGCCE4hSQNiTNHqRXL0QghOIbkHM3WuhTDzaQGHnK1HkgQxr6k5MiFFNAxmyn9NFni6IQVVVBCIGHhwcUReHkXdFOAzHRuOtvmGIzH9V7jNpvbLfbHX+/3W6Pd0DvX3/NOcjcQyT2KtMD2W63xycwt9styrJEWZZenftigLSdMMGczmq1OrzzsPd7O7bbLaSUeHh4gNYaZVl6+1CZk0BsN9iTG4QRTHNi3jWXEG09RlEU0FpDa/1kaEUgHuDoi2TJcA6bVGRZhouLi15ANpsNiqKAEAK73e74pKXvK6OLBTIUyVKgSCkhpUSSJCeRFEWB7Xb7pLcI4ZKBcw9MzdHwzkWypOFXkiSIoqjt1QpProW8ffsWQHibVzgDZO5Gdw6SJQGRUj4ZcjX3BwNwXJkKbeOK2TdtcKmhEQjjBBBXGxeBMH3ag1UgLjcsAmH6tAVrQFxvVATC9GkHVoD40KAIhOnTBowDCQ0HgSwXh3EgIeIgkGXCWCSQoVfRiWR5MBYHZAwOIlkWCgIhEIIgEHsFRyhhNH4CsViwRBIWhEmAuNRwpixoYgkThxUgLjSYOQuaWAjE2cbiXPdMLF7jsA7EdsNxtVCJLJw6FKG+rXXpCfWuBgJhpob0EwC/IgwCYWbqgXweChMIwxAIwxAIwxAIwxAIwxAIwxAIwxAIw4Sa/wGDtUAHUuMNRQAAAABJRU5ErkJggg==",Ui="./assets/elf.9fbfa563.png",ji="./assets/paperStacks.4c96ec8c.png";const G=Tt("main",function(){const e=Fe(1),t=x(!1),n=x(-1),i=x(""),s=x();function l(f){const d=Fe(!1);return Le(()=>{const _=f(),y=Be(_.shouldNotify);return{..._,opened:d,shouldNotify:y,[_t]:Ya,[wt]:function(){const{day:v,layer:p,symbol:w,opened:S,shouldNotify:H,story:ae,completedStory:C}=this;return{day:v,symbol:w,opened:S,shouldNotify:H,onOpenLore(){var ue,we;const N=G.day.value>v;n.value=N?v-1:-1;const O=o((we=(ue=$e[p!=null?p:"trees"])==null?void 0:ue.name)!=null?we:"");i.value=N?`${O} - Completed!`:O,s.value=N?`${ae}
${C}`:ae,t.value=!0},onOpenLayer(){if(window.matchMedia("(min-width: 1468px)").matches)if(A.tabs.includes(p!=null?p:"trees")){const N=A.tabs.lastIndexOf(p!=null?p:"trees");A.tabs.splice(N,1)}else A.tabs.push(p!=null?p:"trees"),G.minimized.value=!0;else A.tabs.splice(1,1/0,p!=null?p:"trees")},onUnlockLayer(){S.value=!0,setTimeout(()=>{var N,O;n.value=-1,i.value=o((O=(N=$e[p!=null?p:"trees"])==null?void 0:N.name)!=null?O:""),s.value=ae,A.devSpeed=null,t.value=!0},1e3)}}}}})}const u=[l(()=>({day:1,shouldNotify:!1,layer:"trees",symbol:Li,story:"Oh no! Santa forgot about Christmas and it's only 25 days away! He's asked for your help due to your history getting large quantities of things in short amounts of time. Unfortunately you're really starting from scratch here - let's start with getting wood, which you'll need for everything from building workshops to wrapping paper to many of the toys themselves!",completedStory:"Santa looks at all the wood you've gathered and tells you you've done well! He says you should take the rest of the day off so you're refreshed for tomorrow's work. Good Job!"})),l(()=>({day:2,shouldNotify:!1,layer:"workshop",symbol:Gi,story:"Santa looked over your tree farm and was impressed with how much you could accomplish in just one day. Today's goal is to get a workshop built up for the elves to work in - and apparently, they need quite a lot of space to work!",completedStory:"The workshop complete, Santa once again dismisses you for the day. With a strong foundation, this workshop should suffice for supporting future work toward this impossible mission. Good Job!"})),l(()=>({day:3,shouldNotify:!1,layer:"coal",symbol:Hi,story:"Santa tells you that unfortunately there are quite a few naughty children out there this year, and he's going to need you to gather as much coal as you can for him to give out.",completedStory:"Santa looks at all the coal you've gathered and tells you you've done well! He says you should take the rest of the day off so you're refreshed for tomorrow's work. Good Job!"})),l(()=>({day:4,shouldNotify:!1,layer:"elves",symbol:Ui,story:"Alright, it seems you finally have enough things setup to start bringing in the elves! Unfortunately, it seems they'll need to be retrained on how to help, since they're out of practice by 11 months!",completedStory:"The workshop now hums with the bustling elves working everything. They can take it from here - you deserve a break after such a long day! Good Job!"})),l(()=>({day:5,shouldNotify:!1,layer:"paper",symbol:ji,story:"With the elves trained, we're almost ready to start working on these presents! Just a couple more pre-reqs first, starting with turning all this wood into wood pulp and finally into paper, which will be required for wrapping paper later on but in the meantime can be used to help write guides to help these elves continue their education!",completedStory:"You look upon your rivers of book pulp as you hand out stacks of papers to elves to read through. You've continued getting closer and closer to preparing for Christmas, and can go to bed satisfied with your progress. Good Job!"})),l(()=>({day:6,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:7,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:8,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:9,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:10,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:11,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:12,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:13,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:14,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:15,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:16,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:17,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:18,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:19,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:20,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:21,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:22,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:23,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:24,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""}))];function c(){n.value=e.value-1,i.value="Day Complete!",s.value=u[e.value-1].completedStory,t.value=!0,e.value++,G.minimized.value=!1,A.devSpeed=0}return{name:"Calendar",days:u,day:e,loreScene:n,loreTitle:i,loreBody:s,showLoreModal:t,completeDay:c,minWidth:700,display:B(()=>r(F,null,[A.devSpeed===0?r("div",null,[g("Game Paused")]):null,A.devSpeed&&A.devSpeed!==1?r("div",null,[g("Dev Speed: "),Z(A.devSpeed),g("x")]):null,A.offlineTime?r("div",null,[g("Offline Time: "),Mn(A.offlineTime)]):null,r(Pe,null,null),r("div",{class:"advent"},[u.reduce((f,d)=>(f[f.length-1].length===4&&f.push([]),f[f.length-1].push(d),f),[[]]).map(f=>Ge(...f))])]))}}),zl=e=>[G,te,qe,le,gt,he],Xn=I(()=>!1);function Wl(e,t){t.offlineProd=!1}var zi=Object.freeze(Object.defineProperty({__proto__:null,main:G,getInitialLayers:zl,hasWon:Xn,fixOldSave:Wl},Symbol.toStringTag,{value:"Module"}));const Ql={class:"scene"},Kl=["src"],Jl=["src"],Xl=["src"],Zl=["src"],Yl={key:4,class:"scene-bubble",style:{left:"50%",bottom:"38%"}},eo=["src"],to=L({__name:"Scene",props:{day:null},setup(e){return(t,n)=>(b(),M("div",Ql,[e.day>=0?(b(),M("img",{key:0,src:o(Li),class:"scene-item",style:{left:"10%",bottom:"10%"}},null,8,Kl)):P("",!0),e.day>=1?(b(),M("img",{key:1,src:o(Gi),class:"scene-item",style:{left:"40%",bottom:"12%"}},null,8,Jl)):P("",!0),e.day>=2?(b(),M("img",{key:2,src:o(Hi),class:"scene-item",style:{left:"65%",bottom:"12%",width:"40px",height:"40px"}},null,8,Xl)):P("",!0),e.day>=3?(b(),M("img",{key:3,src:o(Ui),class:"scene-item",style:{left:"52%",bottom:"12%"}},null,8,Zl)):P("",!0),e.day>=4?(b(),M("div",Yl,[e.day>=4?(b(),M("img",{key:0,src:o(ji),class:"scene-item"},null,8,eo)):P("",!0)])):P("",!0)]))}});var no=ee(to,[["__scopeId","data-v-4d1b4c52"]]);const io=L({components:{Context:xi},props:{index:{type:Number,required:!0},tab:{type:Function,required:!0},display:{type:E(Object,String,Function),required:!0},minimized:{type:Object,required:!0},minWidth:{type:E(Number,String),required:!0},name:{type:E(String),required:!0},color:E(String),minimizable:E(Boolean),nodes:{type:Object,required:!0}},setup(e){const{display:t,index:n,minimized:i,minWidth:s,tab:l}=Se(e),u=Ti(t),c=I(()=>K.allowGoBack&&n.value>0&&!i.value);function f(){A.tabs.splice(o(e.index),1)}Pt(()=>_(i.value,o(s.value))),Je([i,wa(s)],([y,v])=>_(y,v));function d(y){e.nodes.value=y}function _(y,v){const p=typeof v=="number"||Number.isNaN(parseInt(v))?v+"px":v,w=l.value();w!=null&&(y?(w.style.flexGrow="0",w.style.flexShrink="0",w.style.width="60px",w.style.minWidth=w.style.flexBasis="",w.style.margin="0"):(w.style.flexGrow="",w.style.flexShrink="",w.style.width="",w.style.minWidth=w.style.flexBasis=p,w.style.margin=""))}return{component:u,showGoBack:c,updateNodes:d,unref:o,goBack:f}}});function so(e,t,n,i,s,l){const u=bt("Context");return b(),M("div",{class:"layer-container",style:be({"--layer-color":e.unref(e.color)})},[e.showGoBack?(b(),M("button",{key:0,class:"goBack",onClick:t[0]||(t[0]=(...c)=>e.goBack&&e.goBack(...c))},"\u274C")):P("",!0),e.minimized.value?(b(),M("button",{key:1,class:"layer-tab minimized",onClick:t[1]||(t[1]=c=>e.minimized.value=!1)},[m("div",null,z(e.unref(e.name)),1)])):(b(),M("div",{key:2,class:ye(["layer-tab",{showGoBack:e.showGoBack}])},[r(u,{onUpdateNodes:e.updateNodes},{default:q(()=>[(b(),U(Me(e.component)))]),_:1},8,["onUpdateNodes"])],2)),e.unref(e.minimizable)?(b(),M("button",{key:3,class:"minimize",onClick:t[2]||(t[2]=c=>e.minimized.value=!0)}," \u25BC ")):P("",!0)],4)}var ao=ee(io,[["render",so],["__scopeId","data-v-0158bec3"]]);const Wi=e=>(ot("data-v-4b4bda40"),e=e(),rt(),e),lo=Wi(()=>m("h2",null,"Changelog",-1)),oo=Wi(()=>m("details",{open:""},[m("summary",null,[g("v0.0 Initial Commit - "),m("time",null,"2021-09-04")]),g(" This is the first release :D "),m("ul",null,[m("li",{class:"feature"},"Did everything"),m("li",{class:"fix"},"Had some fun"),m("li",{class:"breaking"},"Removed everything"),m("li",{class:"balancing"},"Created some bugs to fix later")])],-1)),ro=L({__name:"Changelog",setup(e,{expose:t}){const n=x(!1);return t({open(){n.value=!0}}),(i,s)=>(b(),U(Xe,{modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=l=>n.value=l)},{header:q(()=>[lo]),body:q(()=>[oo]),_:1},8,["modelValue"]))}});var uo=ee(ro,[["__scopeId","data-v-4b4bda40"]]),co=L({props:{element:Object,display:{type:E(Object,String,Function),required:!0},style:E(Object,String,Array),classes:E(Object),direction:E(String),xoffset:E(String),yoffset:E(String),pinned:Object},setup(e){const{element:t,display:n,pinned:i}=Se(e),s=x(!1),l=I(()=>(_e(i)||s.value)&&u.value),u=Et(n),c=ze(X(B(()=>{const _=_e(t);return _==null?"":it(_)})));function f(_){const y=i;_.shiftKey&&y&&(y.value=!y.value,_.stopPropagation(),_.preventDefault())}const d=I(()=>_e(i)&&rn[oe.theme].showPin);return{Direction:J,isHovered:s,isShown:l,comp:u,elementComp:c,unref:o,togglePinned:f,showPin:d}}});const fo={key:0,class:"material-icons pinned"};function mo(e,t,n,i,s,l){return b(),M("div",{class:ye(["tooltip-container",{shown:e.isShown}]),onMouseenter:t[0]||(t[0]=u=>e.isHovered=!0),onMouseleave:t[1]||(t[1]=u=>e.isHovered=!1),onClickCapture:t[2]||(t[2]=(...u)=>e.togglePinned&&e.togglePinned(...u))},[nt(e.$slots,"default",{},void 0,!0),e.elementComp?(b(),U(Me(e.elementComp),{key:0})):P("",!0),r(Sn,{name:"fade"},{default:q(()=>{var u;return[e.isShown?(b(),M("div",{key:0,class:ye(["tooltip",{top:e.unref(e.direction)===e.Direction.Up,left:e.unref(e.direction)===e.Direction.Left,right:e.unref(e.direction)===e.Direction.Right,bottom:e.unref(e.direction)===e.Direction.Down,...e.unref(e.classes)}]),style:be([{"--xoffset":e.unref(e.xoffset)||"0px","--yoffset":e.unref(e.yoffset)||"0px"},(u=e.unref(e.style))!=null?u:{}])},[e.showPin?(b(),M("span",fo,"push_pin")):P("",!0),e.comp?(b(),U(Me(e.comp),{key:1})):P("",!0)],6)):P("",!0)]}),_:1})],34)}var ve=ee(co,[["render",mo],["__scopeId","data-v-6102fa3a"]]);const po={class:"info-modal-header"},ho=["src","alt"],go={class:"info-modal-title"},vo={key:0},yo={key:0},bo={key:0},_o=m("div",null," Made in Profectus, by thepaperpilot with inspiration from Acameada and Jacorb ",-1),wo=m("br",null,null,-1),ko=m("br",null,null,-1),No=["href"],Co=m("span",{class:"material-icons info-modal-discord"},"discord",-1),So=m("div",null,[m("a",{href:"https://discord.gg/WzejVAx",class:"info-modal-discord-link"},[m("span",{class:"material-icons info-modal-discord"},"discord"),g(" The Paper Pilot Community ")])],-1),Mo=m("div",null,[m("a",{href:"https://discord.gg/F3xveHV",class:"info-modal-discord-link"},[m("span",{class:"material-icons info-modal-discord"},"discord"),g(" The Modding Tree ")])],-1),Io=m("br",null,null,-1);var Ao=L({__name:"Info",props:{changelog:null},setup(e,{expose:t}){const n=e,{title:i,logo:s,author:l,discordName:u,discordLink:c,versionNumber:f,versionTitle:d}=K,_=Se(n),y=x(!1),v=I(()=>Mn(A.timePlayed)),p=I(()=>X(B(()=>r(F,null,[Ai.map(me)]))));t({open(){y.value=!0}});function w(){var S;(S=o(_.changelog))==null||S.open()}return(S,H)=>(b(),U(Xe,{modelValue:y.value,"onUpdate:modelValue":H[0]||(H[0]=ae=>y.value=ae)},{header:q(()=>[m("div",po,[o(s)?(b(),M("img",{key:0,class:"info-modal-logo",src:o(s),alt:o(i)},null,8,ho)):P("",!0),m("div",go,[m("h2",null,z(o(i)),1),m("h4",null,[g(" v"+z(o(f)),1),o(d)?(b(),M("span",vo,": "+z(o(d)),1)):P("",!0)])])])]),body:q(({shown:ae})=>[ae?(b(),M("div",yo,[o(l)?(b(),M("div",bo,"By "+z(o(l)),1)):P("",!0),_o,wo,m("div",{class:"link",onClick:w},"Changelog"),ko,m("div",null,[o(c)?(b(),M("a",{key:0,href:o(c),class:"info-modal-discord-link"},[Co,g(" "+z(o(u)),1)],8,No)):P("",!0)]),So,Mo,Io,m("div",null,"Time Played: "+z(o(v)),1),(b(),U(Me(o(p))))])):P("",!0)]),_:1},8,["modelValue"]))}});const Po={class:"field"},$o=L({__name:"Toggle",props:{title:null,modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,i=I(()=>X(o(n.title)||"","span")),s=I({get(){return!!n.modelValue},set(l){t("update:modelValue",l)}});return(l,u)=>(b(),M("label",Po,[Vn(m("input",{type:"checkbox",class:"toggle","onUpdate:modelValue":u[0]||(u[0]=c=>Ne(s)?s.value=c:null)},null,512),[[ls,o(s)]]),(b(),U(Me(o(i))))]))}});var Lt=ee($o,[["__scopeId","data-v-2b109500"]]);const Qi=e=>(ot("data-v-1975661c"),e=e(),rt(),e),Eo=Qi(()=>m("div",{class:"header"},[m("h2",null,"Options")],-1)),To=Qi(()=>m("hr",null,null,-1));var xo=L({__name:"Options",setup(e,{expose:t}){const n=x(!1);t({open(){n.value=!0}});const i=Object.keys(rn).map(p=>({label:wi(p),value:p})),s=I(()=>X(B(()=>r(F,null,[Ii.map(me)])))),{showTPS:l,theme:u,unthrottled:c}=Se(oe),{autosave:f,offlineProd:d}=Se(A),_=I({get(){return A.devSpeed===0},set(p){A.devSpeed=p?0:null}});B(()=>r("span",null,[g("Offline Production"),r(ve,{display:"Save-specific"},{default:()=>[g("*")]})]));const y=B(()=>r("span",null,[g("Autosave"),r(ve,{display:"Save-specific"},{default:()=>[g("*")]})])),v=B(()=>r("span",null,[g("Pause game"),r(ve,{display:"Save-specific"},{default:()=>[g("*")]})]));return(p,w)=>(b(),U(Xe,{modelValue:n.value,"onUpdate:modelValue":w[4]||(w[4]=S=>n.value=S)},{header:q(()=>[Eo]),body:q(()=>[r(Jn,{title:"Theme",options:o(i),modelValue:o(u),"onUpdate:modelValue":w[0]||(w[0]=S=>Ne(u)?u.value=S:null)},null,8,["options","modelValue"]),(b(),U(Me(o(s)))),r(Lt,{title:"Show TPS",modelValue:o(l),"onUpdate:modelValue":w[1]||(w[1]=S=>Ne(l)?l.value=S:null)},null,8,["modelValue"]),To,r(Lt,{title:o(y),modelValue:o(f),"onUpdate:modelValue":w[2]||(w[2]=S=>Ne(f)?f.value=S:null)},null,8,["title","modelValue"]),o(K).enablePausing?(b(),U(Lt,{key:0,title:o(v),modelValue:o(_),"onUpdate:modelValue":w[3]||(w[3]=S=>Ne(_)?_.value=S:null)},null,8,["title","modelValue"])):P("",!0)]),_:1},8,["modelValue"]))}});var Bo=ee(xo,[["__scopeId","data-v-1975661c"]]);const Fo=["onSubmit"],Do={class:"field"},Oo={key:0,class:"field-title"},Ro=["placeholder"],qo=L({__name:"Text",props:{title:null,modelValue:null,textArea:{type:Boolean},placeholder:null,maxHeight:null,submitOnBlur:{type:Boolean}},emits:["update:modelValue","submit","cancel"],setup(e,{emit:t}){const n=e,i=Et(lt(n,"title"),"span"),s=ze(null);Cn(()=>{var f;(f=s.value)==null||f.focus()});const l=I({get(){return o(n.modelValue)||""},set(f){t("update:modelValue",f)}});function u(){t("submit")}function c(){n.submitOnBlur!==!1?t("submit"):t("cancel")}return(f,d)=>(b(),M("form",{onSubmit:tn(u,["prevent"])},[m("div",Do,[o(i)?(b(),M("span",Oo,[(b(),U(Me(o(i))))])):P("",!0),e.textArea?(b(),U(o(ms),{key:1,modelValue:o(l),"onUpdate:modelValue":d[0]||(d[0]=_=>Ne(l)?l.value=_:null),placeholder:e.placeholder,maxHeight:e.maxHeight,onBlur:c,ref_key:"field",ref:s},null,8,["modelValue","placeholder","maxHeight"])):Vn((b(),M("input",{key:2,type:"text","onUpdate:modelValue":d[1]||(d[1]=_=>Ne(l)?l.value=_:null),placeholder:e.placeholder,class:ye({fullWidth:!e.title}),onBlur:c,ref_key:"field",ref:s},null,42,Ro)),[[os,o(l)]])])],40,Fo))}});var Ki=ee(qo,[["__scopeId","data-v-67b44a54"]]);const Vo={key:0},Lo=["onClick","disabled"],Go={key:0},Ho=["onClick"],Uo=L({__name:"DangerButton",props:{disabled:{type:Boolean},skipConfirm:{type:Boolean}},emits:["click","confirmingChanged"],setup(e,{emit:t}){const i=Se(e),s=x(!1);Je(s,c=>{t("confirmingChanged",c)});function l(){if(o(i.skipConfirm)){t("click");return}s.value&&t("click"),s.value=!s.value}function u(){s.value=!1}return(c,f)=>(b(),M("span",{class:ye(["container",{confirming:s.value}])},[s.value?(b(),M("span",Vo,"Are you sure?")):P("",!0),m("button",{onClick:tn(l,["stop"]),class:"button danger",disabled:e.disabled},[s.value?(b(),M("span",Go,"Yes")):nt(c.$slots,"default",{key:1},void 0,!0)],8,Lo),s.value?(b(),M("button",{key:1,class:"button",onClick:tn(u,["stop"])},"No",8,Ho)):P("",!0)],2))}});var jo=ee(Uo,[["__scopeId","data-v-2f8ef34c"]]);const zo=["onClick"],Wo=L({__name:"FeedbackButton",props:{left:{type:Boolean}},emits:["click"],setup(e,{emit:t}){const n=x(!1),i=x(null);function s(){t("click"),i.value&&clearTimeout(i.value),n.value=!1,Pt(()=>{n.value=!0,i.value=setTimeout(()=>n.value=!1,500)})}return(l,u)=>(b(),M("button",{onClick:tn(s,["stop"]),class:ye(["feedback",{activated:n.value,left:e.left}])},[nt(l.$slots,"default",{},void 0,!0)],10,zo))}});var Qo=ee(Wo,[["__scopeId","data-v-01a1b95c"]]);const ut=e=>(ot("data-v-5285ac49"),e=e(),rt(),e),Ko=ut(()=>m("div",{class:"handle material-icons"},"drag_handle",-1)),Jo={key:0,class:"actions"},Xo=ut(()=>m("span",{class:"material-icons"},"content_paste",-1)),Zo=ut(()=>m("span",{class:"material-icons"},"content_copy",-1)),Yo=ut(()=>m("span",{class:"material-icons"},"edit",-1)),er=ut(()=>m("span",{class:"material-icons",style:{margin:"-2px"}},"delete",-1)),tr={key:1,class:"actions"},nr=ut(()=>m("span",{class:"material-icons"},"check",-1)),ir=ut(()=>m("span",{class:"material-icons"},"close",-1)),sr={key:2,class:"details"},ar={class:"save-version"},lr=ut(()=>m("br",null,null,-1)),or={key:0},rr={key:1},ur={key:3,class:"details"},cr={key:4,class:"details error"},dr=ut(()=>m("br",null,null,-1)),fr=L({__name:"Save",props:{save:null},emits:["export","open","duplicate","delete","editName"],setup(e,{emit:t}){const n=e,{save:i}=Se(n),s=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),l=x(!1),u=x(!1),c=x("");Je(l,()=>c.value=i.value.name||"");const f=I(()=>i.value&&i.value.id===A.id),d=I(()=>f.value?A.time:i.value&&i.value.time||0),_=Ti(I(()=>{var v,p,w,S;return`Day ${(S=(w=(p=(v=i.value)==null?void 0:v.layers)==null?void 0:p.main)==null?void 0:w.day)!=null?S:1}`}));function y(){t("editName",c.value),l.value=!1}return(v,p)=>(b(),M("div",{class:ye(["save",{active:o(f)}])},[Ko,l.value?(b(),M("div",tr,[m("button",{onClick:y,class:"button"},[r(ve,{display:"Save",direction:o(J).Left,class:"info"},{default:q(()=>[nr]),_:1},8,["direction"])]),m("button",{onClick:p[5]||(p[5]=w=>l.value=!l.value),class:"button"},[r(ve,{display:"Cancel",direction:o(J).Left,class:"info"},{default:q(()=>[ir]),_:1},8,["direction"])])])):(b(),M("div",Jo,[o(i).error==null&&!u.value?(b(),U(Qo,{key:0,onClick:p[0]||(p[0]=w=>t("export")),class:"button",left:""},{default:q(()=>[r(ve,{display:"Export",direction:o(J).Left,class:"info"},{default:q(()=>[Xo]),_:1},8,["direction"])]),_:1})):P("",!0),o(i).error==null&&!u.value?(b(),M("button",{key:1,onClick:p[1]||(p[1]=w=>t("duplicate")),class:"button"},[r(ve,{display:"Duplicate",direction:o(J).Left,class:"info"},{default:q(()=>[Zo]),_:1},8,["direction"])])):P("",!0),o(i).error==null&&!u.value?(b(),M("button",{key:2,onClick:p[2]||(p[2]=w=>l.value=!l.value),class:"button"},[r(ve,{display:"Edit Name",direction:o(J).Left,class:"info"},{default:q(()=>[Yo]),_:1},8,["direction"])])):P("",!0),r(jo,{disabled:o(f),onClick:p[3]||(p[3]=w=>t("delete")),onConfirmingChanged:p[4]||(p[4]=w=>u.value=w)},{default:q(()=>[r(ve,{display:"Delete",direction:o(J).Left,class:"info"},{default:q(()=>[er]),_:1},8,["direction"])]),_:1},8,["disabled"])])),o(i).error==null&&!l.value?(b(),M("div",sr,[m("button",{class:"button open",onClick:p[6]||(p[6]=w=>t("open"))},[m("h3",null,z(o(i).name),1)]),m("span",ar,"v"+z(o(i).modVersion),1),lr,o(d)?(b(),M("div",or,"Last played "+z(o(s).format(o(d))),1)):P("",!0),o(_)?(b(),M("div",rr,[(b(),U(Me(o(_))))])):P("",!0)])):o(i).error==null&&l.value?(b(),M("div",ur,[r(Ki,{modelValue:c.value,"onUpdate:modelValue":p[7]||(p[7]=w=>c.value=w),class:"editname",onSubmit:y},null,8,["modelValue"])])):(b(),M("div",cr,[g(" Error: Failed to load save with id "+z(o(i).id),1),dr,g(z(o(i).error),1)]))],2))}});var mr=ee(fr,[["__scopeId","data-v-5285ac49"]]);const Zn=e=>(ot("data-v-3b9991aa"),e=e(),rt(),e),pr=Zn(()=>m("h2",null,"Saves Manager",-1)),hr={class:"modal-footer"},gr={class:"field"},vr=Zn(()=>m("span",{class:"field-title"},"Create Save",-1)),yr={class:"field-buttons"},br={class:"footer"},_r=Zn(()=>m("div",{style:{"flex-grow":"1"}},null,-1)),wr=L({__name:"SavesManager",setup(e,{expose:t}){const n=x(!1),i=x(null);t({open(){n.value=!0}});const s=x(!1),l=x(""),u=x(null);Je(l,C=>{C?Pt(()=>{try{if(C[0]!=="{")if(C[0]==="e")C=decodeURIComponent(escape(atob(C)));else if(C[0]==="\u1BE1")C=vt.decompressFromUTF16(C);else{console.warn("Unable to determine preset encoding",C),s.value=!0;return}const N=JSON.parse(C);if(typeof N!="object"){s.value=!0;return}const O=gn();N.id=O,Qe(N),l.value="",s.value=!1,oe.saves.push(O)}catch{s.value=!0}}):s.value=!1});let c={},f=x(Object.keys(c).reduce((C,N)=>(C.push({label:N.split("/").slice(-1)[0].slice(0,-4),value:c[N]}),C),[]));const d=Nn({});function _(C){if(d[C]==null){let N=localStorage.getItem(C);if(N==null)d[C]={error:"Save doesn't exist in localStorage",id:C};else if(N==="dW5kZWZpbmVk")d[C]={error:"Save is undefined",id:C};else try{if(N[0]!=="{")if(N[0]==="e")N=decodeURIComponent(escape(atob(N)));else if(N[0]==="\u1BE1")N=vt.decompressFromUTF16(N);else return console.warn("Unable to determine preset encoding",N),s.value=!0,d[C]={error:"Unable to determine preset encoding",id:C},d[C];d[C]={...JSON.parse(N),id:C}}catch(O){d[C]={error:O,id:C},console.warn(`SavesManager: Failed to load info about save with id ${C}: +${O} +${N}`)}}return d[C]}Je(n,C=>{C&&Object.keys(d).forEach(N=>delete d[N])});const y=I(()=>oe.saves.reduce((C,N)=>(C[N]=_(N),C),{}));function v(C){let N;switch(A.id===C?N=Ci(A[de]):N=JSON.stringify(y.value[C]),K.exportEncoding){default:console.warn(`Unknown save encoding: ${K.exportEncoding}. Defaulting to lz`);case"lz":N=vt.compressToUTF16(N);break;case"base64":N=btoa(unescape(encodeURIComponent(N)));break;case"plain":break}const O=document.createElement("textarea");O.value=N,document.body.appendChild(O),O.select(),O.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(O)}function p(C){A.id===C&&Qe();const N={...y.value[C],id:gn()};Qe(N),oe.saves.push(N.id)}function w(C){oe.saves=oe.saves.filter(N=>N!==C),localStorage.removeItem(C),d[C]=void 0}function S(C){y.value[A.id].time=A.time,Qe(),d[A.id]=void 0,It(y.value[C]),d[C]=void 0}function H(C){if(u.value=C,Pt(()=>{u.value=null}),C[0]!=="{")if(C[0]==="e")C=decodeURIComponent(escape(atob(C)));else if(C[0]==="\u1BE1")C=vt.decompressFromUTF16(C);else{console.warn("Unable to determine preset encoding",C);return}const N=JSON.parse(C);N.id=gn(),Qe(N),oe.saves.push(N.id),S(N.id)}function ae(C,N){const O=y.value[C];O&&(O.name=N,A.id===C?(A.name=N,Qe()):(Qe(O),d[C]=void 0))}return(C,N)=>(b(),U(Xe,{modelValue:n.value,"onUpdate:modelValue":N[4]||(N[4]=O=>n.value=O),ref_key:"modal",ref:i},{header:q(()=>[pr]),body:q(({shown:O})=>[O?(b(),U(o(fs),{key:0,list:o(oe).saves,handle:".handle",itemKey:ue=>ue},{item:q(({element:ue})=>[r(mr,{save:o(y)[ue],onOpen:we=>S(ue),onExport:we=>v(ue),onEditName:we=>ae(ue,we),onDuplicate:we=>p(ue),onDelete:we=>w(ue)},null,8,["save","onOpen","onExport","onEditName","onDuplicate","onDelete"])]),_:1},8,["list","itemKey"])):P("",!0)]),footer:q(()=>[m("div",hr,[r(Ki,{modelValue:l.value,"onUpdate:modelValue":N[0]||(N[0]=O=>l.value=O),title:"Import Save",placeholder:"Paste your save here!",class:ye({importingFailed:s.value})},null,8,["modelValue","class"]),m("div",gr,[vr,m("div",yr,[m("button",{class:"button",onClick:N[1]||(N[1]=O=>S(o(Rt)().id))},"New Game"),Object.keys(o(f)).length>0?(b(),U(Jn,{key:0,options:o(f),modelValue:u.value,"onUpdate:modelValue":N[2]||(N[2]=O=>H(O)),closeOnSelect:"",placeholder:"Select preset",class:"presets"},null,8,["options","modelValue"])):P("",!0)])]),m("div",br,[_r,m("button",{class:"button modal-default-button",onClick:N[3]||(N[3]=O=>n.value=!1)}," Close ")])])]),_:1},8,["modelValue"]))}});var Ji=ee(wr,[["__scopeId","data-v-3b9991aa"]]);const He=e=>(ot("data-v-4a3f8425"),e=e(),rt(),e),kr=["src","alt"],Nr={key:1,class:"title"},Cr=He(()=>m("div",{style:{"flex-grow":"1",cursor:"unset"}},null,-1)),Sr={class:"discord"},Mr={class:"discord-links"},Ir={key:0},Ar=["href"],Pr=He(()=>m("li",null,[m("a",{href:"https://discord.gg/WzejVAx",target:"_blank"},"The Paper Pilot Community")],-1)),$r=He(()=>m("li",null,[m("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),Er={href:"https://forums.moddingtree.com/",target:"_blank"},Tr=He(()=>m("span",{class:"material-icons"},"forum",-1)),xr=He(()=>m("span",{class:"material-icons"},"info",-1)),Br=He(()=>m("span",{class:"material-icons"},"library_books",-1)),Fr=He(()=>m("span",{class:"material-icons"},"settings",-1)),Dr=He(()=>m("span",{class:"material-icons"},"library_books",-1)),Or=He(()=>m("span",{class:"material-icons"},"settings",-1)),Rr=He(()=>m("span",{class:"material-icons"},"info",-1)),qr={href:"https://forums.moddingtree.com/",target:"_blank"},Vr=He(()=>m("span",{class:"material-icons"},"forum",-1)),Lr={class:"discord"},Gr={class:"discord-links"},Hr={key:0},Ur=["href"],jr=He(()=>m("li",null,[m("a",{href:"https://discord.gg/WzejVAx",target:"_blank"},"The Paper Pilot Community")],-1)),zr=He(()=>m("li",null,[m("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),Wr=L({__name:"Nav",setup(e){const t=x(null),n=x(null),i=x(null),s=x(null),{useHeader:l,banner:u,title:c,discordName:f,discordLink:d,versionNumber:_}=K;function y(){window.open(d,"mywindow")}return(v,p)=>(b(),M(F,null,[o(l)?(b(),M("div",$t({key:0,class:"nav"},v.$attrs),[o(u)?(b(),M("img",{key:0,src:o(u),class:"banner",alt:o(c)},null,8,kr)):(b(),M("div",Nr,z(o(c)),1)),m("div",{onClick:p[0]||(p[0]=w=>{var S;return(S=s.value)==null?void 0:S.open()}),class:"version-container"},[r(ve,{display:"Changelog",direction:o(J).Down,class:"version"},{default:q(()=>[m("span",null,"v"+z(o(_)),1)]),_:1},8,["direction"])]),Cr,m("div",Sr,[m("span",{onClick:y,class:"material-icons"},"discord"),m("ul",Mr,[o(d)?(b(),M("li",Ir,[m("a",{href:o(d),target:"_blank"},z(o(f)),9,Ar)])):P("",!0),Pr,$r])]),m("div",null,[m("a",Er,[r(ve,{display:"Forums",direction:o(J).Down,yoffset:"5px"},{default:q(()=>[Tr]),_:1},8,["direction"])])]),m("div",{onClick:p[1]||(p[1]=w=>{var S;return(S=t.value)==null?void 0:S.open()})},[r(ve,{display:"Info",direction:o(J).Down,class:"info"},{default:q(()=>[xr]),_:1},8,["direction"])]),m("div",{onClick:p[2]||(p[2]=w=>{var S;return(S=n.value)==null?void 0:S.open()})},[r(ve,{display:"Saves",direction:o(J).Down,xoffset:"-20px"},{default:q(()=>[Br]),_:1},8,["direction"])]),m("div",{onClick:p[3]||(p[3]=w=>{var S;return(S=i.value)==null?void 0:S.open()})},[r(ve,{display:"Options",direction:o(J).Down,xoffset:"-66px"},{default:q(()=>[Fr]),_:1},8,["direction"])])],16)):(b(),M("div",$t({key:1,class:"overlay-nav"},v.$attrs),[m("div",{onClick:p[4]||(p[4]=w=>{var S;return(S=s.value)==null?void 0:S.open()}),class:"version-container"},[r(ve,{display:"Changelog",direction:o(J).Right,xoffset:"25%",class:"version"},{default:q(()=>[m("span",null,"v"+z(o(_)),1)]),_:1},8,["direction"])]),m("div",{onClick:p[5]||(p[5]=w=>{var S;return(S=n.value)==null?void 0:S.open()})},[r(ve,{display:"Saves",direction:o(J).Right},{default:q(()=>[Dr]),_:1},8,["direction"])]),m("div",{onClick:p[6]||(p[6]=w=>{var S;return(S=i.value)==null?void 0:S.open()})},[r(ve,{display:"Options",direction:o(J).Right},{default:q(()=>[Or]),_:1},8,["direction"])]),m("div",{onClick:p[7]||(p[7]=w=>{var S;return(S=t.value)==null?void 0:S.open()})},[r(ve,{display:"Info",direction:o(J).Right},{default:q(()=>[Rr]),_:1},8,["direction"])]),m("div",null,[m("a",qr,[r(ve,{display:"Forums",direction:o(J).Right,xoffset:"7px"},{default:q(()=>[Vr]),_:1},8,["direction"])])]),m("div",Lr,[m("span",{onClick:y,class:"material-icons"},"discord"),m("ul",Gr,[o(d)?(b(),M("li",Hr,[m("a",{href:o(d),target:"_blank"},z(o(f)),9,Ur)])):P("",!0),jr,zr])])],16)),r(Ao,{ref_key:"info",ref:t,changelog:s.value},null,8,["changelog"]),r(Ji,{ref_key:"savesManager",ref:n},null,512),r(Bo,{ref_key:"options",ref:i},null,512),r(uo,{ref_key:"changelog",ref:s},null,512)],64))}});var Xi=ee(Wr,[["__scopeId","data-v-4a3f8425"]]);const Yn=e=>(ot("data-v-6f125a90"),e=e(),rt(),e),Qr={class:"inner-tab"},Kr={key:1},Jr=Yn(()=>m("br",null,null,-1)),Xr=g(" You can help continue the "),Zr=Yn(()=>m("i",null,"advent",-1)),Yr=g("ure at: "),eu=Yn(()=>m("a",{href:"https://discord.gg/WzejVAx",class:"info-modal-discord-link"},[m("span",{class:"material-icons info-modal-discord"},"discord"),g(" The Paper Pilot Community ")],-1)),tu=L({__name:"Game",setup(e){const t=lt(A,"tabs"),n=I(()=>Object.keys($e)),i=K.useHeader,s=Et(G.loreBody);function l(u){const{display:c,minimized:f,minWidth:d,name:_,color:y,minimizable:v,nodes:p}=u;return{display:c,minimized:f,minWidth:d,name:_,color:y,minimizable:v,nodes:p}}return(u,c)=>(b(),M("div",{class:ye(["tabs-container",{useHeader:o(i)}])},[(b(!0),M(F,null,fi(o(t),(f,d)=>{var _,y;return b(),M("div",{key:d,class:ye(["tab",o((_=o($e)[f])==null?void 0:_.classes)]),ref_for:!0,ref:`tab-${d}`,style:be(o((y=o($e)[f])==null?void 0:y.style))},[d===0&&!o(i)?(b(),U(Xi,{key:0})):P("",!0),m("div",Qr,[o(n).includes(f)?(b(),U(ao,$t({key:0},l(o($e)[f]),{index:d,tab:()=>{var v;return(v=u.$refs[`tab-${d}`])==null?void 0:v[0]}}),null,16,["index","tab"])):(b(),U(Me(f),{key:1,index:d},null,8,["index"]))])],6)}),128)),r(Xe,{modelValue:o(G).showLoreModal.value,"onUpdate:modelValue":c[0]||(c[0]=f=>o(G).showLoreModal.value=f)},{header:q(()=>[m("h2",null,z(o(G).loreTitle.value),1)]),body:q(()=>[o(s)?(b(),U(Me(o(s)),{key:0})):P("",!0),o(G).loreScene.value!==-1?(b(),M("div",Kr,[r(no,{day:o(G).loreScene.value},null,8,["day"]),Jr,Xr,Zr,Yr,eu])):P("",!0)]),_:1},8,["modelValue"])],2))}});var nu=ee(tu,[["__scopeId","data-v-6f125a90"]]);const cn=e=>(ot("data-v-4a50ce42"),e=e(),rt(),e),iu={class:"game-over-modal-header"},su=["src","alt"],au={class:"game-over-modal-title"},lu=cn(()=>m("h2",null,"Congratulations!",-1)),ou={key:0},ru=cn(()=>m("br",null,null,-1)),uu=cn(()=>m("div",null," Please check the Discord to discuss the game or to check for new content updates! ",-1)),cu=cn(()=>m("br",null,null,-1)),du=["href"],fu=cn(()=>m("span",{class:"material-icons game-over-modal-discord"},"discord",-1)),mu=L({__name:"GameOverScreen",setup(e){const{title:t,logo:n,discordName:i,discordLink:s,versionNumber:l,versionTitle:u}=K,c=I(()=>Mn(A.timePlayed)),f=I(()=>Xn.value&&!A.keepGoing),d=lt(A,"autosave");function _(){A.keepGoing=!0}function y(){It(Rt())}return(v,p)=>(b(),U(Xe,{"model-value":o(f)},{header:q(()=>[m("div",iu,[o(n)?(b(),M("img",{key:0,class:"game-over-modal-logo",src:o(n),alt:o(t)},null,8,su)):P("",!0),m("div",au,[lu,m("h4",null,"You've beaten "+z(o(t))+" v"+z(o(l))+": "+z(o(u)),1)])])]),body:q(({shown:w})=>[w?(b(),M("div",ou,[m("div",null,"It took you "+z(o(c))+" to beat the game.",1),ru,uu,cu,m("div",null,[m("a",{href:o(s),class:"game-over-modal-discord-link"},[fu,g(" "+z(o(i)),1)],8,du)]),r(Lt,{title:"Autosave",modelValue:o(d),"onUpdate:modelValue":p[0]||(p[0]=S=>Ne(d)?d.value=S:null)},null,8,["modelValue"])])):P("",!0)]),footer:q(()=>[m("div",{class:"game-over-footer"},[m("button",{onClick:_,class:"button"},"Keep Going"),m("button",{onClick:y,class:"button danger"},"Play Again")])]),_:1},8,["model-value"]))}});var pu=ee(mu,[["__scopeId","data-v-4a50ce42"]]);const En=e=>(ot("data-v-3de07c06"),e=e(),rt(),e),hu=En(()=>m("div",{class:"nan-modal-header"},[m("h2",null,"NaN value detected!")],-1)),gu={key:0},vu=En(()=>m("br",null,null,-1)),yu=["href"],bu=En(()=>m("span",{class:"material-icons nan-modal-discord"},"discord",-1)),_u=En(()=>m("br",null,null,-1)),wu={class:"nan-footer"},ku=L({__name:"NaNScreen",setup(e){const{discordName:t,discordLink:n}=K,i=lt(A,"autosave"),s=lt(ne,"hasNaN"),l=x(null),u=I(()=>{var p;return(p=ne.NaNPath)==null?void 0:p.join(".")}),c=I(()=>{var p;return(p=ne.NaNPath)==null?void 0:p.slice(-1)[0]}),f=I(()=>ne.NaNReceiver&&c.value?ne.NaNReceiver[c.value]:null),d=I({get(){return A.devSpeed===0},set(p){A.devSpeed=p?null:0}});function _(){ne.NaNReceiver&&c.value&&(ne.NaNReceiver[c.value]=new a(0),ne.hasNaN=!1)}function y(){ne.NaNReceiver&&c.value&&(ne.NaNReceiver[c.value]=new a(1),ne.hasNaN=!1)}function v(){ne.NaNReceiver&&c.value&&(ne.NaNReceiver[c.value]=new a(NaN),ne.hasNaN=!1)}return(p,w)=>(b(),M(F,null,[r(Xe,$t({modelValue:o(s),"onUpdate:modelValue":w[4]||(w[4]=S=>Ne(s)?s.value=S:null)},p.$attrs),{header:q(()=>[hu]),body:q(()=>[m("div",null,[g(' Attempted to assign "'+z(o(u))+'" to NaN',1),o(f)?(b(),M("span",gu,z(" ")+"(previously "+z(o(Z)(o(f)))+")",1)):P("",!0),g(". Auto-saving has been "+z(o(i)?"enabled":"disabled")+". Check the console for more details, and consider sharing it with the developers on discord. ",1)]),vu,m("div",null,[m("a",{href:o(n),class:"nan-modal-discord-link"},[bu,g(" "+z(o(t)),1)],8,yu)]),_u,r(Lt,{title:"Autosave",modelValue:o(i),"onUpdate:modelValue":w[0]||(w[0]=S=>Ne(i)?i.value=S:null)},null,8,["modelValue"]),o(K).enablePausing?(b(),U(Lt,{key:0,title:"Pause game",modelValue:o(d),"onUpdate:modelValue":w[1]||(w[1]=S=>Ne(d)?d.value=S:null)},null,8,["modelValue"])):P("",!0)]),footer:q(()=>[m("div",wu,[m("button",{onClick:w[2]||(w[2]=S=>{var H;return(H=l.value)==null?void 0:H.open()}),class:"button"},"Open Saves Manager"),m("button",{onClick:_,class:"button"},"Set to 0"),m("button",{onClick:y,class:"button"},"Set to 1"),o(f)&&o(a).neq(o(f),0)&&o(a).neq(o(f),1)?(b(),M("button",{key:0,onClick:w[3]||(w[3]=S=>s.value=!1),class:"button"}," Set to previous ")):P("",!0),m("button",{onClick:v,class:"button danger"},"Ignore")])]),_:1},16,["modelValue"]),r(Ji,{ref_key:"savesManager",ref:l},null,512)],64))}});var Nu=ee(ku,[["__scopeId","data-v-3de07c06"]]);const Cu={key:0,class:"tpsDisplay"},Su={key:0,class:"low"},Mu=L({__name:"TPS",setup(e){const t=I(()=>a.div(ne.lastTenTicks.length,ne.lastTenTicks.reduce((l,u)=>l+u,0))),n=x([]);xe(()=>{n.value.push(Math.round(t.value.toNumber())),n.value.length>10&&(n.value=n.value.slice(1))});const i=I(()=>n.value.reduce((l,u)=>a.max(l,u),0)),s=I(()=>a.sub(t.value,i.value).gt(1));return(l,u)=>o(t).isNan()?P("",!0):(b(),M("div",Cu,[g(" TPS: "+z(o(R)(o(t)))+" ",1),r(Sn,{name:"fade"},{default:q(()=>[o(s)?(b(),M("span",Su,z(o(R)(o(i))),1)):P("",!0)]),_:1})]))}});var Iu=ee(Mu,[["__scopeId","data-v-46a3ed5b"]]);var Au=L({__name:"App",setup(e){const t=K.useHeader,n=I(()=>rn[oe.theme].variables),i=lt(oe,"showTPS"),s=I(()=>X(B(()=>r(F,null,[ya.map(me)]))));return(l,u)=>(b(),M(F,null,[m("div",{id:"modal-root",style:be(o(n))},null,4),m("div",{class:ye(["app",{useHeader:o(t)}]),style:be(o(n))},[o(t)?(b(),U(Xi,{key:0})):P("",!0),r(nu),o(o(i))?(b(),U(Iu,{key:1})):P("",!0),r(pu),r(Nu),(b(),U(Me(o(s))))],6)],64))}});var Pu=ee(Au,[["__scopeId","data-v-7c41425b"]]);function $u(e={}){const{immediate:t=!1,onNeedRefresh:n,onOfflineReady:i,onRegistered:s,onRegisterError:l}=e;let u,c;const f=async(d=!0)=>{d&&(u==null||u.addEventListener("controlling",_=>{_.isUpdate&&window.location.reload()})),c&&c.waiting&&await hs(c.waiting,{type:"SKIP_WAITING"})};if("serviceWorker"in navigator){u=new ps("./sw.js",{scope:"./",type:"classic"}),u.addEventListener("activated",d=>{d.isUpdate||i==null||i()});{const d=()=>{n==null||n()};u.addEventListener("waiting",d),u.addEventListener("externalwaiting",d)}u.register({immediate:t}).then(d=>{c=d,s==null||s(d)}).catch(d=>{l==null||l(d)})}return f}function Eu(e={}){const{immediate:t=!0,onNeedRefresh:n,onOfflineReady:i,onRegistered:s,onRegisterError:l}=e,u=x(!1),c=x(!1);return{updateServiceWorker:$u({immediate:t,onNeedRefresh(){u.value=!0,n==null||n()},onOfflineReady(){c.value=!0,i==null||i()},onRegistered:s,onRegisterError:l}),offlineReady:c,needRefresh:u}}document.title=K.title;window.projInfo=K;if(K.id==="")throw"Project ID is empty! Please select a unique ID for this project in /src/data/projInfo.json";requestAnimationFrame(async()=>{console.log(`%cMade in Profectus%c +Learn more at www.moddingtree.com`,"font-weight: bold; font-size: 24px; color: #A3BE8C; background: #2E3440; padding: 4px 8px; border-radius: 8px;","padding: 4px;"),await ma();const{globalBus:e,startGameLoop:t}=await bn(()=>Promise.resolve().then(function(){return fa}),void 0),n=window.vue=rs(Pu);e.emit("setupVue",n),n.mount("#app"),Pt(()=>{const i=pi(),{updateServiceWorker:s}=Eu({onNeedRefresh(){i.info("New content available, click or reload to update.",{timeout:!1,closeOnClick:!1,draggable:!1,icon:{iconClass:"material-icons",iconChildren:"refresh",iconTag:"i"},rtl:!1,onClick(){s()}})},onOfflineReady(){i.info("App ready to work offline")},onRegisterError:console.warn,onRegistered(l){l&&setInterval(l.update,60*60*1e3)}})}),t()}); diff --git a/assets/index.51edb8ac.js b/assets/index.51edb8ac.js deleted file mode 100644 index 220a4b0..0000000 --- a/assets/index.51edb8ac.js +++ /dev/null @@ -1,16 +0,0 @@ -/* empty css */import"./vue.92681fcb.js";import{Z as I,l as Ne,u as Nn,q as rn,C as r,b1 as Je,aa as L,aE as b,a0 as M,a1 as m,aK as nt,G as ye,t as x,aC as di,w as ze,b2 as xe,a8 as o,O as D,ao as ts,I as be,ay as Cn,ar as Pt,aG as pn,A as Se,_ as U,b6 as q,b8 as Vn,bs as ns,aq as $t,bu as tn,bb as Sn,T as is,a7 as g,j as ss,bv as ii,J as z,$ as P,aH as rt,aF as ot,al as yn,aL as yt,aN as Me,z as lt,H as as,aJ as fi,bn as ls,br as rs,be as os}from"./@vue.4ce677c2.js";import{i as us}from"./is-plain-object.906d88e8.js";import{c as mi}from"./nanoevents.1080beb7.js";import{L as gt}from"./lz-string.731cedc5.js";import{Y as cs}from"./vue-next-select.a2bfab1d.js";import{s as ds,u as pi}from"./vue-toastification.6f567382.js";import{D as fs}from"./vuedraggable.7949458c.js";import{p as ms}from"./vue-textarea-autosize.35804eaf.js";import{v as ps,n as hs}from"./workbox-window.8d14e8b7.js";import"./sortablejs.29100d8a.js";const gs=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const l of s)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&i(u)}).observe(document,{childList:!0,subtree:!0});function n(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerpolicy&&(l.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?l.credentials="include":s.crossorigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function i(s){if(s.ep)return;s.ep=!0;const l=n(s);fetch(s.href,l)}};gs();const vs="modulepreload",si={},ys="./",bn=function(t,n){return!n||n.length===0?t():Promise.all(n.map(i=>{if(i=`${ys}${i}`,i in si)return;si[i]=!0;const s=i.endsWith(".css"),l=s?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${i}"]${l}`))return;const u=document.createElement("link");if(u.rel=s?"stylesheet":vs,s||(u.as="script",u.crossOrigin=""),u.href=i,document.head.appendChild(u),s)return new Promise((c,f)=>{u.addEventListener("load",c),u.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${i}`)))})})).then(()=>t())},bs="./projInfo-schema.json",_s="Advent Incremental",ws="An incremental game you play a day at a time, leading up to Christmas!",ks="advent-incremental",Ns="thepaperpilot",Cs="",Ss="",Ms="0.3",Is="Initial Commit",As=!0,Ps=!1,$s=2,Es=!0,Ts=null,xs="",Bs=["main"],Fs=3600,Ds=0,Os=!0,Rs="base64";var K={$schema:bs,title:_s,description:ws,id:ks,author:Ns,discordName:Cs,discordLink:Ss,versionNumber:Ms,versionTitle:Is,allowGoBack:As,defaultShowSmall:Ps,defaultDecimalsShown:$s,useHeader:Es,banner:Ts,logo:xs,initialTabs:Bs,maxTickLength:Fs,offlineLimit:Ds,enablePausing:Os,exportEncoding:Rs};const Dn=17,qs=9e15,Vs=Math.log10(9e15),Ls=1/9e15,Gs=308,Hs=-324,ai=5,Us=function(){const e=[];for(let n=Hs+1;n<=Gs;n++)e.push(Number("1e"+n));const t=323;return function(n){return e[n+t]}}(),St=[2,Math.E,3,4,5,6,7,8,9,10],js=[[1,1.0891168053867777,1.1789745164521264,1.2701428397304229,1.3632066654400328,1.4587804913784246,1.557523817412741,1.660158301473385,1.767487542936873,1.8804205225512542,2],[1,1.1121114330934,1.23103892493161,1.35838369631113,1.49605193039935,1.64635423375119,1.81213853570186,1.99697132461829,2.20538955455724,2.44325744833852,Math.E],[1,1.1187738849693603,1.2464963939368214,1.38527004705667,1.5376664685821402,1.7068895236551784,1.897001227148399,2.1132403089001035,2.362480153784171,2.6539010333870774,3],[1,1.1367350847096405,1.2889510672956703,1.4606478703324786,1.6570295196661111,1.8850062585672889,2.1539465047453485,2.476829779693097,2.872061932789197,3.3664204535587183,4],[1,1.1494592900767588,1.319708228183931,1.5166291280087583,1.748171114438024,2.0253263297298045,2.3636668498288547,2.7858359149579424,3.3257226212448145,4.035730287722532,5],[1,1.159225940787673,1.343712473580932,1.5611293155111927,1.8221199554561318,2.14183924486326,2.542468319282638,3.0574682501653316,3.7390572020926873,4.6719550537360774,6],[1,1.1670905356972596,1.3632807444991446,1.5979222279405536,1.8842640123816674,2.2416069644878687,2.69893426559423,3.3012632110403577,4.121250340630164,5.281493033448316,7],[1,1.1736630594087796,1.379783782386201,1.6292821855668218,1.9378971836180754,2.3289975651071977,2.8384347394720835,3.5232708454565906,4.478242031114584,5.868592169644505,8],[1,1.1793017514670474,1.394054150657457,1.65664127441059,1.985170999970283,2.4069682290577457,2.9647310119960752,3.7278665320924946,4.814462547283592,6.436522247411611,9],[1,1.18422737399915,1.4066113788546144,1.680911177655277,2.027492094355525,2.4775152854601967,3.080455730250329,3.918234505962507,5.1332705696484595,6.9878696918072905,10]],zs=[[-1,-.9194161097107025,-.8335625019330468,-.7425599821143978,-.6466611521029437,-.5462617907227869,-.4419033816638769,-.3342645487554494,-.224140440909962,-.11241087890006762,0],[-1,-.90603157029014,-.80786507256596,-.7064666939634,-.60294836853664,-.49849837513117,-.39430303318768,-.29147201034755,-.19097820800866,-.09361896280296,0],[-1,-.9021579584316141,-.8005762598234203,-.6964780623319391,-.5911906810998454,-.486050182576545,-.3823089430815083,-.28106046722897615,-.1831906535795894,-.08935809204418144,0],[-1,-.8917227442365535,-.781258746326964,-.6705130326902455,-.5612813129406509,-.4551067709033134,-.35319256652135966,-.2563741554088552,-.1651412821106526,-.0796919581982668,0],[-1,-.8843387974366064,-.7678744063886243,-.6529563724510552,-.5415870994657841,-.4352842206588936,-.33504449124791424,-.24138853420685147,-.15445285440944467,-.07409659641336663,0],[-1,-.8786709358426346,-.7577735191184886,-.6399546189952064,-.527284921869926,-.4211627631006314,-.3223479611761232,-.23107655627789858,-.1472057700818259,-.07035171210706326,0],[-1,-.8740862815291583,-.7497032990976209,-.6297119746181752,-.5161838335958787,-.41036238255751956,-.31277212146489963,-.2233976621705518,-.1418697367979619,-.06762117662323441,0],[-1,-.8702632331800649,-.7430366914122081,-.6213373075161548,-.5072025698095242,-.40171437727184167,-.30517930701410456,-.21736343968190863,-.137710238299109,-.06550774483471955,0],[-1,-.8670016295947213,-.7373984232432306,-.6143173985094293,-.49973884395492807,-.394584953527678,-.2989649949848695,-.21245647317021688,-.13434688362382652,-.0638072667348083,0],[-1,-.8641642839543857,-.732534623168535,-.6083127477059322,-.4934049257184696,-.3885773075899922,-.29376029055315767,-.2083678561173622,-.13155653399373268,-.062401588652553186,0]],h=function(t){return a.fromValue_noAlloc(t)},V=function(e,t,n){return a.fromComponents(e,t,n)},j=function(t,n,i){return a.fromComponents_noNormalize(t,n,i)},pt=function(t,n){const i=n+1,s=Math.ceil(Math.log10(Math.abs(t))),l=Math.round(t*Math.pow(10,i-s))*Math.pow(10,s-i);return parseFloat(l.toFixed(Math.max(i-s,0)))},On=function(e){return Math.sign(e)*Math.log10(Math.abs(e))},Ws=function(e){if(!isFinite(e))return e;if(e<-50)return e===Math.trunc(e)?Number.NEGATIVE_INFINITY:0;let t=1;for(;e<10;)t=t*e,++e;e-=1;let n=.9189385332046727;n=n+(e+.5)*Math.log(e),n=n-e;const i=e*e;let s=e;return n=n+1/(12*s),s=s*i,n=n+1/(360*s),s=s*i,n=n+1/(1260*s),s=s*i,n=n+1/(1680*s),s=s*i,n=n+1/(1188*s),s=s*i,n=n+691/(360360*s),s=s*i,n=n+7/(1092*s),s=s*i,n=n+3617/(122400*s),Math.exp(n)/t},hi=.5671432904097838,li=function(e,t=1e-10){let n,i;if(!Number.isFinite(e)||e===0)return e;if(e===1)return hi;e<10?n=0:n=Math.log(e)-Math.log(Math.log(e));for(let s=0;s<100;++s){if(i=(e*Math.exp(-n)+n*n)/(n+1),Math.abs(i-n).5?1:-1;if(Math.random()*20<1)return j(t,0,1);const n=Math.floor(Math.random()*(e+1));let i=n===0?Math.random()*616-308:Math.random()*16;Math.random()>.9&&(i=Math.trunc(i));let s=Math.pow(10,i);return Math.random()>.9&&(s=Math.trunc(s)),V(t,n,s)}static affordGeometricSeries_core(e,t,n,i){const s=t.mul(n.pow(i));return k.floor(e.div(s).mul(n.sub(1)).add(1).log10().div(n.log10()))}static sumGeometricSeries_core(e,t,n,i){return t.mul(n.pow(i)).mul(k.sub(1,n.pow(e))).div(k.sub(1,n))}static affordArithmeticSeries_core(e,t,n,i){const l=t.add(i.mul(n)).sub(n.div(2)),u=l.pow(2);return l.neg().add(u.add(n.mul(e).mul(2)).sqrt()).div(n).floor()}static sumArithmeticSeries_core(e,t,n,i){const s=t.add(i.mul(n));return e.div(2).mul(s.mul(2).plus(e.sub(1).mul(n)))}static efficiencyOfPurchase_core(e,t,n){return e.div(t).add(e.div(n))}normalize(){if(this.sign===0||this.mag===0&&this.layer===0)return this.sign=0,this.mag=0,this.layer=0,this;if(this.layer===0&&this.mag<0&&(this.mag=-this.mag,this.sign=-this.sign),this.layer===0&&this.mag=qs)return this.layer+=1,this.mag=t*Math.log10(e),this;for(;e0;)this.layer-=1,this.layer===0?this.mag=Math.pow(10,this.mag):(this.mag=t*Math.pow(10,e),e=Math.abs(this.mag),t=Math.sign(this.mag));return this.layer===0&&(this.mag<0?(this.mag=-this.mag,this.sign=-this.sign):this.mag===0&&(this.sign=0)),this}fromComponents(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this.normalize(),this}fromComponents_noNormalize(e,t,n){return this.sign=e,this.layer=t,this.mag=n,this}fromMantissaExponent(e,t){return this.layer=1,this.sign=Math.sign(e),e=Math.abs(e),this.mag=t+Math.log10(e),this.normalize(),this}fromMantissaExponent_noNormalize(e,t){return this.fromMantissaExponent(e,t),this}fromDecimal(e){return this.sign=e.sign,this.layer=e.layer,this.mag=e.mag,this}fromNumber(e){return this.mag=Math.abs(e),this.sign=Math.sign(e),this.layer=0,this.normalize(),this}fromString(e){e=e.replace(",","");const t=e.split("^^^");if(t.length===2){const v=parseFloat(t[0]),p=parseFloat(t[1]),w=t[1].split(";");let S=1;if(w.length===2&&(S=parseFloat(w[1]),isFinite(S)||(S=1)),isFinite(v)&&isFinite(p)){const H=k.pentate(v,p,S);return this.sign=H.sign,this.layer=H.layer,this.mag=H.mag,this}}const n=e.split("^^");if(n.length===2){const v=parseFloat(n[0]),p=parseFloat(n[1]),w=n[1].split(";");let S=1;if(w.length===2&&(S=parseFloat(w[1]),isFinite(S)||(S=1)),isFinite(v)&&isFinite(p)){const H=k.tetrate(v,p,S);return this.sign=H.sign,this.layer=H.layer,this.mag=H.mag,this}}const i=e.split("^");if(i.length===2){const v=parseFloat(i[0]),p=parseFloat(i[1]);if(isFinite(v)&&isFinite(p)){const w=k.pow(v,p);return this.sign=w.sign,this.layer=w.layer,this.mag=w.mag,this}}e=e.trim().toLowerCase();let s,l,u=e.split("pt");if(u.length===2){s=10,l=parseFloat(u[0]),u[1]=u[1].replace("(",""),u[1]=u[1].replace(")","");let v=parseFloat(u[1]);if(isFinite(v)||(v=1),isFinite(s)&&isFinite(l)){const p=k.tetrate(s,l,v);return this.sign=p.sign,this.layer=p.layer,this.mag=p.mag,this}}if(u=e.split("p"),u.length===2){s=10,l=parseFloat(u[0]),u[1]=u[1].replace("(",""),u[1]=u[1].replace(")","");let v=parseFloat(u[1]);if(isFinite(v)||(v=1),isFinite(s)&&isFinite(l)){const p=k.tetrate(s,l,v);return this.sign=p.sign,this.layer=p.layer,this.mag=p.mag,this}}const c=e.split("e"),f=c.length-1;if(f===0){const v=parseFloat(e);if(isFinite(v))return this.fromNumber(v)}else if(f===1){const v=parseFloat(e);if(isFinite(v)&&v!==0)return this.fromNumber(v)}const d=e.split("e^");if(d.length===2){this.sign=1,d[0].charAt(0)=="-"&&(this.sign=-1);let v="";for(let p=0;p=43&&w<=57||w===101)v+=d[1].charAt(p);else return this.layer=parseFloat(v),this.mag=parseFloat(d[1].substr(p+1)),this.normalize(),this}}if(f<1)return this.sign=0,this.layer=0,this.mag=0,this;const _=parseFloat(c[0]);if(_===0)return this.sign=0,this.layer=0,this.mag=0,this;let y=parseFloat(c[c.length-1]);if(f>=2){const v=parseFloat(c[c.length-2]);isFinite(v)&&(y*=Math.sign(v),y+=On(v))}if(!isFinite(_))this.sign=c[0]==="-"?-1:1,this.layer=f,this.mag=y;else if(f===1)this.sign=Math.sign(_),this.layer=1,this.mag=y+Math.log10(Math.abs(_));else if(this.sign=Math.sign(_),this.layer=f,f===2){const v=k.mul(V(1,2,y),h(_));return this.sign=v.sign,this.layer=v.layer,this.mag=v.mag,this}else this.mag=y;return this.normalize(),this}fromValue(e){return e instanceof k||e!=null&&typeof e=="object"&&"sign"in e&&"mag"in e&&"layer"in e?this.fromDecimal(e):typeof e=="number"?this.fromNumber(e):typeof e=="string"?this.fromString(e):(this.sign=0,this.layer=0,this.mag=0,this)}toNumber(){return Number.isFinite(this.layer)?this.layer===0?this.sign*this.mag:this.layer===1?this.sign*Math.pow(10,this.mag):this.mag>0?this.sign>0?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:0:Number.NaN}mantissaWithDecimalPlaces(e){return isNaN(this.m)?Number.NaN:this.m===0?0:pt(this.m,e)}magnitudeWithDecimalPlaces(e){return isNaN(this.mag)?Number.NaN:this.mag===0?0:pt(this.mag,e)}toString(){return isNaN(this.layer)||isNaN(this.sign)||isNaN(this.mag)?"NaN":this.mag===Number.POSITIVE_INFINITY||this.layer===Number.POSITIVE_INFINITY?this.sign===1?"Infinity":"-Infinity":this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toString():this.m+"e"+this.e:this.layer===1?this.m+"e"+this.e:this.layer<=ai?(this.sign===-1?"-":"")+"e".repeat(this.layer)+this.mag:(this.sign===-1?"-":"")+"(e^"+this.layer+")"+this.mag}toExponential(e){return this.layer===0?(this.sign*this.mag).toExponential(e):this.toStringWithDecimalPlaces(e)}toFixed(e){return this.layer===0?(this.sign*this.mag).toFixed(e):this.toStringWithDecimalPlaces(e)}toPrecision(e){return this.e<=-7?this.toExponential(e-1):e>this.e?this.toFixed(e-this.exponent-1):this.toExponential(e-1)}valueOf(){return this.toString()}toJSON(){return this.toString()}toStringWithDecimalPlaces(e){return this.layer===0?this.mag<1e21&&this.mag>1e-7||this.mag===0?(this.sign*this.mag).toFixed(e):pt(this.m,e)+"e"+pt(this.e,e):this.layer===1?pt(this.m,e)+"e"+pt(this.e,e):this.layer<=ai?(this.sign===-1?"-":"")+"e".repeat(this.layer)+pt(this.mag,e):(this.sign===-1?"-":"")+"(e^"+this.layer+")"+pt(this.mag,e)}abs(){return j(this.sign===0?0:1,this.layer,this.mag)}neg(){return j(-this.sign,this.layer,this.mag)}negate(){return this.neg()}negated(){return this.neg()}sgn(){return this.sign}round(){return this.mag<0?k.dZero:this.layer===0?V(this.sign,0,Math.round(this.mag)):this}floor(){return this.mag<0?k.dZero:this.layer===0?V(this.sign,0,Math.floor(this.mag)):this}ceil(){return this.mag<0?k.dZero:this.layer===0?V(this.sign,0,Math.ceil(this.mag)):this}trunc(){return this.mag<0?k.dZero:this.layer===0?V(this.sign,0,Math.trunc(this.mag)):this}add(e){const t=h(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer)||this.sign===0)return t;if(t.sign===0)return this;if(this.sign===-t.sign&&this.layer===t.layer&&this.mag===t.mag)return j(0,0,0);let n,i;if(this.layer>=2||t.layer>=2)return this.maxabs(t);if(k.cmpabs(this,t)>0?(n=this,i=t):(n=t,i=this),n.layer===0&&i.layer===0)return h(n.sign*n.mag+i.sign*i.mag);const s=n.layer*Math.sign(n.mag),l=i.layer*Math.sign(i.mag);if(s-l>=2)return n;if(s===0&&l===-1){if(Math.abs(i.mag-Math.log10(n.mag))>Dn)return n;{const u=Math.pow(10,Math.log10(n.mag)-i.mag),c=i.sign+n.sign*u;return V(Math.sign(c),1,i.mag+Math.log10(Math.abs(c)))}}if(s===1&&l===0){if(Math.abs(n.mag-Math.log10(i.mag))>Dn)return n;{const u=Math.pow(10,n.mag-Math.log10(i.mag)),c=i.sign+n.sign*u;return V(Math.sign(c),1,Math.log10(i.mag)+Math.log10(Math.abs(c)))}}if(Math.abs(n.mag-i.mag)>Dn)return n;{const u=Math.pow(10,n.mag-i.mag),c=i.sign+n.sign*u;return V(Math.sign(c),1,i.mag+Math.log10(Math.abs(c)))}}plus(e){return this.add(e)}sub(e){return this.add(h(e).neg())}subtract(e){return this.sub(e)}minus(e){return this.sub(e)}mul(e){const t=h(e);if(!Number.isFinite(this.layer))return this;if(!Number.isFinite(t.layer))return t;if(this.sign===0||t.sign===0)return j(0,0,0);if(this.layer===t.layer&&this.mag===-t.mag)return j(this.sign*t.sign,0,1);let n,i;if(this.layer>t.layer||this.layer==t.layer&&Math.abs(this.mag)>Math.abs(t.mag)?(n=this,i=t):(n=t,i=this),n.layer===0&&i.layer===0)return h(n.sign*i.sign*n.mag*i.mag);if(n.layer>=3||n.layer-i.layer>=2)return V(n.sign*i.sign,n.layer,n.mag);if(n.layer===1&&i.layer===0)return V(n.sign*i.sign,1,n.mag+Math.log10(i.mag));if(n.layer===1&&i.layer===1)return V(n.sign*i.sign,1,n.mag+i.mag);if(n.layer===2&&i.layer===1){const s=V(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(V(Math.sign(i.mag),i.layer-1,Math.abs(i.mag)));return V(n.sign*i.sign,s.layer+1,s.sign*s.mag)}if(n.layer===2&&i.layer===2){const s=V(Math.sign(n.mag),n.layer-1,Math.abs(n.mag)).add(V(Math.sign(i.mag),i.layer-1,Math.abs(i.mag)));return V(n.sign*i.sign,s.layer+1,s.sign*s.mag)}throw Error("Bad arguments to mul: "+this+", "+e)}multiply(e){return this.mul(e)}times(e){return this.mul(e)}div(e){const t=h(e);return this.mul(t.recip())}divide(e){return this.div(e)}divideBy(e){return this.div(e)}dividedBy(e){return this.div(e)}recip(){return this.mag===0?k.dNaN:this.layer===0?V(this.sign,0,1/this.mag):V(this.sign,this.layer,-this.mag)}reciprocal(){return this.recip()}reciprocate(){return this.recip()}cmp(e){const t=h(e);return this.sign>t.sign?1:this.sign0?this.layer:-this.layer,i=t.mag>0?t.layer:-t.layer;return n>i?1:nt.mag?1:this.mag0?t:this}clamp(e,t){return this.max(e).min(t)}clampMin(e){return this.max(e)}clampMax(e){return this.min(e)}cmp_tolerance(e,t){const n=h(e);return this.eq_tolerance(n,t)?0:this.cmp(n)}compare_tolerance(e,t){return this.cmp_tolerance(e,t)}eq_tolerance(e,t){const n=h(e);if(t==null&&(t=1e-7),this.sign!==n.sign||Math.abs(this.layer-n.layer)>1)return!1;let i=this.mag,s=n.mag;return this.layer>n.layer&&(s=On(s)),this.layer0?V(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):V(1,0,Math.log10(this.mag))}log10(){return this.sign<=0?k.dNaN:this.layer>0?V(Math.sign(this.mag),this.layer-1,Math.abs(this.mag)):V(this.sign,0,Math.log10(this.mag))}log(e){return e=h(e),this.sign<=0||e.sign<=0||e.sign===1&&e.layer===0&&e.mag===1?k.dNaN:this.layer===0&&e.layer===0?V(this.sign,0,Math.log(this.mag)/Math.log(e.mag)):k.div(this.log10(),e.log10())}log2(){return this.sign<=0?k.dNaN:this.layer===0?V(this.sign,0,Math.log2(this.mag)):this.layer===1?V(Math.sign(this.mag),0,Math.abs(this.mag)*3.321928094887362):this.layer===2?V(Math.sign(this.mag),1,Math.abs(this.mag)+.5213902276543247):V(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}ln(){return this.sign<=0?k.dNaN:this.layer===0?V(this.sign,0,Math.log(this.mag)):this.layer===1?V(Math.sign(this.mag),0,Math.abs(this.mag)*2.302585092994046):this.layer===2?V(Math.sign(this.mag),1,Math.abs(this.mag)+.36221568869946325):V(Math.sign(this.mag),this.layer-1,Math.abs(this.mag))}logarithm(e){return this.log(e)}pow(e){const t=h(e),n=this,i=t;if(n.sign===0)return i.eq(0)?j(1,0,1):n;if(n.sign===1&&n.layer===0&&n.mag===1)return n;if(i.sign===0)return j(1,0,1);if(i.sign===1&&i.layer===0&&i.mag===1)return n;const s=n.absLog10().mul(i).pow10();return this.sign===-1?Math.abs(i.toNumber()%2)%2===1?s.neg():Math.abs(i.toNumber()%2)%2===0?s:k.dNaN:s}pow10(){if(!Number.isFinite(this.layer)||!Number.isFinite(this.mag))return k.dNaN;let e=this;if(e.layer===0){const t=Math.pow(10,e.sign*e.mag);if(Number.isFinite(t)&&Math.abs(t)>=.1)return V(1,0,t);if(e.sign===0)return k.dOne;e=j(e.sign,e.layer+1,Math.log10(e.mag))}return e.sign>0&&e.mag>=0?V(e.sign,e.layer+1,e.mag):e.sign<0&&e.mag>=0?V(-e.sign,e.layer+1,-e.mag):k.dOne}pow_base(e){return h(e).pow(this)}root(e){const t=h(e);return this.pow(t.recip())}factorial(){return this.mag<0?this.add(1).gamma():this.layer===0?this.add(1).gamma():this.layer===1?k.exp(k.mul(this,k.ln(this).sub(1))):k.exp(this)}gamma(){if(this.mag<0)return this.recip();if(this.layer===0){if(this.lt(j(1,0,24)))return h(Ws(this.sign*this.mag));const e=this.mag-1;let t=.9189385332046727;t=t+(e+.5)*Math.log(e),t=t-e;const n=e*e;let i=e,s=12*i,l=1/s,u=t+l;if(u===t||(t=u,i=i*n,s=360*i,l=1/s,u=t-l,u===t))return k.exp(t);t=u,i=i*n,s=1260*i;let c=1/s;return t=t+c,i=i*n,s=1680*i,c=1/s,t=t-c,k.exp(t)}else return this.layer===1?k.exp(k.mul(this,k.ln(this).sub(1))):k.exp(this)}lngamma(){return this.gamma().ln()}exp(){return this.mag<0?k.dOne:this.layer===0&&this.mag<=709.7?h(Math.exp(this.sign*this.mag)):this.layer===0?V(1,1,this.sign*Math.log10(Math.E)*this.mag):this.layer===1?V(1,2,this.sign*(Math.log10(.4342944819032518)+this.mag)):V(1,this.layer+1,this.sign*this.mag)}sqr(){return this.pow(2)}sqrt(){if(this.layer===0)return h(Math.sqrt(this.sign*this.mag));if(this.layer===1)return V(1,2,Math.log10(this.mag)-.3010299956639812);{const e=k.div(j(this.sign,this.layer-1,this.mag),j(1,0,2));return e.layer+=1,e.normalize(),e}}cube(){return this.pow(3)}cbrt(){return this.pow(1/3)}tetrate(e=2,t=j(1,0,1)){if(e===1)return k.pow(this,t);if(e===0)return new k(t);if(this.eq(k.dOne))return k.dOne;if(this.eq(-1))return k.pow(this,t);if(e===Number.POSITIVE_INFINITY){const s=this.toNumber();if(s<=1.444667861009766&&s>=.06598803584531254){if(s>1.444667861009099)return new k(Math.E);const l=k.ln(this).neg();return l.lambertw().div(l)}else return s>1.444667861009766?new k(Number.POSITIVE_INFINITY):k.dNaN}if(this.eq(k.dZero)){let s=Math.abs((e+1)%2);return s>1&&(s=2-s),new k(s)}if(e<0)return k.iteratedlog(t,this,-e);t=h(t);const n=e;e=Math.trunc(e);const i=n-e;if(this.gt(k.dZero)&&this.lte(1.444667861009766)){e=Math.min(1e4,e);for(let s=0;s3)return j(t.sign,t.layer+(e-s-1),t.mag);if(s>1e4)return t}return t}iteratedexp(e=2,t=j(1,0,1)){return this.tetrate(e,t)}iteratedlog(e=10,t=1){if(t<0)return k.tetrate(e,-t,this);e=h(e);let n=h(this);const i=t;t=Math.trunc(t);const s=i-t;if(n.layer-e.layer>3){const l=Math.min(t,n.layer-e.layer-3);t-=l,n.layer-=l}for(let l=0;l1e4)return n}return s>0&&s<1&&(e.eq(10)?n=n.layeradd10(-s):n=n.layeradd(-s,e)),n}slog(e=10){if(e=h(e),e.lte(k.dZero)||e.eq(k.dOne))return k.dNaN;if(e.lt(k.dOne))return this.eq(k.dOne)?k.dZero:this.eq(k.dZero)?k.dNegOne:k.dNaN;if(this.mag<0||this.eq(k.dZero))return k.dNegOne;let t=0,n=h(this);if(n.layer-e.layer>3){const i=n.layer-e.layer-3;t+=i,n.layer-=i}for(let i=0;i<100;++i)if(n.lt(k.dZero))n=k.pow(e,n),t-=1;else{if(n.lte(k.dOne))return h(t+k.slog_critical(e.toNumber(),n.toNumber()));t+=1,n=k.log(n,e)}return h(t)}static slog_critical(e,t){return e>10?t-1:k.critical_section(e,t,zs)}static tetrate_critical(e,t){return k.critical_section(e,t,js)}static critical_section(e,t,n){t*=10,t<0&&(t=0),t>10&&(t=10),e<2&&(e=2),e>10&&(e=10);let i=0,s=0;for(let c=0;ce){const f=(e-St[c])/(St[c+1]-St[c]);i=n[c][Math.floor(t)]*(1-f)+n[c+1][Math.floor(t)]*f,s=n[c][Math.ceil(t)]*(1-f)+n[c+1][Math.ceil(t)]*f;break}const l=t-Math.floor(t);return i*(1-l)+s*l}layeradd10(e){e=k.fromValue_noAlloc(e).toNumber();const t=h(this);if(e>=1){t.mag<0&&t.layer>0?(t.sign=0,t.mag=0,t.layer=0):t.sign===-1&&t.layer==0&&(t.sign=1,t.mag=-t.mag);const n=Math.trunc(e);e-=n,t.layer+=n}if(e<=-1){const n=Math.trunc(e);if(e-=n,t.layer+=n,t.layer<0)for(let i=0;i<100;++i){if(t.layer++,t.mag=Math.log10(t.mag),!isFinite(t.mag))return t.sign===0&&(t.sign=1),t.layer<0&&(t.layer=0),t.normalize();if(t.layer>=0)break}}for(;t.layer<0;)t.layer++,t.mag=Math.log10(t.mag);return t.sign===0&&(t.sign=1,t.mag===0&&t.layer>=1&&(t.layer-=1,t.mag=1)),t.normalize(),e!==0?t.layeradd(e,10):t}layeradd(e,t){const i=this.slog(t).toNumber()+e;return i>=0?k.tetrate(t,i):Number.isFinite(i)?i>=-1?k.log(k.tetrate(t,i+1),t):k.log(k.log(k.tetrate(t,i+2),t),t):k.dNaN}lambertw(){if(this.lt(-.3678794411710499))throw Error("lambertw is unimplemented for results less than -1, sorry!");if(this.mag<0)return h(li(this.toNumber()));if(this.layer===0)return h(li(this.sign*this.mag));if(this.layer===1)return ri(this);if(this.layer===2)return ri(this);if(this.layer>=3)return j(this.sign,this.layer-1,this.mag);throw"Unhandled behavior in lambertw()"}ssqrt(){if(this.sign==1&&this.layer>=3)return j(this.sign,this.layer-1,this.mag);const e=this.ln();return e.div(e.lambertw())}pentate(e=2,t=j(1,0,1)){t=h(t);const n=e;e=Math.trunc(e);const i=n-e;i!==0&&(t.eq(k.dOne)?(++e,t=new k(i)):this.eq(10)?t=t.layeradd10(i):t=t.layeradd(i,this));for(let s=0;s10)return t}return t}sin(){return this.mag<0?this:this.layer===0?h(Math.sin(this.sign*this.mag)):j(0,0,0)}cos(){return this.mag<0?k.dOne:this.layer===0?h(Math.cos(this.sign*this.mag)):j(0,0,0)}tan(){return this.mag<0?this:this.layer===0?h(Math.tan(this.sign*this.mag)):j(0,0,0)}asin(){return this.mag<0?this:this.layer===0?h(Math.asin(this.sign*this.mag)):j(Number.NaN,Number.NaN,Number.NaN)}acos(){return this.mag<0?h(Math.acos(this.toNumber())):this.layer===0?h(Math.acos(this.sign*this.mag)):j(Number.NaN,Number.NaN,Number.NaN)}atan(){return this.mag<0?this:this.layer===0?h(Math.atan(this.sign*this.mag)):h(Math.atan(this.sign*(1/0)))}sinh(){return this.exp().sub(this.negate().exp()).div(2)}cosh(){return this.exp().add(this.negate().exp()).div(2)}tanh(){return this.sinh().div(this.cosh())}asinh(){return k.ln(this.add(this.sqr().add(1).sqrt()))}acosh(){return k.ln(this.add(this.sqr().sub(1).sqrt()))}atanh(){return this.abs().gte(1)?j(Number.NaN,Number.NaN,Number.NaN):k.ln(this.add(1).div(h(1).sub(this))).div(2)}ascensionPenalty(e){return e===0?this:this.root(k.pow(10,e))}egg(){return this.add(9)}lessThanOrEqualTo(e){return this.cmp(e)<1}lessThan(e){return this.cmp(e)<0}greaterThanOrEqualTo(e){return this.cmp(e)>-1}greaterThan(e){return this.cmp(e)>0}};let a=k;a.dZero=j(0,0,0);a.dOne=j(1,0,1);a.dNegOne=j(-1,0,1);a.dTwo=j(1,0,2);a.dTen=j(1,0,10);a.dNaN=j(Number.NaN,Number.NaN,Number.NaN);a.dInf=j(1,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY);a.dNegInf=j(-1,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY);a.dNumberMax=V(1,0,Number.MAX_VALUE);a.dNumberMin=V(1,0,Number.MIN_VALUE);const Qs=new a(1);function Yt(e,t,n=!0){let i=a.log10(e).floor(),s=a.div(e,a.pow(10,i));s.toStringWithDecimalPlaces(t)==="10"&&(s=Qs,i=i.add(1));const l=i.gte(1e9)?We(i,Math.max(Math.max(t,3),K.defaultDecimalsShown)):i.gte(1e4)?_n(i,0):i.toStringWithDecimalPlaces(0);return n?s.toStringWithDecimalPlaces(t)+"e"+l:"e"+l}function _n(e,t){if(e==null)return"NaN";if(e=new a(e),e.mag<.001)return 0 .toFixed(t);const i=e.toStringWithDecimalPlaces(t).split(".");return i[0]=i[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"),i.length==1?i[0]:i[0]+"."+i[1]}function gi(e,t){return e==null?"NaN":(e=new a(e),e.mag<1e-4?0 .toFixed(t):(e.mag<.1&&t!==0&&(t=Math.max(Math.max(t,e.log10().negate().ceil().toNumber()),K.defaultDecimalsShown)),e.toStringWithDecimalPlaces(t)))}const Ks=new a("eeee1000"),Js=new a("e100000"),oi=new a("e1000"),vi=new a(1e9),Xs=new a(1e6),Zs=new a(1e3),Ys=new a(.98),ea=new a(.001),yi=new a(0);function We(e,t,n){if(t==null&&(t=K.defaultDecimalsShown),n=n!=null?n:K.defaultShowSmall,e=new a(e),isNaN(e.sign)||isNaN(e.layer)||isNaN(e.mag))return"NaN";if(e.sign<0)return"-"+We(e.neg(),t);if(e.mag===Number.POSITIVE_INFINITY)return"Infinity";if(e.gte(Ks)){const i=e.slog();return i.gte(Xs)?"F"+We(i.floor()):a.pow(10,i.sub(i.floor())).toStringWithDecimalPlaces(3)+"F"+_n(i.floor(),0)}else{if(e.gte(Js))return Yt(e,0,!1);if(e.gte(oi))return Yt(e,0);if(e.gte(vi))return Yt(e,t);if(e.gte(Zs))return _n(e,0);if(e.gte(ea)||!n)return gi(e,t);if(e.eq(yi))return 0 .toFixed(t)}return e=_i(e),e.lt(oi)?Yt(e,t).replace(/([^(?:e|F)]*)$/,"-$1"):We(e,t)+"\u207B\xB9"}function je(e){return e=new a(e),e.sign<0?"-"+je(e.neg()):e.gte(vi)||e.lte(Ys)&&!e.eq(yi)?We(e):We(e,0)}function bi(e){return a.lt(e,0)?"-"+bi(a.neg(e)):a.gt(e,2**51)?We(a.div(e,31536e3))+"y":(e=new a(e).toNumber(),e<60?We(e)+"s":e<3600?je(Math.floor(e/60))+"m "+We(e%60)+"s":e<86400?je(Math.floor(e/3600))+"h "+je(Math.floor(e/60)%60)+"m "+je(e%60)+"s":e<31536e3?je(Math.floor(e/84600)%365)+"d "+je(Math.floor(e/3600)%24)+"h "+je(Math.floor(e/60)%60)+"m":je(Math.floor(e/31536e3))+"y "+je(Math.floor(e/84600)%365)+"d "+je(Math.floor(e/3600)%24)+"h")}function ta(e,t,n){e=new a(e);let i=e.toStringWithDecimalPlaces(t);return new a(i).gte(n)&&(i=a.sub(n,Math.pow(.1,t)).toStringWithDecimalPlaces(t)),i}function na(e,t){return We(e,t,!0)}function _i(e){let t=a.log10(e).ceil();const n=a.div(e,a.pow(10,t));return t=t.neg(),e=new a(10).pow(t).times(n),e}var ia=Object.freeze(Object.defineProperty({__proto__:null,default:a,exponentialFormat:Yt,commaFormat:_n,regularFormat:gi,format:We,formatWhole:je,formatTime:bi,toPlaces:ta,formatSmall:na,invertOOM:_i},Symbol.toStringTag,{value:"Module"}));const{exponentialFormat:sa,commaFormat:aa,regularFormat:la,format:ee,formatWhole:R,formatTime:Mn,toPlaces:ra,formatSmall:oa,invertOOM:ua}=ia;window.Decimal=a;window.exponentialFormat=sa;window.commaFormat=aa;window.regularFormat=la;window.format=ee;window.formatWhole=R;window.formatTime=Mn;window.toPlaces=ra;window.formatSmall=oa;window.invertOOM=ua;function wi(e){let t=e.replace(/([A-Z])/g," $1");return t=t.charAt(0).toUpperCase()+t.slice(1),t}function Rn(e){return typeof e=="function"}var J=(e=>(e.Up="Up",e.Down="Down",e.Left="Left",e.Right="Right",e.Default="Up",e))(J||{});const nn=Symbol("DoNotCache");function $(e,t){const n=e[t];Rn(n)&&n.length===0&&!n[nn]?e[t]=I(n.bind(e)):Rn(n)&&(e[t]=n.bind(e),e[t][nn]=!0)}function Be(e){return Rn(e)&&!e[nn]&&(e=I(e)),e}const bt=Symbol("Component"),_t=Symbol("GatherProps");let ca=0;function Gt(e="feature-"){return e+ca++}var ke=(e=>(e[e.Visible=0]="Visible",e[e.Hidden=1]="Hidden",e[e.None=2]="None",e))(ke||{});function B(e){return e[nn]=!0,e}function Z(e,t=2){return e?0:t}function Ce(e,t,n){e[t]===void 0&&n!=null&&(e[t]=n)}function ki(e,...t){const n=[],i=s=>{Object.keys(s).forEach(l=>{const u=s[l];u&&typeof u=="object"&&(t.includes(u.type)?n.push(u):!(u instanceof a)&&!Ne(u)&&i(u))})};return i(e),n}const Mt={variables:{"--foreground":"#dfdfdf","--background":"#0f0f0f","--feature-foreground":"#0f0f0f","--tooltip-background":"rgba(0, 0, 0, 0.75)","--raised-background":"#0f0f0f","--points":"#ffffff","--locked":"#bf8f8f","--highlighted":"#333","--bought":"#77bf5f","--danger":"rgb(220, 53, 69)","--link":"#02f2f2","--outline":"#dfdfdf","--accent1":"#627a82","--accent2":"#658262","--accent3":"#7c6282","--border-radius":"15px","--modal-border":"solid 2px var(--color)","--feature-margin":"0px"},floatingTabs:!0,mergeAdjacent:!0,showPin:!0};var Ln=(e=>(e.Classic="classic",e.Paper="paper",e.Nordic="nordic",e.Aqua="aqua",e))(Ln||{}),on={classic:Mt,paper:{...Mt,variables:{...Mt.variables,"--background":"#2a323d","--feature-foreground":"#000","--raised-background":"#333c4a","--locked":"#3a3e45","--bought":"#5C8A58","--outline":"#333c4a","--border-radius":"4px","--modal-border":"","--feature-margin":"5px"},floatingTabs:!1},nordic:{...Mt,variables:{...Mt.variables,"--foreground":"#D8DEE9","--background":"#2E3440","--feature-foreground":"#000","--raised-background":"#3B4252","--points":"#E5E9F0","--locked":"#4c566a","--highlighted":"#434c5e","--bought":"#8FBCBB","--danger":"#D08770","--link":"#88C0D0","--outline":"#3B4252","--accent1":"#B48EAD","--accent2":"#A3BE8C","--accent3":"#EBCB8B","--border-radius":"4px","--modal-border":"solid 2px #3B4252","--feature-margin":"5px"},floatingTabs:!1},aqua:{...Mt,variables:{...Mt.variables,"--foreground":"#bfdfff","--background":"#001f3f","--tooltip-background":"rgba(0, 15, 31, 0.75)","--raised-background":"#001f3f","--points":"#dfefff","--locked":"#c4a7b3","--outline":"#bfdfff"}}};const de=Symbol("ProxyState"),Dt=Symbol("ProxyPath");function Le(e,t={}){const n=t;let i=!1;function s(){return i||(Object.assign(n,e(n)),i=!0),n}return new Proxy(n,{get(l,u){return u===de?s():s()[u]},set(l,u,c){return s()[u]=c,!0},has(l,u){return u===de?!0:Reflect.has(s(),u)},ownKeys(){return Reflect.ownKeys(s())},getOwnPropertyDescriptor(l,u){return i||(Object.assign(n,e(n)),i=!0),Object.getOwnPropertyDescriptor(l,u)}})}var ne=window.state=Nn({lastTenTicks:[],hasNaN:!1,NaNPath:[]});const Ni=rn({id:"",devSpeed:null,name:"",tabs:[],time:-1,autosave:!0,offlineProd:!0,offlineTime:null,timePlayed:0,keepGoing:!1,modID:"",modVersion:"",layers:{}});function Ci(e){return JSON.stringify(e,(t,n)=>r(n))}const Si={get(e,t){var i;if(t===de||t===Dt)return e[t];const n=e[de][t];if(t!=="value"&&(us(n)||Array.isArray(n))){if(n!==((i=e[t])==null?void 0:i[de])){const s=[...e[Dt],t];e[t]=new Proxy({[de]:n,[Dt]:s},Si)}return e[t]}return n},set(e,t,n,i){if(!ne.hasNaN&&(typeof n=="number"&&isNaN(n)||n instanceof a&&(isNaN(n.sign)||isNaN(n.layer)||isNaN(n.mag)))){const s=e[de][t];if(!(typeof s=="number"&&isNaN(s)||s instanceof a&&(isNaN(s.sign)||isNaN(s.layer)||isNaN(s.mag))))throw Ni.autosave=!1,ne.hasNaN=!0,ne.NaNPath=[...e[Dt],t],ne.NaNReceiver=i,console.error("Attempted to set NaN value",[...e[Dt],t],e[de]),"Attempted to set NaN value. See above for details"}return e[de][t]=n,!0},ownKeys(e){return Reflect.ownKeys(e[de])},has(e,t){return Reflect.has(e[de],t)},getOwnPropertyDescriptor(e,t){return Object.getOwnPropertyDescriptor(e[de],t)}};var A=window.player=new Proxy({[de]:Ni,[Dt]:["player"]},Si);const oe=mi();let Ot=null,en=null;function wn(){const e=Date.now();let t=(e-A.time)/1e3;A.time=e;const n=t;if(ne.lastTenTicks.push(n),ne.lastTenTicks.length>10&&(ne.lastTenTicks=ne.lastTenTicks.slice(1)),!((en==null?void 0:en.value)&&!A.keepGoing)&&!ne.hasNaN&&(t=Math.max(t,0),A.devSpeed!==0)){if(A.offlineTime!=null){if(a.gt(A.offlineTime,K.offlineLimit*3600)&&(A.offlineTime=K.offlineLimit*3600),a.gt(A.offlineTime,0)&&A.devSpeed!==0){const i=Math.max(A.offlineTime/10,t);A.offlineTime=A.offlineTime-i,t+=i}else A.devSpeed===0&&(A.offlineTime+=t);(!A.offlineProd||a.lt(A.offlineTime,0))&&(A.offlineTime=null)}t=Math.min(t,K.maxTickLength),A.devSpeed!=null&&(t*=A.devSpeed),Number.isFinite(t)||(t=1e308),!a.eq(t,0)&&(A.timePlayed+=t,Number.isFinite(A.timePlayed)||(A.timePlayed=1e308),oe.emit("update",t,n),re.unthrottled?(requestAnimationFrame(wn),Ot!=null&&(clearInterval(Ot),Ot=null)):Ot==null&&(Ot=setInterval(wn,50)))}}async function da(){en=(await bn(()=>Promise.resolve().then(function(){return zi}),void 0)).hasWon,Je(en,e=>{e&&oe.emit("gameWon")}),re.unthrottled?requestAnimationFrame(wn):Ot=setInterval(wn,50)}document.fonts.onloadingdone=()=>oe.emit("fontsLoaded");var fa=Object.freeze(Object.defineProperty({__proto__:null,globalBus:oe,startGameLoop:da},Symbol.toStringTag,{value:"Module"}));function Mi(e={}){return Object.assign({id:`${K.id}-0`,name:"Default Save",tabs:K.initialTabs.slice(),time:Date.now(),autosave:!0,offlineProd:!0,offlineTime:0,timePlayed:0,keepGoing:!1,modID:K.id,modVersion:K.versionNumber,layers:{}},e)}function Qe(e){const t=gt.compressToUTF16(Ci(e!=null?e:A[de]));return localStorage.setItem((e!=null?e:A[de]).id,t),t}async function ma(){ha();try{let e=localStorage.getItem(re.active);if(e==null){await It(Rt());return}if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=gt.decompressFromUTF16(e);else throw"Unable to determine save encoding";const t=JSON.parse(e);if(t.modID!==K.id){await It(Rt());return}t.id=re.active,await It(t)}catch(e){console.error(`Failed to load save. Falling back to new save. -`,e),await It(Rt())}}function Rt(){const e=gn(),t=Mi({id:e});return Qe(t),re.saves.push(e),t}function gn(){let e,t=0;do e=`${K.id}-${t++}`;while(localStorage.getItem(e));return e}async function It(e){console.info("Loading save",e);const{layers:t,removeLayer:n,addLayer:i}=await bn(()=>Promise.resolve().then(function(){return Da}),void 0),{fixOldSave:s,getInitialLayers:l}=await bn(()=>Promise.resolve().then(function(){return zi}),void 0);for(const u in t){const c=t[u];c&&n(c)}l(e).forEach(u=>i(u,e)),e=Mi(e),e.offlineProd&&e.time&&e.devSpeed!==0&&(e.offlineTime==null&&(e.offlineTime=0),e.offlineTime+=Math.min(e.offlineTime+(Date.now()-e.time)/1e3,K.offlineLimit*3600)),e.time=Date.now(),e.modVersion!==K.versionNumber&&s(e.modVersion,e),Object.assign(A,e),re.active=A.id,oe.emit("onLoad")}setInterval(()=>{A.autosave&&Qe()},1e3);window.onbeforeunload=()=>{A.autosave&&Qe()};window.save=Qe;const pa=window.hardReset=async()=>{await It(Rt())},sn=rn({active:"",saves:[],showTPS:!0,theme:Ln.Nordic,unthrottled:!1});Je(sn,e=>{const t=gt.compressToUTF16(JSON.stringify(e));localStorage.setItem(K.id,t)},{deep:!0});var re=window.settings=sn;window.hardResetSettings=()=>{const e={active:"",saves:[],showTPS:!0,theme:Ln.Nordic};oe.emit("loadSettings",e),Object.assign(sn,e),pa()};function ha(){try{let e=localStorage.getItem(K.id);if(e!=null&&e!==""){if(e[0]!=="{")if(e[0]==="e")e=decodeURIComponent(escape(atob(e)));else if(e[0]==="\u1BE1")e=gt.decompressFromUTF16(e);else{console.warn("Unable to determine settings encoding",e);return}const t=JSON.parse(e);typeof t=="object"&&Object.assign(sn,t)}oe.emit("loadSettings",sn)}catch{}}const Ii=rn([]);function ga(e){Ii.push(e)}const Ai=rn([]);function va(e){Ai.push(e)}const ya=rn([]),ba={class:"table"},vn=L({__name:"Column",setup(e){const t=I(()=>on[re.theme].mergeAdjacent);return(n,i)=>(b(),M("div",ba,[m("div",{class:ye(["col",{mergeAdjacent:r(t)}])},[nt(n.$slots,"default")],2)]))}}),_a={class:"table"},Pi=L({__name:"Row",setup(e){const t=I(()=>on[re.theme].mergeAdjacent);return(n,i)=>(b(),M("div",_a,[m("div",{class:ye(["row",{mergeAdjacent:r(t)}])},[nt(n.$slots,"default")],2)]))}});function $i(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!ts(e)}function X(e,t="span"){return typeof e=="function"?L({render:e}):typeof e=="string"?e.length>0?(e=e.trim(),e.charAt(0)!=="<"&&(e=`<${t}>${e}`),L({template:e})):L({render:()=>({})}):e}function me(e){if(wt(e))return typeof e=="function"?e():X(e);const t=e[bt];return o(t,e[_t](),null)}function Ge(...e){let t;return o(Pi,null,$i(t=e.map(me))?t:{default:()=>[t]})}function Gn(...e){let t;return o(vn,null,$i(t=e.map(me))?t:{default:()=>[t]})}function it(e){if(wt(e))return typeof e=="function"?e():typeof e=="string"?o(D,null,[e]):o(e,null,null);const t=e[bt];return o(t,e[_t](),null)}function wt(e){return typeof e=="string"?!0:typeof e=="object"?e==null?!1:"render"in e||"component"in e:typeof e=="function"&&e[nn]===!0}function Ei(e,t,n){const i=x(null),s=x(void 0);function l(f){i.value||(i.value=setInterval(c,250)),s.value=f,n&&(n.value=!0)}function u(){i.value&&(clearInterval(i.value),i.value=null),n&&(n.value=!1)}function c(){t&&t.value?t.value():e&&e.value&&e.value(s.value)}return di(u),{start:l,stop:u,handleHolding:c}}function Ti(e,t="div"){const n=ze();return xe(()=>{n.value=X(_e(e),t)}),n}function Et(e,t="div"){const n=ze(null);return xe(()=>{const i=_e(e);n.value=i==null?null:X(i,t)}),n}function wa(e){return I(()=>_e(e))}function _e(e){return r(r(e))}function E(...e){return e.includes(Object)||e.push(Object),e}const Pe=L({__name:"Spacer",props:{width:{default:"8px"},height:{default:"17px"}},setup(e){return(t,n)=>(b(),M("div",{style:be({width:e.width,height:e.height})},null,4))}});var Y=(e,t)=>{const n=e.__vccOpts||e;for(const[i,s]of t)n[i]=s;return n};const ka=L({__name:"Context",emits:["updateNodes"],setup(e,{emit:t}){var _;const n=x({}),i=new ResizeObserver(c),s=x(null);Cn(()=>{const y=s.value;y!=null&&i.observe(y)});let l=!0,u=x((_=s.value)==null?void 0:_.getBoundingClientRect());function c(){l&&(l=!1,Pt(()=>{var y;u.value=(y=s.value)==null?void 0:y.getBoundingClientRect(),Object.values(n.value).filter(v=>v).forEach(v=>v.rect=v.element.getBoundingClientRect()),t("updateNodes",n.value),l=!0}))}oe.on("fontsLoaded",c);const f={attributes:!1,childList:!0,subtree:!1};pn(Hn,(y,v)=>{const p=new MutationObserver(()=>d(y));p.observe(v,f),n.value[y]={element:v,observer:p,rect:v.getBoundingClientRect()},c()}),pn(Un,y=>{var v;(v=n.value[y])==null||v.observer.disconnect(),n.value[y]=void 0,c()}),pn(jn,n),pn(zn,u);function d(y){const v=n.value[y];v!=null&&(v.rect=v.element.getBoundingClientRect(),t("updateNodes",n.value))}return(y,v)=>(b(),M(D,null,[nt(y.$slots,"default",{},void 0,!0),m("div",{ref_key:"resizeListener",ref:s,class:"resize-listener"},null,512)],64))}});var xi=Y(ka,[["__scopeId","data-v-2b1dc1bc"]]);const Na=["onPointerdown"],Ca={class:"modal-wrapper"},Sa={class:"modal-container"},Ma={class:"modal-header"},Ia=g(" default header "),Aa={class:"modal-body"},Pa=g(" default body "),$a={class:"modal-footer"},Ea=m("div",{class:"modal-default-flex-grow"},null,-1),Xe=L({__name:"Modal",props:{modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{expose:t,emit:n}){const s=Se(e),l=I(()=>s.modelValue||c.value);function u(){n("update:modelValue",!1)}const c=x(!1),f=x(null),d=I(()=>{var _,y;return(y=(_=f.value)==null?void 0:_.nodes)!=null?y:null});return t({isOpen:l,nodes:d}),(_,y)=>(b(),U(is,{to:"#modal-root"},[o(Sn,{name:"modal",onBeforeEnter:y[0]||(y[0]=v=>c.value=!0),onAfterLeave:y[1]||(y[1]=v=>c.value=!1)},{default:q(()=>[Vn(m("div",$t({class:"modal-mask",onPointerdown:tn(u,["self"])},_.$attrs),[m("div",Ca,[m("div",Sa,[m("div",Ma,[nt(_.$slots,"header",{shown:r(l)},()=>[Ia])]),m("div",Aa,[o(xi,{ref_key:"contextRef",ref:f},{default:q(()=>[nt(_.$slots,"body",{shown:r(l)},()=>[Pa])]),_:3},512)]),m("div",$a,[nt(_.$slots,"footer",{shown:r(l)},()=>[m("div",{class:"modal-default-footer"},[Ea,m("button",{class:"button modal-default-button",onClick:u}," Close ")])])])])])],16,Na),[[ns,e.modelValue]])]),_:3})]))}}),an=Symbol("PersistentState"),ln=Symbol("DefaultValue"),kn=Symbol("StackTrace"),Bi=Symbol("Deleted");function Ta(){var e;return((e=new Error().stack)==null?void 0:e.split(` -`).slice(3,5).map(t=>t.trim()).join(` -`))||""}function Fe(e){const t=Ne(e)?e:x(e);return t[an]=t,t[ln]=Ne(e)?e.value:e,t[kn]=Ta(),t[Bi]=!1,Ke.length===0?console.warn("Creating a persistent ref outside of a layer. This is not officially supported",t,` -Created at: -`+t[kn]):qt[Ke[Ke.length-1]].add(t),t}oe.on("addLayer",(e,t)=>{const n=[],i=(s,l=[])=>{let u=!1;return Object.keys(s).forEach(c=>{const f=s[c];if(f&&typeof f=="object")if(an in f){if(u=!0,f[Bi]){console.warn("Deleted persistent ref present in returned object. Ignoring...",f,` -Created at: -`+f[kn]);return}qt[e.id].delete(de in f?f[de]:f);const d=l.reduce((y,v)=>(v in y||(y[v]={}),y[v]),t),_=d[c];d[c]=f[an],ss(d)?_!=null?d[c]=_:d[c]=f[ln]:_!=null?d[c].value=_:d[c].value=f[ln]}else!(f instanceof a)&&!Ne(f)&&!n.includes(f)&&(typeof f.type=="symbol"&&n.push(f),i(f,[...l,c])&&(ii(f)&&!ii(s)?console.warn("Found array that contains persistent values when adding layer. Keep in mind changing the order of elements in the array will mess with existing player saves.",de in s?s[de]:s,c):u=!0))}),u};i(e),qt[e.id].forEach(s=>{console.error(`Created persistent ref in ${e.id} without registering it to the layer! Make sure to include everything persistent in the returned object`,s,` -Created at: -`+s[kn])}),qt[e.id].clear()});const Hn=Symbol("RegisterNode"),Un=Symbol("UnregisterNode"),jn=Symbol("Nodes"),zn=Symbol("Bounds"),$e=Nn({});window.layers=$e;const qt={},Ke=[];function Tt(e,t){return Le(()=>{const n={},i=n.emitter=mi();if(n.on=i.on.bind(i),n.emit=i.emit.bind(i),n.nodes=x({}),n.id=e,Ke.push(e),qt[e]=new Set,n.minimized=Fe(!1),Object.assign(n,t.call(n)),Ke[Ke.length-1]==null||Ke[Ke.length-1]!==e)throw`Adding layers stack in invalid state. This should not happen -Stack: ${Ke} -Trying to pop ${n.id}`;return Ke.pop(),$(n,"color"),$(n,"display"),$(n,"name"),Ce(n,"name",n.id),$(n,"minWidth"),Ce(n,"minWidth",600),$(n,"minimizable"),Ce(n,"minimizable",!0),n})}function Fi(e,t){if(console.info("Adding layer",e.id),$e[e.id]){console.error("Attempted to add layer with same ID as existing layer",e.id,$e[e.id]);return}Ce(t,"layers",{}),t.layers[e.id]==null&&(t.layers[e.id]={}),$e[e.id]=e,oe.emit("addLayer",e,t.layers[e.id])}function xa(e){return $e[e]}function Di(e){console.info("Removing layer",e.id),oe.emit("removeLayer",e),$e[e.id]=void 0}function Ba(e){Di(e),Fi(e,A)}function Fa(e){const t=x(!1);return{openModal:()=>t.value=!0,modal:B(()=>o(Xe,{modelValue:t.value,"onUpdate:modelValue":n=>t.value=n},{header:()=>o("h2",null,[r(e.name)]),body:r(e.display)}))}}oe.on("update",function(t){Object.values($e).forEach(n=>{n==null||n.emit("preUpdate",t)}),Object.values($e).forEach(n=>{n==null||n.emit("update",t)}),Object.values($e).forEach(n=>{n==null||n.emit("postUpdate",t)})});var Da=Object.freeze(Object.defineProperty({__proto__:null,RegisterNodeInjectionKey:Hn,UnregisterNodeInjectionKey:Un,NodesInjectionKey:jn,BoundsInjectionKey:zn,layers:$e,persistentRefs:qt,addingLayers:Ke,createLayer:Tt,addLayer:Fi,getLayer:xa,removeLayer:Di,reloadLayer:Ba,setupLayerModal:Fa},Symbol.toStringTag,{value:"Module"}));const Oa={},Ra={class:"notif"};function qa(e,t){return b(),M("div",Ra,"!")}var ui=Y(Oa,[["render",qa],["__scopeId","data-v-66323fd4"]]);const In=e=>(rt("data-v-949cc93c"),e=e(),ot(),e),Va={key:0,class:"day feature dontMerge opened"},La={class:"date"},Ga=g("Dec"),Ha=In(()=>m("br",null,null,-1)),Ua={class:"date"},ja=g("Dec"),za=In(()=>m("br",null,null,-1)),Wa=In(()=>m("div",{class:"doors"},null,-1)),Qa={class:"date"},Ka=g("Dec"),Ja=In(()=>m("br",null,null,-1)),Xa={key:0,class:"material-icons lock"},Za=L({__name:"Day",props:{day:null,symbol:null,opened:null,shouldNotify:null},emits:["openLore","openLayer","unlockLayer"],setup(e,{emit:t}){const n=e,i=I(()=>a.gte(G.day.value,n.day)&&new Date().getMonth()===11&&new Date().getDate()>=n.day);function s(){i.value&&t("unlockLayer")}return(l,u)=>e.opened.value?(b(),M("div",Va,[o(Sn,{appear:"",name:"door"},{default:q(()=>[m("div",{class:"doors",onClick:u[0]||(u[0]=c=>t("openLayer"))},[m("div",La,[Ga,Ha,g(z(e.day),1)]),m("div",Ua,[ja,za,g(z(e.day),1)])])]),_:1}),m("div",{class:"icon",style:be({backgroundImage:`url(${e.symbol})`})},null,4),m("div",{class:"lore",onClick:u[1]||(u[1]=c=>t("openLore"))},"?"),r(e.shouldNotify)?(b(),U(ui,{key:0})):P("",!0)])):(b(),M("div",{key:1,class:ye(["day feature dontMerge",{can:r(i),locked:!r(i),canOpen:r(i)}]),onClick:s},[Wa,m("div",Qa,[Ka,Ja,g(z(e.day),1)]),r(i)?P("",!0):(b(),M("div",Xa,"lock")),r(i)?(b(),U(ui,{key:1})):P("",!0)],2))}});var Ya=Y(Za,[["__scopeId","data-v-949cc93c"]]);const el={key:0},tl={key:0,class:"mark star"},nl=["src"],il=L({__name:"MarkNode",props:{mark:{type:[Boolean,String]}},setup(e){return(t,n)=>e.mark?(b(),M("div",el,[e.mark===!0?(b(),M("div",tl)):(b(),M("img",{key:1,class:"mark",src:e.mark},null,8,nl))])):P("",!0)}});var An=Y(il,[["__scopeId","data-v-2207999f"]]);const sl=L({__name:"Node",props:{id:null},setup(e){const n=Se(e),i=yn(Hn,()=>{}),s=yn(Un,()=>{}),l=ze(null),u=I(()=>l.value&&l.value.parentElement);return Je([u,n.id],([c,f],[d,_])=>{d&&s(r(_)),c&&i(f,c)}),di(()=>s(r(n.id))),(c,f)=>(b(),M("div",{class:"node",ref_key:"node",ref:l},null,512))}});var un=Y(sl,[["__scopeId","data-v-a48cb382"]]),al=L({props:{display:{type:E(Object,String,Function),required:!0},visibility:{type:E(Number),required:!0},style:E(Object,String,Array),classes:E(Object),onClick:Function,onHold:Function,canClick:{type:E(Boolean),required:!0},small:Boolean,mark:E(Boolean,String),id:{type:String,required:!0},isHolding:Object},components:{Node:un,MarkNode:An},setup(e){const{display:t,onClick:n,onHold:i}=Se(e),s=ze("");xe(()=>{const c=_e(t);if(c==null){s.value="";return}if(wt(c)){s.value=X(c);return}const f=X(c.title||"","h3"),d=X(c.description,"div");s.value=X(B(()=>o("span",null,[c.title?o("div",null,[o(f,null,null)]):null,o(d,null,null)])))});const{start:l,stop:u}=Ei(n,i,e.isHolding);return{start:l,stop:u,comp:s,Visibility:ke,unref:r}}});function ll(e,t,n,i,s,l){var f;const u=yt("MarkNode"),c=yt("Node");return e.unref(e.visibility)!==e.Visibility.None?(b(),M("button",{key:0,style:be([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(f=e.unref(e.style))!=null?f:[]]),onClick:t[0]||(t[0]=(...d)=>e.onClick&&e.onClick(...d)),onMousedown:t[1]||(t[1]=(...d)=>e.start&&e.start(...d)),onMouseleave:t[2]||(t[2]=(...d)=>e.stop&&e.stop(...d)),onMouseup:t[3]||(t[3]=(...d)=>e.stop&&e.stop(...d)),onTouchstartPassive:t[4]||(t[4]=(...d)=>e.start&&e.start(...d)),onTouchendPassive:t[5]||(t[5]=(...d)=>e.stop&&e.stop(...d)),onTouchcancelPassive:t[6]||(t[6]=(...d)=>e.stop&&e.stop(...d)),class:ye({feature:!0,clickable:!0,can:e.unref(e.canClick),locked:!e.unref(e.canClick),small:e.small,...e.unref(e.classes)})},[e.unref(e.comp)?(b(),U(Me(e.unref(e.comp)),{key:0})):P("",!0),o(u,{mark:e.unref(e.mark)},null,8,["mark"]),o(c,{id:e.id},null,8,["id"])],38)):P("",!0)}var Oi=Y(al,[["render",ll],["__scopeId","data-v-8cedd7da"]]);const rl=Symbol("Clickable");function Ae(e){return Le(()=>{var n;const t=(n=e==null?void 0:e())!=null?n:{};if(t.id=Gt("clickable-"),t.type=rl,t[bt]=Oi,t.isHolding=x(!1),$(t,"visibility"),Ce(t,"visibility",ke.Visible),$(t,"canClick"),Ce(t,"canClick",!0),$(t,"classes"),$(t,"style"),$(t,"mark"),$(t,"display"),t.onClick){const i=t.onClick.bind(t);t.onClick=function(s){r(t.canClick)&&i(s)}}if(t.onHold){const i=t.onHold.bind(t);t.onHold=function(){r(t.canClick)&&i()}}return t[_t]=function(){const{display:i,visibility:s,style:l,classes:u,onClick:c,onHold:f,isHolding:d,canClick:_,small:y,mark:v,id:p}=this;return{display:i,visibility:s,style:r(l),classes:u,onClick:c,onHold:f,isHolding:d,canClick:_,small:y,mark:v,id:p}},t})}function at(e,t="points",n=0,i=void 0){const s=Ne(e)?e:Fe(e);return s.displayName=t,s.precision=n,s.small=i,s}function Wn(e){const t=Fe(e.value);return Je(e,(n,i)=>{a.gt(n,i)&&(t.value=a.add(t.value,a.sub(n,i)))}),t}new a("10^^8");new a("1e100");function Pn(e,t){const n=t!=null?t:e.value;return a.eq(e.precision,0)?R(e.small?n:a.floor(n)):ee(n,e.precision,e.small)}const ol=["x1","y1","x2","y2"],ul=L({__name:"Link",props:{link:null,startNode:null,endNode:null,boundingRect:null},setup(e){const n=Se(e),i=I(()=>{const l=n.startNode.value.rect,u=n.boundingRect.value,c=u?{x:l.x+l.width/2-u.x,y:l.y+l.height/2-u.y}:{x:0,y:0};return n.link.value.offsetStart&&(c.x+=n.link.value.offsetStart.x,c.y+=n.link.value.offsetStart.y),c}),s=I(()=>{const l=n.endNode.value.rect,u=n.boundingRect.value,c=u?{x:l.x+l.width/2-u.x,y:l.y+l.height/2-u.y}:{x:0,y:0};return n.link.value.offsetEnd&&(c.x+=n.link.value.offsetEnd.x,c.y+=n.link.value.offsetEnd.y),c});return(l,u)=>(b(),M("line",$t({"stroke-width":"15px",stroke:"white"},e.link,{x1:r(i).x,y1:r(i).y,x2:r(s).x,y2:r(s).y}),null,16,ol))}});const cl=L({__name:"Links",props:{links:null},setup(e){var f;const n=lt(e,"links"),i=x(null),s=yn(jn,x({})),l=yn(zn,x(void 0)),u=x((f=i.value)==null?void 0:f.getBoundingClientRect());Je(l,()=>{var d;return u.value=(d=i.value)==null?void 0:d.getBoundingClientRect()}),Cn(()=>{var d;return u.value=(d=i.value)==null?void 0:d.getBoundingClientRect()});const c=I(()=>{var _,y;const d=s.value;return(y=(_=n.value)==null?void 0:_.filter(v=>{var p,w;return((p=d[v.startNode.id])==null?void 0:p.rect)&&((w=d[v.startNode.id])==null?void 0:w.rect)}))!=null?y:[]});return(d,_)=>(b(),M(D,null,[r(c)?(b(),M("svg",as($t({key:0},d.$attrs)),[(b(!0),M(D,null,fi(r(c),(y,v)=>(b(),U(ul,{key:v,link:y,boundingRect:u.value,startNode:r(s)[y.startNode.id],endNode:r(s)[y.endNode.id]},null,8,["link","boundingRect","startNode","endNode"]))),128))],16)):P("",!0),m("div",{ref_key:"resizeListener",ref:i,class:"resize-listener"},null,512)],64))}});var dl=Y(cl,[["__scopeId","data-v-063f6d6b"]]);L({props:{nodes:{type:E(Array),required:!0},leftSideNodes:E(Array),rightSideNodes:E(Array),branches:E(Array)},components:{Links:dl},setup(e){const{nodes:t,leftSideNodes:n,rightSideNodes:i}=Se(e),s=ze();xe(()=>{const c=_e(t);s.value=X(B(()=>o(D,null,[c.map(f=>o("span",{class:"row tree-row",style:"margin: 50px auto;"},[f.map(it)]))])))});const l=ze();xe(()=>{const c=_e(n);l.value=c?X(B(()=>o("span",{class:"left-side-nodes small"},[c.map(it)]))):""});const u=ze();return xe(()=>{const c=_e(i);u.value=c?X(B(()=>o("span",{class:"side-nodes small"},[c.map(it)]))):""}),{unref:r,nodesComp:s,leftNodesComp:l,rightNodesComp:u}}});L({props:{display:E(Object,String,Function),visibility:{type:E(Number),required:!0},style:E(String,Object,Array),classes:E(Object),onClick:Function,onHold:Function,color:E(String),glowColor:E(String),canClick:{type:E(Boolean),required:!0},mark:E(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:An,Node:un},setup(e){const{onClick:t,onHold:n,display:i}=Se(e),s=Et(i),{start:l,stop:u}=Ei(t,n);return{start:l,stop:u,comp:s,unref:r,Visibility:ke,isCoercableComponent:wt}}});function Qn(e){const t=[],n={};let i=!1;function s(){return i||(t.push(...e()),n.base=t.map(c=>Be(c.base)),n.baseText=t.map(c=>Be(c.baseText)),n.visible=t.map(c=>Be(c.visible)),i=!0),t}const l=Fe({});return[B(()=>{const c=s();let f=!0;const d=c.map((_,y)=>{var S,H,ae;if(r(n.visible[y])===!1)return null;const v=o("h3",{onClick:()=>l.value[y]=!l.value[y],style:"cursor: pointer"},[o("span",{class:"modifier-toggle"+(r(l.value[y])?" collapsed":"")},[g("\u25BC")]),_.title,_.subtitle?o("span",{class:"subtitle"},[g(" ("),_.subtitle,g(")")]):null]),p=r(l.value[y])?null:o(D,null,[o("div",{class:"modifier-container"},[o("span",{class:"modifier-amount"},[ee((S=r(n.base[y]))!=null?S:1),_.unit]),o("span",{class:"modifier-description"},[it((H=r(n.baseText[y]))!=null?H:"Base")])]),it(r(_.modifier.description))]),w=!f;return f=!1,o(D,null,[w?o("br",null,null):null,o("div",null,[v,o("br",null,null),p,o("hr",null,null),g("Total: "),ee(_.modifier.apply((ae=r(n.base[y]))!=null?ae:1)),_.unit])])});return o(D,null,[d])}),l]}const fl=L({props:{progress:{type:E(String,Object,Number),required:!0},width:{type:E(Number),required:!0},height:{type:E(Number),required:!0},direction:{type:E(String),required:!0},display:E(Object,String,Function),visibility:{type:E(Number),required:!0},style:E(Object,String,Array),classes:E(Object),borderStyle:E(Object,String,Array),textStyle:E(Object,String,Array),baseStyle:E(Object,String,Array),fillStyle:E(Object,String,Array),mark:E(Boolean,String),id:{type:String,required:!0}},components:{MarkNode:An,Node:un},setup(e){const{progress:t,width:n,height:i,direction:s,display:l}=Se(e),u=I(()=>{let d=t.value instanceof a?t.value.toNumber():Number(t.value);return(1-Math.min(Math.max(d,0),1))*100}),c=I(()=>{const d={width:_e(n)+.5+"px",height:_e(i)+.5+"px"};switch(r(s)){case J.Up:d.clipPath=`inset(${u.value}% 0% 0% 0%)`,d.width=_e(n)+1+"px";break;case J.Down:d.clipPath=`inset(0% 0% ${u.value}% 0%)`,d.width=_e(n)+1+"px";break;case J.Right:d.clipPath=`inset(0% ${u.value}% 0% 0%)`;break;case J.Left:d.clipPath=`inset(0% 0% 0% ${u.value} + '%)`;break;case J.Default:d.clipPath="inset(0% 50% 0% 0%)";break}return d}),f=Et(l);return{normalizedProgress:u,barStyle:c,component:f,unref:r,Visibility:ke}}});function ml(e,t,n,i,s,l){var f,d,_,y,v,p,w;const u=yt("MarkNode"),c=yt("Node");return e.unref(e.visibility)!==e.Visibility.None?(b(),M("div",{key:0,style:be([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px",visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(f=e.unref(e.style))!=null?f:{}]),class:ye({bar:!0,...e.unref(e.classes)})},[m("div",{class:"overlayTextContainer border",style:be([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px"},(d=e.unref(e.borderStyle))!=null?d:{}])},[e.component?(b(),M("span",{key:0,class:"overlayText",style:be(e.unref(e.textStyle))},[(b(),U(Me(e.component)))],4)):P("",!0)],4),m("div",{class:"border",style:be([{width:e.unref(e.width)+"px",height:e.unref(e.height)+"px"},(_=e.unref(e.style))!=null?_:{},(y=e.unref(e.baseStyle))!=null?y:{},(v=e.unref(e.borderStyle))!=null?v:{}])},[m("div",{class:"fill",style:be([e.barStyle,(p=e.unref(e.style))!=null?p:{},(w=e.unref(e.fillStyle))!=null?w:{}])},null,4)],4),o(u,{mark:e.unref(e.mark)},null,8,["mark"]),o(c,{id:e.id},null,8,["id"])],6)):P("",!0)}var pl=Y(fl,[["render",ml],["__scopeId","data-v-02d0d7b2"]]);const hl=Symbol("Bar");function At(e){return Le(()=>{const t=e();return t.id=Gt("bar-"),t.type=hl,t[bt]=pl,$(t,"visibility"),Ce(t,"visibility",ke.Visible),$(t,"width"),$(t,"height"),$(t,"direction"),$(t,"style"),$(t,"classes"),$(t,"borderStyle"),$(t,"baseStyle"),$(t,"textStyle"),$(t,"fillStyle"),$(t,"progress"),$(t,"display"),$(t,"mark"),t[_t]=function(){const{progress:n,width:i,height:s,direction:l,display:u,visibility:c,style:f,classes:d,borderStyle:_,textStyle:y,baseStyle:v,fillStyle:p,mark:w,id:S}=this;return{progress:n,width:i,height:s,direction:l,display:u,visibility:c,style:r(f),classes:d,borderStyle:_,textStyle:y,baseStyle:v,fillStyle:p,mark:w,id:S}},t})}const gl=Symbol("Buyable");function tt(e){const t=Fe(0);return Le(()=>{var l,u,c;const n=e();if(n.canPurchase==null&&(n.resource==null||n.cost==null))throw console.warn("Cannot create buyable without a canPurchase property or a resource and cost property",n),"Cannot create buyable without a canPurchase property or a resource and cost property";n.id=Gt("buyable-"),n.type=gl,n[bt]=Oi,n.amount=t,n.amount[ln]=(l=n.initialValue)!=null?l:0,n.canAfford=I(()=>{const f=n,d=r(f.cost);return f.resource!=null&&d!=null&&a.gte(f.resource.value,d)}),n.canPurchase==null&&(n.canPurchase=I(()=>r(n.visibility)===ke.Visible&&r(n.canAfford)&&a.lt(n.amount.value,r(n.purchaseLimit)))),n.maxed=I(()=>a.gte(n.amount.value,r(n.purchaseLimit))),$(n,"classes");const i=n.classes;n.classes=I(()=>{const f=r(i)||{};return n.maxed.value&&(f.bought=!0),f}),$(n,"canPurchase"),n.canClick=n.canPurchase,n.onClick=n.purchase=(c=(u=n.onClick)!=null?u:n.purchase)!=null?c:function(){var _;const f=n;if(!r(f.canPurchase))return;const d=r(f.cost);f.cost!=null&&f.resource!=null&&(f.resource.value=a.sub(f.resource.value,d),f.amount.value=a.add(f.amount.value,1)),(_=f.onPurchase)==null||_.call(f,d)},$(n,"display");const s=n.display;return n.display=B(()=>{const f=r(s);if(wt(f)){const d=X(f);return o(d,null,null)}if(f!=null&&n.cost!=null&&n.resource!=null){const d=n,_=X(f.title||"","h3"),y=X(f.description||""),v=X(f.effectDisplay||"");return o("span",null,[f.title?o("div",null,[o(_,null,null)]):null,f.description?o(y,null,null):null,f.showAmount===!1?null:o("div",null,[o("br",null,null),r(d.purchaseLimit)===a.dInf?o(D,null,[g("Amount: "),R(d.amount.value)]):o(D,null,[g("Amount: "),R(d.amount.value),g(" /")," ",R(r(d.purchaseLimit))])]),f.effectDisplay?o("div",null,[o("br",null,null),g("Currently: "),o(v,null,null)]):null,d.cost&&!d.maxed.value?o("div",null,[o("br",null,null),g("Cost: "),ee(r(d.cost)||0)," ",n.resource.displayName]):null])}return""}),$(n,"visibility"),Ce(n,"visibility",ke.Visible),$(n,"cost"),$(n,"resource"),$(n,"purchaseLimit"),Ce(n,"purchaseLimit",a.dInf),$(n,"style"),$(n,"mark"),$(n,"small"),n[_t]=function(){const{display:f,visibility:d,style:_,classes:y,onClick:v,canClick:p,small:w,mark:S,id:H}=this;return{display:f,visibility:d,style:r(_),classes:y,onClick:v,canClick:p,small:w,mark:S,id:H}},n})}const $n=Nn({}),Kn=Symbol("Hotkey");function qn(e){return Le(()=>{const t=e();return t.type=Kn,$(t,"enabled"),Ce(t,"enabled",!0),$(t,"description"),t})}oe.on("addLayer",e=>{ki(e,Kn).forEach(t=>{$n[t.key]=t})});oe.on("removeLayer",e=>{ki(e,Kn).forEach(t=>{$n[t.key]=void 0})});document.onkeydown=function(e){var i;if(((i=e.target)==null?void 0:i.tagName)==="INPUT"||Xn.value&&!A.keepGoing)return;let t=e.key;e.shiftKey&&(t="shift+"+t),e.ctrlKey&&(t="ctrl+"+t);const n=$n[t];n&&r(n.enabled)&&(e.preventDefault(),n.onPress())};va(B(()=>{const e=Object.values($n).filter(t=>r(t==null?void 0:t.enabled));return e.length===0?"":o("div",null,[o("br",null,null),o("h4",null,[g("Hotkeys")]),e.map(t=>o("div",null,[t==null?void 0:t.key,g(": "),t==null?void 0:t.description]))])}));const vl=L({__name:"Sticky",setup(e){const t=x("0"),n=new ResizeObserver(s),i=ze(null);function s(){let l=i.value;if(l==null)return;let u=0;for(;l.previousSibling;){const c=l.previousSibling;c.dataset&&"vSticky"in c.dataset&&(u+=c.offsetHeight),l=c}t.value=u+"px"}return Pt(s),document.fonts.ready.then(s),Cn(()=>{var u;const l=(u=i.value)==null?void 0:u.parentElement;l&&n.observe(l)}),(l,u)=>(b(),M("div",{class:"sticky",style:be({top:t.value}),ref_key:"element",ref:i,"data-v-sticky":""},[nt(l.$slots,"default",{},void 0,!0)],4))}});var yl=Y(vl,[["__scopeId","data-v-cccac690"]]);const bl=L({__name:"Resource",props:{resource:null,color:null},setup(e){const t=e,n=I(()=>Pn(t.resource));return(i,s)=>(b(),M("h2",{style:be({color:e.color,"text-shadow":"0px 0px 10px "+e.color})},z(r(n)),5))}});const _l={class:"main-display"},wl={key:0},kl={key:1},Nl=g(", "),Vt=L({__name:"MainDisplay",props:{resource:null,color:null,classes:null,style:null,effectDisplay:null},setup(e){const n=Se(e),i=x(null),s=Et(n.effectDisplay),l=I(()=>a.lt(n.resource.value,"1e1000"));return(u,c)=>(b(),U(yl,null,{default:q(()=>{var f,d,_,y;return[m("div",{class:ye(["main-display-container",(f=e.classes)!=null?f:{}]),style:be([{height:`${((_=(d=i.value)==null?void 0:d.$el.clientHeight)!=null?_:0)+50}px`},(y=e.style)!=null?y:{}])},[m("div",_l,[r(l)?(b(),M("span",wl,"You have ")):P("",!0),o(bl,{resource:e.resource,color:e.color||"white"},null,8,["resource","color"]),g(" "+z(e.resource.displayName),1),r(s)?(b(),M("span",kl,[Nl,(b(),U(Me(r(s)),{ref_key:"effectRef",ref:i},null,512))])):P("",!0)])],6)]}),_:1}))}});var Cl=L({props:{display:{type:E(String,Object,Function),required:!0},visibility:{type:E(Number),required:!0},style:E(String,Object,Array),classes:E(Object),resource:Object,cost:E(String,Object,Number),canPurchase:{type:E(Boolean),required:!0},bought:{type:E(Boolean),required:!0},mark:E(Boolean,String),id:{type:String,required:!0},purchase:{type:Function,required:!0}},components:{Node:un,MarkNode:An},setup(e){const{display:t,cost:n}=Se(e),i=ze("");return xe(()=>{const s=_e(t);if(s==null){i.value="";return}if(wt(s)){i.value=X(s);return}const l=_e(n),u=X(s.title||"","h3"),c=X(s.description,"div"),f=X(s.effectDisplay||"");i.value=X(B(()=>{var d;return o("span",null,[s.title?o("div",null,[o(u,null,null)]):null,o(c,null,null),s.effectDisplay?o("div",null,[g("Currently: "),o(f,null,null)]):null,e.resource!=null&&s.showCost!==!1?o(D,null,[o("br",null,null),g("Cost: "),e.resource&&Pn(e.resource,l)," ",(d=e.resource)==null?void 0:d.displayName]):null])}))}),{component:i,unref:r,Visibility:ke}}});const Sl=["disabled"];function Ml(e,t,n,i,s,l){var f;const u=yt("MarkNode"),c=yt("Node");return e.unref(e.visibility)!==e.Visibility.None?(b(),M("button",{key:0,style:be([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(f=e.unref(e.style))!=null?f:{}]),onClick:t[0]||(t[0]=(...d)=>e.purchase&&e.purchase(...d)),class:ye({feature:!0,upgrade:!0,can:e.unref(e.canPurchase),locked:!e.unref(e.canPurchase),bought:e.unref(e.bought),...e.unref(e.classes)}),disabled:!e.unref(e.canPurchase)},[e.unref(e.component)?(b(),U(Me(e.unref(e.component)),{key:0})):P("",!0),o(u,{mark:e.unref(e.mark)},null,8,["mark"]),o(c,{id:e.id},null,8,["id"])],14,Sl)):P("",!0)}var Il=Y(Cl,[["render",Ml],["__scopeId","data-v-7f411ac8"]]);const Al=Symbol("Upgrade");function ge(e){const t=Fe(!1);return Le(()=>{const n=e();return n.id=Gt("upgrade-"),n.type=Al,n[bt]=Il,n.canAfford==null&&(n.resource==null||n.cost==null)&&console.warn("Error: can't create upgrade without a canAfford property or a resource and cost property",n),n.bought=t,n.canAfford==null?n.canAfford=I(()=>{const i=n;return i.resource!=null&&i.cost!=null&&a.gte(i.resource.value,r(i.cost))}):$(n,"canAfford"),n.canPurchase=I(()=>r(n.visibility)===ke.Visible&&r(n.canAfford)&&!r(n.bought)),n.purchase=function(){var s;const i=n;!r(i.canPurchase)||(i.resource!=null&&i.cost!=null&&(i.resource.value=a.sub(i.resource.value,r(i.cost))),t.value=!0,(s=i.onPurchase)==null||s.call(i))},$(n,"visibility"),Ce(n,"visibility",ke.Visible),$(n,"classes"),$(n,"style"),$(n,"display"),$(n,"mark"),$(n,"cost"),$(n,"resource"),n[_t]=function(){const{display:i,visibility:s,style:l,classes:u,resource:c,cost:f,canPurchase:d,bought:_,mark:y,id:v,purchase:p}=this;return{display:i,visibility:s,style:r(l),classes:u,resource:c,cost:f,canPurchase:d,bought:_,mark:y,id:v,purchase:p}},n})}function se(e){return Le(()=>{const{addend:t,description:n,enabled:i}=e(),s=Be(t),l=Be(n),u=i==null?void 0:Be(i);return{apply:c=>a.add(c,r(s)),revert:c=>a.sub(c,r(s)),enabled:u,description:n==null?void 0:B(()=>o("div",{class:"modifier-container"},[o("span",{class:"modifier-amount"},[a.gte(r(s),0)?"+":"",ee(r(s))]),r(l)?o("span",{class:"modifier-description"},[it(r(l))]):null]))}})}function W(e){return Le(()=>{const{multiplier:t,description:n,enabled:i}=e(),s=Be(t),l=Be(n),u=i==null?void 0:Be(i);return{apply:c=>a.times(c,r(s)),revert:c=>a.div(c,r(s)),enabled:u,description:n==null?void 0:B(()=>o("div",{class:"modifier-container"},[o("span",{class:"modifier-amount"},[g("x"),ee(r(s))]),r(l)?o("span",{class:"modifier-description"},[it(r(l))]):null]))}})}function Ri(e){return Le(()=>{const{exponent:t,description:n,enabled:i,supportLowNumbers:s}=e(),l=Be(t),u=Be(n),c=i==null?void 0:Be(i);return{apply:f=>{let d=f;return s&&(d=a.add(d,1)),d=a.pow(d,r(l)),s&&(d=a.sub(d,1)),d},revert:f=>{let d=f;return s&&(d=a.add(d,1)),d=a.root(d,r(l)),s&&(d=a.sub(d,1)),d},enabled:c,description:n==null?void 0:B(()=>o("div",{class:"modifier-container"},[o("span",{class:"modifier-amount"},[g("^"),ee(r(l))]),r(u)?o("span",{class:"modifier-description"},[it(r(u)),s?" (+1 effective)":null]):null]))}})}function fe(e){return Le(()=>{const t=e();return{apply:n=>t.filter(i=>r(i.enabled)!==!1).reduce((i,s)=>s.apply(i),n),revert:t.every(n=>n.revert!=null)?n=>t.filter(i=>r(i.enabled)!==!1).reduceRight((i,s)=>s.revert(i),n):void 0,enabled:I(()=>t.filter(n=>r(n.enabled)!==!1).length>0),description:B(()=>o(D,null,[t.filter(n=>r(n.enabled)!==!1).map(n=>r(n.description)).filter(n=>n).map(it)]))}})}const Pl={class:"field"},$l={key:0,class:"field-title"},Jn=L({__name:"Select",props:{title:null,modelValue:null,options:null,placeholder:null,closeOnSelect:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){var u;const n=e,i=Et(lt(n,"title"),"span"),s=x((u=n.options.find(c=>c.value===n.modelValue))!=null?u:null);Je(lt(n,"modelValue"),c=>{var f;_e(s)!==c&&(s.value=(f=n.options.find(d=>d.value===c))!=null?f:null)});function l(c){t("update:modelValue",c.value)}return(c,f)=>(b(),M("div",Pl,[r(i)?(b(),M("span",$l,[(b(),U(Me(r(i))))])):P("",!0),o(r(cs),{options:e.options,modelValue:s.value,"onUpdate:modelValue":[f[0]||(f[0]=d=>s.value=d),l],min:1,"label-by":"label",placeholder:e.placeholder,"close-on-select":e.closeOnSelect},null,8,["options","modelValue","placeholder","close-on-select"])]))}});var El=L({props:{visibility:{type:E(Number),required:!0},display:{type:E(String,Object,Function),required:!0},style:E(String,Object,Array),classes:E(Object),earned:{type:E(Boolean),required:!0},id:{type:String,required:!0}},components:{Node:un},setup(e){const{display:t}=Se(e),n=ze("");return xe(()=>{const i=_e(t);if(i==null){n.value="";return}if(wt(i)){n.value=X(i);return}const s=X(i.requirement,"h3"),l=X(i.effectDisplay||"","b"),u=X(i.optionsDisplay||"","span");n.value=X(B(()=>o("span",null,[o(s,null,null),i.effectDisplay?o("div",null,[o(l,null,null)]):null,i.optionsDisplay?o("div",{class:"equal-spaced"},[o(u,null,null)]):null])))}),{comp:n,unref:r,Visibility:ke}}});function Tl(e,t,n,i,s,l){var c;const u=yt("Node");return e.unref(e.visibility)!==e.Visibility.None?(b(),M("div",{key:0,style:be([{visibility:e.unref(e.visibility)===e.Visibility.Hidden?"hidden":void 0},(c=e.unref(e.style))!=null?c:{}]),class:ye({feature:!0,milestone:!0,done:e.unref(e.earned),...e.unref(e.classes)})},[(b(),U(Me(e.unref(e.comp)))),o(u,{id:e.id},null,8,["id"])],6)):P("",!0)}var xl=Y(El,[["render",Tl],["__scopeId","data-v-f4e8794e"]]);oe.on("setupVue",e=>e.use(ds));const Bl=pi(),Fl=Symbol("Milestone");let vt;(function(e){e.All="all",e.Configurable="configurable",e.Incomplete="incomplete",e.None="none"})(vt||(vt={}));function Ve(e){const t=Fe(!1);return Le(()=>{var s;const n=(s=e==null?void 0:e())!=null?s:{};n.id=Gt("milestone-"),n.type=Fl,n[bt]=xl,n.earned=t,n.complete=function(){t.value=!0},$(n,"visibility"),Ce(n,"visibility",ke.Visible);const i=n.visibility;if(n.visibility=I(()=>{const l=r(n.display);switch(re.msDisplay){default:case vt.All:return r(i);case vt.Configurable:return r(n.earned)&&!(l!=null&&typeof l=="object"&&"optionsDisplay"in l)?ke.None:r(i);case vt.Incomplete:return r(n.earned)?ke.None:r(i);case vt.None:return ke.None}}),$(n,"style"),$(n,"classes"),$(n,"display"),n[_t]=function(){const{visibility:l,display:u,style:c,classes:f,earned:d,id:_}=this;return{visibility:l,display:u,style:r(c),classes:f,earned:d,id:_}},n.shouldEarn){const l=n;xe(()=>{var u,c;if(re.active===A.id&&!l.earned.value&&r(l.visibility)===ke.Visible&&((u=l.shouldEarn)==null?void 0:u.call(l))&&(l.earned.value=!0,(c=l.onComplete)==null||c.call(l),l.display)){const f=r(l.display),d=X(wt(f)?f:f.requirement);Bl(o(D,null,[o("h3",null,[g("Milestone earned!")]),o("div",null,[o(d,null,null)])]))}})}return n})}oe.on("loadSettings",e=>{Ce(e,"msDisplay",vt.All)});const Dl=Object.values(vt).map(e=>({label:wi(e),value:e}));ga(B(()=>o(Jn,{title:"Show Milestones",options:Dl,"onUpdate:modelValue":e=>re.msDisplay=e,modelValue:re.msDisplay},null)));const Ol=Symbol("Reset");function Rl(e){return Le(()=>{const t=e();return t.id=Gt("reset-"),t.type=Ol,t.reset=function(){var i;const n=s=>{s&&typeof s=="object"&&(an in s?s[an].value=s[ln]:!(s instanceof a)&&!Ne(s)&&Object.values(s).forEach(l=>n(l)))};r(t.thingsToReset).forEach(n),oe.emit("reset",t),(i=t.onReset)==null||i.call(t)},$(t,"thingsToReset"),t})}const hn={};oe.on("removeLayer",e=>{var t;(t=hn[e.id])==null||t.call(hn),hn[e.id]=void 0});function qi(e){return Le(()=>{const t=e();return t.currentGain==null&&(t.currentGain=I(()=>{let n=t.gainModifier?t.gainModifier.apply(t.scaling.currentGain(t)):t.scaling.currentGain(t);return n=a.floor(n).max(0),r(t.buyMax)||(n=n.min(1)),n})),t.actualGain==null&&(t.actualGain=t.currentGain),t.currentAt==null&&(t.currentAt=I(()=>{let n=t.scaling.currentAt(t);return t.roundUpCost&&(n=a.ceil(n)),n})),t.nextAt==null&&(t.nextAt=I(()=>{let n=t.scaling.nextAt(t);return t.roundUpCost&&(n=a.ceil(n)),n})),t.convert==null&&(t.convert=function(){var s;const n=r(t.currentGain),i=r(t.currentAt);t.gainResource.value=a.add(t.gainResource.value,n),t.spend(n,i),(s=t.onConvert)==null||s.call(t,n)}),t.spend==null&&(t.spend=function(){t.baseResource.value=0}),$(t,"currentGain"),$(t,"actualGain"),$(t,"currentAt"),$(t,"nextAt"),$(t,"buyMax"),Ce(t,"buyMax",!0),$(t,"roundUpCost"),Ce(t,"roundUpCost",!0),t})}function Vi(e,t){const n=Be(e),i=Be(t);return{currentGain(s){let l=r(s.baseResource.value);if(s.costModifier&&(l=s.costModifier.apply(l)),a.lt(l,r(n)))return 0;const u=a.div(l,r(n)).pow(r(i));return u.isNan()?new a(0):u},currentAt(s){let l=r(s.currentGain);return s.gainModifier&&(l=s.gainModifier.revert(l)),l=a.max(0,l).root(r(i)).times(r(n)),s.costModifier&&(l=s.costModifier.revert(l)),l},nextAt(s){let l=a.add(r(s.currentGain),1).floor();return s.gainModifier&&(l=s.gainModifier.revert(l)),l=a.max(0,l).root(r(i)).times(r(n)).max(r(n)),s.costModifier&&(l=s.costModifier.revert(l)),l}}}function ql(e){return qi(e)}function Vl(e){return qi(()=>{const t=e();return Ce(t,"buyMax",!1),t.currentGain==null&&(t.currentGain=I(()=>{let n=t.gainModifier?t.gainModifier.apply(t.scaling.currentGain(t)):t.scaling.currentGain(t);return n=a.floor(n).max(t.gainResource.value),r(t.buyMax)||(n=n.min(a.add(t.gainResource.value,1))),n})),t.actualGain==null&&(t.actualGain=I(()=>{let n=a.sub(a.floor(t.scaling.currentGain(t)),t.gainResource.value).max(0);return r(t.buyMax)||(n=n.min(1)),n})),Ce(t,"convert",function(){var s;const n=r(t.actualGain),i=r(t.currentAt);t.gainResource.value=t.gainModifier?t.gainModifier.apply(r(t.currentGain)):r(t.currentGain),t.spend(n,i),(s=t.onConvert)==null||s.call(t,n)}),t})}const Ll="paper",Qt=5,he=Tt(Ll,function(){const e="Paper",t="#E8DCB8",n="#E8DCB8",s=at(0,"paper"),l=Wn(s),u=at(I(()=>a.min(a.div(te.logs.value,1e9),a.div(le.ash.value,1e6))),"pulp"),c=ql(()=>({scaling:Vi(1,1.2),baseResource:u,gainResource:s,roundUpCost:!0,spend(C,N){te.logs.value=a.sub(te.logs.value,a.times(N,1e9)),le.ash.value=a.sub(le.ash.value,a.times(N,1e6))}})),f=Ae(()=>({display:B(()=>{const C=a.gte(c.actualGain.value,1)?c.currentAt.value:c.nextAt.value;return o(D,null,[o("span",{style:"font-size: large"},[g("Create "),R(c.currentGain.value),g(" "),s.displayName]),o("br",null,null),o("span",{style:"font-size: large"},[g("Cost: "),Pn(te.logs,C),g(" "),u.displayName,g(" ("),R(a.times(C,1e9)),g(" "),te.logs.displayName,g(";")," ",R(a.times(C,1e6)),g(" "),le.ash.displayName,g(")")])])}),canClick:()=>a.gte(c.actualGain.value,1),onClick(){!r(this.canClick)||c.convert()},style:"width: 600px; min-height: unset"}));function d(C){const N=tt(()=>({display:{title:C.name,description:`Print a copy of "${C.name}", which ${C.elfName} will use to improve their skills! Each copy printed will reduce the "${C.buyableName}" price scaling by 0.95x and make ${C.elfName} purchase +10% faster!`},resource:s,cost:()=>a.pow(5,N.amount.value).times(10),style:"width: 600px"}));return N}const _=d({name:"Now You're Logging!",elfName:"Holly",buyableName:"Generic Cutters"}),y=d({name:"The Man Who Planted Trees",elfName:"Ivy",buyableName:"Generic Planters"}),v=d({name:"Logjam",elfName:"Hope",buyableName:"Expand Forest"}),p=d({name:"Fahrenheit 451",elfName:"Jack",buyableName:"Heated Cutters"}),w=d({name:"Tillamook Burn Country",elfName:"Mary",buyableName:"Heated Planters"}),S=d({name:"The Garden Tree's Handbook",elfName:"Noel",buyableName:"Fertilized Soil"}),H={cuttersBook:_,plantersBook:y,expandersBook:v,heatedCuttersBook:p,heatedPlantersBook:w,fertilizerBook:S},ae=At(()=>({direction:J.Right,width:600,height:25,fillStyle:`backgroundColor: ${n}`,textStyle:"color: var(--feature-foreground)",progress:()=>G.day.value===Qt?a.div(a.log10(a.add(l.value,1)),a.log10(5e3)):1,display:B(()=>G.day.value===Qt?o(D,null,[R(l.value),g("/"),R(5e3)]):"")}));return xe(()=>{G.day.value===Qt&&a.gte(l.value,5e3)&&G.completeDay()}),{name:e,day:Qt,color:t,paper:s,totalPaper:l,paperConversion:c,books:H,minWidth:700,display:B(()=>o(D,null,[o("div",null,[G.day.value===Qt?`Reach ${R(5e3)} total ${s.displayName} to complete the day`:`${e} Complete!`]),me(ae),o(Pe,null,null),o(Vt,{resource:s,color:t,style:"margin-bottom: 0"},null),o(Pe,null,null),me(f),o(Pe,null,null),Gn(...Object.values(H))]))}}),Gl="workshop",Kt=2,qe=Tt(Gl,function(){const e="Workshop",t="#D66B02",n="#D66B02",i=at(0,"foundation progress"),s=Vl(()=>({scaling:Vi(250,1.5),baseResource:te.logs,gainResource:i,roundUpCost:!0,buyMax:!1,spend(ae,C){te.logs.value=a.sub(te.logs.value,C)}})),l=Ae(()=>({display:B(()=>o(D,null,[o("b",{style:"font-size: x-large"},[g("Build part of the foundation")]),o("br",null,null),o("br",null,null),o("span",{style:"font-size: large"},[g("Cost:")," ",Pn(te.logs,a.gte(s.actualGain.value,1)?s.currentAt.value:s.nextAt.value)," ",te.logs.displayName])])),visibility:()=>Z(a.lt(i.value,100)),canClick:()=>a.gte(s.actualGain.value,1)&&a.lt(i.value,100),onClick(){!r(this.canClick)||s.convert()},style:"width: 600px; min-height: unset"})),u=qn(()=>({key:"w",description:"Build part of the foundation.",onPress:()=>{l.canClick.value&&l.onClick()}})),c=Ve(()=>({display:{requirement:"1% Foundation Completed",effectDisplay:"Trees give 5% more logs for each % of foundation completed"},shouldEarn:()=>a.gte(i.value,1)})),f=Ve(()=>({display:{requirement:"10% Foundation Completed",effectDisplay:"Cut an additional tree per second for each 5% of foundation completed"},shouldEarn:()=>a.gte(i.value,10),visibility:()=>Z(c.earned.value)})),d=Ve(()=>({display:{requirement:"20% Foundation Completed",effectDisplay:"Plant an additional tree per second for each 10% of foundation completed"},shouldEarn:()=>a.gte(i.value,20),visibility:()=>Z(f.earned.value)})),_=Ve(()=>({display:{requirement:"30% Foundation Completed",effectDisplay:"All automatic tree cutting is doubled"},shouldEarn:()=>a.gte(i.value,30),visibility:()=>Z(d.earned.value)})),y=Ve(()=>({display:{requirement:"40% Foundation Completed",effectDisplay:"All automatic tree planting is doubled"},shouldEarn:()=>a.gte(i.value,40),visibility:()=>Z(_.earned.value)})),v=Ve(()=>({display:{requirement:"50% Foundation Completed",effectDisplay:"Trees give twice as many logs"},shouldEarn:()=>a.gte(i.value,50),visibility:()=>Z(y.earned.value)})),p=Ve(()=>({display:{requirement:"75% Foundation Completed",effectDisplay:"The forest gains an extra tree for every 2% of foundation completed"},shouldEarn:()=>a.gte(i.value,75),visibility:()=>Z(v.earned.value)})),w=Ve(()=>({display:{requirement:"100% Foundation Completed",effectDisplay:"Trees' log gain is now raised to the 1.1th power"},shouldEarn:()=>a.gte(i.value,100),visibility:()=>Z(p.earned.value)})),S={logGainMilestone1:c,autoCutMilestone1:f,autoPlantMilestone1:d,autoCutMilestone2:_,autoPlantMilestone2:y,logGainMilestone2:v,morePlantsMilestone1:p,logGainMilestone3:w},H=At(()=>({direction:J.Right,width:600,height:25,fillStyle:`backgroundColor: ${n}`,progress:()=>G.day.value===Kt?a.div(i.value,100):1,display:B(()=>G.day.value===Kt?o(D,null,[R(i.value),g("%")]):"")}));return xe(()=>{G.day.value===Kt&&a.gte(i.value,100)&&G.completeDay()}),{name:e,day:Kt,color:t,foundationProgress:i,foundationConversion:s,milestones:S,minWidth:700,buildFoundationHK:u,display:B(()=>o(D,null,[o("div",null,[G.day.value===Kt?"Complete the foundation to complete the day":`${e} Complete!`]),me(H),o(Pe,null,null),me(l),a.lt(i.value,100)?o("div",null,[g("You have "),R(i.value),g("% completed")]):null,o(Pe,null,null),Gn(...Object.values(S))]))}}),Hl="elves",Jt=4,ht=Tt(Hl,function(){const e="Elves",t="red",n="#911D21",s=At(()=>({direction:J.Right,width:600,height:25,fillStyle:`backgroundColor: ${n}`,progress:()=>G.day.value===Jt?a.div(Ie.value,6).times(.8333333333333334).add(a.div(a.add(le.coal.value,1).log10(),a.log10(1e9)).clamp(0,1).div(6)):1,display:B(()=>G.day.value===Jt?a.lt(Ie.value,6)?o(D,null,[R(Ie.value),g("/6 elves")]):o(D,null,[R(le.coal.value),g("/"),R(1e9),g(" coal")]):"")})),l=Rl(()=>({thingsToReset:[te,qe,le],onReset(){setTimeout(()=>{Q.earned.value&&(te.row1Upgrades[4].bought.value=!0,te.row2Upgrades[4].bought.value=!0)})}})),u=fe(()=>[W(()=>({multiplier:2,description:"6 Elves Trained",enabled:ie.earned})),W(()=>({multiplier:()=>a.times(he.books.cuttersBook.amount.value,.1).add(1),description:"Now You're Logging!",enabled:()=>a.gt(he.books.cuttersBook.amount.value,0)}))]),c=fe(()=>[W(()=>({multiplier:2,description:"6 Elves Trained",enabled:ie.earned})),W(()=>({multiplier:()=>a.times(he.books.plantersBook.amount.value,.1).add(1),description:"The Man Who Planted Trees",enabled:()=>a.gt(he.books.plantersBook.amount.value,0)}))]),f=fe(()=>[W(()=>({multiplier:2,description:"6 Elves Trained",enabled:ie.earned})),W(()=>({multiplier:()=>a.times(he.books.expandersBook.amount.value,.1).add(1),description:"Logjam",enabled:()=>a.gt(he.books.expandersBook.amount.value,0)}))]),d=fe(()=>[W(()=>({multiplier:2,description:"6 Elves Trained",enabled:ie.earned})),W(()=>({multiplier:()=>a.times(he.books.heatedCuttersBook.amount.value,.1).add(1),description:"Fahrenheit 451",enabled:()=>a.gt(he.books.heatedCuttersBook.amount.value,0)}))]),_=fe(()=>[W(()=>({multiplier:2,description:"6 Elves Trained",enabled:ie.earned})),W(()=>({multiplier:()=>a.times(he.books.heatedPlantersBook.amount.value,.1).add(1),description:"Tillamook Burn Country",enabled:()=>a.gt(he.books.heatedPlantersBook.amount.value,0)}))]),y=fe(()=>[W(()=>({multiplier:2,description:"6 Elves Trained",enabled:ie.earned})),W(()=>({multiplier:()=>a.times(he.books.fertilizerBook.amount.value,.1).add(1),description:"The Garden Tree's Handbook",enabled:()=>a.gt(he.books.fertilizerBook.amount.value,0)}))]),[v,p]=Qn(()=>[{title:"Holly Auto-Buy Frequency",modifier:u,base:10,unit:"/s",visible:De.cuttersElf.bought},{title:"Ivy Auto-Buy Frequency",modifier:c,base:10,unit:"/s",visible:De.plantersElf.bought},{title:"Hope Auto-Buy Frequency",modifier:f,base:10,unit:"/s",visible:De.expandersElf.bought},{title:"Jack Auto-Buy Frequency",modifier:d,base:10,unit:"/s",visible:De.heatedCuttersElf.bought},{title:"Mary Auto-Buy Frequency",modifier:_,base:10,unit:"/s",visible:De.heatedPlantersElf.bought},{title:"Noel Auto-Buy Frequency",modifier:y,base:10,unit:"/s",visible:De.fertilizerElf.bought}]),w=x(!1),S=B(()=>o(Xe,{modelValue:w.value,"onUpdate:modelValue":pe=>w.value=pe},{header:()=>o("h2",null,[e,g(" Modifiers")]),body:v}));function H(pe){const ft=I(()=>a.pow(4,Ie.value).times(1e6)),Te=Fe(0),st=I(()=>pe.cooldownModifier.apply(10));function Ze(ce){if(Oe.bought.value){Te.value=a.add(Te.value,ce);const Ct=a.recip(st.value);for(;a.gte(Te.value,Ct);)if(r(pe.buyable.canPurchase))pe.buyable.amount.value=a.add(pe.buyable.amount.value,1),Te.value=Ct.sub(.1);else{Te.value=Ct;break}}}const Oe=ge(()=>({...pe,buyProgress:Te,update:Ze,resource:le.coal,cost:ft,computedAutoBuyCooldown:st,display:()=>({title:pe.name,description:B(()=>o(D,null,[pe.description,Oe.bought.value?null:o(D,null,[" ",g("Training this elf will require resetting all your progress from days 1-3.")])])),showCost:!Oe.bought.value}),style:"width: 190px",onPurchase:l.reset}));return Oe}const ae=H({name:"Holly",description:"Holly will automatically purchase cutters you can afford, without actually spending any logs.",buyable:te.row1Buyables[0],cooldownModifier:u}),C=H({name:"Ivy",description:"Ivy will automatically purchase planters you can afford, without actually spending any logs.",buyable:te.row1Buyables[1],cooldownModifier:c}),N=H({name:"Hope",description:"Hope will automatically purchase forest expanders you can afford, without actually spending any logs.",buyable:te.row1Buyables[2],cooldownModifier:f}),O=[ae,C,N],ue=H({name:"Jack",description:"Jack will automatically purchase heated cutters you can afford, without actually spending any coal.",buyable:le.heatedCutters,cooldownModifier:d}),we=H({name:"Mary",description:"Mary will automatically purchase heated planters you can afford, without actually spending any coal.",buyable:le.heatedPlanters,cooldownModifier:_}),Ee=H({name:"Noel",description:"Noel will automatically purchase fertilized soil you can afford, without actually spending any ash.",buyable:le.moreFertilizer,cooldownModifier:y}),xt=[ue,we,Ee],De={cuttersElf:ae,plantersElf:C,expandersElf:N,heatedCuttersElf:ue,heatedPlantersElf:we,fertilizerElf:Ee},Ie=I(()=>Object.values(De).filter(pe=>pe.bought.value).length),kt=Ve(()=>({display:{requirement:"1 Elf Trained",effectDisplay:"Manual cutting and planting can happen twice as often for each trained elf"},shouldEarn:()=>a.gte(Ie.value,1)})),Q=Ve(()=>({display:{requirement:"2 Elves Trained",effectDisplay:"Research I & II are't reset after training"},shouldEarn:()=>a.gte(Ie.value,2),visibility:()=>Z(kt.earned.value)})),ct=Ve(()=>({display:{requirement:"3 Elves Trained",effectDisplay:"Coal gain is raised to the 1.25"},shouldEarn:()=>a.gte(Ie.value,3),visibility:()=>Z(Q.earned.value)})),Ue=Ve(()=>({display:{requirement:"4 Elves Trained",effectDisplay:"Trees give twice as many logs"},shouldEarn:()=>a.gte(Ie.value,4),visibility:()=>Z(ct.earned.value)})),dt=Ve(()=>({display:{requirement:"5 Elves Trained",effectDisplay:"Forest is twice as large"},shouldEarn:()=>a.gte(Ie.value,5),visibility:()=>Z(Ue.earned.value)})),ie=Ve(()=>({display:{requirement:"6 Elves Trained",effectDisplay:"Elves work twice as fast"},shouldEarn:()=>a.gte(Ie.value,6),visibility:()=>Z(dt.earned.value)})),Nt=[kt,Q,ct,Ue,dt,ie];return oe.on("update",pe=>{a.lt(G.day.value,Jt)||Object.values(De).forEach(ft=>ft.update(pe))}),xe(()=>{G.day.value===Jt&&a.gte(Ie.value,6)&&a.gte(le.coal.value,1e9)&&G.completeDay()}),{name:e,color:t,elves:De,totalElves:Ie,milestones:Nt,generalTabCollapsed:p,minWidth:700,display:B(()=>o(D,null,[o("div",null,[G.day.value===Jt?`Reach ${R(6)} trained elves and ${R(1e9)} ${le.coal.displayName} to complete the day`:`${e} Complete!`," ",g("-")," ",o("button",{class:"button",style:"display: inline-block;",onClick:()=>w.value=!0},[g("Check Modifiers")])]),me(s),me(S),o(Pe,null,null),o("div",{style:"width: 600px"},[Ge(...O),Ge(...xt)]),Gn(...Nt)]))}}),Ul="coal",Xt=3,le=Tt(Ul,function(){const e="Coal",t="#151716",n="#B2BeB5",i="var(--foreground)",s=at(0,"coal"),l=Wn(s),u=at(0,"ash"),c=1e7,f=At(()=>({direction:J.Right,width:600,height:25,fillStyle:`backgroundColor: ${t}`,progress:()=>G.day.value===Xt?a.log10(a.add(l.value,1)).div(Math.log10(c)):1,display:B(()=>G.day.value===Xt?o(D,null,[R(l.value),g("/"),R(c)]):"")})),d=Fe(0),_=I(()=>a.times(d.value,1e3)),y=I(()=>a.times(d.value,.1)),v=I(()=>a.times(d.value,50)),p=tt(()=>({resource:te.logs,cost(){return a.times(Ee.amount.value,10).plus(this.amount.value).pow(1.5).times(1e4)},display:B(()=>o(D,null,[o("h3",null,[g("Small Fire")]),o("br",null,null),g("Burn 1000 logs for 0.1 coal and 50 ash"),o("br",null,null),o("br",null,null),g("Currently:"),o("br",null,null),g("-"),ee(_.value),g(" logs/sec"),o("br",null,null),g("+"),ee(y.value),g(" coal/sec"),o("br",null,null),g("+"),ee(v.value),g(" ash/sec"),o("br",null,null),o("br",null,null),g("Cost: "),R(r(p.cost)),g(" "),p.resource.displayName])),onPurchase(){d.value=a.add(d.value,1)},style:{color:i,width:"160px"}})),w=Ae(()=>({display:"0",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.gt(d.value,0)},onClick(){d.value=0}})),S=Ae(()=>({display:"-",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.gt(d.value,0)},onClick(){d.value=a.sub(d.value,1)}})),H=Ae(()=>({display:"+",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.lt(d.value,p.amount.value)},onClick(){d.value=a.add(d.value,1)}})),ae=Ae(()=>({display:"Max",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.lt(d.value,p.amount.value)},onClick(){d.value=p.amount.value}})),C=at(p.amount,"small fires"),N=Fe(0),O=I(()=>a.times(N.value,1e4)),ue=I(()=>a.times(N.value,10)),we=I(()=>a.times(N.value,1e3)),Ee=tt(()=>({resource:C,cost:10,display:B(()=>o(D,null,[o("h3",null,[g("Bonfire")]),o("br",null,null),g("Burn 10,000 logs for 10 coal and 1000 ash"),o("br",null,null),o("br",null,null),g("Currently:"),o("br",null,null),g("-"),ee(O.value),g(" logs/sec"),o("br",null,null),g("+"),ee(ue.value),g(" coal/sec"),o("br",null,null),g("+"),ee(we.value),g(" ash/sec"),o("br",null,null),o("br",null,null),g("Cost: "),R(r(Ee.cost)),g(" "),Ee.resource.displayName])),onPurchase(F){d.value=a.sub(d.value,F).max(0),N.value=a.add(N.value,1)},style:{color:i,width:"160px"}})),xt=Ae(()=>({display:"0",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.gt(N.value,0)},onClick(){N.value=0}})),De=Ae(()=>({display:"-",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.gt(N.value,0)},onClick(){N.value=a.sub(N.value,1)}})),Ie=Ae(()=>({display:"+",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.lt(N.value,Ee.amount.value)},onClick(){N.value=a.add(N.value,1)}})),kt=Ae(()=>({display:"Max",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.lt(N.value,Ee.amount.value)},onClick(){N.value=Ee.amount.value}})),Q=Fe(0),ct=I(()=>a.times(Q.value,1e6)),Ue=I(()=>a.times(Q.value,1e4)),dt=I(()=>a.times(Q.value,1e4)),ie=tt(()=>({resource:te.logs,cost(){return a.pow(1.1,this.amount.value).times(1e7)},display:B(()=>o(D,null,[o("h3",null,[g("Charcoal Kiln")]),o("br",null,null),g("Burn 1,000,000 logs for 10,000 coal and 10,000 ash"),o("br",null,null),o("br",null,null),g("Currently:"),o("br",null,null),g("-"),ee(ct.value),g(" logs/sec"),o("br",null,null),g("+"),ee(Ue.value),g(" coal/sec"),o("br",null,null),g("+"),ee(dt.value),g(" ash/sec"),o("br",null,null),o("br",null,null),g("Cost: "),R(r(ie.cost)),g(" "),ie.resource.displayName])),onPurchase(){Q.value=a.add(Q.value,1)},style:{color:i,width:"160px"}})),Nt=Ae(()=>({display:"0",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.gt(Q.value,0)},onClick(){Q.value=0}})),pe=Ae(()=>({display:"-",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.gt(Q.value,0)},onClick(){Q.value=a.sub(Q.value,1)}})),ft=Ae(()=>({display:"+",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.lt(Q.value,ie.amount.value)},onClick(){Q.value=a.add(Q.value,1)}})),Te=Ae(()=>({display:"Max",style:{minHeight:"20px",width:"40px",color:i},canClick(){return a.lt(Q.value,ie.amount.value)},onClick(){Q.value=ie.amount.value}})),st=ge(()=>({resource:s,cost:5,display:{title:"Warmer Cutters",description:"Cut down twice as many trees/s"},style:{color:i}})),Ze=ge(()=>({resource:s,cost:5,display:{title:"Warmer Planters",description:"Plant twice as many trees/s"},style:{color:i}})),Oe=ge(()=>({resource:u,cost:5e3,display:{title:"Ashy Soil",description:"Trees give 25% more logs"},style:{color:i}})),ce=ge(()=>({resource:C,cost:10,display:{title:"Bigger Fires",description:"Put all those fires together into a larger blaze"},onPurchase(){C.value=a.add(C.value,this.cost)},style:{color:i}})),Ct=[st,Ze,Oe,ce],Ye=ge(()=>({resource:s,cost:250,display:{title:"Dedicated Cutter Heaters",description:"Double the bonus from Heated Cutters"},style:{color:i},visibility:()=>Z(ce.bought.value)})),Re=ge(()=>({resource:s,cost:250,display:{title:"Dedicated Planter Heaters",description:"Double the bonus from Heated Planters"},style:{color:i},visibility:()=>Z(ce.bought.value)})),Ht=ge(()=>({canAfford(){return a.gte(te.logs.value,1e5)&&a.gte(u.value,1e5)},onPurchase(){te.logs.value=a.sub(te.logs.value,1e5),u.value=a.sub(u.value,1e5)},display:B(()=>o(D,null,[o("h3",null,[g("Mulched Soil")]),o("br",null,null),g("Double the bonus from Fertilized Soil"),o("br",null,null),o("br",null,null),g("Cost: "),R(1e5),g(" "),te.logs.displayName,o("br",null,null),R(1e5),g(" "),u.displayName])),style:{color:i},visibility:()=>Z(ce.bought.value)})),et=ge(()=>({resource:te.logs,cost:1e7,display:{title:"Efficient Fires",description:"Move the fires underground to keep the coal from turning to ash"},style:{color:i},visibility:()=>Z(ce.bought.value)})),Tn=[Ye,Re,Ht,et],Bt=tt(()=>({resource:s,cost(){let F=this.amount.value;return a.gte(F,50)&&(F=a.pow(F,2).div(50)),a.gte(F,200)&&(F=a.pow(F,2).div(200)),a.gte(F,2e6)&&(F=a.pow(F,2).div(2e6)),F=a.pow(.95,he.books.heatedCuttersBook.amount.value).times(F),a.add(F,1).pow(2.5).times(10)},display:{title:"Heated Cutters",description:"Even warmer cutters cut down trees faster",effectDisplay:B(()=>o(D,null,[g("Cutters cut down trees "),ee(dn.value),g("x faster")]))},style:{color:i},visibility:()=>Z(st.bought.value)})),mt=tt(()=>({resource:s,cost(){let F=this.amount.value;return a.gte(F,50)&&(F=a.pow(F,2).div(50)),a.gte(F,200)&&(F=a.pow(F,2).div(200)),a.gte(F,2e6)&&(F=a.pow(F,2).div(2e6)),F=a.pow(.95,he.books.heatedPlantersBook.amount.value).times(F),a.add(F,1).pow(2.5).times(10)},display:{title:"Heated Planters",description:"Even warmer planters plant trees faster",effectDisplay:B(()=>o(D,null,[g("Planters plant trees "),ee(T.value),g("x faster")]))},style:{color:i},visibility:()=>Z(Ze.bought.value)})),Ft=tt(()=>({resource:u,cost(){let F=this.amount.value;return a.gte(F,50)&&(F=a.pow(F,2).div(50)),a.gte(F,200)&&(F=a.pow(F,2).div(200)),a.gte(F,2e6)&&(F=a.pow(F,2).div(2e6)),F=a.pow(.95,he.books.fertilizerBook.amount.value).times(F),a.add(F,1).pow(1.5).times(5e4)},display:{title:"Fertilized Soil",description:"More fertilizer helps trees grow bigger",effectDisplay:B(()=>o(D,null,[g("Trees give "),ee(zt.value),g("x more logs")]))},style:{color:i},visibility:()=>Z(Oe.bought.value)})),Ut=[Bt,mt,Ft],jt=fe(()=>[se(()=>({addend(){return a.times(Bt.amount.value,.25)},description:"Heated Cutters",enabled(){return a.gt(Bt.amount.value,0)}})),W(()=>({multiplier:2,description:"Dedicated Cutter Heaters",enabled:Ye.bought}))]),dn=I(()=>jt.apply(1)),xn=fe(()=>[se(()=>({addend(){return a.times(mt.amount.value,.25)},description:"Heated Planters",enabled(){return a.gt(mt.amount.value,0)}})),W(()=>({multiplier:2,description:"Dedicated Planter Heaters",enabled:Re.bought}))]),T=I(()=>xn.apply(1)),fn=fe(()=>[se(()=>({addend(){return a.times(Ft.amount.value,.25)},description:"Fertilized Soil",enabled(){return a.gt(Ft.amount.value,0)}})),W(()=>({multiplier:2,description:"Mulched Soil",enabled:Ht.bought}))]),zt=I(()=>fn.apply(1)),mn=fe(()=>[se(()=>({addend(){return y.value},description:"Small Fires",enabled(){return a.gt(d.value,0)}})),se(()=>({addend(){return ue.value},description:"Bonfires",enabled(){return a.gt(N.value,0)}})),se(()=>({addend(){return Ue.value},description:"Charcoal Kilns",enabled(){return a.gt(Q.value,0)}})),Ri(()=>({exponent:1.25,description:"3 Elves Trained",enabled:ht.milestones[2].earned}))]),Wt=I(()=>mn.apply(0)),ei=fe(()=>[se(()=>({addend(){return v.value},description:"Small Fires",enabled(){return a.gt(d.value,0)}})),se(()=>({addend(){return we.value},description:"Bonfires",enabled(){return a.gt(N.value,0)}})),se(()=>({addend(){return dt.value},description:"Charcoal Kilns",enabled(){return a.gt(Q.value,0)}}))]),Bn=I(()=>ei.apply(0)),ti=fe(()=>[se(()=>({addend(){return a.negate(_.value)},description:"Small Fires",enabled(){return a.gt(d.value,0)}})),se(()=>({addend(){return a.negate(O.value)},description:"Bonfires",enabled(){return a.gt(N.value,0)}})),se(()=>({addend(){return a.negate(ct.value)},description:"Charcoal Kilns",enabled(){return a.gt(Q.value,0)}}))]),ni=I(()=>ti.apply(0)),[Zi,Yi]=Qn(()=>[{title:"Log Consumption",modifier:ti,base:0,visible(){return a.gt(d.value,0)||a.gt(N.value,0)||a.gt(Q.value,0)}},{title:"Coal Gain",modifier:mn,base:0,visible(){return a.gt(d.value,0)||a.gt(N.value,0)||a.gt(Q.value,0)}},{title:"Ash Gain",modifier:ei,base:0,visible(){return a.gt(d.value,0)||a.gt(N.value,0)||a.gt(Q.value,0)}}]),Fn=x(!1),es=B(()=>o(Xe,{modelValue:Fn.value,"onUpdate:modelValue":F=>Fn.value=F},{header:()=>o("h2",null,[e,g(" Modifiers")]),body:Zi}));return oe.on("update",F=>{a.lt(G.day.value,Xt)||a.times(F,ni.value).negate().gt(te.logs.value)||(te.logs.value=a.times(F,ni.value).plus(te.logs.value),s.value=a.times(F,Wt.value).plus(s.value),u.value=a.times(F,Bn.value).plus(u.value))}),xe(()=>{G.day.value===Xt&&a.gte(l.value,c)&&G.completeDay()}),{name:e,color:t,coal:s,totalCoal:l,ash:u,activeFires:d,buildFire:p,activeBonfires:N,buildBonfire:Ee,activeKilns:Q,buildKiln:ie,warmerCutters:st,warmerPlanters:Ze,basicFertilizer:Oe,unlockBonfire:ce,dedicatedCutters:Ye,dedicatedPlanters:Re,betterFertilizer:Ht,unlockKiln:et,heatedCutters:Bt,heatedPlanters:mt,moreFertilizer:Ft,computedHeatedCutterEffect:dn,computedHeatedPlanterEffect:T,computedFertilizerEffect:zt,generalTabCollapsed:Yi,minWidth:700,display:B(()=>o(D,null,[o("div",null,[G.day.value===Xt?`Reach ${R(c)} ${s.displayName} to complete the day`:`${e} Complete!`," ",g("-")," ",o("button",{class:"button",style:"display: inline-block;",onClick:()=>Fn.value=!0},[g("Check Modifiers")])]),me(f),me(es),o(Pe,null,null),o(Vt,{resource:s,color:t,style:"margin-bottom: 0",effectDisplay:a.gt(Wt.value,0)?`+${ee(Wt.value)}/s`:void 0},null),o(Pe,null,null),o(Vt,{resource:u,color:n,style:"margin-bottom: 0",effectDisplay:a.gt(Bn.value,0)?`+${ee(Bn.value)}/s`:void 0},null),o(Pe,null,null),o(Pi,null,{default:()=>[o(vn,null,{default:()=>[me(p),o("div",null,[R(d.value),g("/"),R(p.amount.value)]),Ge(w,S,H,ae)]}),ce.bought.value?o(D,null,[o(Pe,null,null),o(vn,null,{default:()=>[me(Ee),o("div",null,[R(N.value),g("/"),R(Ee.amount.value)]),Ge(xt,De,Ie,kt)]})]):void 0,et.bought.value?o(D,null,[o(Pe,null,null),o(vn,null,{default:()=>[me(ie),o("div",null,[R(Q.value),g("/"),R(ie.amount.value)]),Ge(Nt,pe,ft,Te)]})]):void 0]}),o(Pe,null,null),Ge(...Ct),Ge(...Tn),Ge(...Ut)]))}}),jl="trees",Zt=1,ci=.5,te=Tt(jl,function(){const e="Trees",t="#4BDC13",n="green",i=at(0,"logs"),s=Wn(i),l=at(0,"saplings"),u=1e4,c=x(0),f=fe(()=>[se(()=>({addend:()=>a.times(xt.amount.value,10),description:"Expand Forest",enabled:O.bought})),se(()=>({addend:()=>a.div(qe.foundationProgress.value,2),description:"75% Foundation Completed",enabled:qe.milestones.morePlantsMilestone1.earned})),W(()=>({multiplier:2,description:"5 Elves Trained",enabled:ht.milestones[4].earned}))]),d=at(I(()=>a.sub(f.apply(10),l.value)),"trees"),_=ge(()=>({resource:i,cost:10,display:{title:"Wooden Fingers",description:"Cut down an additional tree per click"}})),y=ge(()=>({resource:i,cost:10,display:{title:"Leafy Fingers",description:"Plant an additional tree per click"}})),v=ge(()=>({resource:i,cost:25,display:{title:"Automated Knives",description:"Cut down a tree every second"}})),p=ge(()=>({resource:i,cost:25,display:{title:"Automated Spade",description:"Plant a tree every second"}})),w=ge(()=>({resource:i,cost:40,display:{title:"Research I",description:"Trees give 25% more logs, and unlock more upgrades"}})),S=[_,y,v,p,w],H=ge(()=>({resource:i,cost:50,visibility:()=>Z(w.bought.value),display:{title:"Sharper Fingers",description:"Manually cut trees twice as often"}})),ae=ge(()=>({resource:i,cost:50,visibility:()=>Z(w.bought.value),display:{title:"Greener Fingers",description:"Manually Plant trees twice as often"}})),C=ge(()=>({resource:i,cost:150,visibility:()=>Z(w.bought.value),display:{title:"Smart Knives",description:"Each time you manually chop trees, gain 1s of automatic tree chopping production"}})),N=ge(()=>({resource:i,cost:150,visibility:()=>Z(w.bought.value),display:{title:"Smart Spades",description:"Each time you manually plant trees, gain 1s of automatic tree planting production"}})),O=ge(()=>({resource:i,cost:300,visibility:()=>Z(w.bought.value),display:{title:"Research II",description:"Trees give 25% more logs, and unlock repeatable purchases"}})),ue=[H,ae,C,N,O],we=tt(()=>({resource:i,cost(){let T=this.amount.value;return a.gte(T,50)&&(T=a.pow(T,2).div(50)),a.gte(T,200)&&(T=a.pow(T,2).div(200)),a.gte(T,2e6)&&(T=a.pow(T,2).div(2e6)),T=a.pow(.95,he.books.cuttersBook.amount.value).times(T),a.times(100,T).add(200)},display:{title:"Generic Cutters",description:"Each cutter cuts down 1 tree/s"},visibility:()=>Z(O.bought.value)})),Ee=tt(()=>({resource:i,cost(){let T=this.amount.value;return a.gte(T,50)&&(T=a.pow(T,2).div(50)),a.gte(T,200)&&(T=a.pow(T,2).div(200)),a.gte(T,2e6)&&(T=a.pow(T,2).div(2e6)),T=a.pow(.95,he.books.plantersBook.amount.value).times(T),a.times(100,T).add(200)},display:{title:"Generic Planters",description:"Each planter plants 0.5 trees/s"},visibility:()=>Z(O.bought.value)})),xt=tt(()=>({resource:i,cost(){let T=this.amount.value;return a.gte(T,100)&&(T=a.pow(T,2).div(100)),a.gte(T,1e5)&&(T=a.pow(T,2).div(1e5)),T=a.pow(.95,he.books.expandersBook.amount.value).times(T),a.pow(a.add(T,1),1.5).times(500)},display:{title:"Expand Forest",description:"Add 10 trees to the forest"},visibility:()=>Z(O.bought.value)})),De=[we,Ee,xt],Ie=At(()=>({direction:J.Right,width:600,height:25,fillStyle:`backgroundColor: ${n}`,progress:()=>G.day.value===Zt?a.log10(a.add(s.value,1)).div(Math.log10(u)):1,display:B(()=>G.day.value===Zt?o(D,null,[R(s.value),g("/"),R(u)]):"")})),kt=fe(()=>[se(()=>({addend:1,description:"Wooden Fingers",enabled:_.bought})),se(()=>({addend:ie,description:"Smart Knives",enabled:C.bought}))]),Q=I(()=>kt.apply(1)),ct=fe(()=>[W(()=>({multiplier:.5,description:"Sharper Fingers",enabled:H.bought})),W(()=>({multiplier:()=>a.pow(.5,ht.totalElves.value),description:"1 Elf Trained",enabled:ht.milestones[0].earned}))]),Ue=I(()=>ct.apply(1)),dt=fe(()=>[se(()=>({addend:1,description:"Automated Knives",enabled:v.bought})),se(()=>({addend:we.amount,description:"Generic Cutters",enabled:O.bought})),se(()=>({addend:()=>a.div(qe.foundationProgress.value,5).floor(),description:"10% Foundation Completed",enabled:qe.milestones.autoCutMilestone1.earned})),W(()=>({multiplier:2,description:"30% Foundation Completed",enabled:qe.milestones.autoCutMilestone2.earned})),W(()=>({multiplier:2,description:"Warmer Cutters",enabled:le.warmerCutters.bought})),W(()=>({multiplier:le.computedHeatedCutterEffect,description:"Heated Cutters",enabled:()=>a.gt(le.heatedCutters.amount.value,0)}))]),ie=I(()=>dt.apply(0)),Nt=fe(()=>[se(()=>({addend:1,description:"Leafy Fingers",enabled:y.bought})),se(()=>({addend:Ze,description:"Smart Spades",enabled:N.bought}))]),pe=I(()=>Nt.apply(1)),ft=fe(()=>[W(()=>({multiplier:.5,description:"Greener Fingers",enabled:ae.bought})),W(()=>({multiplier:()=>a.pow(.5,ht.totalElves.value),description:"1 Elf Trained",enabled:ht.milestones[0].earned}))]),Te=I(()=>ft.apply(1)),st=fe(()=>[se(()=>({addend:1,description:"Automated Spade",enabled:p.bought})),se(()=>({addend:()=>a.div(Ee.amount.value,2),description:"Generic Planters",enabled:O.bought})),se(()=>({addend:()=>a.div(qe.foundationProgress.value,10).floor(),description:"20% Foundation Completed",enabled:qe.milestones.autoPlantMilestone1.earned})),W(()=>({multiplier:2,description:"40% Foundation Completed",enabled:qe.milestones.autoPlantMilestone2.earned})),W(()=>({multiplier:2,description:"Warmer Planters",enabled:le.warmerPlanters.bought})),W(()=>({multiplier:le.computedHeatedPlanterEffect,description:"Heated Planters",enabled:()=>a.gt(le.heatedPlanters.amount.value,0)}))]),Ze=I(()=>st.apply(0)),Oe=fe(()=>[W(()=>({multiplier:1.25,description:"Research I",enabled:w.bought})),W(()=>({multiplier:1.25,description:"Research II",enabled:O.bought})),W(()=>({multiplier:()=>a.div(qe.foundationProgress.value,20).add(1),description:"1% Foundation Completed",enabled:qe.milestones.logGainMilestone1.earned})),W(()=>({multiplier:2,description:"50% Foundation Completed",enabled:qe.milestones.logGainMilestone2.earned})),W(()=>({multiplier:1.25,description:"Ashy Soil",enabled:le.basicFertilizer.bought})),W(()=>({multiplier:le.computedFertilizerEffect,description:"Fertilized Soil",enabled:()=>a.gt(le.moreFertilizer.amount.value,0)})),W(()=>({multiplier:2,description:"4 Elves Trained",enabled:ht.milestones[3].earned})),Ri(()=>({exponent:1.1,description:"100% Foundation Completed",enabled:qe.milestones.logGainMilestone3.earned}))]),ce=Fe(0),Ct=At(()=>({direction:J.Right,width:100,height:10,style:"margin-top: 8px",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s",progress:()=>a.div(ce.value,Ue.value)})),Ye=Ae(()=>({display:{title:"Cut trees",description:B(()=>o(D,null,[g("Cut down up to "),R(a.floor(Q.value))," ",g("tree"),a.eq(Q.value,1)?"":"s",g(" at once!"),o("br",null,null),me(Ct)]))},style:{minHeight:"80px"},canClick:()=>a.gte(d.value,1)&&a.gte(ce.value,Ue.value),onClick(){if(a.lt(ce.value,Ue.value))return;const T=a.floor(a.min(d.value,a.times(Q.value,a.div(ce.value,Ue.value).floor())));i.value=a.add(i.value,Oe.apply(T)),l.value=a.add(l.value,T),ce.value=0}})),Re=Fe(0),Ht=At(()=>({direction:J.Right,width:100,height:10,style:"margin-top: 8px",baseStyle:"margin-top: 0",fillStyle:"margin-top: 0; transition-duration: 0s",progress:()=>a.div(Re.value,Te.value)})),et=Ae(()=>({display:{title:"Plant trees",description:B(()=>o(D,null,[g("Plant up to "),R(a.floor(pe.value))," ",g("tree"),a.eq(pe.value,1)?"":"s",g(" at once!"),o("br",null,null),me(Ht)]))},style:{minHeight:"80px"},canClick:()=>a.gte(l.value,1)&&a.gte(Re.value,Te.value),onClick(){if(a.lt(Re.value,Te.value))return;const T=a.floor(a.min(l.value,a.times(pe.value,a.div(Re.value,Te.value).floor())));l.value=a.sub(l.value,T),Re.value=0}})),[Tn,Bt]=Qn(()=>[{title:"Logs per Tree",modifier:Oe,base:1,visible:w.bought},{title:"Manual Cutting Amount",modifier:kt,base:1,visible:_.bought,unit:"/click"},{title:"Manual Cutting Cooldown",modifier:ct,base:1,visible:_.bought,unit:"s"},{title:"Manual Planting Amount",modifier:Nt,base:1,visible:y.bought,unit:"/click"},{title:"Manual Planting Cooldown",modifier:ft,base:1,visible:y.bought,unit:"s"},{title:"Auto Cutting Amount",modifier:dt,base:0,visible:v.bought,unit:"/s"},{title:"Auto Planting Amount",modifier:st,base:0,visible:p.bought,unit:"/s"},{title:"Forest Size",modifier:f,base:10,visible:O.bought}]),mt=x(!1),Ft=B(()=>o(Xe,{modelValue:mt.value,"onUpdate:modelValue":T=>mt.value=T},{header:()=>o("h2",null,[e,g(" Modifiers")]),body:Tn}));oe.on("update",T=>{if(a.lt(G.day.value,Zt))return;a.gte(ce.value,Ue.value)?ce.value=Ue.value:(ce.value=a.add(ce.value,T),Ye.isHolding.value&&Ye.onClick()),a.gte(Re.value,Te.value)?Re.value=Te.value:(Re.value=a.add(Re.value,T),et.isHolding.value&&et.onClick());const fn=a.min(d.value,a.times(ie.value,T)),zt=Oe.apply(fn),mn=a.div(zt,T);c.value=a.mul(mn,ci).add(a.mul(c.value,a.dOne.sub(ci))),i.value=a.add(i.value,zt),l.value=a.add(l.value,fn);const Wt=a.min(l.value,a.times(Ze.value,T));l.value=a.sub(l.value,Wt)}),xe(()=>{G.day.value===Zt&&a.gte(s.value,u)&&G.completeDay()});const Ut=I(()=>a.sub(ie.value,Ze.value)),jt=I(()=>a.sub(Ze.value,ie.value)),dn=qn(()=>({key:"c",description:'Press the "Cut trees" button.',onPress:()=>{Ye.canClick.value&&Ye.onClick()}})),xn=qn(()=>({key:"p",description:'Press the "Plant trees" button.',onPress:()=>{et.canClick.value&&et.onClick()}}));return{name:e,color:t,logs:i,totalLogs:s,trees:d,saplings:l,cutTree:Ye,plantTree:et,cutTreeHK:dn,plantTreeHK:xn,row1Upgrades:S,row2Upgrades:ue,row1Buyables:De,manualCutProgress:ce,manualPlantProgress:Re,generalTabCollapsed:Bt,minWidth:700,display:B(()=>o(D,null,[o("div",null,[G.day.value===Zt?`Reach ${R(1e4)} ${i.displayName} to complete the day`:`${e} Complete!`," ",g("-")," ",o("button",{class:"button",style:"display: inline-block;",onClick:()=>mt.value=!0},[g("Check Modifiers")])]),me(Ie),me(Ft),o(Pe,null,null),o(Vt,{resource:i,color:t,style:"margin-bottom: 0",effectDisplay:a.gt(ie.value,0)?`expected: +${ee(Oe.apply(ie.value))}/s, average: +${ee(c.value)}/s (${ee(a.div(c.value,Oe.apply(ie.value)).mul(100))}% efficent)`:void 0},null),o(Vt,{resource:l,color:n,style:"margin-bottom: 0",effectDisplay:{[-1]:`${R(Ut.value)}/s`,0:void 0,1:`+${R(Ut.value)}/s`}[a.compare(Ut.value,0)]},null),o(Vt,{resource:d,color:n,style:"margin-bottom: 0",effectDisplay:{[-1]:`${R(jt.value)}/s`,0:void 0,1:`+${R(jt.value)}/s`}[a.compare(jt.value,0)]},null),o(Pe,null,null),Ge(Ye,et),o("div",null,[g("Tip: You can hold down on actions to perform them automatically")]),o("div",null,[g("Note: your average log gain will be equal to your expected log gain if you have enough trees to support your chopping")]),o(Pe,null,null),Ge(...S),Ge(...ue),Ge(...De)]))}});var Li="./assets/tree.35808197.png",Gi="./assets/sws.714ad454.png",Hi="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAACXBIWXMAAFxGAABcRgEUlENBAAAAG3RFWHRTb2Z0d2FyZQBDZWxzeXMgU3R1ZGlvIFRvb2zBp+F8AAAMuElEQVR42u3dO4zkSAEG4L/Kr5me6dl1QkJAjkDiElJISAiO7CQSyCBHQis08QQrXUJISExKxCNBguQICJCIkBAZOqlmH0LbPW27CKa78XjtabddZVeV/z/ZXe12r11V39TDdllorcEwTHsEgTAMgTAMgTAMgTAMgTAMgTAMgTz5z4Ro/c+01oJVwSwaSBcOQmEWD6QPDiJhFgnkHBxEwiwKyBAcBMIQCIEwBDIcCJEwBEIgDIEQCEMgBMIQCIEwBOIQECJhggfCXoQhEAJhCIRAGAIhEIbxCQiRMARCIMySgXCYxRAIgTAEQiAMgRAIw/gEhEiY4IGwF2EIhEAYAiEQhkAIhGF8AkIkDIEQCLNkIBxmMQRCIAyBEAhDIATCMD4BIRImeCDsRRgCIRCGQAiEIRACYQjEJyBEwhAIgTBLBsJhFkMgBMIQCIEwBEIgDIH4BIRImOCBsBdhCIRAGAIhEIZACIQhEE7UGYZAGMYPIBxmMQRCIAyBEAhDIATCEAgn6gzjEBD2IgyBEAhDIATCEAiBMATCiTrDEAjD+AGEwyyGQAiEIRACYQiEQBgC4USdYRwCwl6EIRACYQiEQBgCIRCGQDhRZxgCYRg/gHCYxRAIgTAEQiAMgRAIQyCcqDME4hAQ9iIMgRAIQyAEwhCIs0CGfgeBMUEDsRGiIRD3DsoxJMRCIARCJK318Nz5ttVTaOVDIERitex9LysngRBJeGXua3k5C4RIwixr38qMQAhk8rL2qdw4xCKS2crah7LjJJ1IZi1v18uOFwoJZPYyz/P820qpLwgkQBwhIHGh3PM8/41S6jMCmaiSbm9fnfXv7+5eLxKJSz+U8jz/m1LqEwKxUEnngqhlB0AAkPtfi7u71wmBzAJkB+BzAL9USv2HQObHUQCo9jB0rTdJl9CLuDikzfN8A+AHSqnfEYiBShqBowJQ7mEcGvXh9zp0JKZw7H/qxwBwf38vDH3n35VS31w8EAM46o37nJR7IM3P16EMRuL80uXAcs/zvM/nxP39fTALILMBmRGHrgFpw1H/d+Lu7nXsK5JmGWutxZhyPwHko/M1DWWOcvUSyO3tq3rjPrfAqlrv0fX5Iz7fgNicV+R5fuxd9+Vz8hxtIJmyfGcBMhJH2VI5fQtL14ZYuu9nXUcyxWR7j6NZjr3Oz2ckkwMxgKOtYsSZSIoeFfykEQxBYrsCp1qFauAYFF+ReAPk9vbVrmVYJQYg0bVhlujTW9zevtq5dG1k6uVZE0BsIrEJZVIgI3HgxLCqfi2jAHBo0LLja4uxQ6g5Ks5XHL4i8QXIA9pXmXTHSoro+PeHv4vxuIw7yRzBRMXNcVHPNA7bQKz8QJoKyMjeQ7c09CYKWfv7LhyHHiOZsqGNrbRQcBCI4UquzTvaeouuIVcTSP1zwuZwykbFhYTDRySTABnRe1QNHBrdV79PZi4cQyttZhxDL8QGhcRZIHscBwBVA0l9Ut61kqX3KCI4knMrbUogtnuNqcF4A2Rk79HsIQ4XCWXHfOTQU0g4mHMqbUk4bKExsjjiIpAOHJ3l4DqMWkP8XCn18x5l9msAP1oiCpNQlgDk5DxjqqVagw3zT0qp77SU0wrAdwF8CuCnBsq9OJS9lBJpmsrdblcB0HEci4uLi8RmA+0LsOu7m5+fC4lVIANxoDEhb4OiXe8tTjScPwP4sVLqn/ty+iqAvwD4F4AbAN8a+v1SygKAllKiLMt6XUAIgTiORZqmMo5jaQPGOVhOfb8JJCED6UTiW6/RUukawKdKqd8KIb4B4PcAHgB8ZT/Puhrw1UWtzMVj29BHHFEUIU1TmWVZr0ULG6tM9Qbf9/uHfMYkEqeAnHo60MTGClNVSh8kWuufvXnz5ocAPsH/V+vSAeVcPG0P+ohCSikA6Kqq9Hq9TufCYaAuNAY+jOUkEAO9x+w4bA853r17V1ZVVWito9rw8axlaSllUVUVhHj8eBw/XuqpqkoLIbBer8+6a8AlHG1AhhxjnufXSqn/eg3EBRx9J5djG1Ge59hsNtXDw4Muy1I0hpHRmeVcRFEEIQS01ojjWMRxLJIkGTRHcw1IY1iKIb1InudfAvi+UuqvwQFxDYephpRlWVkUBfZAjh3CkOFVkiQyyzIRx/GouZmLOBpAxJjjzPP8a0qpfwc1xHJhaGWjUa1Wq+rDhw/Yl//gFbn9PANJkiDLMoQGpOvWl6km7E4DcR3HmMqK47gqimIUjn05I4oiXFxcIEmSoHA8VzdjjvesOxpcXcUyjSNN0w9XV1eXzYI9A0fbLfd638DFXA1MCAEpJW5ubkLuPYwec57nN0qp994B2SM57Ek1+kKglHKzX/LUUkq9Xq9XI76ueUdxs7JmuylSSokXL14QiIVexEUgFYBqzK3pQoiN1loeGrOUUqdpqi8vL1cjcOhnehQA0Pf397PcTp9lGVarVVBA9ntwtd2xbeyY+yBx7l6s29tX5dBb1GswjkunQogqSRJcXV1djG0seZ5XDSD1JdpZgAghsD+/SYHYmBs0cDw5TQIZn+3jfyeOJ34YWt3c3GSmGkoDyZOeZOph1mH+kWXZ5CtYNq4XPbNzo5hrmBUKkK14fOu9kFKiqqoDkCrLMnF5eZmYbCQtPQn2E3U5B5CxE3RbQPp+f489f8VccxGnH7k9I81tgQ6/VnmeJ6YbSEsvUv+eyZBEUWQEx8AyMHkqeiiOsVCWBOSj59SjKNI3NzexhcbRtYnEpEBevnx5vAcrUCDC5jksCUhzK1EhhNBxHIvr62srzz109SJLADICR9eKlDaBw1sgEyApmwUrpUQURTgFZCCOrnPRPgPpuUhhqqcQzwARtpEvEYhoTmDTNBWr1cr4CshzQKbqRQ6Tc9NAniuXATiab+/CM0B6v1JhynmIF1uP9kh9k4djpcRxjPV6bXwN/cSqyyS9iOkJ+gQx1ktM2YuECKTZiIQpGH2AmHpP34lyRBRFWK/XvuKwCsVbIBaRVF0FnSQJdrudsUo4tWZvG8hh84U0TXF5eekyCHHizwQyIRBjy4RnAPloRWaK3qPH8bnYW1iZkAcJxAKS5uvArO0p2+g9nAQyM5I+y7Xe9B4hANG2Ctq1oZVHUE6tVh3LqnbHLoEYRjLZioivOBwCcrKMTB7ngHvKcqXUG+eAGEQyKw6XgcyARA8tn7neg5jn+deVUv8IEYj1XF9fI0kS7SuOGcDoMeUzx94AeZ7/QSn1PSeBuIwkSRJUVYU4jrFarXQoQCxi0SbKY8wxjbgz4hcAvlBK/dE5IC4iOVxrONzGcXju4urqSoeCwzQU2xtd2z6Orsm6E0Bc7kkO+05VVQUp5fERVykl3r9/j1AypGHaeo59IJLBe/cSiIEepf4rAFRVhdAy5c6SlnoR40icAeLDpL0OxqVym7pxTrEDysA7h0cNfZ0H4hOSkDPFDveGkYxaPXsOiXDxJyGREMgZQDrvwzPxbIhwdahAJO4hmWNzuR5IjAJpIhEuj6WJhEB6HOOzd3KP7UWE65NNInECyOgJsMXjPPmow5gbGIUPqzFEMjsSZ4F0HeeigBCKO73IECC2X4pqemHBWyBE4sQwq9fkd+qVMAIhFGeAPNfoGnOC1tcX2AJSliU2mw2klNi//xFCiLPveggCCJFMDuQjJB1/1zZZ1mPnBVMmGCCE4hSQNiTNHqRXL0QghOIbkHM3WuhTDzaQGHnK1HkgQxr6k5MiFFNAxmyn9NFni6IQVVVBCIGHhwcUReHkXdFOAzHRuOtvmGIzH9V7jNpvbLfbHX+/3W6Pd0DvX3/NOcjcQyT2KtMD2W63xycwt9styrJEWZZenftigLSdMMGczmq1OrzzsPd7O7bbLaSUeHh4gNYaZVl6+1CZk0BsN9iTG4QRTHNi3jWXEG09RlEU0FpDa/1kaEUgHuDoi2TJcA6bVGRZhouLi15ANpsNiqKAEAK73e74pKXvK6OLBTIUyVKgSCkhpUSSJCeRFEWB7Xb7pLcI4ZKBcw9MzdHwzkWypOFXkiSIoqjt1QpProW8ffsWQHibVzgDZO5Gdw6SJQGRUj4ZcjX3BwNwXJkKbeOK2TdtcKmhEQjjBBBXGxeBMH3ag1UgLjcsAmH6tAVrQFxvVATC9GkHVoD40KAIhOnTBowDCQ0HgSwXh3EgIeIgkGXCWCSQoVfRiWR5MBYHZAwOIlkWCgIhEIIgEHsFRyhhNH4CsViwRBIWhEmAuNRwpixoYgkThxUgLjSYOQuaWAjE2cbiXPdMLF7jsA7EdsNxtVCJLJw6FKG+rXXpCfWuBgJhpob0EwC/IgwCYWbqgXweChMIwxAIwxAIwxAIwxAIwxAIwxAIwxAIw4Sa/wGDtUAHUuMNRQAAAABJRU5ErkJggg==",Ui="./assets/elf.9fbfa563.png",ji="./assets/paperStacks.4c96ec8c.png";const G=Tt("main",function(){const e=Fe(1),t=x(!1),n=x(-1),i=x(""),s=x();function l(f){const d=Fe(!1);return Le(()=>{const _=f(),y=Be(_.shouldNotify);return{..._,opened:d,shouldNotify:y,[bt]:Ya,[_t]:function(){const{day:v,layer:p,symbol:w,opened:S,shouldNotify:H,story:ae,completedStory:C}=this;return{day:v,symbol:w,opened:S,shouldNotify:H,onOpenLore(){var ue,we;const N=G.day.value>v;n.value=N?v-1:-1;const O=r((we=(ue=$e[p!=null?p:"trees"])==null?void 0:ue.name)!=null?we:"");i.value=N?`${O} - Completed!`:O,s.value=N?`${ae}
${C}`:ae,t.value=!0},onOpenLayer(){if(window.matchMedia("(min-width: 1468px)").matches)if(A.tabs.includes(p!=null?p:"trees")){const N=A.tabs.lastIndexOf(p!=null?p:"trees");A.tabs.splice(N,1)}else A.tabs.push(p!=null?p:"trees"),G.minimized.value=!0;else A.tabs.splice(1,1/0,p!=null?p:"trees")},onUnlockLayer(){S.value=!0,setTimeout(()=>{var N,O;n.value=-1,i.value=r((O=(N=$e[p!=null?p:"trees"])==null?void 0:N.name)!=null?O:""),s.value=ae,A.devSpeed=null,t.value=!0},1e3)}}}}})}const u=[l(()=>({day:1,shouldNotify:!1,layer:"trees",symbol:Li,story:"Oh no! Santa forgot about Christmas and it's only 25 days away! He's asked for your help due to your history getting large quantities of things in short amounts of time. Unfortunately you're really starting from scratch here - let's start with getting wood, which you'll need for everything from building workshops to wrapping paper to many of the toys themselves!",completedStory:"Santa looks at all the wood you've gathered and tells you you've done well! He says you should take the rest of the day off so you're refreshed for tomorrow's work. Good Job!"})),l(()=>({day:2,shouldNotify:!1,layer:"workshop",symbol:Gi,story:"Santa looked over your tree farm and was impressed with how much you could accomplish in just one day. Today's goal is to get a workshop built up for the elves to work in - and apparently, they need quite a lot of space to work!",completedStory:"The workshop complete, Santa once again dismisses you for the day. With a strong foundation, this workshop should suffice for supporting future work toward this impossible mission. Good Job!"})),l(()=>({day:3,shouldNotify:!1,layer:"coal",symbol:Hi,story:"Santa tells you that unfortunately there are quite a few naughty children out there this year, and he's going to need you to gather as much coal as you can for him to give out.",completedStory:"Santa looks at all the coal you've gathered and tells you you've done well! He says you should take the rest of the day off so you're refreshed for tomorrow's work. Good Job!"})),l(()=>({day:4,shouldNotify:!1,layer:"elves",symbol:Ui,story:"Alright, it seems you finally have enough things setup to start bringing in the elves! Unfortunately, it seems they'll need to be retrained on how to help, since they're out of practice by 11 months!",completedStory:"The workshop now hums with the bustling elves working everything. They can take it from here - you deserve a break after such a long day! Good Job!"})),l(()=>({day:5,shouldNotify:!1,layer:"paper",symbol:ji,story:"With the elves trained, we're almost ready to start working on these presents! Just a couple more pre-reqs first, starting with turning all this wood into wood pulp and finally into paper, which will be required for wrapping paper later on but in the meantime can be used to help write guides to help these elves continue their education!",completedStory:"You look upon your rivers of book pulp as you hand out stacks of papers to elves to read through. You've continued getting closer and closer to preparing for Christmas, and can go to bed satisfied with your progress. Good Job!"})),l(()=>({day:6,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:7,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:8,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:9,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:10,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:11,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:12,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:13,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:14,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:15,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:16,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:17,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:18,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:19,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:20,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:21,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:22,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:23,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""})),l(()=>({day:24,shouldNotify:!1,layer:null,symbol:"",story:"",completedStory:""}))];function c(){n.value=e.value-1,i.value="Day Complete!",s.value=u[e.value-1].completedStory,t.value=!0,e.value++,G.minimized.value=!1,A.devSpeed=0}return{name:"Calendar",days:u,day:e,loreScene:n,loreTitle:i,loreBody:s,showLoreModal:t,completeDay:c,minWidth:700,display:B(()=>o(D,null,[A.devSpeed===0?o("div",null,[g("Game Paused")]):null,A.devSpeed&&A.devSpeed!==1?o("div",null,[g("Dev Speed: "),ee(A.devSpeed),g("x")]):null,A.offlineTime?o("div",null,[g("Offline Time: "),Mn(A.offlineTime)]):null,o(Pe,null,null),o("div",{class:"advent"},[u.reduce((f,d)=>(f[f.length-1].length===4&&f.push([]),f[f.length-1].push(d),f),[[]]).map(f=>Ge(...f))])]))}}),zl=e=>[G,te,qe,le,ht,he],Xn=I(()=>!1);function Wl(e,t){t.offlineProd=!1}var zi=Object.freeze(Object.defineProperty({__proto__:null,main:G,getInitialLayers:zl,hasWon:Xn,fixOldSave:Wl},Symbol.toStringTag,{value:"Module"}));const Ql={class:"scene"},Kl=["src"],Jl=["src"],Xl=["src"],Zl=["src"],Yl={key:4,class:"scene-bubble",style:{left:"50%",bottom:"38%"}},er=["src"],tr=L({__name:"Scene",props:{day:null},setup(e){return(t,n)=>(b(),M("div",Ql,[e.day>=0?(b(),M("img",{key:0,src:r(Li),class:"scene-item",style:{left:"10%",bottom:"10%"}},null,8,Kl)):P("",!0),e.day>=1?(b(),M("img",{key:1,src:r(Gi),class:"scene-item",style:{left:"40%",bottom:"12%"}},null,8,Jl)):P("",!0),e.day>=2?(b(),M("img",{key:2,src:r(Hi),class:"scene-item",style:{left:"65%",bottom:"12%",width:"40px",height:"40px"}},null,8,Xl)):P("",!0),e.day>=3?(b(),M("img",{key:3,src:r(Ui),class:"scene-item",style:{left:"52%",bottom:"12%"}},null,8,Zl)):P("",!0),e.day>=4?(b(),M("div",Yl,[e.day>=4?(b(),M("img",{key:0,src:r(ji),class:"scene-item"},null,8,er)):P("",!0)])):P("",!0)]))}});var nr=Y(tr,[["__scopeId","data-v-4d1b4c52"]]);const ir=L({components:{Context:xi},props:{index:{type:Number,required:!0},tab:{type:Function,required:!0},display:{type:E(Object,String,Function),required:!0},minimized:{type:Object,required:!0},minWidth:{type:E(Number,String),required:!0},name:{type:E(String),required:!0},color:E(String),minimizable:E(Boolean),nodes:{type:Object,required:!0}},setup(e){const{display:t,index:n,minimized:i,minWidth:s,tab:l}=Se(e),u=Ti(t),c=I(()=>K.allowGoBack&&n.value>0&&!i.value);function f(){A.tabs.splice(r(e.index),1)}Pt(()=>_(i.value,r(s.value))),Je([i,wa(s)],([y,v])=>_(y,v));function d(y){e.nodes.value=y}function _(y,v){const p=typeof v=="number"||Number.isNaN(parseInt(v))?v+"px":v,w=l.value();w!=null&&(y?(w.style.flexGrow="0",w.style.flexShrink="0",w.style.width="60px",w.style.minWidth=w.style.flexBasis="",w.style.margin="0"):(w.style.flexGrow="",w.style.flexShrink="",w.style.width="",w.style.minWidth=w.style.flexBasis=p,w.style.margin=""))}return{component:u,showGoBack:c,updateNodes:d,unref:r,goBack:f}}});function sr(e,t,n,i,s,l){const u=yt("Context");return b(),M("div",{class:"layer-container",style:be({"--layer-color":e.unref(e.color)})},[e.showGoBack?(b(),M("button",{key:0,class:"goBack",onClick:t[0]||(t[0]=(...c)=>e.goBack&&e.goBack(...c))},"\u274C")):P("",!0),e.minimized.value?(b(),M("button",{key:1,class:"layer-tab minimized",onClick:t[1]||(t[1]=c=>e.minimized.value=!1)},[m("div",null,z(e.unref(e.name)),1)])):(b(),M("div",{key:2,class:ye(["layer-tab",{showGoBack:e.showGoBack}])},[o(u,{onUpdateNodes:e.updateNodes},{default:q(()=>[(b(),U(Me(e.component)))]),_:1},8,["onUpdateNodes"])],2)),e.unref(e.minimizable)?(b(),M("button",{key:3,class:"minimize",onClick:t[2]||(t[2]=c=>e.minimized.value=!0)}," \u25BC ")):P("",!0)],4)}var ar=Y(ir,[["render",sr],["__scopeId","data-v-0158bec3"]]);const Wi=e=>(rt("data-v-4b4bda40"),e=e(),ot(),e),lr=Wi(()=>m("h2",null,"Changelog",-1)),rr=Wi(()=>m("details",{open:""},[m("summary",null,[g("v0.0 Initial Commit - "),m("time",null,"2021-09-04")]),g(" This is the first release :D "),m("ul",null,[m("li",{class:"feature"},"Did everything"),m("li",{class:"fix"},"Had some fun"),m("li",{class:"breaking"},"Removed everything"),m("li",{class:"balancing"},"Created some bugs to fix later")])],-1)),or=L({__name:"Changelog",setup(e,{expose:t}){const n=x(!1);return t({open(){n.value=!0}}),(i,s)=>(b(),U(Xe,{modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=l=>n.value=l)},{header:q(()=>[lr]),body:q(()=>[rr]),_:1},8,["modelValue"]))}});var ur=Y(or,[["__scopeId","data-v-4b4bda40"]]),cr=L({props:{element:Object,display:{type:E(Object,String,Function),required:!0},style:E(Object,String,Array),classes:E(Object),direction:E(String),xoffset:E(String),yoffset:E(String),pinned:Object},setup(e){const{element:t,display:n,pinned:i}=Se(e),s=x(!1),l=I(()=>(_e(i)||s.value)&&u.value),u=Et(n),c=ze(X(B(()=>{const _=_e(t);return _==null?"":it(_)})));function f(_){const y=i;_.shiftKey&&y&&(y.value=!y.value,_.stopPropagation(),_.preventDefault())}const d=I(()=>_e(i)&&on[re.theme].showPin);return{Direction:J,isHovered:s,isShown:l,comp:u,elementComp:c,unref:r,togglePinned:f,showPin:d}}});const dr={key:0,class:"material-icons pinned"};function fr(e,t,n,i,s,l){return b(),M("div",{class:ye(["tooltip-container",{shown:e.isShown}]),onMouseenter:t[0]||(t[0]=u=>e.isHovered=!0),onMouseleave:t[1]||(t[1]=u=>e.isHovered=!1),onClickCapture:t[2]||(t[2]=(...u)=>e.togglePinned&&e.togglePinned(...u))},[nt(e.$slots,"default",{},void 0,!0),e.elementComp?(b(),U(Me(e.elementComp),{key:0})):P("",!0),o(Sn,{name:"fade"},{default:q(()=>{var u;return[e.isShown?(b(),M("div",{key:0,class:ye(["tooltip",{top:e.unref(e.direction)===e.Direction.Up,left:e.unref(e.direction)===e.Direction.Left,right:e.unref(e.direction)===e.Direction.Right,bottom:e.unref(e.direction)===e.Direction.Down,...e.unref(e.classes)}]),style:be([{"--xoffset":e.unref(e.xoffset)||"0px","--yoffset":e.unref(e.yoffset)||"0px"},(u=e.unref(e.style))!=null?u:{}])},[e.showPin?(b(),M("span",dr,"push_pin")):P("",!0),e.comp?(b(),U(Me(e.comp),{key:1})):P("",!0)],6)):P("",!0)]}),_:1})],34)}var ve=Y(cr,[["render",fr],["__scopeId","data-v-6102fa3a"]]);const mr={class:"info-modal-header"},pr=["src","alt"],hr={class:"info-modal-title"},gr={key:0},vr={key:0},yr={key:0},br=m("div",null," Made in Profectus, by thepaperpilot with inspiration from Acameada and Jacorb ",-1),_r=m("br",null,null,-1),wr=m("br",null,null,-1),kr=["href"],Nr=m("span",{class:"material-icons info-modal-discord"},"discord",-1),Cr=m("div",null,[m("a",{href:"https://discord.gg/WzejVAx",class:"info-modal-discord-link"},[m("span",{class:"material-icons info-modal-discord"},"discord"),g(" The Paper Pilot Community ")])],-1),Sr=m("div",null,[m("a",{href:"https://discord.gg/F3xveHV",class:"info-modal-discord-link"},[m("span",{class:"material-icons info-modal-discord"},"discord"),g(" The Modding Tree ")])],-1),Mr=m("br",null,null,-1);var Ir=L({__name:"Info",props:{changelog:null},setup(e,{expose:t}){const n=e,{title:i,logo:s,author:l,discordName:u,discordLink:c,versionNumber:f,versionTitle:d}=K,_=Se(n),y=x(!1),v=I(()=>Mn(A.timePlayed)),p=I(()=>X(B(()=>o(D,null,[Ai.map(me)]))));t({open(){y.value=!0}});function w(){var S;(S=r(_.changelog))==null||S.open()}return(S,H)=>(b(),U(Xe,{modelValue:y.value,"onUpdate:modelValue":H[0]||(H[0]=ae=>y.value=ae)},{header:q(()=>[m("div",mr,[r(s)?(b(),M("img",{key:0,class:"info-modal-logo",src:r(s),alt:r(i)},null,8,pr)):P("",!0),m("div",hr,[m("h2",null,z(r(i)),1),m("h4",null,[g(" v"+z(r(f)),1),r(d)?(b(),M("span",gr,": "+z(r(d)),1)):P("",!0)])])])]),body:q(({shown:ae})=>[ae?(b(),M("div",vr,[r(l)?(b(),M("div",yr,"By "+z(r(l)),1)):P("",!0),br,_r,m("div",{class:"link",onClick:w},"Changelog"),wr,m("div",null,[r(c)?(b(),M("a",{key:0,href:r(c),class:"info-modal-discord-link"},[Nr,g(" "+z(r(u)),1)],8,kr)):P("",!0)]),Cr,Sr,Mr,m("div",null,"Time Played: "+z(r(v)),1),(b(),U(Me(r(p))))])):P("",!0)]),_:1},8,["modelValue"]))}});const Ar={class:"field"},Pr=L({__name:"Toggle",props:{title:null,modelValue:{type:Boolean}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,i=I(()=>X(r(n.title)||"","span")),s=I({get(){return!!n.modelValue},set(l){t("update:modelValue",l)}});return(l,u)=>(b(),M("label",Ar,[Vn(m("input",{type:"checkbox",class:"toggle","onUpdate:modelValue":u[0]||(u[0]=c=>Ne(s)?s.value=c:null)},null,512),[[ls,r(s)]]),(b(),U(Me(r(i))))]))}});var Lt=Y(Pr,[["__scopeId","data-v-2b109500"]]);const Qi=e=>(rt("data-v-1975661c"),e=e(),ot(),e),$r=Qi(()=>m("div",{class:"header"},[m("h2",null,"Options")],-1)),Er=Qi(()=>m("hr",null,null,-1));var Tr=L({__name:"Options",setup(e,{expose:t}){const n=x(!1);t({open(){n.value=!0}});const i=Object.keys(on).map(p=>({label:wi(p),value:p})),s=I(()=>X(B(()=>o(D,null,[Ii.map(me)])))),{showTPS:l,theme:u,unthrottled:c}=Se(re),{autosave:f,offlineProd:d}=Se(A),_=I({get(){return A.devSpeed===0},set(p){A.devSpeed=p?0:null}});B(()=>o("span",null,[g("Offline Production"),o(ve,{display:"Save-specific"},{default:()=>[g("*")]})]));const y=B(()=>o("span",null,[g("Autosave"),o(ve,{display:"Save-specific"},{default:()=>[g("*")]})])),v=B(()=>o("span",null,[g("Pause game"),o(ve,{display:"Save-specific"},{default:()=>[g("*")]})]));return(p,w)=>(b(),U(Xe,{modelValue:n.value,"onUpdate:modelValue":w[4]||(w[4]=S=>n.value=S)},{header:q(()=>[$r]),body:q(()=>[o(Jn,{title:"Theme",options:r(i),modelValue:r(u),"onUpdate:modelValue":w[0]||(w[0]=S=>Ne(u)?u.value=S:null)},null,8,["options","modelValue"]),(b(),U(Me(r(s)))),o(Lt,{title:"Show TPS",modelValue:r(l),"onUpdate:modelValue":w[1]||(w[1]=S=>Ne(l)?l.value=S:null)},null,8,["modelValue"]),Er,o(Lt,{title:r(y),modelValue:r(f),"onUpdate:modelValue":w[2]||(w[2]=S=>Ne(f)?f.value=S:null)},null,8,["title","modelValue"]),r(K).enablePausing?(b(),U(Lt,{key:0,title:r(v),modelValue:r(_),"onUpdate:modelValue":w[3]||(w[3]=S=>Ne(_)?_.value=S:null)},null,8,["title","modelValue"])):P("",!0)]),_:1},8,["modelValue"]))}});var xr=Y(Tr,[["__scopeId","data-v-1975661c"]]);const Br=["onSubmit"],Fr={class:"field"},Dr={key:0,class:"field-title"},Or=["placeholder"],Rr=L({__name:"Text",props:{title:null,modelValue:null,textArea:{type:Boolean},placeholder:null,maxHeight:null,submitOnBlur:{type:Boolean}},emits:["update:modelValue","submit","cancel"],setup(e,{emit:t}){const n=e,i=Et(lt(n,"title"),"span"),s=ze(null);Cn(()=>{var f;(f=s.value)==null||f.focus()});const l=I({get(){return r(n.modelValue)||""},set(f){t("update:modelValue",f)}});function u(){t("submit")}function c(){n.submitOnBlur!==!1?t("submit"):t("cancel")}return(f,d)=>(b(),M("form",{onSubmit:tn(u,["prevent"])},[m("div",Fr,[r(i)?(b(),M("span",Dr,[(b(),U(Me(r(i))))])):P("",!0),e.textArea?(b(),U(r(ms),{key:1,modelValue:r(l),"onUpdate:modelValue":d[0]||(d[0]=_=>Ne(l)?l.value=_:null),placeholder:e.placeholder,maxHeight:e.maxHeight,onBlur:c,ref_key:"field",ref:s},null,8,["modelValue","placeholder","maxHeight"])):Vn((b(),M("input",{key:2,type:"text","onUpdate:modelValue":d[1]||(d[1]=_=>Ne(l)?l.value=_:null),placeholder:e.placeholder,class:ye({fullWidth:!e.title}),onBlur:c,ref_key:"field",ref:s},null,42,Or)),[[rs,r(l)]])])],40,Br))}});var Ki=Y(Rr,[["__scopeId","data-v-67b44a54"]]);const qr={key:0},Vr=["onClick","disabled"],Lr={key:0},Gr=["onClick"],Hr=L({__name:"DangerButton",props:{disabled:{type:Boolean},skipConfirm:{type:Boolean}},emits:["click","confirmingChanged"],setup(e,{emit:t}){const i=Se(e),s=x(!1);Je(s,c=>{t("confirmingChanged",c)});function l(){if(r(i.skipConfirm)){t("click");return}s.value&&t("click"),s.value=!s.value}function u(){s.value=!1}return(c,f)=>(b(),M("span",{class:ye(["container",{confirming:s.value}])},[s.value?(b(),M("span",qr,"Are you sure?")):P("",!0),m("button",{onClick:tn(l,["stop"]),class:"button danger",disabled:e.disabled},[s.value?(b(),M("span",Lr,"Yes")):nt(c.$slots,"default",{key:1},void 0,!0)],8,Vr),s.value?(b(),M("button",{key:1,class:"button",onClick:tn(u,["stop"])},"No",8,Gr)):P("",!0)],2))}});var Ur=Y(Hr,[["__scopeId","data-v-2f8ef34c"]]);const jr=["onClick"],zr=L({__name:"FeedbackButton",props:{left:{type:Boolean}},emits:["click"],setup(e,{emit:t}){const n=x(!1),i=x(null);function s(){t("click"),i.value&&clearTimeout(i.value),n.value=!1,Pt(()=>{n.value=!0,i.value=setTimeout(()=>n.value=!1,500)})}return(l,u)=>(b(),M("button",{onClick:tn(s,["stop"]),class:ye(["feedback",{activated:n.value,left:e.left}])},[nt(l.$slots,"default",{},void 0,!0)],10,jr))}});var Wr=Y(zr,[["__scopeId","data-v-01a1b95c"]]);const ut=e=>(rt("data-v-5285ac49"),e=e(),ot(),e),Qr=ut(()=>m("div",{class:"handle material-icons"},"drag_handle",-1)),Kr={key:0,class:"actions"},Jr=ut(()=>m("span",{class:"material-icons"},"content_paste",-1)),Xr=ut(()=>m("span",{class:"material-icons"},"content_copy",-1)),Zr=ut(()=>m("span",{class:"material-icons"},"edit",-1)),Yr=ut(()=>m("span",{class:"material-icons",style:{margin:"-2px"}},"delete",-1)),eo={key:1,class:"actions"},to=ut(()=>m("span",{class:"material-icons"},"check",-1)),no=ut(()=>m("span",{class:"material-icons"},"close",-1)),io={key:2,class:"details"},so={class:"save-version"},ao=ut(()=>m("br",null,null,-1)),lo={key:0},ro={key:1},oo={key:3,class:"details"},uo={key:4,class:"details error"},co=ut(()=>m("br",null,null,-1)),fo=L({__name:"Save",props:{save:null},emits:["export","open","duplicate","delete","editName"],setup(e,{emit:t}){const n=e,{save:i}=Se(n),s=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}),l=x(!1),u=x(!1),c=x("");Je(l,()=>c.value=i.value.name||"");const f=I(()=>i.value&&i.value.id===A.id),d=I(()=>f.value?A.time:i.value&&i.value.time||0),_=Ti(I(()=>{var v,p,w,S;return`Day ${(S=(w=(p=(v=i.value)==null?void 0:v.layers)==null?void 0:p.main)==null?void 0:w.day)!=null?S:1}`}));function y(){t("editName",c.value),l.value=!1}return(v,p)=>(b(),M("div",{class:ye(["save",{active:r(f)}])},[Qr,l.value?(b(),M("div",eo,[m("button",{onClick:y,class:"button"},[o(ve,{display:"Save",direction:r(J).Left,class:"info"},{default:q(()=>[to]),_:1},8,["direction"])]),m("button",{onClick:p[5]||(p[5]=w=>l.value=!l.value),class:"button"},[o(ve,{display:"Cancel",direction:r(J).Left,class:"info"},{default:q(()=>[no]),_:1},8,["direction"])])])):(b(),M("div",Kr,[r(i).error==null&&!u.value?(b(),U(Wr,{key:0,onClick:p[0]||(p[0]=w=>t("export")),class:"button",left:""},{default:q(()=>[o(ve,{display:"Export",direction:r(J).Left,class:"info"},{default:q(()=>[Jr]),_:1},8,["direction"])]),_:1})):P("",!0),r(i).error==null&&!u.value?(b(),M("button",{key:1,onClick:p[1]||(p[1]=w=>t("duplicate")),class:"button"},[o(ve,{display:"Duplicate",direction:r(J).Left,class:"info"},{default:q(()=>[Xr]),_:1},8,["direction"])])):P("",!0),r(i).error==null&&!u.value?(b(),M("button",{key:2,onClick:p[2]||(p[2]=w=>l.value=!l.value),class:"button"},[o(ve,{display:"Edit Name",direction:r(J).Left,class:"info"},{default:q(()=>[Zr]),_:1},8,["direction"])])):P("",!0),o(Ur,{disabled:r(f),onClick:p[3]||(p[3]=w=>t("delete")),onConfirmingChanged:p[4]||(p[4]=w=>u.value=w)},{default:q(()=>[o(ve,{display:"Delete",direction:r(J).Left,class:"info"},{default:q(()=>[Yr]),_:1},8,["direction"])]),_:1},8,["disabled"])])),r(i).error==null&&!l.value?(b(),M("div",io,[m("button",{class:"button open",onClick:p[6]||(p[6]=w=>t("open"))},[m("h3",null,z(r(i).name),1)]),m("span",so,"v"+z(r(i).modVersion),1),ao,r(d)?(b(),M("div",lo,"Last played "+z(r(s).format(r(d))),1)):P("",!0),r(_)?(b(),M("div",ro,[(b(),U(Me(r(_))))])):P("",!0)])):r(i).error==null&&l.value?(b(),M("div",oo,[o(Ki,{modelValue:c.value,"onUpdate:modelValue":p[7]||(p[7]=w=>c.value=w),class:"editname",onSubmit:y},null,8,["modelValue"])])):(b(),M("div",uo,[g(" Error: Failed to load save with id "+z(r(i).id),1),co,g(z(r(i).error),1)]))],2))}});var mo=Y(fo,[["__scopeId","data-v-5285ac49"]]);const Zn=e=>(rt("data-v-3b9991aa"),e=e(),ot(),e),po=Zn(()=>m("h2",null,"Saves Manager",-1)),ho={class:"modal-footer"},go={class:"field"},vo=Zn(()=>m("span",{class:"field-title"},"Create Save",-1)),yo={class:"field-buttons"},bo={class:"footer"},_o=Zn(()=>m("div",{style:{"flex-grow":"1"}},null,-1)),wo=L({__name:"SavesManager",setup(e,{expose:t}){const n=x(!1),i=x(null);t({open(){n.value=!0}});const s=x(!1),l=x(""),u=x(null);Je(l,C=>{C?Pt(()=>{try{if(C[0]!=="{")if(C[0]==="e")C=decodeURIComponent(escape(atob(C)));else if(C[0]==="\u1BE1")C=gt.decompressFromUTF16(C);else{console.warn("Unable to determine preset encoding",C),s.value=!0;return}const N=JSON.parse(C);if(typeof N!="object"){s.value=!0;return}const O=gn();N.id=O,Qe(N),l.value="",s.value=!1,re.saves.push(O)}catch{s.value=!0}}):s.value=!1});let c={},f=x(Object.keys(c).reduce((C,N)=>(C.push({label:N.split("/").slice(-1)[0].slice(0,-4),value:c[N]}),C),[]));const d=Nn({});function _(C){if(d[C]==null){let N=localStorage.getItem(C);if(N==null)d[C]={error:"Save doesn't exist in localStorage",id:C};else if(N==="dW5kZWZpbmVk")d[C]={error:"Save is undefined",id:C};else try{if(N[0]!=="{")if(N[0]==="e")N=decodeURIComponent(escape(atob(N)));else if(N[0]==="\u1BE1")N=gt.decompressFromUTF16(N);else return console.warn("Unable to determine preset encoding",N),s.value=!0,d[C]={error:"Unable to determine preset encoding",id:C},d[C];d[C]={...JSON.parse(N),id:C}}catch(O){d[C]={error:O,id:C},console.warn(`SavesManager: Failed to load info about save with id ${C}: -${O} -${N}`)}}return d[C]}Je(n,C=>{C&&Object.keys(d).forEach(N=>delete d[N])});const y=I(()=>re.saves.reduce((C,N)=>(C[N]=_(N),C),{}));function v(C){let N;switch(A.id===C?N=Ci(A[de]):N=JSON.stringify(y.value[C]),K.exportEncoding){default:console.warn(`Unknown save encoding: ${K.exportEncoding}. Defaulting to lz`);case"lz":N=gt.compressToUTF16(N);break;case"base64":N=btoa(unescape(encodeURIComponent(N)));break;case"plain":break}const O=document.createElement("textarea");O.value=N,document.body.appendChild(O),O.select(),O.setSelectionRange(0,99999),document.execCommand("copy"),document.body.removeChild(O)}function p(C){A.id===C&&Qe();const N={...y.value[C],id:gn()};Qe(N),re.saves.push(N.id)}function w(C){re.saves=re.saves.filter(N=>N!==C),localStorage.removeItem(C),d[C]=void 0}function S(C){y.value[A.id].time=A.time,Qe(),d[A.id]=void 0,It(y.value[C]),d[C]=void 0}function H(C){if(u.value=C,Pt(()=>{u.value=null}),C[0]!=="{")if(C[0]==="e")C=decodeURIComponent(escape(atob(C)));else if(C[0]==="\u1BE1")C=gt.decompressFromUTF16(C);else{console.warn("Unable to determine preset encoding",C);return}const N=JSON.parse(C);N.id=gn(),Qe(N),re.saves.push(N.id),S(N.id)}function ae(C,N){const O=y.value[C];O&&(O.name=N,A.id===C?(A.name=N,Qe()):(Qe(O),d[C]=void 0))}return(C,N)=>(b(),U(Xe,{modelValue:n.value,"onUpdate:modelValue":N[4]||(N[4]=O=>n.value=O),ref_key:"modal",ref:i},{header:q(()=>[po]),body:q(({shown:O})=>[O?(b(),U(r(fs),{key:0,list:r(re).saves,handle:".handle",itemKey:ue=>ue},{item:q(({element:ue})=>[o(mo,{save:r(y)[ue],onOpen:we=>S(ue),onExport:we=>v(ue),onEditName:we=>ae(ue,we),onDuplicate:we=>p(ue),onDelete:we=>w(ue)},null,8,["save","onOpen","onExport","onEditName","onDuplicate","onDelete"])]),_:1},8,["list","itemKey"])):P("",!0)]),footer:q(()=>[m("div",ho,[o(Ki,{modelValue:l.value,"onUpdate:modelValue":N[0]||(N[0]=O=>l.value=O),title:"Import Save",placeholder:"Paste your save here!",class:ye({importingFailed:s.value})},null,8,["modelValue","class"]),m("div",go,[vo,m("div",yo,[m("button",{class:"button",onClick:N[1]||(N[1]=O=>S(r(Rt)().id))},"New Game"),Object.keys(r(f)).length>0?(b(),U(Jn,{key:0,options:r(f),modelValue:u.value,"onUpdate:modelValue":N[2]||(N[2]=O=>H(O)),closeOnSelect:"",placeholder:"Select preset",class:"presets"},null,8,["options","modelValue"])):P("",!0)])]),m("div",bo,[_o,m("button",{class:"button modal-default-button",onClick:N[3]||(N[3]=O=>n.value=!1)}," Close ")])])]),_:1},8,["modelValue"]))}});var Ji=Y(wo,[["__scopeId","data-v-3b9991aa"]]);const He=e=>(rt("data-v-4a3f8425"),e=e(),ot(),e),ko=["src","alt"],No={key:1,class:"title"},Co=He(()=>m("div",{style:{"flex-grow":"1",cursor:"unset"}},null,-1)),So={class:"discord"},Mo={class:"discord-links"},Io={key:0},Ao=["href"],Po=He(()=>m("li",null,[m("a",{href:"https://discord.gg/WzejVAx",target:"_blank"},"The Paper Pilot Community")],-1)),$o=He(()=>m("li",null,[m("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),Eo={href:"https://forums.moddingtree.com/",target:"_blank"},To=He(()=>m("span",{class:"material-icons"},"forum",-1)),xo=He(()=>m("span",{class:"material-icons"},"info",-1)),Bo=He(()=>m("span",{class:"material-icons"},"library_books",-1)),Fo=He(()=>m("span",{class:"material-icons"},"settings",-1)),Do=He(()=>m("span",{class:"material-icons"},"library_books",-1)),Oo=He(()=>m("span",{class:"material-icons"},"settings",-1)),Ro=He(()=>m("span",{class:"material-icons"},"info",-1)),qo={href:"https://forums.moddingtree.com/",target:"_blank"},Vo=He(()=>m("span",{class:"material-icons"},"forum",-1)),Lo={class:"discord"},Go={class:"discord-links"},Ho={key:0},Uo=["href"],jo=He(()=>m("li",null,[m("a",{href:"https://discord.gg/WzejVAx",target:"_blank"},"The Paper Pilot Community")],-1)),zo=He(()=>m("li",null,[m("a",{href:"https://discord.gg/F3xveHV",target:"_blank"},"The Modding Tree")],-1)),Wo=L({__name:"Nav",setup(e){const t=x(null),n=x(null),i=x(null),s=x(null),{useHeader:l,banner:u,title:c,discordName:f,discordLink:d,versionNumber:_}=K;function y(){window.open(d,"mywindow")}return(v,p)=>(b(),M(D,null,[r(l)?(b(),M("div",$t({key:0,class:"nav"},v.$attrs),[r(u)?(b(),M("img",{key:0,src:r(u),class:"banner",alt:r(c)},null,8,ko)):(b(),M("div",No,z(r(c)),1)),m("div",{onClick:p[0]||(p[0]=w=>{var S;return(S=s.value)==null?void 0:S.open()}),class:"version-container"},[o(ve,{display:"Changelog",direction:r(J).Down,class:"version"},{default:q(()=>[m("span",null,"v"+z(r(_)),1)]),_:1},8,["direction"])]),Co,m("div",So,[m("span",{onClick:y,class:"material-icons"},"discord"),m("ul",Mo,[r(d)?(b(),M("li",Io,[m("a",{href:r(d),target:"_blank"},z(r(f)),9,Ao)])):P("",!0),Po,$o])]),m("div",null,[m("a",Eo,[o(ve,{display:"Forums",direction:r(J).Down,yoffset:"5px"},{default:q(()=>[To]),_:1},8,["direction"])])]),m("div",{onClick:p[1]||(p[1]=w=>{var S;return(S=t.value)==null?void 0:S.open()})},[o(ve,{display:"Info",direction:r(J).Down,class:"info"},{default:q(()=>[xo]),_:1},8,["direction"])]),m("div",{onClick:p[2]||(p[2]=w=>{var S;return(S=n.value)==null?void 0:S.open()})},[o(ve,{display:"Saves",direction:r(J).Down,xoffset:"-20px"},{default:q(()=>[Bo]),_:1},8,["direction"])]),m("div",{onClick:p[3]||(p[3]=w=>{var S;return(S=i.value)==null?void 0:S.open()})},[o(ve,{display:"Options",direction:r(J).Down,xoffset:"-66px"},{default:q(()=>[Fo]),_:1},8,["direction"])])],16)):(b(),M("div",$t({key:1,class:"overlay-nav"},v.$attrs),[m("div",{onClick:p[4]||(p[4]=w=>{var S;return(S=s.value)==null?void 0:S.open()}),class:"version-container"},[o(ve,{display:"Changelog",direction:r(J).Right,xoffset:"25%",class:"version"},{default:q(()=>[m("span",null,"v"+z(r(_)),1)]),_:1},8,["direction"])]),m("div",{onClick:p[5]||(p[5]=w=>{var S;return(S=n.value)==null?void 0:S.open()})},[o(ve,{display:"Saves",direction:r(J).Right},{default:q(()=>[Do]),_:1},8,["direction"])]),m("div",{onClick:p[6]||(p[6]=w=>{var S;return(S=i.value)==null?void 0:S.open()})},[o(ve,{display:"Options",direction:r(J).Right},{default:q(()=>[Oo]),_:1},8,["direction"])]),m("div",{onClick:p[7]||(p[7]=w=>{var S;return(S=t.value)==null?void 0:S.open()})},[o(ve,{display:"Info",direction:r(J).Right},{default:q(()=>[Ro]),_:1},8,["direction"])]),m("div",null,[m("a",qo,[o(ve,{display:"Forums",direction:r(J).Right,xoffset:"7px"},{default:q(()=>[Vo]),_:1},8,["direction"])])]),m("div",Lo,[m("span",{onClick:y,class:"material-icons"},"discord"),m("ul",Go,[r(d)?(b(),M("li",Ho,[m("a",{href:r(d),target:"_blank"},z(r(f)),9,Uo)])):P("",!0),jo,zo])])],16)),o(Ir,{ref_key:"info",ref:t,changelog:s.value},null,8,["changelog"]),o(Ji,{ref_key:"savesManager",ref:n},null,512),o(xr,{ref_key:"options",ref:i},null,512),o(ur,{ref_key:"changelog",ref:s},null,512)],64))}});var Xi=Y(Wo,[["__scopeId","data-v-4a3f8425"]]);const Yn=e=>(rt("data-v-6f125a90"),e=e(),ot(),e),Qo={class:"inner-tab"},Ko={key:1},Jo=Yn(()=>m("br",null,null,-1)),Xo=g(" You can help continue the "),Zo=Yn(()=>m("i",null,"advent",-1)),Yo=g("ure at: "),eu=Yn(()=>m("a",{href:"https://discord.gg/WzejVAx",class:"info-modal-discord-link"},[m("span",{class:"material-icons info-modal-discord"},"discord"),g(" The Paper Pilot Community ")],-1)),tu=L({__name:"Game",setup(e){const t=lt(A,"tabs"),n=I(()=>Object.keys($e)),i=K.useHeader,s=Et(G.loreBody);function l(u){const{display:c,minimized:f,minWidth:d,name:_,color:y,minimizable:v,nodes:p}=u;return{display:c,minimized:f,minWidth:d,name:_,color:y,minimizable:v,nodes:p}}return(u,c)=>(b(),M("div",{class:ye(["tabs-container",{useHeader:r(i)}])},[(b(!0),M(D,null,fi(r(t),(f,d)=>{var _,y;return b(),M("div",{key:d,class:ye(["tab",r((_=r($e)[f])==null?void 0:_.classes)]),ref_for:!0,ref:`tab-${d}`,style:be(r((y=r($e)[f])==null?void 0:y.style))},[d===0&&!r(i)?(b(),U(Xi,{key:0})):P("",!0),m("div",Qo,[r(n).includes(f)?(b(),U(ar,$t({key:0},l(r($e)[f]),{index:d,tab:()=>{var v;return(v=u.$refs[`tab-${d}`])==null?void 0:v[0]}}),null,16,["index","tab"])):(b(),U(Me(f),{key:1,index:d},null,8,["index"]))])],6)}),128)),o(Xe,{modelValue:r(G).showLoreModal.value,"onUpdate:modelValue":c[0]||(c[0]=f=>r(G).showLoreModal.value=f)},{header:q(()=>[m("h2",null,z(r(G).loreTitle.value),1)]),body:q(()=>[r(s)?(b(),U(Me(r(s)),{key:0})):P("",!0),r(G).loreScene.value!==-1?(b(),M("div",Ko,[o(nr,{day:r(G).loreScene.value},null,8,["day"]),Jo,Xo,Zo,Yo,eu])):P("",!0)]),_:1},8,["modelValue"])],2))}});var nu=Y(tu,[["__scopeId","data-v-6f125a90"]]);const cn=e=>(rt("data-v-4a50ce42"),e=e(),ot(),e),iu={class:"game-over-modal-header"},su=["src","alt"],au={class:"game-over-modal-title"},lu=cn(()=>m("h2",null,"Congratulations!",-1)),ru={key:0},ou=cn(()=>m("br",null,null,-1)),uu=cn(()=>m("div",null," Please check the Discord to discuss the game or to check for new content updates! ",-1)),cu=cn(()=>m("br",null,null,-1)),du=["href"],fu=cn(()=>m("span",{class:"material-icons game-over-modal-discord"},"discord",-1)),mu=L({__name:"GameOverScreen",setup(e){const{title:t,logo:n,discordName:i,discordLink:s,versionNumber:l,versionTitle:u}=K,c=I(()=>Mn(A.timePlayed)),f=I(()=>Xn.value&&!A.keepGoing),d=lt(A,"autosave");function _(){A.keepGoing=!0}function y(){It(Rt())}return(v,p)=>(b(),U(Xe,{"model-value":r(f)},{header:q(()=>[m("div",iu,[r(n)?(b(),M("img",{key:0,class:"game-over-modal-logo",src:r(n),alt:r(t)},null,8,su)):P("",!0),m("div",au,[lu,m("h4",null,"You've beaten "+z(r(t))+" v"+z(r(l))+": "+z(r(u)),1)])])]),body:q(({shown:w})=>[w?(b(),M("div",ru,[m("div",null,"It took you "+z(r(c))+" to beat the game.",1),ou,uu,cu,m("div",null,[m("a",{href:r(s),class:"game-over-modal-discord-link"},[fu,g(" "+z(r(i)),1)],8,du)]),o(Lt,{title:"Autosave",modelValue:r(d),"onUpdate:modelValue":p[0]||(p[0]=S=>Ne(d)?d.value=S:null)},null,8,["modelValue"])])):P("",!0)]),footer:q(()=>[m("div",{class:"game-over-footer"},[m("button",{onClick:_,class:"button"},"Keep Going"),m("button",{onClick:y,class:"button danger"},"Play Again")])]),_:1},8,["model-value"]))}});var pu=Y(mu,[["__scopeId","data-v-4a50ce42"]]);const En=e=>(rt("data-v-3de07c06"),e=e(),ot(),e),hu=En(()=>m("div",{class:"nan-modal-header"},[m("h2",null,"NaN value detected!")],-1)),gu={key:0},vu=En(()=>m("br",null,null,-1)),yu=["href"],bu=En(()=>m("span",{class:"material-icons nan-modal-discord"},"discord",-1)),_u=En(()=>m("br",null,null,-1)),wu={class:"nan-footer"},ku=L({__name:"NaNScreen",setup(e){const{discordName:t,discordLink:n}=K,i=lt(A,"autosave"),s=lt(ne,"hasNaN"),l=x(null),u=I(()=>{var p;return(p=ne.NaNPath)==null?void 0:p.join(".")}),c=I(()=>{var p;return(p=ne.NaNPath)==null?void 0:p.slice(-1)[0]}),f=I(()=>ne.NaNReceiver&&c.value?ne.NaNReceiver[c.value]:null),d=I({get(){return A.devSpeed===0},set(p){A.devSpeed=p?null:0}});function _(){ne.NaNReceiver&&c.value&&(ne.NaNReceiver[c.value]=new a(0),ne.hasNaN=!1)}function y(){ne.NaNReceiver&&c.value&&(ne.NaNReceiver[c.value]=new a(1),ne.hasNaN=!1)}function v(){ne.NaNReceiver&&c.value&&(ne.NaNReceiver[c.value]=new a(NaN),ne.hasNaN=!1)}return(p,w)=>(b(),M(D,null,[o(Xe,$t({modelValue:r(s),"onUpdate:modelValue":w[4]||(w[4]=S=>Ne(s)?s.value=S:null)},p.$attrs),{header:q(()=>[hu]),body:q(()=>[m("div",null,[g(' Attempted to assign "'+z(r(u))+'" to NaN',1),r(f)?(b(),M("span",gu,z(" ")+"(previously "+z(r(ee)(r(f)))+")",1)):P("",!0),g(". Auto-saving has been "+z(r(i)?"enabled":"disabled")+". Check the console for more details, and consider sharing it with the developers on discord. ",1)]),vu,m("div",null,[m("a",{href:r(n),class:"nan-modal-discord-link"},[bu,g(" "+z(r(t)),1)],8,yu)]),_u,o(Lt,{title:"Autosave",modelValue:r(i),"onUpdate:modelValue":w[0]||(w[0]=S=>Ne(i)?i.value=S:null)},null,8,["modelValue"]),r(K).enablePausing?(b(),U(Lt,{key:0,title:"Pause game",modelValue:r(d),"onUpdate:modelValue":w[1]||(w[1]=S=>Ne(d)?d.value=S:null)},null,8,["modelValue"])):P("",!0)]),footer:q(()=>[m("div",wu,[m("button",{onClick:w[2]||(w[2]=S=>{var H;return(H=l.value)==null?void 0:H.open()}),class:"button"},"Open Saves Manager"),m("button",{onClick:_,class:"button"},"Set to 0"),m("button",{onClick:y,class:"button"},"Set to 1"),r(f)&&r(a).neq(r(f),0)&&r(a).neq(r(f),1)?(b(),M("button",{key:0,onClick:w[3]||(w[3]=S=>s.value=!1),class:"button"}," Set to previous ")):P("",!0),m("button",{onClick:v,class:"button danger"},"Ignore")])]),_:1},16,["modelValue"]),o(Ji,{ref_key:"savesManager",ref:l},null,512)],64))}});var Nu=Y(ku,[["__scopeId","data-v-3de07c06"]]);const Cu={key:0,class:"tpsDisplay"},Su={key:0,class:"low"},Mu=L({__name:"TPS",setup(e){const t=I(()=>a.div(ne.lastTenTicks.length,ne.lastTenTicks.reduce((l,u)=>l+u,0))),n=x([]);xe(()=>{n.value.push(Math.round(t.value.toNumber())),n.value.length>10&&(n.value=n.value.slice(1))});const i=I(()=>n.value.reduce((l,u)=>a.max(l,u),0)),s=I(()=>a.sub(t.value,i.value).gt(1));return(l,u)=>r(t).isNan()?P("",!0):(b(),M("div",Cu,[g(" TPS: "+z(r(R)(r(t)))+" ",1),o(Sn,{name:"fade"},{default:q(()=>[r(s)?(b(),M("span",Su,z(r(R)(r(i))),1)):P("",!0)]),_:1})]))}});var Iu=Y(Mu,[["__scopeId","data-v-46a3ed5b"]]);var Au=L({__name:"App",setup(e){const t=K.useHeader,n=I(()=>on[re.theme].variables),i=lt(re,"showTPS"),s=I(()=>X(B(()=>o(D,null,[ya.map(me)]))));return(l,u)=>(b(),M(D,null,[m("div",{id:"modal-root",style:be(r(n))},null,4),m("div",{class:ye(["app",{useHeader:r(t)}]),style:be(r(n))},[r(t)?(b(),U(Xi,{key:0})):P("",!0),o(nu),r(r(i))?(b(),U(Iu,{key:1})):P("",!0),o(pu),o(Nu),(b(),U(Me(r(s))))],6)],64))}});var Pu=Y(Au,[["__scopeId","data-v-7c41425b"]]);function $u(e={}){const{immediate:t=!1,onNeedRefresh:n,onOfflineReady:i,onRegistered:s,onRegisterError:l}=e;let u,c;const f=async(d=!0)=>{d&&(u==null||u.addEventListener("controlling",_=>{_.isUpdate&&window.location.reload()})),c&&c.waiting&&await hs(c.waiting,{type:"SKIP_WAITING"})};if("serviceWorker"in navigator){u=new ps("./sw.js",{scope:"./",type:"classic"}),u.addEventListener("activated",d=>{d.isUpdate||i==null||i()});{const d=()=>{n==null||n()};u.addEventListener("waiting",d),u.addEventListener("externalwaiting",d)}u.register({immediate:t}).then(d=>{c=d,s==null||s(d)}).catch(d=>{l==null||l(d)})}return f}function Eu(e={}){const{immediate:t=!0,onNeedRefresh:n,onOfflineReady:i,onRegistered:s,onRegisterError:l}=e,u=x(!1),c=x(!1);return{updateServiceWorker:$u({immediate:t,onNeedRefresh(){u.value=!0,n==null||n()},onOfflineReady(){c.value=!0,i==null||i()},onRegistered:s,onRegisterError:l}),offlineReady:c,needRefresh:u}}document.title=K.title;window.projInfo=K;if(K.id==="")throw"Project ID is empty! Please select a unique ID for this project in /src/data/projInfo.json";requestAnimationFrame(async()=>{console.log(`%cMade in Profectus%c -Learn more at www.moddingtree.com`,"font-weight: bold; font-size: 24px; color: #A3BE8C; background: #2E3440; padding: 4px 8px; border-radius: 8px;","padding: 4px;"),await ma();const{globalBus:e,startGameLoop:t}=await bn(()=>Promise.resolve().then(function(){return fa}),void 0),n=window.vue=os(Pu);e.emit("setupVue",n),n.mount("#app"),Pt(()=>{const i=pi(),{updateServiceWorker:s}=Eu({onNeedRefresh(){i.info("New content available, click or reload to update.",{timeout:!1,closeOnClick:!1,draggable:!1,icon:{iconClass:"material-icons",iconChildren:"refresh",iconTag:"i"},rtl:!1,onClick(){s()}})},onOfflineReady(){i.info("App ready to work offline")},onRegisterError:console.warn,onRegistered(l){l&&setInterval(l.update,60*60*1e3)}})}),t()}); diff --git a/index.html b/index.html index 2ff88de..f534b77 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ Advent Incremental - + diff --git a/sw.js b/sw.js index 5409941..fb164ab 100644 --- a/sw.js +++ b/sw.js @@ -1 +1 @@ -if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(n,l)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(s[r])return;let t={};const o=e=>i(e,r),u={module:{uri:r},exports:t,require:o};s[r]=Promise.all(n.map((e=>u[e]||o(e)))).then((e=>(l(...e),t)))}}define(["./workbox-958fa2bd"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"assets/@fontsource.f66d05e7.css",revision:null},{url:"assets/@vue.4ce677c2.js",revision:null},{url:"assets/index.51edb8ac.js",revision:null},{url:"assets/index.f8655032.css",revision:null},{url:"assets/is-plain-object.906d88e8.js",revision:null},{url:"assets/lz-string.731cedc5.js",revision:null},{url:"assets/nanoevents.1080beb7.js",revision:null},{url:"assets/sortablejs.29100d8a.js",revision:null},{url:"assets/vue-next-select.9e6f4164.css",revision:null},{url:"assets/vue-next-select.a2bfab1d.js",revision:null},{url:"assets/vue-textarea-autosize.35804eaf.js",revision:null},{url:"assets/vue-toastification.4b5f8ac8.css",revision:null},{url:"assets/vue-toastification.6f567382.js",revision:null},{url:"assets/vue.92681fcb.js",revision:null},{url:"assets/vuedraggable.7949458c.js",revision:null},{url:"assets/workbox-window.8d14e8b7.js",revision:null},{url:"index.html",revision:"0495d32987638fe39c9e254ed2c0f80c"},{url:"favicon.ico",revision:"eead31eb5b19fa3bdc34af83d898c0b7"},{url:"robots.txt",revision:"5e0bd1c281a62a380d7a948085bfe2d1"},{url:"apple-touch-icon.png",revision:"26e53bb981d06c8069ffd9d2a14fce0e"},{url:"pwa-192x192.png",revision:"a16785d9e890858c5b508e0ef6954aaf"},{url:"pwa-512x512.png",revision:"b84004b93fd62ef6599ff179372861a1"},{url:"manifest.webmanifest",revision:"5f32ad2a77eb001e1b6a588835dc1efc"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))})); +if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(n,l)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(s[r])return;let t={};const o=e=>i(e,r),u={module:{uri:r},exports:t,require:o};s[r]=Promise.all(n.map((e=>u[e]||o(e)))).then((e=>(l(...e),t)))}}define(["./workbox-958fa2bd"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"assets/@fontsource.f66d05e7.css",revision:null},{url:"assets/@vue.4ce677c2.js",revision:null},{url:"assets/index.2b3b6b47.js",revision:null},{url:"assets/index.f8655032.css",revision:null},{url:"assets/is-plain-object.906d88e8.js",revision:null},{url:"assets/lz-string.731cedc5.js",revision:null},{url:"assets/nanoevents.1080beb7.js",revision:null},{url:"assets/sortablejs.29100d8a.js",revision:null},{url:"assets/vue-next-select.9e6f4164.css",revision:null},{url:"assets/vue-next-select.a2bfab1d.js",revision:null},{url:"assets/vue-textarea-autosize.35804eaf.js",revision:null},{url:"assets/vue-toastification.4b5f8ac8.css",revision:null},{url:"assets/vue-toastification.6f567382.js",revision:null},{url:"assets/vue.92681fcb.js",revision:null},{url:"assets/vuedraggable.7949458c.js",revision:null},{url:"assets/workbox-window.8d14e8b7.js",revision:null},{url:"index.html",revision:"78cd5ee09cc708287fc50a7ffb63ddb3"},{url:"favicon.ico",revision:"eead31eb5b19fa3bdc34af83d898c0b7"},{url:"robots.txt",revision:"5e0bd1c281a62a380d7a948085bfe2d1"},{url:"apple-touch-icon.png",revision:"26e53bb981d06c8069ffd9d2a14fce0e"},{url:"pwa-192x192.png",revision:"a16785d9e890858c5b508e0ef6954aaf"},{url:"pwa-512x512.png",revision:"b84004b93fd62ef6599ff179372861a1"},{url:"manifest.webmanifest",revision:"5f32ad2a77eb001e1b6a588835dc1efc"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))}));