faucet-server 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -4
- package/src/cli.ts +96 -0
- package/static/assets/index-CmBiEW2v.js +2 -0
- package/static/assets/index-DMjk5t0r.css +1 -0
- package/static/index.html +14 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "faucet-server",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
},
|
|
11
11
|
"files": [
|
|
12
12
|
"dist",
|
|
13
|
-
"
|
|
14
|
-
"
|
|
13
|
+
"src",
|
|
14
|
+
"static"
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@hono/node-server": "^1.19.12",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"ldenv": "^0.5.0",
|
|
21
21
|
"named-logs-context": "^0.1.1",
|
|
22
22
|
"remote-sql-libsql": "^0.0.7",
|
|
23
|
-
"faucet-server-app": "0.0.
|
|
23
|
+
"faucet-server-app": "0.0.4"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/node": "^25.5.0",
|
package/src/cli.ts
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import "named-logs-context";
|
|
3
|
+
import { createServer, type Env } from "faucet-server-app";
|
|
4
|
+
import { serve } from "@hono/node-server";
|
|
5
|
+
import { serveStatic } from "@hono/node-server/serve-static";
|
|
6
|
+
import { RemoteLibSQL } from "remote-sql-libsql";
|
|
7
|
+
import { createClient } from "@libsql/client";
|
|
8
|
+
import fs from "node:fs";
|
|
9
|
+
import path from "node:path";
|
|
10
|
+
import { Command } from "commander";
|
|
11
|
+
import { loadEnv } from "ldenv";
|
|
12
|
+
|
|
13
|
+
const __dirname = import.meta.dirname;
|
|
14
|
+
|
|
15
|
+
loadEnv({
|
|
16
|
+
defaultEnvFile: path.join(__dirname, "../.env.default"),
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
type NodeJSEnv = Env & {
|
|
20
|
+
DB: string;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
async function main() {
|
|
24
|
+
const pkg = JSON.parse(
|
|
25
|
+
fs.readFileSync(path.join(__dirname, "../package.json"), "utf-8"),
|
|
26
|
+
);
|
|
27
|
+
const program = new Command();
|
|
28
|
+
|
|
29
|
+
const defaultPort = 34010;
|
|
30
|
+
|
|
31
|
+
const binName =
|
|
32
|
+
typeof pkg.bin === "object" ? Object.keys(pkg.bin)[0] : pkg.name;
|
|
33
|
+
program
|
|
34
|
+
.name(binName)
|
|
35
|
+
.version(pkg.version)
|
|
36
|
+
.usage(`${binName} [--port ${defaultPort}]`)
|
|
37
|
+
.description("a server that gives token, protected by captcha")
|
|
38
|
+
.option("-p, --port <port>")
|
|
39
|
+
.option(
|
|
40
|
+
"--no-captcha",
|
|
41
|
+
"Disable captcha verification (for localhost development)",
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
program.parse(process.argv);
|
|
45
|
+
|
|
46
|
+
type Options = {
|
|
47
|
+
port?: string;
|
|
48
|
+
captcha?: boolean;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const options: Options = program.opts();
|
|
52
|
+
const port = options.port ? parseInt(options.port) : defaultPort;
|
|
53
|
+
|
|
54
|
+
// Set DISABLE_CAPTCHA env var if --no-captcha flag is used
|
|
55
|
+
if (options.captcha === false) {
|
|
56
|
+
process.env.DISABLE_CAPTCHA = "true";
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const env = process.env as NodeJSEnv;
|
|
60
|
+
|
|
61
|
+
const db = env.DB || ":memory:";
|
|
62
|
+
|
|
63
|
+
const client = createClient({
|
|
64
|
+
url: db,
|
|
65
|
+
});
|
|
66
|
+
const remoteSQL = new RemoteLibSQL(client);
|
|
67
|
+
|
|
68
|
+
// Create server app (includes API routes under /api)
|
|
69
|
+
const app = createServer<NodeJSEnv>({
|
|
70
|
+
getDB: () => remoteSQL,
|
|
71
|
+
getEnv: () => env,
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
// Serve static files if directory exists
|
|
75
|
+
const staticDir = path.join(__dirname, "../static");
|
|
76
|
+
if (fs.existsSync(staticDir)) {
|
|
77
|
+
// Serve static assets
|
|
78
|
+
app.use("/*", serveStatic({ root: staticDir }));
|
|
79
|
+
|
|
80
|
+
// Fallback to index.html for SPA (any request that didn't match static files)
|
|
81
|
+
app.get("*", serveStatic({ root: staticDir, path: "/index.html" }));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (db === ":memory:") {
|
|
85
|
+
// console.log(`executing setup...`);
|
|
86
|
+
// can fetch an admin route with the token if needed
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
serve({
|
|
90
|
+
fetch: app.fetch,
|
|
91
|
+
port,
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
console.log(`Server is running on http://localhost:${port}`);
|
|
95
|
+
}
|
|
96
|
+
main();
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=Array.isArray,t=Array.prototype.indexOf,n=Array.prototype.includes,r=Array.from,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyDescriptors,s=Object.prototype,c=Array.prototype,l=Object.getPrototypeOf,u=Object.isExtensible,d=()=>{};function f(e){return e()}function p(e){for(var t=0;t<e.length;t++)e[t]()}function m(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var h=1<<24,g=1024,_=2048,v=4096,ee=8192,te=16384,ne=32768,re=1<<25,ie=65536,ae=1<<19,oe=1<<20,se=65536,ce=1<<21,le=1<<22,ue=1<<23,de=Symbol(`$state`),fe=Symbol(``),y=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},pe=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function me(e){throw Error(`https://svelte.dev/e/lifecycle_outside_component`)}function he(){throw Error(`https://svelte.dev/e/async_derived_orphan`)}function ge(e){throw Error(`https://svelte.dev/e/effect_in_teardown`)}function _e(){throw Error(`https://svelte.dev/e/effect_in_unowned_derived`)}function ve(e){throw Error(`https://svelte.dev/e/effect_orphan`)}function ye(){throw Error(`https://svelte.dev/e/effect_update_depth_exceeded`)}function be(){throw Error(`https://svelte.dev/e/state_descriptors_fixed`)}function xe(){throw Error(`https://svelte.dev/e/state_prototype_fixed`)}function Se(){throw Error(`https://svelte.dev/e/state_unsafe_mutation`)}function Ce(){throw Error(`https://svelte.dev/e/svelte_boundary_reset_onerror`)}var we={},b=Symbol(),Te=`http://www.w3.org/1999/xhtml`;function Ee(e){console.warn(`https://svelte.dev/e/hydration_mismatch`)}function De(){console.warn(`https://svelte.dev/e/select_multiple_invalid_value`)}function Oe(){console.warn(`https://svelte.dev/e/svelte_boundary_reset_noop`)}var x=!1;function ke(e){x=e}var S;function C(e){if(e===null)throw Ee(),we;return S=e}function Ae(){return C(L(S))}function w(e){if(x){if(L(S)!==null)throw Ee(),we;S=e}}function je(e=1){if(x){for(var t=e,n=S;t--;)n=L(n);S=n}}function Me(e=!0){for(var t=0,n=S;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else (r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=L(n);e&&n.remove(),n=i}}function Ne(e){if(!e||e.nodeType!==8)throw Ee(),we;return e.data}function Pe(e){return e===this.v}function Fe(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function Ie(e){return!Fe(e,this.v)}var T=!1,Le=!1;function Re(){Le=!0}var E=null;function ze(e){E=e}function Be(e,t=!1,n){E={p:E,i:!1,c:null,e:null,s:e,x:null,r:K,l:Le&&!t?{s:null,u:null,$:[]}:null}}function Ve(e){var t=E,n=t.e;if(n!==null){t.e=null;for(var r of n)un(r)}return e!==void 0&&(t.x=e),t.i=!0,E=t.p,e??{}}function He(){return!Le||E!==null&&E.l===null}var Ue=[];function We(){var e=Ue;Ue=[],p(e)}function D(e){if(Ue.length===0&&!et){var t=Ue;queueMicrotask(()=>{t===Ue&&We()})}Ue.push(e)}function Ge(){for(;Ue.length>0;)We()}function Ke(e){var t=K;if(t===null)return U.f|=ue,e;if(!(t.f&32768)&&!(t.f&4))throw e;qe(e,t)}function qe(e,t){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e}var Je=~(_|v|g);function O(e,t){e.f=e.f&Je|t}function Ye(e){e.f&512||e.deps===null?O(e,g):O(e,v)}function Xe(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=se,Xe(t.deps))}function Ze(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),Xe(e.deps),O(e,g)}var Qe=!1,k=new Set,A=null,j=null,$e=null,et=!1,tt=!1,nt=null,rt=null,it=0,at=1,ot=class e{id=at++;current=new Map;previous=new Map;#e=new Set;#t=new Set;#n=new Map;#r=new Map;#i=null;#a=[];#o=[];#s=new Set;#c=new Set;#l=new Map;is_fork=!1;#u=!1;#d=new Set;#f(){return this.is_fork||this.#r.size>0}#p(){for(let n of this.#d)for(let r of n.#r.keys()){for(var e=!1,t=r;t.parent!==null;){if(this.#l.has(t)){e=!0;break}t=t.parent}if(!e)return!0}return!1}skip_effect(e){this.#l.has(e)||this.#l.set(e,{d:[],m:[]})}unskip_effect(e){var t=this.#l.get(e);if(t){this.#l.delete(e);for(var n of t.d)O(n,_),this.schedule(n);for(n of t.m)O(n,v),this.schedule(n)}}#m(){if(it++>1e3&&(k.delete(this),ct()),!this.#f()){for(let e of this.#s)this.#c.delete(e),O(e,_),this.schedule(e);for(let e of this.#c)O(e,v),this.schedule(e)}let t=this.#a;this.#a=[],this.apply();var n=nt=[],r=[],i=rt=[];for(let e of t)try{this.#h(e,n,r)}catch(t){throw mt(e),t}if(A=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(nt=null,rt=null,this.#f()||this.#p()){this.#g(r),this.#g(n);for(let[e,t]of this.#l)pt(e,t)}else{this.#n.size===0&&k.delete(this),this.#s.clear(),this.#c.clear();for(let e of this.#e)e(this);this.#e.clear(),lt(r),lt(n),this.#i?.resolve()}var o=A;if(this.#a.length>0){let e=o??=this;e.#a.push(...this.#a.filter(t=>!e.#a.includes(t)))}o!==null&&(k.add(o),o.#m()),k.has(this)||this.#_()}#h(e,t,n){e.f^=g;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#l.has(r))&&r.fn!==null){a?r.f^=g:i&4?t.push(r):T&&i&16777224?n.push(r):Bn(r)&&(i&16&&this.#c.add(r),Gn(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#g(e){for(var t=0;t<e.length;t+=1)Ze(e[t],this.#s,this.#c)}capture(e,t,n=!1){t!==b&&!this.previous.has(e)&&this.previous.set(e,t),e.f&8388608||(this.current.set(e,[e.v,n]),j?.set(e,e.v))}activate(){A=this}deactivate(){A=null,j=null}flush(){try{tt=!0,A=this,this.#m()}finally{it=0,$e=null,nt=null,rt=null,tt=!1,A=null,j=null,N.clear()}}discard(){for(let e of this.#t)e(this);this.#t.clear(),k.delete(this)}register_created_effect(e){this.#o.push(e)}#_(){for(let l of k){var e=l.id<this.id,t=[];for(let[r,[i,a]]of this.current){if(l.current.has(r)){var n=l.current.get(r)[0];if(e&&i!==n)l.current.set(r,[i,a]);else continue}t.push(r)}var r=[...l.current.keys()].filter(e=>!this.current.has(e));if(r.length===0)e&&l.discard();else if(t.length>0){l.activate();var i=new Set,a=new Map;for(var o of t)ut(o,r,i,a);a=new Map;var s=[...l.current.keys()].filter(e=>this.current.has(e)?this.current.get(e)[0]!==e:!0);for(let e of this.#o)!(e.f&155648)&&dt(e,s,a)&&(e.f&4194320?(O(e,_),l.schedule(e)):l.#s.add(e));if(l.#a.length>0){l.apply();for(var c of l.#a)l.#h(c,[],[]);l.#a=[]}l.deactivate()}}for(let e of k)e.#d.has(this)&&(e.#d.delete(this),e.#d.size===0&&!e.#f()&&(e.activate(),e.#m()))}increment(e,t){let n=this.#n.get(t)??0;if(this.#n.set(t,n+1),e){let e=this.#r.get(t)??0;this.#r.set(t,e+1)}}decrement(e,t,n){let r=this.#n.get(t)??0;if(r===1?this.#n.delete(t):this.#n.set(t,r-1),e){let e=this.#r.get(t)??0;e===1?this.#r.delete(t):this.#r.set(t,e-1)}this.#u||n||(this.#u=!0,D(()=>{this.#u=!1,this.flush()}))}transfer_effects(e,t){for(let t of e)this.#s.add(t);for(let e of t)this.#c.add(e);e.clear(),t.clear()}oncommit(e){this.#e.add(e)}ondiscard(e){this.#t.add(e)}settled(){return(this.#i??=m()).promise}static ensure(){if(A===null){let t=A=new e;tt||(k.add(A),et||D(()=>{A===t&&t.flush()}))}return A}apply(){if(!T||!this.is_fork&&k.size===1){j=null;return}j=new Map;for(let[e,[t]]of this.current)j.set(e,t);for(let n of k)if(!(n===this||n.is_fork)){var e=!1,t=!1;if(n.id<this.id)for(let[r,[,i]]of n.current)i||(e||=this.current.has(r),t||=!this.current.has(r));if(e&&t)this.#d.add(n);else for(let[e,t]of n.previous)j.has(e)||j.set(e,t)}}schedule(e){if($e=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(nt!==null&&t===K&&(T||(U===null||!(U.f&2))&&!Qe))return;if(n&96){if(!(n&1024))return;t.f^=g}}this.#a.push(t)}};function st(e){var t=et;et=!0;try{var n;for(e&&(A!==null&&!A.is_fork&&A.flush(),n=e());;){if(Ge(),A===null)return n;A.flush()}}finally{et=t}}function ct(){try{ye()}catch(e){qe(e,$e)}}var M=null;function lt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&Bn(r)&&(M=new Set,Gn(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Cn(r),M?.size>0)){N.clear();for(let e of M){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)M.has(n)&&(M.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||Gn(n)}}M.clear()}}M=null}}function ut(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?ut(i,t,n,r):e&4194320&&!(e&2048)&&dt(i,t,r)&&(O(i,_),ft(i))}}function dt(e,t,r){let i=r.get(e);if(i!==void 0)return i;if(e.deps!==null)for(let i of e.deps){if(n.call(t,i))return!0;if(i.f&2&&dt(i,t,r))return r.set(i,!0),!0}return r.set(e,!1),!1}function ft(e){A.schedule(e)}function pt(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),O(e,g);for(var n=e.first;n!==null;)pt(n,t),n=n.next}}function mt(e){O(e,g);for(var t=e.first;t!==null;)mt(t),t=t.next}function ht(e){let t=0,n=Ft(0),r;return()=>{sn()&&(Q(n),hn(()=>(t===0&&(r=Yn(()=>e(()=>zt(n)))),t+=1,()=>{D(()=>{--t,t===0&&(r?.(),r=void 0,zt(n))})})))}}var gt=ie|ae;function _t(e,t,n,r){new vt(e,t,n,r)}var vt=class{parent;is_pending=!1;transform_error;#e;#t=x?S:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=ht(()=>(this.#m=Ft(this.#l),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=K;t.b=this,t.f|=128,n(e)},this.parent=K.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=_n(()=>{if(x){let e=this.#t;Ae();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},gt),x&&(this.#e=S)}#g(){try{this.#a=V(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=V(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=V(()=>e(this.#e)),D(()=>{var e=this.#c=document.createDocumentFragment(),t=I();e.append(t),this.#a=this.#x(()=>V(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,wn(this.#o,()=>{this.#o=null}),this.#b(A))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=V(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();On(this.#a,e);let t=this.#n.pending;this.#o=V(()=>t(this.#e))}else this.#b(A)}catch(e){this.error(e)}}#b(e){this.is_pending=!1,e.transfer_effects(this.#f,this.#p)}defer_effect(e){Ze(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=K,n=U,r=E;q(this.#i),G(this.#i),ze(this.#i.ctx);try{return ot.ensure(),e()}catch(e){return Ke(e),null}finally{q(t),G(n),ze(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&wn(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,D(()=>{this.#d=!1,this.#m&&Lt(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),Q(this.#m)}error(e){var t=this.#n.onerror;let n=this.#n.failed;if(!t&&!n)throw e;this.#a&&=(H(this.#a),null),this.#o&&=(H(this.#o),null),this.#s&&=(H(this.#s),null),x&&(C(this.#t),je(),C(Me()));var r=!1,i=!1;let a=()=>{if(r){Oe();return}r=!0,i&&Ce(),this.#s!==null&&wn(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){qe(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return V(()=>{var t=K;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return qe(e,this.#i.parent),null}}))};D(()=>{var t;try{t=this.transform_error(e)}catch(e){qe(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>qe(e,this.#i&&this.#i.parent)):o(t)})}};function yt(e,t,n,r){let i=He()?Ct:Et;var a=e.filter(e=>!e.settled);if(n.length===0&&a.length===0){r(t.map(i));return}var o=K,s=bt(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function l(e){s();try{r(e)}catch(e){o.f&16384||qe(e,o)}xt()}if(n.length===0){c.then(()=>l(t.map(i)));return}var u=St();function d(){Promise.all(n.map(e=>wt(e))).then(e=>l([...t.map(i),...e])).catch(e=>qe(e,o)).finally(()=>u())}c?c.then(()=>{s(),d(),xt()}):d()}function bt(){var e=K,t=U,n=E,r=A;return function(i=!0){q(e),G(t),ze(n),i&&!(e.f&16384)&&(r?.activate(),r?.apply())}}function xt(e=!0){q(null),G(null),ze(null),e&&A?.deactivate()}function St(){var e=K,t=e.b,n=A,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),(i=!1)=>{t.update_pending_count(-1,n),n.decrement(r,e,i)}}function Ct(e){var t=2|_,n=U!==null&&U.f&2?U:null;return K!==null&&(K.f|=ae),{ctx:E,deps:null,effects:null,equals:Pe,f:t,fn:e,reactions:null,rv:0,v:b,wv:0,parent:n??K,ac:null}}function wt(e,t,n){let r=K;r===null&&he();var i=void 0,a=Ft(b),o=!U,s=new Map;return mn(()=>{var t=K,n=m();i=n.promise;try{Promise.resolve(e()).then(n.resolve,n.reject).finally(xt)}catch(e){n.reject(e),xt()}var c=A;if(o){if(t.f&32768)var l=St();if(r.b.is_rendered())s.get(c)?.reject(y),s.delete(c);else{for(let e of s.values())e.reject(y);s.clear()}s.set(c,n)}let u=(e,n=void 0)=>{if(l&&l(n===y),!(n===y||t.f&16384)){if(c.activate(),n)a.f|=ue,Lt(a,n);else{a.f&8388608&&(a.f^=ue),Lt(a,e);for(let[e,t]of s){if(s.delete(e),e===c)break;t.reject(y)}}c.deactivate()}};n.promise.then(u,e=>u(null,e||`unknown`))}),cn(()=>{for(let e of s.values())e.reject(y)}),new Promise(e=>{function t(n){function r(){n===i?e(a):t(i)}n.then(r,r)}t(i)})}function Tt(e){let t=Ct(e);return T||Nn(t),t}function Et(e){let t=Ct(e);return t.equals=Ie,t}function Dt(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)H(t[n])}}function Ot(e){for(var t=e.parent;t!==null;){if(!(t.f&2))return t.f&16384?null:t;t=t.parent}return null}function kt(e){var t,n=K;q(Ot(e));try{e.f&=~se,Dt(e),t=Hn(e)}finally{q(n)}return t}function At(e){var t=e.v,n=kt(e);if(!e.equals(n)&&(e.wv=zn(),(!A?.is_fork||e.deps===null)&&(e.v=n,A?.capture(e,t,!0),e.deps===null))){O(e,g);return}jn||(j===null?Ye(e):(sn()||A?.is_fork)&&j.set(e,n))}function jt(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(y),t.teardown=d,t.ac=null,Wn(t,0),bn(t))}function Mt(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&Gn(t)}var Nt=new Set,N=new Map,Pt=!1;function Ft(e,t){return{f:0,v:e,reactions:null,equals:Pe,rv:0,wv:0}}function P(e,t){let n=Ft(e,t);return Nn(n),n}function It(e,t=!1,n=!0){let r=Ft(e);return t||(r.equals=Ie),Le&&n&&E!==null&&E.l!==null&&(E.l.s??=[]).push(r),r}function F(e,t,r=!1){return U!==null&&(!W||U.f&131072)&&He()&&U.f&4325394&&(J===null||!n.call(J,e))&&Se(),Lt(e,r?Vt(t):t,rt)}function Lt(e,t,n=null){if(!e.equals(t)){var r=e.v;jn?N.set(e,t):N.set(e,r),e.v=t;var i=ot.ensure();if(i.capture(e,r),e.f&2){let t=e;e.f&2048&&kt(t),j===null&&Ye(t)}e.wv=zn(),Bt(e,_,n),He()&&K!==null&&K.f&1024&&!(K.f&96)&&(Z===null?Pn([e]):Z.push(e)),!i.is_fork&&Nt.size>0&&!Pt&&Rt()}return t}function Rt(){Pt=!1;for(let e of Nt)e.f&1024&&O(e,v),Bn(e)&&Gn(e);Nt.clear()}function zt(e){F(e,e.v+1)}function Bt(e,t,n){var r=e.reactions;if(r!==null)for(var i=He(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===K)){var l=(c&_)===0;if(l&&O(s,t),c&2){var u=s;j?.delete(u),c&65536||(c&512&&(s.f|=se),Bt(u,v,n))}else if(l){var d=s;c&16&&M!==null&&M.add(d),n===null?ft(d):n.push(d)}}}}function Vt(t){if(typeof t!=`object`||!t||de in t)return t;let n=l(t);if(n!==s&&n!==c)return t;var r=new Map,i=e(t),o=P(0),u=null,d=Ln,f=e=>{if(Ln===d)return e();var t=U,n=Ln;G(null),Rn(d);var r=e();return G(t),Rn(n),r};return i&&r.set(`length`,P(t.length,u)),new Proxy(t,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&be();var i=r.get(t);return i===void 0?f(()=>{var e=P(n.value,u);return r.set(t,e),e}):F(i,n.value,!0),!0},deleteProperty(e,t){var n=r.get(t);if(n===void 0){if(t in e){let e=f(()=>P(b,u));r.set(t,e),zt(o)}}else F(n,b),zt(o);return!0},get(e,n,i){if(n===de)return t;var o=r.get(n),s=n in e;if(o===void 0&&(!s||a(e,n)?.writable)&&(o=f(()=>P(Vt(s?e[n]:b),u)),r.set(n,o)),o!==void 0){var c=Q(o);return c===b?void 0:c}return Reflect.get(e,n,i)},getOwnPropertyDescriptor(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n&&`value`in n){var i=r.get(t);i&&(n.value=Q(i))}else if(n===void 0){var a=r.get(t),o=a?.v;if(a!==void 0&&o!==b)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return n},has(e,t){if(t===de)return!0;var n=r.get(t),i=n!==void 0&&n.v!==b||Reflect.has(e,t);return(n!==void 0||K!==null&&(!i||a(e,t)?.writable))&&(n===void 0&&(n=f(()=>P(i?Vt(e[t]):b,u)),r.set(t,n)),Q(n)===b)?!1:i},set(e,t,n,s){var c=r.get(t),l=t in e;if(i&&t===`length`)for(var d=n;d<c.v;d+=1){var p=r.get(d+``);p===void 0?d in e&&(p=f(()=>P(b,u)),r.set(d+``,p)):F(p,b)}if(c===void 0)(!l||a(e,t)?.writable)&&(c=f(()=>P(void 0,u)),F(c,Vt(n)),r.set(t,c));else{l=c.v!==b;var m=f(()=>Vt(n));F(c,m)}var h=Reflect.getOwnPropertyDescriptor(e,t);if(h?.set&&h.set.call(s,n),!l){if(i&&typeof t==`string`){var g=r.get(`length`),_=Number(t);Number.isInteger(_)&&_>=g.v&&F(g,_+1)}zt(o)}return!0},ownKeys(e){Q(o);var t=Reflect.ownKeys(e).filter(e=>{var t=r.get(e);return t===void 0||t.v!==b});for(var[n,i]of r)i.v!==b&&!(n in e)&&t.push(n);return t},setPrototypeOf(){xe()}})}function Ht(e){try{if(typeof e==`object`&&e&&de in e)return e[de]}catch{}return e}function Ut(e,t){return Object.is(Ht(e),Ht(t))}var Wt,Gt,Kt,qt;function Jt(){if(Wt===void 0){Wt=window,Gt=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Kt=a(t,`firstChild`).get,qt=a(t,`nextSibling`).get,u(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),u(n)&&(n.__t=void 0)}}function I(e=``){return document.createTextNode(e)}function Yt(e){return Kt.call(e)}function L(e){return qt.call(e)}function R(e,t){if(!x)return Yt(e);var n=Yt(S);if(n===null)n=S.appendChild(I());else if(t&&n.nodeType!==3){var r=I();return n?.before(r),C(r),r}return t&&$t(n),C(n),n}function Xt(e,t=!1){if(!x){var n=Yt(e);return n instanceof Comment&&n.data===``?L(n):n}if(t){if(S?.nodeType!==3){var r=I();return S?.before(r),C(r),r}$t(S)}return S}function z(e,t=1,n=!1){let r=x?S:e;for(var i;t--;)i=r,r=L(r);if(!x)return r;if(n){if(r?.nodeType!==3){var a=I();return r===null?i?.after(a):r.before(a),C(a),a}$t(r)}return C(r),r}function Zt(){return!T||M!==null?!1:(K.f&ne)!==0}function Qt(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??`http://www.w3.org/1999/xhtml`,e,r)}function $t(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function en(e,t){if(t){let t=document.body;e.autofocus=!0,D(()=>{document.activeElement===t&&e.focus()})}}var tn=!1;function nn(){tn||(tn=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function rn(e){var t=U,n=K;G(null),q(null);try{return e()}finally{G(t),q(n)}}function an(e){K===null&&(U===null&&ve(e),_e()),jn&&ge(e)}function on(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function B(e,t){var n=K;n!==null&&n.f&8192&&(e|=ee);var r={ctx:E,deps:null,nodes:null,f:e|_|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};A?.register_created_effect(r);var i=r;if(e&4)nt===null?ot.ensure().schedule(r):nt.push(r);else if(t!==null){try{Gn(r)}catch(e){throw H(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=ie))}if(i!==null&&(i.parent=n,n!==null&&on(i,n),U!==null&&U.f&2&&!(e&64))){var a=U;(a.effects??=[]).push(i)}return r}function sn(){return U!==null&&!W}function cn(e){let t=B(8,null);return O(t,g),t.teardown=e,t}function ln(e){an(`$effect`);var t=K.f;if(!U&&t&32&&!(t&32768)){var n=E;(n.e??=[]).push(e)}else return un(e)}function un(e){return B(4|oe,e)}function dn(e){return an(`$effect.pre`),B(8|oe,e)}function fn(e){ot.ensure();let t=B(64|ae,e);return(e={})=>new Promise(n=>{e.outro?wn(t,()=>{H(t),n(void 0)}):(H(t),n(void 0))})}function pn(e){return B(4,e)}function mn(e){return B(le|ae,e)}function hn(e,t=0){return B(8|t,e)}function gn(e,t=[],n=[],r=[]){yt(r,t,n,t=>{B(8,()=>e(...t.map(Q)))})}function _n(e,t=0){return B(16|t,e)}function vn(e,t=0){return B(h|t,e)}function V(e){return B(32|ae,e)}function yn(e){var t=e.teardown;if(t!==null){let e=jn,n=U;Mn(!0),G(null);try{t.call(null)}finally{Mn(e),G(n)}}}function bn(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&rn(()=>{e.abort(y)});var r=n.next;n.f&64?n.parent=null:H(n,t),n=r}}function xn(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||H(t),t=n}}function H(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(Sn(e.nodes.start,e.nodes.end),n=!0),O(e,re),bn(e,t&&!n),Wn(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();yn(e),e.f^=re,e.f|=te;var i=e.parent;i!==null&&i.first!==null&&Cn(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Sn(e,t){for(;e!==null;){var n=e===t?null:L(e);e.remove(),e=n}}function Cn(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function wn(e,t,n=!0){var r=[];Tn(e,r,!0);var i=()=>{n&&H(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Tn(e,t,n){if(!(e.f&8192)){e.f^=ee;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next,o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;Tn(i,t,o?n:!1),i=a}}}function En(e){Dn(e,!0)}function Dn(e,t){if(e.f&8192){e.f^=ee,e.f&1024||(O(e,_),ot.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;Dn(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function On(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:L(n);t.append(n),n=i}}var kn=null,An=!1,jn=!1;function Mn(e){jn=e}var U=null,W=!1;function G(e){U=e}var K=null;function q(e){K=e}var J=null;function Nn(e){U!==null&&(!T||U.f&2)&&(J===null?J=[e]:J.push(e))}var Y=null,X=0,Z=null;function Pn(e){Z=e}var Fn=1,In=0,Ln=In;function Rn(e){Ln=e}function zn(){return++Fn}function Bn(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~se),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(Bn(a)&&At(a),a.wv>e.wv)return!0}t&512&&j===null&&O(e,g)}return!1}function Vn(e,t,r=!0){var i=e.reactions;if(i!==null&&!(!T&&J!==null&&n.call(J,e)))for(var a=0;a<i.length;a++){var o=i[a];o.f&2?Vn(o,t,!1):t===o&&(r?O(o,_):o.f&1024&&O(o,v),ft(o))}}function Hn(e){var t=Y,n=X,r=Z,i=U,a=J,o=E,s=W,c=Ln,l=e.f;Y=null,X=0,Z=null,U=l&96?null:e,J=null,ze(e.ctx),W=!1,Ln=++In,e.ac!==null&&(rn(()=>{e.ac.abort(y)}),e.ac=null);try{e.f|=ce;var u=e.fn,d=u();e.f|=ne;var f=e.deps,p=A?.is_fork;if(Y!==null){var m;if(p||Wn(e,X),f!==null&&X>0)for(f.length=X+Y.length,m=0;m<Y.length;m++)f[X+m]=Y[m];else e.deps=f=Y;if(sn()&&e.f&512)for(m=X;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&X<f.length&&(Wn(e,X),f.length=X);if(He()&&Z!==null&&!W&&f!==null&&!(e.f&6146))for(m=0;m<Z.length;m++)Vn(Z[m],e);if(i!==null&&i!==e){if(In++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=In;if(t!==null)for(let e of t)e.rv=In;Z!==null&&(r===null?r=Z:r.push(...Z))}return e.f&8388608&&(e.f^=ue),d}catch(e){return Ke(e)}finally{e.f^=ce,Y=t,X=n,Z=r,U=i,J=a,ze(o),W=s,Ln=c}}function Un(e,r){let i=r.reactions;if(i!==null){var a=t.call(i,e);if(a!==-1){var o=i.length-1;o===0?i=r.reactions=null:(i[a]=i[o],i.pop())}}if(i===null&&r.f&2&&(Y===null||!n.call(Y,r))){var s=r;s.f&512&&(s.f^=512,s.f&=~se),Ye(s),jt(s),Wn(s,0)}}function Wn(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Un(e,n[r])}function Gn(e){var t=e.f;if(!(t&16384)){O(e,g);var n=K,r=An;K=e,An=!0;try{t&16777232?xn(e):bn(e),yn(e);var i=Hn(e);e.teardown=typeof i==`function`?i:null,e.wv=Fn}finally{An=r,K=n}}}async function Kn(){if(T)return new Promise(e=>{requestAnimationFrame(()=>e()),setTimeout(()=>e())});await Promise.resolve(),st()}function Q(e){var t=(e.f&2)!=0;if(kn?.add(e),U!==null&&!W&&!(K!==null&&K.f&16384)&&(J===null||!n.call(J,e))){var r=U.deps;if(U.f&2097152)e.rv<In&&(e.rv=In,Y===null&&r!==null&&r[X]===e?X++:Y===null?Y=[e]:Y.push(e));else{(U.deps??=[]).push(e);var i=e.reactions;i===null?e.reactions=[U]:n.call(i,U)||i.push(U)}}if(jn&&N.has(e))return N.get(e);if(t){var a=e;if(jn){var o=a.v;return(!(a.f&1024)&&a.reactions!==null||Jn(a))&&(o=kt(a)),N.set(a,o),o}var s=(a.f&512)==0&&!W&&U!==null&&(An||(U.f&512)!=0),c=(a.f&ne)===0;Bn(a)&&(s&&(a.f|=512),At(a)),s&&!c&&(Mt(a),qn(a))}if(j?.has(e))return j.get(e);if(e.f&8388608)throw e.v;return e.v}function qn(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(Mt(t),qn(t))}function Jn(e){if(e.v===b)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(N.has(t)||t.f&2&&Jn(t))return!0;return!1}function Yn(e){var t=W;try{return W=!0,e()}finally{W=t}}function Xn(e){if(!(typeof e!=`object`||!e||e instanceof EventTarget)){if(de in e)Zn(e);else if(!Array.isArray(e))for(let t in e){let n=e[t];typeof n==`object`&&n&&de in n&&Zn(n)}}}function Zn(e,t=new Set){if(typeof e==`object`&&e&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let n in e)try{Zn(e[n],t)}catch{}let n=l(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){let t=o(n);for(let n in t){let r=t[n].get;if(r)try{r.call(e)}catch{}}}}}function Qn(e){return e.endsWith(`capture`)&&e!==`gotpointercapture`&&e!==`lostpointercapture`}var $n=[`beforeinput`,`click`,`change`,`dblclick`,`contextmenu`,`focusin`,`focusout`,`input`,`keydown`,`keyup`,`mousedown`,`mousemove`,`mouseout`,`mouseover`,`mouseup`,`pointerdown`,`pointermove`,`pointerout`,`pointerover`,`pointerup`,`touchend`,`touchmove`,`touchstart`];function er(e){return $n.includes(e)}var tr=`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`),nr={formnovalidate:`formNoValidate`,ismap:`isMap`,nomodule:`noModule`,playsinline:`playsInline`,readonly:`readOnly`,defaultvalue:`defaultValue`,defaultchecked:`defaultChecked`,srcobject:`srcObject`,novalidate:`noValidate`,allowfullscreen:`allowFullscreen`,disablepictureinpicture:`disablePictureInPicture`,disableremoteplayback:`disableRemotePlayback`};function rr(e){return e=e.toLowerCase(),nr[e]??e}[...tr];var ir=[`touchstart`,`touchmove`];function ar(e){return ir.includes(e)}var or=Symbol(`events`),sr=new Set,cr=new Set;function lr(e,t,n,r={}){function i(e){if(r.capture||pr.call(t,e),!e.cancelBubble)return rn(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?D(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function ur(e,t,n){(t[or]??={})[e]=n}function dr(e){for(var t=0;t<e.length;t++)sr.add(e[t]);for(var n of cr)n(e)}var fr=null;function pr(e){var t=this,n=t.ownerDocument,r=e.type,a=e.composedPath?.()||[],o=a[0]||e.target;fr=e;var s=0,c=fr===e&&e[or];if(c){var l=a.indexOf(c);if(l!==-1&&(t===document||t===window)){e[or]=t;return}var u=a.indexOf(t);if(u===-1)return;l<=u&&(s=l)}if(o=a[s]||e.target,o!==t){i(e,`currentTarget`,{configurable:!0,get(){return o||n}});var d=U,f=K;G(null),q(null);try{for(var p,m=[];o!==null;){var h=o.assignedSlot||o.parentNode||o.host||null;try{var g=o[or]?.[r];g!=null&&(!o.disabled||e.target===o)&&g.call(o,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble||h===t||h===null)break;o=h}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[or]=t,delete e.currentTarget,G(d),q(f)}}}var mr=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function hr(e){return mr?.createHTML(e)??e}function gr(e){var t=Qt(`template`);return t.innerHTML=hr(e.replaceAll(`<!>`,`<!---->`)),t.content}function _r(e,t){var n=K;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function vr(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(x)return _r(S,null),S;i===void 0&&(i=gr(a?e:`<!>`+e),n||(i=Yt(i)));var t=r||Gt?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=Yt(t),s=t.lastChild;_r(o,s)}else _r(t,t);return t}}function yr(){if(x)return _r(S,null),S;var e=document.createDocumentFragment(),t=document.createComment(``),n=I();return e.append(t,n),_r(t,n),e}function $(e,t){if(x){var n=K;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=S),Ae();return}e!==null&&e.before(t)}function br(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function xr(e,t){return Cr(e,t)}var Sr=new Map;function Cr(e,{target:t,anchor:n,props:i={},events:a,context:o,intro:s=!0,transformError:c}){Jt();var l=void 0,u=fn(()=>{var s=n??t.appendChild(I());_t(s,{pending:()=>{}},t=>{Be({});var n=E;if(o&&(n.c=o),a&&(i.$$events=a),x&&_r(t,null),l=e(t,i)||{},x&&(K.nodes.end=S,S===null||S.nodeType!==8||S.data!==`]`))throw Ee(),we;Ve()},c);var u=new Set,d=e=>{for(var n=0;n<e.length;n++){var r=e[n];if(!u.has(r)){u.add(r);var i=ar(r);for(let e of[t,document]){var a=Sr.get(e);a===void 0&&(a=new Map,Sr.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,pr,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return d(r(sr)),cr.add(d),()=>{for(var e of u)for(let n of[t,document]){var r=Sr.get(n),i=r.get(e);--i==0?(n.removeEventListener(e,pr),r.delete(e),r.size===0&&Sr.delete(n)):r.set(e,i)}cr.delete(d),s!==n&&s.parentNode?.removeChild(s)}});return wr.set(l,u),l}var wr=new WeakMap,Tr=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)En(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(H(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();On(r,t),t.append(I()),this.#n.set(e,{effect:r,fragment:t})}else H(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),wn(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(H(n.effect),this.#n.delete(e))};ensure(e,t){var n=A,r=Zt();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=I();i.append(a),this.#n.set(e,{effect:V(()=>t(a)),fragment:i})}else this.#t.set(e,V(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else x&&(this.anchor=S),this.#a(n)}};function Er(e,t,n=!1){var r;x&&(r=S,Ae());var i=new Tr(e),a=n?ie:0;function o(e,t){if(x){var n=Ne(r);if(e!==parseInt(n.substring(1))){var a=Me();C(a),i.anchor=a,ke(!1),i.ensure(e,t),ke(!0);return}}i.ensure(e,t)}_n(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function Dr(e,t){var n=void 0,r;vn(()=>{n!==(n=t())&&(r&&=(H(r),null),n&&(r=V(()=>{pn(()=>n(e))})))})}function Or(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Or(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function kr(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Or(e))&&(r&&(r+=` `),r+=t);return r}function Ar(e){return typeof e==`object`?kr(e):e??``}var jr=[...`
|
|
2
|
+
\r\f\xA0\v`];function Mr(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||jr.includes(r[o-1]))&&(s===r.length||jr.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function Nr(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function Pr(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function Fr(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(Pr)),i&&c.push(...Object.keys(i).map(Pr));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=Pr(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=Nr(r)),i&&(n+=Nr(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}function Ir(e,t,n,r,i,a){var o=e.__className;if(x||o!==n||o===void 0){var s=Mr(n,r,a);(!x||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e.__className=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function Lr(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function Rr(e,t,n,r){var i=e.__style;if(x||i!==t){var a=Fr(t,r);(!x||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e.__style=t}else r&&(Array.isArray(r)?(Lr(e,n?.[0],r[0]),Lr(e,n?.[1],r[1],`important`)):Lr(e,n,r));return r}function zr(t,n,r=!1){if(t.multiple){if(n==null)return;if(!e(n))return De();for(var i of t.options)i.selected=n.includes(Vr(i));return}for(i of t.options)if(Ut(Vr(i),n)){i.selected=!0;return}(!r||n!==void 0)&&(t.selectedIndex=-1)}function Br(e){var t=new MutationObserver(()=>{zr(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),cn(()=>{t.disconnect()})}function Vr(e){return`__value`in e?e.__value:e.value}var Hr=Symbol(`class`),Ur=Symbol(`style`),Wr=Symbol(`is custom element`),Gr=Symbol(`is html`),Kr=pe?`link`:`LINK`,qr=pe?`input`:`INPUT`,Jr=pe?`option`:`OPTION`,Yr=pe?`select`:`SELECT`;function Xr(e){if(x){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;Qr(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;Qr(e,`checked`,null),e.checked=r}}};e.__on_r=n,D(n),nn()}}function Zr(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function Qr(e,t,n,r){var i=ti(e);x&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Kr)||i[t]!==(i[t]=n)&&(t===`loading`&&(e[fe]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&ri(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function $r(e,t,n,r,i=!1,a=!1){if(x&&i&&e.nodeName===qr){var o=e;(o.type===`checkbox`?`defaultChecked`:`defaultValue`)in n||Xr(o)}var s=ti(e),c=s[Wr],l=!s[Gr];let u=x&&c;u&&ke(!1);var d=t||{},f=e.nodeName===Jr;for(var p in t)p in n||(n[p]=null);n.class?n.class=Ar(n.class):(r||n[Hr])&&(n.class=null),n[Ur]&&(n.style??=null);var m=ri(e);for(let i in n){let o=n[i];if(f&&i===`value`&&o==null){e.value=e.__value=``,d[i]=o;continue}if(i===`class`){Ir(e,e.namespaceURI===`http://www.w3.org/1999/xhtml`,o,r,t?.[Hr],n[Hr]),d[i]=o,d[Hr]=n[Hr];continue}if(i===`style`){Rr(e,o,t?.[Ur],n[Ur]),d[i]=o,d[Ur]=n[Ur];continue}var h=d[i];if(!(o===h&&!(o===void 0&&e.hasAttribute(i)))){d[i]=o;var g=i[0]+i[1];if(g!==`$$`)if(g===`on`){let t={},n=`$$`+i,r=i.slice(2);var _=er(r);if(Qn(r)&&(r=r.slice(0,-7),t.capture=!0),!_&&h){if(o!=null)continue;e.removeEventListener(r,d[n],t),d[n]=null}if(_)ur(r,e,o),dr([r]);else if(o!=null){function a(e){d[i].call(this,e)}d[n]=lr(r,e,a,t)}}else if(i===`style`)Qr(e,i,o);else if(i===`autofocus`)en(e,!!o);else if(!c&&(i===`__value`||i===`value`&&o!=null))e.value=e.__value=o;else if(i===`selected`&&f)Zr(e,o);else{var v=i;l||(v=rr(v));var ee=v===`defaultValue`||v===`defaultChecked`;if(o==null&&!c&&!ee)if(s[i]=null,v===`value`||v===`checked`){let n=e,r=t===void 0;if(v===`value`){let e=n.defaultValue;n.removeAttribute(v),n.defaultValue=e,n.value=n.__value=r?e:null}else{let e=n.defaultChecked;n.removeAttribute(v),n.defaultChecked=e,n.checked=r?e:!1}}else e.removeAttribute(i);else ee||m.includes(v)&&(c||typeof o!=`string`)?(e[v]=o,v in s&&(s[v]=b)):typeof o!=`function`&&Qr(e,v,o,a)}}}return u&&ke(!0),d}function ei(e,t,n=[],r=[],i=[],a,o=!1,s=!1){yt(i,n,r,n=>{var r=void 0,i={},c=e.nodeName===Yr,l=!1;if(vn(()=>{var u=t(...n.map(Q)),d=$r(e,r,u,a,o,s);l&&c&&`value`in u&&zr(e,u.value);for(let e of Object.getOwnPropertySymbols(i))u[e]||H(i[e]);for(let t of Object.getOwnPropertySymbols(u)){var f=u[t];t.description===`@attach`&&(!r||f!==r[t])&&(i[t]&&H(i[t]),i[t]=V(()=>Dr(e,()=>f))),d[t]=f}r=d}),c){var u=e;pn(()=>{zr(u,r.value,!0),Br(u)})}l=!0})}function ti(e){return e.__attributes??={[Wr]:e.nodeName.includes(`-`),[Gr]:e.namespaceURI===Te}}var ni=new Map;function ri(e){var t=e.getAttribute(`is`)||e.nodeName,n=ni.get(t);if(n)return n;ni.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var s in r=o(i),r)r[s].set&&n.push(s);i=l(i)}return n}function ii(e,t){return e===t||e?.[de]===t}function ai(e={},t,n,r){var i=E.r,a=K;return pn(()=>{var o,s;return hn(()=>{o=s,s=r?.()||[],Yn(()=>{e!==n(...s)&&(t(e,...s),o&&ii(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&ii(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}function oi(e=!1){let t=E,n=t.l.u;if(!n)return;let r=()=>Xn(t.s);if(e){let e=0,n={},i=Ct(()=>{let r=!1,i=t.s;for(let e in i)i[e]!==n[e]&&(n[e]=i[e],r=!0);return r&&e++,e});r=()=>Q(i)}n.b.length&&dn(()=>{si(t,r),p(n.b)}),ln(()=>{let e=Yn(()=>n.m.map(f));return()=>{for(let t of e)typeof t==`function`&&t()}}),n.a.length&&ln(()=>{si(t,r),p(n.a)})}function si(e,t){if(e.l.s)for(let t of e.l.s)Q(t);t()}var ci={get(e,t){if(!e.exclude.includes(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.includes(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return e.exclude.includes(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.includes(t))}};function li(e,t,n){return new Proxy({props:e,exclude:t},ci)}function ui(e){E===null&&me(`onMount`),Le&&E.l!==null?di(E).m.push(e):ln(()=>{let t=Yn(e);if(typeof t==`function`)return t})}function di(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`),Re();var fi=async(e,t)=>{if(await pi(e,{id:t,type:`module`,async:!0,defer:!0}),window.procaptcha?.render===void 0)throw Error(`Render script does not contain the render function`);return window.procaptcha.render},pi=async(e,t)=>{let n=document.createElement(`script`),r={src:e,...t};Object.assign(n,r),await mi(document.head,n)},mi=async(e,t)=>new Promise((n,r)=>{t.onload=()=>{n()},t.onerror=e=>{r(e)},e.appendChild(t)}),hi=(e=>{let t,n=async()=>(t||=await fi(e.scriptUrl,e.scriptId),t);return async(e,t)=>{let r=Object.assign({},t);await(await n())(e,r)}})({scriptUrl:`https://js.prosopo.io/js/procaptcha.bundle.js`,scriptId:`procaptcha-bundle`}),gi=vr(`<div></div>`);function _i(e,t){Be(t,!0);let n=li(t,[`$$slots`,`$$events`,`$$legacy`]),r=Tt(()=>t.htmlAttributes||{}),i;ui(()=>{Kn().then(()=>{hi(i,n)})});var a=gi();ei(a,()=>({...Q(r)})),ai(a,e=>i=e,()=>i),$(e,a),Ve()}var vi=vr(`<div class="error-container svelte-1n46o8q"><p class="error svelte-1n46o8q">Missing required URL parameters.</p> <p>Please provide both <code class="svelte-1n46o8q">chainId</code> and <code class="svelte-1n46o8q">address</code> in the URL.</p> <p>Example: <code class="svelte-1n46o8q">?chainId=11155111&address=0x...</code></p></div>`),yi=vr(`<p class="loading svelte-1n46o8q">Loading...</p>`),bi=vr(`<p class="captcha-disabled svelte-1n46o8q">Captcha disabled for local development</p>`),xi=vr(`<p class="tx-hash svelte-1n46o8q"><strong>Transaction Hash:</strong> <code class="svelte-1n46o8q"> </code></p>`),Si=vr(`<p class="success svelte-1n46o8q"> </p> <!>`,1),Ci=vr(`<p class="error svelte-1n46o8q"> </p>`),wi=vr(`<div class="params-info svelte-1n46o8q"><p class="svelte-1n46o8q"><strong>Chain ID:</strong> </p> <p class="svelte-1n46o8q"><strong>Recipient:</strong> <code class="svelte-1n46o8q"> </code></p></div> <!> <button class="svelte-1n46o8q"> </button> <!> <!>`,1);function Ti(e,t){Be(t,!1);let n=It(!1),r=It(!1),i=It(``),a=It(``),o=It(``),s=It(``),c=It(!1),l=new URLSearchParams(window.location.search),u=l.get(`chainId`)||``,d=l.get(`address`)||``,f=!u||!d;async function p(){try{F(n,(await(await fetch(`/api/config`)).json()).captchaDisabled===!0),Q(n)&&F(i,`disabled`)}catch(e){console.error(`Failed to load config:`,e)}finally{F(r,!0)}}p();let m=e=>{console.log(`captcha verified`,e),F(i,e),F(a,``),F(o,``),F(s,``)},h=async()=>{if(!Q(i)){F(s,`Please complete the captcha first`);return}if(!u||!d){F(s,`Missing chainId or address in URL parameters`);return}F(c,!0),F(a,``),F(o,``),F(s,``);try{let e=await fetch(`/api/claim`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({token:Q(i),chainId:u,address:d})}),t=await e.json();e.ok&&t.success?(F(a,`Funds sent successfully!`),F(o,t.txHash)):F(s,t.error||`Claim failed`)}catch(e){F(s,e instanceof Error?e.message:`Unknown error`)}finally{F(c,!1)}};oi();var g=yr(),_=Xt(g),v=e=>{$(e,vi())},ee=e=>{$(e,yi())},te=e=>{var t=wi(),r=Xt(t),l=R(r),f=z(R(l));w(l);var p=z(l,2),g=z(R(p),2),_=R(g,!0);w(g),w(p),w(r);var v=z(r,2),ee=e=>{$(e,bi())},te=e=>{_i(e,{get siteKey(){return`5H9eTrTxkUrnuA3xqyzriku7KXW5rPZJBkCKB3E8DoVBcwf1`},language:`en`,callback:m,htmlAttributes:{class:`my-app__procaptcha`}})};Er(v,e=>{Q(n)?e(ee):e(te,-1)});var ne=z(v,2),re=R(ne,!0);w(ne);var ie=z(ne,2),ae=e=>{var t=Si(),n=Xt(t),r=R(n,!0);w(n);var i=z(n,2),s=e=>{var t=xi(),n=z(R(t),2),r=R(n,!0);w(n),w(t),gn(()=>br(r,Q(o))),$(e,t)};Er(i,e=>{Q(o)&&e(s)}),gn(()=>br(r,Q(a))),$(e,t)};Er(ie,e=>{Q(a)&&e(ae)});var oe=z(ie,2),se=e=>{var t=Ci(),n=R(t,!0);w(t),gn(()=>br(n,Q(s))),$(e,t)};Er(oe,e=>{Q(s)&&e(se)}),gn(()=>{br(f,` ${u??``}`),br(_,d),ne.disabled=Q(c)||!Q(i),br(re,Q(c)?`Sending...`:`Claim Funds`)}),ur(`click`,ne,h),$(e,t)};Er(_,e=>{f?e(v):Q(r)?e(te,-1):e(ee,1)}),$(e,g),Ve()}dr([`click`]),xr(Ti,{target:document.getElementById(`app`)});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.success.svelte-1n46o8q{color:green;font-weight:700}.error.svelte-1n46o8q{color:red;font-weight:700}.error-container.svelte-1n46o8q{background:#fff3cd;border:1px solid #ffc107;border-radius:4px;margin-bottom:1rem;padding:1rem}.params-info.svelte-1n46o8q{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;margin-bottom:1rem;padding:1rem}.params-info.svelte-1n46o8q p:where(.svelte-1n46o8q){margin:.25rem 0}.tx-hash.svelte-1n46o8q{word-break:break-all;background:#f8f9fa;border-radius:4px;padding:.5rem}code.svelte-1n46o8q{background:#e9ecef;border-radius:3px;padding:.125rem .25rem;font-family:monospace}button.svelte-1n46o8q{cursor:pointer;margin-top:1rem;padding:.5rem 1rem;font-size:1rem}button.svelte-1n46o8q:disabled{opacity:.5;cursor:not-allowed}.captcha-disabled.svelte-1n46o8q{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:.75rem 1rem;font-style:italic}.loading.svelte-1n46o8q{color:#6c757d;font-style:italic}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
|
+
<title>Faucet</title>
|
|
7
|
+
<link rel="icon" type="image/x-icon" href="/favicon.ico" />
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-CmBiEW2v.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DMjk5t0r.css">
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
<div id="app"></div>
|
|
13
|
+
</body>
|
|
14
|
+
</html>
|