From 89934be8d6a97dc7188b4962f3a979661c8ea16b Mon Sep 17 00:00:00 2001 From: mtgmonkey Date: Fri, 25 Apr 2025 10:19:09 -0400 Subject: [PATCH] Improved buildtime with esbuild --- Makefile | 5 +- assets/js/main.js | 2 +- assets/js/main.tmp.js | 9714 +++++++++++++++++++++++++++ frontend/elm-stuff/0.19.1/Main.elmi | Bin 48600 -> 47960 bytes frontend/elm-stuff/0.19.1/Main.elmo | Bin 49199 -> 48982 bytes frontend/elm-stuff/0.19.1/d.dat | Bin 1894 -> 1894 bytes frontend/index.def.html | 81 - frontend/src/Main.elm | 91 +- shell.nix | 2 +- 9 files changed, 9761 insertions(+), 134 deletions(-) create mode 100644 assets/js/main.tmp.js delete mode 100644 frontend/index.def.html diff --git a/Makefile b/Makefile index 0ea631d..a2b7afb 100644 --- a/Makefile +++ b/Makefile @@ -13,8 +13,9 @@ frontend: frontend-format cd frontend && elm make src/Main.elm --output=../assets/js/main.js frontend-produce: frontend-format - cd frontend && elm make src/Main.elm --optimize --output=../assets/js/main.js - uglifyjs assets/js/main.js --compress "pure_funcs=[F2,F3,F4,F5,F6,F7,F8,F9,A2,A3,A4,A5,A6,A7,A8,A9],pure_getters,keep_fargs=false,unsafe_comps,unsafe" | uglifyjs --mangle --output assets/js/main.js + cd frontend && elm make src/Main.elm --optimize --output=../assets/js/tmp.js + esbuild assets/js/tmp.js --minify --target=es5 --outfile=assets/js/main.js + rm assets/js/tmp.js frontend-format: elm-format frontend/src/Main.elm --yes diff --git a/assets/js/main.js b/assets/js/main.js index a717b44..b81316b 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -1 +1 @@ -(u=>{function L(n,r,e){return e.a=n,e.f=r,e}function f(e){return L(2,e,function(r){return function(n){return e(r,n)}})}function b(t){return L(3,t,function(e){return function(r){return function(n){return t(e,r,n)}}})}function n(a){return L(4,a,function(t){return function(e){return function(r){return function(n){return a(t,e,r,n)}}}})}function B(u){return L(5,u,function(a){return function(t){return function(e){return function(r){return function(n){return u(a,t,e,r,n)}}}}})}function q(c){return L(6,c,function(u){return function(a){return function(t){return function(e){return function(r){return function(n){return c(u,a,t,e,r,n)}}}}}})}function d(n,r,e){return 2===n.a?n.f(r,e):n(r)(e)}function h(n,r,e,t){return 3===n.a?n.f(r,e,t):n(r)(e)(t)}function p(n,r,e,t,a){return 4===n.a?n.f(r,e,t,a):n(r)(e)(t)(a)}function s(n,r,e,t,a,u){return 5===n.a?n.f(r,e,t,a,u):n(r)(e)(t)(a)(u)}function I(n,r,e,t,a,u,c){return 6===n.a?n.f(r,e,t,a,u,c):n(r)(e)(t)(a)(u)(c)}function Q(n,r){for(var e,t=[],a=R(n,r,0,t);a&&(e=t.pop());a=R(e.a,e.b,0,t));return a}function R(n,r,e,t){if(n!==r){if("object"!=typeof n||null===n||null===r)return"function"==typeof n&&nn(5),!1;if(100{for(;r.f;){var n=r.f.$;if(0===n||1===n){for(;r.g&&r.g.$!==n;)r.g=r.g.i;if(!r.g)return;r.f=r.g.b(r.f.a),r.g=r.g.i}else{if(2===n)return r.f.c=r.f.b(function(n){r.f=n,Hn(r)});if(5===n){if(0===r.h.length)return;r.f=r.f.b(r.h.shift())}else r.g={$:3===n?0:1,b:r.f.b,i:r.g},r.f=r.f.d}}})(n);Jn=!1}}function Mn(n,r,e,t,a,u){var n=d(Tn,n,r?r.flags:void 0),c=(at(n)||nn(2),{}),r=e(n.a),o=r.a,i=u(f,o),e=((n,r)=>{var e,t;for(t in g){var a=g[t];a.a&&((e=e||{})[t]=a.a(t,r)),n[t]=((n,r)=>{var t={g:r,h:void 0},a=n.c,u=n.d,c=n.e,o=n.f;function i(e){return d(Bn,i,{$:5,b:function(n){var r=n.a;return 0===n.$?h(u,t,r,e):c&&o?p(a,t,r.i,r.j,e):h(a,t,c?r.i:r.j,e)}})}return t.h=Qn(d(Bn,i,n.b))})(a,r)}return e})(c,f);function f(n,r){n=d(t,n,o);i(o=n.a,r),Xn(c,n.b,a(o))}return Xn(c,r.b,a(o)),e?{ports:e}:{}}var g={},Wn=f(function(r,e){return{$:2,b:function(n){r.g(e),n({$:0,a:H})},c:null}});function Kn(r){return function(n){return{$:1,k:r,l:n}}}var Yn=[],Zn=!1;function Xn(n,r,e){if(Yn.push({p:n,q:r,r:e}),!Zn){Zn=!0;for(var t;t=Yn.shift();)((n,r,e)=>{var t,a={};for(t in Gn(!0,r,a,null),Gn(!1,e,a,null),n)Un(n[t],{$:"fx",a:a[t]||{i:$,j:$}})})(t.p,t.q,t.r);Zn=!1}}function Gn(n,r,e,t){switch(r.$){case 1:var a=r.k,u=((n,r,e,t)=>{function a(n){for(var r=e;r;r=r.t)n=r.s(n);return n}return d(n?g[r].e:g[r].f,a,t)})(n,a,t,r.l);return void(e[a]=((n,r,e)=>(e=e||{i:$,j:$},n?e.i={$:1,a:r,b:e.i}:e.j={$:1,a:r,b:e.j},e))(n,u,e[a]));case 2:for(var c=r.m;c.b;c=c.b)Gn(n,c.a,e,t);return;case 3:Gn(n,r.o,e,{s:r.n,t:t})}}function nr(n){g[n]&&nn(3)}var rr=f(function(n,r){return r});function er(n){var e,c=[],o=g[n].u,i=(e=0,{$:2,b:function(n){var r=setTimeout(function(){n({$:0,a:H})},e);return function(){clearTimeout(r)}},c:null});return g[n].b=i,g[n].c=b(function(n,r,e){for(;r.b;r=r.b)for(var t=c,a=o(r.a),u=0;u{var e,t=n.style;for(e in r)t[e]=r[e]})(n,a):"a0"===t?((n,r,e)=>{var t,a=n.elmFs||(n.elmFs={});for(t in e){var u=e[t],c=a[t];if(u){if(c){if(c.q.$===u.$){c.q=u;continue}n.removeEventListener(t,c)}c=((i,n)=>{function f(n){var r=f.q,e=m(r.a,n);if(at(e)){for(var t,r=ot(r),e=e.a,a=r?r<3?e.a:e.I:e,u=1==r?e.b:3==r&&e.bp,c=(u&&n.stopPropagation(),(2==r?e.b:3==r&&e.bk)&&n.preventDefault(),i);t=c.j;){if("function"==typeof t)a=t(a);else for(var o=t.length;o--;)a=t[o](a);c=c.p}c(a,u)}}return f.q=n,f})(r,u),n.addEventListener(t,c,ir&&{passive:ot(u)<2}),a[t]=c}else n.removeEventListener(t,c),a[t]=void 0}})(n,r,a):"a3"===t?((n,r)=>{for(var e in r){var t=r[e];void 0!==t?n.setAttribute(e,t):n.removeAttribute(e)}})(n,a):"a4"===t?((n,r)=>{for(var e in r){var t=r[e],a=t.f,t=t.o;void 0!==t?n.setAttributeNS(a,e,t):n.removeAttributeNS(a,e)}})(n,a):("value"!==t&&"checked"!==t||n[t]!==a)&&(n[t]=a)}}try{window.addEventListener("t",null,Object.defineProperty({},"passive",{get:function(){ir=!0}}))}catch(n){}function jr(n,r){var e=[];return z(n,r,e,0),e}function _(n,r,e,t){r={$:r,r:e,s:t,t:void 0,u:void 0};return n.push(r),r}function z(n,r,e,t){if(n!==r){var a=n.$,u=r.$;if(a!==u){if(1!==a||2!==u)return void _(e,0,t,r);r=(n=>{for(var r=n.e,e=r.length,t=Array(e),a=0;a{for(var e=0;en.$==r.$&&En(n.a,r.a))(u,c)||((t=t||{})[a]=c):(t=t||{})[a]=e?"a1"===e?"":"a0"===e||"a3"===e?void 0:{f:n[a].f,o:void 0}:"string"==typeof n[a]?"":null;for(o in r)o in n||((t=t||{})[o]=r[o]);return t}function Tr(n,r,e,t){var a=n.e,u=r.e,n=a.length,r=u.length;rc)return a}var l=e.$;if(4===l){for(var v=e.k;4===v.$;)v=v.k;return n(r,v,t,a,u+1,c,r.elm_event_node_ref)}var d=e.e;var h=r.childNodes;for(var p=0;pc))return a;u=m}return a}(n,r,e,0,0,r.b,t)}function Pr(n,r,e,t){return 0===e.length?n:(Er(n,r,e,t),Fr(n,e))}function Fr(n,r){for(var e=0;e{switch(r.$){case 0:return((n,r,e)=>{var t=n.parentNode;return(r=kr(r,e)).elm_event_node_ref||(r.elm_event_node_ref=n.elm_event_node_ref),t&&r!==n&&t.replaceChild(r,n),r})(n,r.s,r.u);case 4:return Ar(n,r.u,r.s),n;case 3:return n.replaceData(0,n.length,r.s),n;case 1:return Fr(n,r.s);case 2:return n.elm_event_node_ref?n.elm_event_node_ref.j=r.s:n.elm_event_node_ref={j:r.s,p:r.u},n;case 6:for(var e=r.s,t=0;t{for(var e=r.s,t=((n,r)=>{if(n){for(var e=cr.createDocumentFragment(),t=0;t(n=Le(n))<=57&&48<=n)(n)}function Kr(n){return n}function Yr(n){return{$:4,a:n}}function Zr(n){return!n}function Xr(n){return"("+n.bK+(d(E,"",d(wa,_e(": "),n.D))+")")}function Gr(n){switch(n){case 0:return"print";case 1:return"screen";default:return"speech"}}function ne(n){return h(Dt,pa,$,n)}function re(n){return{$:0,a:n}}function ee(n){return-n}function te(n){for(;;)switch(n){case 0:return"0";case 1:return"1";case 2:return"2";case 3:return"3";case 4:return"4";case 5:return"5";case 6:return"6";case 7:return"7";case 8:return"8";case 9:return"9";case 10:return"a";case 11:return"b";case 12:return"c";case 13:return"d";case 14:return"e";case 15:return"f";default:n=n;continue}}function ae(n){return d(au,"_",vu((n=d(lu,15739,n))<0?d(w,"-",d(hu,$,-n)):d(hu,$,n)))}function o(n){return n.b?i(n.a):A}function ue(n){for(;;){if(!n.b)return A;if(!n.b.b)return i(v([n.a]));n=n.b}}function ce(n){function r(n){return n.b?d(w,n.a,r(n.b)):$}return n=r(n),v([pu(n)])}function oe(n){return v([n])}function ie(n){return n.b?i(n.b):A}function fe(n){return n=(n=>n.b?Pu(Cu(v([d(Ou,n,Lu)]))):"")(n),h(aa,d(ua,"",""),!0,n)}function be(n){return d(yt,"#",n)?n:d(au,"#",n)}function se(r){var n;return""===r?y("Empty strings are not valid hexadecimal strings."):(n=d(yt,"-",r)?(n=d(E,$,ie(Vu(r))),d(Mu,ee,h(Hu,Vr(n)-1,n,0))):h(Hu,st(r)-1,Vu(r),0),d(Wu,function(n){return d(j," ",v(['"'+r+'"',"is not a valid hexadecimal string because",n]))},n))}function le(n){return n.toLowerCase()}function e(n){for(var r,e,t,a,u,c=Vu(d(yt,"#",n)?d(vt,1,n):n);;){if(c.b&&c.b.b&&c.b.b.b){if(c.b.b.b.b){if(c.b.b.b.b.b){if(c.b.b.b.b.b.b){if(c.b.b.b.b.b.b.b){if(c.b.b.b.b.b.b.b.b&&!c.b.b.b.b.b.b.b.b.b)return s(Ku,n,{a:c.a,b:(u=c.b).a},{a:(u=u.b).a,b:(u=u.b).a},{a:(u=u.b).a,b:(u=u.b).a},{a:(u=u.b).a,b:u.b.a});break}return s(Ku,n,{a:c.a,b:(u=c.b).a},{a:(a=u.b).a,b:(a=a.b).a},{a:(a=a.b).a,b:a.b.a},{a:"f",b:"f"})}break}return s(Ku,n,{a:a=c.a,b:a},{a:r=(t=c.b).a,b:r},{a:e=(t=t.b).a,b:e},{a:t=t.b.a,b:t})}return s(Ku,n,{a:a=c.a,b:a},{a:r=(t=c.b).a,b:r},{a:e=t.b.a,b:e},{a:"f",b:"f"})}break}return Uu(n)}function ve(n){var r=d(T,rc,d(Ee," ",n)),n=(()=>{var n=o(r);if(n.$)return y("error in parseInput parsing tokens");switch(n.a){case"help":return k(0);case"clear":return k(1);case"cookies":return k(2);case"font":return k(3);case"hello":return k(4);case"prompt":return k(5);case"theme":return k(6);default:return y(n.a)}})(),e=(e=ie(r)).$?y("error in parseInput parsing tokens"):(e=e.a,k(d(nc,ou(""),e)));return e.$?y(e.a):(e=e.a,n.$?y(n.a):k({a6:e,ba:n.a}))}function de(n){return h(S,f(function(n,r){return h(Cn,n.a,n.b,r)}),{},n)}function he(n){return de(v([{a:"theme",b:cc((()=>{switch(n.as){case 0:return"Pit";case 1:return"Dim";case 2:return"Sky";default:return"Sun"}})())},{a:"font",b:de(v([{a:"fontSize",b:uc(n.t.o)}]))},{a:"cookiesKept",b:de(v([{a:"keepTheme",b:ac(n.n.Q)},{a:"keepFont",b:ac(n.n.P)},{a:"keepPrompt",b:ac(n.n.ah)}]))},{a:"prompt",b:de(v([{a:"prompt",b:cc(n.l.l)}]))}]))}function pe(n){return{a:n,b:Gu(v([oc(he(n))]))}}function $e(n){return lr(gr(n))}function me(n){return br(gr(n))}Qr=f(function(r,n){return Ur(n,function(n){return n[r](),H})});var ge=1,we=2,ye=0,w=K,ke=b(function(n,r,e){for(;;){if(-2===e.$)return r;var t=e.d,a=n,u=h(n,e.b,e.c,h(ke,n,r,e.e));n=a,r=u,e=t}}),Ae=function(n){return h(ke,b(function(n,r,e){return d(w,{a:n,b:r},e)}),$,n)},y=function(n){return{$:1,a:n}},je=f(function(n,r){return{$:3,a:n,b:r}}),Se=f(function(n,r){return{$:0,a:n,b:r}}),De=f(function(n,r){return{$:1,a:n,b:r}}),k=function(n){return{$:0,a:n}},Te=function(n){return{$:2,a:n}},i=function(n){return{$:0,a:n}},A={$:1},xe=vn,_e=M,ze=Fn,Ne=mn,j=f(function(n,r){return d(ln,n,Y(r))}),Ee=f(function(n,r){return v(d(sn,n,r))}),S=b(function(n,r,e){for(;;){if(!e.b)return r;var t=e.b,a=n,u=d(n,e.a,r);n=a,r=u,e=t}}),Pe=Z,Fe=b(function(n,r,e){for(;;){if(1<=J(n,r))return e;var t=n,a=r-1,u=d(w,r,e);n=t,r=a,e=u}}),Oe=f(function(n,r){return h(Fe,n,r,$)}),Ce=f(function(n,r){return h(Pe,n,d(Oe,0,Vr(r)-1),r)}),Le=function(n){var r=n.charCodeAt(0);return r<55296||56319Hr(n)||Mr(n))(a.a))&&d(xe,Wr,u));n=t,r=d(w,a?"."+e:"['"+e+"']",r);continue;case 1:var t=n.b,u="["+Ne(n.a)+"]";n=t,r=d(w,u,r);continue;case 2:a=n.a;if(a.b){if(a.b.b)return c=(r.b?"The Json.Decode.oneOf at json"+d(j,"",D(r)):"Json.Decode.oneOf")+" failed in the following "+Ne(Vr(a))+" ways:",d(j,"\n\n",d(w,c,d(Ce,qe,a)));n=t=a.a,r=r;continue}return"Ran into a Json.Decode.oneOf with no possibilities"+(r.b?" at json"+d(j,"",D(r)):"!");default:var c,e=n.a,o=n.b;return(c=r.b?"Problem with the value at json"+d(j,"",D(r))+":\n\n ":"Problem with the given value:\n\n")+(Jr(d(ze,4,o))+"\n\n")+e}var u,a}),Re=n(function(n,r,e,t){return{$:0,a:n,b:r,c:e,d:t}}),Ue=[],Je=tn,Ve=f(function(n,r){return un(r)/un(n)}),He=Je(d(Ve,2,32)),Me=p(Re,0,He,Ue,Ue),We=X,Ke=an,Ye=function(n){return n.length},Ze=f(function(n,r){return 0"}:t.a,as:!a.Q||(e=d(It,(n=>{if((n=d(It,d(Bt,"theme",Ut),n)).$)return Ht("Error decoding theme field of json");switch(n.a){case"Pit":return ct(0);case"Dim":return ct(1);case"Sky":return ct(2);case"Sun":return ct(3);default:return Ht("Unknown value found in theme field of json")}})(n),n)).$?0:e.a,br:r},b:d(Lt,function(n){return Ft},Qt("init-focus"))}}),Mt=b(function(n,r,e){return r(n(e))}),Wt=(Sn=jn=yn,nr(dn="receiveTestFromServer"),g[dn]={f:ar,u:Sn,a:ur},Kn(dn)),Kt=h(K,f(function(n,r){return{cD:n,cE:r}}),d(Bt,"message0",Ut),d(Bt,"message1",Ut)),Yt=f(function(n,r){return{$:0,a:n+":"+r}}),Zt=function(n){return d(Yt,"background-color",n.D)},Xt=(r=f(function(n,r){return d(Yt,n,r.D)}))("border-width"),Gt=function(n){return d(Yt,"color",n.D)},na=r("margin"),ra=r("padding"),ea=mn,t=d($n=b(function(n,r,e){return{bs:0,bC:0,ae:0,o:0,aE:0,ai:0,H:0,aj:0,ak:0,R:0,S:0,B:0,al:0,J:e,aq:0,at:r,aN:n,D:l(ea(e),r)}}),0,"px"),ta=(hn=b(function(n,r,e){return{$:0,a:n,b:r,c:e}}))("span"),aa=b(function(n,r,e){return{$:0,a:n,b:r,c:e}}),ua=f(function(n,r){return d(hr,(n=>$r.test(n)?"data-"+n:n)(n),(n=>mr.test(n)?"":n)(r))}),ca=f(function(n,r){for(;;){if(!r.b)return!1;var e=r.b;if(n(r.a))return!0;n=n,r=e}}),oa=f(function(n,r){return!d(ca,d(Ot,Zr,n),r)}),N=B(function(n,r,e,t,a){return{$:-1,a:n,b:r,c:e,d:t,e:a}}),ia={$:-2},fa=B(function(n,r,e,t,a){var u,c,o,i;return-1!==a.$||a.a?-1!==t.$||t.a||-1!==t.d.$||t.d.a?s(N,n,r,e,t,a):(u=t.d,i=t.e,s(N,0,t.b,t.c,s(N,1,u.b,u.c,u.d,u.e),s(N,1,r,e,i,a))):(u=a.b,c=a.c,o=a.d,a=a.e,-1!==t.$||t.a?s(N,n,u,c,s(N,0,r,e,t,o),a):s(N,0,r,e,s(N,1,t.b,t.c,t.d,i=t.e),s(N,1,u,c,o,a)))}),ba=V,sa=b(function(n,r,e){if(-2===e.$)return s(N,0,n,r,ia,ia);var t=e.a,a=e.b,u=e.c,c=e.d,o=e.e;switch(d(ba,n,a)){case 0:return s(fa,t,a,u,h(sa,n,r,c),o);case 1:return s(N,t,a,r,c,o);default:return s(fa,t,a,u,c,h(sa,n,r,o))}}),la=b(function(n,r,e){n=h(sa,n,r,e);return-1!==n.$||n.a?n:s(N,1,n.b,n.c,n.d,n.e)}),va=function(n){return!n.b},da=f(function(n,r){var e=r.a,t=r.b;switch(n.$){case 0:return va(n.a.c)?{a:e,b:t}:{a:e,b:d(w,n,t)};case 1:return d(oa,function(n){return va(n.c)},n.b)?{a:e,b:t}:{a:e,b:d(w,n,t)};case 2:return va(n.b)?{a:e,b:t}:{a:e,b:d(w,n,t)};case 3:return{a:e,b:d(w,n,t)};case 4:case 5:return va(n.a)?{a:e,b:t}:{a:e,b:d(w,n,t)};case 6:var a=n.a;return""===a.ct?{a:e,b:t}:{a:h(la,a.cH,a.ct,e),b:t};case 7:case 8:return va(n.a)?{a:e,b:t}:{a:e,b:d(w,n,t)};default:return d(oa,function(n){return va(n.b)},n.a)?{a:e,b:t}:{a:e,b:d(w,n,t)}}}),ha=ia,pa=f(function(n,r){return r.b?h(Dt,w,r,n):n}),$a=f(function(n,r){return d(pa,d(T,function(n){return{$:6,a:{ct:n.b,cH:n.a}}},Ae(n)),r)}),ma=function(n){n=h(Dt,da,{a:ha,b:$},n);return d($a,n.a,n.b)},ga=function(n){var r=n.bU,e=n.bQ;return{bF:n.bF,cu:ma(n.cu),bQ:e,bU:r}},wa=f(function(n,r){return r.$?A:i(n(r.a))}),E=f(function(n,r){return r.$?n:r.a}),ya=function(n){return d(E,"",d(wa,function(n){return'@charset "'+n+'"'},n))},ka=n(function(n,r,e,t){for(;;){if(!e.b)return t;if(!e.b.b)return t+(n(a=e.a)+"");var a=e.a,u=n,c=r,o=e.b,i=t+(n(a)+(r+""));n=u,r=c,e=o,t=i}}),a=b(function(n,r,e){return p(ka,n,r,e,"")}),Aa=function(n){var r=b(function(n,r,e){return n+(" "+d(j," and ",d(w,Gr(r),d(T,Xr,e))))});switch(n.$){case 0:return h(a,Xr," and ",n.a);case 1:return h(r,"only",n.a,n.b);case 2:return h(r,"not",n.a,n.b);default:return n.a}},ja=f(function(n,r){return'@import "'+n+(Aa(r)+'"')}),Sa=function(n){var r=n.b;return h(a,ja(n.a),"\n",r)},Da=function(n){return"@namespace "+n.a+'"'+n.b+'"'},Ta=function(n){return h(a,function(n){return n+";"},"",n)},xa=on,_a=function(n){return"::"+n},za=function(n){switch(n){case 0:return"+";case 1:return"~";case 2:return">";default:return""}},Na=function(n){switch(n.$){case 0:return"."+n.a;case 1:return"#"+n.a;case 2:return":"+n.a;default:return"["+n.a+"]"}},Ea=function(n){switch(n.$){case 0:return l(n.a,h(a,Na,"",r=n.b));case 1:return va(r=n.a)?"*":h(a,Na,"",r);default:var r;return l(n.a,h(a,Na,"",r=n.b))}},Pa=function(n){var r=n.b;return za(n.a)+(" "+Ea(r))},Fa=function(n){var r=n.b,e=n.c,n=d(w,Ea(n.a),d(T,Pa,r)),r=d(E,"",d(wa,_a,e));return d(xa,d(j," ",n),r)},Oa=function(n){var r=n.c;return h(a,Fa,",",d(w,n.a,n.b))+("{"+Ta(r))+"}"},Ca=function(n){switch(n.$){case 0:return Oa(n.a);case 1:var r=n.b;return"@media "+h(a,Aa,", ",n.a)+"{"+h(a,Oa,"\n",r)+"}";case 2:case 3:case 4:case 5:return"TODO";case 6:return"@keyframes "+n.a.cH+"{"+n.a.ct+"}";default:return"TODO"}},La=function(n){var r=n.cu,e=n.bU,t=n.bQ;return ya(n.bF)+(h(a,Sa,"\n",t)+(h(a,Da,"\n",e)+(h(a,Ca,"\n",r)+"")))},Ba=f(function(n,r){return ne(d(T,n,r))}),qa=b(function(n,r,e){return{$:0,a:n,b:r,c:e}}),Ia=b(function(n,r,e){return{$:0,a:n,b:r,c:e}}),Qa=f(function(n,r){return{$:2,a:n,b:r}}),Ra=f(function(n,r){return{$:1,a:n,b:r}}),Ua=f(function(n,r){return r.b?r.b.b?d(w,r.a,d(Ua,n,r.b)):v([n(r.a)]):r}),Ja=f(function(n,r){return h(Ia,r.a,r.b,l(r.c,v([n])))}),Va=f(function(n,r){if(!r.b)return r;if(r.b.b)return d(w,r.a,d(Va,n,r.b));switch(r.a.$){case 0:return v([{$:0,a:d(Ja,n,r.a.a)}]);case 1:var e=r.a,t=e.b;return v([d(Ra,e.a,d(Ua,Ja(n),t))]);default:return r}}),Ha=f(function(n,r){var e,t,a,u,c;return r.b.b?(u=r.a,c=r.c,t=d(T,n,e=r.b),a=n(u),v([h(Ia,u,e,c),h(Ia,a,t,$)])):v([h(Ia,u=r.a,$,c=r.c),h(Ia,n(u),$,$)])}),Ma=f(function(n,r){return h(qa,r.a,r.b,i(n))}),Wa=f(function(n,r){return d(Ha,Ma(n),r)}),Ka=f(function(n,r){return{$:2,a:n,b:r}}),Ya=f(function(n,r){return{$:0,a:n,b:r}}),Za=f(function(n,r){switch(r.$){case 0:return d(Ya,r.a,l(r.b,v([n])));case 1:return{$:1,a:l(r.a,v([n]))};default:return d(Ka,r.a,l(r.b,v([n])))}}),Xa=f(function(n,r){return r.b?r.b.b?d(w,r.a,d(Xa,n,r.b)):v([{a:(r=r.a).a,b:d(Za,n,r.b)}]):$}),Ga=f(function(n,r){var e;return r.b.b?(e=r.c,h(qa,r.a,d(Xa,n,r.b),e)):(e=r.c,h(qa,d(Za,n,r.a),$,e))}),nu=f(function(n,r){return d(Ha,Ga(n),r)}),ru=function(n){for(;;){if(!n.b)return $;var r,e;if(!n.a.$)return e=n.b,l(d(w,(r=n.a.a).a,r.b),ru(e));n=e=n.b}},eu=B(function(n,r,e,t,a){return{$:3,a:n,b:r,c:e,d:t,e:a}}),tu=f(function(n,r){n:for(;;){if(!r.b)return r;if(r.b.b)break;switch(r.a.$){case 0:return d(T,re,n(u=r.a.a));case 1:var e;if(r.a.b.b)return r.a.b.b.b?(c=(e=(t=r.a).b).a,(t=d(tu,n,v([d(Ra,t.a,e.b)]))).b&&1===t.a.$&&!t.b.b?v([d(Ra,(e=t.a).a,d(w,c,e.b))]):t):v([d(Ra,(e=r.a).a,n(u=e.b.a))]);break n;case 2:var t=r.a;return v([d(Qa,t.a,d(tu,n,t.b))]);case 3:var a=r.a,u=a.e;return d(T,p(eu,a.a,a.b,a.c,a.d),n(u));default:return r}}var c;return d(w,c=r.a,d(tu,n,r.b))}),au=cn,uu=n(function(n,r,e,t){return{ab:t,ag:e,V:r,an:n}}),cu=f(function(n,r){return(65535&r)*n+(((r>>>16)*n&65535)<<16)}),ou=U,iu=f(function(n,r){return r<>>32-n}),fu=fn,bu=f(function(n,r){return d(cu,5,d(iu,13,n^d(cu,461845907,d(iu,15,d(cu,3432918353,r)))))+3864292196}),su=f(function(n,r){n=r.ag|(255&Le(n))<>>16))^n>>>13))^n>>>16)>>>0}),vu=function(n){return Y(n).join("")},du=en,hu=f(function(n,r){for(;;){if(r<16)return d(w,te(r),n);n=d(w,te(d(du,16,r)),n),r=r/16|0}}),pu=function(n){return{$:9,a:n}},$u=f(function(n,r){return r.$?r:d(Ra,n,v([r.a]))}),mu=b(function(n,r,e){for(;;){if(n<=0)return e;if(!r.b)return e;var t=r.a;n=n-1,r=r.b,e=d(w,t,e)}}),gu=f(function(n,r){return D(h(mu,n,r,$))}),wu=b(function(n,r,e){if(0{for(;;){if(!n.b)return A;if(!n.b.b)return i(n.a);n=n.b}})(t)}).a.$||c.b.$?t:(u=c.a.a,c=c.b.a,l(d(yu,Vr(t)-1,t),v([Q(c,u)?c:u])));return l(c,l(a(d(E,$,d(wa,function(n){return ne(d(Ua,Du(r),d(T,oe,d(tu,e,n))))},ue(t)))),a(n)))}),Du=f(function(n,u){if(!n.b)return u;switch(n.a.$){case 0:return d(Du,e=n.b,d(Va,n.a.a,u));case 1:var r=n.a;return p(Su,o=r.b,e=n.b,nu(r.a),u);case 2:var r=n.a,a=r.a,r=r.b,e=n.b,c=f(function(n,r){var e=n.c,t=r.c;return h(qa,n.a,l(n.b,d(w,{a:a,b:r.a},r.b)),(n=>{for(;;){if(!n.b)return A;var r=n.a;if(1!==r.$)return r;n=n.b}})(v([t,e])))}),t=function(n){switch(n.$){case 0:var r=n.a,e=r.a,t=r.b,r=r.c,a=d(Ba,function(n){return d(T,c(n),d(w,e,t))},ru(u)),a=a.b?v([{$:0,a:h(Ia,a.a,a.b,$)}]):$;return d(Du,r,a);case 1:return d(_u,n.a,n.b);case 2:return d(zu,n.a,n.b);case 3:r=n.e;return d(T,p(ku,n.a,n.b,n.c,n.d),Tu(r));case 4:return v([{$:4,a:n.a}]);case 5:return v([{$:5,a:n.a}]);case 6:return v([{$:7,a:n.a}]);case 7:return v([{$:8,a:n.a}]);default:return ce(n.a)}};return ne(l(v([d(Du,e,u)]),d(T,t,d(Ba,ju,r))));case 3:t=n.a;return p(Su,o=t.b,e=n.b,Wa(t.a),u);case 5:var r=n.a.a,e=n.b,t=ae(r);return d(pa,d(Du,e,d(Va,"animation-name:"+t,u)),v([{$:6,a:{ct:r,cH:t}}]));case 4:var r=n.a,t=r.a,o=r.b,e=n.b,i=(r=ru(u)).b?(i=r.a,r=r.b,d(T,$u(t),d(Du,o,oe({$:0,a:h(Ia,i,r,$)})))):$;return l(d(Du,e,u),i);default:return d(Du,l(n.a.a,e=n.b),u)}var i}),Tu=function(n){return d(Du,n.c,v([{$:0,a:h(Ia,n.a,n.b,$)}]))},xu=function(n){var r;return n.b?(r=n.b,l(Nu(n.a),xu(r))):$},_u=f(function(r,n){return d(Ba,function(n){return d(T,Au(r),Tu(n))},n)}),zu=f(function(n,r){r=xu(d(Ba,ju,r));return v([d(Qa,n,r)])}),Nu=function(n){switch(n.$){case 0:return Tu(r=n.a);case 1:return d(_u,n.a,n.b);case 2:return d(zu,n.a,n.b);case 3:var r=n.e;return d(T,p(ku,n.a,n.b,n.c,n.d),Tu(r));case 4:return v([{$:4,a:n.a}]);case 5:return v([{$:5,a:n.a}]);case 6:return v([{$:7,a:n.a}]);case 7:return v([{$:8,a:n.a}]);default:return ce(n.a)}},Eu=function(n){var r=n.bU,e=n.bQ;return{bF:n.bF,cu:xu(d(Ba,ju,n.b9)),bQ:e,bU:r}},Pu=function(n){return La(ga(Eu(n)))},Fu=b(function(n,r,e){return{$:0,a:n,b:r,c:e}}),Ou=f(function(n,r){return v([{$:0,a:h(Fu,h(qa,r,$,A),$,n)}])}),Cu=function(n){return{bF:A,bQ:$,bU:$,b9:n}},Lu={$:1,a:v([{$:0,a:""}])},Bu=n(function(n,r,e,t){return d(n,d(w,fe(r),e),t)}),qu=b(function(n,r,e){return p(Bu,ta,v([Gt(n),Zt(r),ra(t(0)),na(t(0)),Xt(t(0))]),$,v([x(e)]))}),Iu=f(function(n,r){return n+"("+d(j,",",r)+")"}),Qu=n(function(n,r,e,t){return{aw:t,ay:e,A:0,aD:r,aI:n,D:d(Iu,"rgba",l(d(T,Ne,v([n,r,e])),v([ea(t)])))}}),Ru=f(function(n,r){return h(qu,n,p(Qu,0,0,0,0),r)}),Uu=function(n){return{aw:1,ay:0,A:0,aD:0,aI:0,D:be(n)}},Ju=bn,Vu=function(n){return h(Ju,w,$,n)},P=rn,Hu=b(function(n,r,e){for(;;){if(!r.b)return k(e);var t=r.a,a=r.b;switch(t){case"0":n=u=n-1,r=c=a,e=o=e;continue;case"1":var u=n-1,c=a,o=e+d(P,16,n);n=u,r=c,e=o;continue;case"2":u=n-1,c=a,o=e+2*d(P,16,n);n=u,r=c,e=o;continue;case"3":u=n-1,c=a,o=e+3*d(P,16,n);n=u,r=c,e=o;continue;case"4":u=n-1,c=a,o=e+4*d(P,16,n);n=u,r=c,e=o;continue;case"5":u=n-1,c=a,o=e+5*d(P,16,n);n=u,r=c,e=o;continue;case"6":u=n-1,c=a,o=e+6*d(P,16,n);n=u,r=c,e=o;continue;case"7":u=n-1,c=a,o=e+7*d(P,16,n);n=u,r=c,e=o;continue;case"8":u=n-1,c=a,o=e+8*d(P,16,n);n=u,r=c,e=o;continue;case"9":u=n-1,c=a,o=e+9*d(P,16,n);n=u,r=c,e=o;continue;case"a":u=n-1,c=a,o=e+10*d(P,16,n);n=u,r=c,e=o;continue;case"b":u=n-1,c=a,o=e+11*d(P,16,n);n=u,r=c,e=o;continue;case"c":u=n-1,c=a,o=e+12*d(P,16,n);n=u,r=c,e=o;continue;case"d":u=n-1,c=a,o=e+13*d(P,16,n);n=u,r=c,e=o;continue;case"e":u=n-1,c=a,o=e+14*d(P,16,n);n=u,r=c,e=o;continue;case"f":u=n-1,c=a,o=e+15*d(P,16,n);n=u,r=c,e=o;continue;default:return y(d(au,t,"")+" is not a valid hexadecimal character.")}}}),Mu=f(function(n,r){return r.$?y(r.a):k(n(r.a))}),Wu=f(function(n,r){return r.$?y(n(r.a)):k(r.a)}),Ku=B(function(n,r,e,t,a){var u=r.a,r=r.b,c=e.a,e=e.b,o=t.a,t=t.b,i=a.a,a=a.b,f=d(Mt,vu,d(Mt,le,se)),u={a:{a:f(v([u,r])),b:f(v([c,e]))},b:{a:f(v([o,t])),b:f(v([i,a]))}};return u.a.a.$||u.a.b.$||u.b.a.$||u.b.b.$?Uu(n):{aw:(r=u.b).b.a/255,ay:r.a.a,A:0,aD:(c=u.a).b.a,aI:c.a.a,D:be(n)}}),Yu=function(n){switch(n){case 0:return e("e14433");case 1:return e("#359b54");case 2:return e("#a08016");case 3:return e("#5a77f2");case 4:return e("#cf2ec8");case 5:return e("1894a5");case 6:return e("#f36552");case 7:return e("#3db361");case 8:return e("#b9941a");case 9:return e("#7491f8");case 10:return e("#e54ede");default:return e("#1eabbf")}},Zu=pn,Xu=function(r){return d(Pt,At,{$:2,b:function(n){try{Rr.location=r}catch(n){cr.location.reload(!1)}},c:null})},Gu=function(n){return{$:2,m:n}},F=Gu($),nc=f(function(e,n){return h(Dt,f(function(n,r){return e(n)?d(w,n,r):r}),$,n)}),rc=function(n){return n.trim()},ec=Ir,O=b(function(n,r,e){var t=(()=>{switch(n){case 0:return"help";case 1:return"clear";case 2:return"cookies";case 3:return"font";case 4:return"hello";case 5:return"prompt";default:return"theme"}})();return v([x((0(nr(n),g[n]={e:rr,u:r,a:er},Kn(n)))("setStorage",Kr),ic=f(function(n,r){var e=o(r);if(1===e.$)return{a:t=c(n,{a:l(n.a,v([x("\n"+(n=>"{ keepFont = "+(n.P?"True":"False")+"\n, keepTheme = "+(n.Q?"True":"False")+"\n}")(n.n))]))}),b:Gu(v([oc(he(t))]))};if("set"!==e.a)return{a:c(n,{a:l(n.a,h(O,2,1,r))}),b:F};var t,a=(t=ie(r)).$||(t=ie(t.a)).$?"":d(E,"",o(t.a)),e=(e=ie(r)).$?"":d(E,"",o(e.a)),u=n.n;if(""===a)return{a:c(n,{a:l(n.a,h(O,2,3,r))}),b:F};switch(e){case"":return{a:c(n,{a:l(n.a,h(O,2,2,r))}),b:F};case"keepFont":switch(a){case"true":return pe(c(n,{n:c(u,{P:!0})}));case"false":return pe(c(n,{n:c(u,{P:!1})}));default:return{a:c(n,{a:l(n.a,h(O,2,3,r))}),b:F}}case"keepTheme":switch(a){case"true":return pe(c(n,{n:c(u,{Q:!0})}));case"false":return pe(c(n,{n:c(u,{Q:!1})}));default:return{a:c(n,{a:l(n.a,h(O,2,3,r))}),b:F}}case"keepPrompt":switch(a){case"true":return pe(c(n,{n:c(u,{ah:!0})}));case"false":return pe(c(n,{n:c(u,{ah:!1})}));default:return{a:c(n,{a:l(n.a,h(O,2,3,r))}),b:F}}default:return{a:c(n,{a:l(n.a,h(O,2,2,r))}),b:F}}}),fc=function(n){return 0!==n.length&&!/[\sxbo]/.test(n)&&(n=+n)==n?i(n):A},bc=f(function(n,r){var e=o(r);if(1===e.$)return{a:c(n,{a:l(n.a,h(O,3,1,r))}),b:F};switch(e.a){case"size":var t=(a=ie(r)).$?"":d(E,"",o(a.a)),a=fc(t);if(!a.$)return 0<(a=a.a)?(u=c(n,{a:l(n.a,v([x("\nfontSize successfully set to "+t+"px")])),t:{o:a}}),pe(u)):{a:c(n,{a:l(n.a,v([x("\nPlease enter a valid fontSize, a Float greater than 0")]))}),b:F};switch(t){case"":return{a:c(n,{a:l(n.a,v([x("\nfontSize is "+ea(n.t.o)+"px")]))}),b:F};case"reset":var u=c(n,{a:l(n.a,v([x("\nfontSize reset to 20px")])),t:{o:20}});return pe(u);default:return{a:c(n,{a:l(n.a,v([x("\nfontSize "+t+" not recognised; font size expected")]))}),b:F}}case"reset":return{a:u=c(n,{a:l(n.a,v([x("\nfontSize reset to 20px")])),t:{o:20}}),b:Gu(v([oc(he(u))]))};default:t=e.a;return{a:c(n,{a:l(n.a,h(O,3,1,r))}),b:F}}}),sc=f(function(n,r){return 1===o(r).$?{a:c(n,{a:l(n.a,v([x("\nHello World!")]))}),b:F}:{a:c(n,{a:l(n.a,h(O,4,0,r))}),b:F}}),lc=f(function(n,r){return c(n,{a:l(n.a,(()=>{if(2<=Vr(r))return h(O,0,1,r);var n=o(r);if(1===n.$)return v([x("\n+--------------------------------------------------+\n|help prints this message |\n|help prints more information about |\n+--------------------------------------------------+\nclear clears the screen\ncookies [UNSTABLE] manages cookies\nhello prints hello world message\nfont manages font\nprompt [UNFINISHED] manages prompt\ntheme manages theme")]);switch(n.a){case"help":return v([x("\nhelp lists available commands with a short summary\nhelp prints more information about ")]);case"clear":return v([x("\nclear clears the screen")]);case"cookies":return v([x("\ncookies prints info about the current cookie settings\ncookies set [true|false] sets whether to store a certain cookie\noptions for are:\n keepFont - whether to store fontSize. Default fontSize is 20\n keepPrompt - whether to store prompt. Default prompt is >\n keepTheme - whether to store theme. Default theme is pit")]);case"hello":return v([x("\nhello prints `Hello World!`")]);case"font":return v([x("\nfont size prints info about the current font size\nfont size changes fontSize to if is >0\nfont reset changes fontSize to the default of 20px")]);case"prompt":return v([x("\nprompt prints info about the current prompt\nprompt set sets prompt text to \n is specified in quotes\nprompt color sets prompt color to \n run `colors` to list available colors")]);case"theme":return v([x("\ntheme sets the current theme according to \nOptions for are:\n sun - a theme blinding like the sun\n sky - a toned-down light theme\n dim - a deep and colorful dark theme\n pit - nearly black like the bottom of a pit")]);default:return h(O,0,1,r)}})())})}),vc=f(function(n,r){r=o(r);return 1===r.$?{a:c(n,{a:l(n.a,v([x("\ncurrent prompt is "+n.l.l)]))}),b:F}:pe(c(n,{l:c(n.l,{l:r.a})}))}),dc=f(function(n,r){n=c(n,{as:r});return pe(n)}),hc=f(function(n,r){var e=o(r);if(1===e.$)return{a:c(n,{a:l(n.a,v([x("\nThe current theme is "+(()=>{switch(n.as){case 3:return"sun";case 2:return"sky";case 1:return"dim";default:return"pit"}})())]))}),b:F};switch(e.a){case"sun":return d(dc,n,3);case"sky":return d(dc,n,2);case"dim":return d(dc,n,1);case"pit":return d(dc,n,0);default:return{a:c(n,{a:l(n.a,h(O,6,1,r))}),b:F}}}),pc=f(function(n,r){if(r.$)return""===r.a?{a:n,b:F}:{a:c(n,{a:l(n.a,v([x("\ncommand "+r.a+" not recognised. Run `help` to find a valid command")]))}),b:F};var e=r.a.a6;switch(r.a.ba){case 0:return{a:d(lc,n,e),b:F};case 1:return{a:d(tc,n,e),b:F};case 2:return d(ic,n,e);case 3:return d(bc,n,e);case 4:return d(sc,n,e);case 5:return d(vc,n,e);default:return d(hc,n,e)}}),$c=f(function(n,r){return 1===n.$?r:r+(":"+Ne(n.a))}),mc=b(function(n,r,e){return 1===r.$?e:l(e,l(n,r.a))}),Wn=f(function(n,r){switch(n.$){case 0:var e=n.a;return e.$?{a:r,b:Xu(e.a)}:{a:r,b:d(ec,r.be,(n=>h(mc,"#",n.bM,h(mc,"?",n.b1,l(d($c,n.bZ,l(n.b0?"https://":"http://",n.bP)),n.bX))))(e.a))};case 1:return{a:c(r,{br:n.a}),b:F};case 2:e=n.a;return d(Zu,"\n",e)?d(pc,c(r,{az:"",a:l(r.a,v([x(Q(r.a,$)?"":"\n"),d(Ru,Yu(10),r.l.l),x(rc(e))]))}),ve(e)):{a:c(r,{az:e}),b:F};case 3:return{a:r,b:F};default:e=n.a;return e.$?{a:c(r,{a:l(r.a,v([x("\n"+Ie(e.a))]))}),b:F}:{a:c(r,{a:l(r.a,v([x("\nData got successfully")]))}),b:F}}}),gc=f(function(n,r){return{cr:r,cV:n}}),wc=f(function(n,r){for(;;){if(-2===r.$)return A;var e=r.c,t=r.d,a=r.e;switch(d(ba,n,r.b)){case 0:n=n,r=t;continue;case 1:return i(e);default:n=n,r=a;continue}}}),C=f(function(n,r){var e=n.c;return n.b&&d(wc,e,r).$?h(la,e,ae(e),r):r}),yc=f(function(n,r){return d(dr,(n=>"innerHTML"==n||"formAction"==n?"data-"+n:n)(n),(n=>"string"==typeof n&&mr.test(n)?"":n)(r))}),kc=f(function(n,r){var e=r.a;return r.b?d(yc,"className",cc((r=d(wc,r.c,n)).$?"_unstyled":r.a)):e}),Ac=f(function(n,r){var e=r.a;return r.b?d(ua,"class",(r=d(wc,r.c,n)).$?"_unstyled":r.a):e}),jc=f(function(n,r){return d(sr,n,gr(r))}),Sc=f(function(n,r){return d(fr,n,gr(r))}),Dc=f(function(n,r){var e=n.a,t=n.b,a=r.a,u=r.b;switch(t.$){case 4:return{a:d(w,{a:e,b:s=t.a},a),b:u};case 0:var c=t.a,o=t.b,i=t.c,f=h(S,Tc,{a:$,b:h(S,C,u,o)},i),b=f.a,s=h(me,c,d(T,kc(f=f.b),o),D(b));return{a:d(w,{a:e,b:s},a),b:f};case 1:var l=t.a,c=t.b,o=t.c,i=t.d,v=h(S,Tc,{a:$,b:h(S,C,u,o)},i),b=v.a,s=p(Sc,l,c,d(T,kc(f=v.b),o),D(b));return{a:d(w,{a:e,b:s},a),b:f};case 2:c=t.a,o=t.b,i=t.c,v=h(S,Dc,{a:$,b:h(S,C,u,o)},i),b=v.a,s=h($e,c,d(T,kc(f=v.b),o),D(b));return{a:d(w,{a:e,b:s},a),b:f};default:l=t.a,c=t.b,o=t.c,i=t.d,v=h(S,Dc,{a:$,b:h(S,C,u,o)},i),b=v.a,s=p(jc,l,c,d(T,kc(f=v.b),o),D(b));return{a:d(w,{a:e,b:s},a),b:f}}}),Tc=f(function(n,r){var e=r.a,t=r.b;switch(n.$){case 4:return{a:d(w,f=n.a,e),b:t};case 0:var a=n.a,u=n.b,c=n.c,o=h(S,Tc,{a:$,b:h(S,C,t,u)},c),i=o.a,f=h(me,a,d(T,kc(o=o.b),u),D(i));return{a:d(w,f,e),b:o};case 1:var b=n.a,a=n.b,u=n.c,c=n.d,s=h(S,Tc,{a:$,b:h(S,C,t,u)},c),i=s.a,f=p(Sc,b,a,d(T,Ac(o=s.b),u),D(i));return{a:d(w,f,e),b:o};case 2:a=n.a,u=n.b,c=n.c,s=h(S,Dc,{a:$,b:h(S,C,t,u)},c),i=s.a,f=h($e,a,d(T,kc(o=s.b),u),D(i));return{a:d(w,f,e),b:o};default:b=n.a,a=n.b,u=n.c,c=n.d,s=h(S,Dc,{a:$,b:h(S,C,t,u)},c),i=s.a,f=p(jc,b,a,d(T,Ac(o=s.b),u),D(i));return{a:d(w,f,e),b:o}}}),xc=b(function(n,r,e){for(;;){if(-2===e.$)return r;var t=e.e,a=n,u=h(n,e.b,e.c,h(xc,n,r,e.d));n=a,r=u,e=t}}),_c=b(function(n,r,e){return d(j,r,d(Ee,n,e))}),zc=b(function(n,r,e){return e+"\n"+h(_c,"",r,n)}),Nc=f(function(t,n){return h(xc,b(function(n,r,e){return e+"\n"+h(_c,".","#"+t+"."+r,n)}),"",n)}),Ec=f(function(n,r){var e,t=r.$?(e=r.c,d(Nc,t=r.a,r.b)+"\n"+d(Nc,t+" ",e)):h(xc,zc,"",r.a);return h(me,"span",v([d(ua,"style","display: none;"),d(ua,"class","elm-css-style-wrapper")]),v([h(me,"style",n.$?$:v([d(ua,"nonce",n.a)]),oe(Vt(t)))]))}),Pc=n(function(n,r,e,t){var t=h(S,Tc,{a:$,b:h(S,C,ha,e)},t),a=t.a,t=t.b,n=d(Ec,n,{$:0,a:t}),t=d(T,kc(t),e);return h(me,r,t,d(w,n,D(a)))}),Fc=f(function(n,r){for(;;){if(!r.b)return!1;var e=r.b;if(Q(n,r.a.a))return!0;n=n,r=e}}),Oc=f(function(n,r){for(;;){if(!r.b)return n;var e=r.b,t="_"+r.a.a;if(!d(Fc,t,e))return t;n=t,r=e}}),Cc=b(function(n,r,e){return{a:d(Oc,"_",e),b:d(Ec,n,r)}}),Lc=n(function(n,r,e,t){var t=h(S,Dc,{a:$,b:h(S,C,ha,e)},t),a=t.a,t=t.b,n=h(Cc,n,{$:0,a:t},a),t=d(T,kc(t),e);return h($e,r,t,d(w,n,D(a)))}),Bc=B(function(n,r,e,t,a){var a=h(S,Dc,{a:$,b:h(S,C,ha,t)},a),u=a.a,a=a.b,n=h(Cc,n,{$:0,a:a},u),a=d(T,Ac(a),t);return p(jc,r,e,a,d(w,n,D(u)))}),qc=B(function(n,r,e,t,a){var a=h(S,Tc,{a:$,b:h(S,C,ha,t)},a),u=a.a,a=a.b,n=d(Ec,n,{$:0,a:a}),a=d(T,Ac(a),t);return p(Sc,r,e,a,d(w,n,D(u)))}),Ic=function(n){switch(n.$){case 4:return n.a;case 0:return p(Pc,A,n.a,n.b,n.c);case 1:return s(qc,A,n.a,n.b,n.c,n.d);case 2:return p(Lc,A,n.a,n.b,n.c);default:return s(Bc,A,n.a,n.b,n.c,n.d)}},Qc=function(n){return{$:2,a:n}},Rc=f(function(n,r){return h(aa,d(yc,n,r),!1,"")}),Uc=(vn=f(function(n,r){return d(Rc,n,cc(r))}))("id"),Jc=function(n){return{a:n,b:!0}},Vc=vr,Hc=f(function(n,r){return h(aa,d(Vc,n,r),!1,"")}),Mc=f(function(n,r){return d(Hc,n,{$:1,a:r})}),Wc=d(tn,v(["target","value"]),Ut),Kc=function(n){return d(Mc,"input",d(ut,Jc,d(ut,n,Wc)))},Yc=hn("main"),Zc=r("min-height"),Xc=f(function(n,r){for(;;)switch(n.as){case 0:switch(r){case 0:return e("#120211");case 1:return e("#f3d9f0");case 2:n=n,r=4;continue;case 3:return e("#380e36");case 4:return e("#e29edc");case 5:return e("#7c2b77");default:return e("#f9ecf7")}case 1:switch(r){case 0:return e("#380e36");case 1:return e("#f7e5f4");case 2:n=n,r=4;continue;case 3:return e("#5e1c56");case 4:return e("#e8b2e2");case 5:return e("#9d3c98");default:return e("#fbf4fa")}case 2:switch(r){case 0:return e("#f3d9f0");case 1:return e("#380e36");case 2:n=n,r=4;continue;case 3:return e("#eec6e9");case 4:return e("#7c2b77");case 5:return e("#d575cd");default:return e("#120211")}default:switch(r){case 0:return e("#f9ecf7");case 1:return e("#5a1c56");case 2:n=n,r=4;continue;case 3:return e("#f3d9f0");case 4:return e("#9d3c98");case 5:return e("#dc8ed5");default:return e("#380e36")}}}),Gc=d($n,0,"vh"),no=d($n,0,"vw"),ro=r("width"),eo=function(n){return d(Bu,Yc,v([Zt(d(Xc,n,0)),Gt(d(Xc,n,1)),Zc(Gc(100)),ro(no(100)),na(t(0)),ra(t(0))]))},to=d(Yt,"display","flex"),ao=r("flex-direction"),uo=r("flex-start"),co=r("flex-wrap"),oo=f(function(n,r){return{$:0,a:n+":"+r}}),io=b(function(n,r,e){for(;;)switch(e.$){case 0:var t=d(E,"",o(d(Ee,":",e.a)));return d(oo,r,t);case 1:return d(oo,r,"elm-css-error-cannot-apply-"+n+"-with-inapplicable-Style-for-selector");case 2:return d(oo,r,"elm-css-error-cannot-apply-"+n+"-with-inapplicable-Style-for-combinator");case 3:return d(oo,r,"elm-css-error-cannot-apply-"+n+"-with-inapplicable-Style-for-pseudo-element setter");case 4:return d(oo,r,"elm-css-error-cannot-apply-"+n+"-with-inapplicable-Style-for-media-query");case 5:return d(oo,r,"elm-css-error-cannot-apply-"+n+"-with-inapplicable-Style-for-keyframes");default:if(!e.a.b)return d(oo,r,"elm-css-error-cannot-apply-"+n+"-with-empty-Style");e=e.a.b.b?(t=e.a,n=n,r=r,{$:6,a:t.b}):(n=n,r=r,e.a.a)}}),fo=h($n,0,"",0),bo=function(n){return h(io,"justifyContent","justify-content",n(fo))},so={aA:0,aT:0,D:"nowrap",Z:0},lo={bc:0,aA:0,D:"row"},vo=function(n){return d(Bu,ta,v([Zt(d(Xc,n,0)),ra(t(0)),na(t(0)),to,ao(lo),co(so),bo(uo)]))},ho=r("flex-grow"),po=r("font-size"),$o=r("height"),mo={q:0,am:0,D:"hidden",aP:0},go=function(n){return{N:0,aU:0,S:0,B:0,aG:0,aW:0,J:n,at:"",aN:0,D:Ne(n)}},wo={_:0,bA:0,q:0,b:0,g:0,cz:0,bR:0,bf:0,ak:0,R:0,B:0,d:0,c:0,bi:0,aY:0,cL:0,y:0,aZ:0,cO:0,ap:0,X:0,u:0,f:0,cX:0,D:"none"},yo=r("outline-width"),ko=r("overflow"),Ao=r("resize"),jo=hn("textarea"),So=function(n){return d(Bu,jo,v([Gt(d(Xc,n,1)),po(t(n.t.o)),ra(t(0)),na(t(0)),Zt(d(Xc,n,0)),Xt(t(0)),yo(t(0)),$o(t(n.t.o)),Ao(wo),ko(mo),ho(go(100))]))},Do=r("font-family"),To={M:0,D:"monospace"},xo={D:"pre-wrap",Z:0},_o=r("white-space"),zo=function(n){return d(Bu,ta,v([Gt(d(Xc,n,1)),po(t(n.t.o)),ra(t(0)),na(t(0)),Zt(d(Xc,n,0)),Xt(t(0)),ro(no(100)),_o(xo),Do(To)]))},No=function(n){return d(Bu,ta,v([Gt(d(Xc,n,1)),po(t(n.t.o)),ra(t(0)),na(t(0)),Zt(d(Xc,n,0)),Xt(t(0)),$o(t(n.t.o)),Do(To)]))},Eo=vn("value"),M=Fn({cB:G,cI:function(n){return{$:1,a:n}},cJ:function(n){return{$:0,a:n}},cT:function(n){return Wt(d(Mt,It(Kt),Yr))},cW:Wn,cY:function(n){return d(gc,"andrew.r3tic.net",v([Ic((n=>h(eo,n,$,v([h(zo,n,$,n.a),h(vo,n,$,v([h(No,n,$,v([d(Ru,Yu(10),n.l.l)])),h(So,n,v([Kc(Qc),Eo(n.az),Uc("init-focus")]),$)]))])))(n))]))}});qn={Main:{init:M(jn)(0)}},u.Elm?function n(r,e){for(var t in e)t in r?"init"==t?nn(6):n(r[t],e[t]):r[t]=e[t]}(u.Elm,qn):u.Elm=qn})(this); \ No newline at end of file +(function(Wr){"use strict";function Pr(r,e,n){return n.a=r,n.f=e,n}function c(r){return Pr(2,r,function(e){return function(n){return r(e,n)}})}function D(r){return Pr(3,r,function(e){return function(n){return function(t){return r(e,n,t)}}})}function W(r){return Pr(4,r,function(e){return function(n){return function(t){return function(a){return r(e,n,t,a)}}}})}function ar(r){return Pr(5,r,function(e){return function(n){return function(t){return function(a){return function(u){return r(e,n,t,a,u)}}}}})}function ye(r){return Pr(6,r,function(e){return function(n){return function(t){return function(a){return function(u){return function(i){return r(e,n,t,a,u,i)}}}}}})}function lt(r){return Pr(7,r,function(e){return function(n){return function(t){return function(a){return function(u){return function(i){return function(o){return r(e,n,t,a,u,i,o)}}}}}}})}function mt(r){return Pr(8,r,function(e){return function(n){return function(t){return function(a){return function(u){return function(i){return function(o){return function(s){return r(e,n,t,a,u,i,o,s)}}}}}}}})}function _t(r){return Pr(9,r,function(e){return function(n){return function(t){return function(a){return function(u){return function(i){return function(o){return function(s){return function(f){return r(e,n,t,a,u,i,o,s,f)}}}}}}}}})}function $(r,e,n){return r.a===2?r.f(e,n):r(e)(n)}function v(r,e,n,t){return r.a===3?r.f(e,n,t):r(e)(n)(t)}function T(r,e,n,t,a){return r.a===4?r.f(e,n,t,a):r(e)(n)(t)(a)}function J(r,e,n,t,a,u){return r.a===5?r.f(e,n,t,a,u):r(e)(n)(t)(a)(u)}function nn(r,e,n,t,a,u,i){return r.a===6?r.f(e,n,t,a,u,i):r(e)(n)(t)(a)(u)(i)}function mu(r,e,n,t,a,u,i,o){return r.a===7?r.f(e,n,t,a,u,i,o):r(e)(n)(t)(a)(u)(i)(o)}function _u(r,e,n,t,a,u,i,o,s){return r.a===8?r.f(e,n,t,a,u,i,o,s):r(e)(n)(t)(a)(u)(i)(o)(s)}function Vf(r,e,n,t,a,u,i,o,s,f){return r.a===9?r.f(e,n,t,a,u,i,o,s,f):r(e)(n)(t)(a)(u)(i)(o)(s)(f)}function te(r,e){for(var n,t=[],a=tn(r,e,0,t);a&&(n=t.pop());a=tn(n.a,n.b,0,t));return a}function tn(r,e,n,t){if(r===e)return!0;if(typeof r!="object"||r===null||e===null)return typeof r=="function"&&fr(5),!1;if(n>100)return t.push(l(r,e)),!0;r.$<0&&(r=ke(r),e=ke(e));for(var a in r)if(!tn(r[a],e[a],n+1,t))return!1;return!0}var bu=c(te),hu=c(function(r,e){return!te(r,e)});function x(r,e,n){if(typeof r!="object")return r===e?0:r0}),Jf=c(function(r,e){return x(r,e)>=0}),wu=c(function(r,e){var n=x(r,e);return n<0?Yt:n?Ji:Gt}),Vr=0,Uf={$:"#0"};function l(r,e){return{a:r,b:e}}function kf(r,e){return{$:"#2",a:r,b:e}}function Lf(r,e,n){return{a:r,b:e,c:n}}function Of(r,e,n){return{$:"#3",a:r,b:e,c:n}}function Rf(r){return r}function Hf(r){return new String(r)}function j(r,e){var n={};for(var t in r)n[t]=r[t];for(var t in e)n[t]=e[t];return n}var gu=c(C);function C(r,e){if(typeof r=="string")return r+e;if(!r.b)return e;var n=Sr(r.a,e);r=r.b;for(var t=n;r.b;r=r.b)t=t.b=Sr(r.a,e);return n}var p={$:0},If={$:"[]"};function Sr(r,e){return{$:1,a:r,b:e}}function zf(r,e){return{$:"::",a:r,b:e}}var Du=c(Sr);function _(r){for(var e=p,n=r.length;n--;)e=Sr(r[n],e);return e}function Pe(r){for(var e=[];r.b;r=r.b)e.push(r.a);return e}var Cu=D(function(r,e,n){for(var t=[];e.b&&n.b;e=e.b,n=n.b)t.push($(r,e.a,n.a));return _(t)}),Wf=W(function(r,e,n,t){for(var a=[];e.b&&n.b&&t.b;e=e.b,n=n.b,t=t.b)a.push(v(r,e.a,n.a,t.a));return _(a)}),qf=ar(function(r,e,n,t,a){for(var u=[];e.b&&n.b&&t.b&&a.b;e=e.b,n=n.b,t=t.b,a=a.b)u.push(T(r,e.a,n.a,t.a,a.a));return _(u)}),Qf=ye(function(r,e,n,t,a,u){for(var i=[];e.b&&n.b&&t.b&&a.b&&u.b;e=e.b,n=n.b,t=t.b,a=a.b,u=u.b)i.push(J(r,e.a,n.a,t.a,a.a,u.a));return _(i)}),Gf=c(function(r,e){return _(Pe(e).sort(function(n,t){return x(r(n),r(t))}))}),Yf=c(function(r,e){return _(Pe(e).sort(function(n,t){var a=$(r,n,t);return a===Gt?0:a===Yt?-1:1}))}),Bu=[];function Zf(r){return[r]}function ju(r){return r.length}var yu=D(function(r,e,n){for(var t=new Array(r),a=0;a=0;t--)e=$(r,n[t],e);return e}),rv=c(function(r,e){for(var n=e.length,t=new Array(n),a=0;an.length&&(a=n.length);for(var u=t+a,i=new Array(u),o=0;o"}function ov(r){return Dr(!1,r)}function Dr(r,e){if(typeof e=="function")return Me(r,"");if(typeof e=="boolean")return ae(r,e?"True":"False");if(typeof e=="number")return Mu(r,e+"");if(e instanceof String)return Fu(r,"'"+ht(e,!0)+"'");if(typeof e=="string")return pt(r,'"'+ht(e,!1)+'"');if(typeof e=="object"&&"$"in e){var n=e.$;if(typeof n=="number")return Me(r,"");if(n[0]==="#"){var a=[];for(var t in e)t!=="$"&&a.push(Dr(r,e[t]));return"("+a.join(",")+")"}if(n==="Set_elm_builtin")return ae(r,"Set")+Ae(r,".fromList")+" "+Dr(r,ki(e));if(n==="RBNode_elm_builtin"||n==="RBEmpty_elm_builtin")return ae(r,"Dict")+Ae(r,".fromList")+" "+Dr(r,ke(e));if(n==="Array_elm_builtin")return ae(r,"Array")+Ae(r,".fromList")+" "+Dr(r,Oi(e));if(n==="::"||n==="[]"){var a="[";for(e.b&&(a+=Dr(r,e.a),e=e.b);e.b;e=e.b)a+=","+Dr(r,e.a);return a+"]"}var a="";for(var u in e)if(u!=="$"){var i=Dr(r,e[u]),o=i[0],s=o==="{"||o==="("||o==="["||o==="<"||o==='"'||i.indexOf(" ")<0;a+=" "+(s?i:"("+i+")")}return ae(r,n)+a}if(typeof DataView=="function"&&e instanceof DataView)return pt(r,"<"+e.byteLength+" bytes>");if(typeof File!="undefined"&&e instanceof File)return Me(r,"<"+e.name+">");if(typeof e=="object"){var a=[];for(var f in e){var m=f[0]==="_"?f.slice(1):f;a.push(Ae(r,m)+" = "+Dr(r,e[f]))}return a.length===0?"{}":"{ "+a.join(", ")+" }"}return Me(r,"")}function ht(r,e){var n=r.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/\t/g,"\\t").replace(/\r/g,"\\r").replace(/\v/g,"\\v").replace(/\0/g,"\\0");return e?n.replace(/\'/g,"\\'"):n.replace(/\"/g,'\\"')}function ae(r,e){return r?"\x1B[96m"+e+"\x1B[0m":e}function Mu(r,e){return r?"\x1B[95m"+e+"\x1B[0m":e}function pt(r,e){return r?"\x1B[93m"+e+"\x1B[0m":e}function Fu(r,e){return r?"\x1B[92m"+e+"\x1B[0m":e}function Ae(r,e){return r?"\x1B[37m"+e+"\x1B[0m":e}function Me(r,e){return r?"\x1B[36m"+e+"\x1B[0m":e}function cv(r){return String.fromCharCode(r<10?48+r:55+r)}function fr(r){throw new Error("https://github.com/elm/core/blob/1.0.0/hints/"+r+".md")}function sv(r,e,n,t,a){switch(r){case 0:throw new Error('What node should I take over? In JavaScript I need something like:\n\n Elm.Main.init({\n node: document.getElementById("elm-node")\n })\n\nYou need to do this with any Browser.sandbox or Browser.element program.');case 1:throw new Error("Browser.application programs cannot handle URLs like this:\n\n "+document.location.href+"\n\nWhat is the root? The root of your file system? Try looking at this program with `elm reactor` or some other server.");case 2:var u=e;throw new Error("Problem with the flags given to your Elm program on initialization.\n\n"+u);case 3:var i=e;throw new Error("There can only be one port named `"+i+"`, but your program has multiple.");case 4:var i=e,o=n;throw new Error("Trying to send an unexpected type of value through port `"+i+"`:\n"+o);case 5:throw new Error('Trying to use `(==)` on functions.\nThere is no way to know if functions are "the same" in the Elm sense.\nRead more about this at https://package.elm-lang.org/packages/elm/core/latest/Basics#== which describes why it is this way and what the better version will look like.');case 6:var s=e;throw new Error("Your page is loading multiple Elm scripts with a module named "+s+". Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!");case 8:var s=e,f=n,b=t;throw new Error("TODO in module `"+s+"` "+dt(f)+"\n\n"+b);case 9:var s=e,f=n,m=t,b=a;throw new Error("TODO in module `"+s+"` from the `case` expression "+dt(f)+"\n\nIt received the following value:\n\n "+bt(m).replace("\n","\n ")+"\n\nBut the branch that handles it says:\n\n "+b.replace("\n","\n "));case 10:throw new Error("Bug in https://github.com/elm/virtual-dom/issues");case 11:throw new Error("Cannot perform mod 0. Division by zero error.")}}function dt(r){return r.bo.aF===r.bI.aF?"on line "+r.bo.aF:"on lines "+r.bo.aF+" through "+r.bI.aF}var Eu=c(function(r,e){return r+e}),Tu=c(function(r,e){return r-e}),Vu=c(function(r,e){return r*e}),Ju=c(function(r,e){return r/e}),Uu=c(function(r,e){return r/e|0}),ku=c(Math.pow),Lu=c(function(r,e){return e%r}),Ou=c(function(r,e){var n=e%r;return r===0?fr(11):n>0&&r<0||n<0&&r>0?n+r:n}),fv=Math.PI,vv=Math.E,lv=Math.cos,mv=Math.sin,_v=Math.tan,bv=Math.acos,hv=Math.asin,pv=Math.atan,dv=c(Math.atan2);function Ru(r){return r}function Sv(r){return r|0}function wv(r){return r===1/0||r===-1/0}var Hu=Math.ceil,Iu=Math.floor,gv=Math.round,Dv=Math.sqrt,St=Math.log,Cv=isNaN;function zu(r){return!r}var Wu=c(function(r,e){return r&&e}),qu=c(function(r,e){return r||e}),Bv=c(function(r,e){return r!==e}),Qu=c(function(r,e){return r+e});function Gu(r){var e=r.charCodeAt(0);return isNaN(e)?E:X(55296<=e&&e<=56319?l(r[0]+r[1],r.slice(2)):l(r[0],r.slice(1)))}var Yu=c(function(r,e){return r+e});function Zu(r){return r.length}var jv=c(function(r,e){for(var n=e.length,t=new Array(n),a=0;a-1}),u$=c(function(r,e){return e.indexOf(r)===0}),$$=c(function(r,e){return e.length>=r.length&&e.lastIndexOf(r)===e.length-r.length}),i$=c(function(r,e){var n=r.length;if(n<1)return p;for(var t=0,a=[];(t=e.indexOf(r,t))>-1;)a.push(t),t=t+n;return _(a)});function wt(r){return r+""}function o$(r){for(var e=0,n=r.charCodeAt(0),t=n==43||n==45?1:0,a=t;a=e.length)return $r("a LONGER array. Need index "+t+" but only see "+e.length+" entries",e);var f=ur(r.b,e[t]);return br(f)?f:z($(Xt,t,f.a));case 8:if(typeof e!="object"||e===null||Fe(e))return $r("an OBJECT",e);var a=p;for(var u in e)if(e.hasOwnProperty(u)){var f=ur(r.b,e[u]);if(!br(f))return z($(Zt,u,f.a));a=Sr(l(u,f.a),a)}return k(H(a));case 9:for(var i=r.f,o=r.g,s=0;s=0&&e.splice(o,1)}return{subscribe:a,unsubscribe:u}}function fl(r,e){return Mt(r),rr[r]={f:W$,u:e,a:q$},vn(r)}var W$=c(function(r,e){return function(n){return r(e(n))}});function q$(r,e){var n=p,t=rr[r].u,a=vr(null);rr[r].b=a,rr[r].c=D(function(i,o,s){return n=o,a});function u(i){var o=$(an,t,i);br(o)||fr(4,r,o.a);for(var s=o.a,f=n;f.b;f=f.b)e(f.a(s))}return{send:u}}function Q$(r){Wr.Elm?Ft(Wr.Elm,r):Wr.Elm=r}function Ft(r,e){for(var n in e)n in r?n=="init"?fr(6):Ft(r[n],e[n]):r[n]=e[n]}function vl(r){Wr.Elm?Et("Elm",Wr.Elm,r):Wr.Elm=r}function Et(r,e,n){for(var t in n)t in e?t=="init"?fr(6,r):Et(r+"."+t,e[t],n[t]):e[t]=n[t]}var Te,er=typeof document!="undefined"?document:{};function mn(r,e){r.appendChild(e)}var ll=W(function(r,e,n,t){var a=t.node;return a.parentNode.replaceChild(Fr(r,function(){}),a),{}});function _n(r){return{$:0,a:r}}var Tt=c(function(r,e){return c(function(n,t){for(var a=[],u=0;t.b;t=t.b){var i=t.a;u+=i.b||0,a.push(i)}return u+=a.length,{$:1,c:e,d:hn(n),e:a,f:r,b:u}})}),bn=Tt(void 0),Vt=c(function(r,e){return c(function(n,t){for(var a=[],u=0;t.b;t=t.b){var i=t.a;u+=i.b.b||0,a.push(i)}return u+=a.length,{$:2,c:e,d:hn(n),e:a,f:r,b:u}})}),G$=Vt(void 0);function ml(r,e,n,t){return{$:3,d:hn(r),g:e,h:n,i:t}}var _l=c(function(r,e){return{$:4,j:r,k:e,b:1+(e.b||0)}});function Mr(r,e){return{$:5,l:r,m:e,k:void 0}}var bl=c(function(r,e){return Mr([r,e],function(){return r(e)})}),hl=D(function(r,e,n){return Mr([r,e,n],function(){return $(r,e,n)})}),pl=W(function(r,e,n,t){return Mr([r,e,n,t],function(){return v(r,e,n,t)})}),dl=ar(function(r,e,n,t,a){return Mr([r,e,n,t,a],function(){return T(r,e,n,t,a)})}),Sl=ye(function(r,e,n,t,a,u){return Mr([r,e,n,t,a,u],function(){return J(r,e,n,t,a,u)})}),wl=lt(function(r,e,n,t,a,u,i){return Mr([r,e,n,t,a,u,i],function(){return nn(r,e,n,t,a,u,i)})}),gl=mt(function(r,e,n,t,a,u,i,o){return Mr([r,e,n,t,a,u,i,o],function(){return mu(r,e,n,t,a,u,i,o)})}),Dl=_t(function(r,e,n,t,a,u,i,o,s){return Mr([r,e,n,t,a,u,i,o,s],function(){return _u(r,e,n,t,a,u,i,o,s)})}),Jt=c(function(r,e){return{$:"a0",n:r,o:e}}),Cl=c(function(r,e){return{$:"a1",n:r,o:e}}),Y$=c(function(r,e){return{$:"a2",n:r,o:e}}),Ut=c(function(r,e){return{$:"a3",n:r,o:e}}),Bl=D(function(r,e,n){return{$:"a4",n:e,o:{f:r,o:n}}}),Z$=/^script$/i,X$=/^(on|formAction$)/i,K$=/^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i,kt=/^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i;function Ve(r){return Z$.test(r)?"p":r}function N$(r){return X$.test(r)?"data-"+r:r}function x$(r){return r=="innerHTML"||r=="formAction"?"data-"+r:r}function jl(r){return K$.test(r)?"":r}function ri(r){return kt.test(r)?"":r}function ei(r){return typeof r=="string"&&kt.test(r)?"":r}var yl=c(function(r,e){return e.$==="a0"?$(Jt,e.n,ni(r,e.o)):e});function ni(r,e){var n=Pn(e);return{$:e.$,a:n?v(fo,n<3?ti:ai,fe(r),e.a):$(se,r,e.a)}}var ti=c(function(r,e){return l(r(e.a),e.b)}),ai=c(function(r,e){return{I:r(e.I),bp:e.bp,bk:e.bk}});function hn(r){for(var e={};r.b;r=r.b){var n=r.a,t=n.$,a=n.n,u=n.o;if(t==="a2"){a==="className"?Lt(e,a,u):e[a]=u;continue}var i=e[t]||(e[t]={});t==="a3"&&a==="class"?Lt(i,a,u):i[a]=u}return e}function Lt(r,e,n){var t=r[e];r[e]=t?t+" "+n:n}function Fr(r,e){var n=r.$;if(n===5)return Fr(r.k||(r.k=r.m()),e);if(n===0)return er.createTextNode(r.a);if(n===4){for(var t=r.k,a=r.j;t.$===4;)typeof a!="object"?a=[a,t.j]:a.push(t.j),t=t.k;var u={j:a,p:e},i=Fr(t,u);return i.elm_event_node_ref=u,i}if(n===3){var i=r.h(r.g);return pn(i,e,r.d),i}var i=r.f?er.createElementNS(r.f,r.c):er.createElement(r.c);Te&&r.c=="a"&&i.addEventListener("click",Te(i)),pn(i,e,r.d);for(var o=r.e,s=0;s0&&Z(n,1,t,m);return;case 4:for(var b=r.j,d=e.j,h=!1,w=r.k;w.$===4;)h=!0,typeof b!="object"?b=[b,w.j]:b.push(w.j),w=w.k;for(var g=e.k;g.$===4;)h=!0,typeof d!="object"?d=[d,g.j]:d.push(g.j),g=g.k;if(h&&b.length!==d.length){Z(n,0,t,e);return}(h?!fi(b,d):b!==d)&&Z(n,2,t,d),lr(w,g,n,t+1);return;case 0:r.a!==e.a&&Z(n,3,t,e.a);return;case 1:Rt(r,e,n,t,vi);return;case 2:Rt(r,e,n,t,li);return;case 3:if(r.h!==e.h){Z(n,0,t,e);return}var B=Sn(r.d,e.d);B&&Z(n,4,t,B);var M=e.i(r.g,e.g);M&&Z(n,5,t,M);return}}}function fi(r,e){for(var n=0;no?Z(n,6,t,{v:o,i:i-o}):i0||i.length>0||dr)&&Z(n,8,t,{w:a,x:i,y:dr})}var Ht="_elmW6BL";function $e(r,e,n,t,a,u){var i=r[n];if(!i){i={c:0,z:t,r:a,s:void 0},u.push({r:a,A:i}),r[n]=i;return}if(i.c===1){u.push({r:a,A:i}),i.c=2;var o=[];lr(i.z,t,o,i.r),i.r=a,i.s.s={w:o,A:i};return}$e(r,e,n+Ht,t,a,u)}function ie(r,e,n,t,a){var u=r[n];if(!u){var i=Z(e,9,a,void 0);r[n]={c:1,z:t,r:a,s:i};return}if(u.c===0){u.c=2;var o=[];lr(t,u.z,o,a),Z(e,9,a,{w:o,A:u});return}ie(r,e,n+Ht,t,a)}function It(r,e,n,t){oe(r,e,n,0,0,e.b,t)}function oe(r,e,n,t,a,u,i){for(var o=n[t],s=o.r;s===a;){var f=o.$;if(f===1)It(r,e.k,o.s,i);else if(f===8){o.t=r,o.u=i;var m=o.s.w;m.length>0&&oe(r,e,m,0,a,u,i)}else if(f===9){o.t=r,o.u=i;var b=o.s;if(b){b.A.s=r;var m=b.w;m.length>0&&oe(r,e,m,0,a,u,i)}}else o.t=r,o.u=i;if(t++,!(o=n[t])||(s=o.r)>u)return t}var d=e.$;if(d===4){for(var h=e.k;h.$===4;)h=h.k;return oe(r,h,n,t,a+1,u,r.elm_event_node_ref)}for(var w=e.e,g=r.childNodes,B=0;Bu))return t;a=y}return t}function zt(r,e,n,t){return n.length===0?r:(It(r,e,n,t),Je(r,n))}function Je(r,e){for(var n=0;n>r}),Ei=c(function(r,e){return e>>>r}),Ti=function(r){return{$:0,a:r}},Vi=function(r){return{$:1,a:r}},Gt=1,Ji=2,Yt=0,S=Du,Dn=D(function(r,e,n){r:for(;;){if(n.$===-2)return e;var t=n.b,a=n.c,u=n.d,i=n.e,o=r,s=v(r,t,a,v(Dn,r,e,i)),f=u;r=o,e=s,n=f;continue r}}),ke=function(r){return v(Dn,D(function(e,n,t){return $(S,l(e,n),t)}),p,r)},Ui=function(r){return v(Dn,D(function(e,n,t){return $(S,e,t)}),p,r)},ki=function(r){var e=r;return Ui(e)},Le=Au,Li=D(function(r,e,n){var t=n.c,a=n.d,u=c(function(i,o){if(i.$){var f=i.a;return v(Le,r,o,f)}else{var s=i.a;return v(Le,u,o,s)}});return v(Le,u,v(Le,r,e,a),t)}),Oi=function(r){return v(Li,S,p,r)},z=function(r){return{$:1,a:r}},Cn=c(function(r,e){return{$:3,a:r,b:e}}),Zt=c(function(r,e){return{$:0,a:r,b:e}}),Xt=c(function(r,e){return{$:1,a:r,b:e}}),k=function(r){return{$:0,a:r}},Ri=function(r){return{$:2,a:r}},Wl=1,ql=Eu,X=function(r){return{$:0,a:r}},E={$:1},Hi=t$,Ql=Wu,Ii=gu,zi=D$,Gr=wt,mr=c(function(r,e){return $(xu,r,Pe(e))}),Oe=c(function(r,e){return _($(Nu,r,e))}),Kt=function(r){return $(mr,"\n ",$(Oe,"\n",r))},V=D(function(r,e,n){r:for(;;)if(n.b){var t=n.a,a=n.b,u=r,i=$(r,t,e),o=a;r=u,e=i,n=o;continue r}else return e}),Jr=function(r){return v(V,c(function(e,n){return n+1}),0,r)},Wi=Cu,Gl=du,Yl=Tu,qi=D(function(r,e,n){r:for(;;)if(x(r,e)<1){var t=r,a=e-1,u=$(S,e,n);r=t,e=a,n=u;continue r}else return n}),Qi=c(function(r,e){return v(qi,r,e,p)}),Gi=c(function(r,e){return v(Wi,r,$(Qi,0,Jr(e)-1),e)}),Re=f$,Nt=function(r){var e=Re(r);return 97<=e&&e<=122},xt=function(r){var e=Re(r);return e<=90&&65<=e},Zl=qu,Yi=function(r){return Nt(r)||xt(r)},Zi=function(r){var e=Re(r);return e<=57&&48<=e},Xi=function(r){return Nt(r)||xt(r)||Zi(r)},H=function(r){return v(V,S,p,r)},Ki=Gu,Ni=c(function(r,e){return"\n\n("+(Gr(r+1)+(") "+Kt(xi(e))))}),xi=function(r){return $(ro,r,p)},ro=c(function(r,e){r:for(;;)switch(r.$){case 0:var n=r.a,i=r.b,t=function(){var g=Ki(n);if(g.$===1)return!1;var B=g.a,M=B.a,y=B.b;return Yi(M)&&$(Hi,Xi,y)}(),a=t?"."+n:"['"+(n+"']"),s=i,f=$(S,a,e);r=s,e=f;continue r;case 1:var u=r.a,i=r.b,o="["+(Gr(u)+"]"),s=i,f=$(S,o,e);r=s,e=f;continue r;case 2:var m=r.a;if(m.b)if(m.b.b){var b=function(){return e.b?"The Json.Decode.oneOf at json"+$(mr,"",H(e)):"Json.Decode.oneOf"}(),w=b+(" failed in the following "+(Gr(Jr(m))+" ways:"));return $(mr,"\n\n",$(S,w,$(Gi,Ni,m)))}else{var i=m.a,s=i,f=e;r=s,e=f;continue r}else return"Ran into a Json.Decode.oneOf with no possibilities"+function(){return e.b?" at json"+$(mr,"",H(e)):"!"}();default:var d=r.a,h=r.b,w=function(){return e.b?"Problem with the value at json"+($(mr,"",H(e))+":\n\n "):"Problem with the given value:\n\n"}();return w+(Kt($(zi,4,h))+("\n\n"+d))}}),_r=32,Bn=W(function(r,e,n,t){return{$:0,a:r,b:e,c:n,d:t}}),jn=Bu,ra=Hu,Xl=Ju,ea=c(function(r,e){return St(e)/St(r)}),Kl=Ru,yn=ra($(ea,2,_r)),eo=T(Bn,0,yn,jn,jn),na=yu,no=function(r){return{$:1,a:r}},Nl=c(function(r,e){return r(e)}),xl=c(function(r,e){return e(r)}),rm=bu,to=Iu,ta=ju,em=Su,ao=c(function(r,e){return x(r,e)>0?r:e}),nm=Vu,uo=function(r){return{$:0,a:r}},aa=Pu,$o=c(function(r,e){r:for(;;){var n=$(aa,_r,r),t=n.a,a=n.b,u=$(S,uo(t),e);if(a.b){var i=a,o=u;r=i,e=o;continue r}else return H(u)}}),tm=function(r){var e=r.a;return e},io=c(function(r,e){r:for(;;){var n=ra(e/_r);if(n===1)return $(aa,_r,r).a;var t=$($o,r,p),a=n;r=t,e=a;continue r}}),oo=c(function(r,e){if(e.h){var n=e.h*_r,t=to($(ea,_r,n-1)),a=r?H(e.k):e.k,u=$(io,a,e.h);return T(Bn,ta(e.j)+n,$(ao,5,t*yn),u,e.j)}else return T(Bn,ta(e.j),yn,jn,e.j)}),am=Uu,um=pu,co=ar(function(r,e,n,t,a){r:for(;;){if(e<0)return $(oo,!1,{k:t,h:n/_r|0,j:a});var u=no(v(na,_r,e,r)),i=r,o=e-_r,s=n,f=$(S,u,t),m=a;r=i,e=o,n=s,t=f,a=m;continue r}}),$m=Lu,so=c(function(r,e){if(r<=0)return eo;var n=r%_r,t=v(na,n,r-n,e),a=r-n-_r;return J(co,e,a,r,p,t)}),im=0,br=function(r){return!r.$},se=d$,fo=S$,fe=v$,Pn=function(r){switch(r.$){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},vo=function(r){return{$:1,a:r}},lo=function(r){return{$:0,a:r}},ve=function(r){return r},mo=ve,om=0,cm=1,ua=ye(function(r,e,n,t,a,u){return{bM:u,bP:e,bX:t,bZ:n,b0:r,b1:a}}),_o=a$,$a=Zu,ia=r$,Ur=c(function(r,e){return r<1?e:v(ia,r,$a(e),e)}),He=i$,Yr=function(r){return r===""},Ie=c(function(r,e){return r<1?"":v(ia,0,r,e)}),bo=o$,oa=ar(function(r,e,n,t,a){if(Yr(a)||$(_o,"@",a))return E;var u=$(He,":",a);if(u.b){if(u.b.b)return E;var i=u.a,o=bo($(Ur,i+1,a));if(o.$===1)return E;var s=o;return X(nn(ua,r,$(Ie,i,a),s,e,n,t))}else return X(nn(ua,r,a,E,e,n,t))}),ca=W(function(r,e,n,t){if(Yr(t))return E;var a=$(He,"/",t);if(a.b){var u=a.a;return J(oa,r,$(Ur,u,t),e,n,$(Ie,u,t))}else return J(oa,r,"/",e,n,t)}),sa=D(function(r,e,n){if(Yr(n))return E;var t=$(He,"?",n);if(t.b){var a=t.a;return T(ca,r,X($(Ur,a+1,n)),e,$(Ie,a,n))}else return T(ca,r,E,e,n)}),fa=c(function(r,e){if(Yr(e))return E;var n=$(He,"#",e);if(n.b){var t=n.a;return v(sa,r,X($(Ur,t+1,e)),$(Ie,t,e))}else return v(sa,r,E,e)}),le=u$,va=function(r){return $(le,"http://",r)?$(fa,0,$(Ur,7,r)):$(le,"https://",r)?$(fa,1,$(Ur,8,r)):E},me=function(r){r:for(;;){var e=r,n=e;r=n;continue r}},sm=ve,kr=vr,ho=kr(0),la=W(function(r,e,n,t){if(t.b){var a=t.a,u=t.b;if(u.b){var i=u.a,o=u.b;if(o.b){var s=o.a,f=o.b;if(f.b){var m=f.a,b=f.b,d=n>500?v(V,r,e,H(b)):T(la,r,e,n+1,b);return $(r,a,$(r,i,$(r,s,$(r,m,d))))}else return $(r,a,$(r,i,$(r,s,e)))}else return $(r,a,$(r,i,e))}else return $(r,a,e)}else return e}),Lr=D(function(r,e,n){return T(la,r,e,0,n)}),F=c(function(r,e){return v(Lr,c(function(n,t){return $(S,r(n),t)}),p,e)}),_e=$n,An=c(function(r,e){return $(_e,function(n){return kr(r(n))},e)}),po=D(function(r,e,n){return $(_e,function(t){return $(_e,function(a){return kr($(r,t,a))},n)},e)}),So=function(r){return v(Lr,po(S),kr(p),r)},wo=k$,go=c(function(r,e){var n=e;return Ct($(_e,wo(r),n))}),Do=D(function(r,e,n){return $(An,function(t){return 0},So($(F,go(r),e)))}),Co=D(function(r,e,n){return kr(0)}),Bo=c(function(r,e){var n=e;return $(An,r,n)});rr.Task=J$(ho,Do,Co,Bo);var ma=vn("Task"),be=c(function(r,e){return ma($(An,r,e))}),jo=Di,yo={$:3},fm=0,he=D(function(r,e,n){return r(e(n))}),Po=y$,Ao=c(function(r,e){return ma($(Po,$(he,$(he,kr,r),z),$(_e,$(he,$(he,kr,r),k),e)))}),Mo=D(function(r,e,n){return{P:e,Q:n,R:r}}),_a=p$,Zr=c(function(r,e){return v(Lr,_a,e,r)}),Mn=m$,Fo=w$,Eo=T(Fo,Mo,$(Zr,_(["cookiesKept","keepTheme"]),Mn),$(Zr,_(["cookiesKept","keepFont"]),Mn),$(Zr,_(["cookiesKept","keepPrompt"]),Mn)),pe=an,To=ji("focus"),Vo=function(r){return{o:r}},Jo=_$,Uo=$(se,Vo,$(Zr,_(["font","fontSize"]),Jo)),ko=function(r){return{l:r}},Fn=h$,Lo=$(se,ko,$(Zr,_(["prompt","prompt"]),Fn)),Oo=function(r){return{$:4,a:r}},ba=_n,Ro=function(r){return Oo(ba(r))},U=Ro,vm=1,lm=2,mm=3,ha=l$,Ho=function(r){var e=$(pe,$(_a,"theme",Fn),r);if(e.$)return ha("Error decoding theme field of json");switch(e.a){case"Pit":return fe(0);case"Dim":return fe(1);case"Sky":return fe(2);case"Sun":return fe(3);default:return ha("Unknown value found in theme field of json")}},Io=D(function(r,e,n){var t=_([U("Welcome to my website! Pardon the alpha quality for the time being"),U("\nRun `help` to get started")]),a=function(){var u=$(pe,Eo,r);if(u.$)return{P:!0,Q:!0,R:!0};var i=u.a;return i}();return l({az:"",a:t,n:a,t:function(){if(a.P){var u=$(pe,Uo,r);if(u.$)return{o:20};var i=u.a;return i}else return{o:20}}(),be:n,l:function(){if(a.Q){var u=$(pe,Lo,r);if(u.$)return{l:">"};var i=u.a;return i}else return{l:">"}}(),as:function(){if(a.R){var u=$(pe,Ho(r),r);if(u.$)return 0;var i=u.a;return i}else return 0}(),br:e},$(Ao,function(u){return yo},To("init-focus")))}),zo=yt,Wo=zo(p),qo=function(r){return Wo},_m=10,pa=function(r){return{$:0,a:r}},bm=ve,ze=c(function(r,e){return pa(r+(":"+e))}),Xr=function(r){return $(ze,"background-color",r.D)},q=c(function(r,e){return $(ze,r,e.D)}),We=q("border-width"),de=function(r){return $(ze,"color",r.D)},Kr=q("margin"),Nr=q("padding"),hm=0,pm=0,En=wt,qe=D(function(r,e,n){return{bs:0,bC:0,af:0,o:0,aE:0,ai:0,H:0,aj:0,ak:0,S:0,T:0,B:0,al:0,J:n,aq:0,at:e,aN:r,D:C(En(n),e)}}),R=$(qe,0,"px"),Qo=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),Go=Qo,Tn=Go,Qe=Tn("span"),Vn=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),xr=c(function(r,e){return $(Ut,N$(r),ri(e))}),Yo=c(function(r,e){r:for(;;)if(e.b){var n=e.a,t=e.b;if(r(n))return!0;var a=r,u=t;r=a,e=u;continue r}else return!1}),Zo=zu,da=c(function(r,e){return!$(Yo,$(he,Zo,r),e)}),dm=1,ir=ar(function(r,e,n,t,a){return{$:-1,a:r,b:e,c:n,d:t,e:a}}),Jn={$:-2},Sm=0,Sa=ar(function(r,e,n,t,a){if(a.$===-1&&!a.a){var u=a.a,i=a.b,o=a.c,s=a.d,f=a.e;if(t.$===-1&&!t.a){var m=t.a,b=t.b,d=t.c,h=t.d,w=t.e;return J(ir,0,e,n,J(ir,1,b,d,h,w),J(ir,1,i,o,s,f))}else return J(ir,r,i,o,J(ir,0,e,n,t,s),f)}else if(t.$===-1&&!t.a&&t.d.$===-1&&!t.d.a){var g=t.a,b=t.b,d=t.c,B=t.d,M=B.a,y=B.b,Q=B.c,I=B.d,O=B.e,w=t.e;return J(ir,0,b,d,J(ir,1,y,Q,I,O),J(ir,1,e,n,w,a))}else return J(ir,r,e,n,t,a)}),wa=wu,Un=D(function(r,e,n){if(n.$===-2)return J(ir,0,r,e,Jn,Jn);var t=n.a,a=n.b,u=n.c,i=n.d,o=n.e,s=$(wa,r,a);switch(s){case 0:return J(Sa,t,a,u,v(Un,r,e,i),o);case 1:return J(ir,t,a,e,i,o);default:return J(Sa,t,a,u,i,v(Un,r,e,o))}}),ga=D(function(r,e,n){var t=v(Un,r,e,n);if(t.$===-1&&!t.a){var a=t.a,u=t.b,i=t.c,o=t.d,s=t.e;return J(ir,1,u,i,o,s)}else{var f=t;return f}}),Br=function(r){return!r.b},Xo=c(function(r,e){var n=e.a,t=e.b;switch(r.$){case 0:var a=r.a,s=a.c;return Br(s)?l(n,t):l(n,$(S,r,t));case 1:var u=r.b;return $(da,function(m){var b=m.c;return Br(b)},u)?l(n,t):l(n,$(S,r,t));case 2:var i=r.b;return Br(i)?l(n,t):l(n,$(S,r,t));case 3:return l(n,$(S,r,t));case 4:var s=r.a;return Br(s)?l(n,t):l(n,$(S,r,t));case 5:var s=r.a;return Br(s)?l(n,t):l(n,$(S,r,t));case 6:var o=r.a;return Yr(o.ct)?l(n,t):l(v(ga,o.cF,o.ct,n),t);case 7:var s=r.a;return Br(s)?l(n,t):l(n,$(S,r,t));case 8:var s=r.a;return Br(s)?l(n,t):l(n,$(S,r,t));default:var f=r.a;return $(da,function(m){var b=m.b;return Br(b)},f)?l(n,t):l(n,$(S,r,t))}}),Se=Jn,Da=function(r){return{$:6,a:r}},kn=c(function(r,e){return e.b?v(Lr,S,e,r):r}),Ko=c(function(r,e){return $(kn,$(F,function(n){var t=n.a,a=n.b;return Da({ct:a,cF:t})},ke(r)),e)}),No=function(r){var e=v(Lr,Xo,l(Se,p),r),n=e.a,t=e.b;return $(Ko,n,t)},xo=function(r){var e=r.cu,n=r.bU,t=r.bQ,a=r.bF;return{bF:a,cu:No(e),bQ:t,bU:n}},Ge=c(function(r,e){if(e.$)return E;var n=e.a;return X(r(n))}),hr=c(function(r,e){if(e.$)return r;var n=e.a;return n}),rc=function(r){return $(hr,"",$(Ge,function(e){return'@charset "'+(e+'"')},r))},ec=W(function(r,e,n,t){r:for(;;)if(n.b)if(n.b.b){var a=n.a,u=n.b,i=r,o=e,s=u,f=t+(r(a)+(e+""));r=i,e=o,n=s,t=f;continue r}else{var a=n.a;return t+(r(a)+"")}else return t}),or=D(function(r,e,n){return T(ec,r,e,n,"")}),Ca=function(r){return"("+(r.bK+($(hr,"",$(Ge,Ii(": "),r.D))+")"))},nc=function(r){switch(r){case 0:return"print";case 1:return"screen";default:return"speech"}},Ba=function(r){var e=D(function(u,i,o){return u+(" "+$(mr," and ",$(S,nc(i),$(F,Ca,o))))});switch(r.$){case 0:var t=r.a;return v(or,Ca," and ",t);case 1:var n=r.a,t=r.b;return v(e,"only",n,t);case 2:var n=r.a,t=r.b;return v(e,"not",n,t);default:var a=r.a;return a}},tc=c(function(r,e){return'@import "'+(r+(Ba(e)+'"'))}),ac=function(r){var e=r.a,n=r.b;return v(or,tc(e),"\n",n)},uc=function(r){var e=r.a,n=r.b;return"@namespace "+(e+('"'+(n+'"')))},$c=function(r){return v(or,function(e){var n=e;return n+";"},"",r)},ic=Yu,oc=function(r){var e=r;return"::"+e},cc=function(r){switch(r){case 0:return"+";case 1:return"~";case 2:return">";default:return""}},Ln=function(r){switch(r.$){case 0:var e=r.a;return"."+e;case 1:var e=r.a;return"#"+e;case 2:var e=r.a;return":"+e;default:var e=r.a;return"["+(e+"]")}},ja=function(r){switch(r.$){case 0:var e=r.a,n=r.b;return C(e,v(or,Ln,"",n));case 1:var n=r.a;return Br(n)?"*":v(or,Ln,"",n);default:var e=r.a,n=r.b;return C(e,v(or,Ln,"",n))}},sc=function(r){var e=r.a,n=r.b;return cc(e)+(" "+ja(n))},fc=function(r){var e=r.a,n=r.b,t=r.c,a=$(S,ja(e),$(F,sc,n)),u=$(hr,"",$(Ge,oc,t));return $(ic,$(mr," ",a),u)},ya=function(r){var e=r.a,n=r.b,t=r.c,a=v(or,fc,",",$(S,e,n));return a+("{"+($c(t)+"}"))},vc=function(r){switch(r.$){case 0:var e=r.a;return ya(e);case 1:var n=r.a,t=r.b,a=v(or,Ba,", ",n),u=v(or,ya,"\n",t);return"@media "+(a+("{"+(u+"}")));case 2:return"TODO";case 3:return"TODO";case 4:return"TODO";case 5:return"TODO";case 6:var i=r.a.ct,o=r.a.cF;return"@keyframes "+(o+("{"+(i+"}")));case 7:return"TODO";case 8:return"TODO";default:return"TODO"}},lc=function(r){var e=r.cu,n=r.bU,t=r.bQ,a=r.bF;return rc(a)+(v(or,ac,"\n",t)+(v(or,uc,"\n",n)+(v(or,vc,"\n",e)+"")))},On=function(r){return v(Lr,kn,p,r)},we=c(function(r,e){return On($(F,r,e))}),Pa=function(r){return{$:8,a:r}},Aa=function(r){return{$:5,a:r}},Ma=function(r){return{$:4,a:r}},ge=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),Er=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),De=function(r){return{$:0,a:r}},Rn=c(function(r,e){return{$:2,a:r,b:e}}),Fa=function(r){return{$:7,a:r}},Or=c(function(r,e){return{$:1,a:r,b:e}}),Hn=c(function(r,e){if(e.b)if(e.b.b){var t=e.a,a=e.b;return $(S,t,$(Hn,r,a))}else{var n=e.a;return _([r(n)])}else return e}),Ea=c(function(r,e){var n=e.a,t=e.b,a=e.c;return v(Er,n,t,C(a,_([r])))}),In=c(function(r,e){if(e.b)if(e.b.b){var i=e.a,o=e.b;return $(S,i,$(In,r,o))}else switch(e.a.$){case 0:var n=e.a.a;return _([De($(Ea,r,n))]);case 1:var t=e.a,a=t.a,u=t.b;return _([$(Or,a,$(Hn,Ea(r),u))]);default:return e}else return e}),Ta=c(function(r,e){if(e.b.b){var a=e.a,u=e.b,t=e.c,i=$(F,r,u),o=r(a);return _([v(Er,a,u,t),v(Er,o,i,p)])}else{var n=e.a,t=e.c;return _([v(Er,n,p,t),v(Er,r(n),p,p)])}}),mc=c(function(r,e){var n=e.a,t=e.b;return v(ge,n,t,X(r))}),_c=c(function(r,e){return $(Ta,mc(r),e)}),bc=c(function(r,e){return{$:2,a:r,b:e}}),hc=c(function(r,e){return{$:0,a:r,b:e}}),Va=function(r){return{$:1,a:r}},Ja=c(function(r,e){switch(e.$){case 0:var n=e.a,a=e.b;return $(hc,n,C(a,_([r])));case 1:var a=e.a;return Va(C(a,_([r])));default:var t=e.a,a=e.b;return $(bc,t,C(a,_([r])))}}),Ua=c(function(r,e){if(e.b)if(e.b.b){var u=e.a,i=e.b;return $(S,u,$(Ua,r,i))}else{var n=e.a,t=n.a,a=n.b;return _([l(t,$(Ja,r,a))])}else return p}),pc=c(function(r,e){if(e.b.b){var a=e.a,u=e.b,t=e.c;return v(ge,a,$(Ua,r,u),t)}else{var n=e.a,t=e.c;return v(ge,$(Ja,r,n),p,t)}}),dc=c(function(r,e){return $(Ta,pc(r),e)}),zn=function(r){r:for(;;)if(r.b)if(r.a.$){var a=r.b,u=a;r=u;continue r}else{var e=r.a.a,n=e.a,t=e.b,a=r.b;return C($(S,n,t),zn(a))}else return p},Wn=ar(function(r,e,n,t,a){return{$:3,a:r,b:e,c:n,d:t,e:a}}),Ye=c(function(r,e){r:for(;;)if(e.b){if(e.b.b)break r;switch(e.a.$){case 0:var I=e.a.a;return $(F,De,r(I));case 1:if(e.a.b.b)if(e.a.b.b.b){var u=e.a,t=u.a,i=u.b,O=i.a,P=i.b,o=$(Ye,r,_([$(Or,t,P)]));if(o.b&&o.a.$===1&&!o.b.b){var s=o.a,f=s.a,m=s.b;return _([$(Or,f,$(S,O,m))])}else{var b=o;return b}}else{var n=e.a,t=n.a,a=n.b,I=a.a;return _([$(Or,t,r(I))])}else break r;case 2:var d=e.a,h=d.a,w=d.b;return _([$(Rn,h,$(Ye,r,w))]);case 3:var g=e.a,B=g.a,M=g.b,y=g.c,Q=g.d,I=g.e;return $(F,T(Wn,B,M,y,Q),r(I));case 4:return e;case 5:return e;case 6:return e;case 7:return e;case 8:return e;default:return e}}else return e;var O=e.a,P=e.b;return $(S,O,$(Ye,r,P))}),qn=Qu,Sc=W(function(r,e,n,t){return{ac:t,ah:n,W:e,an:r}}),ka=3432918353,La=461845907,wm=Pi,gm=Fi,Dm=Ei,Rr=c(function(r,e){return(e&65535)*r+(((e>>>16)*r&65535)<<16)}),wc=hu,Cm=Ai,Qn=c(function(r,e){return e<>>32-r}),Bm=Mi,gc=function(r){var e=r.ah?r.W^$(Rr,La,$(Qn,15,$(Rr,ka,r.ah))):r.W,n=e^r.ac,t=$(Rr,2246822507,n^n>>>16),a=$(Rr,3266489909,t^t>>>13);return(a^a>>>16)>>>0},Dc=Xu,Cc=c(function(r,e){return $(Rr,5,$(Qn,13,r^$(Rr,La,$(Qn,15,$(Rr,ka,e)))))+3864292196}),Bc=c(function(r,e){var n=e.ah|(255&Re(r))<1e3?$(S,y,$(S,i,$(S,m,$(S,g,$(Uc,e-4,B))))):$(S,y,$(S,i,$(S,m,$(S,g,v(qa,r+1,e-4,B)))))}else break e}else{if(t.a===1)break r;break e}else return n;return n}var M=t.b,y=M.a;return _([y])}),kc=c(function(r,e){return v(qa,0,r,e)}),Qa=ar(function(r,e,n,t,a){if(a.$)return a;var u=a.a;return J(Wn,r,e,n,t,u)}),Ga=c(function(r,e){switch(e.$){case 0:var m=e.a;return $(Or,r,_([m]));case 1:var n=e.a,t=e.b;return $(Or,C(r,n),t);case 2:var a=e.a,u=e.b;return $(Rn,a,$(F,Ga(r),u));case 3:var i=e.a,o=e.b,s=e.c,f=e.d,m=e.e;return J(Wn,i,o,s,f,m);case 4:return e;case 5:return e;case 6:return e;case 7:return e;case 8:return e;default:return e}}),Yn=function(r){var e=r;return e},Ya=W(function(r,e,n,t){var a=function(f){return $(hr,p,Hr(f))},u=$(wr,e,$(hr,p,za(t))),i=function(){var f=l(nr(u),Fc(t));if(!f.a.$&&!f.b.$){var m=f.a.a,b=f.b.a;return C($(kc,Jr(t)-1,t),_([te(b,m)?b:m]))}else return t}(),o=function(f){return On($(Hn,wr(r),$(F,Gn,$(Ye,n,f))))},s=$(hr,p,$(Ge,o,za(t)));return C(i,C(a(s),a(u)))}),wr=c(function(r,e){if(r.b)switch(r.a.$){case 0:var n=r.a.a,O=r.b;return $(wr,O,$(In,n,e));case 1:var t=r.a,a=t.a,y=t.b,O=r.b;return T(Ya,y,O,dc(a),e);case 2:var u=r.a,i=u.a,o=u.b,O=r.b,s=c(function(P,G){var pr=P.a,tr=P.b,yr=P.c,sr=G.a,dr=G.b,je=G.c;return v(ge,pr,C(tr,$(S,l(i,sr),dr)),Ec(_([je,yr])))}),f=function(P){switch(P.$){case 0:var G=P.a,pr=G.a,tr=G.b,yr=G.c,sr=$(we,function(vt){return $(F,s(vt),$(S,pr,tr))},zn(e)),dr=function(){if(sr.b){var vt=sr.a,Tf=sr.b;return _([De(v(Er,vt,Tf,p))])}else return p}();return $(wr,yr,dr);case 1:var je=P.a,st=P.b;return $(Za,je,st);case 2:var ft=P.a,jf=P.b;return $(Xa,ft,jf);case 3:var yf=P.a,Pf=P.b,Af=P.c,Mf=P.d,Ff=P.e;return $(F,T(Qa,yf,Pf,Af,Mf),Ze(Ff));case 4:var zr=P.a;return _([Ma(zr)]);case 5:var zr=P.a;return _([Aa(zr)]);case 6:var zr=P.a;return _([Fa(zr)]);case 7:var zr=P.a;return _([Pa(zr)]);default:var Ef=P.a;return Wa(Ef)}};return On(C(_([$(wr,O,e)]),$(F,f,$(we,Yn,o))));case 3:var m=r.a,b=m.a,y=m.b,O=r.b;return T(Ya,y,O,_c(b),e);case 5:var d=r.a.a,O=r.b,h=Ia(d),w="animation-name:"+h,g=$(wr,O,$(In,w,e));return $(kn,g,_([Da({ct:d,cF:h})]));case 4:var B=r.a,M=B.a,y=B.b,O=r.b,Q=function(){var P=zn(e);if(P.b){var G=P.a,pr=P.b;return $(F,Vc(M),$(wr,y,Gn(De(v(Er,G,pr,p)))))}else return p}();return C($(wr,O,e),Q);default:var I=r.a.a,O=r.b;return $(wr,C(I,O),e)}else return e}),Ze=function(r){var e=r.a,n=r.b,t=r.c;return $(wr,t,_([De(v(Er,e,n,p))]))},Zn=function(r){if(r.b){var e=r.a,n=r.b;return C(Lc(e),Zn(n))}else return p},Za=c(function(r,e){var n=function(t){return $(F,Ga(r),Ze(t))};return $(we,n,e)}),Xa=c(function(r,e){var n=Zn($(we,Yn,e));return _([$(Rn,r,n)])}),Lc=function(r){switch(r.$){case 0:var f=r.a;return Ze(f);case 1:var e=r.a,n=r.b;return $(Za,e,n);case 2:var t=r.a,a=r.b;return $(Xa,t,a);case 3:var u=r.a,i=r.b,o=r.c,s=r.d,f=r.e;return $(F,T(Qa,u,i,o,s),Ze(f));case 4:var m=r.a;return _([Ma(m)]);case 5:var m=r.a;return _([Aa(m)]);case 6:var m=r.a;return _([Fa(m)]);case 7:var m=r.a;return _([Pa(m)]);default:var b=r.a;return Wa(b)}},Oc=function(r){var e=r.b9,n=r.bU,t=r.bQ,a=r.bF,u=Zn($(we,Yn,e));return{bF:a,cu:u,bQ:t,bU:n}},Rc=function(r){return lc(xo(Oc(r)))},jm=ve,Hc=D(function(r,e,n){return{$:0,a:r,b:e,c:n}}),Ic=function(r){return{$:0,a:r}},zc=c(function(r,e){var n=v(ge,e,p,E);return _([Ic(v(Hc,n,p,r))])}),Wc=function(r){return{bF:E,bQ:p,bU:p,b9:r}},qc=function(r){return{$:0,a:r}},Xn="\x07",Qc=Va(_([qc(Xn)])),Gc=function(r){if(r.b){var e=r;return Rc(Wc(_([$(zc,r,Qc)])))}else return""},Yc=function(r){var e=Gc(r),n=$(xr,"","");return v(Vn,n,!0,e)},re=W(function(r,e,n,t){return $(r,$(S,Yc(e),n),t)}),Zc=D(function(r,e,n){return T(re,Qe,_([de(r),Xr(e),Nr(R(0)),Kr(R(0)),We(R(0))]),p,_([U(n)]))}),Xc=c(function(r,e){return r+("("+($(mr,",",e)+")"))}),Kc=W(function(r,e,n,t){return{aw:t,ay:n,A:0,aD:e,aI:r,D:$(Xc,"rgba",C($(F,Gr,_([r,e,n])),_([En(t)])))}}),Ka=c(function(r,e){return v(Zc,r,T(Kc,0,0,0,0),e)}),Na=function(r){return $(le,"#",r)?r:$(qn,"#",r)},xa=function(r){return{aw:1,ay:0,A:0,aD:0,aI:0,D:Na(r)}},Nc=Ku,Kn=function(r){return v(Nc,S,p,r)},ru=D(function(r,e,n){return e(r(n))}),xc=function(r){return $(qn,r,"")},K=ku,eu=D(function(r,e,n){r:for(;;)if(e.b){var t=e.a,a=e.b;switch(t){case"0":var u=r-1,i=a,o=n;r=u,e=i,n=o;continue r;case"1":var u=r-1,i=a,o=n+$(K,16,r);r=u,e=i,n=o;continue r;case"2":var u=r-1,i=a,o=n+2*$(K,16,r);r=u,e=i,n=o;continue r;case"3":var u=r-1,i=a,o=n+3*$(K,16,r);r=u,e=i,n=o;continue r;case"4":var u=r-1,i=a,o=n+4*$(K,16,r);r=u,e=i,n=o;continue r;case"5":var u=r-1,i=a,o=n+5*$(K,16,r);r=u,e=i,n=o;continue r;case"6":var u=r-1,i=a,o=n+6*$(K,16,r);r=u,e=i,n=o;continue r;case"7":var u=r-1,i=a,o=n+7*$(K,16,r);r=u,e=i,n=o;continue r;case"8":var u=r-1,i=a,o=n+8*$(K,16,r);r=u,e=i,n=o;continue r;case"9":var u=r-1,i=a,o=n+9*$(K,16,r);r=u,e=i,n=o;continue r;case"a":var u=r-1,i=a,o=n+10*$(K,16,r);r=u,e=i,n=o;continue r;case"b":var u=r-1,i=a,o=n+11*$(K,16,r);r=u,e=i,n=o;continue r;case"c":var u=r-1,i=a,o=n+12*$(K,16,r);r=u,e=i,n=o;continue r;case"d":var u=r-1,i=a,o=n+13*$(K,16,r);r=u,e=i,n=o;continue r;case"e":var u=r-1,i=a,o=n+14*$(K,16,r);r=u,e=i,n=o;continue r;case"f":var u=r-1,i=a,o=n+15*$(K,16,r);r=u,e=i,n=o;continue r;default:var s=t;return z(xc(s)+" is not a valid hexadecimal character.")}}else return k(n)}),rs=c(function(r,e){if(e.$){var t=e.a;return z(t)}else{var n=e.a;return k(r(n))}}),es=c(function(r,e){if(e.$){var t=e.a;return z(r(t))}else{var n=e.a;return k(n)}}),ns=function(r){if(Yr(r))return z("Empty strings are not valid hexadecimal strings.");var e=function(){if($(le,"-",r)){var t=$(hr,p,Hr(Kn(r)));return $(rs,Pc,v(eu,Jr(t)-1,t,0))}else return v(eu,$a(r)-1,Kn(r),0)}(),n=function(t){return $(mr," ",_(['"'+(r+'"'),"is not a valid hexadecimal string because",t]))};return $(es,n,e)},ts=n$,Xe=ar(function(r,e,n,t,a){var u=e.a,i=e.b,o=n.a,s=n.b,f=t.a,m=t.b,b=a.a,d=a.b,h=$(ru,Oa,$(ru,ts,ns)),w=l(l(h(_([u,i])),h(_([o,s]))),l(h(_([f,m])),h(_([b,d]))));if(!w.a.a.$&&!w.a.b.$&&!w.b.a.$&&!w.b.b.$){var g=w.a,B=g.a.a,M=g.b.a,y=w.b,Q=y.a.a,I=y.b.a;return{aw:I/255,ay:Q,A:0,aD:M,aI:B,D:Na(r)}}else return xa(r)}),A=function(r){var e=$(le,"#",r)?$(Ur,1,r):r,n=Kn(e);r:for(;;)if(n.b&&n.b.b&&n.b.b.b)if(n.b.b.b.b)if(n.b.b.b.b.b)if(n.b.b.b.b.b.b)if(n.b.b.b.b.b.b.b)if(n.b.b.b.b.b.b.b.b&&!n.b.b.b.b.b.b.b.b.b){var d=n.a,G=n.b,w=G.a,pr=G.b,B=pr.a,tr=pr.b,y=tr.a,yr=tr.b,I=yr.a,sr=yr.b,P=sr.a,dr=sr.b,je=dr.a,st=dr.b,ft=st.a;return J(Xe,r,l(d,w),l(B,y),l(I,P),l(je,ft))}else break r;else{var d=n.a,h=n.b,w=h.a,g=h.b,B=g.a,M=g.b,y=M.a,Q=M.b,I=Q.a,O=Q.b,P=O.a;return J(Xe,r,l(d,w),l(B,y),l(I,P),l("f","f"))}else break r;else{var t=n.a,s=n.b,u=s.a,f=s.b,o=f.a,m=f.b,b=m.a;return J(Xe,r,l(t,t),l(u,u),l(o,o),l(b,b))}else{var t=n.a,a=n.b,u=a.a,i=a.b,o=i.a;return J(Xe,r,l(t,t),l(u,u),l(o,o),l("f","f"))}else break r;return xa(r)},nu=function(r){switch(r){case 0:return A("e14433");case 1:return A("#359b54");case 2:return A("#a08016");case 3:return A("#5a77f2");case 4:return A("#cf2ec8");case 5:return A("1894a5");case 6:return A("#f36552");case 7:return A("#3db361");case 8:return A("#b9941a");case 9:return A("#7491f8");case 10:return A("#e54ede");default:return A("#1eabbf")}},as=$$,us=yi,Ke=yt,L=Ke(p),ym=1,Pm=2,Am=3,Mm=4,Fm=0,Em=5,Tm=6,Vm=7,$s=c(function(r,e){return v(Lr,c(function(n,t){return r(n)?$(S,n,t):t}),p,e)}),tu=e$,is=function(r){var e=$(F,tu,$(Oe," ",r)),n=function(){var o=nr(e);if(o.$)return z("error in parseInput parsing tokens");switch(o.a){case"help":return k(0);case"clear":return k(1);case"cookies":return k(2);case"font":return k(3);case"hello":return k(4);case"prompt":return k(5);case"theme":return k(6);case"todo":return k(7);default:var s=o.a;return z(s)}}(),t=function(){var o=Hr(e);if(o.$)return z("error in parseInput parsing tokens");var s=o.a;return k($($s,wc(""),s))}();if(t.$){var i=t.a;return z(i)}else{var a=t.a;if(n.$){var i=n.a;return z(i)}else{var u=n.a;return k({a6:a,ba:u})}}},os=Ci,cs=function(r){return"["+($(mr,",",r)+"]")},N=D(function(r,e,n){var t=function(){switch(r){case 0:return"help";case 1:return"clear";case 2:return"cookies";case 3:return"font";case 4:return"hello";case 5:return"prompt";case 6:return"theme";default:return"todo"}}();return _([U((x(e,Jr(n))>0?"\nToo few arguments for "+t:x(e,Jr(n))<0?"\nToo many arguments for "+t:"\nUnexpected arguments "+cs(n))+(". Run `help "+(t+"` for usage")))])}),ss=c(function(r,e){var n=nr(e);if(n.$===1)return j(r,{a:p});var t=n.a;return j(r,{a:C(r.a,v(N,1,0,e))})}),Nn=function(r){return r?"True":"False"},fs=function(r){return"{ keepFont = "+(Nn(r.P)+("\n, keepPrompt = "+(Nn(r.Q)+("\n, keepTheme = "+(Nn(r.R)+"\n}")))))},xn=un,vs=un,Ne=function(r){return v(V,c(function(e,n){var t=e.a,a=e.b;return v(B$,t,a,n)}),C$(0),r)},Ce=un,rt=function(r){return Ne(_([l("theme",Ce(function(){var e=r.as;switch(e){case 0:return"Pit";case 1:return"Dim";case 2:return"Sky";default:return"Sun"}}())),l("font",Ne(_([l("fontSize",vs(r.t.o))]))),l("cookiesKept",Ne(_([l("keepTheme",xn(r.n.R)),l("keepFont",xn(r.n.P)),l("keepPrompt",xn(r.n.Q))]))),l("prompt",Ne(_([l("prompt",Ce(r.l.l))])))]))},et=H$("setStorage",ve),gr=function(r){return l(r,Ke(_([et(rt(r))])))},ls=c(function(r,e){var n=nr(e);if(n.$===1){var t=j(r,{a:C(r.a,_([U("\n"+fs(r.n))]))});return l(t,Ke(_([et(rt(t))])))}else if(n.a==="set"){var a=function(){var s=Hr(e);if(s.$)return"";var f=s.a,m=Hr(f);if(m.$)return"";var b=m.a;return $(hr,"",nr(b))}(),u=function(){var s=Hr(e);if(s.$)return"";var f=s.a;return $(hr,"",nr(f))}(),i=r.n;if(a==="")return l(j(r,{a:C(r.a,v(N,2,3,e))}),L);switch(u){case"":return l(j(r,{a:C(r.a,v(N,2,2,e))}),L);case"keepFont":switch(a){case"true":return gr(j(r,{n:j(i,{P:!0})}));case"false":return gr(j(r,{n:j(i,{P:!1})}));default:return l(j(r,{a:C(r.a,v(N,2,3,e))}),L)}case"keepTheme":switch(a){case"true":return gr(j(r,{n:j(i,{R:!0})}));case"false":return gr(j(r,{n:j(i,{R:!1})}));default:return l(j(r,{a:C(r.a,v(N,2,3,e))}),L)}case"keepPrompt":switch(a){case"true":return gr(j(r,{n:j(i,{Q:!0})}));case"false":return gr(j(r,{n:j(i,{Q:!1})}));default:return l(j(r,{a:C(r.a,v(N,2,3,e))}),L)}default:return l(j(r,{a:C(r.a,v(N,2,2,e))}),L)}}else{var o=n.a;return l(j(r,{a:C(r.a,v(N,2,1,e))}),L)}}),ms=c$,_s=c(function(r,e){var n=nr(e);if(n.$===1)return l(j(r,{a:C(r.a,v(N,3,1,e))}),L);switch(n.a){case"size":var i=function(){var o=Hr(e);if(o.$)return"";var s=o.a;return $(hr,"",nr(s))}(),t=ms(i);if(t.$)switch(i){case"":return l(j(r,{a:C(r.a,_([U("\nfontSize is "+(En(r.t.o)+"px"))]))}),L);case"reset":var u=j(r,{a:C(r.a,_([U("\nfontSize reset to 20px")])),t:{o:20}});return gr(u);default:return l(j(r,{a:C(r.a,_([U("\nfontSize "+(i+" not recognised; font size expected"))]))}),L)}else{var a=t.a;if(a>0){var u=j(r,{a:C(r.a,_([U("\nfontSize successfully set to "+(i+"px"))])),t:{o:a}});return gr(u)}else return l(j(r,{a:C(r.a,_([U("\nPlease enter a valid fontSize, a Float greater than 0")]))}),L)}case"reset":var u=j(r,{a:C(r.a,_([U("\nfontSize reset to 20px")])),t:{o:20}});return l(u,Ke(_([et(rt(u))])));default:var i=n.a;return l(j(r,{a:C(r.a,v(N,3,1,e))}),L)}}),bs=c(function(r,e){var n=nr(e);return n.$===1?l(j(r,{a:C(r.a,_([U("\nHello World!")]))}),L):l(j(r,{a:C(r.a,v(N,4,0,e))}),L)}),hs=c(function(r,e){return j(r,{a:C(r.a,function(){if(Jr(e)<2){var n=nr(e);if(n.$===1)return _([U("\n+--------------------------------------------------+\n|help prints this message |\n|help prints more information about |\n+--------------------------------------------------+\nclear clears the screen\ncookies [UNSTABLE] manages cookies\nhello prints hello world message\nfont manages font\nprompt [UNFINISHED] manages prompt\ntheme manages theme\ntodo prints aspirations for the site")]);switch(n.a){case"help":return _([U("\nhelp lists available commands with a short summary\nhelp prints more information about ")]);case"clear":return _([U("\nclear clears the screen")]);case"cookies":return _([U("\ncookies prints info about the current cookie settings\ncookies set [true|false] sets whether to store a certain cookie\noptions for are:\n keepFont - whether to store fontSize. Default fontSize is 20\n keepPrompt - whether to store prompt. Default prompt is >\n keepTheme - whether to store theme. Default theme is pit")]);case"hello":return _([U("\nhello prints `Hello World!`")]);case"font":return _([U("\nfont size prints info about the current font size\nfont size changes fontSize to if is >0\nfont reset changes fontSize to the default of 20px")]);case"prompt":return _([U("\nprompt prints info about the current prompt\nprompt set sets prompt text to \n is specified in quotes\nprompt color sets prompt color to \n run `colors` to list available colors")]);case"theme":return _([U("\ntheme sets the current theme according to \nOptions for are:\n sun - a theme blinding like the sun\n sky - a toned-down light theme\n dim - a deep and colorful dark theme\n pit - nearly black like the bottom of a pit")]);case"todo":return _([U("\ntodo prints aspirations for the site")]);default:var t=n.a;return v(N,0,1,e)}}else return v(N,0,1,e)}())})}),ps=c(function(r,e){var n=nr(e);if(n.$===1)return l(j(r,{a:C(r.a,_([U("\ncurrent prompt is "+r.l.l)]))}),L);var t=n.a,a=r.l;return gr(j(r,{l:j(a,{l:t})}))}),xe=c(function(r,e){var n=j(r,{as:e});return gr(n)}),ds=c(function(r,e){var n=nr(e);if(n.$===1)return l(j(r,{a:C(r.a,_([U("\nThe current theme is "+function(){var a=r.as;switch(a){case 3:return"sun";case 2:return"sky";case 1:return"dim";default:return"pit"}}())]))}),L);switch(n.a){case"sun":return $(xe,r,3);case"sky":return $(xe,r,2);case"dim":return $(xe,r,1);case"pit":return $(xe,r,0);default:var t=n.a;return l(j(r,{a:C(r.a,v(N,6,1,e))}),L)}}),Ss=c(function(r,e){var n=nr(e);return n.$===1?j(r,{a:C(r.a,_([U("\n--Frontend\n- Implement colors throughout existing methods\n- Implement something like neofetch\n--Glue\n--Backend\n- Collect and store feedback in a database\n- Get an SSL certificate\n- Support https")]))}):j(r,{a:C(r.a,v(N,7,0,e))})}),ws=c(function(r,e){if(e.$){if(e.a==="")return l(r,L);var a=e.a;return l(j(r,{a:C(r.a,_([U("\ncommand "+(a+" not recognised. Run `help` to find a valid command"))]))}),L)}else{var n=e.a.a6,t=e.a.ba;switch(t){case 0:return l($(hs,r,n),L);case 1:return l($(ss,r,n),L);case 2:return $(ls,r,n);case 3:return $(_s,r,n);case 4:return $(bs,r,n);case 5:return $(ps,r,n);case 6:return $(ds,r,n);default:return l($(Ss,r,n),L)}}}),gs=c(function(r,e){if(r.$===1)return e;var n=r.a;return e+(":"+Gr(n))}),au=D(function(r,e,n){if(e.$===1)return n;var t=e.a;return C(n,C(r,t))}),Ds=function(r){var e=function(){var n=r.b0;return n?"https://":"http://"}();return v(au,"#",r.bM,v(au,"?",r.b1,C($(gs,r.bZ,C(e,r.bP)),r.bX)))},Cs=c(function(r,e){switch(r.$){case 0:var n=r.a;if(n.$){var t=n.a;return l(e,us(t))}else{var a=n.a;return l(e,$(os,e.be,Ds(a)))}case 1:var a=r.a;return l(j(e,{br:a}),L);case 2:var u=r.a;return $(as,"\n",u)?$(ws,j(e,{az:"",a:C(e.a,_([U(te(e.a,p)?"":"\n"),$(Ka,nu(10),e.l.l),U(tu(u))]))}),is(u)):l(j(e,{az:u}),L);default:return l(e,L)}}),Bs=b$,js=c(function(r,e){return{cr:e,cT:r}}),rn=function(r){return{$:0,a:r}},nt=c(function(r,e){r:for(;;){if(e.$===-2)return E;var n=e.b,t=e.c,a=e.d,u=e.e,i=$(wa,r,n);switch(i){case 0:var o=r,s=a;r=o,e=s;continue r;case 1:return X(t);default:var o=r,s=u;r=o,e=s;continue r}}}),cr=c(function(r,e){var n=r.b,t=r.c;if(n){var a=$(nt,t,e);return a.$?v(ga,t,Ia(t),e):e}else return e}),tt=c(function(r,e){return $(Y$,x$(r),ei(e))}),Tr=c(function(r,e){var n=e.a,t=e.b,a=e.c;if(t){var u=$(nt,a,r);if(u.$)return $(tt,"className",Ce("_unstyled"));var i=u.a;return $(tt,"className",Ce(i))}else return n}),en=c(function(r,e){var n=e.a,t=e.b,a=e.c;if(t){var u=$(nt,a,r);if(u.$)return $(xr,"class","_unstyled");var i=u.a;return $(xr,"class",i)}else return n}),at=function(r){return G$(Ve(r))},ut=c(function(r,e){return $(Vt,r,Ve(e))}),Be=function(r){return bn(Ve(r))},$t=c(function(r,e){return $(Tt,r,Ve(e))}),ee=c(function(r,e){var n=r.a,t=r.b,a=e.a,u=e.b;switch(t.$){case 4:var M=t.a;return l($(S,l(n,M),a),u);case 0:var m=t.a,b=t.b,d=t.c,h=v(V,cr,u,b),i=v(V,ne,l(p,h),d),g=i.a,B=i.b,M=v(Be,m,$(F,Tr(B),b),H(g));return l($(S,l(n,M),a),B);case 1:var f=t.a,m=t.b,b=t.c,d=t.d,h=v(V,cr,u,b),o=v(V,ne,l(p,h),d),g=o.a,B=o.b,M=T($t,f,m,$(F,Tr(B),b),H(g));return l($(S,l(n,M),a),B);case 2:var m=t.a,b=t.b,d=t.c,h=v(V,cr,u,b),s=v(V,ee,l(p,h),d),g=s.a,B=s.b,M=v(at,m,$(F,Tr(B),b),H(g));return l($(S,l(n,M),a),B);default:var f=t.a,m=t.b,b=t.c,d=t.d,h=v(V,cr,u,b),w=v(V,ee,l(p,h),d),g=w.a,B=w.b,M=T(ut,f,m,$(F,Tr(B),b),H(g));return l($(S,l(n,M),a),B)}}),ne=c(function(r,e){var n=e.a,t=e.b;switch(r.$){case 4:var g=r.a;return l($(S,g,n),t);case 0:var s=r.a,f=r.b,m=r.c,b=v(V,cr,t,f),a=v(V,ne,l(p,b),m),h=a.a,w=a.b,g=v(Be,s,$(F,Tr(w),f),H(h));return l($(S,g,n),w);case 1:var o=r.a,s=r.b,f=r.c,m=r.d,b=v(V,cr,t,f),u=v(V,ne,l(p,b),m),h=u.a,w=u.b,g=T($t,o,s,$(F,en(w),f),H(h));return l($(S,g,n),w);case 2:var s=r.a,f=r.b,m=r.c,b=v(V,cr,t,f),i=v(V,ee,l(p,b),m),h=i.a,w=i.b,g=v(at,s,$(F,Tr(w),f),H(h));return l($(S,g,n),w);default:var o=r.a,s=r.b,f=r.c,m=r.d,b=v(V,cr,t,f),d=v(V,ee,l(p,b),m),h=d.a,w=d.b,g=T(ut,o,s,$(F,en(w),f),H(h));return l($(S,g,n),w)}}),it=D(function(r,e,n){r:for(;;){if(n.$===-2)return e;var t=n.b,a=n.c,u=n.d,i=n.e,o=r,s=v(r,t,a,v(it,r,e,u)),f=i;r=o,e=s,n=f;continue r}}),uu=D(function(r,e,n){return $(mr,e,$(Oe,r,n))}),ys=D(function(r,e,n){return n+("\n"+v(uu,Xn,e,r))}),Ps=function(r){return v(it,ys,"",r)},$u=c(function(r,e){return v(it,D(function(n,t,a){return a+("\n"+v(uu,"."+Xn,"#"+(r+("."+t)),n))}),"",e)}),ot=c(function(r,e){var n=function(){if(e.$){var a=e.a,u=e.b,i=e.c;return $($u,a,u)+("\n"+$($u,a+" ",i))}else{var t=e.a;return Ps(t)}}();return v(Be,"span",_([$(xr,"style","display: none;"),$(xr,"class","elm-css-style-wrapper")]),_([v(Be,"style",function(){if(r.$)return p;var t=r.a;return _([$(xr,"nonce",t)])}(),Gn(ba(n)))]))}),As=W(function(r,e,n,t){var a=v(V,cr,Se,n),u=v(V,ne,l(p,a),t),i=u.a,o=u.b,s=$(ot,r,rn(o)),f=$(F,Tr(o),n);return v(Be,e,f,$(S,s,H(i)))}),Ms=c(function(r,e){r:for(;;)if(e.b){var n=e.a,t=n.a,a=e.b;if(te(r,t))return!0;var u=r,i=a;r=u,e=i;continue r}else return!1}),Fs=c(function(r,e){r:for(;;)if(e.b){var n=e.a,t=n.a,a=e.b,u="_"+t;if($(Ms,u,a)){var i=u,o=a;r=i,e=o;continue r}else return u}else return r}),iu=D(function(r,e,n){var t=$(Fs,"_",n),a=$(ot,r,e);return l(t,a)}),Es=W(function(r,e,n,t){var a=v(V,cr,Se,n),u=v(V,ee,l(p,a),t),i=u.a,o=u.b,s=v(iu,r,rn(o),i),f=$(F,Tr(o),n);return v(at,e,f,$(S,s,H(i)))}),Ts=ar(function(r,e,n,t,a){var u=v(V,cr,Se,t),i=v(V,ee,l(p,u),a),o=i.a,s=i.b,f=v(iu,r,rn(s),o),m=$(F,en(s),t);return T(ut,e,n,m,$(S,f,H(o)))}),Vs=ar(function(r,e,n,t,a){var u=v(V,cr,Se,t),i=v(V,ne,l(p,u),a),o=i.a,s=i.b,f=$(ot,r,rn(s)),m=$(F,en(s),t);return T($t,e,n,m,$(S,f,H(o)))}),Js=function(r){switch(r.$){case 4:var e=r.a;return e;case 0:var t=r.a,a=r.b,u=r.c;return T(As,E,t,a,u);case 1:var n=r.a,t=r.b,a=r.c,u=r.d;return J(Vs,E,n,t,a,u);case 2:var t=r.a,a=r.b,u=r.c;return T(Es,E,t,a,u);default:var n=r.a,t=r.b,a=r.c,u=r.d;return J(Ts,E,n,t,a,u)}},Us=Js,ks=function(r){return{$:2,a:r}},Ls=c(function(r,e){return v(Vn,$(tt,r,e),!1,"")}),ou=c(function(r,e){return $(Ls,r,Ce(e))}),Os=ou("id"),Rs=function(r){return l(r,!0)},Hs=function(r){return{$:1,a:r}},Is=Jt,zs=c(function(r,e){return v(Vn,$(Is,r,e),!1,"")}),Ws=c(function(r,e){return $(zs,r,Hs(e))}),qs=$(Zr,_(["target","value"]),Fn),Qs=function(r){return $(Ws,"input",$(se,Rs,$(se,r,qs)))},Jm=0,Um=1,Gs=Tn("main"),Ys=q("min-height"),km=4,jr=c(function(r,e){r:for(;;){var n=r.as;switch(n){case 0:switch(e){case 0:return A("#120211");case 1:return A("#f3d9f0");case 2:var t=r,a=4;r=t,e=a;continue r;case 3:return A("#380e36");case 4:return A("#e29edc");case 5:return A("#7c2b77");default:return A("#f9ecf7")}case 1:switch(e){case 0:return A("#380e36");case 1:return A("#f7e5f4");case 2:var t=r,a=4;r=t,e=a;continue r;case 3:return A("#5e1c56");case 4:return A("#e8b2e2");case 5:return A("#9d3c98");default:return A("#fbf4fa")}case 2:switch(e){case 0:return A("#f3d9f0");case 1:return A("#380e36");case 2:var t=r,a=4;r=t,e=a;continue r;case 3:return A("#eec6e9");case 4:return A("#7c2b77");case 5:return A("#d575cd");default:return A("#120211")}default:switch(e){case 0:return A("#f9ecf7");case 1:return A("#5a1c56");case 2:var t=r,a=4;r=t,e=a;continue r;case 3:return A("#f3d9f0");case 4:return A("#9d3c98");case 5:return A("#dc8ed5");default:return A("#380e36")}}}}),Lm=0,Zs=$(qe,0,"vh"),Om=0,cu=$(qe,0,"vw"),su=q("width"),Xs=function(r){return $(re,Gs,_([Xr($(jr,r,0)),de($(jr,r,1)),Ys(Zs(100)),su(cu(100)),Kr(R(0)),Nr(R(0))]))},Ks=$(ze,"display","flex"),Ns=q("flex-direction"),xs=q("flex-start"),rf=q("flex-wrap"),ef=function(r){return{$:6,a:r}},Ir=c(function(r,e){return pa(r+(":"+e))}),nf=D(function(r,e,n){r:for(;;)switch(n.$){case 0:var t=n.a,a=$(hr,"",nr($(Oe,":",t)));return $(Ir,e,a);case 1:var u=n.a;return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-selector"));case 2:var i=n.a;return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-combinator"));case 3:var o=n.a;return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-pseudo-element setter"));case 4:return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-media-query"));case 5:return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-inapplicable-Style-for-keyframes"));default:if(n.a.b)if(n.a.b.b){var h=n.a,w=h.a,g=h.b,m=r,b=e,d=ef(g);r=m,e=b,n=d;continue r}else{var s=n.a,f=s.a,m=r,b=e,d=f;r=m,e=b,n=d;continue r}else return $(Ir,e,"elm-css-error-cannot-apply-"+(r+"-with-empty-Style"))}}),Rm=0,tf=v(qe,0,"",0),af=function(r){return v(nf,"justifyContent","justify-content",r(tf))},uf={aA:0,aT:0,D:"nowrap",_:0},$f={bc:0,aA:0,D:"row"},of=function(r){return $(re,Qe,_([Xr($(jr,r,0)),Nr(R(0)),Kr(R(0)),Ks,Ns($f),rf(uf),af(xs)]))},cf=q("flex-grow"),ct=q("font-size"),fu=q("height"),sf={q:0,am:0,D:"hidden",aP:0},Hm=0,ff=function(r){return{N:0,aU:0,T:0,B:0,aG:0,aW:0,J:r,at:"",aN:0,D:Gr(r)}},vf={aa:0,bA:0,q:0,b:0,g:0,cz:0,bR:0,bf:0,ak:0,S:0,B:0,d:0,c:0,bi:0,aY:0,cJ:0,y:0,aZ:0,cM:0,ap:0,Y:0,u:0,f:0,cV:0,D:"none"},lf=q("outline-width"),mf=q("overflow"),_f=q("resize"),bf=Tn("textarea"),hf=function(r){return $(re,bf,_([de($(jr,r,1)),ct(R(r.t.o)),Nr(R(0)),Kr(R(0)),Xr($(jr,r,0)),We(R(0)),lf(R(0)),fu(R(r.t.o)),_f(vf),mf(sf),cf(ff(100))]))},vu=q("font-family"),lu={M:0,D:"monospace"},pf={D:"pre-wrap",_:0},df=q("white-space"),Sf=function(r){return $(re,Qe,_([de($(jr,r,1)),ct(R(r.t.o)),Nr(R(0)),Kr(R(0)),Xr($(jr,r,0)),We(R(0)),su(cu(100)),df(pf),vu(lu)]))},wf=function(r){return $(re,Qe,_([de($(jr,r,1)),ct(R(r.t.o)),Nr(R(0)),Kr(R(0)),Xr($(jr,r,0)),We(R(0)),fu(R(r.t.o)),vu(lu)]))},gf=ou("value"),Df=function(r){return v(Xs,r,p,_([v(Sf,r,p,r.a),v(of,r,p,_([v(wf,r,p,_([$(Ka,nu(10),r.l.l)])),v(hf,r,_([Qs(ks),gf(r.az),Os("init-focus")]),p)]))]))},Cf=function(r){return $(js,"elmskell",_([Us(Df(r))]))},Bf=jo({cB:Io,cG:Vi,cH:Ti,cR:qo,cU:Cs,cW:Cf});Q$({Main:{init:Bf(Bs)(0)}})})(this); diff --git a/assets/js/main.tmp.js b/assets/js/main.tmp.js new file mode 100644 index 0000000..e378057 --- /dev/null +++ b/assets/js/main.tmp.js @@ -0,0 +1,9714 @@ +(function(scope){ +'use strict'; + +function F(arity, fun, wrapper) { + wrapper.a = arity; + wrapper.f = fun; + return wrapper; +} + +function F2(fun) { + return F(2, fun, function(a) { return function(b) { return fun(a,b); }; }) +} +function F3(fun) { + return F(3, fun, function(a) { + return function(b) { return function(c) { return fun(a, b, c); }; }; + }); +} +function F4(fun) { + return F(4, fun, function(a) { return function(b) { return function(c) { + return function(d) { return fun(a, b, c, d); }; }; }; + }); +} +function F5(fun) { + return F(5, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return fun(a, b, c, d, e); }; }; }; }; + }); +} +function F6(fun) { + return F(6, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return fun(a, b, c, d, e, f); }; }; }; }; }; + }); +} +function F7(fun) { + return F(7, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return function(g) { return fun(a, b, c, d, e, f, g); }; }; }; }; }; }; + }); +} +function F8(fun) { + return F(8, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return function(g) { return function(h) { + return fun(a, b, c, d, e, f, g, h); }; }; }; }; }; }; }; + }); +} +function F9(fun) { + return F(9, fun, function(a) { return function(b) { return function(c) { + return function(d) { return function(e) { return function(f) { + return function(g) { return function(h) { return function(i) { + return fun(a, b, c, d, e, f, g, h, i); }; }; }; }; }; }; }; }; + }); +} + +function A2(fun, a, b) { + return fun.a === 2 ? fun.f(a, b) : fun(a)(b); +} +function A3(fun, a, b, c) { + return fun.a === 3 ? fun.f(a, b, c) : fun(a)(b)(c); +} +function A4(fun, a, b, c, d) { + return fun.a === 4 ? fun.f(a, b, c, d) : fun(a)(b)(c)(d); +} +function A5(fun, a, b, c, d, e) { + return fun.a === 5 ? fun.f(a, b, c, d, e) : fun(a)(b)(c)(d)(e); +} +function A6(fun, a, b, c, d, e, f) { + return fun.a === 6 ? fun.f(a, b, c, d, e, f) : fun(a)(b)(c)(d)(e)(f); +} +function A7(fun, a, b, c, d, e, f, g) { + return fun.a === 7 ? fun.f(a, b, c, d, e, f, g) : fun(a)(b)(c)(d)(e)(f)(g); +} +function A8(fun, a, b, c, d, e, f, g, h) { + return fun.a === 8 ? fun.f(a, b, c, d, e, f, g, h) : fun(a)(b)(c)(d)(e)(f)(g)(h); +} +function A9(fun, a, b, c, d, e, f, g, h, i) { + return fun.a === 9 ? fun.f(a, b, c, d, e, f, g, h, i) : fun(a)(b)(c)(d)(e)(f)(g)(h)(i); +} + + + + +// EQUALITY + +function _Utils_eq(x, y) +{ + for ( + var pair, stack = [], isEqual = _Utils_eqHelp(x, y, 0, stack); + isEqual && (pair = stack.pop()); + isEqual = _Utils_eqHelp(pair.a, pair.b, 0, stack) + ) + {} + + return isEqual; +} + +function _Utils_eqHelp(x, y, depth, stack) +{ + if (x === y) + { + return true; + } + + if (typeof x !== 'object' || x === null || y === null) + { + typeof x === 'function' && _Debug_crash(5); + return false; + } + + if (depth > 100) + { + stack.push(_Utils_Tuple2(x,y)); + return true; + } + + /**_UNUSED/ + if (x.$ === 'Set_elm_builtin') + { + x = $elm$core$Set$toList(x); + y = $elm$core$Set$toList(y); + } + if (x.$ === 'RBNode_elm_builtin' || x.$ === 'RBEmpty_elm_builtin') + { + x = $elm$core$Dict$toList(x); + y = $elm$core$Dict$toList(y); + } + //*/ + + /**/ + if (x.$ < 0) + { + x = $elm$core$Dict$toList(x); + y = $elm$core$Dict$toList(y); + } + //*/ + + for (var key in x) + { + if (!_Utils_eqHelp(x[key], y[key], depth + 1, stack)) + { + return false; + } + } + return true; +} + +var _Utils_equal = F2(_Utils_eq); +var _Utils_notEqual = F2(function(a, b) { return !_Utils_eq(a,b); }); + + + +// COMPARISONS + +// Code in Generate/JavaScript.hs, Basics.js, and List.js depends on +// the particular integer values assigned to LT, EQ, and GT. + +function _Utils_cmp(x, y, ord) +{ + if (typeof x !== 'object') + { + return x === y ? /*EQ*/ 0 : x < y ? /*LT*/ -1 : /*GT*/ 1; + } + + /**_UNUSED/ + if (x instanceof String) + { + var a = x.valueOf(); + var b = y.valueOf(); + return a === b ? 0 : a < b ? -1 : 1; + } + //*/ + + /**/ + if (typeof x.$ === 'undefined') + //*/ + /**_UNUSED/ + if (x.$[0] === '#') + //*/ + { + return (ord = _Utils_cmp(x.a, y.a)) + ? ord + : (ord = _Utils_cmp(x.b, y.b)) + ? ord + : _Utils_cmp(x.c, y.c); + } + + // traverse conses until end of a list or a mismatch + for (; x.b && y.b && !(ord = _Utils_cmp(x.a, y.a)); x = x.b, y = y.b) {} // WHILE_CONSES + return ord || (x.b ? /*GT*/ 1 : y.b ? /*LT*/ -1 : /*EQ*/ 0); +} + +var _Utils_lt = F2(function(a, b) { return _Utils_cmp(a, b) < 0; }); +var _Utils_le = F2(function(a, b) { return _Utils_cmp(a, b) < 1; }); +var _Utils_gt = F2(function(a, b) { return _Utils_cmp(a, b) > 0; }); +var _Utils_ge = F2(function(a, b) { return _Utils_cmp(a, b) >= 0; }); + +var _Utils_compare = F2(function(x, y) +{ + var n = _Utils_cmp(x, y); + return n < 0 ? $elm$core$Basics$LT : n ? $elm$core$Basics$GT : $elm$core$Basics$EQ; +}); + + +// COMMON VALUES + +var _Utils_Tuple0 = 0; +var _Utils_Tuple0_UNUSED = { $: '#0' }; + +function _Utils_Tuple2(a, b) { return { a: a, b: b }; } +function _Utils_Tuple2_UNUSED(a, b) { return { $: '#2', a: a, b: b }; } + +function _Utils_Tuple3(a, b, c) { return { a: a, b: b, c: c }; } +function _Utils_Tuple3_UNUSED(a, b, c) { return { $: '#3', a: a, b: b, c: c }; } + +function _Utils_chr(c) { return c; } +function _Utils_chr_UNUSED(c) { return new String(c); } + + +// RECORDS + +function _Utils_update(oldRecord, updatedFields) +{ + var newRecord = {}; + + for (var key in oldRecord) + { + newRecord[key] = oldRecord[key]; + } + + for (var key in updatedFields) + { + newRecord[key] = updatedFields[key]; + } + + return newRecord; +} + + +// APPEND + +var _Utils_append = F2(_Utils_ap); + +function _Utils_ap(xs, ys) +{ + // append Strings + if (typeof xs === 'string') + { + return xs + ys; + } + + // append Lists + if (!xs.b) + { + return ys; + } + var root = _List_Cons(xs.a, ys); + xs = xs.b + for (var curr = root; xs.b; xs = xs.b) // WHILE_CONS + { + curr = curr.b = _List_Cons(xs.a, ys); + } + return root; +} + + + +var _List_Nil = { $: 0 }; +var _List_Nil_UNUSED = { $: '[]' }; + +function _List_Cons(hd, tl) { return { $: 1, a: hd, b: tl }; } +function _List_Cons_UNUSED(hd, tl) { return { $: '::', a: hd, b: tl }; } + + +var _List_cons = F2(_List_Cons); + +function _List_fromArray(arr) +{ + var out = _List_Nil; + for (var i = arr.length; i--; ) + { + out = _List_Cons(arr[i], out); + } + return out; +} + +function _List_toArray(xs) +{ + for (var out = []; xs.b; xs = xs.b) // WHILE_CONS + { + out.push(xs.a); + } + return out; +} + +var _List_map2 = F3(function(f, xs, ys) +{ + for (var arr = []; xs.b && ys.b; xs = xs.b, ys = ys.b) // WHILE_CONSES + { + arr.push(A2(f, xs.a, ys.a)); + } + return _List_fromArray(arr); +}); + +var _List_map3 = F4(function(f, xs, ys, zs) +{ + for (var arr = []; xs.b && ys.b && zs.b; xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES + { + arr.push(A3(f, xs.a, ys.a, zs.a)); + } + return _List_fromArray(arr); +}); + +var _List_map4 = F5(function(f, ws, xs, ys, zs) +{ + for (var arr = []; ws.b && xs.b && ys.b && zs.b; ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES + { + arr.push(A4(f, ws.a, xs.a, ys.a, zs.a)); + } + return _List_fromArray(arr); +}); + +var _List_map5 = F6(function(f, vs, ws, xs, ys, zs) +{ + for (var arr = []; vs.b && ws.b && xs.b && ys.b && zs.b; vs = vs.b, ws = ws.b, xs = xs.b, ys = ys.b, zs = zs.b) // WHILE_CONSES + { + arr.push(A5(f, vs.a, ws.a, xs.a, ys.a, zs.a)); + } + return _List_fromArray(arr); +}); + +var _List_sortBy = F2(function(f, xs) +{ + return _List_fromArray(_List_toArray(xs).sort(function(a, b) { + return _Utils_cmp(f(a), f(b)); + })); +}); + +var _List_sortWith = F2(function(f, xs) +{ + return _List_fromArray(_List_toArray(xs).sort(function(a, b) { + var ord = A2(f, a, b); + return ord === $elm$core$Basics$EQ ? 0 : ord === $elm$core$Basics$LT ? -1 : 1; + })); +}); + + + +var _JsArray_empty = []; + +function _JsArray_singleton(value) +{ + return [value]; +} + +function _JsArray_length(array) +{ + return array.length; +} + +var _JsArray_initialize = F3(function(size, offset, func) +{ + var result = new Array(size); + + for (var i = 0; i < size; i++) + { + result[i] = func(offset + i); + } + + return result; +}); + +var _JsArray_initializeFromList = F2(function (max, ls) +{ + var result = new Array(max); + + for (var i = 0; i < max && ls.b; i++) + { + result[i] = ls.a; + ls = ls.b; + } + + result.length = i; + return _Utils_Tuple2(result, ls); +}); + +var _JsArray_unsafeGet = F2(function(index, array) +{ + return array[index]; +}); + +var _JsArray_unsafeSet = F3(function(index, value, array) +{ + var length = array.length; + var result = new Array(length); + + for (var i = 0; i < length; i++) + { + result[i] = array[i]; + } + + result[index] = value; + return result; +}); + +var _JsArray_push = F2(function(value, array) +{ + var length = array.length; + var result = new Array(length + 1); + + for (var i = 0; i < length; i++) + { + result[i] = array[i]; + } + + result[length] = value; + return result; +}); + +var _JsArray_foldl = F3(function(func, acc, array) +{ + var length = array.length; + + for (var i = 0; i < length; i++) + { + acc = A2(func, array[i], acc); + } + + return acc; +}); + +var _JsArray_foldr = F3(function(func, acc, array) +{ + for (var i = array.length - 1; i >= 0; i--) + { + acc = A2(func, array[i], acc); + } + + return acc; +}); + +var _JsArray_map = F2(function(func, array) +{ + var length = array.length; + var result = new Array(length); + + for (var i = 0; i < length; i++) + { + result[i] = func(array[i]); + } + + return result; +}); + +var _JsArray_indexedMap = F3(function(func, offset, array) +{ + var length = array.length; + var result = new Array(length); + + for (var i = 0; i < length; i++) + { + result[i] = A2(func, offset + i, array[i]); + } + + return result; +}); + +var _JsArray_slice = F3(function(from, to, array) +{ + return array.slice(from, to); +}); + +var _JsArray_appendN = F3(function(n, dest, source) +{ + var destLen = dest.length; + var itemsToCopy = n - destLen; + + if (itemsToCopy > source.length) + { + itemsToCopy = source.length; + } + + var size = destLen + itemsToCopy; + var result = new Array(size); + + for (var i = 0; i < destLen; i++) + { + result[i] = dest[i]; + } + + for (var i = 0; i < itemsToCopy; i++) + { + result[i + destLen] = source[i]; + } + + return result; +}); + + + +// LOG + +var _Debug_log = F2(function(tag, value) +{ + return value; +}); + +var _Debug_log_UNUSED = F2(function(tag, value) +{ + console.log(tag + ': ' + _Debug_toString(value)); + return value; +}); + + +// TODOS + +function _Debug_todo(moduleName, region) +{ + return function(message) { + _Debug_crash(8, moduleName, region, message); + }; +} + +function _Debug_todoCase(moduleName, region, value) +{ + return function(message) { + _Debug_crash(9, moduleName, region, value, message); + }; +} + + +// TO STRING + +function _Debug_toString(value) +{ + return ''; +} + +function _Debug_toString_UNUSED(value) +{ + return _Debug_toAnsiString(false, value); +} + +function _Debug_toAnsiString(ansi, value) +{ + if (typeof value === 'function') + { + return _Debug_internalColor(ansi, ''); + } + + if (typeof value === 'boolean') + { + return _Debug_ctorColor(ansi, value ? 'True' : 'False'); + } + + if (typeof value === 'number') + { + return _Debug_numberColor(ansi, value + ''); + } + + if (value instanceof String) + { + return _Debug_charColor(ansi, "'" + _Debug_addSlashes(value, true) + "'"); + } + + if (typeof value === 'string') + { + return _Debug_stringColor(ansi, '"' + _Debug_addSlashes(value, false) + '"'); + } + + if (typeof value === 'object' && '$' in value) + { + var tag = value.$; + + if (typeof tag === 'number') + { + return _Debug_internalColor(ansi, ''); + } + + if (tag[0] === '#') + { + var output = []; + for (var k in value) + { + if (k === '$') continue; + output.push(_Debug_toAnsiString(ansi, value[k])); + } + return '(' + output.join(',') + ')'; + } + + if (tag === 'Set_elm_builtin') + { + return _Debug_ctorColor(ansi, 'Set') + + _Debug_fadeColor(ansi, '.fromList') + ' ' + + _Debug_toAnsiString(ansi, $elm$core$Set$toList(value)); + } + + if (tag === 'RBNode_elm_builtin' || tag === 'RBEmpty_elm_builtin') + { + return _Debug_ctorColor(ansi, 'Dict') + + _Debug_fadeColor(ansi, '.fromList') + ' ' + + _Debug_toAnsiString(ansi, $elm$core$Dict$toList(value)); + } + + if (tag === 'Array_elm_builtin') + { + return _Debug_ctorColor(ansi, 'Array') + + _Debug_fadeColor(ansi, '.fromList') + ' ' + + _Debug_toAnsiString(ansi, $elm$core$Array$toList(value)); + } + + if (tag === '::' || tag === '[]') + { + var output = '['; + + value.b && (output += _Debug_toAnsiString(ansi, value.a), value = value.b) + + for (; value.b; value = value.b) // WHILE_CONS + { + output += ',' + _Debug_toAnsiString(ansi, value.a); + } + return output + ']'; + } + + var output = ''; + for (var i in value) + { + if (i === '$') continue; + var str = _Debug_toAnsiString(ansi, value[i]); + var c0 = str[0]; + var parenless = c0 === '{' || c0 === '(' || c0 === '[' || c0 === '<' || c0 === '"' || str.indexOf(' ') < 0; + output += ' ' + (parenless ? str : '(' + str + ')'); + } + return _Debug_ctorColor(ansi, tag) + output; + } + + if (typeof DataView === 'function' && value instanceof DataView) + { + return _Debug_stringColor(ansi, '<' + value.byteLength + ' bytes>'); + } + + if (typeof File !== 'undefined' && value instanceof File) + { + return _Debug_internalColor(ansi, '<' + value.name + '>'); + } + + if (typeof value === 'object') + { + var output = []; + for (var key in value) + { + var field = key[0] === '_' ? key.slice(1) : key; + output.push(_Debug_fadeColor(ansi, field) + ' = ' + _Debug_toAnsiString(ansi, value[key])); + } + if (output.length === 0) + { + return '{}'; + } + return '{ ' + output.join(', ') + ' }'; + } + + return _Debug_internalColor(ansi, ''); +} + +function _Debug_addSlashes(str, isChar) +{ + var s = str + .replace(/\\/g, '\\\\') + .replace(/\n/g, '\\n') + .replace(/\t/g, '\\t') + .replace(/\r/g, '\\r') + .replace(/\v/g, '\\v') + .replace(/\0/g, '\\0'); + + if (isChar) + { + return s.replace(/\'/g, '\\\''); + } + else + { + return s.replace(/\"/g, '\\"'); + } +} + +function _Debug_ctorColor(ansi, string) +{ + return ansi ? '\x1b[96m' + string + '\x1b[0m' : string; +} + +function _Debug_numberColor(ansi, string) +{ + return ansi ? '\x1b[95m' + string + '\x1b[0m' : string; +} + +function _Debug_stringColor(ansi, string) +{ + return ansi ? '\x1b[93m' + string + '\x1b[0m' : string; +} + +function _Debug_charColor(ansi, string) +{ + return ansi ? '\x1b[92m' + string + '\x1b[0m' : string; +} + +function _Debug_fadeColor(ansi, string) +{ + return ansi ? '\x1b[37m' + string + '\x1b[0m' : string; +} + +function _Debug_internalColor(ansi, string) +{ + return ansi ? '\x1b[36m' + string + '\x1b[0m' : string; +} + +function _Debug_toHexDigit(n) +{ + return String.fromCharCode(n < 10 ? 48 + n : 55 + n); +} + + +// CRASH + + +function _Debug_crash(identifier) +{ + throw new Error('https://github.com/elm/core/blob/1.0.0/hints/' + identifier + '.md'); +} + + +function _Debug_crash_UNUSED(identifier, fact1, fact2, fact3, fact4) +{ + switch(identifier) + { + case 0: + throw new Error('What node should I take over? In JavaScript I need something like:\n\n Elm.Main.init({\n node: document.getElementById("elm-node")\n })\n\nYou need to do this with any Browser.sandbox or Browser.element program.'); + + case 1: + throw new Error('Browser.application programs cannot handle URLs like this:\n\n ' + document.location.href + '\n\nWhat is the root? The root of your file system? Try looking at this program with `elm reactor` or some other server.'); + + case 2: + var jsonErrorString = fact1; + throw new Error('Problem with the flags given to your Elm program on initialization.\n\n' + jsonErrorString); + + case 3: + var portName = fact1; + throw new Error('There can only be one port named `' + portName + '`, but your program has multiple.'); + + case 4: + var portName = fact1; + var problem = fact2; + throw new Error('Trying to send an unexpected type of value through port `' + portName + '`:\n' + problem); + + case 5: + throw new Error('Trying to use `(==)` on functions.\nThere is no way to know if functions are "the same" in the Elm sense.\nRead more about this at https://package.elm-lang.org/packages/elm/core/latest/Basics#== which describes why it is this way and what the better version will look like.'); + + case 6: + var moduleName = fact1; + throw new Error('Your page is loading multiple Elm scripts with a module named ' + moduleName + '. Maybe a duplicate script is getting loaded accidentally? If not, rename one of them so I know which is which!'); + + case 8: + var moduleName = fact1; + var region = fact2; + var message = fact3; + throw new Error('TODO in module `' + moduleName + '` ' + _Debug_regionToString(region) + '\n\n' + message); + + case 9: + var moduleName = fact1; + var region = fact2; + var value = fact3; + var message = fact4; + throw new Error( + 'TODO in module `' + moduleName + '` from the `case` expression ' + + _Debug_regionToString(region) + '\n\nIt received the following value:\n\n ' + + _Debug_toString(value).replace('\n', '\n ') + + '\n\nBut the branch that handles it says:\n\n ' + message.replace('\n', '\n ') + ); + + case 10: + throw new Error('Bug in https://github.com/elm/virtual-dom/issues'); + + case 11: + throw new Error('Cannot perform mod 0. Division by zero error.'); + } +} + +function _Debug_regionToString(region) +{ + if (region.bo.aF === region.bI.aF) + { + return 'on line ' + region.bo.aF; + } + return 'on lines ' + region.bo.aF + ' through ' + region.bI.aF; +} + + + +// MATH + +var _Basics_add = F2(function(a, b) { return a + b; }); +var _Basics_sub = F2(function(a, b) { return a - b; }); +var _Basics_mul = F2(function(a, b) { return a * b; }); +var _Basics_fdiv = F2(function(a, b) { return a / b; }); +var _Basics_idiv = F2(function(a, b) { return (a / b) | 0; }); +var _Basics_pow = F2(Math.pow); + +var _Basics_remainderBy = F2(function(b, a) { return a % b; }); + +// https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/divmodnote-letter.pdf +var _Basics_modBy = F2(function(modulus, x) +{ + var answer = x % modulus; + return modulus === 0 + ? _Debug_crash(11) + : + ((answer > 0 && modulus < 0) || (answer < 0 && modulus > 0)) + ? answer + modulus + : answer; +}); + + +// TRIGONOMETRY + +var _Basics_pi = Math.PI; +var _Basics_e = Math.E; +var _Basics_cos = Math.cos; +var _Basics_sin = Math.sin; +var _Basics_tan = Math.tan; +var _Basics_acos = Math.acos; +var _Basics_asin = Math.asin; +var _Basics_atan = Math.atan; +var _Basics_atan2 = F2(Math.atan2); + + +// MORE MATH + +function _Basics_toFloat(x) { return x; } +function _Basics_truncate(n) { return n | 0; } +function _Basics_isInfinite(n) { return n === Infinity || n === -Infinity; } + +var _Basics_ceiling = Math.ceil; +var _Basics_floor = Math.floor; +var _Basics_round = Math.round; +var _Basics_sqrt = Math.sqrt; +var _Basics_log = Math.log; +var _Basics_isNaN = isNaN; + + +// BOOLEANS + +function _Basics_not(bool) { return !bool; } +var _Basics_and = F2(function(a, b) { return a && b; }); +var _Basics_or = F2(function(a, b) { return a || b; }); +var _Basics_xor = F2(function(a, b) { return a !== b; }); + + + +var _String_cons = F2(function(chr, str) +{ + return chr + str; +}); + +function _String_uncons(string) +{ + var word = string.charCodeAt(0); + return !isNaN(word) + ? $elm$core$Maybe$Just( + 0xD800 <= word && word <= 0xDBFF + ? _Utils_Tuple2(_Utils_chr(string[0] + string[1]), string.slice(2)) + : _Utils_Tuple2(_Utils_chr(string[0]), string.slice(1)) + ) + : $elm$core$Maybe$Nothing; +} + +var _String_append = F2(function(a, b) +{ + return a + b; +}); + +function _String_length(str) +{ + return str.length; +} + +var _String_map = F2(function(func, string) +{ + var len = string.length; + var array = new Array(len); + var i = 0; + while (i < len) + { + var word = string.charCodeAt(i); + if (0xD800 <= word && word <= 0xDBFF) + { + array[i] = func(_Utils_chr(string[i] + string[i+1])); + i += 2; + continue; + } + array[i] = func(_Utils_chr(string[i])); + i++; + } + return array.join(''); +}); + +var _String_filter = F2(function(isGood, str) +{ + var arr = []; + var len = str.length; + var i = 0; + while (i < len) + { + var char = str[i]; + var word = str.charCodeAt(i); + i++; + if (0xD800 <= word && word <= 0xDBFF) + { + char += str[i]; + i++; + } + + if (isGood(_Utils_chr(char))) + { + arr.push(char); + } + } + return arr.join(''); +}); + +function _String_reverse(str) +{ + var len = str.length; + var arr = new Array(len); + var i = 0; + while (i < len) + { + var word = str.charCodeAt(i); + if (0xD800 <= word && word <= 0xDBFF) + { + arr[len - i] = str[i + 1]; + i++; + arr[len - i] = str[i - 1]; + i++; + } + else + { + arr[len - i] = str[i]; + i++; + } + } + return arr.join(''); +} + +var _String_foldl = F3(function(func, state, string) +{ + var len = string.length; + var i = 0; + while (i < len) + { + var char = string[i]; + var word = string.charCodeAt(i); + i++; + if (0xD800 <= word && word <= 0xDBFF) + { + char += string[i]; + i++; + } + state = A2(func, _Utils_chr(char), state); + } + return state; +}); + +var _String_foldr = F3(function(func, state, string) +{ + var i = string.length; + while (i--) + { + var char = string[i]; + var word = string.charCodeAt(i); + if (0xDC00 <= word && word <= 0xDFFF) + { + i--; + char = string[i] + char; + } + state = A2(func, _Utils_chr(char), state); + } + return state; +}); + +var _String_split = F2(function(sep, str) +{ + return str.split(sep); +}); + +var _String_join = F2(function(sep, strs) +{ + return strs.join(sep); +}); + +var _String_slice = F3(function(start, end, str) { + return str.slice(start, end); +}); + +function _String_trim(str) +{ + return str.trim(); +} + +function _String_trimLeft(str) +{ + return str.replace(/^\s+/, ''); +} + +function _String_trimRight(str) +{ + return str.replace(/\s+$/, ''); +} + +function _String_words(str) +{ + return _List_fromArray(str.trim().split(/\s+/g)); +} + +function _String_lines(str) +{ + return _List_fromArray(str.split(/\r\n|\r|\n/g)); +} + +function _String_toUpper(str) +{ + return str.toUpperCase(); +} + +function _String_toLower(str) +{ + return str.toLowerCase(); +} + +var _String_any = F2(function(isGood, string) +{ + var i = string.length; + while (i--) + { + var char = string[i]; + var word = string.charCodeAt(i); + if (0xDC00 <= word && word <= 0xDFFF) + { + i--; + char = string[i] + char; + } + if (isGood(_Utils_chr(char))) + { + return true; + } + } + return false; +}); + +var _String_all = F2(function(isGood, string) +{ + var i = string.length; + while (i--) + { + var char = string[i]; + var word = string.charCodeAt(i); + if (0xDC00 <= word && word <= 0xDFFF) + { + i--; + char = string[i] + char; + } + if (!isGood(_Utils_chr(char))) + { + return false; + } + } + return true; +}); + +var _String_contains = F2(function(sub, str) +{ + return str.indexOf(sub) > -1; +}); + +var _String_startsWith = F2(function(sub, str) +{ + return str.indexOf(sub) === 0; +}); + +var _String_endsWith = F2(function(sub, str) +{ + return str.length >= sub.length && + str.lastIndexOf(sub) === str.length - sub.length; +}); + +var _String_indexes = F2(function(sub, str) +{ + var subLen = sub.length; + + if (subLen < 1) + { + return _List_Nil; + } + + var i = 0; + var is = []; + + while ((i = str.indexOf(sub, i)) > -1) + { + is.push(i); + i = i + subLen; + } + + return _List_fromArray(is); +}); + + +// TO STRING + +function _String_fromNumber(number) +{ + return number + ''; +} + + +// INT CONVERSIONS + +function _String_toInt(str) +{ + var total = 0; + var code0 = str.charCodeAt(0); + var start = code0 == 0x2B /* + */ || code0 == 0x2D /* - */ ? 1 : 0; + + for (var i = start; i < str.length; ++i) + { + var code = str.charCodeAt(i); + if (code < 0x30 || 0x39 < code) + { + return $elm$core$Maybe$Nothing; + } + total = 10 * total + code - 0x30; + } + + return i == start + ? $elm$core$Maybe$Nothing + : $elm$core$Maybe$Just(code0 == 0x2D ? -total : total); +} + + +// FLOAT CONVERSIONS + +function _String_toFloat(s) +{ + // check if it is a hex, octal, or binary number + if (s.length === 0 || /[\sxbo]/.test(s)) + { + return $elm$core$Maybe$Nothing; + } + var n = +s; + // faster isNaN check + return n === n ? $elm$core$Maybe$Just(n) : $elm$core$Maybe$Nothing; +} + +function _String_fromList(chars) +{ + return _List_toArray(chars).join(''); +} + + + + +function _Char_toCode(char) +{ + var code = char.charCodeAt(0); + if (0xD800 <= code && code <= 0xDBFF) + { + return (code - 0xD800) * 0x400 + char.charCodeAt(1) - 0xDC00 + 0x10000 + } + return code; +} + +function _Char_fromCode(code) +{ + return _Utils_chr( + (code < 0 || 0x10FFFF < code) + ? '\uFFFD' + : + (code <= 0xFFFF) + ? String.fromCharCode(code) + : + (code -= 0x10000, + String.fromCharCode(Math.floor(code / 0x400) + 0xD800, code % 0x400 + 0xDC00) + ) + ); +} + +function _Char_toUpper(char) +{ + return _Utils_chr(char.toUpperCase()); +} + +function _Char_toLower(char) +{ + return _Utils_chr(char.toLowerCase()); +} + +function _Char_toLocaleUpper(char) +{ + return _Utils_chr(char.toLocaleUpperCase()); +} + +function _Char_toLocaleLower(char) +{ + return _Utils_chr(char.toLocaleLowerCase()); +} + + + +/**_UNUSED/ +function _Json_errorToString(error) +{ + return $elm$json$Json$Decode$errorToString(error); +} +//*/ + + +// CORE DECODERS + +function _Json_succeed(msg) +{ + return { + $: 0, + a: msg + }; +} + +function _Json_fail(msg) +{ + return { + $: 1, + a: msg + }; +} + +function _Json_decodePrim(decoder) +{ + return { $: 2, b: decoder }; +} + +var _Json_decodeInt = _Json_decodePrim(function(value) { + return (typeof value !== 'number') + ? _Json_expecting('an INT', value) + : + (-2147483647 < value && value < 2147483647 && (value | 0) === value) + ? $elm$core$Result$Ok(value) + : + (isFinite(value) && !(value % 1)) + ? $elm$core$Result$Ok(value) + : _Json_expecting('an INT', value); +}); + +var _Json_decodeBool = _Json_decodePrim(function(value) { + return (typeof value === 'boolean') + ? $elm$core$Result$Ok(value) + : _Json_expecting('a BOOL', value); +}); + +var _Json_decodeFloat = _Json_decodePrim(function(value) { + return (typeof value === 'number') + ? $elm$core$Result$Ok(value) + : _Json_expecting('a FLOAT', value); +}); + +var _Json_decodeValue = _Json_decodePrim(function(value) { + return $elm$core$Result$Ok(_Json_wrap(value)); +}); + +var _Json_decodeString = _Json_decodePrim(function(value) { + return (typeof value === 'string') + ? $elm$core$Result$Ok(value) + : (value instanceof String) + ? $elm$core$Result$Ok(value + '') + : _Json_expecting('a STRING', value); +}); + +function _Json_decodeList(decoder) { return { $: 3, b: decoder }; } +function _Json_decodeArray(decoder) { return { $: 4, b: decoder }; } + +function _Json_decodeNull(value) { return { $: 5, c: value }; } + +var _Json_decodeField = F2(function(field, decoder) +{ + return { + $: 6, + d: field, + b: decoder + }; +}); + +var _Json_decodeIndex = F2(function(index, decoder) +{ + return { + $: 7, + e: index, + b: decoder + }; +}); + +function _Json_decodeKeyValuePairs(decoder) +{ + return { + $: 8, + b: decoder + }; +} + +function _Json_mapMany(f, decoders) +{ + return { + $: 9, + f: f, + g: decoders + }; +} + +var _Json_andThen = F2(function(callback, decoder) +{ + return { + $: 10, + b: decoder, + h: callback + }; +}); + +function _Json_oneOf(decoders) +{ + return { + $: 11, + g: decoders + }; +} + + +// DECODING OBJECTS + +var _Json_map1 = F2(function(f, d1) +{ + return _Json_mapMany(f, [d1]); +}); + +var _Json_map2 = F3(function(f, d1, d2) +{ + return _Json_mapMany(f, [d1, d2]); +}); + +var _Json_map3 = F4(function(f, d1, d2, d3) +{ + return _Json_mapMany(f, [d1, d2, d3]); +}); + +var _Json_map4 = F5(function(f, d1, d2, d3, d4) +{ + return _Json_mapMany(f, [d1, d2, d3, d4]); +}); + +var _Json_map5 = F6(function(f, d1, d2, d3, d4, d5) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5]); +}); + +var _Json_map6 = F7(function(f, d1, d2, d3, d4, d5, d6) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6]); +}); + +var _Json_map7 = F8(function(f, d1, d2, d3, d4, d5, d6, d7) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7]); +}); + +var _Json_map8 = F9(function(f, d1, d2, d3, d4, d5, d6, d7, d8) +{ + return _Json_mapMany(f, [d1, d2, d3, d4, d5, d6, d7, d8]); +}); + + +// DECODE + +var _Json_runOnString = F2(function(decoder, string) +{ + try + { + var value = JSON.parse(string); + return _Json_runHelp(decoder, value); + } + catch (e) + { + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'This is not valid JSON! ' + e.message, _Json_wrap(string))); + } +}); + +var _Json_run = F2(function(decoder, value) +{ + return _Json_runHelp(decoder, _Json_unwrap(value)); +}); + +function _Json_runHelp(decoder, value) +{ + switch (decoder.$) + { + case 2: + return decoder.b(value); + + case 5: + return (value === null) + ? $elm$core$Result$Ok(decoder.c) + : _Json_expecting('null', value); + + case 3: + if (!_Json_isArray(value)) + { + return _Json_expecting('a LIST', value); + } + return _Json_runArrayDecoder(decoder.b, value, _List_fromArray); + + case 4: + if (!_Json_isArray(value)) + { + return _Json_expecting('an ARRAY', value); + } + return _Json_runArrayDecoder(decoder.b, value, _Json_toElmArray); + + case 6: + var field = decoder.d; + if (typeof value !== 'object' || value === null || !(field in value)) + { + return _Json_expecting('an OBJECT with a field named `' + field + '`', value); + } + var result = _Json_runHelp(decoder.b, value[field]); + return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, field, result.a)); + + case 7: + var index = decoder.e; + if (!_Json_isArray(value)) + { + return _Json_expecting('an ARRAY', value); + } + if (index >= value.length) + { + return _Json_expecting('a LONGER array. Need index ' + index + ' but only see ' + value.length + ' entries', value); + } + var result = _Json_runHelp(decoder.b, value[index]); + return ($elm$core$Result$isOk(result)) ? result : $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, index, result.a)); + + case 8: + if (typeof value !== 'object' || value === null || _Json_isArray(value)) + { + return _Json_expecting('an OBJECT', value); + } + + var keyValuePairs = _List_Nil; + // TODO test perf of Object.keys and switch when support is good enough + for (var key in value) + { + if (value.hasOwnProperty(key)) + { + var result = _Json_runHelp(decoder.b, value[key]); + if (!$elm$core$Result$isOk(result)) + { + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Field, key, result.a)); + } + keyValuePairs = _List_Cons(_Utils_Tuple2(key, result.a), keyValuePairs); + } + } + return $elm$core$Result$Ok($elm$core$List$reverse(keyValuePairs)); + + case 9: + var answer = decoder.f; + var decoders = decoder.g; + for (var i = 0; i < decoders.length; i++) + { + var result = _Json_runHelp(decoders[i], value); + if (!$elm$core$Result$isOk(result)) + { + return result; + } + answer = answer(result.a); + } + return $elm$core$Result$Ok(answer); + + case 10: + var result = _Json_runHelp(decoder.b, value); + return (!$elm$core$Result$isOk(result)) + ? result + : _Json_runHelp(decoder.h(result.a), value); + + case 11: + var errors = _List_Nil; + for (var temp = decoder.g; temp.b; temp = temp.b) // WHILE_CONS + { + var result = _Json_runHelp(temp.a, value); + if ($elm$core$Result$isOk(result)) + { + return result; + } + errors = _List_Cons(result.a, errors); + } + return $elm$core$Result$Err($elm$json$Json$Decode$OneOf($elm$core$List$reverse(errors))); + + case 1: + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, decoder.a, _Json_wrap(value))); + + case 0: + return $elm$core$Result$Ok(decoder.a); + } +} + +function _Json_runArrayDecoder(decoder, value, toElmValue) +{ + var len = value.length; + var array = new Array(len); + for (var i = 0; i < len; i++) + { + var result = _Json_runHelp(decoder, value[i]); + if (!$elm$core$Result$isOk(result)) + { + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Index, i, result.a)); + } + array[i] = result.a; + } + return $elm$core$Result$Ok(toElmValue(array)); +} + +function _Json_isArray(value) +{ + return Array.isArray(value) || (typeof FileList !== 'undefined' && value instanceof FileList); +} + +function _Json_toElmArray(array) +{ + return A2($elm$core$Array$initialize, array.length, function(i) { return array[i]; }); +} + +function _Json_expecting(type, value) +{ + return $elm$core$Result$Err(A2($elm$json$Json$Decode$Failure, 'Expecting ' + type, _Json_wrap(value))); +} + + +// EQUALITY + +function _Json_equality(x, y) +{ + if (x === y) + { + return true; + } + + if (x.$ !== y.$) + { + return false; + } + + switch (x.$) + { + case 0: + case 1: + return x.a === y.a; + + case 2: + return x.b === y.b; + + case 5: + return x.c === y.c; + + case 3: + case 4: + case 8: + return _Json_equality(x.b, y.b); + + case 6: + return x.d === y.d && _Json_equality(x.b, y.b); + + case 7: + return x.e === y.e && _Json_equality(x.b, y.b); + + case 9: + return x.f === y.f && _Json_listEquality(x.g, y.g); + + case 10: + return x.h === y.h && _Json_equality(x.b, y.b); + + case 11: + return _Json_listEquality(x.g, y.g); + } +} + +function _Json_listEquality(aDecoders, bDecoders) +{ + var len = aDecoders.length; + if (len !== bDecoders.length) + { + return false; + } + for (var i = 0; i < len; i++) + { + if (!_Json_equality(aDecoders[i], bDecoders[i])) + { + return false; + } + } + return true; +} + + +// ENCODE + +var _Json_encode = F2(function(indentLevel, value) +{ + return JSON.stringify(_Json_unwrap(value), null, indentLevel) + ''; +}); + +function _Json_wrap_UNUSED(value) { return { $: 0, a: value }; } +function _Json_unwrap_UNUSED(value) { return value.a; } + +function _Json_wrap(value) { return value; } +function _Json_unwrap(value) { return value; } + +function _Json_emptyArray() { return []; } +function _Json_emptyObject() { return {}; } + +var _Json_addField = F3(function(key, value, object) +{ + object[key] = _Json_unwrap(value); + return object; +}); + +function _Json_addEntry(func) +{ + return F2(function(entry, array) + { + array.push(_Json_unwrap(func(entry))); + return array; + }); +} + +var _Json_encodeNull = _Json_wrap(null); + + + +// TASKS + +function _Scheduler_succeed(value) +{ + return { + $: 0, + a: value + }; +} + +function _Scheduler_fail(error) +{ + return { + $: 1, + a: error + }; +} + +function _Scheduler_binding(callback) +{ + return { + $: 2, + b: callback, + c: null + }; +} + +var _Scheduler_andThen = F2(function(callback, task) +{ + return { + $: 3, + b: callback, + d: task + }; +}); + +var _Scheduler_onError = F2(function(callback, task) +{ + return { + $: 4, + b: callback, + d: task + }; +}); + +function _Scheduler_receive(callback) +{ + return { + $: 5, + b: callback + }; +} + + +// PROCESSES + +var _Scheduler_guid = 0; + +function _Scheduler_rawSpawn(task) +{ + var proc = { + $: 0, + e: _Scheduler_guid++, + f: task, + g: null, + h: [] + }; + + _Scheduler_enqueue(proc); + + return proc; +} + +function _Scheduler_spawn(task) +{ + return _Scheduler_binding(function(callback) { + callback(_Scheduler_succeed(_Scheduler_rawSpawn(task))); + }); +} + +function _Scheduler_rawSend(proc, msg) +{ + proc.h.push(msg); + _Scheduler_enqueue(proc); +} + +var _Scheduler_send = F2(function(proc, msg) +{ + return _Scheduler_binding(function(callback) { + _Scheduler_rawSend(proc, msg); + callback(_Scheduler_succeed(_Utils_Tuple0)); + }); +}); + +function _Scheduler_kill(proc) +{ + return _Scheduler_binding(function(callback) { + var task = proc.f; + if (task.$ === 2 && task.c) + { + task.c(); + } + + proc.f = null; + + callback(_Scheduler_succeed(_Utils_Tuple0)); + }); +} + + +/* STEP PROCESSES + +type alias Process = + { $ : tag + , id : unique_id + , root : Task + , stack : null | { $: SUCCEED | FAIL, a: callback, b: stack } + , mailbox : [msg] + } + +*/ + + +var _Scheduler_working = false; +var _Scheduler_queue = []; + + +function _Scheduler_enqueue(proc) +{ + _Scheduler_queue.push(proc); + if (_Scheduler_working) + { + return; + } + _Scheduler_working = true; + while (proc = _Scheduler_queue.shift()) + { + _Scheduler_step(proc); + } + _Scheduler_working = false; +} + + +function _Scheduler_step(proc) +{ + while (proc.f) + { + var rootTag = proc.f.$; + if (rootTag === 0 || rootTag === 1) + { + while (proc.g && proc.g.$ !== rootTag) + { + proc.g = proc.g.i; + } + if (!proc.g) + { + return; + } + proc.f = proc.g.b(proc.f.a); + proc.g = proc.g.i; + } + else if (rootTag === 2) + { + proc.f.c = proc.f.b(function(newRoot) { + proc.f = newRoot; + _Scheduler_enqueue(proc); + }); + return; + } + else if (rootTag === 5) + { + if (proc.h.length === 0) + { + return; + } + proc.f = proc.f.b(proc.h.shift()); + } + else // if (rootTag === 3 || rootTag === 4) + { + proc.g = { + $: rootTag === 3 ? 0 : 1, + b: proc.f.b, + i: proc.g + }; + proc.f = proc.f.d; + } + } +} + + + +function _Process_sleep(time) +{ + return _Scheduler_binding(function(callback) { + var id = setTimeout(function() { + callback(_Scheduler_succeed(_Utils_Tuple0)); + }, time); + + return function() { clearTimeout(id); }; + }); +} + + + + +// PROGRAMS + + +var _Platform_worker = F4(function(impl, flagDecoder, debugMetadata, args) +{ + return _Platform_initialize( + flagDecoder, + args, + impl.cB, + impl.cU, + impl.cR, + function() { return function() {} } + ); +}); + + + +// INITIALIZE A PROGRAM + + +function _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder) +{ + var result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined)); + $elm$core$Result$isOk(result) || _Debug_crash(2 /**_UNUSED/, _Json_errorToString(result.a) /**/); + var managers = {}; + var initPair = init(result.a); + var model = initPair.a; + var stepper = stepperBuilder(sendToApp, model); + var ports = _Platform_setupEffects(managers, sendToApp); + + function sendToApp(msg, viewMetadata) + { + var pair = A2(update, msg, model); + stepper(model = pair.a, viewMetadata); + _Platform_enqueueEffects(managers, pair.b, subscriptions(model)); + } + + _Platform_enqueueEffects(managers, initPair.b, subscriptions(model)); + + return ports ? { ports: ports } : {}; +} + + + +// TRACK PRELOADS +// +// This is used by code in elm/browser and elm/http +// to register any HTTP requests that are triggered by init. +// + + +var _Platform_preload; + + +function _Platform_registerPreload(url) +{ + _Platform_preload.add(url); +} + + + +// EFFECT MANAGERS + + +var _Platform_effectManagers = {}; + + +function _Platform_setupEffects(managers, sendToApp) +{ + var ports; + + // setup all necessary effect managers + for (var key in _Platform_effectManagers) + { + var manager = _Platform_effectManagers[key]; + + if (manager.a) + { + ports = ports || {}; + ports[key] = manager.a(key, sendToApp); + } + + managers[key] = _Platform_instantiateManager(manager, sendToApp); + } + + return ports; +} + + +function _Platform_createManager(init, onEffects, onSelfMsg, cmdMap, subMap) +{ + return { + b: init, + c: onEffects, + d: onSelfMsg, + e: cmdMap, + f: subMap + }; +} + + +function _Platform_instantiateManager(info, sendToApp) +{ + var router = { + g: sendToApp, + h: undefined + }; + + var onEffects = info.c; + var onSelfMsg = info.d; + var cmdMap = info.e; + var subMap = info.f; + + function loop(state) + { + return A2(_Scheduler_andThen, loop, _Scheduler_receive(function(msg) + { + var value = msg.a; + + if (msg.$ === 0) + { + return A3(onSelfMsg, router, value, state); + } + + return cmdMap && subMap + ? A4(onEffects, router, value.i, value.j, state) + : A3(onEffects, router, cmdMap ? value.i : value.j, state); + })); + } + + return router.h = _Scheduler_rawSpawn(A2(_Scheduler_andThen, loop, info.b)); +} + + + +// ROUTING + + +var _Platform_sendToApp = F2(function(router, msg) +{ + return _Scheduler_binding(function(callback) + { + router.g(msg); + callback(_Scheduler_succeed(_Utils_Tuple0)); + }); +}); + + +var _Platform_sendToSelf = F2(function(router, msg) +{ + return A2(_Scheduler_send, router.h, { + $: 0, + a: msg + }); +}); + + + +// BAGS + + +function _Platform_leaf(home) +{ + return function(value) + { + return { + $: 1, + k: home, + l: value + }; + }; +} + + +function _Platform_batch(list) +{ + return { + $: 2, + m: list + }; +} + + +var _Platform_map = F2(function(tagger, bag) +{ + return { + $: 3, + n: tagger, + o: bag + } +}); + + + +// PIPE BAGS INTO EFFECT MANAGERS +// +// Effects must be queued! +// +// Say your init contains a synchronous command, like Time.now or Time.here +// +// - This will produce a batch of effects (FX_1) +// - The synchronous task triggers the subsequent `update` call +// - This will produce a batch of effects (FX_2) +// +// If we just start dispatching FX_2, subscriptions from FX_2 can be processed +// before subscriptions from FX_1. No good! Earlier versions of this code had +// this problem, leading to these reports: +// +// https://github.com/elm/core/issues/980 +// https://github.com/elm/core/pull/981 +// https://github.com/elm/compiler/issues/1776 +// +// The queue is necessary to avoid ordering issues for synchronous commands. + + +// Why use true/false here? Why not just check the length of the queue? +// The goal is to detect "are we currently dispatching effects?" If we +// are, we need to bail and let the ongoing while loop handle things. +// +// Now say the queue has 1 element. When we dequeue the final element, +// the queue will be empty, but we are still actively dispatching effects. +// So you could get queue jumping in a really tricky category of cases. +// +var _Platform_effectsQueue = []; +var _Platform_effectsActive = false; + + +function _Platform_enqueueEffects(managers, cmdBag, subBag) +{ + _Platform_effectsQueue.push({ p: managers, q: cmdBag, r: subBag }); + + if (_Platform_effectsActive) return; + + _Platform_effectsActive = true; + for (var fx; fx = _Platform_effectsQueue.shift(); ) + { + _Platform_dispatchEffects(fx.p, fx.q, fx.r); + } + _Platform_effectsActive = false; +} + + +function _Platform_dispatchEffects(managers, cmdBag, subBag) +{ + var effectsDict = {}; + _Platform_gatherEffects(true, cmdBag, effectsDict, null); + _Platform_gatherEffects(false, subBag, effectsDict, null); + + for (var home in managers) + { + _Scheduler_rawSend(managers[home], { + $: 'fx', + a: effectsDict[home] || { i: _List_Nil, j: _List_Nil } + }); + } +} + + +function _Platform_gatherEffects(isCmd, bag, effectsDict, taggers) +{ + switch (bag.$) + { + case 1: + var home = bag.k; + var effect = _Platform_toEffect(isCmd, home, taggers, bag.l); + effectsDict[home] = _Platform_insert(isCmd, effect, effectsDict[home]); + return; + + case 2: + for (var list = bag.m; list.b; list = list.b) // WHILE_CONS + { + _Platform_gatherEffects(isCmd, list.a, effectsDict, taggers); + } + return; + + case 3: + _Platform_gatherEffects(isCmd, bag.o, effectsDict, { + s: bag.n, + t: taggers + }); + return; + } +} + + +function _Platform_toEffect(isCmd, home, taggers, value) +{ + function applyTaggers(x) + { + for (var temp = taggers; temp; temp = temp.t) + { + x = temp.s(x); + } + return x; + } + + var map = isCmd + ? _Platform_effectManagers[home].e + : _Platform_effectManagers[home].f; + + return A2(map, applyTaggers, value) +} + + +function _Platform_insert(isCmd, newEffect, effects) +{ + effects = effects || { i: _List_Nil, j: _List_Nil }; + + isCmd + ? (effects.i = _List_Cons(newEffect, effects.i)) + : (effects.j = _List_Cons(newEffect, effects.j)); + + return effects; +} + + + +// PORTS + + +function _Platform_checkPortName(name) +{ + if (_Platform_effectManagers[name]) + { + _Debug_crash(3, name) + } +} + + + +// OUTGOING PORTS + + +function _Platform_outgoingPort(name, converter) +{ + _Platform_checkPortName(name); + _Platform_effectManagers[name] = { + e: _Platform_outgoingPortMap, + u: converter, + a: _Platform_setupOutgoingPort + }; + return _Platform_leaf(name); +} + + +var _Platform_outgoingPortMap = F2(function(tagger, value) { return value; }); + + +function _Platform_setupOutgoingPort(name) +{ + var subs = []; + var converter = _Platform_effectManagers[name].u; + + // CREATE MANAGER + + var init = _Process_sleep(0); + + _Platform_effectManagers[name].b = init; + _Platform_effectManagers[name].c = F3(function(router, cmdList, state) + { + for ( ; cmdList.b; cmdList = cmdList.b) // WHILE_CONS + { + // grab a separate reference to subs in case unsubscribe is called + var currentSubs = subs; + var value = _Json_unwrap(converter(cmdList.a)); + for (var i = 0; i < currentSubs.length; i++) + { + currentSubs[i](value); + } + } + return init; + }); + + // PUBLIC API + + function subscribe(callback) + { + subs.push(callback); + } + + function unsubscribe(callback) + { + // copy subs into a new array in case unsubscribe is called within a + // subscribed callback + subs = subs.slice(); + var index = subs.indexOf(callback); + if (index >= 0) + { + subs.splice(index, 1); + } + } + + return { + subscribe: subscribe, + unsubscribe: unsubscribe + }; +} + + + +// INCOMING PORTS + + +function _Platform_incomingPort(name, converter) +{ + _Platform_checkPortName(name); + _Platform_effectManagers[name] = { + f: _Platform_incomingPortMap, + u: converter, + a: _Platform_setupIncomingPort + }; + return _Platform_leaf(name); +} + + +var _Platform_incomingPortMap = F2(function(tagger, finalTagger) +{ + return function(value) + { + return tagger(finalTagger(value)); + }; +}); + + +function _Platform_setupIncomingPort(name, sendToApp) +{ + var subs = _List_Nil; + var converter = _Platform_effectManagers[name].u; + + // CREATE MANAGER + + var init = _Scheduler_succeed(null); + + _Platform_effectManagers[name].b = init; + _Platform_effectManagers[name].c = F3(function(router, subList, state) + { + subs = subList; + return init; + }); + + // PUBLIC API + + function send(incomingValue) + { + var result = A2(_Json_run, converter, _Json_wrap(incomingValue)); + + $elm$core$Result$isOk(result) || _Debug_crash(4, name, result.a); + + var value = result.a; + for (var temp = subs; temp.b; temp = temp.b) // WHILE_CONS + { + sendToApp(temp.a(value)); + } + } + + return { send: send }; +} + + + +// EXPORT ELM MODULES +// +// Have DEBUG and PROD versions so that we can (1) give nicer errors in +// debug mode and (2) not pay for the bits needed for that in prod mode. +// + + +function _Platform_export(exports) +{ + scope['Elm'] + ? _Platform_mergeExportsProd(scope['Elm'], exports) + : scope['Elm'] = exports; +} + + +function _Platform_mergeExportsProd(obj, exports) +{ + for (var name in exports) + { + (name in obj) + ? (name == 'init') + ? _Debug_crash(6) + : _Platform_mergeExportsProd(obj[name], exports[name]) + : (obj[name] = exports[name]); + } +} + + +function _Platform_export_UNUSED(exports) +{ + scope['Elm'] + ? _Platform_mergeExportsDebug('Elm', scope['Elm'], exports) + : scope['Elm'] = exports; +} + + +function _Platform_mergeExportsDebug(moduleName, obj, exports) +{ + for (var name in exports) + { + (name in obj) + ? (name == 'init') + ? _Debug_crash(6, moduleName) + : _Platform_mergeExportsDebug(moduleName + '.' + name, obj[name], exports[name]) + : (obj[name] = exports[name]); + } +} + + + + +// HELPERS + + +var _VirtualDom_divertHrefToApp; + +var _VirtualDom_doc = typeof document !== 'undefined' ? document : {}; + + +function _VirtualDom_appendChild(parent, child) +{ + parent.appendChild(child); +} + +var _VirtualDom_init = F4(function(virtualNode, flagDecoder, debugMetadata, args) +{ + // NOTE: this function needs _Platform_export available to work + + /**/ + var node = args['node']; + //*/ + /**_UNUSED/ + var node = args && args['node'] ? args['node'] : _Debug_crash(0); + //*/ + + node.parentNode.replaceChild( + _VirtualDom_render(virtualNode, function() {}), + node + ); + + return {}; +}); + + + +// TEXT + + +function _VirtualDom_text(string) +{ + return { + $: 0, + a: string + }; +} + + + +// NODE + + +var _VirtualDom_nodeNS = F2(function(namespace, tag) +{ + return F2(function(factList, kidList) + { + for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS + { + var kid = kidList.a; + descendantsCount += (kid.b || 0); + kids.push(kid); + } + descendantsCount += kids.length; + + return { + $: 1, + c: tag, + d: _VirtualDom_organizeFacts(factList), + e: kids, + f: namespace, + b: descendantsCount + }; + }); +}); + + +var _VirtualDom_node = _VirtualDom_nodeNS(undefined); + + + +// KEYED NODE + + +var _VirtualDom_keyedNodeNS = F2(function(namespace, tag) +{ + return F2(function(factList, kidList) + { + for (var kids = [], descendantsCount = 0; kidList.b; kidList = kidList.b) // WHILE_CONS + { + var kid = kidList.a; + descendantsCount += (kid.b.b || 0); + kids.push(kid); + } + descendantsCount += kids.length; + + return { + $: 2, + c: tag, + d: _VirtualDom_organizeFacts(factList), + e: kids, + f: namespace, + b: descendantsCount + }; + }); +}); + + +var _VirtualDom_keyedNode = _VirtualDom_keyedNodeNS(undefined); + + + +// CUSTOM + + +function _VirtualDom_custom(factList, model, render, diff) +{ + return { + $: 3, + d: _VirtualDom_organizeFacts(factList), + g: model, + h: render, + i: diff + }; +} + + + +// MAP + + +var _VirtualDom_map = F2(function(tagger, node) +{ + return { + $: 4, + j: tagger, + k: node, + b: 1 + (node.b || 0) + }; +}); + + + +// LAZY + + +function _VirtualDom_thunk(refs, thunk) +{ + return { + $: 5, + l: refs, + m: thunk, + k: undefined + }; +} + +var _VirtualDom_lazy = F2(function(func, a) +{ + return _VirtualDom_thunk([func, a], function() { + return func(a); + }); +}); + +var _VirtualDom_lazy2 = F3(function(func, a, b) +{ + return _VirtualDom_thunk([func, a, b], function() { + return A2(func, a, b); + }); +}); + +var _VirtualDom_lazy3 = F4(function(func, a, b, c) +{ + return _VirtualDom_thunk([func, a, b, c], function() { + return A3(func, a, b, c); + }); +}); + +var _VirtualDom_lazy4 = F5(function(func, a, b, c, d) +{ + return _VirtualDom_thunk([func, a, b, c, d], function() { + return A4(func, a, b, c, d); + }); +}); + +var _VirtualDom_lazy5 = F6(function(func, a, b, c, d, e) +{ + return _VirtualDom_thunk([func, a, b, c, d, e], function() { + return A5(func, a, b, c, d, e); + }); +}); + +var _VirtualDom_lazy6 = F7(function(func, a, b, c, d, e, f) +{ + return _VirtualDom_thunk([func, a, b, c, d, e, f], function() { + return A6(func, a, b, c, d, e, f); + }); +}); + +var _VirtualDom_lazy7 = F8(function(func, a, b, c, d, e, f, g) +{ + return _VirtualDom_thunk([func, a, b, c, d, e, f, g], function() { + return A7(func, a, b, c, d, e, f, g); + }); +}); + +var _VirtualDom_lazy8 = F9(function(func, a, b, c, d, e, f, g, h) +{ + return _VirtualDom_thunk([func, a, b, c, d, e, f, g, h], function() { + return A8(func, a, b, c, d, e, f, g, h); + }); +}); + + + +// FACTS + + +var _VirtualDom_on = F2(function(key, handler) +{ + return { + $: 'a0', + n: key, + o: handler + }; +}); +var _VirtualDom_style = F2(function(key, value) +{ + return { + $: 'a1', + n: key, + o: value + }; +}); +var _VirtualDom_property = F2(function(key, value) +{ + return { + $: 'a2', + n: key, + o: value + }; +}); +var _VirtualDom_attribute = F2(function(key, value) +{ + return { + $: 'a3', + n: key, + o: value + }; +}); +var _VirtualDom_attributeNS = F3(function(namespace, key, value) +{ + return { + $: 'a4', + n: key, + o: { f: namespace, o: value } + }; +}); + + + +// XSS ATTACK VECTOR CHECKS +// +// For some reason, tabs can appear in href protocols and it still works. +// So '\tjava\tSCRIPT:alert("!!!")' and 'javascript:alert("!!!")' are the same +// in practice. That is why _VirtualDom_RE_js and _VirtualDom_RE_js_html look +// so freaky. +// +// Pulling the regular expressions out to the top level gives a slight speed +// boost in small benchmarks (4-10%) but hoisting values to reduce allocation +// can be unpredictable in large programs where JIT may have a harder time with +// functions are not fully self-contained. The benefit is more that the js and +// js_html ones are so weird that I prefer to see them near each other. + + +var _VirtualDom_RE_script = /^script$/i; +var _VirtualDom_RE_on_formAction = /^(on|formAction$)/i; +var _VirtualDom_RE_js = /^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i; +var _VirtualDom_RE_js_html = /^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i; + + +function _VirtualDom_noScript(tag) +{ + return _VirtualDom_RE_script.test(tag) ? 'p' : tag; +} + +function _VirtualDom_noOnOrFormAction(key) +{ + return _VirtualDom_RE_on_formAction.test(key) ? 'data-' + key : key; +} + +function _VirtualDom_noInnerHtmlOrFormAction(key) +{ + return key == 'innerHTML' || key == 'formAction' ? 'data-' + key : key; +} + +function _VirtualDom_noJavaScriptUri(value) +{ + return _VirtualDom_RE_js.test(value) + ? /**/''//*//**_UNUSED/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/ + : value; +} + +function _VirtualDom_noJavaScriptOrHtmlUri(value) +{ + return _VirtualDom_RE_js_html.test(value) + ? /**/''//*//**_UNUSED/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/ + : value; +} + +function _VirtualDom_noJavaScriptOrHtmlJson(value) +{ + return (typeof _Json_unwrap(value) === 'string' && _VirtualDom_RE_js_html.test(_Json_unwrap(value))) + ? _Json_wrap( + /**/''//*//**_UNUSED/'javascript:alert("This is an XSS vector. Please use ports or web components instead.")'//*/ + ) : value; +} + + + +// MAP FACTS + + +var _VirtualDom_mapAttribute = F2(function(func, attr) +{ + return (attr.$ === 'a0') + ? A2(_VirtualDom_on, attr.n, _VirtualDom_mapHandler(func, attr.o)) + : attr; +}); + +function _VirtualDom_mapHandler(func, handler) +{ + var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); + + // 0 = Normal + // 1 = MayStopPropagation + // 2 = MayPreventDefault + // 3 = Custom + + return { + $: handler.$, + a: + !tag + ? A2($elm$json$Json$Decode$map, func, handler.a) + : + A3($elm$json$Json$Decode$map2, + tag < 3 + ? _VirtualDom_mapEventTuple + : _VirtualDom_mapEventRecord, + $elm$json$Json$Decode$succeed(func), + handler.a + ) + }; +} + +var _VirtualDom_mapEventTuple = F2(function(func, tuple) +{ + return _Utils_Tuple2(func(tuple.a), tuple.b); +}); + +var _VirtualDom_mapEventRecord = F2(function(func, record) +{ + return { + I: func(record.I), + bp: record.bp, + bk: record.bk + } +}); + + + +// ORGANIZE FACTS + + +function _VirtualDom_organizeFacts(factList) +{ + for (var facts = {}; factList.b; factList = factList.b) // WHILE_CONS + { + var entry = factList.a; + + var tag = entry.$; + var key = entry.n; + var value = entry.o; + + if (tag === 'a2') + { + (key === 'className') + ? _VirtualDom_addClass(facts, key, _Json_unwrap(value)) + : facts[key] = _Json_unwrap(value); + + continue; + } + + var subFacts = facts[tag] || (facts[tag] = {}); + (tag === 'a3' && key === 'class') + ? _VirtualDom_addClass(subFacts, key, value) + : subFacts[key] = value; + } + + return facts; +} + +function _VirtualDom_addClass(object, key, newClass) +{ + var classes = object[key]; + object[key] = classes ? classes + ' ' + newClass : newClass; +} + + + +// RENDER + + +function _VirtualDom_render(vNode, eventNode) +{ + var tag = vNode.$; + + if (tag === 5) + { + return _VirtualDom_render(vNode.k || (vNode.k = vNode.m()), eventNode); + } + + if (tag === 0) + { + return _VirtualDom_doc.createTextNode(vNode.a); + } + + if (tag === 4) + { + var subNode = vNode.k; + var tagger = vNode.j; + + while (subNode.$ === 4) + { + typeof tagger !== 'object' + ? tagger = [tagger, subNode.j] + : tagger.push(subNode.j); + + subNode = subNode.k; + } + + var subEventRoot = { j: tagger, p: eventNode }; + var domNode = _VirtualDom_render(subNode, subEventRoot); + domNode.elm_event_node_ref = subEventRoot; + return domNode; + } + + if (tag === 3) + { + var domNode = vNode.h(vNode.g); + _VirtualDom_applyFacts(domNode, eventNode, vNode.d); + return domNode; + } + + // at this point `tag` must be 1 or 2 + + var domNode = vNode.f + ? _VirtualDom_doc.createElementNS(vNode.f, vNode.c) + : _VirtualDom_doc.createElement(vNode.c); + + if (_VirtualDom_divertHrefToApp && vNode.c == 'a') + { + domNode.addEventListener('click', _VirtualDom_divertHrefToApp(domNode)); + } + + _VirtualDom_applyFacts(domNode, eventNode, vNode.d); + + for (var kids = vNode.e, i = 0; i < kids.length; i++) + { + _VirtualDom_appendChild(domNode, _VirtualDom_render(tag === 1 ? kids[i] : kids[i].b, eventNode)); + } + + return domNode; +} + + + +// APPLY FACTS + + +function _VirtualDom_applyFacts(domNode, eventNode, facts) +{ + for (var key in facts) + { + var value = facts[key]; + + key === 'a1' + ? _VirtualDom_applyStyles(domNode, value) + : + key === 'a0' + ? _VirtualDom_applyEvents(domNode, eventNode, value) + : + key === 'a3' + ? _VirtualDom_applyAttrs(domNode, value) + : + key === 'a4' + ? _VirtualDom_applyAttrsNS(domNode, value) + : + ((key !== 'value' && key !== 'checked') || domNode[key] !== value) && (domNode[key] = value); + } +} + + + +// APPLY STYLES + + +function _VirtualDom_applyStyles(domNode, styles) +{ + var domNodeStyle = domNode.style; + + for (var key in styles) + { + domNodeStyle[key] = styles[key]; + } +} + + + +// APPLY ATTRS + + +function _VirtualDom_applyAttrs(domNode, attrs) +{ + for (var key in attrs) + { + var value = attrs[key]; + typeof value !== 'undefined' + ? domNode.setAttribute(key, value) + : domNode.removeAttribute(key); + } +} + + + +// APPLY NAMESPACED ATTRS + + +function _VirtualDom_applyAttrsNS(domNode, nsAttrs) +{ + for (var key in nsAttrs) + { + var pair = nsAttrs[key]; + var namespace = pair.f; + var value = pair.o; + + typeof value !== 'undefined' + ? domNode.setAttributeNS(namespace, key, value) + : domNode.removeAttributeNS(namespace, key); + } +} + + + +// APPLY EVENTS + + +function _VirtualDom_applyEvents(domNode, eventNode, events) +{ + var allCallbacks = domNode.elmFs || (domNode.elmFs = {}); + + for (var key in events) + { + var newHandler = events[key]; + var oldCallback = allCallbacks[key]; + + if (!newHandler) + { + domNode.removeEventListener(key, oldCallback); + allCallbacks[key] = undefined; + continue; + } + + if (oldCallback) + { + var oldHandler = oldCallback.q; + if (oldHandler.$ === newHandler.$) + { + oldCallback.q = newHandler; + continue; + } + domNode.removeEventListener(key, oldCallback); + } + + oldCallback = _VirtualDom_makeCallback(eventNode, newHandler); + domNode.addEventListener(key, oldCallback, + _VirtualDom_passiveSupported + && { passive: $elm$virtual_dom$VirtualDom$toHandlerInt(newHandler) < 2 } + ); + allCallbacks[key] = oldCallback; + } +} + + + +// PASSIVE EVENTS + + +var _VirtualDom_passiveSupported; + +try +{ + window.addEventListener('t', null, Object.defineProperty({}, 'passive', { + get: function() { _VirtualDom_passiveSupported = true; } + })); +} +catch(e) {} + + + +// EVENT HANDLERS + + +function _VirtualDom_makeCallback(eventNode, initialHandler) +{ + function callback(event) + { + var handler = callback.q; + var result = _Json_runHelp(handler.a, event); + + if (!$elm$core$Result$isOk(result)) + { + return; + } + + var tag = $elm$virtual_dom$VirtualDom$toHandlerInt(handler); + + // 0 = Normal + // 1 = MayStopPropagation + // 2 = MayPreventDefault + // 3 = Custom + + var value = result.a; + var message = !tag ? value : tag < 3 ? value.a : value.I; + var stopPropagation = tag == 1 ? value.b : tag == 3 && value.bp; + var currentEventNode = ( + stopPropagation && event.stopPropagation(), + (tag == 2 ? value.b : tag == 3 && value.bk) && event.preventDefault(), + eventNode + ); + var tagger; + var i; + while (tagger = currentEventNode.j) + { + if (typeof tagger == 'function') + { + message = tagger(message); + } + else + { + for (var i = tagger.length; i--; ) + { + message = tagger[i](message); + } + } + currentEventNode = currentEventNode.p; + } + currentEventNode(message, stopPropagation); // stopPropagation implies isSync + } + + callback.q = initialHandler; + + return callback; +} + +function _VirtualDom_equalEvents(x, y) +{ + return x.$ == y.$ && _Json_equality(x.a, y.a); +} + + + +// DIFF + + +// TODO: Should we do patches like in iOS? +// +// type Patch +// = At Int Patch +// | Batch (List Patch) +// | Change ... +// +// How could it not be better? +// +function _VirtualDom_diff(x, y) +{ + var patches = []; + _VirtualDom_diffHelp(x, y, patches, 0); + return patches; +} + + +function _VirtualDom_pushPatch(patches, type, index, data) +{ + var patch = { + $: type, + r: index, + s: data, + t: undefined, + u: undefined + }; + patches.push(patch); + return patch; +} + + +function _VirtualDom_diffHelp(x, y, patches, index) +{ + if (x === y) + { + return; + } + + var xType = x.$; + var yType = y.$; + + // Bail if you run into different types of nodes. Implies that the + // structure has changed significantly and it's not worth a diff. + if (xType !== yType) + { + if (xType === 1 && yType === 2) + { + y = _VirtualDom_dekey(y); + yType = 1; + } + else + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + } + + // Now we know that both nodes are the same $. + switch (yType) + { + case 5: + var xRefs = x.l; + var yRefs = y.l; + var i = xRefs.length; + var same = i === yRefs.length; + while (same && i--) + { + same = xRefs[i] === yRefs[i]; + } + if (same) + { + y.k = x.k; + return; + } + y.k = y.m(); + var subPatches = []; + _VirtualDom_diffHelp(x.k, y.k, subPatches, 0); + subPatches.length > 0 && _VirtualDom_pushPatch(patches, 1, index, subPatches); + return; + + case 4: + // gather nested taggers + var xTaggers = x.j; + var yTaggers = y.j; + var nesting = false; + + var xSubNode = x.k; + while (xSubNode.$ === 4) + { + nesting = true; + + typeof xTaggers !== 'object' + ? xTaggers = [xTaggers, xSubNode.j] + : xTaggers.push(xSubNode.j); + + xSubNode = xSubNode.k; + } + + var ySubNode = y.k; + while (ySubNode.$ === 4) + { + nesting = true; + + typeof yTaggers !== 'object' + ? yTaggers = [yTaggers, ySubNode.j] + : yTaggers.push(ySubNode.j); + + ySubNode = ySubNode.k; + } + + // Just bail if different numbers of taggers. This implies the + // structure of the virtual DOM has changed. + if (nesting && xTaggers.length !== yTaggers.length) + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + + // check if taggers are "the same" + if (nesting ? !_VirtualDom_pairwiseRefEqual(xTaggers, yTaggers) : xTaggers !== yTaggers) + { + _VirtualDom_pushPatch(patches, 2, index, yTaggers); + } + + // diff everything below the taggers + _VirtualDom_diffHelp(xSubNode, ySubNode, patches, index + 1); + return; + + case 0: + if (x.a !== y.a) + { + _VirtualDom_pushPatch(patches, 3, index, y.a); + } + return; + + case 1: + _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKids); + return; + + case 2: + _VirtualDom_diffNodes(x, y, patches, index, _VirtualDom_diffKeyedKids); + return; + + case 3: + if (x.h !== y.h) + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + + var factsDiff = _VirtualDom_diffFacts(x.d, y.d); + factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); + + var patch = y.i(x.g, y.g); + patch && _VirtualDom_pushPatch(patches, 5, index, patch); + + return; + } +} + +// assumes the incoming arrays are the same length +function _VirtualDom_pairwiseRefEqual(as, bs) +{ + for (var i = 0; i < as.length; i++) + { + if (as[i] !== bs[i]) + { + return false; + } + } + + return true; +} + +function _VirtualDom_diffNodes(x, y, patches, index, diffKids) +{ + // Bail if obvious indicators have changed. Implies more serious + // structural changes such that it's not worth it to diff. + if (x.c !== y.c || x.f !== y.f) + { + _VirtualDom_pushPatch(patches, 0, index, y); + return; + } + + var factsDiff = _VirtualDom_diffFacts(x.d, y.d); + factsDiff && _VirtualDom_pushPatch(patches, 4, index, factsDiff); + + diffKids(x, y, patches, index); +} + + + +// DIFF FACTS + + +// TODO Instead of creating a new diff object, it's possible to just test if +// there *is* a diff. During the actual patch, do the diff again and make the +// modifications directly. This way, there's no new allocations. Worth it? +function _VirtualDom_diffFacts(x, y, category) +{ + var diff; + + // look for changes and removals + for (var xKey in x) + { + if (xKey === 'a1' || xKey === 'a0' || xKey === 'a3' || xKey === 'a4') + { + var subDiff = _VirtualDom_diffFacts(x[xKey], y[xKey] || {}, xKey); + if (subDiff) + { + diff = diff || {}; + diff[xKey] = subDiff; + } + continue; + } + + // remove if not in the new facts + if (!(xKey in y)) + { + diff = diff || {}; + diff[xKey] = + !category + ? (typeof x[xKey] === 'string' ? '' : null) + : + (category === 'a1') + ? '' + : + (category === 'a0' || category === 'a3') + ? undefined + : + { f: x[xKey].f, o: undefined }; + + continue; + } + + var xValue = x[xKey]; + var yValue = y[xKey]; + + // reference equal, so don't worry about it + if (xValue === yValue && xKey !== 'value' && xKey !== 'checked' + || category === 'a0' && _VirtualDom_equalEvents(xValue, yValue)) + { + continue; + } + + diff = diff || {}; + diff[xKey] = yValue; + } + + // add new stuff + for (var yKey in y) + { + if (!(yKey in x)) + { + diff = diff || {}; + diff[yKey] = y[yKey]; + } + } + + return diff; +} + + + +// DIFF KIDS + + +function _VirtualDom_diffKids(xParent, yParent, patches, index) +{ + var xKids = xParent.e; + var yKids = yParent.e; + + var xLen = xKids.length; + var yLen = yKids.length; + + // FIGURE OUT IF THERE ARE INSERTS OR REMOVALS + + if (xLen > yLen) + { + _VirtualDom_pushPatch(patches, 6, index, { + v: yLen, + i: xLen - yLen + }); + } + else if (xLen < yLen) + { + _VirtualDom_pushPatch(patches, 7, index, { + v: xLen, + e: yKids + }); + } + + // PAIRWISE DIFF EVERYTHING ELSE + + for (var minLen = xLen < yLen ? xLen : yLen, i = 0; i < minLen; i++) + { + var xKid = xKids[i]; + _VirtualDom_diffHelp(xKid, yKids[i], patches, ++index); + index += xKid.b || 0; + } +} + + + +// KEYED DIFF + + +function _VirtualDom_diffKeyedKids(xParent, yParent, patches, rootIndex) +{ + var localPatches = []; + + var changes = {}; // Dict String Entry + var inserts = []; // Array { index : Int, entry : Entry } + // type Entry = { tag : String, vnode : VNode, index : Int, data : _ } + + var xKids = xParent.e; + var yKids = yParent.e; + var xLen = xKids.length; + var yLen = yKids.length; + var xIndex = 0; + var yIndex = 0; + + var index = rootIndex; + + while (xIndex < xLen && yIndex < yLen) + { + var x = xKids[xIndex]; + var y = yKids[yIndex]; + + var xKey = x.a; + var yKey = y.a; + var xNode = x.b; + var yNode = y.b; + + var newMatch = undefined; + var oldMatch = undefined; + + // check if keys match + + if (xKey === yKey) + { + index++; + _VirtualDom_diffHelp(xNode, yNode, localPatches, index); + index += xNode.b || 0; + + xIndex++; + yIndex++; + continue; + } + + // look ahead 1 to detect insertions and removals. + + var xNext = xKids[xIndex + 1]; + var yNext = yKids[yIndex + 1]; + + if (xNext) + { + var xNextKey = xNext.a; + var xNextNode = xNext.b; + oldMatch = yKey === xNextKey; + } + + if (yNext) + { + var yNextKey = yNext.a; + var yNextNode = yNext.b; + newMatch = xKey === yNextKey; + } + + + // swap x and y + if (newMatch && oldMatch) + { + index++; + _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); + _VirtualDom_insertNode(changes, localPatches, xKey, yNode, yIndex, inserts); + index += xNode.b || 0; + + index++; + _VirtualDom_removeNode(changes, localPatches, xKey, xNextNode, index); + index += xNextNode.b || 0; + + xIndex += 2; + yIndex += 2; + continue; + } + + // insert y + if (newMatch) + { + index++; + _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); + _VirtualDom_diffHelp(xNode, yNextNode, localPatches, index); + index += xNode.b || 0; + + xIndex += 1; + yIndex += 2; + continue; + } + + // remove x + if (oldMatch) + { + index++; + _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); + index += xNode.b || 0; + + index++; + _VirtualDom_diffHelp(xNextNode, yNode, localPatches, index); + index += xNextNode.b || 0; + + xIndex += 2; + yIndex += 1; + continue; + } + + // remove x, insert y + if (xNext && xNextKey === yNextKey) + { + index++; + _VirtualDom_removeNode(changes, localPatches, xKey, xNode, index); + _VirtualDom_insertNode(changes, localPatches, yKey, yNode, yIndex, inserts); + index += xNode.b || 0; + + index++; + _VirtualDom_diffHelp(xNextNode, yNextNode, localPatches, index); + index += xNextNode.b || 0; + + xIndex += 2; + yIndex += 2; + continue; + } + + break; + } + + // eat up any remaining nodes with removeNode and insertNode + + while (xIndex < xLen) + { + index++; + var x = xKids[xIndex]; + var xNode = x.b; + _VirtualDom_removeNode(changes, localPatches, x.a, xNode, index); + index += xNode.b || 0; + xIndex++; + } + + while (yIndex < yLen) + { + var endInserts = endInserts || []; + var y = yKids[yIndex]; + _VirtualDom_insertNode(changes, localPatches, y.a, y.b, undefined, endInserts); + yIndex++; + } + + if (localPatches.length > 0 || inserts.length > 0 || endInserts) + { + _VirtualDom_pushPatch(patches, 8, rootIndex, { + w: localPatches, + x: inserts, + y: endInserts + }); + } +} + + + +// CHANGES FROM KEYED DIFF + + +var _VirtualDom_POSTFIX = '_elmW6BL'; + + +function _VirtualDom_insertNode(changes, localPatches, key, vnode, yIndex, inserts) +{ + var entry = changes[key]; + + // never seen this key before + if (!entry) + { + entry = { + c: 0, + z: vnode, + r: yIndex, + s: undefined + }; + + inserts.push({ r: yIndex, A: entry }); + changes[key] = entry; + + return; + } + + // this key was removed earlier, a match! + if (entry.c === 1) + { + inserts.push({ r: yIndex, A: entry }); + + entry.c = 2; + var subPatches = []; + _VirtualDom_diffHelp(entry.z, vnode, subPatches, entry.r); + entry.r = yIndex; + entry.s.s = { + w: subPatches, + A: entry + }; + + return; + } + + // this key has already been inserted or moved, a duplicate! + _VirtualDom_insertNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, yIndex, inserts); +} + + +function _VirtualDom_removeNode(changes, localPatches, key, vnode, index) +{ + var entry = changes[key]; + + // never seen this key before + if (!entry) + { + var patch = _VirtualDom_pushPatch(localPatches, 9, index, undefined); + + changes[key] = { + c: 1, + z: vnode, + r: index, + s: patch + }; + + return; + } + + // this key was inserted earlier, a match! + if (entry.c === 0) + { + entry.c = 2; + var subPatches = []; + _VirtualDom_diffHelp(vnode, entry.z, subPatches, index); + + _VirtualDom_pushPatch(localPatches, 9, index, { + w: subPatches, + A: entry + }); + + return; + } + + // this key has already been removed or moved, a duplicate! + _VirtualDom_removeNode(changes, localPatches, key + _VirtualDom_POSTFIX, vnode, index); +} + + + +// ADD DOM NODES +// +// Each DOM node has an "index" assigned in order of traversal. It is important +// to minimize our crawl over the actual DOM, so these indexes (along with the +// descendantsCount of virtual nodes) let us skip touching entire subtrees of +// the DOM if we know there are no patches there. + + +function _VirtualDom_addDomNodes(domNode, vNode, patches, eventNode) +{ + _VirtualDom_addDomNodesHelp(domNode, vNode, patches, 0, 0, vNode.b, eventNode); +} + + +// assumes `patches` is non-empty and indexes increase monotonically. +function _VirtualDom_addDomNodesHelp(domNode, vNode, patches, i, low, high, eventNode) +{ + var patch = patches[i]; + var index = patch.r; + + while (index === low) + { + var patchType = patch.$; + + if (patchType === 1) + { + _VirtualDom_addDomNodes(domNode, vNode.k, patch.s, eventNode); + } + else if (patchType === 8) + { + patch.t = domNode; + patch.u = eventNode; + + var subPatches = patch.s.w; + if (subPatches.length > 0) + { + _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); + } + } + else if (patchType === 9) + { + patch.t = domNode; + patch.u = eventNode; + + var data = patch.s; + if (data) + { + data.A.s = domNode; + var subPatches = data.w; + if (subPatches.length > 0) + { + _VirtualDom_addDomNodesHelp(domNode, vNode, subPatches, 0, low, high, eventNode); + } + } + } + else + { + patch.t = domNode; + patch.u = eventNode; + } + + i++; + + if (!(patch = patches[i]) || (index = patch.r) > high) + { + return i; + } + } + + var tag = vNode.$; + + if (tag === 4) + { + var subNode = vNode.k; + + while (subNode.$ === 4) + { + subNode = subNode.k; + } + + return _VirtualDom_addDomNodesHelp(domNode, subNode, patches, i, low + 1, high, domNode.elm_event_node_ref); + } + + // tag must be 1 or 2 at this point + + var vKids = vNode.e; + var childNodes = domNode.childNodes; + for (var j = 0; j < vKids.length; j++) + { + low++; + var vKid = tag === 1 ? vKids[j] : vKids[j].b; + var nextLow = low + (vKid.b || 0); + if (low <= index && index <= nextLow) + { + i = _VirtualDom_addDomNodesHelp(childNodes[j], vKid, patches, i, low, nextLow, eventNode); + if (!(patch = patches[i]) || (index = patch.r) > high) + { + return i; + } + } + low = nextLow; + } + return i; +} + + + +// APPLY PATCHES + + +function _VirtualDom_applyPatches(rootDomNode, oldVirtualNode, patches, eventNode) +{ + if (patches.length === 0) + { + return rootDomNode; + } + + _VirtualDom_addDomNodes(rootDomNode, oldVirtualNode, patches, eventNode); + return _VirtualDom_applyPatchesHelp(rootDomNode, patches); +} + +function _VirtualDom_applyPatchesHelp(rootDomNode, patches) +{ + for (var i = 0; i < patches.length; i++) + { + var patch = patches[i]; + var localDomNode = patch.t + var newNode = _VirtualDom_applyPatch(localDomNode, patch); + if (localDomNode === rootDomNode) + { + rootDomNode = newNode; + } + } + return rootDomNode; +} + +function _VirtualDom_applyPatch(domNode, patch) +{ + switch (patch.$) + { + case 0: + return _VirtualDom_applyPatchRedraw(domNode, patch.s, patch.u); + + case 4: + _VirtualDom_applyFacts(domNode, patch.u, patch.s); + return domNode; + + case 3: + domNode.replaceData(0, domNode.length, patch.s); + return domNode; + + case 1: + return _VirtualDom_applyPatchesHelp(domNode, patch.s); + + case 2: + if (domNode.elm_event_node_ref) + { + domNode.elm_event_node_ref.j = patch.s; + } + else + { + domNode.elm_event_node_ref = { j: patch.s, p: patch.u }; + } + return domNode; + + case 6: + var data = patch.s; + for (var i = 0; i < data.i; i++) + { + domNode.removeChild(domNode.childNodes[data.v]); + } + return domNode; + + case 7: + var data = patch.s; + var kids = data.e; + var i = data.v; + var theEnd = domNode.childNodes[i]; + for (; i < kids.length; i++) + { + domNode.insertBefore(_VirtualDom_render(kids[i], patch.u), theEnd); + } + return domNode; + + case 9: + var data = patch.s; + if (!data) + { + domNode.parentNode.removeChild(domNode); + return domNode; + } + var entry = data.A; + if (typeof entry.r !== 'undefined') + { + domNode.parentNode.removeChild(domNode); + } + entry.s = _VirtualDom_applyPatchesHelp(domNode, data.w); + return domNode; + + case 8: + return _VirtualDom_applyPatchReorder(domNode, patch); + + case 5: + return patch.s(domNode); + + default: + _Debug_crash(10); // 'Ran into an unknown patch!' + } +} + + +function _VirtualDom_applyPatchRedraw(domNode, vNode, eventNode) +{ + var parentNode = domNode.parentNode; + var newNode = _VirtualDom_render(vNode, eventNode); + + if (!newNode.elm_event_node_ref) + { + newNode.elm_event_node_ref = domNode.elm_event_node_ref; + } + + if (parentNode && newNode !== domNode) + { + parentNode.replaceChild(newNode, domNode); + } + return newNode; +} + + +function _VirtualDom_applyPatchReorder(domNode, patch) +{ + var data = patch.s; + + // remove end inserts + var frag = _VirtualDom_applyPatchReorderEndInsertsHelp(data.y, patch); + + // removals + domNode = _VirtualDom_applyPatchesHelp(domNode, data.w); + + // inserts + var inserts = data.x; + for (var i = 0; i < inserts.length; i++) + { + var insert = inserts[i]; + var entry = insert.A; + var node = entry.c === 2 + ? entry.s + : _VirtualDom_render(entry.z, patch.u); + domNode.insertBefore(node, domNode.childNodes[insert.r]); + } + + // add end inserts + if (frag) + { + _VirtualDom_appendChild(domNode, frag); + } + + return domNode; +} + + +function _VirtualDom_applyPatchReorderEndInsertsHelp(endInserts, patch) +{ + if (!endInserts) + { + return; + } + + var frag = _VirtualDom_doc.createDocumentFragment(); + for (var i = 0; i < endInserts.length; i++) + { + var insert = endInserts[i]; + var entry = insert.A; + _VirtualDom_appendChild(frag, entry.c === 2 + ? entry.s + : _VirtualDom_render(entry.z, patch.u) + ); + } + return frag; +} + + +function _VirtualDom_virtualize(node) +{ + // TEXT NODES + + if (node.nodeType === 3) + { + return _VirtualDom_text(node.textContent); + } + + + // WEIRD NODES + + if (node.nodeType !== 1) + { + return _VirtualDom_text(''); + } + + + // ELEMENT NODES + + var attrList = _List_Nil; + var attrs = node.attributes; + for (var i = attrs.length; i--; ) + { + var attr = attrs[i]; + var name = attr.name; + var value = attr.value; + attrList = _List_Cons( A2(_VirtualDom_attribute, name, value), attrList ); + } + + var tag = node.tagName.toLowerCase(); + var kidList = _List_Nil; + var kids = node.childNodes; + + for (var i = kids.length; i--; ) + { + kidList = _List_Cons(_VirtualDom_virtualize(kids[i]), kidList); + } + return A3(_VirtualDom_node, tag, attrList, kidList); +} + +function _VirtualDom_dekey(keyedNode) +{ + var keyedKids = keyedNode.e; + var len = keyedKids.length; + var kids = new Array(len); + for (var i = 0; i < len; i++) + { + kids[i] = keyedKids[i].b; + } + + return { + $: 1, + c: keyedNode.c, + d: keyedNode.d, + e: kids, + f: keyedNode.f, + b: keyedNode.b + }; +} + + + + +// ELEMENT + + +var _Debugger_element; + +var _Browser_element = _Debugger_element || F4(function(impl, flagDecoder, debugMetadata, args) +{ + return _Platform_initialize( + flagDecoder, + args, + impl.cB, + impl.cU, + impl.cR, + function(sendToApp, initialModel) { + var view = impl.cW; + /**/ + var domNode = args['node']; + //*/ + /**_UNUSED/ + var domNode = args && args['node'] ? args['node'] : _Debug_crash(0); + //*/ + var currNode = _VirtualDom_virtualize(domNode); + + return _Browser_makeAnimator(initialModel, function(model) + { + var nextNode = view(model); + var patches = _VirtualDom_diff(currNode, nextNode); + domNode = _VirtualDom_applyPatches(domNode, currNode, patches, sendToApp); + currNode = nextNode; + }); + } + ); +}); + + + +// DOCUMENT + + +var _Debugger_document; + +var _Browser_document = _Debugger_document || F4(function(impl, flagDecoder, debugMetadata, args) +{ + return _Platform_initialize( + flagDecoder, + args, + impl.cB, + impl.cU, + impl.cR, + function(sendToApp, initialModel) { + var divertHrefToApp = impl.bn && impl.bn(sendToApp) + var view = impl.cW; + var title = _VirtualDom_doc.title; + var bodyNode = _VirtualDom_doc.body; + var currNode = _VirtualDom_virtualize(bodyNode); + return _Browser_makeAnimator(initialModel, function(model) + { + _VirtualDom_divertHrefToApp = divertHrefToApp; + var doc = view(model); + var nextNode = _VirtualDom_node('body')(_List_Nil)(doc.cr); + var patches = _VirtualDom_diff(currNode, nextNode); + bodyNode = _VirtualDom_applyPatches(bodyNode, currNode, patches, sendToApp); + currNode = nextNode; + _VirtualDom_divertHrefToApp = 0; + (title !== doc.cT) && (_VirtualDom_doc.title = title = doc.cT); + }); + } + ); +}); + + + +// ANIMATION + + +var _Browser_cancelAnimationFrame = + typeof cancelAnimationFrame !== 'undefined' + ? cancelAnimationFrame + : function(id) { clearTimeout(id); }; + +var _Browser_requestAnimationFrame = + typeof requestAnimationFrame !== 'undefined' + ? requestAnimationFrame + : function(callback) { return setTimeout(callback, 1000 / 60); }; + + +function _Browser_makeAnimator(model, draw) +{ + draw(model); + + var state = 0; + + function updateIfNeeded() + { + state = state === 1 + ? 0 + : ( _Browser_requestAnimationFrame(updateIfNeeded), draw(model), 1 ); + } + + return function(nextModel, isSync) + { + model = nextModel; + + isSync + ? ( draw(model), + state === 2 && (state = 1) + ) + : ( state === 0 && _Browser_requestAnimationFrame(updateIfNeeded), + state = 2 + ); + }; +} + + + +// APPLICATION + + +function _Browser_application(impl) +{ + var onUrlChange = impl.cG; + var onUrlRequest = impl.cH; + var key = function() { key.a(onUrlChange(_Browser_getUrl())); }; + + return _Browser_document({ + bn: function(sendToApp) + { + key.a = sendToApp; + _Browser_window.addEventListener('popstate', key); + _Browser_window.navigator.userAgent.indexOf('Trident') < 0 || _Browser_window.addEventListener('hashchange', key); + + return F2(function(domNode, event) + { + if (!event.ctrlKey && !event.metaKey && !event.shiftKey && event.button < 1 && !domNode.target && !domNode.hasAttribute('download')) + { + event.preventDefault(); + var href = domNode.href; + var curr = _Browser_getUrl(); + var next = $elm$url$Url$fromString(href).a; + sendToApp(onUrlRequest( + (next + && curr.b0 === next.b0 + && curr.bP === next.bP + && curr.bZ.a === next.bZ.a + ) + ? $elm$browser$Browser$Internal(next) + : $elm$browser$Browser$External(href) + )); + } + }); + }, + cB: function(flags) + { + return A3(impl.cB, flags, _Browser_getUrl(), key); + }, + cW: impl.cW, + cU: impl.cU, + cR: impl.cR + }); +} + +function _Browser_getUrl() +{ + return $elm$url$Url$fromString(_VirtualDom_doc.location.href).a || _Debug_crash(1); +} + +var _Browser_go = F2(function(key, n) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { + n && history.go(n); + key(); + })); +}); + +var _Browser_pushUrl = F2(function(key, url) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { + history.pushState({}, '', url); + key(); + })); +}); + +var _Browser_replaceUrl = F2(function(key, url) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function() { + history.replaceState({}, '', url); + key(); + })); +}); + + + +// GLOBAL EVENTS + + +var _Browser_fakeNode = { addEventListener: function() {}, removeEventListener: function() {} }; +var _Browser_doc = typeof document !== 'undefined' ? document : _Browser_fakeNode; +var _Browser_window = typeof window !== 'undefined' ? window : _Browser_fakeNode; + +var _Browser_on = F3(function(node, eventName, sendToSelf) +{ + return _Scheduler_spawn(_Scheduler_binding(function(callback) + { + function handler(event) { _Scheduler_rawSpawn(sendToSelf(event)); } + node.addEventListener(eventName, handler, _VirtualDom_passiveSupported && { passive: true }); + return function() { node.removeEventListener(eventName, handler); }; + })); +}); + +var _Browser_decodeEvent = F2(function(decoder, event) +{ + var result = _Json_runHelp(decoder, event); + return $elm$core$Result$isOk(result) ? $elm$core$Maybe$Just(result.a) : $elm$core$Maybe$Nothing; +}); + + + +// PAGE VISIBILITY + + +function _Browser_visibilityInfo() +{ + return (typeof _VirtualDom_doc.hidden !== 'undefined') + ? { cy: 'hidden', cs: 'visibilitychange' } + : + (typeof _VirtualDom_doc.mozHidden !== 'undefined') + ? { cy: 'mozHidden', cs: 'mozvisibilitychange' } + : + (typeof _VirtualDom_doc.msHidden !== 'undefined') + ? { cy: 'msHidden', cs: 'msvisibilitychange' } + : + (typeof _VirtualDom_doc.webkitHidden !== 'undefined') + ? { cy: 'webkitHidden', cs: 'webkitvisibilitychange' } + : { cy: 'hidden', cs: 'visibilitychange' }; +} + + + +// ANIMATION FRAMES + + +function _Browser_rAF() +{ + return _Scheduler_binding(function(callback) + { + var id = _Browser_requestAnimationFrame(function() { + callback(_Scheduler_succeed(Date.now())); + }); + + return function() { + _Browser_cancelAnimationFrame(id); + }; + }); +} + + +function _Browser_now() +{ + return _Scheduler_binding(function(callback) + { + callback(_Scheduler_succeed(Date.now())); + }); +} + + + +// DOM STUFF + + +function _Browser_withNode(id, doStuff) +{ + return _Scheduler_binding(function(callback) + { + _Browser_requestAnimationFrame(function() { + var node = document.getElementById(id); + callback(node + ? _Scheduler_succeed(doStuff(node)) + : _Scheduler_fail($elm$browser$Browser$Dom$NotFound(id)) + ); + }); + }); +} + + +function _Browser_withWindow(doStuff) +{ + return _Scheduler_binding(function(callback) + { + _Browser_requestAnimationFrame(function() { + callback(_Scheduler_succeed(doStuff())); + }); + }); +} + + +// FOCUS and BLUR + + +var _Browser_call = F2(function(functionName, id) +{ + return _Browser_withNode(id, function(node) { + node[functionName](); + return _Utils_Tuple0; + }); +}); + + + +// WINDOW VIEWPORT + + +function _Browser_getViewport() +{ + return { + b7: _Browser_getScene(), + ch: { + cj: _Browser_window.pageXOffset, + ck: _Browser_window.pageYOffset, + ci: _Browser_doc.documentElement.clientWidth, + bO: _Browser_doc.documentElement.clientHeight + } + }; +} + +function _Browser_getScene() +{ + var body = _Browser_doc.body; + var elem = _Browser_doc.documentElement; + return { + ci: Math.max(body.scrollWidth, body.offsetWidth, elem.scrollWidth, elem.offsetWidth, elem.clientWidth), + bO: Math.max(body.scrollHeight, body.offsetHeight, elem.scrollHeight, elem.offsetHeight, elem.clientHeight) + }; +} + +var _Browser_setViewport = F2(function(x, y) +{ + return _Browser_withWindow(function() + { + _Browser_window.scroll(x, y); + return _Utils_Tuple0; + }); +}); + + + +// ELEMENT VIEWPORT + + +function _Browser_getViewportOf(id) +{ + return _Browser_withNode(id, function(node) + { + return { + b7: { + ci: node.scrollWidth, + bO: node.scrollHeight + }, + ch: { + cj: node.scrollLeft, + ck: node.scrollTop, + ci: node.clientWidth, + bO: node.clientHeight + } + }; + }); +} + + +var _Browser_setViewportOf = F3(function(id, x, y) +{ + return _Browser_withNode(id, function(node) + { + node.scrollLeft = x; + node.scrollTop = y; + return _Utils_Tuple0; + }); +}); + + + +// ELEMENT + + +function _Browser_getElement(id) +{ + return _Browser_withNode(id, function(node) + { + var rect = node.getBoundingClientRect(); + var x = _Browser_window.pageXOffset; + var y = _Browser_window.pageYOffset; + return { + b7: _Browser_getScene(), + ch: { + cj: x, + ck: y, + ci: _Browser_doc.documentElement.clientWidth, + bO: _Browser_doc.documentElement.clientHeight + }, + cw: { + cj: x + rect.left, + ck: y + rect.top, + ci: rect.width, + bO: rect.height + } + }; + }); +} + + + +// LOAD and RELOAD + + +function _Browser_reload(skipCache) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) + { + _VirtualDom_doc.location.reload(skipCache); + })); +} + +function _Browser_load(url) +{ + return A2($elm$core$Task$perform, $elm$core$Basics$never, _Scheduler_binding(function(callback) + { + try + { + _Browser_window.location = url; + } + catch(err) + { + // Only Firefox can throw a NS_ERROR_MALFORMED_URI exception here. + // Other browsers reload the page, so let's be consistent about that. + _VirtualDom_doc.location.reload(false); + } + })); +} + + + +var _Bitwise_and = F2(function(a, b) +{ + return a & b; +}); + +var _Bitwise_or = F2(function(a, b) +{ + return a | b; +}); + +var _Bitwise_xor = F2(function(a, b) +{ + return a ^ b; +}); + +function _Bitwise_complement(a) +{ + return ~a; +}; + +var _Bitwise_shiftLeftBy = F2(function(offset, a) +{ + return a << offset; +}); + +var _Bitwise_shiftRightBy = F2(function(offset, a) +{ + return a >> offset; +}); + +var _Bitwise_shiftRightZfBy = F2(function(offset, a) +{ + return a >>> offset; +}); +var $author$project$Main$LinkClicked = function (a) { + return {$: 0, a: a}; +}; +var $author$project$Main$UrlChanged = function (a) { + return {$: 1, a: a}; +}; +var $elm$core$Basics$EQ = 1; +var $elm$core$Basics$GT = 2; +var $elm$core$Basics$LT = 0; +var $elm$core$List$cons = _List_cons; +var $elm$core$Dict$foldr = F3( + function (func, acc, t) { + foldr: + while (true) { + if (t.$ === -2) { + return acc; + } else { + var key = t.b; + var value = t.c; + var left = t.d; + var right = t.e; + var $temp$func = func, + $temp$acc = A3( + func, + key, + value, + A3($elm$core$Dict$foldr, func, acc, right)), + $temp$t = left; + func = $temp$func; + acc = $temp$acc; + t = $temp$t; + continue foldr; + } + } + }); +var $elm$core$Dict$toList = function (dict) { + return A3( + $elm$core$Dict$foldr, + F3( + function (key, value, list) { + return A2( + $elm$core$List$cons, + _Utils_Tuple2(key, value), + list); + }), + _List_Nil, + dict); +}; +var $elm$core$Dict$keys = function (dict) { + return A3( + $elm$core$Dict$foldr, + F3( + function (key, value, keyList) { + return A2($elm$core$List$cons, key, keyList); + }), + _List_Nil, + dict); +}; +var $elm$core$Set$toList = function (_v0) { + var dict = _v0; + return $elm$core$Dict$keys(dict); +}; +var $elm$core$Elm$JsArray$foldr = _JsArray_foldr; +var $elm$core$Array$foldr = F3( + function (func, baseCase, _v0) { + var tree = _v0.c; + var tail = _v0.d; + var helper = F2( + function (node, acc) { + if (!node.$) { + var subTree = node.a; + return A3($elm$core$Elm$JsArray$foldr, helper, acc, subTree); + } else { + var values = node.a; + return A3($elm$core$Elm$JsArray$foldr, func, acc, values); + } + }); + return A3( + $elm$core$Elm$JsArray$foldr, + helper, + A3($elm$core$Elm$JsArray$foldr, func, baseCase, tail), + tree); + }); +var $elm$core$Array$toList = function (array) { + return A3($elm$core$Array$foldr, $elm$core$List$cons, _List_Nil, array); +}; +var $elm$core$Result$Err = function (a) { + return {$: 1, a: a}; +}; +var $elm$json$Json$Decode$Failure = F2( + function (a, b) { + return {$: 3, a: a, b: b}; + }); +var $elm$json$Json$Decode$Field = F2( + function (a, b) { + return {$: 0, a: a, b: b}; + }); +var $elm$json$Json$Decode$Index = F2( + function (a, b) { + return {$: 1, a: a, b: b}; + }); +var $elm$core$Result$Ok = function (a) { + return {$: 0, a: a}; +}; +var $elm$json$Json$Decode$OneOf = function (a) { + return {$: 2, a: a}; +}; +var $elm$core$Basics$False = 1; +var $elm$core$Basics$add = _Basics_add; +var $elm$core$Maybe$Just = function (a) { + return {$: 0, a: a}; +}; +var $elm$core$Maybe$Nothing = {$: 1}; +var $elm$core$String$all = _String_all; +var $elm$core$Basics$and = _Basics_and; +var $elm$core$Basics$append = _Utils_append; +var $elm$json$Json$Encode$encode = _Json_encode; +var $elm$core$String$fromInt = _String_fromNumber; +var $elm$core$String$join = F2( + function (sep, chunks) { + return A2( + _String_join, + sep, + _List_toArray(chunks)); + }); +var $elm$core$String$split = F2( + function (sep, string) { + return _List_fromArray( + A2(_String_split, sep, string)); + }); +var $elm$json$Json$Decode$indent = function (str) { + return A2( + $elm$core$String$join, + '\n ', + A2($elm$core$String$split, '\n', str)); +}; +var $elm$core$List$foldl = F3( + function (func, acc, list) { + foldl: + while (true) { + if (!list.b) { + return acc; + } else { + var x = list.a; + var xs = list.b; + var $temp$func = func, + $temp$acc = A2(func, x, acc), + $temp$list = xs; + func = $temp$func; + acc = $temp$acc; + list = $temp$list; + continue foldl; + } + } + }); +var $elm$core$List$length = function (xs) { + return A3( + $elm$core$List$foldl, + F2( + function (_v0, i) { + return i + 1; + }), + 0, + xs); +}; +var $elm$core$List$map2 = _List_map2; +var $elm$core$Basics$le = _Utils_le; +var $elm$core$Basics$sub = _Basics_sub; +var $elm$core$List$rangeHelp = F3( + function (lo, hi, list) { + rangeHelp: + while (true) { + if (_Utils_cmp(lo, hi) < 1) { + var $temp$lo = lo, + $temp$hi = hi - 1, + $temp$list = A2($elm$core$List$cons, hi, list); + lo = $temp$lo; + hi = $temp$hi; + list = $temp$list; + continue rangeHelp; + } else { + return list; + } + } + }); +var $elm$core$List$range = F2( + function (lo, hi) { + return A3($elm$core$List$rangeHelp, lo, hi, _List_Nil); + }); +var $elm$core$List$indexedMap = F2( + function (f, xs) { + return A3( + $elm$core$List$map2, + f, + A2( + $elm$core$List$range, + 0, + $elm$core$List$length(xs) - 1), + xs); + }); +var $elm$core$Char$toCode = _Char_toCode; +var $elm$core$Char$isLower = function (_char) { + var code = $elm$core$Char$toCode(_char); + return (97 <= code) && (code <= 122); +}; +var $elm$core$Char$isUpper = function (_char) { + var code = $elm$core$Char$toCode(_char); + return (code <= 90) && (65 <= code); +}; +var $elm$core$Basics$or = _Basics_or; +var $elm$core$Char$isAlpha = function (_char) { + return $elm$core$Char$isLower(_char) || $elm$core$Char$isUpper(_char); +}; +var $elm$core$Char$isDigit = function (_char) { + var code = $elm$core$Char$toCode(_char); + return (code <= 57) && (48 <= code); +}; +var $elm$core$Char$isAlphaNum = function (_char) { + return $elm$core$Char$isLower(_char) || ($elm$core$Char$isUpper(_char) || $elm$core$Char$isDigit(_char)); +}; +var $elm$core$List$reverse = function (list) { + return A3($elm$core$List$foldl, $elm$core$List$cons, _List_Nil, list); +}; +var $elm$core$String$uncons = _String_uncons; +var $elm$json$Json$Decode$errorOneOf = F2( + function (i, error) { + return '\n\n(' + ($elm$core$String$fromInt(i + 1) + (') ' + $elm$json$Json$Decode$indent( + $elm$json$Json$Decode$errorToString(error)))); + }); +var $elm$json$Json$Decode$errorToString = function (error) { + return A2($elm$json$Json$Decode$errorToStringHelp, error, _List_Nil); +}; +var $elm$json$Json$Decode$errorToStringHelp = F2( + function (error, context) { + errorToStringHelp: + while (true) { + switch (error.$) { + case 0: + var f = error.a; + var err = error.b; + var isSimple = function () { + var _v1 = $elm$core$String$uncons(f); + if (_v1.$ === 1) { + return false; + } else { + var _v2 = _v1.a; + var _char = _v2.a; + var rest = _v2.b; + return $elm$core$Char$isAlpha(_char) && A2($elm$core$String$all, $elm$core$Char$isAlphaNum, rest); + } + }(); + var fieldName = isSimple ? ('.' + f) : ('[\'' + (f + '\']')); + var $temp$error = err, + $temp$context = A2($elm$core$List$cons, fieldName, context); + error = $temp$error; + context = $temp$context; + continue errorToStringHelp; + case 1: + var i = error.a; + var err = error.b; + var indexName = '[' + ($elm$core$String$fromInt(i) + ']'); + var $temp$error = err, + $temp$context = A2($elm$core$List$cons, indexName, context); + error = $temp$error; + context = $temp$context; + continue errorToStringHelp; + case 2: + var errors = error.a; + if (!errors.b) { + return 'Ran into a Json.Decode.oneOf with no possibilities' + function () { + if (!context.b) { + return '!'; + } else { + return ' at json' + A2( + $elm$core$String$join, + '', + $elm$core$List$reverse(context)); + } + }(); + } else { + if (!errors.b.b) { + var err = errors.a; + var $temp$error = err, + $temp$context = context; + error = $temp$error; + context = $temp$context; + continue errorToStringHelp; + } else { + var starter = function () { + if (!context.b) { + return 'Json.Decode.oneOf'; + } else { + return 'The Json.Decode.oneOf at json' + A2( + $elm$core$String$join, + '', + $elm$core$List$reverse(context)); + } + }(); + var introduction = starter + (' failed in the following ' + ($elm$core$String$fromInt( + $elm$core$List$length(errors)) + ' ways:')); + return A2( + $elm$core$String$join, + '\n\n', + A2( + $elm$core$List$cons, + introduction, + A2($elm$core$List$indexedMap, $elm$json$Json$Decode$errorOneOf, errors))); + } + } + default: + var msg = error.a; + var json = error.b; + var introduction = function () { + if (!context.b) { + return 'Problem with the given value:\n\n'; + } else { + return 'Problem with the value at json' + (A2( + $elm$core$String$join, + '', + $elm$core$List$reverse(context)) + ':\n\n '); + } + }(); + return introduction + ($elm$json$Json$Decode$indent( + A2($elm$json$Json$Encode$encode, 4, json)) + ('\n\n' + msg)); + } + } + }); +var $elm$core$Array$branchFactor = 32; +var $elm$core$Array$Array_elm_builtin = F4( + function (a, b, c, d) { + return {$: 0, a: a, b: b, c: c, d: d}; + }); +var $elm$core$Elm$JsArray$empty = _JsArray_empty; +var $elm$core$Basics$ceiling = _Basics_ceiling; +var $elm$core$Basics$fdiv = _Basics_fdiv; +var $elm$core$Basics$logBase = F2( + function (base, number) { + return _Basics_log(number) / _Basics_log(base); + }); +var $elm$core$Basics$toFloat = _Basics_toFloat; +var $elm$core$Array$shiftStep = $elm$core$Basics$ceiling( + A2($elm$core$Basics$logBase, 2, $elm$core$Array$branchFactor)); +var $elm$core$Array$empty = A4($elm$core$Array$Array_elm_builtin, 0, $elm$core$Array$shiftStep, $elm$core$Elm$JsArray$empty, $elm$core$Elm$JsArray$empty); +var $elm$core$Elm$JsArray$initialize = _JsArray_initialize; +var $elm$core$Array$Leaf = function (a) { + return {$: 1, a: a}; +}; +var $elm$core$Basics$apL = F2( + function (f, x) { + return f(x); + }); +var $elm$core$Basics$apR = F2( + function (x, f) { + return f(x); + }); +var $elm$core$Basics$eq = _Utils_equal; +var $elm$core$Basics$floor = _Basics_floor; +var $elm$core$Elm$JsArray$length = _JsArray_length; +var $elm$core$Basics$gt = _Utils_gt; +var $elm$core$Basics$max = F2( + function (x, y) { + return (_Utils_cmp(x, y) > 0) ? x : y; + }); +var $elm$core$Basics$mul = _Basics_mul; +var $elm$core$Array$SubTree = function (a) { + return {$: 0, a: a}; +}; +var $elm$core$Elm$JsArray$initializeFromList = _JsArray_initializeFromList; +var $elm$core$Array$compressNodes = F2( + function (nodes, acc) { + compressNodes: + while (true) { + var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodes); + var node = _v0.a; + var remainingNodes = _v0.b; + var newAcc = A2( + $elm$core$List$cons, + $elm$core$Array$SubTree(node), + acc); + if (!remainingNodes.b) { + return $elm$core$List$reverse(newAcc); + } else { + var $temp$nodes = remainingNodes, + $temp$acc = newAcc; + nodes = $temp$nodes; + acc = $temp$acc; + continue compressNodes; + } + } + }); +var $elm$core$Tuple$first = function (_v0) { + var x = _v0.a; + return x; +}; +var $elm$core$Array$treeFromBuilder = F2( + function (nodeList, nodeListSize) { + treeFromBuilder: + while (true) { + var newNodeSize = $elm$core$Basics$ceiling(nodeListSize / $elm$core$Array$branchFactor); + if (newNodeSize === 1) { + return A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, nodeList).a; + } else { + var $temp$nodeList = A2($elm$core$Array$compressNodes, nodeList, _List_Nil), + $temp$nodeListSize = newNodeSize; + nodeList = $temp$nodeList; + nodeListSize = $temp$nodeListSize; + continue treeFromBuilder; + } + } + }); +var $elm$core$Array$builderToArray = F2( + function (reverseNodeList, builder) { + if (!builder.h) { + return A4( + $elm$core$Array$Array_elm_builtin, + $elm$core$Elm$JsArray$length(builder.j), + $elm$core$Array$shiftStep, + $elm$core$Elm$JsArray$empty, + builder.j); + } else { + var treeLen = builder.h * $elm$core$Array$branchFactor; + var depth = $elm$core$Basics$floor( + A2($elm$core$Basics$logBase, $elm$core$Array$branchFactor, treeLen - 1)); + var correctNodeList = reverseNodeList ? $elm$core$List$reverse(builder.k) : builder.k; + var tree = A2($elm$core$Array$treeFromBuilder, correctNodeList, builder.h); + return A4( + $elm$core$Array$Array_elm_builtin, + $elm$core$Elm$JsArray$length(builder.j) + treeLen, + A2($elm$core$Basics$max, 5, depth * $elm$core$Array$shiftStep), + tree, + builder.j); + } + }); +var $elm$core$Basics$idiv = _Basics_idiv; +var $elm$core$Basics$lt = _Utils_lt; +var $elm$core$Array$initializeHelp = F5( + function (fn, fromIndex, len, nodeList, tail) { + initializeHelp: + while (true) { + if (fromIndex < 0) { + return A2( + $elm$core$Array$builderToArray, + false, + {k: nodeList, h: (len / $elm$core$Array$branchFactor) | 0, j: tail}); + } else { + var leaf = $elm$core$Array$Leaf( + A3($elm$core$Elm$JsArray$initialize, $elm$core$Array$branchFactor, fromIndex, fn)); + var $temp$fn = fn, + $temp$fromIndex = fromIndex - $elm$core$Array$branchFactor, + $temp$len = len, + $temp$nodeList = A2($elm$core$List$cons, leaf, nodeList), + $temp$tail = tail; + fn = $temp$fn; + fromIndex = $temp$fromIndex; + len = $temp$len; + nodeList = $temp$nodeList; + tail = $temp$tail; + continue initializeHelp; + } + } + }); +var $elm$core$Basics$remainderBy = _Basics_remainderBy; +var $elm$core$Array$initialize = F2( + function (len, fn) { + if (len <= 0) { + return $elm$core$Array$empty; + } else { + var tailLen = len % $elm$core$Array$branchFactor; + var tail = A3($elm$core$Elm$JsArray$initialize, tailLen, len - tailLen, fn); + var initialFromIndex = (len - tailLen) - $elm$core$Array$branchFactor; + return A5($elm$core$Array$initializeHelp, fn, initialFromIndex, len, _List_Nil, tail); + } + }); +var $elm$core$Basics$True = 0; +var $elm$core$Result$isOk = function (result) { + if (!result.$) { + return true; + } else { + return false; + } +}; +var $elm$json$Json$Decode$map = _Json_map1; +var $elm$json$Json$Decode$map2 = _Json_map2; +var $elm$json$Json$Decode$succeed = _Json_succeed; +var $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) { + switch (handler.$) { + case 0: + return 0; + case 1: + return 1; + case 2: + return 2; + default: + return 3; + } +}; +var $elm$browser$Browser$External = function (a) { + return {$: 1, a: a}; +}; +var $elm$browser$Browser$Internal = function (a) { + return {$: 0, a: a}; +}; +var $elm$core$Basics$identity = function (x) { + return x; +}; +var $elm$browser$Browser$Dom$NotFound = $elm$core$Basics$identity; +var $elm$url$Url$Http = 0; +var $elm$url$Url$Https = 1; +var $elm$url$Url$Url = F6( + function (protocol, host, port_, path, query, fragment) { + return {bM: fragment, bP: host, bX: path, bZ: port_, b0: protocol, b1: query}; + }); +var $elm$core$String$contains = _String_contains; +var $elm$core$String$length = _String_length; +var $elm$core$String$slice = _String_slice; +var $elm$core$String$dropLeft = F2( + function (n, string) { + return (n < 1) ? string : A3( + $elm$core$String$slice, + n, + $elm$core$String$length(string), + string); + }); +var $elm$core$String$indexes = _String_indexes; +var $elm$core$String$isEmpty = function (string) { + return string === ''; +}; +var $elm$core$String$left = F2( + function (n, string) { + return (n < 1) ? '' : A3($elm$core$String$slice, 0, n, string); + }); +var $elm$core$String$toInt = _String_toInt; +var $elm$url$Url$chompBeforePath = F5( + function (protocol, path, params, frag, str) { + if ($elm$core$String$isEmpty(str) || A2($elm$core$String$contains, '@', str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, ':', str); + if (!_v0.b) { + return $elm$core$Maybe$Just( + A6($elm$url$Url$Url, protocol, str, $elm$core$Maybe$Nothing, path, params, frag)); + } else { + if (!_v0.b.b) { + var i = _v0.a; + var _v1 = $elm$core$String$toInt( + A2($elm$core$String$dropLeft, i + 1, str)); + if (_v1.$ === 1) { + return $elm$core$Maybe$Nothing; + } else { + var port_ = _v1; + return $elm$core$Maybe$Just( + A6( + $elm$url$Url$Url, + protocol, + A2($elm$core$String$left, i, str), + port_, + path, + params, + frag)); + } + } else { + return $elm$core$Maybe$Nothing; + } + } + } + }); +var $elm$url$Url$chompBeforeQuery = F4( + function (protocol, params, frag, str) { + if ($elm$core$String$isEmpty(str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, '/', str); + if (!_v0.b) { + return A5($elm$url$Url$chompBeforePath, protocol, '/', params, frag, str); + } else { + var i = _v0.a; + return A5( + $elm$url$Url$chompBeforePath, + protocol, + A2($elm$core$String$dropLeft, i, str), + params, + frag, + A2($elm$core$String$left, i, str)); + } + } + }); +var $elm$url$Url$chompBeforeFragment = F3( + function (protocol, frag, str) { + if ($elm$core$String$isEmpty(str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, '?', str); + if (!_v0.b) { + return A4($elm$url$Url$chompBeforeQuery, protocol, $elm$core$Maybe$Nothing, frag, str); + } else { + var i = _v0.a; + return A4( + $elm$url$Url$chompBeforeQuery, + protocol, + $elm$core$Maybe$Just( + A2($elm$core$String$dropLeft, i + 1, str)), + frag, + A2($elm$core$String$left, i, str)); + } + } + }); +var $elm$url$Url$chompAfterProtocol = F2( + function (protocol, str) { + if ($elm$core$String$isEmpty(str)) { + return $elm$core$Maybe$Nothing; + } else { + var _v0 = A2($elm$core$String$indexes, '#', str); + if (!_v0.b) { + return A3($elm$url$Url$chompBeforeFragment, protocol, $elm$core$Maybe$Nothing, str); + } else { + var i = _v0.a; + return A3( + $elm$url$Url$chompBeforeFragment, + protocol, + $elm$core$Maybe$Just( + A2($elm$core$String$dropLeft, i + 1, str)), + A2($elm$core$String$left, i, str)); + } + } + }); +var $elm$core$String$startsWith = _String_startsWith; +var $elm$url$Url$fromString = function (str) { + return A2($elm$core$String$startsWith, 'http://', str) ? A2( + $elm$url$Url$chompAfterProtocol, + 0, + A2($elm$core$String$dropLeft, 7, str)) : (A2($elm$core$String$startsWith, 'https://', str) ? A2( + $elm$url$Url$chompAfterProtocol, + 1, + A2($elm$core$String$dropLeft, 8, str)) : $elm$core$Maybe$Nothing); +}; +var $elm$core$Basics$never = function (_v0) { + never: + while (true) { + var nvr = _v0; + var $temp$_v0 = nvr; + _v0 = $temp$_v0; + continue never; + } +}; +var $elm$core$Task$Perform = $elm$core$Basics$identity; +var $elm$core$Task$succeed = _Scheduler_succeed; +var $elm$core$Task$init = $elm$core$Task$succeed(0); +var $elm$core$List$foldrHelper = F4( + function (fn, acc, ctr, ls) { + if (!ls.b) { + return acc; + } else { + var a = ls.a; + var r1 = ls.b; + if (!r1.b) { + return A2(fn, a, acc); + } else { + var b = r1.a; + var r2 = r1.b; + if (!r2.b) { + return A2( + fn, + a, + A2(fn, b, acc)); + } else { + var c = r2.a; + var r3 = r2.b; + if (!r3.b) { + return A2( + fn, + a, + A2( + fn, + b, + A2(fn, c, acc))); + } else { + var d = r3.a; + var r4 = r3.b; + var res = (ctr > 500) ? A3( + $elm$core$List$foldl, + fn, + acc, + $elm$core$List$reverse(r4)) : A4($elm$core$List$foldrHelper, fn, acc, ctr + 1, r4); + return A2( + fn, + a, + A2( + fn, + b, + A2( + fn, + c, + A2(fn, d, res)))); + } + } + } + } + }); +var $elm$core$List$foldr = F3( + function (fn, acc, ls) { + return A4($elm$core$List$foldrHelper, fn, acc, 0, ls); + }); +var $elm$core$List$map = F2( + function (f, xs) { + return A3( + $elm$core$List$foldr, + F2( + function (x, acc) { + return A2( + $elm$core$List$cons, + f(x), + acc); + }), + _List_Nil, + xs); + }); +var $elm$core$Task$andThen = _Scheduler_andThen; +var $elm$core$Task$map = F2( + function (func, taskA) { + return A2( + $elm$core$Task$andThen, + function (a) { + return $elm$core$Task$succeed( + func(a)); + }, + taskA); + }); +var $elm$core$Task$map2 = F3( + function (func, taskA, taskB) { + return A2( + $elm$core$Task$andThen, + function (a) { + return A2( + $elm$core$Task$andThen, + function (b) { + return $elm$core$Task$succeed( + A2(func, a, b)); + }, + taskB); + }, + taskA); + }); +var $elm$core$Task$sequence = function (tasks) { + return A3( + $elm$core$List$foldr, + $elm$core$Task$map2($elm$core$List$cons), + $elm$core$Task$succeed(_List_Nil), + tasks); +}; +var $elm$core$Platform$sendToApp = _Platform_sendToApp; +var $elm$core$Task$spawnCmd = F2( + function (router, _v0) { + var task = _v0; + return _Scheduler_spawn( + A2( + $elm$core$Task$andThen, + $elm$core$Platform$sendToApp(router), + task)); + }); +var $elm$core$Task$onEffects = F3( + function (router, commands, state) { + return A2( + $elm$core$Task$map, + function (_v0) { + return 0; + }, + $elm$core$Task$sequence( + A2( + $elm$core$List$map, + $elm$core$Task$spawnCmd(router), + commands))); + }); +var $elm$core$Task$onSelfMsg = F3( + function (_v0, _v1, _v2) { + return $elm$core$Task$succeed(0); + }); +var $elm$core$Task$cmdMap = F2( + function (tagger, _v0) { + var task = _v0; + return A2($elm$core$Task$map, tagger, task); + }); +_Platform_effectManagers['Task'] = _Platform_createManager($elm$core$Task$init, $elm$core$Task$onEffects, $elm$core$Task$onSelfMsg, $elm$core$Task$cmdMap); +var $elm$core$Task$command = _Platform_leaf('Task'); +var $elm$core$Task$perform = F2( + function (toMessage, task) { + return $elm$core$Task$command( + A2($elm$core$Task$map, toMessage, task)); + }); +var $elm$browser$Browser$application = _Browser_application; +var $author$project$Main$NoInitFocus = {$: 3}; +var $author$project$Main$Pit = 0; +var $elm$core$Basics$composeL = F3( + function (g, f, x) { + return g( + f(x)); + }); +var $elm$core$Task$onError = _Scheduler_onError; +var $elm$core$Task$attempt = F2( + function (resultToMessage, task) { + return $elm$core$Task$command( + A2( + $elm$core$Task$onError, + A2( + $elm$core$Basics$composeL, + A2($elm$core$Basics$composeL, $elm$core$Task$succeed, resultToMessage), + $elm$core$Result$Err), + A2( + $elm$core$Task$andThen, + A2( + $elm$core$Basics$composeL, + A2($elm$core$Basics$composeL, $elm$core$Task$succeed, resultToMessage), + $elm$core$Result$Ok), + task))); + }); +var $author$project$Main$CookiesKept = F3( + function (keepTheme, keepFont, keepPrompt) { + return {P: keepFont, Q: keepPrompt, R: keepTheme}; + }); +var $elm$json$Json$Decode$field = _Json_decodeField; +var $elm$json$Json$Decode$at = F2( + function (fields, decoder) { + return A3($elm$core$List$foldr, $elm$json$Json$Decode$field, decoder, fields); + }); +var $elm$json$Json$Decode$bool = _Json_decodeBool; +var $elm$json$Json$Decode$map3 = _Json_map3; +var $author$project$Main$cookiesKeptDecoder = A4( + $elm$json$Json$Decode$map3, + $author$project$Main$CookiesKept, + A2( + $elm$json$Json$Decode$at, + _List_fromArray( + ['cookiesKept', 'keepTheme']), + $elm$json$Json$Decode$bool), + A2( + $elm$json$Json$Decode$at, + _List_fromArray( + ['cookiesKept', 'keepFont']), + $elm$json$Json$Decode$bool), + A2( + $elm$json$Json$Decode$at, + _List_fromArray( + ['cookiesKept', 'keepPrompt']), + $elm$json$Json$Decode$bool)); +var $elm$json$Json$Decode$decodeValue = _Json_run; +var $elm$browser$Browser$Dom$focus = _Browser_call('focus'); +var $author$project$Main$Font = function (fontSize) { + return {o: fontSize}; +}; +var $elm$json$Json$Decode$float = _Json_decodeFloat; +var $author$project$Main$fontDecoder = A2( + $elm$json$Json$Decode$map, + $author$project$Main$Font, + A2( + $elm$json$Json$Decode$at, + _List_fromArray( + ['font', 'fontSize']), + $elm$json$Json$Decode$float)); +var $author$project$Main$Prompt = function (prompt) { + return {l: prompt}; +}; +var $elm$json$Json$Decode$string = _Json_decodeString; +var $author$project$Main$promptDecoder = A2( + $elm$json$Json$Decode$map, + $author$project$Main$Prompt, + A2( + $elm$json$Json$Decode$at, + _List_fromArray( + ['prompt', 'prompt']), + $elm$json$Json$Decode$string)); +var $rtfeldman$elm_css$VirtualDom$Styled$Unstyled = function (a) { + return {$: 4, a: a}; +}; +var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text; +var $rtfeldman$elm_css$VirtualDom$Styled$text = function (str) { + return $rtfeldman$elm_css$VirtualDom$Styled$Unstyled( + $elm$virtual_dom$VirtualDom$text(str)); +}; +var $rtfeldman$elm_css$Html$Styled$text = $rtfeldman$elm_css$VirtualDom$Styled$text; +var $author$project$Main$Dim = 1; +var $author$project$Main$Sky = 2; +var $author$project$Main$Sun = 3; +var $elm$json$Json$Decode$fail = _Json_fail; +var $author$project$Main$themeDecoder = function (flags) { + var _v0 = A2( + $elm$json$Json$Decode$decodeValue, + A2($elm$json$Json$Decode$field, 'theme', $elm$json$Json$Decode$string), + flags); + if (!_v0.$) { + switch (_v0.a) { + case 'Pit': + return $elm$json$Json$Decode$succeed(0); + case 'Dim': + return $elm$json$Json$Decode$succeed(1); + case 'Sky': + return $elm$json$Json$Decode$succeed(2); + case 'Sun': + return $elm$json$Json$Decode$succeed(3); + default: + return $elm$json$Json$Decode$fail('Unknown value found in theme field of json'); + } + } else { + return $elm$json$Json$Decode$fail('Error decoding theme field of json'); + } +}; +var $author$project$Main$init = F3( + function (flags, url, key) { + var initContent = _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('Welcome to my website! Pardon the alpha quality for the time being'), + $rtfeldman$elm_css$Html$Styled$text('\nRun `help` to get started') + ]); + var cookiesKept = function () { + var _v4 = A2($elm$json$Json$Decode$decodeValue, $author$project$Main$cookiesKeptDecoder, flags); + if (!_v4.$) { + var cK = _v4.a; + return cK; + } else { + return {P: true, Q: true, R: true}; + } + }(); + return _Utils_Tuple2( + { + az: '', + a: initContent, + n: cookiesKept, + t: function () { + if (cookiesKept.P) { + var _v0 = A2($elm$json$Json$Decode$decodeValue, $author$project$Main$fontDecoder, flags); + if (!_v0.$) { + var font = _v0.a; + return font; + } else { + return {o: 20.0}; + } + } else { + return {o: 20.0}; + } + }(), + be: key, + l: function () { + if (cookiesKept.Q) { + var _v1 = A2($elm$json$Json$Decode$decodeValue, $author$project$Main$promptDecoder, flags); + if (!_v1.$) { + var prompt = _v1.a; + return prompt; + } else { + return {l: '>'}; + } + } else { + return {l: '>'}; + } + }(), + as: function () { + if (cookiesKept.R) { + var _v2 = A2( + $elm$json$Json$Decode$decodeValue, + $author$project$Main$themeDecoder(flags), + flags); + if (!_v2.$) { + var theme = _v2.a; + return theme; + } else { + return 0; + } + } else { + return 0; + } + }(), + br: url + }, + A2( + $elm$core$Task$attempt, + function (_v3) { + return $author$project$Main$NoInitFocus; + }, + $elm$browser$Browser$Dom$focus('init-focus'))); + }); +var $elm$core$Platform$Sub$batch = _Platform_batch; +var $elm$core$Platform$Sub$none = $elm$core$Platform$Sub$batch(_List_Nil); +var $author$project$Main$subscriptions = function (_v0) { + return $elm$core$Platform$Sub$none; +}; +var $author$project$Main$BrightMagenta = 10; +var $rtfeldman$elm_css$Css$Preprocess$AppendProperty = function (a) { + return {$: 0, a: a}; +}; +var $rtfeldman$elm_css$Css$Structure$Property = $elm$core$Basics$identity; +var $rtfeldman$elm_css$Css$property = F2( + function (key, value) { + return $rtfeldman$elm_css$Css$Preprocess$AppendProperty(key + (':' + value)); + }); +var $rtfeldman$elm_css$Css$backgroundColor = function (c) { + return A2($rtfeldman$elm_css$Css$property, 'background-color', c.D); +}; +var $rtfeldman$elm_css$Css$prop1 = F2( + function (key, arg) { + return A2($rtfeldman$elm_css$Css$property, key, arg.D); + }); +var $rtfeldman$elm_css$Css$borderWidth = $rtfeldman$elm_css$Css$prop1('border-width'); +var $rtfeldman$elm_css$Css$color = function (c) { + return A2($rtfeldman$elm_css$Css$property, 'color', c.D); +}; +var $rtfeldman$elm_css$Css$margin = $rtfeldman$elm_css$Css$prop1('margin'); +var $rtfeldman$elm_css$Css$padding = $rtfeldman$elm_css$Css$prop1('padding'); +var $rtfeldman$elm_css$Css$PxUnits = 0; +var $rtfeldman$elm_css$Css$Structure$Compatible = 0; +var $elm$core$String$fromFloat = _String_fromNumber; +var $rtfeldman$elm_css$Css$Internal$lengthConverter = F3( + function (units, unitLabel, numericValue) { + return { + bs: 0, + bC: 0, + af: 0, + o: 0, + aE: 0, + ai: 0, + H: 0, + aj: 0, + ak: 0, + S: 0, + T: 0, + B: 0, + al: 0, + J: numericValue, + aq: 0, + at: unitLabel, + aN: units, + D: _Utils_ap( + $elm$core$String$fromFloat(numericValue), + unitLabel) + }; + }); +var $rtfeldman$elm_css$Css$px = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, 0, 'px'); +var $rtfeldman$elm_css$VirtualDom$Styled$Node = F3( + function (a, b, c) { + return {$: 0, a: a, b: b, c: c}; + }); +var $rtfeldman$elm_css$VirtualDom$Styled$node = $rtfeldman$elm_css$VirtualDom$Styled$Node; +var $rtfeldman$elm_css$Html$Styled$node = $rtfeldman$elm_css$VirtualDom$Styled$node; +var $rtfeldman$elm_css$Html$Styled$span = $rtfeldman$elm_css$Html$Styled$node('span'); +var $rtfeldman$elm_css$VirtualDom$Styled$Attribute = F3( + function (a, b, c) { + return {$: 0, a: a, b: b, c: c}; + }); +var $elm$virtual_dom$VirtualDom$attribute = F2( + function (key, value) { + return A2( + _VirtualDom_attribute, + _VirtualDom_noOnOrFormAction(key), + _VirtualDom_noJavaScriptOrHtmlUri(value)); + }); +var $elm$core$List$any = F2( + function (isOkay, list) { + any: + while (true) { + if (!list.b) { + return false; + } else { + var x = list.a; + var xs = list.b; + if (isOkay(x)) { + return true; + } else { + var $temp$isOkay = isOkay, + $temp$list = xs; + isOkay = $temp$isOkay; + list = $temp$list; + continue any; + } + } + } + }); +var $elm$core$Basics$not = _Basics_not; +var $elm$core$List$all = F2( + function (isOkay, list) { + return !A2( + $elm$core$List$any, + A2($elm$core$Basics$composeL, $elm$core$Basics$not, isOkay), + list); + }); +var $elm$core$Dict$Black = 1; +var $elm$core$Dict$RBNode_elm_builtin = F5( + function (a, b, c, d, e) { + return {$: -1, a: a, b: b, c: c, d: d, e: e}; + }); +var $elm$core$Dict$RBEmpty_elm_builtin = {$: -2}; +var $elm$core$Dict$Red = 0; +var $elm$core$Dict$balance = F5( + function (color, key, value, left, right) { + if ((right.$ === -1) && (!right.a)) { + var _v1 = right.a; + var rK = right.b; + var rV = right.c; + var rLeft = right.d; + var rRight = right.e; + if ((left.$ === -1) && (!left.a)) { + var _v3 = left.a; + var lK = left.b; + var lV = left.c; + var lLeft = left.d; + var lRight = left.e; + return A5( + $elm$core$Dict$RBNode_elm_builtin, + 0, + key, + value, + A5($elm$core$Dict$RBNode_elm_builtin, 1, lK, lV, lLeft, lRight), + A5($elm$core$Dict$RBNode_elm_builtin, 1, rK, rV, rLeft, rRight)); + } else { + return A5( + $elm$core$Dict$RBNode_elm_builtin, + color, + rK, + rV, + A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, left, rLeft), + rRight); + } + } else { + if ((((left.$ === -1) && (!left.a)) && (left.d.$ === -1)) && (!left.d.a)) { + var _v5 = left.a; + var lK = left.b; + var lV = left.c; + var _v6 = left.d; + var _v7 = _v6.a; + var llK = _v6.b; + var llV = _v6.c; + var llLeft = _v6.d; + var llRight = _v6.e; + var lRight = left.e; + return A5( + $elm$core$Dict$RBNode_elm_builtin, + 0, + lK, + lV, + A5($elm$core$Dict$RBNode_elm_builtin, 1, llK, llV, llLeft, llRight), + A5($elm$core$Dict$RBNode_elm_builtin, 1, key, value, lRight, right)); + } else { + return A5($elm$core$Dict$RBNode_elm_builtin, color, key, value, left, right); + } + } + }); +var $elm$core$Basics$compare = _Utils_compare; +var $elm$core$Dict$insertHelp = F3( + function (key, value, dict) { + if (dict.$ === -2) { + return A5($elm$core$Dict$RBNode_elm_builtin, 0, key, value, $elm$core$Dict$RBEmpty_elm_builtin, $elm$core$Dict$RBEmpty_elm_builtin); + } else { + var nColor = dict.a; + var nKey = dict.b; + var nValue = dict.c; + var nLeft = dict.d; + var nRight = dict.e; + var _v1 = A2($elm$core$Basics$compare, key, nKey); + switch (_v1) { + case 0: + return A5( + $elm$core$Dict$balance, + nColor, + nKey, + nValue, + A3($elm$core$Dict$insertHelp, key, value, nLeft), + nRight); + case 1: + return A5($elm$core$Dict$RBNode_elm_builtin, nColor, nKey, value, nLeft, nRight); + default: + return A5( + $elm$core$Dict$balance, + nColor, + nKey, + nValue, + nLeft, + A3($elm$core$Dict$insertHelp, key, value, nRight)); + } + } + }); +var $elm$core$Dict$insert = F3( + function (key, value, dict) { + var _v0 = A3($elm$core$Dict$insertHelp, key, value, dict); + if ((_v0.$ === -1) && (!_v0.a)) { + var _v1 = _v0.a; + var k = _v0.b; + var v = _v0.c; + var l = _v0.d; + var r = _v0.e; + return A5($elm$core$Dict$RBNode_elm_builtin, 1, k, v, l, r); + } else { + var x = _v0; + return x; + } + }); +var $elm$core$List$isEmpty = function (xs) { + if (!xs.b) { + return true; + } else { + return false; + } +}; +var $rtfeldman$elm_css$Css$Structure$compactHelp = F2( + function (declaration, _v0) { + var keyframesByName = _v0.a; + var declarations = _v0.b; + switch (declaration.$) { + case 0: + var _v2 = declaration.a; + var properties = _v2.c; + return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( + keyframesByName, + A2($elm$core$List$cons, declaration, declarations)); + case 1: + var styleBlocks = declaration.b; + return A2( + $elm$core$List$all, + function (_v3) { + var properties = _v3.c; + return $elm$core$List$isEmpty(properties); + }, + styleBlocks) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( + keyframesByName, + A2($elm$core$List$cons, declaration, declarations)); + case 2: + var otherDeclarations = declaration.b; + return $elm$core$List$isEmpty(otherDeclarations) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( + keyframesByName, + A2($elm$core$List$cons, declaration, declarations)); + case 3: + return _Utils_Tuple2( + keyframesByName, + A2($elm$core$List$cons, declaration, declarations)); + case 4: + var properties = declaration.a; + return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( + keyframesByName, + A2($elm$core$List$cons, declaration, declarations)); + case 5: + var properties = declaration.a; + return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( + keyframesByName, + A2($elm$core$List$cons, declaration, declarations)); + case 6: + var record = declaration.a; + return $elm$core$String$isEmpty(record.ct) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( + A3($elm$core$Dict$insert, record.cF, record.ct, keyframesByName), + declarations); + case 7: + var properties = declaration.a; + return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( + keyframesByName, + A2($elm$core$List$cons, declaration, declarations)); + case 8: + var properties = declaration.a; + return $elm$core$List$isEmpty(properties) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( + keyframesByName, + A2($elm$core$List$cons, declaration, declarations)); + default: + var tuples = declaration.a; + return A2( + $elm$core$List$all, + function (_v4) { + var properties = _v4.b; + return $elm$core$List$isEmpty(properties); + }, + tuples) ? _Utils_Tuple2(keyframesByName, declarations) : _Utils_Tuple2( + keyframesByName, + A2($elm$core$List$cons, declaration, declarations)); + } + }); +var $elm$core$Dict$empty = $elm$core$Dict$RBEmpty_elm_builtin; +var $rtfeldman$elm_css$Css$Structure$Keyframes = function (a) { + return {$: 6, a: a}; +}; +var $elm$core$List$append = F2( + function (xs, ys) { + if (!ys.b) { + return xs; + } else { + return A3($elm$core$List$foldr, $elm$core$List$cons, ys, xs); + } + }); +var $rtfeldman$elm_css$Css$Structure$withKeyframeDeclarations = F2( + function (keyframesByName, compactedDeclarations) { + return A2( + $elm$core$List$append, + A2( + $elm$core$List$map, + function (_v0) { + var name = _v0.a; + var decl = _v0.b; + return $rtfeldman$elm_css$Css$Structure$Keyframes( + {ct: decl, cF: name}); + }, + $elm$core$Dict$toList(keyframesByName)), + compactedDeclarations); + }); +var $rtfeldman$elm_css$Css$Structure$compactDeclarations = function (declarations) { + var _v0 = A3( + $elm$core$List$foldr, + $rtfeldman$elm_css$Css$Structure$compactHelp, + _Utils_Tuple2($elm$core$Dict$empty, _List_Nil), + declarations); + var keyframesByName = _v0.a; + var compactedDeclarations = _v0.b; + return A2($rtfeldman$elm_css$Css$Structure$withKeyframeDeclarations, keyframesByName, compactedDeclarations); +}; +var $rtfeldman$elm_css$Css$Structure$compactStylesheet = function (_v0) { + var declarations = _v0.cu; + var namespaces = _v0.bU; + var imports = _v0.bQ; + var charset = _v0.bF; + return { + bF: charset, + cu: $rtfeldman$elm_css$Css$Structure$compactDeclarations(declarations), + bQ: imports, + bU: namespaces + }; +}; +var $elm$core$Maybe$map = F2( + function (f, maybe) { + if (!maybe.$) { + var value = maybe.a; + return $elm$core$Maybe$Just( + f(value)); + } else { + return $elm$core$Maybe$Nothing; + } + }); +var $elm$core$Maybe$withDefault = F2( + function (_default, maybe) { + if (!maybe.$) { + var value = maybe.a; + return value; + } else { + return _default; + } + }); +var $rtfeldman$elm_css$Css$Structure$Output$charsetToString = function (charset) { + return A2( + $elm$core$Maybe$withDefault, + '', + A2( + $elm$core$Maybe$map, + function (str) { + return '@charset \"' + (str + '\"'); + }, + charset)); +}; +var $rtfeldman$elm_css$Css$String$mapJoinHelp = F4( + function (map, sep, strs, result) { + mapJoinHelp: + while (true) { + if (!strs.b) { + return result; + } else { + if (!strs.b.b) { + var first = strs.a; + return result + (map(first) + ''); + } else { + var first = strs.a; + var rest = strs.b; + var $temp$map = map, + $temp$sep = sep, + $temp$strs = rest, + $temp$result = result + (map(first) + (sep + '')); + map = $temp$map; + sep = $temp$sep; + strs = $temp$strs; + result = $temp$result; + continue mapJoinHelp; + } + } + } + }); +var $rtfeldman$elm_css$Css$String$mapJoin = F3( + function (map, sep, strs) { + return A4($rtfeldman$elm_css$Css$String$mapJoinHelp, map, sep, strs, ''); + }); +var $rtfeldman$elm_css$Css$Structure$Output$mediaExpressionToString = function (expression) { + return '(' + (expression.bK + (A2( + $elm$core$Maybe$withDefault, + '', + A2( + $elm$core$Maybe$map, + $elm$core$Basics$append(': '), + expression.D)) + ')')); +}; +var $rtfeldman$elm_css$Css$Structure$Output$mediaTypeToString = function (mediaType) { + switch (mediaType) { + case 0: + return 'print'; + case 1: + return 'screen'; + default: + return 'speech'; + } +}; +var $rtfeldman$elm_css$Css$Structure$Output$mediaQueryToString = function (mediaQuery) { + var prefixWith = F3( + function (str, mediaType, expressions) { + return str + (' ' + A2( + $elm$core$String$join, + ' and ', + A2( + $elm$core$List$cons, + $rtfeldman$elm_css$Css$Structure$Output$mediaTypeToString(mediaType), + A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$mediaExpressionToString, expressions)))); + }); + switch (mediaQuery.$) { + case 0: + var expressions = mediaQuery.a; + return A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$mediaExpressionToString, ' and ', expressions); + case 1: + var mediaType = mediaQuery.a; + var expressions = mediaQuery.b; + return A3(prefixWith, 'only', mediaType, expressions); + case 2: + var mediaType = mediaQuery.a; + var expressions = mediaQuery.b; + return A3(prefixWith, 'not', mediaType, expressions); + default: + var str = mediaQuery.a; + return str; + } +}; +var $rtfeldman$elm_css$Css$Structure$Output$importMediaQueryToString = F2( + function (name, mediaQuery) { + return '@import \"' + (name + ($rtfeldman$elm_css$Css$Structure$Output$mediaQueryToString(mediaQuery) + '\"')); + }); +var $rtfeldman$elm_css$Css$Structure$Output$importToString = function (_v0) { + var name = _v0.a; + var mediaQueries = _v0.b; + return A3( + $rtfeldman$elm_css$Css$String$mapJoin, + $rtfeldman$elm_css$Css$Structure$Output$importMediaQueryToString(name), + '\n', + mediaQueries); +}; +var $rtfeldman$elm_css$Css$Structure$Output$namespaceToString = function (_v0) { + var prefix = _v0.a; + var str = _v0.b; + return '@namespace ' + (prefix + ('\"' + (str + '\"'))); +}; +var $rtfeldman$elm_css$Css$Structure$Output$emitProperties = function (properties) { + return A3( + $rtfeldman$elm_css$Css$String$mapJoin, + function (_v0) { + var prop = _v0; + return prop + ';'; + }, + '', + properties); +}; +var $elm$core$String$append = _String_append; +var $rtfeldman$elm_css$Css$Structure$Output$pseudoElementToString = function (_v0) { + var str = _v0; + return '::' + str; +}; +var $rtfeldman$elm_css$Css$Structure$Output$combinatorToString = function (combinator) { + switch (combinator) { + case 0: + return '+'; + case 1: + return '~'; + case 2: + return '>'; + default: + return ''; + } +}; +var $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString = function (repeatableSimpleSelector) { + switch (repeatableSimpleSelector.$) { + case 0: + var str = repeatableSimpleSelector.a; + return '.' + str; + case 1: + var str = repeatableSimpleSelector.a; + return '#' + str; + case 2: + var str = repeatableSimpleSelector.a; + return ':' + str; + default: + var str = repeatableSimpleSelector.a; + return '[' + (str + ']'); + } +}; +var $rtfeldman$elm_css$Css$Structure$Output$simpleSelectorSequenceToString = function (simpleSelectorSequence) { + switch (simpleSelectorSequence.$) { + case 0: + var str = simpleSelectorSequence.a; + var repeatableSimpleSelectors = simpleSelectorSequence.b; + return _Utils_ap( + str, + A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString, '', repeatableSimpleSelectors)); + case 1: + var repeatableSimpleSelectors = simpleSelectorSequence.a; + return $elm$core$List$isEmpty(repeatableSimpleSelectors) ? '*' : A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString, '', repeatableSimpleSelectors); + default: + var str = simpleSelectorSequence.a; + var repeatableSimpleSelectors = simpleSelectorSequence.b; + return _Utils_ap( + str, + A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$repeatableSimpleSelectorToString, '', repeatableSimpleSelectors)); + } +}; +var $rtfeldman$elm_css$Css$Structure$Output$selectorChainToString = function (_v0) { + var combinator = _v0.a; + var sequence = _v0.b; + return $rtfeldman$elm_css$Css$Structure$Output$combinatorToString(combinator) + (' ' + $rtfeldman$elm_css$Css$Structure$Output$simpleSelectorSequenceToString(sequence)); +}; +var $rtfeldman$elm_css$Css$Structure$Output$selectorToString = function (_v0) { + var simpleSelectorSequence = _v0.a; + var chain = _v0.b; + var pseudoElement = _v0.c; + var segments = A2( + $elm$core$List$cons, + $rtfeldman$elm_css$Css$Structure$Output$simpleSelectorSequenceToString(simpleSelectorSequence), + A2($elm$core$List$map, $rtfeldman$elm_css$Css$Structure$Output$selectorChainToString, chain)); + var pseudoElementsString = A2( + $elm$core$Maybe$withDefault, + '', + A2($elm$core$Maybe$map, $rtfeldman$elm_css$Css$Structure$Output$pseudoElementToString, pseudoElement)); + return A2( + $elm$core$String$append, + A2($elm$core$String$join, ' ', segments), + pseudoElementsString); +}; +var $rtfeldman$elm_css$Css$Structure$Output$prettyPrintStyleBlock = function (_v0) { + var firstSelector = _v0.a; + var otherSelectors = _v0.b; + var properties = _v0.c; + var selectorStr = A3( + $rtfeldman$elm_css$Css$String$mapJoin, + $rtfeldman$elm_css$Css$Structure$Output$selectorToString, + ',', + A2($elm$core$List$cons, firstSelector, otherSelectors)); + return selectorStr + ('{' + ($rtfeldman$elm_css$Css$Structure$Output$emitProperties(properties) + '}')); +}; +var $rtfeldman$elm_css$Css$Structure$Output$prettyPrintDeclaration = function (decl) { + switch (decl.$) { + case 0: + var styleBlock = decl.a; + return $rtfeldman$elm_css$Css$Structure$Output$prettyPrintStyleBlock(styleBlock); + case 1: + var mediaQueries = decl.a; + var styleBlocks = decl.b; + var query = A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$mediaQueryToString, ', ', mediaQueries); + var blocks = A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$prettyPrintStyleBlock, '\n', styleBlocks); + return '@media ' + (query + ('{' + (blocks + '}'))); + case 2: + return 'TODO'; + case 3: + return 'TODO'; + case 4: + return 'TODO'; + case 5: + return 'TODO'; + case 6: + var declaration = decl.a.ct; + var name = decl.a.cF; + return '@keyframes ' + (name + ('{' + (declaration + '}'))); + case 7: + return 'TODO'; + case 8: + return 'TODO'; + default: + return 'TODO'; + } +}; +var $rtfeldman$elm_css$Css$Structure$Output$prettyPrint = function (_v0) { + var declarations = _v0.cu; + var namespaces = _v0.bU; + var imports = _v0.bQ; + var charset = _v0.bF; + return $rtfeldman$elm_css$Css$Structure$Output$charsetToString(charset) + (A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$importToString, '\n', imports) + (A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$namespaceToString, '\n', namespaces) + (A3($rtfeldman$elm_css$Css$String$mapJoin, $rtfeldman$elm_css$Css$Structure$Output$prettyPrintDeclaration, '\n', declarations) + ''))); +}; +var $elm$core$List$concat = function (lists) { + return A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists); +}; +var $elm$core$List$concatMap = F2( + function (f, list) { + return $elm$core$List$concat( + A2($elm$core$List$map, f, list)); + }); +var $rtfeldman$elm_css$Css$Structure$CounterStyle = function (a) { + return {$: 8, a: a}; +}; +var $rtfeldman$elm_css$Css$Structure$FontFace = function (a) { + return {$: 5, a: a}; +}; +var $rtfeldman$elm_css$Css$Structure$PageRule = function (a) { + return {$: 4, a: a}; +}; +var $rtfeldman$elm_css$Css$Structure$Selector = F3( + function (a, b, c) { + return {$: 0, a: a, b: b, c: c}; + }); +var $rtfeldman$elm_css$Css$Structure$StyleBlock = F3( + function (a, b, c) { + return {$: 0, a: a, b: b, c: c}; + }); +var $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration = function (a) { + return {$: 0, a: a}; +}; +var $rtfeldman$elm_css$Css$Structure$SupportsRule = F2( + function (a, b) { + return {$: 2, a: a, b: b}; + }); +var $rtfeldman$elm_css$Css$Structure$Viewport = function (a) { + return {$: 7, a: a}; +}; +var $rtfeldman$elm_css$Css$Structure$MediaRule = F2( + function (a, b) { + return {$: 1, a: a, b: b}; + }); +var $rtfeldman$elm_css$Css$Structure$mapLast = F2( + function (update, list) { + if (!list.b) { + return list; + } else { + if (!list.b.b) { + var only = list.a; + return _List_fromArray( + [ + update(only) + ]); + } else { + var first = list.a; + var rest = list.b; + return A2( + $elm$core$List$cons, + first, + A2($rtfeldman$elm_css$Css$Structure$mapLast, update, rest)); + } + } + }); +var $rtfeldman$elm_css$Css$Structure$withPropertyAppended = F2( + function (property, _v0) { + var firstSelector = _v0.a; + var otherSelectors = _v0.b; + var properties = _v0.c; + return A3( + $rtfeldman$elm_css$Css$Structure$StyleBlock, + firstSelector, + otherSelectors, + _Utils_ap( + properties, + _List_fromArray( + [property]))); + }); +var $rtfeldman$elm_css$Css$Structure$appendProperty = F2( + function (property, declarations) { + if (!declarations.b) { + return declarations; + } else { + if (!declarations.b.b) { + switch (declarations.a.$) { + case 0: + var styleBlock = declarations.a.a; + return _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration( + A2($rtfeldman$elm_css$Css$Structure$withPropertyAppended, property, styleBlock)) + ]); + case 1: + var _v1 = declarations.a; + var mediaQueries = _v1.a; + var styleBlocks = _v1.b; + return _List_fromArray( + [ + A2( + $rtfeldman$elm_css$Css$Structure$MediaRule, + mediaQueries, + A2( + $rtfeldman$elm_css$Css$Structure$mapLast, + $rtfeldman$elm_css$Css$Structure$withPropertyAppended(property), + styleBlocks)) + ]); + default: + return declarations; + } + } else { + var first = declarations.a; + var rest = declarations.b; + return A2( + $elm$core$List$cons, + first, + A2($rtfeldman$elm_css$Css$Structure$appendProperty, property, rest)); + } + } + }); +var $rtfeldman$elm_css$Css$Structure$appendToLastSelector = F2( + function (f, styleBlock) { + if (!styleBlock.b.b) { + var only = styleBlock.a; + var properties = styleBlock.c; + return _List_fromArray( + [ + A3($rtfeldman$elm_css$Css$Structure$StyleBlock, only, _List_Nil, properties), + A3( + $rtfeldman$elm_css$Css$Structure$StyleBlock, + f(only), + _List_Nil, + _List_Nil) + ]); + } else { + var first = styleBlock.a; + var rest = styleBlock.b; + var properties = styleBlock.c; + var newRest = A2($elm$core$List$map, f, rest); + var newFirst = f(first); + return _List_fromArray( + [ + A3($rtfeldman$elm_css$Css$Structure$StyleBlock, first, rest, properties), + A3($rtfeldman$elm_css$Css$Structure$StyleBlock, newFirst, newRest, _List_Nil) + ]); + } + }); +var $rtfeldman$elm_css$Css$Structure$applyPseudoElement = F2( + function (pseudo, _v0) { + var sequence = _v0.a; + var selectors = _v0.b; + return A3( + $rtfeldman$elm_css$Css$Structure$Selector, + sequence, + selectors, + $elm$core$Maybe$Just(pseudo)); + }); +var $rtfeldman$elm_css$Css$Structure$appendPseudoElementToLastSelector = F2( + function (pseudo, styleBlock) { + return A2( + $rtfeldman$elm_css$Css$Structure$appendToLastSelector, + $rtfeldman$elm_css$Css$Structure$applyPseudoElement(pseudo), + styleBlock); + }); +var $rtfeldman$elm_css$Css$Structure$CustomSelector = F2( + function (a, b) { + return {$: 2, a: a, b: b}; + }); +var $rtfeldman$elm_css$Css$Structure$TypeSelectorSequence = F2( + function (a, b) { + return {$: 0, a: a, b: b}; + }); +var $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence = function (a) { + return {$: 1, a: a}; +}; +var $rtfeldman$elm_css$Css$Structure$appendRepeatable = F2( + function (selector, sequence) { + switch (sequence.$) { + case 0: + var typeSelector = sequence.a; + var list = sequence.b; + return A2( + $rtfeldman$elm_css$Css$Structure$TypeSelectorSequence, + typeSelector, + _Utils_ap( + list, + _List_fromArray( + [selector]))); + case 1: + var list = sequence.a; + return $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence( + _Utils_ap( + list, + _List_fromArray( + [selector]))); + default: + var str = sequence.a; + var list = sequence.b; + return A2( + $rtfeldman$elm_css$Css$Structure$CustomSelector, + str, + _Utils_ap( + list, + _List_fromArray( + [selector]))); + } + }); +var $rtfeldman$elm_css$Css$Structure$appendRepeatableWithCombinator = F2( + function (selector, list) { + if (!list.b) { + return _List_Nil; + } else { + if (!list.b.b) { + var _v1 = list.a; + var combinator = _v1.a; + var sequence = _v1.b; + return _List_fromArray( + [ + _Utils_Tuple2( + combinator, + A2($rtfeldman$elm_css$Css$Structure$appendRepeatable, selector, sequence)) + ]); + } else { + var first = list.a; + var rest = list.b; + return A2( + $elm$core$List$cons, + first, + A2($rtfeldman$elm_css$Css$Structure$appendRepeatableWithCombinator, selector, rest)); + } + } + }); +var $rtfeldman$elm_css$Css$Structure$appendRepeatableSelector = F2( + function (repeatableSimpleSelector, selector) { + if (!selector.b.b) { + var sequence = selector.a; + var pseudoElement = selector.c; + return A3( + $rtfeldman$elm_css$Css$Structure$Selector, + A2($rtfeldman$elm_css$Css$Structure$appendRepeatable, repeatableSimpleSelector, sequence), + _List_Nil, + pseudoElement); + } else { + var firstSelector = selector.a; + var tuples = selector.b; + var pseudoElement = selector.c; + return A3( + $rtfeldman$elm_css$Css$Structure$Selector, + firstSelector, + A2($rtfeldman$elm_css$Css$Structure$appendRepeatableWithCombinator, repeatableSimpleSelector, tuples), + pseudoElement); + } + }); +var $rtfeldman$elm_css$Css$Structure$appendRepeatableToLastSelector = F2( + function (selector, styleBlock) { + return A2( + $rtfeldman$elm_css$Css$Structure$appendToLastSelector, + $rtfeldman$elm_css$Css$Structure$appendRepeatableSelector(selector), + styleBlock); + }); +var $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors = function (declarations) { + collectSelectors: + while (true) { + if (!declarations.b) { + return _List_Nil; + } else { + if (!declarations.a.$) { + var _v1 = declarations.a.a; + var firstSelector = _v1.a; + var otherSelectors = _v1.b; + var rest = declarations.b; + return _Utils_ap( + A2($elm$core$List$cons, firstSelector, otherSelectors), + $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors(rest)); + } else { + var rest = declarations.b; + var $temp$declarations = rest; + declarations = $temp$declarations; + continue collectSelectors; + } + } + } +}; +var $rtfeldman$elm_css$Css$Structure$DocumentRule = F5( + function (a, b, c, d, e) { + return {$: 3, a: a, b: b, c: c, d: d, e: e}; + }); +var $rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock = F2( + function (update, declarations) { + _v0$12: + while (true) { + if (!declarations.b) { + return declarations; + } else { + if (!declarations.b.b) { + switch (declarations.a.$) { + case 0: + var styleBlock = declarations.a.a; + return A2( + $elm$core$List$map, + $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration, + update(styleBlock)); + case 1: + if (declarations.a.b.b) { + if (!declarations.a.b.b.b) { + var _v1 = declarations.a; + var mediaQueries = _v1.a; + var _v2 = _v1.b; + var styleBlock = _v2.a; + return _List_fromArray( + [ + A2( + $rtfeldman$elm_css$Css$Structure$MediaRule, + mediaQueries, + update(styleBlock)) + ]); + } else { + var _v3 = declarations.a; + var mediaQueries = _v3.a; + var _v4 = _v3.b; + var first = _v4.a; + var rest = _v4.b; + var _v5 = A2( + $rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, + update, + _List_fromArray( + [ + A2($rtfeldman$elm_css$Css$Structure$MediaRule, mediaQueries, rest) + ])); + if ((_v5.b && (_v5.a.$ === 1)) && (!_v5.b.b)) { + var _v6 = _v5.a; + var newMediaQueries = _v6.a; + var newStyleBlocks = _v6.b; + return _List_fromArray( + [ + A2( + $rtfeldman$elm_css$Css$Structure$MediaRule, + newMediaQueries, + A2($elm$core$List$cons, first, newStyleBlocks)) + ]); + } else { + var newDeclarations = _v5; + return newDeclarations; + } + } + } else { + break _v0$12; + } + case 2: + var _v7 = declarations.a; + var str = _v7.a; + var nestedDeclarations = _v7.b; + return _List_fromArray( + [ + A2( + $rtfeldman$elm_css$Css$Structure$SupportsRule, + str, + A2($rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, update, nestedDeclarations)) + ]); + case 3: + var _v8 = declarations.a; + var str1 = _v8.a; + var str2 = _v8.b; + var str3 = _v8.c; + var str4 = _v8.d; + var styleBlock = _v8.e; + return A2( + $elm$core$List$map, + A4($rtfeldman$elm_css$Css$Structure$DocumentRule, str1, str2, str3, str4), + update(styleBlock)); + case 4: + return declarations; + case 5: + return declarations; + case 6: + return declarations; + case 7: + return declarations; + case 8: + return declarations; + default: + return declarations; + } + } else { + break _v0$12; + } + } + } + var first = declarations.a; + var rest = declarations.b; + return A2( + $elm$core$List$cons, + first, + A2($rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, update, rest)); + }); +var $elm$core$String$cons = _String_cons; +var $robinheghan$murmur3$Murmur3$HashData = F4( + function (shift, seed, hash, charsProcessed) { + return {ac: charsProcessed, ah: hash, W: seed, an: shift}; + }); +var $robinheghan$murmur3$Murmur3$c1 = 3432918353; +var $robinheghan$murmur3$Murmur3$c2 = 461845907; +var $elm$core$Bitwise$and = _Bitwise_and; +var $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy; +var $elm$core$Bitwise$shiftRightZfBy = _Bitwise_shiftRightZfBy; +var $robinheghan$murmur3$Murmur3$multiplyBy = F2( + function (b, a) { + return ((a & 65535) * b) + ((((a >>> 16) * b) & 65535) << 16); + }); +var $elm$core$Basics$neq = _Utils_notEqual; +var $elm$core$Bitwise$or = _Bitwise_or; +var $robinheghan$murmur3$Murmur3$rotlBy = F2( + function (b, a) { + return (a << b) | (a >>> (32 - b)); + }); +var $elm$core$Bitwise$xor = _Bitwise_xor; +var $robinheghan$murmur3$Murmur3$finalize = function (data) { + var acc = (!(!data.ah)) ? (data.W ^ A2( + $robinheghan$murmur3$Murmur3$multiplyBy, + $robinheghan$murmur3$Murmur3$c2, + A2( + $robinheghan$murmur3$Murmur3$rotlBy, + 15, + A2($robinheghan$murmur3$Murmur3$multiplyBy, $robinheghan$murmur3$Murmur3$c1, data.ah)))) : data.W; + var h0 = acc ^ data.ac; + var h1 = A2($robinheghan$murmur3$Murmur3$multiplyBy, 2246822507, h0 ^ (h0 >>> 16)); + var h2 = A2($robinheghan$murmur3$Murmur3$multiplyBy, 3266489909, h1 ^ (h1 >>> 13)); + return (h2 ^ (h2 >>> 16)) >>> 0; +}; +var $elm$core$String$foldl = _String_foldl; +var $robinheghan$murmur3$Murmur3$mix = F2( + function (h1, k1) { + return A2( + $robinheghan$murmur3$Murmur3$multiplyBy, + 5, + A2( + $robinheghan$murmur3$Murmur3$rotlBy, + 13, + h1 ^ A2( + $robinheghan$murmur3$Murmur3$multiplyBy, + $robinheghan$murmur3$Murmur3$c2, + A2( + $robinheghan$murmur3$Murmur3$rotlBy, + 15, + A2($robinheghan$murmur3$Murmur3$multiplyBy, $robinheghan$murmur3$Murmur3$c1, k1))))) + 3864292196; + }); +var $robinheghan$murmur3$Murmur3$hashFold = F2( + function (c, data) { + var res = data.ah | ((255 & $elm$core$Char$toCode(c)) << data.an); + var _v0 = data.an; + if (_v0 === 24) { + return { + ac: data.ac + 1, + ah: 0, + W: A2($robinheghan$murmur3$Murmur3$mix, data.W, res), + an: 0 + }; + } else { + return {ac: data.ac + 1, ah: res, W: data.W, an: data.an + 8}; + } + }); +var $robinheghan$murmur3$Murmur3$hashString = F2( + function (seed, str) { + return $robinheghan$murmur3$Murmur3$finalize( + A3( + $elm$core$String$foldl, + $robinheghan$murmur3$Murmur3$hashFold, + A4($robinheghan$murmur3$Murmur3$HashData, 0, seed, 0, 0), + str)); + }); +var $rtfeldman$elm_css$Hash$initialSeed = 15739; +var $elm$core$String$fromList = _String_fromList; +var $elm$core$Basics$negate = function (n) { + return -n; +}; +var $elm$core$Basics$modBy = _Basics_modBy; +var $rtfeldman$elm_hex$Hex$unsafeToDigit = function (num) { + unsafeToDigit: + while (true) { + switch (num) { + case 0: + return '0'; + case 1: + return '1'; + case 2: + return '2'; + case 3: + return '3'; + case 4: + return '4'; + case 5: + return '5'; + case 6: + return '6'; + case 7: + return '7'; + case 8: + return '8'; + case 9: + return '9'; + case 10: + return 'a'; + case 11: + return 'b'; + case 12: + return 'c'; + case 13: + return 'd'; + case 14: + return 'e'; + case 15: + return 'f'; + default: + var $temp$num = num; + num = $temp$num; + continue unsafeToDigit; + } + } +}; +var $rtfeldman$elm_hex$Hex$unsafePositiveToDigits = F2( + function (digits, num) { + unsafePositiveToDigits: + while (true) { + if (num < 16) { + return A2( + $elm$core$List$cons, + $rtfeldman$elm_hex$Hex$unsafeToDigit(num), + digits); + } else { + var $temp$digits = A2( + $elm$core$List$cons, + $rtfeldman$elm_hex$Hex$unsafeToDigit( + A2($elm$core$Basics$modBy, 16, num)), + digits), + $temp$num = (num / 16) | 0; + digits = $temp$digits; + num = $temp$num; + continue unsafePositiveToDigits; + } + } + }); +var $rtfeldman$elm_hex$Hex$toString = function (num) { + return $elm$core$String$fromList( + (num < 0) ? A2( + $elm$core$List$cons, + '-', + A2($rtfeldman$elm_hex$Hex$unsafePositiveToDigits, _List_Nil, -num)) : A2($rtfeldman$elm_hex$Hex$unsafePositiveToDigits, _List_Nil, num)); +}; +var $rtfeldman$elm_css$Hash$fromString = function (str) { + return A2( + $elm$core$String$cons, + '_', + $rtfeldman$elm_hex$Hex$toString( + A2($robinheghan$murmur3$Murmur3$hashString, $rtfeldman$elm_css$Hash$initialSeed, str))); +}; +var $elm$core$List$head = function (list) { + if (list.b) { + var x = list.a; + var xs = list.b; + return $elm$core$Maybe$Just(x); + } else { + return $elm$core$Maybe$Nothing; + } +}; +var $rtfeldman$elm_css$Css$Preprocess$Resolve$last = function (list) { + last: + while (true) { + if (!list.b) { + return $elm$core$Maybe$Nothing; + } else { + if (!list.b.b) { + var singleton = list.a; + return $elm$core$Maybe$Just(singleton); + } else { + var rest = list.b; + var $temp$list = rest; + list = $temp$list; + continue last; + } + } + } +}; +var $rtfeldman$elm_css$Css$Preprocess$Resolve$lastDeclaration = function (declarations) { + lastDeclaration: + while (true) { + if (!declarations.b) { + return $elm$core$Maybe$Nothing; + } else { + if (!declarations.b.b) { + var x = declarations.a; + return $elm$core$Maybe$Just( + _List_fromArray( + [x])); + } else { + var xs = declarations.b; + var $temp$declarations = xs; + declarations = $temp$declarations; + continue lastDeclaration; + } + } + } +}; +var $rtfeldman$elm_css$Css$Preprocess$Resolve$oneOf = function (maybes) { + oneOf: + while (true) { + if (!maybes.b) { + return $elm$core$Maybe$Nothing; + } else { + var maybe = maybes.a; + var rest = maybes.b; + if (maybe.$ === 1) { + var $temp$maybes = rest; + maybes = $temp$maybes; + continue oneOf; + } else { + return maybe; + } + } + } +}; +var $rtfeldman$elm_css$Css$Structure$FontFeatureValues = function (a) { + return {$: 9, a: a}; +}; +var $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveFontFeatureValues = function (tuples) { + var expandTuples = function (tuplesToExpand) { + if (!tuplesToExpand.b) { + return _List_Nil; + } else { + var properties = tuplesToExpand.a; + var rest = tuplesToExpand.b; + return A2( + $elm$core$List$cons, + properties, + expandTuples(rest)); + } + }; + var newTuples = expandTuples(tuples); + return _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$FontFeatureValues(newTuples) + ]); +}; +var $elm$core$List$singleton = function (value) { + return _List_fromArray( + [value]); +}; +var $rtfeldman$elm_css$Css$Structure$styleBlockToMediaRule = F2( + function (mediaQueries, declaration) { + if (!declaration.$) { + var styleBlock = declaration.a; + return A2( + $rtfeldman$elm_css$Css$Structure$MediaRule, + mediaQueries, + _List_fromArray( + [styleBlock])); + } else { + return declaration; + } + }); +var $elm$core$List$tail = function (list) { + if (list.b) { + var x = list.a; + var xs = list.b; + return $elm$core$Maybe$Just(xs); + } else { + return $elm$core$Maybe$Nothing; + } +}; +var $elm$core$List$takeReverse = F3( + function (n, list, kept) { + takeReverse: + while (true) { + if (n <= 0) { + return kept; + } else { + if (!list.b) { + return kept; + } else { + var x = list.a; + var xs = list.b; + var $temp$n = n - 1, + $temp$list = xs, + $temp$kept = A2($elm$core$List$cons, x, kept); + n = $temp$n; + list = $temp$list; + kept = $temp$kept; + continue takeReverse; + } + } + } + }); +var $elm$core$List$takeTailRec = F2( + function (n, list) { + return $elm$core$List$reverse( + A3($elm$core$List$takeReverse, n, list, _List_Nil)); + }); +var $elm$core$List$takeFast = F3( + function (ctr, n, list) { + if (n <= 0) { + return _List_Nil; + } else { + var _v0 = _Utils_Tuple2(n, list); + _v0$1: + while (true) { + _v0$5: + while (true) { + if (!_v0.b.b) { + return list; + } else { + if (_v0.b.b.b) { + switch (_v0.a) { + case 1: + break _v0$1; + case 2: + var _v2 = _v0.b; + var x = _v2.a; + var _v3 = _v2.b; + var y = _v3.a; + return _List_fromArray( + [x, y]); + case 3: + if (_v0.b.b.b.b) { + var _v4 = _v0.b; + var x = _v4.a; + var _v5 = _v4.b; + var y = _v5.a; + var _v6 = _v5.b; + var z = _v6.a; + return _List_fromArray( + [x, y, z]); + } else { + break _v0$5; + } + default: + if (_v0.b.b.b.b && _v0.b.b.b.b.b) { + var _v7 = _v0.b; + var x = _v7.a; + var _v8 = _v7.b; + var y = _v8.a; + var _v9 = _v8.b; + var z = _v9.a; + var _v10 = _v9.b; + var w = _v10.a; + var tl = _v10.b; + return (ctr > 1000) ? A2( + $elm$core$List$cons, + x, + A2( + $elm$core$List$cons, + y, + A2( + $elm$core$List$cons, + z, + A2( + $elm$core$List$cons, + w, + A2($elm$core$List$takeTailRec, n - 4, tl))))) : A2( + $elm$core$List$cons, + x, + A2( + $elm$core$List$cons, + y, + A2( + $elm$core$List$cons, + z, + A2( + $elm$core$List$cons, + w, + A3($elm$core$List$takeFast, ctr + 1, n - 4, tl))))); + } else { + break _v0$5; + } + } + } else { + if (_v0.a === 1) { + break _v0$1; + } else { + break _v0$5; + } + } + } + } + return list; + } + var _v1 = _v0.b; + var x = _v1.a; + return _List_fromArray( + [x]); + } + }); +var $elm$core$List$take = F2( + function (n, list) { + return A3($elm$core$List$takeFast, 0, n, list); + }); +var $rtfeldman$elm_css$Css$Preprocess$Resolve$toDocumentRule = F5( + function (str1, str2, str3, str4, declaration) { + if (!declaration.$) { + var structureStyleBlock = declaration.a; + return A5($rtfeldman$elm_css$Css$Structure$DocumentRule, str1, str2, str3, str4, structureStyleBlock); + } else { + return declaration; + } + }); +var $rtfeldman$elm_css$Css$Preprocess$Resolve$toMediaRule = F2( + function (mediaQueries, declaration) { + switch (declaration.$) { + case 0: + var structureStyleBlock = declaration.a; + return A2( + $rtfeldman$elm_css$Css$Structure$MediaRule, + mediaQueries, + _List_fromArray( + [structureStyleBlock])); + case 1: + var newMediaQueries = declaration.a; + var structureStyleBlocks = declaration.b; + return A2( + $rtfeldman$elm_css$Css$Structure$MediaRule, + _Utils_ap(mediaQueries, newMediaQueries), + structureStyleBlocks); + case 2: + var str = declaration.a; + var declarations = declaration.b; + return A2( + $rtfeldman$elm_css$Css$Structure$SupportsRule, + str, + A2( + $elm$core$List$map, + $rtfeldman$elm_css$Css$Preprocess$Resolve$toMediaRule(mediaQueries), + declarations)); + case 3: + var str1 = declaration.a; + var str2 = declaration.b; + var str3 = declaration.c; + var str4 = declaration.d; + var structureStyleBlock = declaration.e; + return A5($rtfeldman$elm_css$Css$Structure$DocumentRule, str1, str2, str3, str4, structureStyleBlock); + case 4: + return declaration; + case 5: + return declaration; + case 6: + return declaration; + case 7: + return declaration; + case 8: + return declaration; + default: + return declaration; + } + }); +var $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet = function (_v0) { + var declarations = _v0; + return declarations; +}; +var $rtfeldman$elm_css$Css$Preprocess$Resolve$applyNestedStylesToLast = F4( + function (nestedStyles, rest, f, declarations) { + var withoutParent = function (decls) { + return A2( + $elm$core$Maybe$withDefault, + _List_Nil, + $elm$core$List$tail(decls)); + }; + var nextResult = A2( + $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, + rest, + A2( + $elm$core$Maybe$withDefault, + _List_Nil, + $rtfeldman$elm_css$Css$Preprocess$Resolve$lastDeclaration(declarations))); + var newDeclarations = function () { + var _v14 = _Utils_Tuple2( + $elm$core$List$head(nextResult), + $rtfeldman$elm_css$Css$Preprocess$Resolve$last(declarations)); + if ((!_v14.a.$) && (!_v14.b.$)) { + var nextResultParent = _v14.a.a; + var originalParent = _v14.b.a; + return _Utils_ap( + A2( + $elm$core$List$take, + $elm$core$List$length(declarations) - 1, + declarations), + _List_fromArray( + [ + (!_Utils_eq(originalParent, nextResultParent)) ? nextResultParent : originalParent + ])); + } else { + return declarations; + } + }(); + var insertStylesToNestedDecl = function (lastDecl) { + return $elm$core$List$concat( + A2( + $rtfeldman$elm_css$Css$Structure$mapLast, + $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles(nestedStyles), + A2( + $elm$core$List$map, + $elm$core$List$singleton, + A2($rtfeldman$elm_css$Css$Structure$concatMapLastStyleBlock, f, lastDecl)))); + }; + var initialResult = A2( + $elm$core$Maybe$withDefault, + _List_Nil, + A2( + $elm$core$Maybe$map, + insertStylesToNestedDecl, + $rtfeldman$elm_css$Css$Preprocess$Resolve$lastDeclaration(declarations))); + return _Utils_ap( + newDeclarations, + _Utils_ap( + withoutParent(initialResult), + withoutParent(nextResult))); + }); +var $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles = F2( + function (styles, declarations) { + if (!styles.b) { + return declarations; + } else { + switch (styles.a.$) { + case 0: + var property = styles.a.a; + var rest = styles.b; + return A2( + $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, + rest, + A2($rtfeldman$elm_css$Css$Structure$appendProperty, property, declarations)); + case 1: + var _v4 = styles.a; + var selector = _v4.a; + var nestedStyles = _v4.b; + var rest = styles.b; + return A4( + $rtfeldman$elm_css$Css$Preprocess$Resolve$applyNestedStylesToLast, + nestedStyles, + rest, + $rtfeldman$elm_css$Css$Structure$appendRepeatableToLastSelector(selector), + declarations); + case 2: + var _v5 = styles.a; + var selectorCombinator = _v5.a; + var snippets = _v5.b; + var rest = styles.b; + var chain = F2( + function (_v9, _v10) { + var originalSequence = _v9.a; + var originalTuples = _v9.b; + var originalPseudoElement = _v9.c; + var newSequence = _v10.a; + var newTuples = _v10.b; + var newPseudoElement = _v10.c; + return A3( + $rtfeldman$elm_css$Css$Structure$Selector, + originalSequence, + _Utils_ap( + originalTuples, + A2( + $elm$core$List$cons, + _Utils_Tuple2(selectorCombinator, newSequence), + newTuples)), + $rtfeldman$elm_css$Css$Preprocess$Resolve$oneOf( + _List_fromArray( + [newPseudoElement, originalPseudoElement]))); + }); + var expandDeclaration = function (declaration) { + switch (declaration.$) { + case 0: + var _v7 = declaration.a; + var firstSelector = _v7.a; + var otherSelectors = _v7.b; + var nestedStyles = _v7.c; + var newSelectors = A2( + $elm$core$List$concatMap, + function (originalSelector) { + return A2( + $elm$core$List$map, + chain(originalSelector), + A2($elm$core$List$cons, firstSelector, otherSelectors)); + }, + $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors(declarations)); + var newDeclarations = function () { + if (!newSelectors.b) { + return _List_Nil; + } else { + var first = newSelectors.a; + var remainder = newSelectors.b; + return _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration( + A3($rtfeldman$elm_css$Css$Structure$StyleBlock, first, remainder, _List_Nil)) + ]); + } + }(); + return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, nestedStyles, newDeclarations); + case 1: + var mediaQueries = declaration.a; + var styleBlocks = declaration.b; + return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveMediaRule, mediaQueries, styleBlocks); + case 2: + var str = declaration.a; + var otherSnippets = declaration.b; + return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveSupportsRule, str, otherSnippets); + case 3: + var str1 = declaration.a; + var str2 = declaration.b; + var str3 = declaration.c; + var str4 = declaration.d; + var styleBlock = declaration.e; + return A2( + $elm$core$List$map, + A4($rtfeldman$elm_css$Css$Preprocess$Resolve$toDocumentRule, str1, str2, str3, str4), + $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock)); + case 4: + var properties = declaration.a; + return _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$PageRule(properties) + ]); + case 5: + var properties = declaration.a; + return _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$FontFace(properties) + ]); + case 6: + var properties = declaration.a; + return _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$Viewport(properties) + ]); + case 7: + var properties = declaration.a; + return _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$CounterStyle(properties) + ]); + default: + var tuples = declaration.a; + return $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveFontFeatureValues(tuples); + } + }; + return $elm$core$List$concat( + _Utils_ap( + _List_fromArray( + [ + A2($rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, rest, declarations) + ]), + A2( + $elm$core$List$map, + expandDeclaration, + A2($elm$core$List$concatMap, $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet, snippets)))); + case 3: + var _v11 = styles.a; + var pseudoElement = _v11.a; + var nestedStyles = _v11.b; + var rest = styles.b; + return A4( + $rtfeldman$elm_css$Css$Preprocess$Resolve$applyNestedStylesToLast, + nestedStyles, + rest, + $rtfeldman$elm_css$Css$Structure$appendPseudoElementToLastSelector(pseudoElement), + declarations); + case 5: + var str = styles.a.a; + var rest = styles.b; + var name = $rtfeldman$elm_css$Hash$fromString(str); + var newProperty = 'animation-name:' + name; + var newDeclarations = A2( + $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, + rest, + A2($rtfeldman$elm_css$Css$Structure$appendProperty, newProperty, declarations)); + return A2( + $elm$core$List$append, + newDeclarations, + _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$Keyframes( + {ct: str, cF: name}) + ])); + case 4: + var _v12 = styles.a; + var mediaQueries = _v12.a; + var nestedStyles = _v12.b; + var rest = styles.b; + var extraDeclarations = function () { + var _v13 = $rtfeldman$elm_css$Css$Preprocess$Resolve$collectSelectors(declarations); + if (!_v13.b) { + return _List_Nil; + } else { + var firstSelector = _v13.a; + var otherSelectors = _v13.b; + return A2( + $elm$core$List$map, + $rtfeldman$elm_css$Css$Structure$styleBlockToMediaRule(mediaQueries), + A2( + $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, + nestedStyles, + $elm$core$List$singleton( + $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration( + A3($rtfeldman$elm_css$Css$Structure$StyleBlock, firstSelector, otherSelectors, _List_Nil))))); + } + }(); + return _Utils_ap( + A2($rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, rest, declarations), + extraDeclarations); + default: + var otherStyles = styles.a.a; + var rest = styles.b; + return A2( + $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, + _Utils_ap(otherStyles, rest), + declarations); + } + } + }); +var $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock = function (_v2) { + var firstSelector = _v2.a; + var otherSelectors = _v2.b; + var styles = _v2.c; + return A2( + $rtfeldman$elm_css$Css$Preprocess$Resolve$applyStyles, + styles, + _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$StyleBlockDeclaration( + A3($rtfeldman$elm_css$Css$Structure$StyleBlock, firstSelector, otherSelectors, _List_Nil)) + ])); +}; +var $rtfeldman$elm_css$Css$Preprocess$Resolve$extract = function (snippetDeclarations) { + if (!snippetDeclarations.b) { + return _List_Nil; + } else { + var first = snippetDeclarations.a; + var rest = snippetDeclarations.b; + return _Utils_ap( + $rtfeldman$elm_css$Css$Preprocess$Resolve$toDeclarations(first), + $rtfeldman$elm_css$Css$Preprocess$Resolve$extract(rest)); + } +}; +var $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveMediaRule = F2( + function (mediaQueries, styleBlocks) { + var handleStyleBlock = function (styleBlock) { + return A2( + $elm$core$List$map, + $rtfeldman$elm_css$Css$Preprocess$Resolve$toMediaRule(mediaQueries), + $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock)); + }; + return A2($elm$core$List$concatMap, handleStyleBlock, styleBlocks); + }); +var $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveSupportsRule = F2( + function (str, snippets) { + var declarations = $rtfeldman$elm_css$Css$Preprocess$Resolve$extract( + A2($elm$core$List$concatMap, $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet, snippets)); + return _List_fromArray( + [ + A2($rtfeldman$elm_css$Css$Structure$SupportsRule, str, declarations) + ]); + }); +var $rtfeldman$elm_css$Css$Preprocess$Resolve$toDeclarations = function (snippetDeclaration) { + switch (snippetDeclaration.$) { + case 0: + var styleBlock = snippetDeclaration.a; + return $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock); + case 1: + var mediaQueries = snippetDeclaration.a; + var styleBlocks = snippetDeclaration.b; + return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveMediaRule, mediaQueries, styleBlocks); + case 2: + var str = snippetDeclaration.a; + var snippets = snippetDeclaration.b; + return A2($rtfeldman$elm_css$Css$Preprocess$Resolve$resolveSupportsRule, str, snippets); + case 3: + var str1 = snippetDeclaration.a; + var str2 = snippetDeclaration.b; + var str3 = snippetDeclaration.c; + var str4 = snippetDeclaration.d; + var styleBlock = snippetDeclaration.e; + return A2( + $elm$core$List$map, + A4($rtfeldman$elm_css$Css$Preprocess$Resolve$toDocumentRule, str1, str2, str3, str4), + $rtfeldman$elm_css$Css$Preprocess$Resolve$expandStyleBlock(styleBlock)); + case 4: + var properties = snippetDeclaration.a; + return _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$PageRule(properties) + ]); + case 5: + var properties = snippetDeclaration.a; + return _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$FontFace(properties) + ]); + case 6: + var properties = snippetDeclaration.a; + return _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$Viewport(properties) + ]); + case 7: + var properties = snippetDeclaration.a; + return _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$CounterStyle(properties) + ]); + default: + var tuples = snippetDeclaration.a; + return $rtfeldman$elm_css$Css$Preprocess$Resolve$resolveFontFeatureValues(tuples); + } +}; +var $rtfeldman$elm_css$Css$Preprocess$Resolve$toStructure = function (_v0) { + var snippets = _v0.b9; + var namespaces = _v0.bU; + var imports = _v0.bQ; + var charset = _v0.bF; + var declarations = $rtfeldman$elm_css$Css$Preprocess$Resolve$extract( + A2($elm$core$List$concatMap, $rtfeldman$elm_css$Css$Preprocess$unwrapSnippet, snippets)); + return {bF: charset, cu: declarations, bQ: imports, bU: namespaces}; +}; +var $rtfeldman$elm_css$Css$Preprocess$Resolve$compile = function (sheet) { + return $rtfeldman$elm_css$Css$Structure$Output$prettyPrint( + $rtfeldman$elm_css$Css$Structure$compactStylesheet( + $rtfeldman$elm_css$Css$Preprocess$Resolve$toStructure(sheet))); +}; +var $rtfeldman$elm_css$Css$Preprocess$Snippet = $elm$core$Basics$identity; +var $rtfeldman$elm_css$Css$Preprocess$StyleBlock = F3( + function (a, b, c) { + return {$: 0, a: a, b: b, c: c}; + }); +var $rtfeldman$elm_css$Css$Preprocess$StyleBlockDeclaration = function (a) { + return {$: 0, a: a}; +}; +var $rtfeldman$elm_css$VirtualDom$Styled$makeSnippet = F2( + function (styles, sequence) { + var selector = A3($rtfeldman$elm_css$Css$Structure$Selector, sequence, _List_Nil, $elm$core$Maybe$Nothing); + return _List_fromArray( + [ + $rtfeldman$elm_css$Css$Preprocess$StyleBlockDeclaration( + A3($rtfeldman$elm_css$Css$Preprocess$StyleBlock, selector, _List_Nil, styles)) + ]); + }); +var $rtfeldman$elm_css$Css$Preprocess$stylesheet = function (snippets) { + return {bF: $elm$core$Maybe$Nothing, bQ: _List_Nil, bU: _List_Nil, b9: snippets}; +}; +var $rtfeldman$elm_css$Css$Structure$ClassSelector = function (a) { + return {$: 0, a: a}; +}; +var $rtfeldman$elm_css$VirtualDom$Styled$classnameStandin = '\u0007'; +var $rtfeldman$elm_css$VirtualDom$Styled$templateSelector = $rtfeldman$elm_css$Css$Structure$UniversalSelectorSequence( + _List_fromArray( + [ + $rtfeldman$elm_css$Css$Structure$ClassSelector($rtfeldman$elm_css$VirtualDom$Styled$classnameStandin) + ])); +var $rtfeldman$elm_css$VirtualDom$Styled$getCssTemplate = function (styles) { + if (!styles.b) { + return ''; + } else { + var otherwise = styles; + return $rtfeldman$elm_css$Css$Preprocess$Resolve$compile( + $rtfeldman$elm_css$Css$Preprocess$stylesheet( + _List_fromArray( + [ + A2($rtfeldman$elm_css$VirtualDom$Styled$makeSnippet, styles, $rtfeldman$elm_css$VirtualDom$Styled$templateSelector) + ]))); + } +}; +var $rtfeldman$elm_css$Html$Styled$Internal$css = function (styles) { + var cssTemplate = $rtfeldman$elm_css$VirtualDom$Styled$getCssTemplate(styles); + var classProperty = A2($elm$virtual_dom$VirtualDom$attribute, '', ''); + return A3($rtfeldman$elm_css$VirtualDom$Styled$Attribute, classProperty, true, cssTemplate); +}; +var $rtfeldman$elm_css$Html$Styled$styled = F4( + function (fn, styles, attrs, children) { + return A2( + fn, + A2( + $elm$core$List$cons, + $rtfeldman$elm_css$Html$Styled$Internal$css(styles), + attrs), + children); + }); +var $author$project$Main$coloredTextWBackground = F3( + function (fgColor, bgColor, string) { + return A4( + $rtfeldman$elm_css$Html$Styled$styled, + $rtfeldman$elm_css$Html$Styled$span, + _List_fromArray( + [ + $rtfeldman$elm_css$Css$color(fgColor), + $rtfeldman$elm_css$Css$backgroundColor(bgColor), + $rtfeldman$elm_css$Css$padding( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$margin( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$borderWidth( + $rtfeldman$elm_css$Css$px(0)) + ]), + _List_Nil, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text(string) + ])); + }); +var $rtfeldman$elm_css$Css$cssFunction = F2( + function (funcName, args) { + return funcName + ('(' + (A2($elm$core$String$join, ',', args) + ')')); + }); +var $rtfeldman$elm_css$Css$rgba = F4( + function (r, g, b, alpha) { + return { + aw: alpha, + ay: b, + A: 0, + aD: g, + aI: r, + D: A2( + $rtfeldman$elm_css$Css$cssFunction, + 'rgba', + _Utils_ap( + A2( + $elm$core$List$map, + $elm$core$String$fromInt, + _List_fromArray( + [r, g, b])), + _List_fromArray( + [ + $elm$core$String$fromFloat(alpha) + ]))) + }; + }); +var $author$project$Main$coloredText = F2( + function (fgColor, string) { + return A3( + $author$project$Main$coloredTextWBackground, + fgColor, + A4($rtfeldman$elm_css$Css$rgba, 0, 0, 0, 0), + string); + }); +var $rtfeldman$elm_css$Css$withPrecedingHash = function (str) { + return A2($elm$core$String$startsWith, '#', str) ? str : A2($elm$core$String$cons, '#', str); +}; +var $rtfeldman$elm_css$Css$erroneousHex = function (str) { + return { + aw: 1, + ay: 0, + A: 0, + aD: 0, + aI: 0, + D: $rtfeldman$elm_css$Css$withPrecedingHash(str) + }; +}; +var $elm$core$String$foldr = _String_foldr; +var $elm$core$String$toList = function (string) { + return A3($elm$core$String$foldr, $elm$core$List$cons, _List_Nil, string); +}; +var $elm$core$Basics$composeR = F3( + function (f, g, x) { + return g( + f(x)); + }); +var $elm$core$String$fromChar = function (_char) { + return A2($elm$core$String$cons, _char, ''); +}; +var $elm$core$Basics$pow = _Basics_pow; +var $rtfeldman$elm_hex$Hex$fromStringHelp = F3( + function (position, chars, accumulated) { + fromStringHelp: + while (true) { + if (!chars.b) { + return $elm$core$Result$Ok(accumulated); + } else { + var _char = chars.a; + var rest = chars.b; + switch (_char) { + case '0': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated; + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case '1': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + A2($elm$core$Basics$pow, 16, position); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case '2': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (2 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case '3': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (3 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case '4': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (4 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case '5': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (5 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case '6': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (6 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case '7': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (7 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case '8': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (8 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case '9': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (9 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case 'a': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (10 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case 'b': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (11 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case 'c': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (12 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case 'd': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (13 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case 'e': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (14 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + case 'f': + var $temp$position = position - 1, + $temp$chars = rest, + $temp$accumulated = accumulated + (15 * A2($elm$core$Basics$pow, 16, position)); + position = $temp$position; + chars = $temp$chars; + accumulated = $temp$accumulated; + continue fromStringHelp; + default: + var nonHex = _char; + return $elm$core$Result$Err( + $elm$core$String$fromChar(nonHex) + ' is not a valid hexadecimal character.'); + } + } + } + }); +var $elm$core$Result$map = F2( + function (func, ra) { + if (!ra.$) { + var a = ra.a; + return $elm$core$Result$Ok( + func(a)); + } else { + var e = ra.a; + return $elm$core$Result$Err(e); + } + }); +var $elm$core$Result$mapError = F2( + function (f, result) { + if (!result.$) { + var v = result.a; + return $elm$core$Result$Ok(v); + } else { + var e = result.a; + return $elm$core$Result$Err( + f(e)); + } + }); +var $rtfeldman$elm_hex$Hex$fromString = function (str) { + if ($elm$core$String$isEmpty(str)) { + return $elm$core$Result$Err('Empty strings are not valid hexadecimal strings.'); + } else { + var result = function () { + if (A2($elm$core$String$startsWith, '-', str)) { + var list = A2( + $elm$core$Maybe$withDefault, + _List_Nil, + $elm$core$List$tail( + $elm$core$String$toList(str))); + return A2( + $elm$core$Result$map, + $elm$core$Basics$negate, + A3( + $rtfeldman$elm_hex$Hex$fromStringHelp, + $elm$core$List$length(list) - 1, + list, + 0)); + } else { + return A3( + $rtfeldman$elm_hex$Hex$fromStringHelp, + $elm$core$String$length(str) - 1, + $elm$core$String$toList(str), + 0); + } + }(); + var formatError = function (err) { + return A2( + $elm$core$String$join, + ' ', + _List_fromArray( + ['\"' + (str + '\"'), 'is not a valid hexadecimal string because', err])); + }; + return A2($elm$core$Result$mapError, formatError, result); + } +}; +var $elm$core$String$toLower = _String_toLower; +var $rtfeldman$elm_css$Css$validHex = F5( + function (str, _v0, _v1, _v2, _v3) { + var r1 = _v0.a; + var r2 = _v0.b; + var g1 = _v1.a; + var g2 = _v1.b; + var b1 = _v2.a; + var b2 = _v2.b; + var a1 = _v3.a; + var a2 = _v3.b; + var toResult = A2( + $elm$core$Basics$composeR, + $elm$core$String$fromList, + A2($elm$core$Basics$composeR, $elm$core$String$toLower, $rtfeldman$elm_hex$Hex$fromString)); + var results = _Utils_Tuple2( + _Utils_Tuple2( + toResult( + _List_fromArray( + [r1, r2])), + toResult( + _List_fromArray( + [g1, g2]))), + _Utils_Tuple2( + toResult( + _List_fromArray( + [b1, b2])), + toResult( + _List_fromArray( + [a1, a2])))); + if ((((!results.a.a.$) && (!results.a.b.$)) && (!results.b.a.$)) && (!results.b.b.$)) { + var _v5 = results.a; + var red = _v5.a.a; + var green = _v5.b.a; + var _v6 = results.b; + var blue = _v6.a.a; + var alpha = _v6.b.a; + return { + aw: alpha / 255, + ay: blue, + A: 0, + aD: green, + aI: red, + D: $rtfeldman$elm_css$Css$withPrecedingHash(str) + }; + } else { + return $rtfeldman$elm_css$Css$erroneousHex(str); + } + }); +var $rtfeldman$elm_css$Css$hex = function (str) { + var withoutHash = A2($elm$core$String$startsWith, '#', str) ? A2($elm$core$String$dropLeft, 1, str) : str; + var _v0 = $elm$core$String$toList(withoutHash); + _v0$4: + while (true) { + if ((_v0.b && _v0.b.b) && _v0.b.b.b) { + if (!_v0.b.b.b.b) { + var r = _v0.a; + var _v1 = _v0.b; + var g = _v1.a; + var _v2 = _v1.b; + var b = _v2.a; + return A5( + $rtfeldman$elm_css$Css$validHex, + str, + _Utils_Tuple2(r, r), + _Utils_Tuple2(g, g), + _Utils_Tuple2(b, b), + _Utils_Tuple2('f', 'f')); + } else { + if (!_v0.b.b.b.b.b) { + var r = _v0.a; + var _v3 = _v0.b; + var g = _v3.a; + var _v4 = _v3.b; + var b = _v4.a; + var _v5 = _v4.b; + var a = _v5.a; + return A5( + $rtfeldman$elm_css$Css$validHex, + str, + _Utils_Tuple2(r, r), + _Utils_Tuple2(g, g), + _Utils_Tuple2(b, b), + _Utils_Tuple2(a, a)); + } else { + if (_v0.b.b.b.b.b.b) { + if (!_v0.b.b.b.b.b.b.b) { + var r1 = _v0.a; + var _v6 = _v0.b; + var r2 = _v6.a; + var _v7 = _v6.b; + var g1 = _v7.a; + var _v8 = _v7.b; + var g2 = _v8.a; + var _v9 = _v8.b; + var b1 = _v9.a; + var _v10 = _v9.b; + var b2 = _v10.a; + return A5( + $rtfeldman$elm_css$Css$validHex, + str, + _Utils_Tuple2(r1, r2), + _Utils_Tuple2(g1, g2), + _Utils_Tuple2(b1, b2), + _Utils_Tuple2('f', 'f')); + } else { + if (_v0.b.b.b.b.b.b.b.b && (!_v0.b.b.b.b.b.b.b.b.b)) { + var r1 = _v0.a; + var _v11 = _v0.b; + var r2 = _v11.a; + var _v12 = _v11.b; + var g1 = _v12.a; + var _v13 = _v12.b; + var g2 = _v13.a; + var _v14 = _v13.b; + var b1 = _v14.a; + var _v15 = _v14.b; + var b2 = _v15.a; + var _v16 = _v15.b; + var a1 = _v16.a; + var _v17 = _v16.b; + var a2 = _v17.a; + return A5( + $rtfeldman$elm_css$Css$validHex, + str, + _Utils_Tuple2(r1, r2), + _Utils_Tuple2(g1, g2), + _Utils_Tuple2(b1, b2), + _Utils_Tuple2(a1, a2)); + } else { + break _v0$4; + } + } + } else { + break _v0$4; + } + } + } + } else { + break _v0$4; + } + } + return $rtfeldman$elm_css$Css$erroneousHex(str); +}; +var $author$project$Main$coreColor = function (color) { + switch (color) { + case 0: + return $rtfeldman$elm_css$Css$hex('e14433'); + case 1: + return $rtfeldman$elm_css$Css$hex('#359b54'); + case 2: + return $rtfeldman$elm_css$Css$hex('#a08016'); + case 3: + return $rtfeldman$elm_css$Css$hex('#5a77f2'); + case 4: + return $rtfeldman$elm_css$Css$hex('#cf2ec8'); + case 5: + return $rtfeldman$elm_css$Css$hex('1894a5'); + case 6: + return $rtfeldman$elm_css$Css$hex('#f36552'); + case 7: + return $rtfeldman$elm_css$Css$hex('#3db361'); + case 8: + return $rtfeldman$elm_css$Css$hex('#b9941a'); + case 9: + return $rtfeldman$elm_css$Css$hex('#7491f8'); + case 10: + return $rtfeldman$elm_css$Css$hex('#e54ede'); + default: + return $rtfeldman$elm_css$Css$hex('#1eabbf'); + } +}; +var $elm$core$String$endsWith = _String_endsWith; +var $elm$browser$Browser$Navigation$load = _Browser_load; +var $elm$core$Platform$Cmd$batch = _Platform_batch; +var $elm$core$Platform$Cmd$none = $elm$core$Platform$Cmd$batch(_List_Nil); +var $author$project$Main$Clear = 1; +var $author$project$Main$Cookies = 2; +var $author$project$Main$FontCommand = 3; +var $author$project$Main$Hello = 4; +var $author$project$Main$Help = 0; +var $author$project$Main$PromptCommand = 5; +var $author$project$Main$Theme = 6; +var $author$project$Main$Todo = 7; +var $elm$core$List$filter = F2( + function (isGood, list) { + return A3( + $elm$core$List$foldr, + F2( + function (x, xs) { + return isGood(x) ? A2($elm$core$List$cons, x, xs) : xs; + }), + _List_Nil, + list); + }); +var $elm$core$String$trim = _String_trim; +var $author$project$Main$parseInput = function (input) { + var tokens = A2( + $elm$core$List$map, + $elm$core$String$trim, + A2($elm$core$String$split, ' ', input)); + var command = function () { + var _v3 = $elm$core$List$head(tokens); + if (!_v3.$) { + switch (_v3.a) { + case 'help': + return $elm$core$Result$Ok(0); + case 'clear': + return $elm$core$Result$Ok(1); + case 'cookies': + return $elm$core$Result$Ok(2); + case 'font': + return $elm$core$Result$Ok(3); + case 'hello': + return $elm$core$Result$Ok(4); + case 'prompt': + return $elm$core$Result$Ok(5); + case 'theme': + return $elm$core$Result$Ok(6); + case 'todo': + return $elm$core$Result$Ok(7); + default: + var trimput = _v3.a; + return $elm$core$Result$Err(trimput); + } + } else { + return $elm$core$Result$Err('error in parseInput parsing tokens'); + } + }(); + var args = function () { + var _v2 = $elm$core$List$tail(tokens); + if (!_v2.$) { + var tail = _v2.a; + return $elm$core$Result$Ok( + A2( + $elm$core$List$filter, + $elm$core$Basics$neq(''), + tail)); + } else { + return $elm$core$Result$Err('error in parseInput parsing tokens'); + } + }(); + if (!args.$) { + var _arguments = args.a; + if (!command.$) { + var cmd = command.a; + return $elm$core$Result$Ok( + {a6: _arguments, ba: cmd}); + } else { + var err = command.a; + return $elm$core$Result$Err(err); + } + } else { + var err = args.a; + return $elm$core$Result$Err(err); + } +}; +var $elm$browser$Browser$Navigation$pushUrl = _Browser_pushUrl; +var $author$project$Main$listToString = function (list) { + return '[' + (A2($elm$core$String$join, ',', list) + ']'); +}; +var $author$project$Main$wrongArgs = F3( + function (command, expected, args) { + var comstr = function () { + switch (command) { + case 0: + return 'help'; + case 1: + return 'clear'; + case 2: + return 'cookies'; + case 3: + return 'font'; + case 4: + return 'hello'; + case 5: + return 'prompt'; + case 6: + return 'theme'; + default: + return 'todo'; + } + }(); + return _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text( + ((_Utils_cmp( + expected, + $elm$core$List$length(args)) > 0) ? ('\nToo few arguments for ' + comstr) : ((_Utils_cmp( + expected, + $elm$core$List$length(args)) < 0) ? ('\nToo many arguments for ' + comstr) : ('\nUnexpected arguments ' + $author$project$Main$listToString(args)))) + ('. Run `help ' + (comstr + '` for usage'))) + ]); + }); +var $author$project$Main$runClear = F2( + function (model, args) { + var _v0 = $elm$core$List$head(args); + if (_v0.$ === 1) { + return _Utils_update( + model, + {a: _List_Nil}); + } else { + var string = _v0.a; + return _Utils_update( + model, + { + a: _Utils_ap( + model.a, + A3($author$project$Main$wrongArgs, 1, 0, args)) + }); + } + }); +var $author$project$Main$boolToString = function (bool) { + if (bool) { + return 'True'; + } else { + return 'False'; + } +}; +var $author$project$Main$cookiesKeptToString = function (cookiesKept) { + return '{ keepFont = ' + ($author$project$Main$boolToString(cookiesKept.P) + ('\n, keepPrompt = ' + ($author$project$Main$boolToString(cookiesKept.Q) + ('\n, keepTheme = ' + ($author$project$Main$boolToString(cookiesKept.R) + '\n}'))))); +}; +var $elm$json$Json$Encode$bool = _Json_wrap; +var $elm$json$Json$Encode$float = _Json_wrap; +var $elm$json$Json$Encode$object = function (pairs) { + return _Json_wrap( + A3( + $elm$core$List$foldl, + F2( + function (_v0, obj) { + var k = _v0.a; + var v = _v0.b; + return A3(_Json_addField, k, v, obj); + }), + _Json_emptyObject(0), + pairs)); +}; +var $elm$json$Json$Encode$string = _Json_wrap; +var $author$project$Main$encodeModel = function (model) { + return $elm$json$Json$Encode$object( + _List_fromArray( + [ + _Utils_Tuple2( + 'theme', + $elm$json$Json$Encode$string( + function () { + var _v0 = model.as; + switch (_v0) { + case 0: + return 'Pit'; + case 1: + return 'Dim'; + case 2: + return 'Sky'; + default: + return 'Sun'; + } + }())), + _Utils_Tuple2( + 'font', + $elm$json$Json$Encode$object( + _List_fromArray( + [ + _Utils_Tuple2( + 'fontSize', + $elm$json$Json$Encode$float(model.t.o)) + ]))), + _Utils_Tuple2( + 'cookiesKept', + $elm$json$Json$Encode$object( + _List_fromArray( + [ + _Utils_Tuple2( + 'keepTheme', + $elm$json$Json$Encode$bool(model.n.R)), + _Utils_Tuple2( + 'keepFont', + $elm$json$Json$Encode$bool(model.n.P)), + _Utils_Tuple2( + 'keepPrompt', + $elm$json$Json$Encode$bool(model.n.Q)) + ]))), + _Utils_Tuple2( + 'prompt', + $elm$json$Json$Encode$object( + _List_fromArray( + [ + _Utils_Tuple2( + 'prompt', + $elm$json$Json$Encode$string(model.l.l)) + ]))) + ])); +}; +var $author$project$Main$setStorage = _Platform_outgoingPort('setStorage', $elm$core$Basics$identity); +var $author$project$Main$saveModel = function (model) { + return _Utils_Tuple2( + model, + $elm$core$Platform$Cmd$batch( + _List_fromArray( + [ + $author$project$Main$setStorage( + $author$project$Main$encodeModel(model)) + ]))); +}; +var $author$project$Main$runCookies = F2( + function (model, args) { + var _v0 = $elm$core$List$head(args); + if (_v0.$ === 1) { + var newModel = _Utils_update( + model, + { + a: _Utils_ap( + model.a, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text( + '\n' + $author$project$Main$cookiesKeptToString(model.n)) + ])) + }); + return _Utils_Tuple2( + newModel, + $elm$core$Platform$Cmd$batch( + _List_fromArray( + [ + $author$project$Main$setStorage( + $author$project$Main$encodeModel(newModel)) + ]))); + } else { + if (_v0.a === 'set') { + var third = function () { + var _v6 = $elm$core$List$tail(args); + if (!_v6.$) { + var tail = _v6.a; + var _v7 = $elm$core$List$tail(tail); + if (!_v7.$) { + var tail2 = _v7.a; + return A2( + $elm$core$Maybe$withDefault, + '', + $elm$core$List$head(tail2)); + } else { + return ''; + } + } else { + return ''; + } + }(); + var second = function () { + var _v5 = $elm$core$List$tail(args); + if (!_v5.$) { + var tail = _v5.a; + return A2( + $elm$core$Maybe$withDefault, + '', + $elm$core$List$head(tail)); + } else { + return ''; + } + }(); + var cookiesKept = model.n; + if (third === '') { + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + A3($author$project$Main$wrongArgs, 2, 3, args)) + }), + $elm$core$Platform$Cmd$none); + } else { + switch (second) { + case '': + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + A3($author$project$Main$wrongArgs, 2, 2, args)) + }), + $elm$core$Platform$Cmd$none); + case 'keepFont': + switch (third) { + case 'true': + return $author$project$Main$saveModel( + _Utils_update( + model, + { + n: _Utils_update( + cookiesKept, + {P: true}) + })); + case 'false': + return $author$project$Main$saveModel( + _Utils_update( + model, + { + n: _Utils_update( + cookiesKept, + {P: false}) + })); + default: + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + A3($author$project$Main$wrongArgs, 2, 3, args)) + }), + $elm$core$Platform$Cmd$none); + } + case 'keepTheme': + switch (third) { + case 'true': + return $author$project$Main$saveModel( + _Utils_update( + model, + { + n: _Utils_update( + cookiesKept, + {R: true}) + })); + case 'false': + return $author$project$Main$saveModel( + _Utils_update( + model, + { + n: _Utils_update( + cookiesKept, + {R: false}) + })); + default: + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + A3($author$project$Main$wrongArgs, 2, 3, args)) + }), + $elm$core$Platform$Cmd$none); + } + case 'keepPrompt': + switch (third) { + case 'true': + return $author$project$Main$saveModel( + _Utils_update( + model, + { + n: _Utils_update( + cookiesKept, + {Q: true}) + })); + case 'false': + return $author$project$Main$saveModel( + _Utils_update( + model, + { + n: _Utils_update( + cookiesKept, + {Q: false}) + })); + default: + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + A3($author$project$Main$wrongArgs, 2, 3, args)) + }), + $elm$core$Platform$Cmd$none); + } + default: + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + A3($author$project$Main$wrongArgs, 2, 2, args)) + }), + $elm$core$Platform$Cmd$none); + } + } + } else { + var string = _v0.a; + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + A3($author$project$Main$wrongArgs, 2, 1, args)) + }), + $elm$core$Platform$Cmd$none); + } + } + }); +var $elm$core$String$toFloat = _String_toFloat; +var $author$project$Main$runFont = F2( + function (model, args) { + var _v0 = $elm$core$List$head(args); + if (_v0.$ === 1) { + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + A3($author$project$Main$wrongArgs, 3, 1, args)) + }), + $elm$core$Platform$Cmd$none); + } else { + switch (_v0.a) { + case 'size': + var string = function () { + var _v3 = $elm$core$List$tail(args); + if (!_v3.$) { + var tail = _v3.a; + return A2( + $elm$core$Maybe$withDefault, + '', + $elm$core$List$head(tail)); + } else { + return ''; + } + }(); + var fl = $elm$core$String$toFloat(string); + if (!fl.$) { + var _float = fl.a; + if (_float > 0) { + var newModel = _Utils_update( + model, + { + a: _Utils_ap( + model.a, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\nfontSize successfully set to ' + (string + 'px')) + ])), + t: {o: _float} + }); + return $author$project$Main$saveModel(newModel); + } else { + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\nPlease enter a valid fontSize, a Float greater than 0') + ])) + }), + $elm$core$Platform$Cmd$none); + } + } else { + switch (string) { + case '': + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text( + '\nfontSize is ' + ($elm$core$String$fromFloat(model.t.o) + 'px')) + ])) + }), + $elm$core$Platform$Cmd$none); + case 'reset': + var newModel = _Utils_update( + model, + { + a: _Utils_ap( + model.a, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\nfontSize reset to 20px') + ])), + t: {o: 20} + }); + return $author$project$Main$saveModel(newModel); + default: + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\nfontSize ' + (string + ' not recognised; font size expected')) + ])) + }), + $elm$core$Platform$Cmd$none); + } + } + case 'reset': + var newModel = _Utils_update( + model, + { + a: _Utils_ap( + model.a, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\nfontSize reset to 20px') + ])), + t: {o: 20} + }); + return _Utils_Tuple2( + newModel, + $elm$core$Platform$Cmd$batch( + _List_fromArray( + [ + $author$project$Main$setStorage( + $author$project$Main$encodeModel(newModel)) + ]))); + default: + var string = _v0.a; + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + A3($author$project$Main$wrongArgs, 3, 1, args)) + }), + $elm$core$Platform$Cmd$none); + } + } + }); +var $author$project$Main$runHello = F2( + function (model, args) { + var _v0 = $elm$core$List$head(args); + if (_v0.$ === 1) { + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\nHello World!') + ])) + }), + $elm$core$Platform$Cmd$none); + } else { + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + A3($author$project$Main$wrongArgs, 4, 0, args)) + }), + $elm$core$Platform$Cmd$none); + } + }); +var $author$project$Main$runHelp = F2( + function (model, args) { + return _Utils_update( + model, + { + a: _Utils_ap( + model.a, + function () { + if ($elm$core$List$length(args) < 2) { + var _v0 = $elm$core$List$head(args); + if (_v0.$ === 1) { + return _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\n+--------------------------------------------------+' + ('\n|help prints this message |' + ('\n|help prints more information about |' + ('\n+--------------------------------------------------+' + ('\nclear clears the screen' + ('\ncookies [UNSTABLE] manages cookies' + ('\nhello prints hello world message' + ('\nfont manages font' + ('\nprompt [UNFINISHED] manages prompt' + ('\ntheme manages theme' + '\ntodo prints aspirations for the site')))))))))) + ]); + } else { + switch (_v0.a) { + case 'help': + return _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\nhelp lists available commands with a short summary' + '\nhelp prints more information about ') + ]); + case 'clear': + return _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\nclear clears the screen') + ]); + case 'cookies': + return _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\ncookies prints info about the current cookie settings' + ('\ncookies set [true|false] sets whether to store a certain cookie' + ('\noptions for are:' + ('\n keepFont - whether to store fontSize. Default fontSize is 20' + ('\n keepPrompt - whether to store prompt. Default prompt is >' + '\n keepTheme - whether to store theme. Default theme is pit'))))) + ]); + case 'hello': + return _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\nhello prints `Hello World!`') + ]); + case 'font': + return _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\nfont size prints info about the current font size' + ('\nfont size changes fontSize to if is >0' + '\nfont reset changes fontSize to the default of 20px')) + ]); + case 'prompt': + return _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\nprompt prints info about the current prompt' + ('\nprompt set sets prompt text to ' + ('\n is specified in quotes' + ('\nprompt color sets prompt color to ' + '\n run `colors` to list available colors')))) + ]); + case 'theme': + return _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\ntheme sets the current theme according to ' + ('\nOptions for are:' + ('\n sun - a theme blinding like the sun' + ('\n sky - a toned-down light theme' + ('\n dim - a deep and colorful dark theme' + '\n pit - nearly black like the bottom of a pit'))))) + ]); + case 'todo': + return _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\ntodo prints aspirations for the site') + ]); + default: + var string = _v0.a; + return A3($author$project$Main$wrongArgs, 0, 1, args); + } + } + } else { + return A3($author$project$Main$wrongArgs, 0, 1, args); + } + }()) + }); + }); +var $author$project$Main$runPrompt = F2( + function (model, args) { + var _v0 = $elm$core$List$head(args); + if (_v0.$ === 1) { + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\ncurrent prompt is ' + model.l.l) + ])) + }), + $elm$core$Platform$Cmd$none); + } else { + var string = _v0.a; + var oldPrompt = model.l; + return $author$project$Main$saveModel( + _Utils_update( + model, + { + l: _Utils_update( + oldPrompt, + {l: string}) + })); + } + }); +var $author$project$Main$setTheme = F2( + function (model, theme) { + var newModel = _Utils_update( + model, + {as: theme}); + return $author$project$Main$saveModel(newModel); + }); +var $author$project$Main$runTheme = F2( + function (model, args) { + var _v0 = $elm$core$List$head(args); + if (_v0.$ === 1) { + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text( + '\nThe current theme is ' + function () { + var _v1 = model.as; + switch (_v1) { + case 3: + return 'sun'; + case 2: + return 'sky'; + case 1: + return 'dim'; + default: + return 'pit'; + } + }()) + ])) + }), + $elm$core$Platform$Cmd$none); + } else { + switch (_v0.a) { + case 'sun': + return A2($author$project$Main$setTheme, model, 3); + case 'sky': + return A2($author$project$Main$setTheme, model, 2); + case 'dim': + return A2($author$project$Main$setTheme, model, 1); + case 'pit': + return A2($author$project$Main$setTheme, model, 0); + default: + var string = _v0.a; + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + A3($author$project$Main$wrongArgs, 6, 1, args)) + }), + $elm$core$Platform$Cmd$none); + } + } + }); +var $author$project$Main$runTodo = F2( + function (model, args) { + var _v0 = $elm$core$List$head(args); + if (_v0.$ === 1) { + return _Utils_update( + model, + { + a: _Utils_ap( + model.a, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\n--Frontend' + ('\n- Implement colors throughout existing methods' + ('\n- Implement something like neofetch' + ('\n--Glue' + ('\n--Backend' + ('\n- Collect and store feedback in a database' + ('\n- Get an SSL certificate' + '\n- Support https'))))))) + ])) + }); + } else { + return _Utils_update( + model, + { + a: _Utils_ap( + model.a, + A3($author$project$Main$wrongArgs, 7, 0, args)) + }); + } + }); +var $author$project$Main$runCommand = F2( + function (model, input) { + if (!input.$) { + var args = input.a.a6; + var command = input.a.ba; + switch (command) { + case 0: + return _Utils_Tuple2( + A2($author$project$Main$runHelp, model, args), + $elm$core$Platform$Cmd$none); + case 1: + return _Utils_Tuple2( + A2($author$project$Main$runClear, model, args), + $elm$core$Platform$Cmd$none); + case 2: + return A2($author$project$Main$runCookies, model, args); + case 3: + return A2($author$project$Main$runFont, model, args); + case 4: + return A2($author$project$Main$runHello, model, args); + case 5: + return A2($author$project$Main$runPrompt, model, args); + case 6: + return A2($author$project$Main$runTheme, model, args); + default: + return _Utils_Tuple2( + A2($author$project$Main$runTodo, model, args), + $elm$core$Platform$Cmd$none); + } + } else { + if (input.a === '') { + return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); + } else { + var string = input.a; + return _Utils_Tuple2( + _Utils_update( + model, + { + a: _Utils_ap( + model.a, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text('\ncommand ' + (string + ' not recognised. Run `help` to find a valid command')) + ])) + }), + $elm$core$Platform$Cmd$none); + } + } + }); +var $elm$url$Url$addPort = F2( + function (maybePort, starter) { + if (maybePort.$ === 1) { + return starter; + } else { + var port_ = maybePort.a; + return starter + (':' + $elm$core$String$fromInt(port_)); + } + }); +var $elm$url$Url$addPrefixed = F3( + function (prefix, maybeSegment, starter) { + if (maybeSegment.$ === 1) { + return starter; + } else { + var segment = maybeSegment.a; + return _Utils_ap( + starter, + _Utils_ap(prefix, segment)); + } + }); +var $elm$url$Url$toString = function (url) { + var http = function () { + var _v0 = url.b0; + if (!_v0) { + return 'http://'; + } else { + return 'https://'; + } + }(); + return A3( + $elm$url$Url$addPrefixed, + '#', + url.bM, + A3( + $elm$url$Url$addPrefixed, + '?', + url.b1, + _Utils_ap( + A2( + $elm$url$Url$addPort, + url.bZ, + _Utils_ap(http, url.bP)), + url.bX))); +}; +var $author$project$Main$update = F2( + function (msg, model) { + switch (msg.$) { + case 0: + var urlRequest = msg.a; + if (!urlRequest.$) { + var url = urlRequest.a; + return _Utils_Tuple2( + model, + A2( + $elm$browser$Browser$Navigation$pushUrl, + model.be, + $elm$url$Url$toString(url))); + } else { + var href = urlRequest.a; + return _Utils_Tuple2( + model, + $elm$browser$Browser$Navigation$load(href)); + } + case 1: + var url = msg.a; + return _Utils_Tuple2( + _Utils_update( + model, + {br: url}), + $elm$core$Platform$Cmd$none); + case 2: + var string = msg.a; + return A2($elm$core$String$endsWith, '\n', string) ? A2( + $author$project$Main$runCommand, + _Utils_update( + model, + { + az: '', + a: _Utils_ap( + model.a, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$text( + (!_Utils_eq(model.a, _List_Nil)) ? '\n' : ''), + A2( + $author$project$Main$coloredText, + $author$project$Main$coreColor(10), + model.l.l), + $rtfeldman$elm_css$Html$Styled$text( + $elm$core$String$trim(string)) + ])) + }), + $author$project$Main$parseInput(string)) : _Utils_Tuple2( + _Utils_update( + model, + {az: string}), + $elm$core$Platform$Cmd$none); + default: + return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); + } + }); +var $elm$json$Json$Decode$value = _Json_decodeValue; +var $elm$browser$Browser$Document = F2( + function (title, body) { + return {cr: body, cT: title}; + }); +var $rtfeldman$elm_css$VirtualDom$Styled$UnscopedStyles = function (a) { + return {$: 0, a: a}; +}; +var $elm$core$Dict$get = F2( + function (targetKey, dict) { + get: + while (true) { + if (dict.$ === -2) { + return $elm$core$Maybe$Nothing; + } else { + var key = dict.b; + var value = dict.c; + var left = dict.d; + var right = dict.e; + var _v1 = A2($elm$core$Basics$compare, targetKey, key); + switch (_v1) { + case 0: + var $temp$targetKey = targetKey, + $temp$dict = left; + targetKey = $temp$targetKey; + dict = $temp$dict; + continue get; + case 1: + return $elm$core$Maybe$Just(value); + default: + var $temp$targetKey = targetKey, + $temp$dict = right; + targetKey = $temp$targetKey; + dict = $temp$dict; + continue get; + } + } + } + }); +var $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles = F2( + function (_v0, styles) { + var isCssStyles = _v0.b; + var cssTemplate = _v0.c; + if (isCssStyles) { + var _v1 = A2($elm$core$Dict$get, cssTemplate, styles); + if (!_v1.$) { + return styles; + } else { + return A3( + $elm$core$Dict$insert, + cssTemplate, + $rtfeldman$elm_css$Hash$fromString(cssTemplate), + styles); + } + } else { + return styles; + } + }); +var $elm$virtual_dom$VirtualDom$property = F2( + function (key, value) { + return A2( + _VirtualDom_property, + _VirtualDom_noInnerHtmlOrFormAction(key), + _VirtualDom_noJavaScriptOrHtmlJson(value)); + }); +var $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute = F2( + function (styles, _v0) { + var val = _v0.a; + var isCssStyles = _v0.b; + var cssTemplate = _v0.c; + if (isCssStyles) { + var _v1 = A2($elm$core$Dict$get, cssTemplate, styles); + if (!_v1.$) { + var classname = _v1.a; + return A2( + $elm$virtual_dom$VirtualDom$property, + 'className', + $elm$json$Json$Encode$string(classname)); + } else { + return A2( + $elm$virtual_dom$VirtualDom$property, + 'className', + $elm$json$Json$Encode$string('_unstyled')); + } + } else { + return val; + } + }); +var $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttributeNS = F2( + function (styles, _v0) { + var val = _v0.a; + var isCssStyles = _v0.b; + var cssTemplate = _v0.c; + if (isCssStyles) { + var _v1 = A2($elm$core$Dict$get, cssTemplate, styles); + if (!_v1.$) { + var classname = _v1.a; + return A2($elm$virtual_dom$VirtualDom$attribute, 'class', classname); + } else { + return A2($elm$virtual_dom$VirtualDom$attribute, 'class', '_unstyled'); + } + } else { + return val; + } + }); +var $elm$virtual_dom$VirtualDom$keyedNode = function (tag) { + return _VirtualDom_keyedNode( + _VirtualDom_noScript(tag)); +}; +var $elm$virtual_dom$VirtualDom$keyedNodeNS = F2( + function (namespace, tag) { + return A2( + _VirtualDom_keyedNodeNS, + namespace, + _VirtualDom_noScript(tag)); + }); +var $elm$virtual_dom$VirtualDom$node = function (tag) { + return _VirtualDom_node( + _VirtualDom_noScript(tag)); +}; +var $elm$virtual_dom$VirtualDom$nodeNS = F2( + function (namespace, tag) { + return A2( + _VirtualDom_nodeNS, + namespace, + _VirtualDom_noScript(tag)); + }); +var $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml = F2( + function (_v6, _v7) { + var key = _v6.a; + var html = _v6.b; + var pairs = _v7.a; + var styles = _v7.b; + switch (html.$) { + case 4: + var vdom = html.a; + return _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2(key, vdom), + pairs), + styles); + case 0: + var elemType = html.a; + var properties = html.b; + var children = html.c; + var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); + var _v9 = A3( + $elm$core$List$foldl, + $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml, + _Utils_Tuple2(_List_Nil, combinedStyles), + children); + var childNodes = _v9.a; + var finalStyles = _v9.b; + var vdom = A3( + $elm$virtual_dom$VirtualDom$node, + elemType, + A2( + $elm$core$List$map, + $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(finalStyles), + properties), + $elm$core$List$reverse(childNodes)); + return _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2(key, vdom), + pairs), + finalStyles); + case 1: + var ns = html.a; + var elemType = html.b; + var properties = html.c; + var children = html.d; + var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); + var _v10 = A3( + $elm$core$List$foldl, + $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml, + _Utils_Tuple2(_List_Nil, combinedStyles), + children); + var childNodes = _v10.a; + var finalStyles = _v10.b; + var vdom = A4( + $elm$virtual_dom$VirtualDom$nodeNS, + ns, + elemType, + A2( + $elm$core$List$map, + $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(finalStyles), + properties), + $elm$core$List$reverse(childNodes)); + return _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2(key, vdom), + pairs), + finalStyles); + case 2: + var elemType = html.a; + var properties = html.b; + var children = html.c; + var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); + var _v11 = A3( + $elm$core$List$foldl, + $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml, + _Utils_Tuple2(_List_Nil, combinedStyles), + children); + var childNodes = _v11.a; + var finalStyles = _v11.b; + var vdom = A3( + $elm$virtual_dom$VirtualDom$keyedNode, + elemType, + A2( + $elm$core$List$map, + $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(finalStyles), + properties), + $elm$core$List$reverse(childNodes)); + return _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2(key, vdom), + pairs), + finalStyles); + default: + var ns = html.a; + var elemType = html.b; + var properties = html.c; + var children = html.d; + var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); + var _v12 = A3( + $elm$core$List$foldl, + $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml, + _Utils_Tuple2(_List_Nil, combinedStyles), + children); + var childNodes = _v12.a; + var finalStyles = _v12.b; + var vdom = A4( + $elm$virtual_dom$VirtualDom$keyedNodeNS, + ns, + elemType, + A2( + $elm$core$List$map, + $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(finalStyles), + properties), + $elm$core$List$reverse(childNodes)); + return _Utils_Tuple2( + A2( + $elm$core$List$cons, + _Utils_Tuple2(key, vdom), + pairs), + finalStyles); + } + }); +var $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml = F2( + function (html, _v0) { + var nodes = _v0.a; + var styles = _v0.b; + switch (html.$) { + case 4: + var vdomNode = html.a; + return _Utils_Tuple2( + A2($elm$core$List$cons, vdomNode, nodes), + styles); + case 0: + var elemType = html.a; + var properties = html.b; + var children = html.c; + var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); + var _v2 = A3( + $elm$core$List$foldl, + $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml, + _Utils_Tuple2(_List_Nil, combinedStyles), + children); + var childNodes = _v2.a; + var finalStyles = _v2.b; + var vdomNode = A3( + $elm$virtual_dom$VirtualDom$node, + elemType, + A2( + $elm$core$List$map, + $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(finalStyles), + properties), + $elm$core$List$reverse(childNodes)); + return _Utils_Tuple2( + A2($elm$core$List$cons, vdomNode, nodes), + finalStyles); + case 1: + var ns = html.a; + var elemType = html.b; + var properties = html.c; + var children = html.d; + var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); + var _v3 = A3( + $elm$core$List$foldl, + $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml, + _Utils_Tuple2(_List_Nil, combinedStyles), + children); + var childNodes = _v3.a; + var finalStyles = _v3.b; + var vdomNode = A4( + $elm$virtual_dom$VirtualDom$nodeNS, + ns, + elemType, + A2( + $elm$core$List$map, + $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttributeNS(finalStyles), + properties), + $elm$core$List$reverse(childNodes)); + return _Utils_Tuple2( + A2($elm$core$List$cons, vdomNode, nodes), + finalStyles); + case 2: + var elemType = html.a; + var properties = html.b; + var children = html.c; + var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); + var _v4 = A3( + $elm$core$List$foldl, + $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml, + _Utils_Tuple2(_List_Nil, combinedStyles), + children); + var childNodes = _v4.a; + var finalStyles = _v4.b; + var vdomNode = A3( + $elm$virtual_dom$VirtualDom$keyedNode, + elemType, + A2( + $elm$core$List$map, + $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(finalStyles), + properties), + $elm$core$List$reverse(childNodes)); + return _Utils_Tuple2( + A2($elm$core$List$cons, vdomNode, nodes), + finalStyles); + default: + var ns = html.a; + var elemType = html.b; + var properties = html.c; + var children = html.d; + var combinedStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, styles, properties); + var _v5 = A3( + $elm$core$List$foldl, + $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml, + _Utils_Tuple2(_List_Nil, combinedStyles), + children); + var childNodes = _v5.a; + var finalStyles = _v5.b; + var vdomNode = A4( + $elm$virtual_dom$VirtualDom$keyedNodeNS, + ns, + elemType, + A2( + $elm$core$List$map, + $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttributeNS(finalStyles), + properties), + $elm$core$List$reverse(childNodes)); + return _Utils_Tuple2( + A2($elm$core$List$cons, vdomNode, nodes), + finalStyles); + } + }); +var $elm$core$Dict$foldl = F3( + function (func, acc, dict) { + foldl: + while (true) { + if (dict.$ === -2) { + return acc; + } else { + var key = dict.b; + var value = dict.c; + var left = dict.d; + var right = dict.e; + var $temp$func = func, + $temp$acc = A3( + func, + key, + value, + A3($elm$core$Dict$foldl, func, acc, left)), + $temp$dict = right; + func = $temp$func; + acc = $temp$acc; + dict = $temp$dict; + continue foldl; + } + } + }); +var $elm$core$String$replace = F3( + function (before, after, string) { + return A2( + $elm$core$String$join, + after, + A2($elm$core$String$split, before, string)); + }); +var $rtfeldman$elm_css$VirtualDom$Styled$styleToDeclaration = F3( + function (template, classname, declaration) { + return declaration + ('\n' + A3($elm$core$String$replace, $rtfeldman$elm_css$VirtualDom$Styled$classnameStandin, classname, template)); + }); +var $rtfeldman$elm_css$VirtualDom$Styled$toDeclaration = function (dict) { + return A3($elm$core$Dict$foldl, $rtfeldman$elm_css$VirtualDom$Styled$styleToDeclaration, '', dict); +}; +var $rtfeldman$elm_css$VirtualDom$Styled$toScopedDeclaration = F2( + function (scopingPrefix, dict) { + return A3( + $elm$core$Dict$foldl, + F3( + function (template, classname, declaration) { + return declaration + ('\n' + A3($elm$core$String$replace, '.' + $rtfeldman$elm_css$VirtualDom$Styled$classnameStandin, '#' + (scopingPrefix + ('.' + classname)), template)); + }), + '', + dict); + }); +var $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode = F2( + function (maybeNonce, accumulatedStyles) { + var cssText = function () { + if (!accumulatedStyles.$) { + var allStyles = accumulatedStyles.a; + return $rtfeldman$elm_css$VirtualDom$Styled$toDeclaration(allStyles); + } else { + var scope = accumulatedStyles.a; + var rootStyles = accumulatedStyles.b; + var descendantStyles = accumulatedStyles.c; + return A2($rtfeldman$elm_css$VirtualDom$Styled$toScopedDeclaration, scope, rootStyles) + ('\n' + A2($rtfeldman$elm_css$VirtualDom$Styled$toScopedDeclaration, scope + ' ', descendantStyles)); + } + }(); + return A3( + $elm$virtual_dom$VirtualDom$node, + 'span', + _List_fromArray( + [ + A2($elm$virtual_dom$VirtualDom$attribute, 'style', 'display: none;'), + A2($elm$virtual_dom$VirtualDom$attribute, 'class', 'elm-css-style-wrapper') + ]), + _List_fromArray( + [ + A3( + $elm$virtual_dom$VirtualDom$node, + 'style', + function () { + if (!maybeNonce.$) { + var nonce = maybeNonce.a; + return _List_fromArray( + [ + A2($elm$virtual_dom$VirtualDom$attribute, 'nonce', nonce) + ]); + } else { + return _List_Nil; + } + }(), + $elm$core$List$singleton( + $elm$virtual_dom$VirtualDom$text(cssText))) + ])); + }); +var $rtfeldman$elm_css$VirtualDom$Styled$unstyle = F4( + function (maybeNonce, elemType, properties, children) { + var initialStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, $elm$core$Dict$empty, properties); + var _v0 = A3( + $elm$core$List$foldl, + $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml, + _Utils_Tuple2(_List_Nil, initialStyles), + children); + var childNodes = _v0.a; + var styles = _v0.b; + var styleNode = A2( + $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode, + maybeNonce, + $rtfeldman$elm_css$VirtualDom$Styled$UnscopedStyles(styles)); + var unstyledProperties = A2( + $elm$core$List$map, + $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(styles), + properties); + return A3( + $elm$virtual_dom$VirtualDom$node, + elemType, + unstyledProperties, + A2( + $elm$core$List$cons, + styleNode, + $elm$core$List$reverse(childNodes))); + }); +var $rtfeldman$elm_css$VirtualDom$Styled$containsKey = F2( + function (key, pairs) { + containsKey: + while (true) { + if (!pairs.b) { + return false; + } else { + var _v1 = pairs.a; + var str = _v1.a; + var rest = pairs.b; + if (_Utils_eq(key, str)) { + return true; + } else { + var $temp$key = key, + $temp$pairs = rest; + key = $temp$key; + pairs = $temp$pairs; + continue containsKey; + } + } + } + }); +var $rtfeldman$elm_css$VirtualDom$Styled$getUnusedKey = F2( + function (_default, pairs) { + getUnusedKey: + while (true) { + if (!pairs.b) { + return _default; + } else { + var _v1 = pairs.a; + var firstKey = _v1.a; + var rest = pairs.b; + var newKey = '_' + firstKey; + if (A2($rtfeldman$elm_css$VirtualDom$Styled$containsKey, newKey, rest)) { + var $temp$default = newKey, + $temp$pairs = rest; + _default = $temp$default; + pairs = $temp$pairs; + continue getUnusedKey; + } else { + return newKey; + } + } + } + }); +var $rtfeldman$elm_css$VirtualDom$Styled$toKeyedStyleNode = F3( + function (maybeNonce, accumulatedStyles, keyedChildNodes) { + var styleNodeKey = A2($rtfeldman$elm_css$VirtualDom$Styled$getUnusedKey, '_', keyedChildNodes); + var finalNode = A2($rtfeldman$elm_css$VirtualDom$Styled$toStyleNode, maybeNonce, accumulatedStyles); + return _Utils_Tuple2(styleNodeKey, finalNode); + }); +var $rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyed = F4( + function (maybeNonce, elemType, properties, keyedChildren) { + var initialStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, $elm$core$Dict$empty, properties); + var _v0 = A3( + $elm$core$List$foldl, + $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml, + _Utils_Tuple2(_List_Nil, initialStyles), + keyedChildren); + var keyedChildNodes = _v0.a; + var styles = _v0.b; + var keyedStyleNode = A3( + $rtfeldman$elm_css$VirtualDom$Styled$toKeyedStyleNode, + maybeNonce, + $rtfeldman$elm_css$VirtualDom$Styled$UnscopedStyles(styles), + keyedChildNodes); + var unstyledProperties = A2( + $elm$core$List$map, + $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttribute(styles), + properties); + return A3( + $elm$virtual_dom$VirtualDom$keyedNode, + elemType, + unstyledProperties, + A2( + $elm$core$List$cons, + keyedStyleNode, + $elm$core$List$reverse(keyedChildNodes))); + }); +var $rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyedNS = F5( + function (maybeNonce, ns, elemType, properties, keyedChildren) { + var initialStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, $elm$core$Dict$empty, properties); + var _v0 = A3( + $elm$core$List$foldl, + $rtfeldman$elm_css$VirtualDom$Styled$accumulateKeyedStyledHtml, + _Utils_Tuple2(_List_Nil, initialStyles), + keyedChildren); + var keyedChildNodes = _v0.a; + var styles = _v0.b; + var keyedStyleNode = A3( + $rtfeldman$elm_css$VirtualDom$Styled$toKeyedStyleNode, + maybeNonce, + $rtfeldman$elm_css$VirtualDom$Styled$UnscopedStyles(styles), + keyedChildNodes); + var unstyledProperties = A2( + $elm$core$List$map, + $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttributeNS(styles), + properties); + return A4( + $elm$virtual_dom$VirtualDom$keyedNodeNS, + ns, + elemType, + unstyledProperties, + A2( + $elm$core$List$cons, + keyedStyleNode, + $elm$core$List$reverse(keyedChildNodes))); + }); +var $rtfeldman$elm_css$VirtualDom$Styled$unstyleNS = F5( + function (maybeNonce, ns, elemType, properties, children) { + var initialStyles = A3($elm$core$List$foldl, $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyles, $elm$core$Dict$empty, properties); + var _v0 = A3( + $elm$core$List$foldl, + $rtfeldman$elm_css$VirtualDom$Styled$accumulateStyledHtml, + _Utils_Tuple2(_List_Nil, initialStyles), + children); + var childNodes = _v0.a; + var styles = _v0.b; + var styleNode = A2( + $rtfeldman$elm_css$VirtualDom$Styled$toStyleNode, + maybeNonce, + $rtfeldman$elm_css$VirtualDom$Styled$UnscopedStyles(styles)); + var unstyledProperties = A2( + $elm$core$List$map, + $rtfeldman$elm_css$VirtualDom$Styled$extractUnstyledAttributeNS(styles), + properties); + return A4( + $elm$virtual_dom$VirtualDom$nodeNS, + ns, + elemType, + unstyledProperties, + A2( + $elm$core$List$cons, + styleNode, + $elm$core$List$reverse(childNodes))); + }); +var $rtfeldman$elm_css$VirtualDom$Styled$toUnstyled = function (vdom) { + switch (vdom.$) { + case 4: + var plainNode = vdom.a; + return plainNode; + case 0: + var elemType = vdom.a; + var properties = vdom.b; + var children = vdom.c; + return A4($rtfeldman$elm_css$VirtualDom$Styled$unstyle, $elm$core$Maybe$Nothing, elemType, properties, children); + case 1: + var ns = vdom.a; + var elemType = vdom.b; + var properties = vdom.c; + var children = vdom.d; + return A5($rtfeldman$elm_css$VirtualDom$Styled$unstyleNS, $elm$core$Maybe$Nothing, ns, elemType, properties, children); + case 2: + var elemType = vdom.a; + var properties = vdom.b; + var children = vdom.c; + return A4($rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyed, $elm$core$Maybe$Nothing, elemType, properties, children); + default: + var ns = vdom.a; + var elemType = vdom.b; + var properties = vdom.c; + var children = vdom.d; + return A5($rtfeldman$elm_css$VirtualDom$Styled$unstyleKeyedNS, $elm$core$Maybe$Nothing, ns, elemType, properties, children); + } +}; +var $rtfeldman$elm_css$Html$Styled$toUnstyled = $rtfeldman$elm_css$VirtualDom$Styled$toUnstyled; +var $author$project$Main$TakeInput = function (a) { + return {$: 2, a: a}; +}; +var $rtfeldman$elm_css$VirtualDom$Styled$property = F2( + function (key, value) { + return A3( + $rtfeldman$elm_css$VirtualDom$Styled$Attribute, + A2($elm$virtual_dom$VirtualDom$property, key, value), + false, + ''); + }); +var $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty = F2( + function (key, string) { + return A2( + $rtfeldman$elm_css$VirtualDom$Styled$property, + key, + $elm$json$Json$Encode$string(string)); + }); +var $rtfeldman$elm_css$Html$Styled$Attributes$id = $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty('id'); +var $rtfeldman$elm_css$Html$Styled$Events$alwaysStop = function (x) { + return _Utils_Tuple2(x, true); +}; +var $elm$virtual_dom$VirtualDom$MayStopPropagation = function (a) { + return {$: 1, a: a}; +}; +var $elm$virtual_dom$VirtualDom$on = _VirtualDom_on; +var $rtfeldman$elm_css$VirtualDom$Styled$on = F2( + function (eventName, handler) { + return A3( + $rtfeldman$elm_css$VirtualDom$Styled$Attribute, + A2($elm$virtual_dom$VirtualDom$on, eventName, handler), + false, + ''); + }); +var $rtfeldman$elm_css$Html$Styled$Events$stopPropagationOn = F2( + function (event, decoder) { + return A2( + $rtfeldman$elm_css$VirtualDom$Styled$on, + event, + $elm$virtual_dom$VirtualDom$MayStopPropagation(decoder)); + }); +var $rtfeldman$elm_css$Html$Styled$Events$targetValue = A2( + $elm$json$Json$Decode$at, + _List_fromArray( + ['target', 'value']), + $elm$json$Json$Decode$string); +var $rtfeldman$elm_css$Html$Styled$Events$onInput = function (tagger) { + return A2( + $rtfeldman$elm_css$Html$Styled$Events$stopPropagationOn, + 'input', + A2( + $elm$json$Json$Decode$map, + $rtfeldman$elm_css$Html$Styled$Events$alwaysStop, + A2($elm$json$Json$Decode$map, tagger, $rtfeldman$elm_css$Html$Styled$Events$targetValue))); +}; +var $author$project$Main$Background = 0; +var $author$project$Main$Foreground = 1; +var $rtfeldman$elm_css$Html$Styled$main_ = $rtfeldman$elm_css$Html$Styled$node('main'); +var $rtfeldman$elm_css$Css$minHeight = $rtfeldman$elm_css$Css$prop1('min-height'); +var $author$project$Main$White = 4; +var $author$project$Main$themeColor = F2( + function (model, color) { + themeColor: + while (true) { + var _v0 = model.as; + switch (_v0) { + case 0: + switch (color) { + case 0: + return $rtfeldman$elm_css$Css$hex('#120211'); + case 1: + return $rtfeldman$elm_css$Css$hex('#f3d9f0'); + case 2: + var $temp$model = model, + $temp$color = 4; + model = $temp$model; + color = $temp$color; + continue themeColor; + case 3: + return $rtfeldman$elm_css$Css$hex('#380e36'); + case 4: + return $rtfeldman$elm_css$Css$hex('#e29edc'); + case 5: + return $rtfeldman$elm_css$Css$hex('#7c2b77'); + default: + return $rtfeldman$elm_css$Css$hex('#f9ecf7'); + } + case 1: + switch (color) { + case 0: + return $rtfeldman$elm_css$Css$hex('#380e36'); + case 1: + return $rtfeldman$elm_css$Css$hex('#f7e5f4'); + case 2: + var $temp$model = model, + $temp$color = 4; + model = $temp$model; + color = $temp$color; + continue themeColor; + case 3: + return $rtfeldman$elm_css$Css$hex('#5e1c56'); + case 4: + return $rtfeldman$elm_css$Css$hex('#e8b2e2'); + case 5: + return $rtfeldman$elm_css$Css$hex('#9d3c98'); + default: + return $rtfeldman$elm_css$Css$hex('#fbf4fa'); + } + case 2: + switch (color) { + case 0: + return $rtfeldman$elm_css$Css$hex('#f3d9f0'); + case 1: + return $rtfeldman$elm_css$Css$hex('#380e36'); + case 2: + var $temp$model = model, + $temp$color = 4; + model = $temp$model; + color = $temp$color; + continue themeColor; + case 3: + return $rtfeldman$elm_css$Css$hex('#eec6e9'); + case 4: + return $rtfeldman$elm_css$Css$hex('#7c2b77'); + case 5: + return $rtfeldman$elm_css$Css$hex('#d575cd'); + default: + return $rtfeldman$elm_css$Css$hex('#120211'); + } + default: + switch (color) { + case 0: + return $rtfeldman$elm_css$Css$hex('#f9ecf7'); + case 1: + return $rtfeldman$elm_css$Css$hex('#5a1c56'); + case 2: + var $temp$model = model, + $temp$color = 4; + model = $temp$model; + color = $temp$color; + continue themeColor; + case 3: + return $rtfeldman$elm_css$Css$hex('#f3d9f0'); + case 4: + return $rtfeldman$elm_css$Css$hex('#9d3c98'); + case 5: + return $rtfeldman$elm_css$Css$hex('#dc8ed5'); + default: + return $rtfeldman$elm_css$Css$hex('#380e36'); + } + } + } + }); +var $rtfeldman$elm_css$Css$VhUnits = 0; +var $rtfeldman$elm_css$Css$vh = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, 0, 'vh'); +var $rtfeldman$elm_css$Css$VwUnits = 0; +var $rtfeldman$elm_css$Css$vw = A2($rtfeldman$elm_css$Css$Internal$lengthConverter, 0, 'vw'); +var $rtfeldman$elm_css$Css$width = $rtfeldman$elm_css$Css$prop1('width'); +var $author$project$Main$styledBody = function (model) { + return A2( + $rtfeldman$elm_css$Html$Styled$styled, + $rtfeldman$elm_css$Html$Styled$main_, + _List_fromArray( + [ + $rtfeldman$elm_css$Css$backgroundColor( + A2($author$project$Main$themeColor, model, 0)), + $rtfeldman$elm_css$Css$color( + A2($author$project$Main$themeColor, model, 1)), + $rtfeldman$elm_css$Css$minHeight( + $rtfeldman$elm_css$Css$vh(100)), + $rtfeldman$elm_css$Css$width( + $rtfeldman$elm_css$Css$vw(100)), + $rtfeldman$elm_css$Css$margin( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$padding( + $rtfeldman$elm_css$Css$px(0)) + ])); +}; +var $rtfeldman$elm_css$Css$displayFlex = A2($rtfeldman$elm_css$Css$property, 'display', 'flex'); +var $rtfeldman$elm_css$Css$flexDirection = $rtfeldman$elm_css$Css$prop1('flex-direction'); +var $rtfeldman$elm_css$Css$flexStart = $rtfeldman$elm_css$Css$prop1('flex-start'); +var $rtfeldman$elm_css$Css$flexWrap = $rtfeldman$elm_css$Css$prop1('flex-wrap'); +var $rtfeldman$elm_css$Css$Preprocess$ApplyStyles = function (a) { + return {$: 6, a: a}; +}; +var $rtfeldman$elm_css$Css$Internal$property = F2( + function (key, value) { + return $rtfeldman$elm_css$Css$Preprocess$AppendProperty(key + (':' + value)); + }); +var $rtfeldman$elm_css$Css$Internal$getOverloadedProperty = F3( + function (functionName, desiredKey, style) { + getOverloadedProperty: + while (true) { + switch (style.$) { + case 0: + var str = style.a; + var key = A2( + $elm$core$Maybe$withDefault, + '', + $elm$core$List$head( + A2($elm$core$String$split, ':', str))); + return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, key); + case 1: + var selector = style.a; + return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-selector')); + case 2: + var combinator = style.a; + return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-combinator')); + case 3: + var pseudoElement = style.a; + return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-pseudo-element setter')); + case 4: + return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-media-query')); + case 5: + return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-inapplicable-Style-for-keyframes')); + default: + if (!style.a.b) { + return A2($rtfeldman$elm_css$Css$Internal$property, desiredKey, 'elm-css-error-cannot-apply-' + (functionName + '-with-empty-Style')); + } else { + if (!style.a.b.b) { + var _v1 = style.a; + var only = _v1.a; + var $temp$functionName = functionName, + $temp$desiredKey = desiredKey, + $temp$style = only; + functionName = $temp$functionName; + desiredKey = $temp$desiredKey; + style = $temp$style; + continue getOverloadedProperty; + } else { + var _v2 = style.a; + var first = _v2.a; + var rest = _v2.b; + var $temp$functionName = functionName, + $temp$desiredKey = desiredKey, + $temp$style = $rtfeldman$elm_css$Css$Preprocess$ApplyStyles(rest); + functionName = $temp$functionName; + desiredKey = $temp$desiredKey; + style = $temp$style; + continue getOverloadedProperty; + } + } + } + } + }); +var $rtfeldman$elm_css$Css$Internal$IncompatibleUnits = 0; +var $rtfeldman$elm_css$Css$Internal$lengthForOverloadedProperty = A3($rtfeldman$elm_css$Css$Internal$lengthConverter, 0, '', 0); +var $rtfeldman$elm_css$Css$justifyContent = function (fn) { + return A3( + $rtfeldman$elm_css$Css$Internal$getOverloadedProperty, + 'justifyContent', + 'justify-content', + fn($rtfeldman$elm_css$Css$Internal$lengthForOverloadedProperty)); +}; +var $rtfeldman$elm_css$Css$noWrap = {aA: 0, aT: 0, D: 'nowrap', _: 0}; +var $rtfeldman$elm_css$Css$row = {bc: 0, aA: 0, D: 'row'}; +var $author$project$Main$styledCL = function (model) { + return A2( + $rtfeldman$elm_css$Html$Styled$styled, + $rtfeldman$elm_css$Html$Styled$span, + _List_fromArray( + [ + $rtfeldman$elm_css$Css$backgroundColor( + A2($author$project$Main$themeColor, model, 0)), + $rtfeldman$elm_css$Css$padding( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$margin( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$displayFlex, + $rtfeldman$elm_css$Css$flexDirection($rtfeldman$elm_css$Css$row), + $rtfeldman$elm_css$Css$flexWrap($rtfeldman$elm_css$Css$noWrap), + $rtfeldman$elm_css$Css$justifyContent($rtfeldman$elm_css$Css$flexStart) + ])); +}; +var $rtfeldman$elm_css$Css$flexGrow = $rtfeldman$elm_css$Css$prop1('flex-grow'); +var $rtfeldman$elm_css$Css$fontSize = $rtfeldman$elm_css$Css$prop1('font-size'); +var $rtfeldman$elm_css$Css$height = $rtfeldman$elm_css$Css$prop1('height'); +var $rtfeldman$elm_css$Css$hidden = {q: 0, am: 0, D: 'hidden', aP: 0}; +var $rtfeldman$elm_css$Css$UnitlessInteger = 0; +var $rtfeldman$elm_css$Css$int = function (val) { + return { + N: 0, + aU: 0, + T: 0, + B: 0, + aG: 0, + aW: 0, + J: val, + at: '', + aN: 0, + D: $elm$core$String$fromInt(val) + }; +}; +var $rtfeldman$elm_css$Css$none = {aa: 0, bA: 0, q: 0, b: 0, g: 0, cz: 0, bR: 0, bf: 0, ak: 0, S: 0, B: 0, d: 0, c: 0, bi: 0, aY: 0, cJ: 0, y: 0, aZ: 0, cM: 0, ap: 0, Y: 0, u: 0, f: 0, cV: 0, D: 'none'}; +var $rtfeldman$elm_css$Css$outlineWidth = $rtfeldman$elm_css$Css$prop1('outline-width'); +var $rtfeldman$elm_css$Css$overflow = $rtfeldman$elm_css$Css$prop1('overflow'); +var $rtfeldman$elm_css$Css$resize = $rtfeldman$elm_css$Css$prop1('resize'); +var $rtfeldman$elm_css$Html$Styled$textarea = $rtfeldman$elm_css$Html$Styled$node('textarea'); +var $author$project$Main$styledCLI = function (model) { + return A2( + $rtfeldman$elm_css$Html$Styled$styled, + $rtfeldman$elm_css$Html$Styled$textarea, + _List_fromArray( + [ + $rtfeldman$elm_css$Css$color( + A2($author$project$Main$themeColor, model, 1)), + $rtfeldman$elm_css$Css$fontSize( + $rtfeldman$elm_css$Css$px(model.t.o)), + $rtfeldman$elm_css$Css$padding( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$margin( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$backgroundColor( + A2($author$project$Main$themeColor, model, 0)), + $rtfeldman$elm_css$Css$borderWidth( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$outlineWidth( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$height( + $rtfeldman$elm_css$Css$px(model.t.o)), + $rtfeldman$elm_css$Css$resize($rtfeldman$elm_css$Css$none), + $rtfeldman$elm_css$Css$overflow($rtfeldman$elm_css$Css$hidden), + $rtfeldman$elm_css$Css$flexGrow( + $rtfeldman$elm_css$Css$int(100)) + ])); +}; +var $rtfeldman$elm_css$Css$fontFamily = $rtfeldman$elm_css$Css$prop1('font-family'); +var $rtfeldman$elm_css$Css$monospace = {M: 0, D: 'monospace'}; +var $rtfeldman$elm_css$Css$preWrap = {D: 'pre-wrap', _: 0}; +var $rtfeldman$elm_css$Css$whiteSpace = $rtfeldman$elm_css$Css$prop1('white-space'); +var $author$project$Main$styledContent = function (model) { + return A2( + $rtfeldman$elm_css$Html$Styled$styled, + $rtfeldman$elm_css$Html$Styled$span, + _List_fromArray( + [ + $rtfeldman$elm_css$Css$color( + A2($author$project$Main$themeColor, model, 1)), + $rtfeldman$elm_css$Css$fontSize( + $rtfeldman$elm_css$Css$px(model.t.o)), + $rtfeldman$elm_css$Css$padding( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$margin( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$backgroundColor( + A2($author$project$Main$themeColor, model, 0)), + $rtfeldman$elm_css$Css$borderWidth( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$width( + $rtfeldman$elm_css$Css$vw(100)), + $rtfeldman$elm_css$Css$whiteSpace($rtfeldman$elm_css$Css$preWrap), + $rtfeldman$elm_css$Css$fontFamily($rtfeldman$elm_css$Css$monospace) + ])); +}; +var $author$project$Main$styledPrompt = function (model) { + return A2( + $rtfeldman$elm_css$Html$Styled$styled, + $rtfeldman$elm_css$Html$Styled$span, + _List_fromArray( + [ + $rtfeldman$elm_css$Css$color( + A2($author$project$Main$themeColor, model, 1)), + $rtfeldman$elm_css$Css$fontSize( + $rtfeldman$elm_css$Css$px(model.t.o)), + $rtfeldman$elm_css$Css$padding( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$margin( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$backgroundColor( + A2($author$project$Main$themeColor, model, 0)), + $rtfeldman$elm_css$Css$borderWidth( + $rtfeldman$elm_css$Css$px(0)), + $rtfeldman$elm_css$Css$height( + $rtfeldman$elm_css$Css$px(model.t.o)), + $rtfeldman$elm_css$Css$fontFamily($rtfeldman$elm_css$Css$monospace) + ])); +}; +var $rtfeldman$elm_css$Html$Styled$Attributes$value = $rtfeldman$elm_css$Html$Styled$Attributes$stringProperty('value'); +var $author$project$Main$viewBody = function (model) { + return A3( + $author$project$Main$styledBody, + model, + _List_Nil, + _List_fromArray( + [ + A3($author$project$Main$styledContent, model, _List_Nil, model.a), + A3( + $author$project$Main$styledCL, + model, + _List_Nil, + _List_fromArray( + [ + A3( + $author$project$Main$styledPrompt, + model, + _List_Nil, + _List_fromArray( + [ + A2( + $author$project$Main$coloredText, + $author$project$Main$coreColor(10), + model.l.l) + ])), + A3( + $author$project$Main$styledCLI, + model, + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$Events$onInput($author$project$Main$TakeInput), + $rtfeldman$elm_css$Html$Styled$Attributes$value(model.az), + $rtfeldman$elm_css$Html$Styled$Attributes$id('init-focus') + ]), + _List_Nil) + ])) + ])); +}; +var $author$project$Main$view = function (model) { + return A2( + $elm$browser$Browser$Document, + 'elmskell', + _List_fromArray( + [ + $rtfeldman$elm_css$Html$Styled$toUnstyled( + $author$project$Main$viewBody(model)) + ])); +}; +var $author$project$Main$main = $elm$browser$Browser$application( + {cB: $author$project$Main$init, cG: $author$project$Main$UrlChanged, cH: $author$project$Main$LinkClicked, cR: $author$project$Main$subscriptions, cU: $author$project$Main$update, cW: $author$project$Main$view}); +_Platform_export({'Main':{'init':$author$project$Main$main($elm$json$Json$Decode$value)(0)}});}(this)); \ No newline at end of file diff --git a/frontend/elm-stuff/0.19.1/Main.elmi b/frontend/elm-stuff/0.19.1/Main.elmi index e68f562dd0c778222435f4be5340851fe90e04c8..c736a271b22972a1055d1a6d7bf33dab0175a338 100644 GIT binary patch delta 150 zcmccdo9V_krU_zobo*cn+i@7lJEk&$(C;toO9$rtu=000C#GWP%g delta 410 zcmccdjp@d3rU_z<8XLt$Wfet>Qj=3N%Thy9i%Z;!@^gbzi^@`q7$AU=Ik$MShM>G9 zh>_00oSKu%lAK?Z$`g>2Sdx}sl&cq9n#3Gjngo_-FG@`-N-fTS=w)DJOk`l5TxTlH z%*dFySx0t)1xrwBaq8xczG4EK=cj%*VBs!FEuOqi#+ijBB(-?5p{6h=M{a6yabkL^ z!Q_MdQgEK(*NB9p(E39y6hhbq&r;hbFWEH?R* zgEYi?K}X}s2}$gmXFG3aocyanZ8ERA`3G5^g0b_A&zLg!xC4drw3=BMzKhBkz{2@(n@_~Kqll9^_)zzT(5U^nK z0XvD!-entEHXGF#vmxBiSY0!DzMaJ64|ax=&#&Q_e7YismnSAqSJ$m5Kd&S;FJ-cz z3)oYJ1~GZM3ZA(IIjOm+c_j+T`8oMT#R?@EMfs)a8Tq9p3aJ&D#U+_}=?b~2B^miC z#W0;}s;D}P^Fazg3Ue~EQx)=3^V3pGk~3h+IXOVqyXTaq!bEtuK_X6x$=OKm(bWN& z>YSgGlbT$jkeHXEP+XEulM4gdP}A<@9DBLR&((w{%a@Bn z63)eq+LJe=34@b_L5kdDJ3sEt1x@$lS(xL?3??6R7Euc>O=8K*&r1cxGXnzyBXep_ zE=zKLQ7TVBPGU(~eo?MoaB0%y!eq(Gxih#o$1KfcVPpoU|Jy628Cf=eUs=n@$TGQf zbu}Z)=8vmyFil=uZ8}+Tf$(I9X5q;SjUtl|tmT`0abw$LzSRnwXKk`%K&wu~H;H|}y~odX#3rvXmK0$xN=++DEzaPAxu20yWwN1~I8R<_P7Yl4 z2Nh9P7Ldr~KsSlaw``X&OELzw%cjQEJP5xIeu{pPV zBMVDVYH{jh!|=MvU!Bz^_iZp?WS+dhRc7+8Myttj&YYW7YINBqEBJA5e$aMLezN8k z88Pf(IQe6`6emY=er`d2aca=yxy$7z8)ykncHSn&!(EbET;h_NoS%|fG&xWPHML9@ zWR_7wNk7b~Ik_y!`9-O0PKm{t$;Ajm7f6dvHqhdkY}6qliq#d987GUff~}jp!9bb? z#F~6cU4fS+H?hD78duDd17$>6!AWv*p|<$sJP#`KzTFSvT)qUCYSG zI@xk`1G|5q9a*aNZ0L*nznsxF=XB~y2)Z)^d5~vUZ12c1Oak?;b ze3=m&L}s#qm&oJ^T5@76pdd!5gGmecdQA?9vy%{y$#Y38NmNMBFHtBiO-@cNE>0`W z$*G*Y(OF(hh&i>W2$x>&$sb}enVDkpKp`T{n_5(qUlfubTvC*omk!m#$O-LnY~HZZl2K3~F)yVkwOp^rxFj=KFE6!Z@jCg0l3z1ey54OZmb!^l3_ZKo9@`{c%*wv6nP_wRIOWS`8u3nXH<%UKzew_u5z zt)M7Bx1a=(+F467Qgc%$N!V?c-Tj$~QEal{zD15~oY|?V1tB0As2|vwvr{XfY-V_B RfC@0e1PoyUlP~RS0RY%-jfDUJ diff --git a/frontend/elm-stuff/0.19.1/d.dat b/frontend/elm-stuff/0.19.1/d.dat index f306fabae3a37eca0989e16e084f8a3ac9dca7c9..f6214420d68bca3233950b1289ee375c43dfefb1 100644 GIT binary patch delta 56 zcmaFH_l!@Fk&yucIDe>SSVm7?K2cDPQDCBhFS~~4&UC)qw-Z}laI!&^FmP@zW&Fqr E0FS;7YXATM delta 56 zcmaFH_l!@Fk&yucI6thE`kuoYJyB4Ok#C}bFZ+k}q6>FwOqkg6f)k>Gfq`ptDdR_0 E0IUlSQ~&?~ diff --git a/frontend/index.def.html b/frontend/index.def.html deleted file mode 100644 index 456ce73..0000000 --- a/frontend/index.def.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - Main - - - - - - - diff --git a/frontend/src/Main.elm b/frontend/src/Main.elm index a8a522d..614d7bb 100644 --- a/frontend/src/Main.elm +++ b/frontend/src/Main.elm @@ -133,7 +133,6 @@ type Msg | UrlChanged Url.Url | TakeInput String | NoInitFocus - | ReceivedTest (Result D.Error Test) update : Msg -> Model -> ( Model, Cmd Msg ) @@ -178,14 +177,6 @@ update msg model = NoInitFocus -> ( model, Cmd.none ) - ReceivedTest result -> - case result of - Ok test -> - ( { model | content = model.content ++ [ text "\nData got successfully" ] }, Cmd.none ) - - Err err -> - ( { model | content = model.content ++ [ text <| "\n" ++ D.errorToString err ] }, Cmd.none ) - -- COMMANDS @@ -199,6 +190,7 @@ type Command | Hello | PromptCommand | Theme + | Todo type alias Input = @@ -236,6 +228,9 @@ parseInput input = Just "theme" -> Ok Theme + Just "todo" -> + Ok Todo + Just trimput -> Err trimput @@ -289,6 +284,9 @@ runCommand model input = Theme -> runTheme model args + Todo -> + ( runTodo model args, Cmd.none ) + Err "" -> ( model, Cmd.none ) @@ -323,6 +321,7 @@ runHelp model args = ++ "\nfont manages font" ++ "\nprompt [UNFINISHED] manages prompt" ++ "\ntheme manages theme" + ++ "\ntodo prints aspirations for the site" ] Just "help" -> @@ -375,6 +374,9 @@ runHelp model args = ++ "\n pit - nearly black like the bottom of a pit" ] + Just "todo" -> + [ text "\ntodo prints aspirations for the site" ] + Just string -> wrongArgs Help 1 args @@ -600,16 +602,6 @@ runPrompt model args = saveModel { model | prompt = { oldPrompt | prompt = string } } -runReset : Model -> List String -> ( Model, Cmd Msg ) -runReset model args = - case List.head args of - Nothing -> - ( model, Cmd.none ) - - Just _ -> - ( model, Cmd.none ) - - runTheme : Model -> List String -> ( Model, Cmd Msg ) runTheme model args = case List.head args of @@ -653,6 +645,29 @@ runTheme model args = ( { model | content = model.content ++ wrongArgs Theme 1 args }, Cmd.none ) +runTodo : Model -> List String -> Model +runTodo model args = + case List.head args of + Nothing -> + { model + | content = + model.content + ++ [ text <| + "\n--Frontend" + ++ "\n- Implement colors throughout existing methods" + ++ "\n- Implement something like neofetch" + ++ "\n--Glue" + ++ "\n--Backend" + ++ "\n- Collect and store feedback in a database" + ++ "\n- Get an SSL certificate" + ++ "\n- Support https" + ] + } + + Just _ -> + { model | content = model.content ++ wrongArgs Todo 0 args } + + -- COMMAND ABSTRACTIONS @@ -691,6 +706,9 @@ wrongArgs command expected args = Theme -> "theme" + + Todo -> + "todo" in [ text ((if expected > List.length args then @@ -728,6 +746,8 @@ cookiesKeptToString : CookiesKept -> String cookiesKeptToString cookiesKept = "{ keepFont = " ++ boolToString cookiesKept.keepFont + ++ "\n, keepPrompt = " + ++ boolToString cookiesKept.keepPrompt ++ "\n, keepTheme = " ++ boolToString cookiesKept.keepTheme ++ "\n}" @@ -747,20 +767,6 @@ port setStorage : E.Value -> Cmd a --- gets from server and everything - - -port refresh : () -> Cmd a - - - --- for testing purposes: test.json on server - - -port receiveTestFromServer : (E.Value -> msg) -> Sub msg - - - -- JSON @@ -848,26 +854,13 @@ promptDecoder = (D.at [ "prompt", "prompt" ] D.string) -type alias Test = - { message0 : String - , message1 : String - } - - -testDecoder : D.Decoder Test -testDecoder = - D.map2 Test - (D.field "message0" D.string) - (D.field "message1" D.string) - - -- SUBSCRIPTIONS subscriptions : Model -> Sub Msg -subscriptions model = - receiveTestFromServer (D.decodeValue testDecoder >> ReceivedTest) +subscriptions _ = + Sub.none @@ -876,7 +869,7 @@ subscriptions model = view : Model -> Browser.Document Msg view model = - Browser.Document "andrew.r3tic.net" + Browser.Document "elmskell" [ toUnstyled <| viewBody model ] diff --git a/shell.nix b/shell.nix index 9fad334..e08dfc9 100644 --- a/shell.nix +++ b/shell.nix @@ -2,7 +2,7 @@ elmInputs = [ pkgs.elmPackages.elm pkgs.elmPackages.elm-format - pkgs.uglify-js + pkgs.esbuild ]; haskellInputs = [ pkgs.stack