From c641b445f87e398854f1aa96428dd204c8686833 Mon Sep 17 00:00:00 2001 From: giles Date: Fri, 17 Apr 2026 12:53:09 +0000 Subject: [PATCH] Fix: local bindings now shadow HTML tag special forms in browser evaluator MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Root cause: sx_browser.ml registered all HTML tags (a, b, i, p, s, u, g, etc.) as custom special forms. The evaluator's step_eval_list checked custom special forms BEFORE checking local env bindings. So (let ((a (fn () 42))) (a)) matched the HTML tag instead of calling the local function a. Fix: skip custom special forms AND render-check when the symbol is bound in the local env. Added (not (env-has? env name)) guard to both checks in step-eval-list (spec/evaluator.sx and transpiled sx_ref.ml). This was the root cause of "[sx] resume: Not callable: nil" — after hs-wait resumed, calling letrec-bound functions like wait-boot (which is not an HTML tag) worked, but any function whose name collided with an HTML tag failed. Co-Authored-By: Claude Opus 4.6 (1M context) --- hosts/ocaml/browser/test_wasm.sh | 42 + hosts/ocaml/lib/sx_ref.ml | 15 +- shared/static/wasm/sx/adapter-dom.sxbc | 2 +- shared/static/wasm/sx/boot-helpers.sxbc | 2 +- shared/static/wasm/sx/boot.sxbc | 2 +- shared/static/wasm/sx/browser.sxbc | 2 +- shared/static/wasm/sx/dom.sxbc | 2 +- shared/static/wasm/sx/hs-compiler.sxbc | 4 +- shared/static/wasm/sx/hs-integration.sxbc | 2 +- shared/static/wasm/sx/hs-parser.sxbc | 4 +- shared/static/wasm/sx/hs-runtime.sxbc | 4 +- shared/static/wasm/sx/module-manifest.json | 1 + shared/static/wasm/sx/orchestration.sxbc | 2 +- shared/static/wasm/sx_browser.bc.js | 2822 ++++++++++---------- shared/static/wasm/sx_browser.bc.wasm.js | 2 +- spec/evaluator.sx | 9 +- 16 files changed, 1541 insertions(+), 1376 deletions(-) diff --git a/hosts/ocaml/browser/test_wasm.sh b/hosts/ocaml/browser/test_wasm.sh index e8282cfe..c33ffb9f 100755 --- a/hosts/ocaml/browser/test_wasm.sh +++ b/hosts/ocaml/browser/test_wasm.sh @@ -299,6 +299,48 @@ node -e ' K.eval("(let ((d (list))) (let ((el (with-island-scope (fn (x) (append! d x)) (fn () (render-to-dom (quote (div :class (deref test-reactive-sig) \"content\")) (global-env) nil))))) (reset! test-reactive-sig \"after\") (dom-get-attr el \"class\")))"), "after"); + // ===================================================================== + // Section 4: Letrec + perform resume (async _driveAsync) + // ===================================================================== + + // Define the letrec+perform pattern — this matches the test-runner island + K.eval("(define __letrec-test-fn (letrec ((other (fn () \"from-other\")) (go (fn () (do (perform {:op \"io-sleep\" :args (list 50)}) (other))))) go))"); + + // Get the function as a JS-callable value + var letrecFn = K.eval("__letrec-test-fn"); + if (typeof letrecFn !== "function") { + fail++; console.error("FAIL: letrec-fn not callable, got: " + typeof letrecFn); + } else { + // Call via callFn — same path as island click handlers + var letrecResult = K.callFn(letrecFn, []); + // Resume through all suspensions — tests that resume() preserves letrec env + try { + while (letrecResult && letrecResult.suspended) { letrecResult = letrecResult.resume(null); } + assert("letrec sibling after perform resume", letrecResult, "from-other"); + } catch(e) { + fail++; console.error("FAIL: letrec perform resume: " + (e.message || e)); + } + } + + // Recursive letrec after perform — the wait-boot pattern + K.eval("(define __wb-counter 0)"); + K.eval("(define __recur-test-fn (letrec ((recur (fn () (set! __wb-counter (+ __wb-counter 1)) (if (>= __wb-counter 3) \"done\" (do (perform {:op \"io-sleep\" :args (list 10)}) (recur)))))) (fn () (set! __wb-counter 0) (recur))))"); + + var recurFn = K.eval("__recur-test-fn"); + if (typeof recurFn !== "function") { + fail++; console.error("FAIL: recur-fn not callable, got: " + typeof recurFn); + } else { + var recurResult = K.callFn(recurFn, []); + try { + // Resume through all suspensions synchronously + while (recurResult && recurResult.suspended) { recurResult = recurResult.resume(null); } + assert("recursive letrec after perform", recurResult, "done"); + assert("recursive letrec counter", K.eval("__wb-counter"), 3); + } catch(e) { + fail++; console.error("FAIL: recursive letrec perform: " + (e.message || e)); + } + } + // ===================================================================== // Summary // ===================================================================== diff --git a/hosts/ocaml/lib/sx_ref.ml b/hosts/ocaml/lib/sx_ref.ml index ad1bb896..d0f8086e 100644 --- a/hosts/ocaml/lib/sx_ref.ml +++ b/hosts/ocaml/lib/sx_ref.ml @@ -629,7 +629,18 @@ and cek_run state = (* cek-resume *) and cek_resume suspended_state result' = - (cek_step_loop ((make_cek_value (result') ((cek_env (suspended_state))) ((cek_kont (suspended_state)))))) + let env = cek_env suspended_state in + let kont = cek_kont suspended_state in + let kont_len = match kont with List l | ListRef { contents = l } -> List.length l | _ -> -1 in + let frame_type = match kont with + | List (CekFrame f :: _) | ListRef { contents = CekFrame f :: _ } -> f.cf_type + | _ -> "?" in + Printf.eprintf "[cek_resume] kont_len=%d frame0=%s result=%s step_count=%d step_limit=%d\n%!" kont_len frame_type (Sx_types.inspect result') !step_count !step_limit; + let state = make_cek_value result' env kont in + let final = cek_step_loop state in + let final_phase = match cek_phase final with String s -> s | _ -> "?" in + Printf.eprintf "[cek_resume] final phase=%s value=%s\n%!" final_phase (Sx_types.inspect (cek_value final)); + final (* cek-step *) and cek_step state = @@ -666,7 +677,7 @@ and step_sf_let_match args env kont = (* step-eval-list *) and step_eval_list expr env kont = - (let head = (first (expr)) in let args = (rest (expr)) in (if sx_truthy ((Bool (not (sx_truthy ((let _or = (prim_call "=" [(type_of (head)); (String "symbol")]) in if sx_truthy _or then _or else (let _or = (prim_call "=" [(type_of (head)); (String "lambda")]) in if sx_truthy _or then _or else (prim_call "=" [(type_of (head)); (String "list")])))))))) then (if sx_truthy ((empty_p (expr))) then (make_cek_value ((List [])) (env) (kont)) else (make_cek_state ((first (expr))) (env) ((kont_push ((make_map_frame (Nil) ((rest (expr))) ((List [])) (env))) (kont))))) else (if sx_truthy ((prim_call "=" [(type_of (head)); (String "symbol")])) then (let name = (symbol_name (head)) in (let _match_val = name in (if sx_truthy ((prim_call "=" [_match_val; (String "if")])) then (step_sf_if (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "when")])) then (step_sf_when (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "cond")])) then (step_sf_cond (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "case")])) then (step_sf_case (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "and")])) then (step_sf_and (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "or")])) then (step_sf_or (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "let")])) then (step_sf_let (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "let*")])) then (step_sf_let (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "lambda")])) then (step_sf_lambda (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "fn")])) then (step_sf_lambda (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "define")])) then (step_sf_define (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "defcomp")])) then (make_cek_value ((sf_defcomp (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "defisland")])) then (make_cek_value ((sf_defisland (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "defmacro")])) then (make_cek_value ((sf_defmacro (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "defio")])) then (make_cek_value ((sf_defio (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "define-foreign")])) then (step_sf_define_foreign (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "io")])) then (step_sf_io (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "begin")])) then (step_sf_begin (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "do")])) then (if sx_truthy ((let _and = (Bool (not (sx_truthy ((empty_p (args)))))) in if not (sx_truthy _and) then _and else (let _and = (list_p ((first (args)))) in if not (sx_truthy _and) then _and else (let _and = (Bool (not (sx_truthy ((empty_p ((first (args)))))))) in if not (sx_truthy _and) then _and else (list_p ((first ((first (args)))))))))) then (let bindings = (first (args)) in let test_clause = (nth (args) ((Number 1.0))) in let body = (rest ((rest (args)))) in let vars = (List (List.map (fun b -> (first (b))) (sx_to_list bindings))) in let inits = (List (List.map (fun b -> (nth (b) ((Number 1.0)))) (sx_to_list bindings))) in let steps = (List (List.map (fun b -> (if sx_truthy ((prim_call ">" [(len (b)); (Number 2.0)])) then (nth (b) ((Number 2.0))) else (first (b)))) (sx_to_list bindings))) in let test = (first (test_clause)) in let result' = (rest (test_clause)) in (step_eval_list ((cons ((Symbol "let")) ((cons ((Symbol "__do-loop")) ((cons ((List (List.map (fun b -> (List [(first (b)); (nth (b) ((Number 1.0)))])) (sx_to_list bindings)))) ((List [(cons ((Symbol "if")) ((cons (test) ((cons ((if sx_truthy ((empty_p (result'))) then Nil else (cons ((Symbol "begin")) (result')))) ((List [(cons ((Symbol "begin")) ((prim_call "append" [body; (List [(cons ((Symbol "__do-loop")) (steps))])])))])))))))])))))))) (env) (kont))) else (step_sf_begin (args) (env) (kont))) else (if sx_truthy ((prim_call "=" [_match_val; (String "guard")])) then (step_sf_guard (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "quote")])) then (make_cek_value ((if sx_truthy ((empty_p (args))) then Nil else (first (args)))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "quasiquote")])) then (make_cek_value ((qq_expand ((first (args))) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "->")])) then (step_sf_thread_first (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "->>")])) then (step_sf_thread_last (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "|>")])) then (step_sf_thread_last (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "as->")])) then (step_sf_thread_as (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "set!")])) then (step_sf_set_b (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "letrec")])) then (step_sf_letrec (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "reset")])) then (step_sf_reset (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "shift")])) then (step_sf_shift (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "deref")])) then (step_sf_deref (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "scope")])) then (step_sf_scope (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "provide")])) then (step_sf_provide (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "peek")])) then (step_sf_peek (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "provide!")])) then (step_sf_provide_b (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "context")])) then (step_sf_context (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "bind")])) then (step_sf_bind (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "emit!")])) then (step_sf_emit (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "emitted")])) then (step_sf_emitted (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "handler-bind")])) then (step_sf_handler_bind (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "restart-case")])) then (step_sf_restart_case (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "signal-condition")])) then (step_sf_signal (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "invoke-restart")])) then (step_sf_invoke_restart (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "match")])) then (step_sf_match (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "let-match")])) then (step_sf_let_match (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "dynamic-wind")])) then (make_cek_value ((sf_dynamic_wind (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "map")])) then (step_ho_map (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "map-indexed")])) then (step_ho_map_indexed (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "filter")])) then (step_ho_filter (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "reduce")])) then (step_ho_reduce (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "some")])) then (step_ho_some (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "every?")])) then (step_ho_every (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "for-each")])) then (step_ho_for_each (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "raise")])) then (step_sf_raise (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "raise-continuable")])) then (make_cek_state ((first (args))) (env) ((kont_push ((make_raise_eval_frame (env) ((Bool true)))) (kont)))) else (if sx_truthy ((prim_call "=" [_match_val; (String "call/cc")])) then (step_sf_callcc (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "call-with-current-continuation")])) then (step_sf_callcc (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "perform")])) then (step_sf_perform (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "define-library")])) then (step_sf_define_library (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "import")])) then (step_sf_import (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "define-record-type")])) then (make_cek_value ((sf_define_record_type (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "define-protocol")])) then (make_cek_value ((sf_define_protocol (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "implement")])) then (make_cek_value ((sf_implement (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "parameterize")])) then (step_sf_parameterize (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "syntax-rules")])) then (make_cek_value ((sf_syntax_rules (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "define-syntax")])) then (step_sf_define (args) (env) (kont)) else (if sx_truthy ((prim_call "has-key?" [custom_special_forms; name])) then (make_cek_value ((cek_call ((get (custom_special_forms) (name))) (List [args; env]))) (env) (kont)) else (if sx_truthy ((let _and = (env_has (env) (name)) in if not (sx_truthy _and) then _and else (is_macro ((env_get (env) (name)))))) then (let mac = (env_get (env) (name)) in (make_cek_state ((expand_macro (mac) (args) (env))) (env) (kont))) else (if sx_truthy ((let _and = render_check in if not (sx_truthy _and) then _and else (cek_call (render_check) (List [expr; env])))) then (make_cek_value ((cek_call (render_fn) (List [expr; env]))) (env) (kont)) else (step_eval_call (head) (args) (env) (kont))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) else (step_eval_call (head) (args) (env) (kont))))) + (let head = (first (expr)) in let args = (rest (expr)) in (if sx_truthy ((Bool (not (sx_truthy ((let _or = (prim_call "=" [(type_of (head)); (String "symbol")]) in if sx_truthy _or then _or else (let _or = (prim_call "=" [(type_of (head)); (String "lambda")]) in if sx_truthy _or then _or else (prim_call "=" [(type_of (head)); (String "list")])))))))) then (if sx_truthy ((empty_p (expr))) then (make_cek_value ((List [])) (env) (kont)) else (make_cek_state ((first (expr))) (env) ((kont_push ((make_map_frame (Nil) ((rest (expr))) ((List [])) (env))) (kont))))) else (if sx_truthy ((prim_call "=" [(type_of (head)); (String "symbol")])) then (let name = (symbol_name (head)) in (let _match_val = name in (if sx_truthy ((prim_call "=" [_match_val; (String "if")])) then (step_sf_if (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "when")])) then (step_sf_when (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "cond")])) then (step_sf_cond (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "case")])) then (step_sf_case (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "and")])) then (step_sf_and (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "or")])) then (step_sf_or (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "let")])) then (step_sf_let (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "let*")])) then (step_sf_let (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "lambda")])) then (step_sf_lambda (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "fn")])) then (step_sf_lambda (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "define")])) then (step_sf_define (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "defcomp")])) then (make_cek_value ((sf_defcomp (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "defisland")])) then (make_cek_value ((sf_defisland (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "defmacro")])) then (make_cek_value ((sf_defmacro (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "defio")])) then (make_cek_value ((sf_defio (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "define-foreign")])) then (step_sf_define_foreign (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "io")])) then (step_sf_io (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "begin")])) then (step_sf_begin (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "do")])) then (if sx_truthy ((let _and = (Bool (not (sx_truthy ((empty_p (args)))))) in if not (sx_truthy _and) then _and else (let _and = (list_p ((first (args)))) in if not (sx_truthy _and) then _and else (let _and = (Bool (not (sx_truthy ((empty_p ((first (args)))))))) in if not (sx_truthy _and) then _and else (list_p ((first ((first (args)))))))))) then (let bindings = (first (args)) in let test_clause = (nth (args) ((Number 1.0))) in let body = (rest ((rest (args)))) in let vars = (List (List.map (fun b -> (first (b))) (sx_to_list bindings))) in let inits = (List (List.map (fun b -> (nth (b) ((Number 1.0)))) (sx_to_list bindings))) in let steps = (List (List.map (fun b -> (if sx_truthy ((prim_call ">" [(len (b)); (Number 2.0)])) then (nth (b) ((Number 2.0))) else (first (b)))) (sx_to_list bindings))) in let test = (first (test_clause)) in let result' = (rest (test_clause)) in (step_eval_list ((cons ((Symbol "let")) ((cons ((Symbol "__do-loop")) ((cons ((List (List.map (fun b -> (List [(first (b)); (nth (b) ((Number 1.0)))])) (sx_to_list bindings)))) ((List [(cons ((Symbol "if")) ((cons (test) ((cons ((if sx_truthy ((empty_p (result'))) then Nil else (cons ((Symbol "begin")) (result')))) ((List [(cons ((Symbol "begin")) ((prim_call "append" [body; (List [(cons ((Symbol "__do-loop")) (steps))])])))])))))))])))))))) (env) (kont))) else (step_sf_begin (args) (env) (kont))) else (if sx_truthy ((prim_call "=" [_match_val; (String "guard")])) then (step_sf_guard (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "quote")])) then (make_cek_value ((if sx_truthy ((empty_p (args))) then Nil else (first (args)))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "quasiquote")])) then (make_cek_value ((qq_expand ((first (args))) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "->")])) then (step_sf_thread_first (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "->>")])) then (step_sf_thread_last (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "|>")])) then (step_sf_thread_last (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "as->")])) then (step_sf_thread_as (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "set!")])) then (step_sf_set_b (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "letrec")])) then (step_sf_letrec (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "reset")])) then (step_sf_reset (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "shift")])) then (step_sf_shift (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "deref")])) then (step_sf_deref (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "scope")])) then (step_sf_scope (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "provide")])) then (step_sf_provide (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "peek")])) then (step_sf_peek (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "provide!")])) then (step_sf_provide_b (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "context")])) then (step_sf_context (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "bind")])) then (step_sf_bind (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "emit!")])) then (step_sf_emit (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "emitted")])) then (step_sf_emitted (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "handler-bind")])) then (step_sf_handler_bind (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "restart-case")])) then (step_sf_restart_case (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "signal-condition")])) then (step_sf_signal (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "invoke-restart")])) then (step_sf_invoke_restart (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "match")])) then (step_sf_match (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "let-match")])) then (step_sf_let_match (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "dynamic-wind")])) then (make_cek_value ((sf_dynamic_wind (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "map")])) then (step_ho_map (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "map-indexed")])) then (step_ho_map_indexed (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "filter")])) then (step_ho_filter (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "reduce")])) then (step_ho_reduce (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "some")])) then (step_ho_some (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "every?")])) then (step_ho_every (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "for-each")])) then (step_ho_for_each (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "raise")])) then (step_sf_raise (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "raise-continuable")])) then (make_cek_state ((first (args))) (env) ((kont_push ((make_raise_eval_frame (env) ((Bool true)))) (kont)))) else (if sx_truthy ((prim_call "=" [_match_val; (String "call/cc")])) then (step_sf_callcc (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "call-with-current-continuation")])) then (step_sf_callcc (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "perform")])) then (step_sf_perform (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "define-library")])) then (step_sf_define_library (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "import")])) then (step_sf_import (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "define-record-type")])) then (make_cek_value ((sf_define_record_type (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "define-protocol")])) then (make_cek_value ((sf_define_protocol (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "implement")])) then (make_cek_value ((sf_implement (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "parameterize")])) then (step_sf_parameterize (args) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "syntax-rules")])) then (make_cek_value ((sf_syntax_rules (args) (env))) (env) (kont)) else (if sx_truthy ((prim_call "=" [_match_val; (String "define-syntax")])) then (step_sf_define (args) (env) (kont)) else (if sx_truthy ((let _and = (prim_call "has-key?" [custom_special_forms; name]) in if not (sx_truthy _and) then _and else (Bool (not (sx_truthy ((env_has (env) (name)))))))) then (make_cek_value ((cek_call ((get (custom_special_forms) (name))) (List [args; env]))) (env) (kont)) else (if sx_truthy ((let _and = (env_has (env) (name)) in if not (sx_truthy _and) then _and else (is_macro ((env_get (env) (name)))))) then (let mac = (env_get (env) (name)) in (make_cek_state ((expand_macro (mac) (args) (env))) (env) (kont))) else (if sx_truthy ((let _and = render_check in if not (sx_truthy _and) then _and else (let _and = (Bool (not (sx_truthy ((env_has (env) (name)))))) in if not (sx_truthy _and) then _and else (cek_call (render_check) (List [expr; env]))))) then (make_cek_value ((cek_call (render_fn) (List [expr; env]))) (env) (kont)) else (step_eval_call (head) (args) (env) (kont))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) else (step_eval_call (head) (args) (env) (kont))))) (* kont-extract-provides *) and kont_extract_provides kont = diff --git a/shared/static/wasm/sx/adapter-dom.sxbc b/shared/static/wasm/sx/adapter-dom.sxbc index a2948d3b..486904ca 100644 --- a/shared/static/wasm/sx/adapter-dom.sxbc +++ b/shared/static/wasm/sx/adapter-dom.sxbc @@ -1,3 +1,3 @@ (sxbc 1 "3b5716d59db13e89" (code - :constants ("SVG_NS" "http://www.w3.org/2000/svg" "MATH_NS" "http://www.w3.org/1998/Math/MathML" "island-scope?" {:upvalue-count 0 :arity 0 :constants ("not" "nil?" "scope-peek" "sx-island-scope") :bytecode (1 3 0 52 2 0 1 52 1 0 1 52 0 0 1 50)} "hydrating?" {:upvalue-count 0 :arity 0 :constants ("not" "nil?" "scope-peek" "sx-hydrating") :bytecode (1 3 0 52 2 0 1 52 1 0 1 52 0 0 1 50)} "hydrate-next-node" {:upvalue-count 0 :arity 0 :constants ("scope-peek" "sx-hydrating" "dict-get" "parent" "index" "host-call" "host-get" "childNodes" "item" "dict-set!" "+" 1) :bytecode (1 1 0 52 0 0 1 17 0 16 0 33 68 0 16 0 1 3 0 52 2 0 2 17 1 16 0 1 4 0 52 2 0 2 17 2 20 5 0 20 6 0 16 1 1 7 0 48 2 1 8 0 16 2 48 3 17 3 16 0 1 4 0 16 2 1 11 0 52 10 0 2 52 9 0 3 5 16 3 32 1 0 2 50)} "hydrate-enter-element" {:upvalue-count 0 :arity 1 :constants ("scope-push!" "sx-hydrating" "dict" "parent" "index" 0) :bytecode (1 1 0 1 3 0 16 0 1 4 0 1 5 0 52 2 0 4 52 0 0 2 50)} "hydrate-exit-element" {:upvalue-count 0 :arity 0 :constants ("scope-pop!" "sx-hydrating") :bytecode (1 1 0 52 0 0 1 50)} "*memo-cache*" "dict" "*cyst-counter*" 0 "next-cyst-id" {:upvalue-count 0 :arity 0 :constants ("+" "*cyst-counter*" 1 "str" "sx-cyst-") :bytecode (20 1 0 1 2 0 52 0 0 2 21 1 0 5 1 4 0 20 1 0 52 3 0 2 50)} "contains-deref?" {:upvalue-count 0 :arity 1 :constants ("not" "list?" "empty?" "=" "type-of" "first" "symbol" "symbol-name" "deref" "some" "contains-deref?") :bytecode (16 0 52 1 0 1 52 0 0 1 33 4 0 4 32 68 0 16 0 52 2 0 1 33 4 0 4 32 55 0 16 0 52 5 0 1 52 4 0 1 1 6 0 52 3 0 2 6 33 18 0 5 16 0 52 5 0 1 52 7 0 1 1 8 0 52 3 0 2 33 4 0 3 32 9 0 20 10 0 16 0 52 9 0 2 50)} "dom-on" {:upvalue-count 0 :arity 3 :constants ("dom-listen" "lambda?" "=" 0 "len" "lambda-params" {:upvalue-count 1 :arity 1 :constants ("trampoline" "call-lambda" "list" "run-post-render-hooks") :bytecode (18 0 52 2 0 0 52 1 0 2 52 0 0 1 5 20 3 0 49 0 50)} {:upvalue-count 1 :arity 1 :constants ("trampoline" "call-lambda" "list" "run-post-render-hooks") :bytecode (18 0 16 0 52 2 0 1 52 1 0 2 52 0 0 1 5 20 3 0 49 0 50)}) :bytecode (20 0 0 16 0 16 1 16 2 52 1 0 1 33 36 0 1 3 0 16 2 52 5 0 1 52 4 0 1 52 2 0 2 33 8 0 51 6 0 1 2 32 5 0 51 7 0 1 2 32 2 0 16 2 49 3 50)} "render-to-dom" {:upvalue-count 0 :arity 3 :constants ("set-render-active!" "type-of" "nil" "=" "create-fragment" "boolean" "raw-html" "dom-parse-html" "raw-html-content" "string" "hydrating?" "hydrate-next-node" "create-text-node" "number" "str" "symbol" "render-to-dom" "trampoline" "eval-expr" "keyword" "keyword-name" "dom-node" "spread" "not" "island-scope?" "scope-emit!" "element-attrs" "spread-attrs" "dict" "has-key?" "__host_handle" "list" "empty?" "render-dom-list" "signal?" "reactive-text" "deref") :bytecode (3 52 0 0 1 5 16 0 52 1 0 1 6 1 2 0 52 3 0 2 33 9 0 5 20 4 0 49 0 32 194 1 6 1 5 0 52 3 0 2 33 9 0 5 20 4 0 49 0 32 174 1 6 1 6 0 52 3 0 2 33 15 0 5 20 7 0 16 0 52 8 0 1 49 1 32 148 1 6 1 9 0 52 3 0 2 33 39 0 5 20 10 0 48 0 33 20 0 20 11 0 48 0 6 34 8 0 5 20 12 0 16 0 49 1 32 7 0 20 12 0 16 0 49 1 32 98 1 6 1 13 0 52 3 0 2 33 47 0 5 20 10 0 48 0 33 24 0 20 11 0 48 0 6 34 12 0 5 20 12 0 16 0 52 14 0 1 49 1 32 11 0 20 12 0 16 0 52 14 0 1 49 1 32 40 1 6 1 15 0 52 3 0 2 33 25 0 5 20 16 0 16 0 16 1 52 18 0 2 52 17 0 1 16 1 16 2 49 3 32 4 1 6 1 19 0 52 3 0 2 33 47 0 5 20 10 0 48 0 33 24 0 20 11 0 48 0 6 34 12 0 5 20 12 0 16 0 52 20 0 1 49 1 32 11 0 20 12 0 16 0 52 20 0 1 49 1 32 202 0 6 1 21 0 52 3 0 2 33 6 0 5 16 0 32 185 0 6 1 22 0 52 3 0 2 33 36 0 5 20 24 0 48 0 52 23 0 1 33 16 0 1 26 0 16 0 52 27 0 1 52 25 0 2 32 1 0 2 5 16 0 32 138 0 6 1 28 0 52 3 0 2 33 26 0 5 16 0 1 30 0 52 29 0 2 33 5 0 16 0 32 5 0 20 4 0 49 0 32 101 0 6 1 31 0 52 3 0 2 33 32 0 5 16 0 52 32 0 1 33 8 0 20 4 0 49 0 32 11 0 20 33 0 16 0 16 1 16 2 49 3 32 58 0 5 20 34 0 16 0 48 1 33 36 0 20 24 0 48 0 33 10 0 20 35 0 16 0 49 1 32 15 0 20 12 0 16 0 52 36 0 1 52 14 0 1 49 1 32 11 0 20 12 0 16 0 52 14 0 1 49 1 50)} "render-dom-list" {:upvalue-count 0 :arity 3 :constants ("first" "=" "type-of" "symbol" "symbol-name" "rest" "raw!" "render-dom-raw" "<>" "render-dom-fragment" "lake" "render-dom-lake" "marsh" "render-dom-marsh" "starts-with?" "html:" "render-dom-element" "slice" 5 "render-dom-form?" "contains?" "HTML_TAGS" ">" "len" 0 "keyword" "dispatch-render-form" "env-has?" "macro?" "env-get" "render-to-dom" "expand-macro" "~" "island?" "scope-peek" "sx-render-markers" "dom-create-element" "span" "dict" "reduce" {:upvalue-count 3 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "dict-set!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 145 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 79 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 18 2 16 3 16 4 52 14 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 22 0 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" "skip" "dom-set-attr" "data-sx-island" "component-name" "not" "empty-dict?" "data-sx-state" "sx-serialize" "render-dom-island" "component?" "render-dom-component" "render-dom-unknown-component" "index-of" "-" "deref" "island-scope?" "trampoline" "eval-expr" "signal?" "reactive-text" "create-text-node" "str" "contains-deref?" "computed" {:upvalue-count 2 :arity 0 :constants ("trampoline" "eval-expr") :bytecode (18 0 18 1 52 1 0 2 52 0 0 1 50)} "lambda?" "list" "create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 33 12 0 20 3 0 18 2 16 1 49 2 32 1 0 2 50)}) :bytecode (16 0 52 0 0 1 17 3 16 3 52 2 0 1 1 3 0 52 1 0 2 33 52 3 16 3 52 4 0 1 17 4 16 0 52 5 0 1 17 5 16 4 1 6 0 52 1 0 2 33 12 0 20 7 0 16 5 16 1 49 2 32 9 3 16 4 1 8 0 52 1 0 2 33 14 0 20 9 0 16 5 16 1 16 2 49 3 32 239 2 16 4 1 10 0 52 1 0 2 33 14 0 20 11 0 16 5 16 1 16 2 49 3 32 213 2 16 4 1 12 0 52 1 0 2 33 14 0 20 13 0 16 5 16 1 16 2 49 3 32 187 2 16 4 1 15 0 52 14 0 2 33 23 0 20 16 0 16 4 1 18 0 52 17 0 2 16 5 16 1 16 2 49 4 32 152 2 20 19 0 16 4 48 1 33 91 0 20 21 0 16 4 52 20 0 2 6 33 43 0 5 16 5 52 23 0 1 1 24 0 52 22 0 2 6 33 18 0 5 16 5 52 0 0 1 52 2 0 1 1 25 0 52 1 0 2 6 34 3 0 5 16 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 13 0 20 26 0 16 4 16 0 16 1 16 2 49 4 32 51 2 16 1 16 4 52 27 0 2 6 33 13 0 5 16 1 16 4 52 29 0 2 52 28 0 1 33 28 0 20 30 0 16 1 16 4 52 29 0 2 16 5 16 1 52 31 0 3 16 1 16 2 49 3 32 251 1 20 21 0 16 4 52 20 0 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 223 1 16 4 1 32 0 52 14 0 2 6 33 26 0 5 16 1 16 4 52 27 0 2 6 33 13 0 5 16 1 16 4 52 29 0 2 52 33 0 1 33 145 0 1 35 0 52 34 0 1 33 113 0 16 1 16 4 52 29 0 2 17 6 20 36 0 1 37 0 2 48 2 17 7 52 38 0 0 17 8 51 40 0 1 5 1 1 1 8 1 41 0 1 24 0 1 42 0 4 52 38 0 4 16 5 52 39 0 3 5 20 43 0 16 7 1 44 0 16 6 52 45 0 1 48 3 5 16 8 52 47 0 1 52 46 0 1 33 19 0 20 43 0 16 7 1 48 0 16 8 52 49 0 1 48 3 32 1 0 2 5 16 7 32 19 0 20 50 0 16 1 16 4 52 29 0 2 16 5 16 1 16 2 49 4 32 36 1 16 4 1 32 0 52 14 0 2 33 45 0 16 1 16 4 52 29 0 2 17 6 16 6 52 51 0 1 33 16 0 20 52 0 16 6 16 5 16 1 16 2 49 4 32 7 0 20 53 0 16 4 49 1 32 235 0 16 4 1 55 0 52 54 0 2 1 24 0 52 22 0 2 6 33 36 0 5 16 5 52 23 0 1 1 24 0 52 22 0 2 6 33 18 0 5 16 5 52 0 0 1 52 2 0 1 1 25 0 52 1 0 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 160 0 16 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 139 0 16 4 1 56 0 52 1 0 2 6 33 6 0 5 20 57 0 48 0 33 56 0 16 5 52 0 0 1 16 1 52 59 0 2 52 58 0 1 17 6 20 60 0 16 6 48 1 33 10 0 20 61 0 16 6 49 1 32 15 0 20 62 0 16 6 52 56 0 1 52 63 0 1 49 1 32 61 0 20 57 0 48 0 6 33 8 0 5 20 64 0 16 0 48 1 33 20 0 20 61 0 20 65 0 51 66 0 1 0 1 1 48 1 49 1 32 21 0 20 30 0 16 0 16 1 52 59 0 2 52 58 0 1 16 1 16 2 49 3 32 76 0 16 3 52 67 0 1 6 34 14 0 5 16 3 52 2 0 1 1 68 0 52 1 0 2 33 24 0 20 30 0 16 0 16 1 52 59 0 2 52 58 0 1 16 1 16 2 49 3 32 25 0 20 69 0 48 0 17 4 51 71 0 1 1 1 2 1 4 16 0 52 70 0 2 5 16 4 50)} "render-dom-element" {:upvalue-count 0 :arity 4 :constants ("=" "svg" "SVG_NS" "math" "MATH_NS" "hydrating?" "hydrate-next-node" "lower" "host-get" "tagName" "" "hydrate-enter-element" "error" "str" "hydrate-mismatch:" "dom-create-element" "scope-push!" "element-attrs" "reduce" {:upvalue-count 5 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "nth" "starts-with?" "on-" "trampoline" "eval-expr" "callable?" "dom-on" "slice" 3 "bind" "signal?" "bind-input" "ref" "dict-set!" "current" "key" "dom-set-attr" "str" "island-scope?" "reactive-attr" {:upvalue-count 2 :arity 0 :constants ("trampoline" "eval-expr") :bytecode (18 0 18 1 52 1 0 2 52 0 0 1 50)} "nil?" "contains?" "BOOLEAN_ATTRS" "" "not" "VOID_ELEMENTS" "render-to-dom" "spread?" "reactive-spread" {:upvalue-count 3 :arity 0 :constants ("render-to-dom") :bytecode (20 0 0 18 0 18 1 18 2 49 3 50)} "hydrating?" "dom-parent" "dom-append") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 98 2 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 162 1 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 11 0 2 17 4 16 3 1 13 0 52 12 0 2 33 49 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 16 0 16 5 48 1 33 21 0 20 17 0 18 2 16 3 1 19 0 52 18 0 2 16 5 48 3 32 1 0 2 32 42 1 16 3 1 20 0 52 5 0 2 33 40 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 21 0 16 5 48 1 33 12 0 20 22 0 18 2 16 5 48 2 32 1 0 2 32 246 0 16 3 1 23 0 52 5 0 2 33 47 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 16 0 16 5 48 1 33 9 0 16 5 18 2 48 1 32 11 0 16 5 1 25 0 18 2 52 24 0 3 32 187 0 16 3 1 26 0 52 5 0 2 33 33 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 27 0 18 2 1 26 0 16 5 52 28 0 1 48 3 32 142 0 20 29 0 48 0 33 19 0 20 30 0 18 2 16 3 51 31 0 1 4 0 1 48 3 32 115 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 16 5 52 32 0 1 6 34 8 0 5 16 5 4 52 5 0 2 33 4 0 2 32 76 0 20 34 0 16 3 52 33 0 2 33 24 0 16 5 33 15 0 20 27 0 18 2 16 3 1 35 0 48 3 32 1 0 2 32 40 0 16 5 3 52 5 0 2 33 15 0 20 27 0 18 2 16 3 1 35 0 48 3 32 15 0 20 27 0 18 2 16 3 16 5 52 28 0 1 48 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 148 0 20 37 0 18 3 52 33 0 2 52 36 0 1 33 108 0 20 38 0 16 1 18 1 18 4 48 3 17 3 16 3 52 39 0 1 6 33 6 0 5 20 29 0 48 0 33 19 0 20 40 0 18 2 51 41 0 1 1 0 1 0 4 48 2 32 54 0 16 3 52 39 0 1 33 4 0 2 32 41 0 20 42 0 48 0 52 36 0 1 6 34 12 0 5 20 43 0 16 3 48 1 52 32 0 1 33 12 0 20 44 0 18 2 16 3 48 2 32 1 0 2 32 1 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "for-each" {:upvalue-count 1 :arity 1 :constants ("for-each" {:upvalue-count 2 :arity 1 :constants ("dict-get" "=" "class" "dom-get-attr" "dom-set-attr" "not" "" "str" " " "style" ";") :bytecode (18 0 16 0 52 0 0 2 17 1 16 0 1 2 0 52 1 0 2 33 64 0 20 3 0 18 1 1 2 0 48 2 17 2 20 4 0 18 1 1 2 0 16 2 6 33 14 0 5 16 2 1 6 0 52 1 0 2 52 5 0 1 33 14 0 16 2 1 8 0 16 1 52 7 0 3 32 2 0 16 1 49 3 32 91 0 16 0 1 9 0 52 1 0 2 33 64 0 20 3 0 18 1 1 9 0 48 2 17 2 20 4 0 18 1 1 9 0 16 2 6 33 14 0 5 16 2 1 6 0 52 1 0 2 52 5 0 1 33 14 0 16 2 1 10 0 16 1 52 7 0 3 32 2 0 16 1 49 3 32 15 0 20 4 0 18 1 16 0 16 1 52 7 0 1 49 3 50)} "keys") :bytecode (51 1 0 1 0 0 0 16 0 52 2 0 1 52 0 0 2 50)} "scope-emitted" "scope-pop!" "hydrate-exit-element") :bytecode (16 0 1 1 0 52 0 0 2 33 6 0 20 2 0 32 20 0 16 0 1 3 0 52 0 0 2 33 6 0 20 4 0 32 2 0 16 3 17 4 20 5 0 48 0 33 74 0 20 6 0 48 0 17 5 16 5 6 33 29 0 5 20 8 0 16 5 1 9 0 48 2 6 34 4 0 5 1 10 0 52 7 0 1 16 0 52 0 0 2 33 13 0 20 11 0 16 5 48 1 5 16 5 32 13 0 1 14 0 16 0 52 13 0 2 52 12 0 1 32 9 0 20 15 0 16 0 16 4 48 2 17 5 1 17 0 2 52 16 0 2 5 51 19 0 1 1 1 2 1 5 1 0 1 4 1 21 0 1 22 0 1 23 0 4 52 20 0 4 16 1 52 18 0 3 5 51 25 0 1 5 1 17 0 52 26 0 1 52 24 0 2 5 1 17 0 52 27 0 1 5 20 5 0 48 0 33 8 0 20 28 0 48 0 32 1 0 2 5 16 5 50)} "render-dom-component" {:upvalue-count 0 :arity 4 :constants ("dict" "list" "reduce" {:upvalue-count 4 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "trampoline" "eval-expr" "nth" "dict-set!" "keyword-name" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 150 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 75 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 12 0 2 18 1 52 11 0 2 52 10 0 1 17 3 18 2 16 1 52 14 0 1 16 3 52 13 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 3 16 1 52 15 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" 0 "skip" "env-merge" "component-closure" "for-each" {:upvalue-count 2 :arity 1 :constants ("env-bind!" "dict-has?" "dict-get") :bytecode (18 0 16 0 18 1 16 0 52 1 0 2 33 11 0 18 1 16 0 52 2 0 2 32 1 0 2 52 0 0 3 50)} "component-params" "component-has-children?" "create-fragment" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 33 12 0 20 3 0 18 2 16 1 49 2 32 1 0 2 50)} "env-bind!" "children" "render-to-dom" "component-body") :bytecode (52 0 0 0 17 4 52 1 0 0 17 5 51 3 0 1 1 1 2 1 4 1 5 1 4 0 1 5 0 1 6 0 4 52 0 0 4 16 1 52 2 0 3 5 16 0 52 8 0 1 16 2 52 7 0 2 17 6 51 10 0 1 6 1 4 16 0 52 11 0 1 52 9 0 2 5 16 0 52 12 0 1 33 37 0 20 13 0 48 0 17 7 51 14 0 1 2 1 3 1 7 16 5 52 9 0 2 5 16 6 1 16 0 16 7 52 15 0 3 32 1 0 2 5 20 17 0 16 0 52 18 0 1 16 6 16 3 49 3 50)} "render-dom-fragment" {:upvalue-count 0 :arity 3 :constants ("hydrating?" "create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "nil?" "dom-parent" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 6 33 12 0 5 20 4 0 16 1 48 1 52 3 0 1 33 12 0 20 5 0 18 2 16 1 49 2 32 1 0 2 50)} {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 33 12 0 20 3 0 18 2 16 1 49 2 32 1 0 2 50)}) :bytecode (20 0 0 48 0 33 28 0 20 1 0 48 0 17 3 51 3 0 1 1 1 2 1 3 16 0 52 2 0 2 5 16 3 32 25 0 20 1 0 48 0 17 3 51 4 0 1 1 1 2 1 3 16 0 52 2 0 2 5 16 3 50)} "render-dom-raw" {:upvalue-count 0 :arity 2 :constants ("create-fragment" "for-each" {:upvalue-count 2 :arity 1 :constants ("trampoline" "eval-expr" "=" "type-of" "string" "dom-append" "dom-parse-html" "dom-node" "dom-clone" "not" "nil?" "create-text-node" "str") :bytecode (16 0 18 0 52 1 0 2 52 0 0 1 17 1 16 1 52 3 0 1 1 4 0 52 2 0 2 33 17 0 20 5 0 18 1 20 6 0 16 1 48 1 49 2 32 68 0 16 1 52 3 0 1 1 7 0 52 2 0 2 33 17 0 20 5 0 18 1 20 8 0 16 1 48 1 49 2 32 35 0 16 1 52 10 0 1 52 9 0 1 33 21 0 20 5 0 18 1 20 11 0 16 1 52 12 0 1 48 1 49 2 32 1 0 2 50)}) :bytecode (20 0 0 48 0 17 2 51 2 0 1 1 1 2 16 0 52 1 0 2 5 16 2 50)} "render-dom-unknown-component" {:upvalue-count 0 :arity 1 :constants ("error" "str" "Unknown component: ") :bytecode (1 2 0 16 0 52 1 0 2 52 0 0 1 50)} "RENDER_DOM_FORMS" "list" "if" "when" "cond" "case" "let" "let*" "letrec" "begin" "do" "define" "defcomp" "defisland" "defmacro" "defstyle" "map" "map-indexed" "filter" "for-each" "portal" "error-boundary" "scope" "provide" "cyst" "render-dom-form?" {:upvalue-count 0 :arity 1 :constants ("contains?" "RENDER_DOM_FORMS") :bytecode (20 1 0 16 0 52 0 0 2 50)} "dispatch-render-form" {:upvalue-count 0 :arity 4 :constants ("=" "if" "island-scope?" "not" "hydrating?" "create-comment" "r-if" "list" "effect" {:upvalue-count 6 :arity 0 :constants ("trampoline" "eval-expr" "nth" 1 "render-to-dom" 2 ">" "len" 3 "create-fragment" "dom-parent" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "dom-is-fragment?" "dom-child-nodes" "list" "dom-insert-after") :bytecode (18 0 1 3 0 52 2 0 2 18 1 52 1 0 2 52 0 0 1 17 0 16 0 33 21 0 20 4 0 18 0 1 5 0 52 2 0 2 18 1 18 2 48 3 32 42 0 18 0 52 7 0 1 1 8 0 52 6 0 2 33 21 0 20 4 0 18 0 1 8 0 52 2 0 2 18 1 18 2 48 3 32 5 0 20 9 0 48 0 17 0 20 10 0 18 3 48 1 33 51 0 51 12 0 18 4 52 11 0 2 5 20 13 0 16 0 48 1 33 10 0 20 14 0 16 0 48 1 32 6 0 16 0 52 15 0 1 19 4 5 20 16 0 18 3 16 0 49 2 32 4 0 16 0 19 5 50)} "nil?" "spread?" "dom-parent" "host-call" "insertBefore" "create-fragment" "dom-append" "dom-is-fragment?" "dom-child-nodes" "trampoline" "eval-expr" "nth" 1 "render-to-dom" 2 ">" "len" 3 "when" "r-when" {:upvalue-count 6 :arity 0 :constants ("dom-parent" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "list" "trampoline" "eval-expr" "nth" 1 "create-fragment" {:upvalue-count 4 :arity 1 :constants ("dom-append" "render-to-dom" "nth") :bytecode (20 0 0 18 0 20 1 0 18 1 16 0 52 2 0 2 18 2 18 3 48 3 49 2 50)} "range" 2 "len" "dom-child-nodes" "dom-insert-after" "hydrating?" {:upvalue-count 4 :arity 1 :constants ("render-to-dom" "nth" "append!") :bytecode (20 0 0 18 0 16 0 52 1 0 2 18 1 18 2 48 3 17 1 18 3 16 1 52 2 0 2 50)} "first") :bytecode (20 0 0 18 0 48 1 33 101 0 51 2 0 18 1 52 1 0 2 5 52 3 0 0 19 1 5 18 2 1 7 0 52 6 0 2 18 3 52 5 0 2 52 4 0 1 33 58 0 20 8 0 48 0 17 0 51 9 0 1 0 0 2 0 3 0 4 1 11 0 18 2 52 12 0 1 52 10 0 2 52 1 0 2 5 20 13 0 16 0 48 1 19 1 5 20 14 0 18 0 16 0 49 2 32 1 0 2 32 135 0 18 2 1 7 0 52 6 0 2 18 3 52 5 0 2 52 4 0 1 33 112 0 20 15 0 48 0 33 51 0 52 3 0 0 17 0 51 16 0 0 2 0 3 0 4 1 0 1 11 0 18 2 52 12 0 1 52 10 0 2 52 1 0 2 5 16 0 19 1 5 16 0 52 17 0 1 19 5 32 50 0 20 8 0 48 0 17 0 51 9 0 1 0 0 2 0 3 0 4 1 11 0 18 2 52 12 0 1 52 10 0 2 52 1 0 2 5 20 13 0 16 0 48 1 19 1 5 16 0 19 5 32 1 0 2 50)} "for-each" {:upvalue-count 4 :arity 1 :constants ("dom-append" "render-to-dom" "nth") :bytecode (20 0 0 18 0 20 1 0 18 1 16 0 52 2 0 2 18 2 18 3 48 3 49 2 50)} "range" "cond" "r-cond" {:upvalue-count 6 :arity 0 :constants ("eval-cond" "rest" "dom-parent" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "list" "render-to-dom" "dom-is-fragment?" "dom-child-nodes" "dom-insert-after") :bytecode (20 0 0 18 0 52 1 0 1 18 1 48 2 17 0 20 2 0 18 2 48 1 33 80 0 51 4 0 18 3 52 3 0 2 5 52 5 0 0 19 3 5 16 0 33 54 0 20 6 0 16 0 18 1 18 4 48 3 17 1 20 7 0 16 1 48 1 33 10 0 20 8 0 16 1 48 1 32 6 0 16 1 52 5 0 1 19 3 5 20 9 0 18 2 16 1 49 2 32 1 0 2 32 55 0 16 0 33 49 0 20 6 0 16 0 18 1 18 4 48 3 17 1 20 7 0 16 1 48 1 33 10 0 20 8 0 16 1 48 1 32 6 0 16 1 52 5 0 1 19 3 5 16 1 19 5 32 1 0 2 50)} "eval-cond" "rest" "case" "let" "let*" "process-bindings" {:upvalue-count 4 :arity 1 :constants ("render-to-dom" "nth" "not" "spread?" "dom-append") :bytecode (20 0 0 18 0 16 0 52 1 0 2 18 1 18 2 48 3 17 1 16 1 52 3 0 1 52 2 0 1 33 12 0 20 4 0 18 3 16 1 49 2 32 1 0 2 50)} "letrec" "slice" "env-extend" {:upvalue-count 1 :arity 1 :constants ("=" "type-of" "first" "symbol" "symbol-name" "str" "env-bind!") :bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 13 0 16 0 52 2 0 1 52 4 0 1 32 10 0 16 0 52 2 0 1 52 5 0 1 17 1 18 0 16 1 2 52 6 0 3 50)} {:upvalue-count 1 :arity 1 :constants ("=" "type-of" "first" "symbol" "symbol-name" "str" "env-set!" "trampoline" "eval-expr" "nth" 1) :bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 13 0 16 0 52 2 0 1 52 4 0 1 32 10 0 16 0 52 2 0 1 52 5 0 1 17 1 18 0 16 1 16 0 1 10 0 52 9 0 2 18 0 52 8 0 2 52 7 0 1 52 6 0 3 50)} {:upvalue-count 1 :arity 1 :constants ("trampoline" "eval-expr") :bytecode (16 0 18 0 52 1 0 2 52 0 0 1 50)} "init" "last" "begin" "do" "definition-form?" "map" "type-of" "first" "symbol" "symbol-name" "deref" "signal?" "reactive-list" {:upvalue-count 4 :arity 1 :constants ("lambda?" "render-lambda-dom" "list" "render-to-dom" "apply" "dom-append") :bytecode (18 0 52 0 0 1 33 20 0 20 1 0 18 0 16 0 52 2 0 1 18 1 18 2 48 4 32 21 0 20 3 0 18 0 16 0 52 2 0 1 52 4 0 2 18 1 18 2 48 3 17 1 20 5 0 18 3 16 1 49 2 50)} "map-indexed" "for-each-indexed" {:upvalue-count 4 :arity 2 :constants ("lambda?" "render-lambda-dom" "list" "render-to-dom" "apply" "dom-append") :bytecode (18 0 52 0 0 1 33 22 0 20 1 0 18 0 16 0 16 1 52 2 0 2 18 1 18 2 48 4 32 23 0 20 3 0 18 0 16 0 16 1 52 2 0 2 52 4 0 2 18 1 18 2 48 3 17 2 20 5 0 18 3 16 2 49 2 50)} "filter" "portal" "render-dom-portal" "error-boundary" "render-dom-error-boundary" "scope" ">=" "keyword" "keyword-name" "value" "scope-push!" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "scope-pop!" "provide" "cyst" "key" "str" "next-cyst-id" "get" "*memo-cache*" "host-get" "isConnected" "dom-create-element" "div" "dom-set-attr" "data-sx-cyst" "with-island-scope" {:upvalue-count 1 :arity 1 :constants ("append!") :bytecode (18 0 16 0 52 0 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)}) :bytecode (20 0 0 48 0 17 0 51 2 0 1 0 0 0 0 1 18 2 52 1 0 2 5 16 0 50)} "dom-set-data" "sx-disposers" "dict-set!") :bytecode (16 0 1 1 0 52 0 0 2 33 76 1 20 2 0 48 0 6 33 10 0 5 20 4 0 48 0 52 3 0 1 33 218 0 20 5 0 1 6 0 48 1 17 4 52 7 0 0 17 5 2 17 6 20 8 0 51 9 0 1 1 1 2 1 3 1 4 1 5 1 6 48 1 5 20 4 0 48 0 33 86 0 16 6 6 33 26 0 5 16 6 52 10 0 1 52 3 0 1 6 33 11 0 5 16 6 52 11 0 1 52 3 0 1 33 44 0 20 12 0 16 6 48 1 17 7 16 7 33 26 0 20 13 0 16 7 1 14 0 16 4 16 6 48 4 5 16 6 52 7 0 1 17 5 32 1 0 2 32 1 0 2 5 16 4 32 81 0 16 6 52 11 0 1 33 5 0 16 6 32 67 0 20 15 0 48 0 17 7 20 16 0 16 7 16 4 48 2 5 16 6 33 41 0 20 17 0 16 6 48 1 33 10 0 20 18 0 16 6 48 1 32 6 0 16 6 52 7 0 1 17 5 5 20 16 0 16 7 16 6 48 2 32 1 0 2 5 16 7 32 89 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 4 33 21 0 20 23 0 16 1 1 24 0 52 21 0 2 16 2 16 3 49 3 32 42 0 16 1 52 26 0 1 1 27 0 52 25 0 2 33 21 0 20 23 0 16 1 1 27 0 52 21 0 2 16 2 16 3 49 3 32 5 0 20 15 0 49 0 32 111 8 16 0 1 28 0 52 0 0 2 33 6 1 20 2 0 48 0 6 33 10 0 5 20 4 0 48 0 52 3 0 1 33 165 0 20 5 0 1 29 0 48 1 17 4 52 7 0 0 17 5 2 17 6 20 8 0 51 30 0 1 4 1 5 1 1 1 2 1 3 1 6 48 1 5 20 4 0 48 0 33 62 0 16 6 6 33 11 0 5 16 6 52 10 0 1 52 3 0 1 33 35 0 20 12 0 16 6 48 1 17 7 16 7 33 17 0 20 13 0 16 7 1 14 0 16 4 16 6 48 4 32 1 0 2 32 1 0 2 5 16 4 32 52 0 16 6 52 11 0 1 33 5 0 16 6 32 38 0 20 15 0 48 0 17 7 20 16 0 16 7 16 4 48 2 5 16 6 33 12 0 20 16 0 16 7 16 6 48 2 32 1 0 2 5 16 7 32 72 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 52 3 0 1 33 8 0 20 15 0 49 0 32 38 0 20 15 0 48 0 17 4 51 32 0 1 4 1 1 1 2 1 3 1 24 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 4 32 93 7 16 0 1 34 0 52 0 0 2 33 253 0 20 2 0 48 0 6 33 10 0 5 20 4 0 48 0 52 3 0 1 33 189 0 20 5 0 1 35 0 48 1 17 4 52 7 0 0 17 5 2 17 6 20 8 0 51 36 0 1 1 1 2 1 4 1 5 1 3 1 6 48 1 5 20 4 0 48 0 33 86 0 16 6 6 33 26 0 5 16 6 52 10 0 1 52 3 0 1 6 33 11 0 5 16 6 52 11 0 1 52 3 0 1 33 44 0 20 12 0 16 6 48 1 17 7 16 7 33 26 0 20 13 0 16 7 1 14 0 16 4 16 6 48 4 5 16 6 52 7 0 1 17 5 32 1 0 2 32 1 0 2 5 16 4 32 52 0 16 6 52 11 0 1 33 5 0 16 6 32 38 0 20 15 0 48 0 17 7 20 16 0 16 7 16 4 48 2 5 16 6 33 12 0 20 16 0 16 7 16 6 48 2 32 1 0 2 5 16 7 32 39 0 20 37 0 16 1 52 38 0 1 16 2 48 2 17 4 16 4 33 14 0 20 23 0 16 4 16 2 16 3 49 3 32 5 0 20 15 0 49 0 32 84 6 16 0 1 39 0 52 0 0 2 33 24 0 20 23 0 16 1 16 2 52 20 0 2 52 19 0 1 16 2 16 3 49 3 32 48 6 16 0 1 40 0 52 0 0 2 6 34 10 0 5 16 0 1 41 0 52 0 0 2 33 96 0 20 42 0 16 1 1 22 0 52 21 0 2 16 2 48 2 17 4 16 1 52 26 0 1 1 27 0 52 0 0 2 33 21 0 20 23 0 16 1 1 24 0 52 21 0 2 16 4 16 3 49 3 32 38 0 20 15 0 48 0 17 5 51 43 0 1 1 1 4 1 3 1 5 1 24 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 5 32 182 5 16 0 1 44 0 52 0 0 2 33 108 0 16 1 1 22 0 52 21 0 2 17 4 16 1 1 24 0 52 45 0 2 17 5 16 2 52 46 0 1 17 6 51 47 0 1 6 16 4 52 31 0 2 5 51 48 0 1 6 16 4 52 31 0 2 5 16 5 52 26 0 1 1 22 0 52 25 0 2 33 18 0 51 49 0 1 6 16 5 52 50 0 1 52 31 0 2 32 1 0 2 5 20 23 0 16 5 52 51 0 1 16 6 16 3 49 3 32 62 5 16 0 1 52 0 52 0 0 2 6 34 10 0 5 16 0 1 53 0 52 0 0 2 33 78 0 16 1 52 26 0 1 1 24 0 52 0 0 2 33 21 0 20 23 0 16 1 1 22 0 52 21 0 2 16 2 16 3 49 3 32 38 0 20 15 0 48 0 17 4 51 43 0 1 1 1 2 1 3 1 4 1 22 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 4 32 214 4 20 54 0 16 0 48 1 33 21 0 16 1 16 2 52 20 0 2 52 19 0 1 5 20 15 0 49 0 32 183 4 16 0 1 55 0 52 0 0 2 33 21 1 16 1 1 24 0 52 21 0 2 17 4 20 2 0 48 0 6 33 76 0 5 16 4 52 56 0 1 1 7 0 52 0 0 2 6 33 58 0 5 16 4 52 26 0 1 1 22 0 52 25 0 2 6 33 40 0 5 16 4 52 57 0 1 52 56 0 1 1 58 0 52 0 0 2 6 33 18 0 5 16 4 52 57 0 1 52 59 0 1 1 60 0 52 0 0 2 33 106 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 16 4 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 6 20 61 0 16 6 48 1 33 16 0 20 62 0 16 5 16 6 16 2 16 3 49 4 32 35 0 16 6 52 60 0 1 17 7 20 15 0 48 0 17 8 51 63 0 1 5 1 2 1 3 1 8 16 7 52 31 0 2 5 16 8 32 69 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 6 20 15 0 48 0 17 7 51 63 0 1 5 1 2 1 3 1 7 16 6 52 31 0 2 5 16 7 32 150 3 16 0 1 64 0 52 0 0 2 33 72 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 20 15 0 48 0 17 6 51 66 0 1 4 1 2 1 3 1 6 16 5 52 65 0 2 5 16 6 32 66 3 16 0 1 67 0 52 0 0 2 33 24 0 20 23 0 16 1 16 2 52 20 0 2 52 19 0 1 16 2 16 3 49 3 32 30 3 16 0 1 68 0 52 0 0 2 33 18 0 20 69 0 16 1 52 38 0 1 16 2 16 3 49 3 32 0 3 16 0 1 70 0 52 0 0 2 33 18 0 20 71 0 16 1 52 38 0 1 16 2 16 3 49 3 32 226 2 16 0 1 31 0 52 0 0 2 33 72 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 20 15 0 48 0 17 6 51 63 0 1 4 1 2 1 3 1 6 16 5 52 31 0 2 5 16 6 32 142 2 16 0 1 72 0 52 0 0 2 33 183 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 45 0 2 17 5 2 17 6 2 17 7 20 15 0 48 0 17 8 16 5 52 26 0 1 1 24 0 52 73 0 2 6 33 40 0 5 16 5 52 57 0 1 52 56 0 1 1 74 0 52 0 0 2 6 33 18 0 5 16 5 52 57 0 1 52 75 0 1 1 76 0 52 0 0 2 33 36 0 16 5 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 6 5 16 5 1 24 0 52 45 0 2 17 7 32 4 0 16 5 17 7 5 16 4 16 6 52 77 0 2 5 51 78 0 1 8 1 2 1 3 16 7 52 31 0 2 5 16 4 52 79 0 1 5 16 8 32 203 1 16 0 1 80 0 52 0 0 2 33 99 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 20 15 0 48 0 17 6 16 4 16 5 52 77 0 2 5 51 32 0 1 6 1 1 1 2 1 3 1 27 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 4 52 79 0 1 5 16 6 32 92 1 16 0 1 81 0 52 0 0 2 33 59 1 16 1 52 26 0 1 1 24 0 52 25 0 2 6 33 46 0 5 16 1 1 22 0 52 21 0 2 52 56 0 1 1 74 0 52 0 0 2 6 33 21 0 5 16 1 1 22 0 52 21 0 2 52 75 0 1 1 82 0 52 0 0 2 33 26 0 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 52 83 0 1 32 5 0 20 84 0 48 0 17 4 20 86 0 16 4 52 85 0 2 17 5 16 5 6 33 11 0 5 20 87 0 16 5 1 88 0 48 2 33 5 0 16 5 32 177 0 20 89 0 1 90 0 2 48 2 17 6 52 7 0 0 17 7 16 1 52 26 0 1 1 24 0 52 25 0 2 6 33 46 0 5 16 1 1 22 0 52 21 0 2 52 56 0 1 1 74 0 52 0 0 2 6 33 21 0 5 16 1 1 22 0 52 21 0 2 52 75 0 1 1 82 0 52 0 0 2 33 12 0 16 1 1 27 0 52 45 0 2 32 9 0 16 1 1 22 0 52 45 0 2 17 8 20 91 0 16 6 1 92 0 16 4 48 3 5 20 93 0 51 94 0 1 7 51 95 0 1 2 1 3 1 8 48 2 17 9 20 16 0 16 6 16 9 48 2 5 20 96 0 16 6 1 97 0 16 7 48 3 5 20 86 0 16 4 16 6 52 98 0 3 5 16 6 32 21 0 20 23 0 16 1 16 2 52 20 0 2 52 19 0 1 16 2 16 3 49 3 50)} "render-lambda-dom" {:upvalue-count 0 :arity 4 :constants ("env-merge" "lambda-closure" "for-each-indexed" {:upvalue-count 2 :arity 2 :constants ("env-bind!" "nth") :bytecode (18 0 16 1 18 1 16 0 52 1 0 2 52 0 0 3 50)} "lambda-params" "render-to-dom" "lambda-body") :bytecode (16 0 52 1 0 1 16 2 52 0 0 2 17 4 51 3 0 1 4 1 1 16 0 52 4 0 1 52 2 0 2 5 20 5 0 16 0 52 6 0 1 16 4 16 3 49 3 50)} "render-dom-island" {:upvalue-count 0 :arity 4 :constants ("dict" "list" "reduce" {:upvalue-count 4 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "trampoline" "eval-expr" "nth" "dict-set!" "keyword-name" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 150 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 75 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 12 0 2 18 1 52 11 0 2 52 10 0 1 17 3 18 2 16 1 52 14 0 1 16 3 52 13 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 3 16 1 52 15 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" 0 "skip" "env-merge" "component-closure" "component-name" "for-each" {:upvalue-count 2 :arity 1 :constants ("env-bind!" "dict-has?" "dict-get") :bytecode (18 0 16 0 18 1 16 0 52 1 0 2 33 11 0 18 1 16 0 52 2 0 2 32 1 0 2 52 0 0 3 50)} "component-params" "component-has-children?" "create-fragment" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "env-bind!" "children" "dom-create-element" "span" "dom-set-attr" "data-sx-island" "not" "empty-dict?" "data-sx-state" "sx-serialize" "mark-processed!" "island-hydrated" "with-island-scope" {:upvalue-count 1 :arity 1 :constants ("append!") :bytecode (18 0 16 0 52 0 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("render-to-dom" "component-body") :bytecode (20 0 0 18 0 52 1 0 1 18 1 18 2 49 3 50)} "dom-append" "dom-set-data" "sx-disposers") :bytecode (52 0 0 0 17 4 52 1 0 0 17 5 51 3 0 1 1 1 2 1 4 1 5 1 4 0 1 5 0 1 6 0 4 52 0 0 4 16 1 52 2 0 3 5 16 0 52 8 0 1 16 2 52 7 0 2 17 6 16 0 52 9 0 1 17 7 51 11 0 1 6 1 4 16 0 52 12 0 1 52 10 0 2 5 16 0 52 13 0 1 33 37 0 20 14 0 48 0 17 8 51 15 0 1 8 1 2 1 3 16 5 52 10 0 2 5 16 6 1 17 0 16 8 52 16 0 3 32 1 0 2 5 20 18 0 1 19 0 2 48 2 17 8 52 1 0 0 17 9 20 20 0 16 8 1 21 0 16 7 48 3 5 16 4 52 23 0 1 52 22 0 1 33 19 0 20 20 0 16 8 1 24 0 16 4 52 25 0 1 48 3 32 1 0 2 5 20 26 0 16 8 1 27 0 48 2 5 20 28 0 51 29 0 1 9 51 30 0 1 0 1 6 1 3 48 2 17 10 20 31 0 16 8 16 10 48 2 5 20 32 0 16 8 1 33 0 16 9 48 3 5 16 8 50)} "render-dom-lake" {:upvalue-count 0 :arity 3 :constants ("div" "list" "reduce" {:upvalue-count 5 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "id" "tag" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 183 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 108 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 16 3 1 14 0 52 5 0 2 33 7 0 16 4 19 2 32 20 0 16 3 1 15 0 52 5 0 2 33 7 0 16 4 19 3 32 1 0 2 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 4 16 1 52 16 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "hydrating?" "hydrate-next-node" "hydrate-enter-element" "dom-create-element" "dom-set-attr" "data-sx-lake" "" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "hydrating?" "nil?" "dom-parent" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 20 2 0 48 0 52 1 0 1 6 34 12 0 5 20 4 0 16 1 48 1 52 3 0 1 33 12 0 20 5 0 18 2 16 1 49 2 32 1 0 2 50)} "hydrate-exit-element") :bytecode (2 17 3 1 0 0 17 4 52 1 0 0 17 5 51 3 0 1 0 1 1 1 3 1 4 1 5 1 5 0 1 6 0 1 7 0 4 52 4 0 4 16 0 52 2 0 3 5 20 8 0 48 0 33 36 0 20 9 0 48 0 17 6 16 6 33 13 0 20 10 0 16 6 48 1 5 16 6 32 8 0 20 11 0 16 4 2 48 2 32 8 0 20 11 0 16 4 2 48 2 17 6 20 12 0 16 6 1 13 0 16 3 6 34 4 0 5 1 14 0 48 3 5 51 16 0 1 1 1 2 1 6 16 5 52 15 0 2 5 20 8 0 48 0 33 8 0 20 17 0 48 0 32 1 0 2 5 16 6 50)} "render-dom-marsh" {:upvalue-count 0 :arity 3 :constants ("div" "list" "reduce" {:upvalue-count 6 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "id" "tag" "transform" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 202 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 127 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 16 3 1 14 0 52 5 0 2 33 7 0 16 4 19 2 32 39 0 16 3 1 15 0 52 5 0 2 33 7 0 16 4 19 3 32 20 0 16 3 1 16 0 52 5 0 2 33 7 0 16 4 19 4 32 1 0 2 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 5 16 1 52 17 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "hydrating?" "hydrate-next-node" "hydrate-enter-element" "dom-create-element" "dom-set-attr" "data-sx-marsh" "" "dom-set-data" "sx-marsh-transform" "sx-marsh-env" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "hydrating?" "nil?" "dom-parent" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 20 2 0 48 0 52 1 0 1 6 34 12 0 5 20 4 0 16 1 48 1 52 3 0 1 33 12 0 20 5 0 18 2 16 1 49 2 32 1 0 2 50)} "hydrate-exit-element") :bytecode (2 17 3 1 0 0 17 4 2 17 5 52 1 0 0 17 6 51 3 0 1 0 1 1 1 3 1 4 1 5 1 6 1 5 0 1 6 0 1 7 0 4 52 4 0 4 16 0 52 2 0 3 5 20 8 0 48 0 33 36 0 20 9 0 48 0 17 7 16 7 33 13 0 20 10 0 16 7 48 1 5 16 7 32 8 0 20 11 0 16 4 2 48 2 32 8 0 20 11 0 16 4 2 48 2 17 7 20 12 0 16 7 1 13 0 16 3 6 34 4 0 5 1 14 0 48 3 5 16 5 33 15 0 20 15 0 16 7 1 16 0 16 5 48 3 32 1 0 2 5 20 15 0 16 7 1 17 0 16 1 48 3 5 51 19 0 1 1 1 2 1 7 16 6 52 18 0 2 5 20 8 0 48 0 33 8 0 20 20 0 48 0 32 1 0 2 5 16 7 50)} "reactive-text" {:upvalue-count 0 :arity 1 :constants ("hydrating?" "hydrate-next-node" "create-text-node" "str" "deref" "effect" {:upvalue-count 2 :arity 0 :constants ("dom-set-text-content" "str" "deref") :bytecode (20 0 0 18 0 18 1 52 2 0 1 52 1 0 1 49 2 50)}) :bytecode (20 0 0 48 0 33 28 0 20 1 0 48 0 6 34 16 0 5 20 2 0 16 0 52 4 0 1 52 3 0 1 48 1 32 15 0 20 2 0 16 0 52 4 0 1 52 3 0 1 48 1 17 1 20 5 0 51 6 0 1 1 1 0 48 1 5 16 1 50)} "reactive-attr" {:upvalue-count 0 :arity 3 :constants ("dom-get-attr" "data-sx-reactive-attrs" "" "empty?" "str" "," "dom-set-attr" "effect" {:upvalue-count 3 :arity 0 :constants ("signal?" "deref" "nil?" "=" "dom-remove-attr" "dom-set-attr" "" "str") :bytecode (18 0 48 0 17 0 20 0 0 16 0 48 1 33 9 0 16 0 52 1 0 1 32 2 0 16 0 17 1 16 1 52 2 0 1 6 34 8 0 5 16 1 4 52 3 0 2 33 12 0 20 4 0 18 1 18 2 49 2 32 40 0 16 1 3 52 3 0 2 33 15 0 20 5 0 18 1 18 2 1 6 0 49 3 32 15 0 20 5 0 18 1 18 2 16 1 52 7 0 1 49 3 50)}) :bytecode (20 0 0 16 0 1 1 0 48 2 6 34 4 0 5 1 2 0 17 3 16 3 52 3 0 1 33 5 0 16 1 32 11 0 16 3 1 5 0 16 1 52 4 0 3 17 4 20 6 0 16 0 1 1 0 16 4 48 3 5 20 7 0 51 8 0 1 2 1 0 1 1 49 1 50)} "reactive-spread" {:upvalue-count 0 :arity 2 :constants ("list" "dom-get-attr" "data-sx-reactive-attrs" "" "dom-set-attr" "empty?" "_spread" "str" ",_spread" "effect" {:upvalue-count 4 :arity 0 :constants ("not" "empty?" "dom-get-attr" "class" "" "filter" {:upvalue-count 0 :arity 1 :constants ("not" "=" "") :bytecode (16 0 1 2 0 52 1 0 2 52 0 0 1 50)} "split" " " {:upvalue-count 1 :arity 1 :constants ("not" "some" {:upvalue-count 1 :arity 1 :constants ("=") :bytecode (16 0 18 0 52 0 0 2 50)}) :bytecode (51 2 0 1 0 18 0 52 1 0 2 52 0 0 1 50)} "dom-remove-attr" "dom-set-attr" "join" "for-each" {:upvalue-count 1 :arity 1 :constants ("dom-remove-attr") :bytecode (20 0 0 18 0 16 0 49 2 50)} "spread?" "spread-attrs" "dict-get" {:upvalue-count 0 :arity 1 :constants ("not" "=" "class") :bytecode (16 0 1 2 0 52 1 0 2 52 0 0 1 50)} "keys" "=" "str" {:upvalue-count 2 :arity 1 :constants ("dom-set-attr" "str" "dict-get") :bytecode (20 0 0 18 0 16 0 18 1 16 0 52 2 0 2 52 1 0 1 49 3 50)} "run-post-render-hooks" "list") :bytecode (18 0 52 1 0 1 52 0 0 1 33 95 0 20 2 0 18 1 1 3 0 48 2 6 34 4 0 5 1 4 0 17 0 51 6 0 16 0 1 8 0 52 7 0 2 52 5 0 2 17 1 51 9 0 0 0 16 1 52 5 0 2 17 2 16 2 52 1 0 1 33 13 0 20 10 0 18 1 1 3 0 48 2 32 19 0 20 11 0 18 1 1 3 0 1 8 0 16 2 52 12 0 2 48 3 32 1 0 2 5 51 14 0 0 1 18 2 52 13 0 2 5 18 3 48 0 17 0 16 0 52 15 0 1 33 179 0 16 0 52 16 0 1 17 1 16 1 1 3 0 52 17 0 2 6 34 4 0 5 1 4 0 17 2 51 6 0 16 2 1 8 0 52 7 0 2 52 5 0 2 17 3 51 18 0 16 1 52 19 0 1 52 5 0 2 17 4 16 3 19 0 5 16 4 19 2 5 16 3 52 1 0 1 52 0 0 1 33 72 0 20 2 0 18 1 1 3 0 48 2 6 34 4 0 5 1 4 0 17 5 20 11 0 18 1 1 3 0 16 5 6 33 14 0 5 16 5 1 4 0 52 20 0 2 52 0 0 1 33 14 0 16 5 1 8 0 16 2 52 21 0 3 32 2 0 16 2 48 3 32 1 0 2 5 51 22 0 0 1 1 1 16 4 52 13 0 2 5 20 23 0 49 0 32 13 0 52 24 0 0 19 0 5 52 24 0 0 19 2 50)}) :bytecode (52 0 0 0 17 2 52 0 0 0 17 3 20 1 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 17 4 20 4 0 16 0 1 2 0 16 4 52 5 0 1 33 6 0 1 6 0 32 9 0 16 4 1 8 0 52 7 0 2 48 3 5 20 9 0 51 10 0 1 2 1 0 1 3 1 1 49 1 50)} "reactive-fragment" {:upvalue-count 0 :arity 4 :constants ("create-comment" "island-fragment" "list" "effect" {:upvalue-count 4 :arity 0 :constants ("for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "list" "dom-child-nodes" "dom-insert-after") :bytecode (51 1 0 18 0 52 0 0 2 5 52 2 0 0 19 0 5 18 1 48 0 33 28 0 18 2 48 0 17 0 20 3 0 16 0 48 1 19 0 5 20 4 0 18 3 16 0 49 2 32 1 0 2 50)}) :bytecode (20 0 0 1 1 0 48 1 17 4 52 2 0 0 17 5 20 3 0 51 4 0 1 5 1 0 1 1 1 4 48 1 5 16 4 50)} "render-list-item" {:upvalue-count 0 :arity 4 :constants ("lambda?" "render-lambda-dom" "list" "render-to-dom" "apply") :bytecode (16 0 52 0 0 1 33 20 0 20 1 0 16 0 16 1 52 2 0 1 16 2 16 3 49 4 32 21 0 20 3 0 16 0 16 1 52 2 0 1 52 4 0 2 16 2 16 3 49 3 50)} "extract-key" {:upvalue-count 0 :arity 2 :constants ("dom-get-attr" "key" "dom-remove-attr" "dom-get-data" "str" "__idx_") :bytecode (20 0 0 16 0 1 1 0 48 2 17 2 16 2 33 16 0 20 2 0 16 0 1 1 0 48 2 5 16 2 32 35 0 20 3 0 16 0 1 1 0 48 2 17 3 16 3 33 9 0 16 3 52 4 0 1 32 9 0 1 5 0 16 1 52 4 0 2 50)} "reactive-list" {:upvalue-count 0 :arity 4 :constants ("create-fragment" "create-comment" "island-list" "dict" "list" "dom-append" "effect" {:upvalue-count 8 :arity 0 :constants ("deref" "dom-parent" "dict" "list" "for-each-indexed" {:upvalue-count 7 :arity 2 :constants ("render-list-item" "extract-key" "not" "starts-with?" "__idx_" "dict-has?" "dict-set!" "dict-get" "append!") :bytecode (20 0 0 18 0 16 1 18 1 18 2 48 4 17 2 20 1 0 16 2 16 0 48 2 17 3 18 3 52 2 0 1 6 33 14 0 5 16 3 1 4 0 52 3 0 2 52 2 0 1 33 6 0 3 19 3 32 1 0 2 5 18 4 16 3 52 5 0 2 33 19 0 18 5 16 3 18 4 16 3 52 7 0 2 52 6 0 3 32 10 0 18 5 16 3 16 2 52 6 0 3 5 18 6 16 3 52 8 0 2 50)} "not" "dom-remove-children-after" "create-fragment" "for-each" {:upvalue-count 2 :arity 1 :constants ("dom-append" "dict-get") :bytecode (20 0 0 18 0 18 1 16 0 52 1 0 2 49 2 50)} "dom-insert-after" {:upvalue-count 2 :arity 1 :constants ("not" "dict-has?" "dom-remove" "dict-get") :bytecode (18 0 16 0 52 1 0 2 52 0 0 1 33 16 0 20 2 0 18 1 16 0 52 3 0 2 49 1 32 1 0 2 50)} {:upvalue-count 2 :arity 1 :constants ("dict-get" "dom-next-sibling" "not" "identical?" "dom-insert-after") :bytecode (18 0 16 0 52 0 0 2 17 1 20 1 0 18 1 48 1 17 2 16 1 16 2 52 3 0 2 52 2 0 1 33 12 0 20 4 0 18 1 16 1 48 2 32 1 0 2 5 16 1 19 1 50)} {:upvalue-count 6 :arity 2 :constants ("render-list-item" "extract-key" "dict-set!" "append!" "dom-append") :bytecode (20 0 0 18 0 16 1 18 1 18 2 48 4 17 2 20 1 0 16 2 16 0 48 2 17 3 18 3 16 3 16 2 52 2 0 3 5 18 4 16 3 52 3 0 2 5 20 4 0 18 5 16 2 49 2 50)}) :bytecode (18 0 52 0 0 1 17 0 20 1 0 18 1 48 1 33 133 0 52 2 0 0 17 1 52 3 0 0 17 2 4 17 3 51 5 0 0 2 0 3 0 4 1 3 0 5 1 1 1 2 16 0 52 4 0 2 5 16 3 52 6 0 1 33 41 0 20 7 0 18 1 48 1 5 20 8 0 48 0 17 4 51 10 0 1 4 1 1 16 2 52 9 0 2 5 20 11 0 18 1 16 4 48 2 32 31 0 51 12 0 1 1 0 5 18 6 52 9 0 2 5 18 1 17 4 51 13 0 1 1 1 4 16 2 52 9 0 2 5 16 1 19 5 5 16 2 19 6 32 21 0 51 14 0 0 2 0 3 0 4 0 5 0 6 0 7 16 0 52 4 0 2 50)}) :bytecode (20 0 0 48 0 17 4 20 1 0 1 2 0 48 1 17 5 52 3 0 0 17 6 52 4 0 0 17 7 20 5 0 16 4 16 5 48 2 5 20 6 0 51 7 0 1 1 1 5 1 0 1 2 1 3 1 6 1 7 1 4 48 1 5 16 4 50)} "bind-input" {:upvalue-count 0 :arity 2 :constants ("lower" "dom-get-attr" "type" "" "=" "checkbox" "radio" "dom-set-prop" "checked" "deref" "value" "str" "effect" {:upvalue-count 3 :arity 0 :constants ("dom-set-prop" "checked" "deref" "str" "!=" "dom-get-prop" "value") :bytecode (18 0 33 19 0 20 0 0 18 1 1 1 0 18 2 52 2 0 1 49 3 32 47 0 18 2 52 2 0 1 52 3 0 1 17 0 20 5 0 18 1 1 6 0 48 2 16 0 52 4 0 2 33 15 0 20 0 0 18 1 1 6 0 16 0 49 3 32 1 0 2 50)} "dom-on" "change" "input" {:upvalue-count 3 :arity 1 :constants ("reset!" "dom-get-prop" "checked" "value") :bytecode (18 0 33 20 0 20 0 0 18 1 20 1 0 18 2 1 2 0 48 2 49 2 32 17 0 20 0 0 18 1 20 1 0 18 2 1 3 0 48 2 49 2 50)}) :bytecode (20 1 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 52 0 0 1 17 2 16 2 1 5 0 52 4 0 2 6 34 10 0 5 16 2 1 6 0 52 4 0 2 17 3 16 3 33 19 0 20 7 0 16 0 1 8 0 16 1 52 9 0 1 48 3 32 20 0 20 7 0 16 0 1 10 0 16 1 52 9 0 1 52 11 0 1 48 3 5 20 12 0 51 13 0 1 3 1 0 1 1 48 1 5 20 14 0 16 0 16 3 33 6 0 1 15 0 32 3 0 1 16 0 51 17 0 1 3 1 1 1 0 49 3 50)} "*use-cek-reactive*" "enable-cek-reactive!" {:upvalue-count 0 :arity 0 :constants ("*use-cek-reactive*") :bytecode (3 21 0 0 50)} "cek-reactive-text" {:upvalue-count 0 :arity 2 :constants ("hydrating?" "hydrate-next-node" "create-text-node" "" {:upvalue-count 1 :arity 1 :constants ("dom-set-text-content" "str") :bytecode (20 0 0 18 0 16 0 52 1 0 1 49 2 50)} "cek-run" "make-cek-state" "list" "make-reactive-reset-frame" "dom-set-text-content" "str") :bytecode (20 0 0 48 0 33 21 0 20 1 0 48 0 6 34 9 0 5 20 2 0 1 3 0 48 1 32 8 0 20 2 0 1 3 0 48 1 17 2 51 4 0 1 2 17 3 20 5 0 20 6 0 16 0 16 1 20 8 0 16 1 16 3 3 48 3 52 7 0 1 48 3 48 1 17 4 20 9 0 16 2 16 4 52 10 0 1 48 2 5 16 2 50)} "cek-reactive-attr" {:upvalue-count 0 :arity 4 :constants ({:upvalue-count 2 :arity 1 :constants ("nil?" "=" "dom-remove-attr" "dom-set-attr" "" "str") :bytecode (16 0 52 0 0 1 6 34 8 0 5 16 0 4 52 1 0 2 33 12 0 20 2 0 18 0 18 1 49 2 32 40 0 16 0 3 52 1 0 2 33 15 0 20 3 0 18 0 18 1 1 4 0 49 3 32 15 0 20 3 0 18 0 18 1 16 0 52 5 0 1 49 3 50)} "dom-get-attr" "data-sx-reactive-attrs" "" "empty?" "str" "," "dom-set-attr" "cek-run" "make-cek-state" "list" "make-reactive-reset-frame" "cek-call") :bytecode (51 0 0 1 0 1 1 17 4 20 1 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 17 5 16 5 52 4 0 1 33 5 0 16 1 32 11 0 16 5 1 6 0 16 1 52 5 0 3 17 6 20 7 0 16 0 1 2 0 16 6 48 3 5 20 8 0 20 9 0 16 2 16 3 20 11 0 16 3 16 4 3 48 3 52 10 0 1 48 3 48 1 17 5 16 4 16 5 52 10 0 1 52 12 0 2 50)} "render-dom-portal" {:upvalue-count 0 :arity 3 :constants ("trampoline" "eval-expr" "first" "dom-query" "dom-ensure-element" "not" "create-comment" "str" "portal: " " (not found)" "create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "rest" "dom-child-nodes" "dom-append" "register-in-scope" {:upvalue-count 1 :arity 0 :constants ("for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)}) :bytecode (51 1 0 18 0 52 0 0 2 50)}) :bytecode (16 0 52 2 0 1 16 1 52 1 0 2 52 0 0 1 17 3 20 3 0 16 3 48 1 6 34 8 0 5 20 4 0 16 3 48 1 17 4 16 4 52 5 0 1 33 20 0 20 6 0 1 8 0 16 3 1 9 0 52 7 0 3 49 1 32 75 0 20 6 0 1 8 0 16 3 52 7 0 2 48 1 17 5 20 10 0 48 0 17 6 51 12 0 1 6 1 1 1 2 16 0 52 13 0 1 52 11 0 2 5 20 14 0 16 6 48 1 17 7 20 15 0 16 4 16 6 48 2 5 20 16 0 51 17 0 1 7 48 1 5 16 5 50)} "render-dom-error-boundary" {:upvalue-count 0 :arity 3 :constants (">" "len" 1 "first" "rest" "dom-create-element" "div" "signal" 0 "dom-set-attr" "data-sx-boundary" "true" "effect" {:upvalue-count 6 :arity 0 :constants ("deref" "dom-set-prop" "innerHTML" "" "scope-push!" "sx-island-scope" "try-catch" {:upvalue-count 4 :arity 0 :constants ("create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "dom-append" "scope-pop!" "sx-island-scope") :bytecode (20 0 0 48 0 17 0 51 2 0 1 0 0 0 0 1 18 2 52 1 0 2 5 20 3 0 18 3 16 0 48 2 5 1 5 0 52 4 0 1 50)} {:upvalue-count 5 :arity 1 :constants ("scope-pop!" "sx-island-scope" "trampoline" "eval-expr" {:upvalue-count 1 :arity 0 :constants ("swap!" {:upvalue-count 0 :arity 1 :constants ("+" 1) :bytecode (16 0 1 1 0 52 0 0 2 50)}) :bytecode (20 0 0 18 0 51 1 0 49 2 50)} "nil?" "dom-create-element" "div" "dom-set-attr" "class" "sx-render-error" "style" "color:red;font-size:0.875rem;padding:0.5rem;border:1px solid red;border-radius:0.25rem;margin:0.5rem 0;" "dom-set-text-content" "str" "Render error: " "lambda?" "render-lambda-dom" "list" "render-to-dom" "apply" "dom-append") :bytecode (1 1 0 52 0 0 1 5 18 0 18 1 52 3 0 2 52 2 0 1 17 1 51 4 0 0 2 17 2 16 1 52 5 0 1 33 61 0 20 6 0 1 7 0 2 48 2 17 3 20 8 0 16 3 1 9 0 1 10 0 48 3 5 20 8 0 16 3 1 11 0 1 12 0 48 3 5 20 13 0 16 3 1 15 0 16 0 52 14 0 2 48 2 5 16 3 32 54 0 16 1 52 16 0 1 33 22 0 20 17 0 16 1 16 0 16 2 52 18 0 2 18 1 18 3 48 4 32 23 0 20 19 0 16 1 16 0 16 2 52 18 0 2 52 20 0 2 18 1 18 3 48 3 17 3 20 21 0 18 4 16 3 49 2 50)}) :bytecode (18 0 52 0 0 1 5 20 1 0 18 1 1 2 0 1 3 0 48 3 5 1 5 0 2 52 4 0 2 5 51 7 0 0 2 0 3 0 4 0 1 51 8 0 0 5 0 2 0 0 0 3 0 1 52 6 0 2 50)}) :bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 33 9 0 16 0 52 3 0 1 32 1 0 2 17 3 16 0 52 1 0 1 1 2 0 52 0 0 2 33 9 0 16 0 52 4 0 1 32 2 0 16 0 17 4 20 5 0 1 6 0 2 48 2 17 5 20 7 0 1 8 0 48 1 17 6 20 9 0 16 5 1 10 0 1 11 0 48 3 5 20 12 0 51 13 0 1 6 1 5 1 1 1 2 1 4 1 3 48 1 5 16 5 50)} {:library (web adapter-dom) :op "import"}) :bytecode (1 1 0 128 0 0 5 1 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 52 15 0 0 128 14 0 5 1 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 51 33 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 1 40 0 1 41 0 1 42 0 1 43 0 1 44 0 1 45 0 1 46 0 1 47 0 1 48 0 1 49 0 1 50 0 1 51 0 1 52 0 1 53 0 1 54 0 1 55 0 1 56 0 1 57 0 1 58 0 1 59 0 1 60 0 1 61 0 1 62 0 52 39 0 23 128 38 0 5 51 64 0 128 63 0 5 51 66 0 128 65 0 5 51 68 0 128 67 0 5 51 70 0 128 69 0 5 51 72 0 128 71 0 5 51 74 0 128 73 0 5 51 76 0 128 75 0 5 51 78 0 128 77 0 5 51 80 0 128 79 0 5 51 82 0 128 81 0 5 51 84 0 128 83 0 5 51 86 0 128 85 0 5 51 88 0 128 87 0 5 51 90 0 128 89 0 5 3 128 91 0 5 51 93 0 128 92 0 5 51 95 0 128 94 0 5 51 97 0 128 96 0 5 51 99 0 128 98 0 5 51 101 0 128 100 0 5 1 102 0 112 50))) + :constants ("SVG_NS" "http://www.w3.org/2000/svg" "MATH_NS" "http://www.w3.org/1998/Math/MathML" "island-scope?" {:upvalue-count 0 :arity 0 :constants ("not" "nil?" "scope-peek" "sx-island-scope") :bytecode (1 3 0 52 2 0 1 52 1 0 1 52 0 0 1 50)} "hydrating?" {:upvalue-count 0 :arity 0 :constants ("not" "nil?" "scope-peek" "sx-hydrating") :bytecode (1 3 0 52 2 0 1 52 1 0 1 52 0 0 1 50)} "hydrate-next-node" {:upvalue-count 0 :arity 0 :constants ("scope-peek" "sx-hydrating" "dict-get" "parent" "index" "host-call" "host-get" "childNodes" "item" "dict-set!" "+" 1) :bytecode (1 1 0 52 0 0 1 17 0 16 0 33 66 0 16 0 1 3 0 52 2 0 2 17 1 16 0 1 4 0 52 2 0 2 17 2 16 1 1 7 0 52 6 0 2 1 8 0 16 2 52 5 0 3 17 3 16 0 1 4 0 16 2 1 11 0 52 10 0 2 52 9 0 3 5 16 3 32 1 0 2 50)} "hydrate-enter-element" {:upvalue-count 0 :arity 1 :constants ("scope-push!" "sx-hydrating" "dict" "parent" "index" 0) :bytecode (1 1 0 1 3 0 16 0 1 4 0 1 5 0 52 2 0 4 52 0 0 2 50)} "hydrate-exit-element" {:upvalue-count 0 :arity 0 :constants ("scope-pop!" "sx-hydrating") :bytecode (1 1 0 52 0 0 1 50)} "*memo-cache*" "dict" "*cyst-counter*" 0 "next-cyst-id" {:upvalue-count 0 :arity 0 :constants ("+" "*cyst-counter*" 1 "str" "sx-cyst-") :bytecode (20 1 0 1 2 0 52 0 0 2 21 1 0 5 1 4 0 20 1 0 52 3 0 2 50)} "contains-deref?" {:upvalue-count 0 :arity 1 :constants ("not" "list?" "empty?" "=" "type-of" "first" "symbol" "symbol-name" "deref" "some" "contains-deref?") :bytecode (16 0 52 1 0 1 52 0 0 1 33 4 0 4 32 68 0 16 0 52 2 0 1 33 4 0 4 32 55 0 16 0 52 5 0 1 52 4 0 1 1 6 0 52 3 0 2 6 33 18 0 5 16 0 52 5 0 1 52 7 0 1 1 8 0 52 3 0 2 33 4 0 3 32 9 0 20 10 0 16 0 52 9 0 2 50)} "dom-on" {:upvalue-count 0 :arity 3 :constants ("dom-listen" "lambda?" "=" 0 "len" "lambda-params" {:upvalue-count 1 :arity 1 :constants ("trampoline" "call-lambda" "list" "run-post-render-hooks") :bytecode (18 0 52 2 0 0 52 1 0 2 52 0 0 1 5 20 3 0 49 0 50)} {:upvalue-count 1 :arity 1 :constants ("trampoline" "call-lambda" "list" "run-post-render-hooks") :bytecode (18 0 16 0 52 2 0 1 52 1 0 2 52 0 0 1 5 20 3 0 49 0 50)}) :bytecode (20 0 0 16 0 16 1 16 2 52 1 0 1 33 36 0 1 3 0 16 2 52 5 0 1 52 4 0 1 52 2 0 2 33 8 0 51 6 0 1 2 32 5 0 51 7 0 1 2 32 2 0 16 2 49 3 50)} "render-to-dom" {:upvalue-count 0 :arity 3 :constants ("set-render-active!" "type-of" "nil" "=" "create-fragment" "boolean" "raw-html" "dom-parse-html" "raw-html-content" "string" "hydrating?" "hydrate-next-node" "create-text-node" "number" "str" "symbol" "render-to-dom" "trampoline" "eval-expr" "keyword" "keyword-name" "dom-node" "spread" "not" "island-scope?" "scope-emit!" "element-attrs" "spread-attrs" "dict" "has-key?" "__host_handle" "list" "empty?" "render-dom-list" "signal?" "reactive-text" "deref") :bytecode (3 52 0 0 1 5 16 0 52 1 0 1 6 1 2 0 52 3 0 2 33 9 0 5 20 4 0 49 0 32 194 1 6 1 5 0 52 3 0 2 33 9 0 5 20 4 0 49 0 32 174 1 6 1 6 0 52 3 0 2 33 15 0 5 20 7 0 16 0 52 8 0 1 49 1 32 148 1 6 1 9 0 52 3 0 2 33 39 0 5 20 10 0 48 0 33 20 0 20 11 0 48 0 6 34 8 0 5 20 12 0 16 0 49 1 32 7 0 20 12 0 16 0 49 1 32 98 1 6 1 13 0 52 3 0 2 33 47 0 5 20 10 0 48 0 33 24 0 20 11 0 48 0 6 34 12 0 5 20 12 0 16 0 52 14 0 1 49 1 32 11 0 20 12 0 16 0 52 14 0 1 49 1 32 40 1 6 1 15 0 52 3 0 2 33 25 0 5 20 16 0 16 0 16 1 52 18 0 2 52 17 0 1 16 1 16 2 49 3 32 4 1 6 1 19 0 52 3 0 2 33 47 0 5 20 10 0 48 0 33 24 0 20 11 0 48 0 6 34 12 0 5 20 12 0 16 0 52 20 0 1 49 1 32 11 0 20 12 0 16 0 52 20 0 1 49 1 32 202 0 6 1 21 0 52 3 0 2 33 6 0 5 16 0 32 185 0 6 1 22 0 52 3 0 2 33 36 0 5 20 24 0 48 0 52 23 0 1 33 16 0 1 26 0 16 0 52 27 0 1 52 25 0 2 32 1 0 2 5 16 0 32 138 0 6 1 28 0 52 3 0 2 33 26 0 5 16 0 1 30 0 52 29 0 2 33 5 0 16 0 32 5 0 20 4 0 49 0 32 101 0 6 1 31 0 52 3 0 2 33 32 0 5 16 0 52 32 0 1 33 8 0 20 4 0 49 0 32 11 0 20 33 0 16 0 16 1 16 2 49 3 32 58 0 5 20 34 0 16 0 48 1 33 36 0 20 24 0 48 0 33 10 0 20 35 0 16 0 49 1 32 15 0 20 12 0 16 0 52 36 0 1 52 14 0 1 49 1 32 11 0 20 12 0 16 0 52 14 0 1 49 1 50)} "render-dom-list" {:upvalue-count 0 :arity 3 :constants ("first" "=" "type-of" "symbol" "symbol-name" "rest" "raw!" "render-dom-raw" "<>" "render-dom-fragment" "lake" "render-dom-lake" "marsh" "render-dom-marsh" "starts-with?" "html:" "render-dom-element" "slice" 5 "render-dom-form?" "contains?" "HTML_TAGS" ">" "len" 0 "keyword" "dispatch-render-form" "env-has?" "macro?" "env-get" "render-to-dom" "expand-macro" "~" "island?" "scope-peek" "sx-render-markers" "dom-create-element" "span" "dict" "reduce" {:upvalue-count 3 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "dict-set!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 145 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 79 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 18 2 16 3 16 4 52 14 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 22 0 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" "skip" "dom-set-attr" "data-sx-island" "component-name" "not" "empty-dict?" "data-sx-state" "sx-serialize" "render-dom-island" "component?" "render-dom-component" "render-dom-unknown-component" "index-of" "-" "deref" "island-scope?" "trampoline" "eval-expr" "signal?" "reactive-text" "create-text-node" "str" "contains-deref?" "computed" {:upvalue-count 2 :arity 0 :constants ("trampoline" "eval-expr") :bytecode (18 0 18 1 52 1 0 2 52 0 0 1 50)} "lambda?" "list" "create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 33 12 0 20 3 0 18 2 16 1 49 2 32 1 0 2 50)}) :bytecode (16 0 52 0 0 1 17 3 16 3 52 2 0 1 1 3 0 52 1 0 2 33 52 3 16 3 52 4 0 1 17 4 16 0 52 5 0 1 17 5 16 4 1 6 0 52 1 0 2 33 12 0 20 7 0 16 5 16 1 49 2 32 9 3 16 4 1 8 0 52 1 0 2 33 14 0 20 9 0 16 5 16 1 16 2 49 3 32 239 2 16 4 1 10 0 52 1 0 2 33 14 0 20 11 0 16 5 16 1 16 2 49 3 32 213 2 16 4 1 12 0 52 1 0 2 33 14 0 20 13 0 16 5 16 1 16 2 49 3 32 187 2 16 4 1 15 0 52 14 0 2 33 23 0 20 16 0 16 4 1 18 0 52 17 0 2 16 5 16 1 16 2 49 4 32 152 2 20 19 0 16 4 48 1 33 91 0 20 21 0 16 4 52 20 0 2 6 33 43 0 5 16 5 52 23 0 1 1 24 0 52 22 0 2 6 33 18 0 5 16 5 52 0 0 1 52 2 0 1 1 25 0 52 1 0 2 6 34 3 0 5 16 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 13 0 20 26 0 16 4 16 0 16 1 16 2 49 4 32 51 2 16 1 16 4 52 27 0 2 6 33 13 0 5 16 1 16 4 52 29 0 2 52 28 0 1 33 28 0 20 30 0 16 1 16 4 52 29 0 2 16 5 16 1 52 31 0 3 16 1 16 2 49 3 32 251 1 20 21 0 16 4 52 20 0 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 223 1 16 4 1 32 0 52 14 0 2 6 33 26 0 5 16 1 16 4 52 27 0 2 6 33 13 0 5 16 1 16 4 52 29 0 2 52 33 0 1 33 145 0 1 35 0 52 34 0 1 33 113 0 16 1 16 4 52 29 0 2 17 6 20 36 0 1 37 0 2 48 2 17 7 52 38 0 0 17 8 51 40 0 1 5 1 1 1 8 1 41 0 1 24 0 1 42 0 4 52 38 0 4 16 5 52 39 0 3 5 20 43 0 16 7 1 44 0 16 6 52 45 0 1 48 3 5 16 8 52 47 0 1 52 46 0 1 33 19 0 20 43 0 16 7 1 48 0 16 8 52 49 0 1 48 3 32 1 0 2 5 16 7 32 19 0 20 50 0 16 1 16 4 52 29 0 2 16 5 16 1 16 2 49 4 32 36 1 16 4 1 32 0 52 14 0 2 33 45 0 16 1 16 4 52 29 0 2 17 6 16 6 52 51 0 1 33 16 0 20 52 0 16 6 16 5 16 1 16 2 49 4 32 7 0 20 53 0 16 4 49 1 32 235 0 16 4 1 55 0 52 54 0 2 1 24 0 52 22 0 2 6 33 36 0 5 16 5 52 23 0 1 1 24 0 52 22 0 2 6 33 18 0 5 16 5 52 0 0 1 52 2 0 1 1 25 0 52 1 0 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 160 0 16 2 33 16 0 20 16 0 16 4 16 5 16 1 16 2 49 4 32 139 0 16 4 1 56 0 52 1 0 2 6 33 6 0 5 20 57 0 48 0 33 56 0 16 5 52 0 0 1 16 1 52 59 0 2 52 58 0 1 17 6 20 60 0 16 6 48 1 33 10 0 20 61 0 16 6 49 1 32 15 0 20 62 0 16 6 52 56 0 1 52 63 0 1 49 1 32 61 0 20 57 0 48 0 6 33 8 0 5 20 64 0 16 0 48 1 33 20 0 20 61 0 20 65 0 51 66 0 1 0 1 1 48 1 49 1 32 21 0 20 30 0 16 0 16 1 52 59 0 2 52 58 0 1 16 1 16 2 49 3 32 76 0 16 3 52 67 0 1 6 34 14 0 5 16 3 52 2 0 1 1 68 0 52 1 0 2 33 24 0 20 30 0 16 0 16 1 52 59 0 2 52 58 0 1 16 1 16 2 49 3 32 25 0 20 69 0 48 0 17 4 51 71 0 1 1 1 2 1 4 16 0 52 70 0 2 5 16 4 50)} "render-dom-element" {:upvalue-count 0 :arity 4 :constants ("=" "svg" "SVG_NS" "math" "MATH_NS" "hydrating?" "hydrate-next-node" "lower" "host-get" "tagName" "" "hydrate-enter-element" "error" "str" "hydrate-mismatch:" "dom-create-element" "scope-push!" "element-attrs" "reduce" {:upvalue-count 5 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "nth" "starts-with?" "on-" "trampoline" "eval-expr" "callable?" "dom-on" "slice" 3 "bind" "signal?" "bind-input" "ref" "dict-set!" "current" "key" "dom-set-attr" "str" "island-scope?" "reactive-attr" {:upvalue-count 2 :arity 0 :constants ("trampoline" "eval-expr") :bytecode (18 0 18 1 52 1 0 2 52 0 0 1 50)} "nil?" "contains?" "BOOLEAN_ATTRS" "" "not" "VOID_ELEMENTS" "render-to-dom" "spread?" "reactive-spread" {:upvalue-count 3 :arity 0 :constants ("render-to-dom") :bytecode (20 0 0 18 0 18 1 18 2 49 3 50)} "hydrating?" "dom-parent" "dom-append") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 98 2 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 162 1 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 11 0 2 17 4 16 3 1 13 0 52 12 0 2 33 49 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 16 0 16 5 48 1 33 21 0 20 17 0 18 2 16 3 1 19 0 52 18 0 2 16 5 48 3 32 1 0 2 32 42 1 16 3 1 20 0 52 5 0 2 33 40 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 21 0 16 5 48 1 33 12 0 20 22 0 18 2 16 5 48 2 32 1 0 2 32 246 0 16 3 1 23 0 52 5 0 2 33 47 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 16 0 16 5 48 1 33 9 0 16 5 18 2 48 1 32 11 0 16 5 1 25 0 18 2 52 24 0 3 32 187 0 16 3 1 26 0 52 5 0 2 33 33 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 20 27 0 18 2 1 26 0 16 5 52 28 0 1 48 3 32 142 0 20 29 0 48 0 33 19 0 20 30 0 18 2 16 3 51 31 0 1 4 0 1 48 3 32 115 0 16 4 18 1 52 15 0 2 52 14 0 1 17 5 16 5 52 32 0 1 6 34 8 0 5 16 5 4 52 5 0 2 33 4 0 2 32 76 0 20 34 0 16 3 52 33 0 2 33 24 0 16 5 33 15 0 20 27 0 18 2 16 3 1 35 0 48 3 32 1 0 2 32 40 0 16 5 3 52 5 0 2 33 15 0 20 27 0 18 2 16 3 1 35 0 48 3 32 15 0 20 27 0 18 2 16 3 16 5 52 28 0 1 48 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 148 0 20 37 0 18 3 52 33 0 2 52 36 0 1 33 108 0 20 38 0 16 1 18 1 18 4 48 3 17 3 16 3 52 39 0 1 6 33 6 0 5 20 29 0 48 0 33 19 0 20 40 0 18 2 51 41 0 1 1 0 1 0 4 48 2 32 54 0 16 3 52 39 0 1 33 4 0 2 32 41 0 20 42 0 48 0 52 36 0 1 6 34 12 0 5 20 43 0 16 3 48 1 52 32 0 1 33 12 0 20 44 0 18 2 16 3 48 2 32 1 0 2 32 1 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "for-each" {:upvalue-count 1 :arity 1 :constants ("for-each" {:upvalue-count 2 :arity 1 :constants ("dict-get" "=" "class" "dom-get-attr" "dom-set-attr" "not" "" "str" " " "style" ";") :bytecode (18 0 16 0 52 0 0 2 17 1 16 0 1 2 0 52 1 0 2 33 64 0 20 3 0 18 1 1 2 0 48 2 17 2 20 4 0 18 1 1 2 0 16 2 6 33 14 0 5 16 2 1 6 0 52 1 0 2 52 5 0 1 33 14 0 16 2 1 8 0 16 1 52 7 0 3 32 2 0 16 1 49 3 32 91 0 16 0 1 9 0 52 1 0 2 33 64 0 20 3 0 18 1 1 9 0 48 2 17 2 20 4 0 18 1 1 9 0 16 2 6 33 14 0 5 16 2 1 6 0 52 1 0 2 52 5 0 1 33 14 0 16 2 1 10 0 16 1 52 7 0 3 32 2 0 16 1 49 3 32 15 0 20 4 0 18 1 16 0 16 1 52 7 0 1 49 3 50)} "keys") :bytecode (51 1 0 1 0 0 0 16 0 52 2 0 1 52 0 0 2 50)} "scope-emitted" "scope-pop!" "hydrate-exit-element") :bytecode (16 0 1 1 0 52 0 0 2 33 6 0 20 2 0 32 20 0 16 0 1 3 0 52 0 0 2 33 6 0 20 4 0 32 2 0 16 3 17 4 20 5 0 48 0 33 73 0 20 6 0 48 0 17 5 16 5 6 33 28 0 5 16 5 1 9 0 52 8 0 2 6 34 4 0 5 1 10 0 52 7 0 1 16 0 52 0 0 2 33 13 0 20 11 0 16 5 48 1 5 16 5 32 13 0 1 14 0 16 0 52 13 0 2 52 12 0 1 32 9 0 20 15 0 16 0 16 4 48 2 17 5 1 17 0 2 52 16 0 2 5 51 19 0 1 1 1 2 1 5 1 0 1 4 1 21 0 1 22 0 1 23 0 4 52 20 0 4 16 1 52 18 0 3 5 51 25 0 1 5 1 17 0 52 26 0 1 52 24 0 2 5 1 17 0 52 27 0 1 5 20 5 0 48 0 33 8 0 20 28 0 48 0 32 1 0 2 5 16 5 50)} "render-dom-component" {:upvalue-count 0 :arity 4 :constants ("dict" "list" "reduce" {:upvalue-count 4 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "trampoline" "eval-expr" "nth" "dict-set!" "keyword-name" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 150 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 75 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 12 0 2 18 1 52 11 0 2 52 10 0 1 17 3 18 2 16 1 52 14 0 1 16 3 52 13 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 3 16 1 52 15 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" 0 "skip" "env-merge" "component-closure" "for-each" {:upvalue-count 2 :arity 1 :constants ("env-bind!" "dict-has?" "dict-get") :bytecode (18 0 16 0 18 1 16 0 52 1 0 2 33 11 0 18 1 16 0 52 2 0 2 32 1 0 2 52 0 0 3 50)} "component-params" "component-has-children?" "create-fragment" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 33 12 0 20 3 0 18 2 16 1 49 2 32 1 0 2 50)} "env-bind!" "children" "render-to-dom" "component-body") :bytecode (52 0 0 0 17 4 52 1 0 0 17 5 51 3 0 1 1 1 2 1 4 1 5 1 4 0 1 5 0 1 6 0 4 52 0 0 4 16 1 52 2 0 3 5 16 0 52 8 0 1 16 2 52 7 0 2 17 6 51 10 0 1 6 1 4 16 0 52 11 0 1 52 9 0 2 5 16 0 52 12 0 1 33 37 0 20 13 0 48 0 17 7 51 14 0 1 2 1 3 1 7 16 5 52 9 0 2 5 16 6 1 16 0 16 7 52 15 0 3 32 1 0 2 5 20 17 0 16 0 52 18 0 1 16 6 16 3 49 3 50)} "render-dom-fragment" {:upvalue-count 0 :arity 3 :constants ("hydrating?" "create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "nil?" "dom-parent" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 6 33 12 0 5 20 4 0 16 1 48 1 52 3 0 1 33 12 0 20 5 0 18 2 16 1 49 2 32 1 0 2 50)} {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "spread?" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 16 1 52 2 0 1 52 1 0 1 33 12 0 20 3 0 18 2 16 1 49 2 32 1 0 2 50)}) :bytecode (20 0 0 48 0 33 28 0 20 1 0 48 0 17 3 51 3 0 1 1 1 2 1 3 16 0 52 2 0 2 5 16 3 32 25 0 20 1 0 48 0 17 3 51 4 0 1 1 1 2 1 3 16 0 52 2 0 2 5 16 3 50)} "render-dom-raw" {:upvalue-count 0 :arity 2 :constants ("create-fragment" "for-each" {:upvalue-count 2 :arity 1 :constants ("trampoline" "eval-expr" "=" "type-of" "string" "dom-append" "dom-parse-html" "dom-node" "dom-clone" "not" "nil?" "create-text-node" "str") :bytecode (16 0 18 0 52 1 0 2 52 0 0 1 17 1 16 1 52 3 0 1 1 4 0 52 2 0 2 33 17 0 20 5 0 18 1 20 6 0 16 1 48 1 49 2 32 68 0 16 1 52 3 0 1 1 7 0 52 2 0 2 33 17 0 20 5 0 18 1 20 8 0 16 1 48 1 49 2 32 35 0 16 1 52 10 0 1 52 9 0 1 33 21 0 20 5 0 18 1 20 11 0 16 1 52 12 0 1 48 1 49 2 32 1 0 2 50)}) :bytecode (20 0 0 48 0 17 2 51 2 0 1 1 1 2 16 0 52 1 0 2 5 16 2 50)} "render-dom-unknown-component" {:upvalue-count 0 :arity 1 :constants ("error" "str" "Unknown component: ") :bytecode (1 2 0 16 0 52 1 0 2 52 0 0 1 50)} "RENDER_DOM_FORMS" "list" "if" "when" "cond" "case" "let" "let*" "letrec" "begin" "do" "define" "defcomp" "defisland" "defmacro" "defstyle" "map" "map-indexed" "filter" "for-each" "portal" "error-boundary" "scope" "provide" "cyst" "render-dom-form?" {:upvalue-count 0 :arity 1 :constants ("contains?" "RENDER_DOM_FORMS") :bytecode (20 1 0 16 0 52 0 0 2 50)} "dispatch-render-form" {:upvalue-count 0 :arity 4 :constants ("=" "if" "island-scope?" "not" "hydrating?" "create-comment" "r-if" "list" "effect" {:upvalue-count 6 :arity 0 :constants ("trampoline" "eval-expr" "nth" 1 "render-to-dom" 2 ">" "len" 3 "create-fragment" "dom-parent" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "dom-is-fragment?" "dom-child-nodes" "list" "dom-insert-after") :bytecode (18 0 1 3 0 52 2 0 2 18 1 52 1 0 2 52 0 0 1 17 0 16 0 33 21 0 20 4 0 18 0 1 5 0 52 2 0 2 18 1 18 2 48 3 32 42 0 18 0 52 7 0 1 1 8 0 52 6 0 2 33 21 0 20 4 0 18 0 1 8 0 52 2 0 2 18 1 18 2 48 3 32 5 0 20 9 0 48 0 17 0 20 10 0 18 3 48 1 33 51 0 51 12 0 18 4 52 11 0 2 5 20 13 0 16 0 48 1 33 10 0 20 14 0 16 0 48 1 32 6 0 16 0 52 15 0 1 19 4 5 20 16 0 18 3 16 0 49 2 32 4 0 16 0 19 5 50)} "nil?" "spread?" "dom-parent" "host-call" "insertBefore" "create-fragment" "dom-append" "dom-is-fragment?" "dom-child-nodes" "trampoline" "eval-expr" "nth" 1 "render-to-dom" 2 ">" "len" 3 "when" "r-when" {:upvalue-count 6 :arity 0 :constants ("dom-parent" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "list" "trampoline" "eval-expr" "nth" 1 "create-fragment" {:upvalue-count 4 :arity 1 :constants ("dom-append" "render-to-dom" "nth") :bytecode (20 0 0 18 0 20 1 0 18 1 16 0 52 2 0 2 18 2 18 3 48 3 49 2 50)} "range" 2 "len" "dom-child-nodes" "dom-insert-after" "hydrating?" {:upvalue-count 4 :arity 1 :constants ("render-to-dom" "nth" "append!") :bytecode (20 0 0 18 0 16 0 52 1 0 2 18 1 18 2 48 3 17 1 18 3 16 1 52 2 0 2 50)} "first") :bytecode (20 0 0 18 0 48 1 33 101 0 51 2 0 18 1 52 1 0 2 5 52 3 0 0 19 1 5 18 2 1 7 0 52 6 0 2 18 3 52 5 0 2 52 4 0 1 33 58 0 20 8 0 48 0 17 0 51 9 0 1 0 0 2 0 3 0 4 1 11 0 18 2 52 12 0 1 52 10 0 2 52 1 0 2 5 20 13 0 16 0 48 1 19 1 5 20 14 0 18 0 16 0 49 2 32 1 0 2 32 135 0 18 2 1 7 0 52 6 0 2 18 3 52 5 0 2 52 4 0 1 33 112 0 20 15 0 48 0 33 51 0 52 3 0 0 17 0 51 16 0 0 2 0 3 0 4 1 0 1 11 0 18 2 52 12 0 1 52 10 0 2 52 1 0 2 5 16 0 19 1 5 16 0 52 17 0 1 19 5 32 50 0 20 8 0 48 0 17 0 51 9 0 1 0 0 2 0 3 0 4 1 11 0 18 2 52 12 0 1 52 10 0 2 52 1 0 2 5 20 13 0 16 0 48 1 19 1 5 16 0 19 5 32 1 0 2 50)} "for-each" {:upvalue-count 4 :arity 1 :constants ("dom-append" "render-to-dom" "nth") :bytecode (20 0 0 18 0 20 1 0 18 1 16 0 52 2 0 2 18 2 18 3 48 3 49 2 50)} "range" "cond" "r-cond" {:upvalue-count 6 :arity 0 :constants ("eval-cond" "rest" "dom-parent" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "list" "render-to-dom" "dom-is-fragment?" "dom-child-nodes" "dom-insert-after") :bytecode (20 0 0 18 0 52 1 0 1 18 1 48 2 17 0 20 2 0 18 2 48 1 33 80 0 51 4 0 18 3 52 3 0 2 5 52 5 0 0 19 3 5 16 0 33 54 0 20 6 0 16 0 18 1 18 4 48 3 17 1 20 7 0 16 1 48 1 33 10 0 20 8 0 16 1 48 1 32 6 0 16 1 52 5 0 1 19 3 5 20 9 0 18 2 16 1 49 2 32 1 0 2 32 55 0 16 0 33 49 0 20 6 0 16 0 18 1 18 4 48 3 17 1 20 7 0 16 1 48 1 33 10 0 20 8 0 16 1 48 1 32 6 0 16 1 52 5 0 1 19 3 5 16 1 19 5 32 1 0 2 50)} "eval-cond" "rest" "case" "let" "let*" "process-bindings" {:upvalue-count 4 :arity 1 :constants ("render-to-dom" "nth" "not" "spread?" "dom-append") :bytecode (20 0 0 18 0 16 0 52 1 0 2 18 1 18 2 48 3 17 1 16 1 52 3 0 1 52 2 0 1 33 12 0 20 4 0 18 3 16 1 49 2 32 1 0 2 50)} "letrec" "slice" "env-extend" {:upvalue-count 1 :arity 1 :constants ("=" "type-of" "first" "symbol" "symbol-name" "str" "env-bind!") :bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 13 0 16 0 52 2 0 1 52 4 0 1 32 10 0 16 0 52 2 0 1 52 5 0 1 17 1 18 0 16 1 2 52 6 0 3 50)} {:upvalue-count 1 :arity 1 :constants ("=" "type-of" "first" "symbol" "symbol-name" "str" "env-set!" "trampoline" "eval-expr" "nth" 1) :bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 13 0 16 0 52 2 0 1 52 4 0 1 32 10 0 16 0 52 2 0 1 52 5 0 1 17 1 18 0 16 1 16 0 1 10 0 52 9 0 2 18 0 52 8 0 2 52 7 0 1 52 6 0 3 50)} {:upvalue-count 1 :arity 1 :constants ("trampoline" "eval-expr") :bytecode (16 0 18 0 52 1 0 2 52 0 0 1 50)} "init" "last" "begin" "do" "definition-form?" "map" "type-of" "first" "symbol" "symbol-name" "deref" "signal?" "reactive-list" {:upvalue-count 4 :arity 1 :constants ("lambda?" "render-lambda-dom" "list" "render-to-dom" "apply" "dom-append") :bytecode (18 0 52 0 0 1 33 20 0 20 1 0 18 0 16 0 52 2 0 1 18 1 18 2 48 4 32 21 0 20 3 0 18 0 16 0 52 2 0 1 52 4 0 2 18 1 18 2 48 3 17 1 20 5 0 18 3 16 1 49 2 50)} "map-indexed" "for-each-indexed" {:upvalue-count 4 :arity 2 :constants ("lambda?" "render-lambda-dom" "list" "render-to-dom" "apply" "dom-append") :bytecode (18 0 52 0 0 1 33 22 0 20 1 0 18 0 16 0 16 1 52 2 0 2 18 1 18 2 48 4 32 23 0 20 3 0 18 0 16 0 16 1 52 2 0 2 52 4 0 2 18 1 18 2 48 3 17 2 20 5 0 18 3 16 2 49 2 50)} "filter" "portal" "render-dom-portal" "error-boundary" "render-dom-error-boundary" "scope" ">=" "keyword" "keyword-name" "value" "scope-push!" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "scope-pop!" "provide" "cyst" "key" "str" "next-cyst-id" "get" "*memo-cache*" "host-get" "isConnected" "dom-create-element" "div" "dom-set-attr" "data-sx-cyst" "with-island-scope" {:upvalue-count 1 :arity 1 :constants ("append!") :bytecode (18 0 16 0 52 0 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)}) :bytecode (20 0 0 48 0 17 0 51 2 0 1 0 0 0 0 1 18 2 52 1 0 2 5 16 0 50)} "dom-set-data" "sx-disposers" "dict-set!") :bytecode (16 0 1 1 0 52 0 0 2 33 75 1 20 2 0 48 0 6 33 10 0 5 20 4 0 48 0 52 3 0 1 33 217 0 20 5 0 1 6 0 48 1 17 4 52 7 0 0 17 5 2 17 6 20 8 0 51 9 0 1 1 1 2 1 3 1 4 1 5 1 6 48 1 5 20 4 0 48 0 33 85 0 16 6 6 33 26 0 5 16 6 52 10 0 1 52 3 0 1 6 33 11 0 5 16 6 52 11 0 1 52 3 0 1 33 43 0 20 12 0 16 6 48 1 17 7 16 7 33 25 0 16 7 1 14 0 16 4 16 6 52 13 0 4 5 16 6 52 7 0 1 17 5 32 1 0 2 32 1 0 2 5 16 4 32 81 0 16 6 52 11 0 1 33 5 0 16 6 32 67 0 20 15 0 48 0 17 7 20 16 0 16 7 16 4 48 2 5 16 6 33 41 0 20 17 0 16 6 48 1 33 10 0 20 18 0 16 6 48 1 32 6 0 16 6 52 7 0 1 17 5 5 20 16 0 16 7 16 6 48 2 32 1 0 2 5 16 7 32 89 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 4 33 21 0 20 23 0 16 1 1 24 0 52 21 0 2 16 2 16 3 49 3 32 42 0 16 1 52 26 0 1 1 27 0 52 25 0 2 33 21 0 20 23 0 16 1 1 27 0 52 21 0 2 16 2 16 3 49 3 32 5 0 20 15 0 49 0 32 108 8 16 0 1 28 0 52 0 0 2 33 5 1 20 2 0 48 0 6 33 10 0 5 20 4 0 48 0 52 3 0 1 33 164 0 20 5 0 1 29 0 48 1 17 4 52 7 0 0 17 5 2 17 6 20 8 0 51 30 0 1 4 1 5 1 1 1 2 1 3 1 6 48 1 5 20 4 0 48 0 33 61 0 16 6 6 33 11 0 5 16 6 52 10 0 1 52 3 0 1 33 34 0 20 12 0 16 6 48 1 17 7 16 7 33 16 0 16 7 1 14 0 16 4 16 6 52 13 0 4 32 1 0 2 32 1 0 2 5 16 4 32 52 0 16 6 52 11 0 1 33 5 0 16 6 32 38 0 20 15 0 48 0 17 7 20 16 0 16 7 16 4 48 2 5 16 6 33 12 0 20 16 0 16 7 16 6 48 2 32 1 0 2 5 16 7 32 72 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 52 3 0 1 33 8 0 20 15 0 49 0 32 38 0 20 15 0 48 0 17 4 51 32 0 1 4 1 1 1 2 1 3 1 24 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 4 32 91 7 16 0 1 34 0 52 0 0 2 33 252 0 20 2 0 48 0 6 33 10 0 5 20 4 0 48 0 52 3 0 1 33 188 0 20 5 0 1 35 0 48 1 17 4 52 7 0 0 17 5 2 17 6 20 8 0 51 36 0 1 1 1 2 1 4 1 5 1 3 1 6 48 1 5 20 4 0 48 0 33 85 0 16 6 6 33 26 0 5 16 6 52 10 0 1 52 3 0 1 6 33 11 0 5 16 6 52 11 0 1 52 3 0 1 33 43 0 20 12 0 16 6 48 1 17 7 16 7 33 25 0 16 7 1 14 0 16 4 16 6 52 13 0 4 5 16 6 52 7 0 1 17 5 32 1 0 2 32 1 0 2 5 16 4 32 52 0 16 6 52 11 0 1 33 5 0 16 6 32 38 0 20 15 0 48 0 17 7 20 16 0 16 7 16 4 48 2 5 16 6 33 12 0 20 16 0 16 7 16 6 48 2 32 1 0 2 5 16 7 32 39 0 20 37 0 16 1 52 38 0 1 16 2 48 2 17 4 16 4 33 14 0 20 23 0 16 4 16 2 16 3 49 3 32 5 0 20 15 0 49 0 32 83 6 16 0 1 39 0 52 0 0 2 33 24 0 20 23 0 16 1 16 2 52 20 0 2 52 19 0 1 16 2 16 3 49 3 32 47 6 16 0 1 40 0 52 0 0 2 6 34 10 0 5 16 0 1 41 0 52 0 0 2 33 96 0 20 42 0 16 1 1 22 0 52 21 0 2 16 2 48 2 17 4 16 1 52 26 0 1 1 27 0 52 0 0 2 33 21 0 20 23 0 16 1 1 24 0 52 21 0 2 16 4 16 3 49 3 32 38 0 20 15 0 48 0 17 5 51 43 0 1 1 1 4 1 3 1 5 1 24 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 5 32 181 5 16 0 1 44 0 52 0 0 2 33 108 0 16 1 1 22 0 52 21 0 2 17 4 16 1 1 24 0 52 45 0 2 17 5 16 2 52 46 0 1 17 6 51 47 0 1 6 16 4 52 31 0 2 5 51 48 0 1 6 16 4 52 31 0 2 5 16 5 52 26 0 1 1 22 0 52 25 0 2 33 18 0 51 49 0 1 6 16 5 52 50 0 1 52 31 0 2 32 1 0 2 5 20 23 0 16 5 52 51 0 1 16 6 16 3 49 3 32 61 5 16 0 1 52 0 52 0 0 2 6 34 10 0 5 16 0 1 53 0 52 0 0 2 33 78 0 16 1 52 26 0 1 1 24 0 52 0 0 2 33 21 0 20 23 0 16 1 1 22 0 52 21 0 2 16 2 16 3 49 3 32 38 0 20 15 0 48 0 17 4 51 43 0 1 1 1 2 1 3 1 4 1 22 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 4 32 213 4 20 54 0 16 0 48 1 33 21 0 16 1 16 2 52 20 0 2 52 19 0 1 5 20 15 0 49 0 32 182 4 16 0 1 55 0 52 0 0 2 33 21 1 16 1 1 24 0 52 21 0 2 17 4 20 2 0 48 0 6 33 76 0 5 16 4 52 56 0 1 1 7 0 52 0 0 2 6 33 58 0 5 16 4 52 26 0 1 1 22 0 52 25 0 2 6 33 40 0 5 16 4 52 57 0 1 52 56 0 1 1 58 0 52 0 0 2 6 33 18 0 5 16 4 52 57 0 1 52 59 0 1 1 60 0 52 0 0 2 33 106 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 16 4 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 6 20 61 0 16 6 48 1 33 16 0 20 62 0 16 5 16 6 16 2 16 3 49 4 32 35 0 16 6 52 60 0 1 17 7 20 15 0 48 0 17 8 51 63 0 1 5 1 2 1 3 1 8 16 7 52 31 0 2 5 16 8 32 69 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 6 20 15 0 48 0 17 7 51 63 0 1 5 1 2 1 3 1 7 16 6 52 31 0 2 5 16 7 32 149 3 16 0 1 64 0 52 0 0 2 33 72 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 20 15 0 48 0 17 6 51 66 0 1 4 1 2 1 3 1 6 16 5 52 65 0 2 5 16 6 32 65 3 16 0 1 67 0 52 0 0 2 33 24 0 20 23 0 16 1 16 2 52 20 0 2 52 19 0 1 16 2 16 3 49 3 32 29 3 16 0 1 68 0 52 0 0 2 33 18 0 20 69 0 16 1 52 38 0 1 16 2 16 3 49 3 32 255 2 16 0 1 70 0 52 0 0 2 33 18 0 20 71 0 16 1 52 38 0 1 16 2 16 3 49 3 32 225 2 16 0 1 31 0 52 0 0 2 33 72 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 20 15 0 48 0 17 6 51 63 0 1 4 1 2 1 3 1 6 16 5 52 31 0 2 5 16 6 32 141 2 16 0 1 72 0 52 0 0 2 33 183 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 45 0 2 17 5 2 17 6 2 17 7 20 15 0 48 0 17 8 16 5 52 26 0 1 1 24 0 52 73 0 2 6 33 40 0 5 16 5 52 57 0 1 52 56 0 1 1 74 0 52 0 0 2 6 33 18 0 5 16 5 52 57 0 1 52 75 0 1 1 76 0 52 0 0 2 33 36 0 16 5 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 6 5 16 5 1 24 0 52 45 0 2 17 7 32 4 0 16 5 17 7 5 16 4 16 6 52 77 0 2 5 51 78 0 1 8 1 2 1 3 16 7 52 31 0 2 5 16 4 52 79 0 1 5 16 8 32 202 1 16 0 1 80 0 52 0 0 2 33 99 0 16 1 1 22 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 4 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 17 5 20 15 0 48 0 17 6 16 4 16 5 52 77 0 2 5 51 32 0 1 6 1 1 1 2 1 3 1 27 0 16 1 52 26 0 1 52 33 0 2 52 31 0 2 5 16 4 52 79 0 1 5 16 6 32 91 1 16 0 1 81 0 52 0 0 2 33 58 1 16 1 52 26 0 1 1 24 0 52 25 0 2 6 33 46 0 5 16 1 1 22 0 52 21 0 2 52 56 0 1 1 74 0 52 0 0 2 6 33 21 0 5 16 1 1 22 0 52 21 0 2 52 75 0 1 1 82 0 52 0 0 2 33 26 0 16 1 1 24 0 52 21 0 2 16 2 52 20 0 2 52 19 0 1 52 83 0 1 32 5 0 20 84 0 48 0 17 4 20 86 0 16 4 52 85 0 2 17 5 16 5 6 33 10 0 5 16 5 1 88 0 52 87 0 2 33 5 0 16 5 32 177 0 20 89 0 1 90 0 2 48 2 17 6 52 7 0 0 17 7 16 1 52 26 0 1 1 24 0 52 25 0 2 6 33 46 0 5 16 1 1 22 0 52 21 0 2 52 56 0 1 1 74 0 52 0 0 2 6 33 21 0 5 16 1 1 22 0 52 21 0 2 52 75 0 1 1 82 0 52 0 0 2 33 12 0 16 1 1 27 0 52 45 0 2 32 9 0 16 1 1 22 0 52 45 0 2 17 8 20 91 0 16 6 1 92 0 16 4 48 3 5 20 93 0 51 94 0 1 7 51 95 0 1 2 1 3 1 8 48 2 17 9 20 16 0 16 6 16 9 48 2 5 20 96 0 16 6 1 97 0 16 7 48 3 5 20 86 0 16 4 16 6 52 98 0 3 5 16 6 32 21 0 20 23 0 16 1 16 2 52 20 0 2 52 19 0 1 16 2 16 3 49 3 50)} "render-lambda-dom" {:upvalue-count 0 :arity 4 :constants ("env-merge" "lambda-closure" "for-each-indexed" {:upvalue-count 2 :arity 2 :constants ("env-bind!" "nth") :bytecode (18 0 16 1 18 1 16 0 52 1 0 2 52 0 0 3 50)} "lambda-params" "render-to-dom" "lambda-body") :bytecode (16 0 52 1 0 1 16 2 52 0 0 2 17 4 51 3 0 1 4 1 1 16 0 52 4 0 1 52 2 0 2 5 20 5 0 16 0 52 6 0 1 16 4 16 3 49 3 50)} "render-dom-island" {:upvalue-count 0 :arity 4 :constants ("dict" "list" "reduce" {:upvalue-count 4 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "trampoline" "eval-expr" "nth" "dict-set!" "keyword-name" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 150 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 75 0 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 12 0 2 18 1 52 11 0 2 52 10 0 1 17 3 18 2 16 1 52 14 0 1 16 3 52 13 0 3 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 3 16 1 52 15 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "i" 0 "skip" "env-merge" "component-closure" "component-name" "for-each" {:upvalue-count 2 :arity 1 :constants ("env-bind!" "dict-has?" "dict-get") :bytecode (18 0 16 0 18 1 16 0 52 1 0 2 33 11 0 18 1 16 0 52 2 0 2 32 1 0 2 52 0 0 3 50)} "component-params" "component-has-children?" "create-fragment" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "env-bind!" "children" "dom-create-element" "span" "dom-set-attr" "data-sx-island" "not" "empty-dict?" "data-sx-state" "sx-serialize" "mark-processed!" "island-hydrated" "with-island-scope" {:upvalue-count 1 :arity 1 :constants ("append!") :bytecode (18 0 16 0 52 0 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("render-to-dom" "component-body") :bytecode (20 0 0 18 0 52 1 0 1 18 1 18 2 49 3 50)} "dom-append" "dom-set-data" "sx-disposers") :bytecode (52 0 0 0 17 4 52 1 0 0 17 5 51 3 0 1 1 1 2 1 4 1 5 1 4 0 1 5 0 1 6 0 4 52 0 0 4 16 1 52 2 0 3 5 16 0 52 8 0 1 16 2 52 7 0 2 17 6 16 0 52 9 0 1 17 7 51 11 0 1 6 1 4 16 0 52 12 0 1 52 10 0 2 5 16 0 52 13 0 1 33 37 0 20 14 0 48 0 17 8 51 15 0 1 8 1 2 1 3 16 5 52 10 0 2 5 16 6 1 17 0 16 8 52 16 0 3 32 1 0 2 5 20 18 0 1 19 0 2 48 2 17 8 52 1 0 0 17 9 20 20 0 16 8 1 21 0 16 7 48 3 5 16 4 52 23 0 1 52 22 0 1 33 19 0 20 20 0 16 8 1 24 0 16 4 52 25 0 1 48 3 32 1 0 2 5 20 26 0 16 8 1 27 0 48 2 5 20 28 0 51 29 0 1 9 51 30 0 1 0 1 6 1 3 48 2 17 10 20 31 0 16 8 16 10 48 2 5 20 32 0 16 8 1 33 0 16 9 48 3 5 16 8 50)} "render-dom-lake" {:upvalue-count 0 :arity 3 :constants ("div" "list" "reduce" {:upvalue-count 5 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "id" "tag" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 183 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 108 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 16 3 1 14 0 52 5 0 2 33 7 0 16 4 19 2 32 20 0 16 3 1 15 0 52 5 0 2 33 7 0 16 4 19 3 32 1 0 2 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 4 16 1 52 16 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "hydrating?" "hydrate-next-node" "hydrate-enter-element" "dom-create-element" "dom-set-attr" "data-sx-lake" "" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "hydrating?" "nil?" "dom-parent" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 20 2 0 48 0 52 1 0 1 6 34 12 0 5 20 4 0 16 1 48 1 52 3 0 1 33 12 0 20 5 0 18 2 16 1 49 2 32 1 0 2 50)} "hydrate-exit-element") :bytecode (2 17 3 1 0 0 17 4 52 1 0 0 17 5 51 3 0 1 0 1 1 1 3 1 4 1 5 1 5 0 1 6 0 1 7 0 4 52 4 0 4 16 0 52 2 0 3 5 20 8 0 48 0 33 36 0 20 9 0 48 0 17 6 16 6 33 13 0 20 10 0 16 6 48 1 5 16 6 32 8 0 20 11 0 16 4 2 48 2 32 8 0 20 11 0 16 4 2 48 2 17 6 20 12 0 16 6 1 13 0 16 3 6 34 4 0 5 1 14 0 48 3 5 51 16 0 1 1 1 2 1 6 16 5 52 15 0 2 5 20 8 0 48 0 33 8 0 20 17 0 48 0 32 1 0 2 5 16 6 50)} "render-dom-marsh" {:upvalue-count 0 :arity 3 :constants ("div" "list" "reduce" {:upvalue-count 6 :arity 2 :constants ("get" "skip" "assoc" "i" "inc" "=" "type-of" "keyword" "<" "len" "keyword-name" "trampoline" "eval-expr" "nth" "id" "tag" "transform" "append!") :bytecode (16 0 1 1 0 52 0 0 2 17 2 16 2 33 29 0 16 0 1 1 0 4 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 202 0 16 1 52 6 0 1 1 7 0 52 5 0 2 6 33 24 0 5 16 0 1 3 0 52 0 0 2 52 4 0 1 18 0 52 9 0 1 52 8 0 2 33 127 0 16 1 52 10 0 1 17 3 18 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 13 0 2 18 1 52 12 0 2 52 11 0 1 17 4 16 3 1 14 0 52 5 0 2 33 7 0 16 4 19 2 32 39 0 16 3 1 15 0 52 5 0 2 33 7 0 16 4 19 3 32 20 0 16 3 1 16 0 52 5 0 2 33 7 0 16 4 19 4 32 1 0 2 5 16 0 1 1 0 3 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 5 32 31 0 18 5 16 1 52 17 0 2 5 16 0 1 3 0 16 0 1 3 0 52 0 0 2 52 4 0 1 52 2 0 3 50)} "dict" "i" 0 "skip" "hydrating?" "hydrate-next-node" "hydrate-enter-element" "dom-create-element" "dom-set-attr" "data-sx-marsh" "" "dom-set-data" "sx-marsh-transform" "sx-marsh-env" "for-each" {:upvalue-count 3 :arity 1 :constants ("render-to-dom" "not" "hydrating?" "nil?" "dom-parent" "dom-append") :bytecode (20 0 0 16 0 18 0 18 1 48 3 17 1 20 2 0 48 0 52 1 0 1 6 34 12 0 5 20 4 0 16 1 48 1 52 3 0 1 33 12 0 20 5 0 18 2 16 1 49 2 32 1 0 2 50)} "hydrate-exit-element") :bytecode (2 17 3 1 0 0 17 4 2 17 5 52 1 0 0 17 6 51 3 0 1 0 1 1 1 3 1 4 1 5 1 6 1 5 0 1 6 0 1 7 0 4 52 4 0 4 16 0 52 2 0 3 5 20 8 0 48 0 33 36 0 20 9 0 48 0 17 7 16 7 33 13 0 20 10 0 16 7 48 1 5 16 7 32 8 0 20 11 0 16 4 2 48 2 32 8 0 20 11 0 16 4 2 48 2 17 7 20 12 0 16 7 1 13 0 16 3 6 34 4 0 5 1 14 0 48 3 5 16 5 33 15 0 20 15 0 16 7 1 16 0 16 5 48 3 32 1 0 2 5 20 15 0 16 7 1 17 0 16 1 48 3 5 51 19 0 1 1 1 2 1 7 16 6 52 18 0 2 5 20 8 0 48 0 33 8 0 20 20 0 48 0 32 1 0 2 5 16 7 50)} "reactive-text" {:upvalue-count 0 :arity 1 :constants ("hydrating?" "hydrate-next-node" "create-text-node" "str" "deref" "effect" {:upvalue-count 2 :arity 0 :constants ("dom-set-text-content" "str" "deref") :bytecode (20 0 0 18 0 18 1 52 2 0 1 52 1 0 1 49 2 50)}) :bytecode (20 0 0 48 0 33 28 0 20 1 0 48 0 6 34 16 0 5 20 2 0 16 0 52 4 0 1 52 3 0 1 48 1 32 15 0 20 2 0 16 0 52 4 0 1 52 3 0 1 48 1 17 1 20 5 0 51 6 0 1 1 1 0 48 1 5 16 1 50)} "reactive-attr" {:upvalue-count 0 :arity 3 :constants ("dom-get-attr" "data-sx-reactive-attrs" "" "empty?" "str" "," "dom-set-attr" "effect" {:upvalue-count 3 :arity 0 :constants ("signal?" "deref" "nil?" "=" "dom-remove-attr" "dom-set-attr" "" "str") :bytecode (18 0 48 0 17 0 20 0 0 16 0 48 1 33 9 0 16 0 52 1 0 1 32 2 0 16 0 17 1 16 1 52 2 0 1 6 34 8 0 5 16 1 4 52 3 0 2 33 12 0 20 4 0 18 1 18 2 49 2 32 40 0 16 1 3 52 3 0 2 33 15 0 20 5 0 18 1 18 2 1 6 0 49 3 32 15 0 20 5 0 18 1 18 2 16 1 52 7 0 1 49 3 50)}) :bytecode (20 0 0 16 0 1 1 0 48 2 6 34 4 0 5 1 2 0 17 3 16 3 52 3 0 1 33 5 0 16 1 32 11 0 16 3 1 5 0 16 1 52 4 0 3 17 4 20 6 0 16 0 1 1 0 16 4 48 3 5 20 7 0 51 8 0 1 2 1 0 1 1 49 1 50)} "reactive-spread" {:upvalue-count 0 :arity 2 :constants ("list" "dom-get-attr" "data-sx-reactive-attrs" "" "dom-set-attr" "empty?" "_spread" "str" ",_spread" "effect" {:upvalue-count 4 :arity 0 :constants ("not" "empty?" "dom-get-attr" "class" "" "filter" {:upvalue-count 0 :arity 1 :constants ("not" "=" "") :bytecode (16 0 1 2 0 52 1 0 2 52 0 0 1 50)} "split" " " {:upvalue-count 1 :arity 1 :constants ("not" "some" {:upvalue-count 1 :arity 1 :constants ("=") :bytecode (16 0 18 0 52 0 0 2 50)}) :bytecode (51 2 0 1 0 18 0 52 1 0 2 52 0 0 1 50)} "dom-remove-attr" "dom-set-attr" "join" "for-each" {:upvalue-count 1 :arity 1 :constants ("dom-remove-attr") :bytecode (20 0 0 18 0 16 0 49 2 50)} "spread?" "spread-attrs" "dict-get" {:upvalue-count 0 :arity 1 :constants ("not" "=" "class") :bytecode (16 0 1 2 0 52 1 0 2 52 0 0 1 50)} "keys" "=" "str" {:upvalue-count 2 :arity 1 :constants ("dom-set-attr" "str" "dict-get") :bytecode (20 0 0 18 0 16 0 18 1 16 0 52 2 0 2 52 1 0 1 49 3 50)} "run-post-render-hooks" "list") :bytecode (18 0 52 1 0 1 52 0 0 1 33 95 0 20 2 0 18 1 1 3 0 48 2 6 34 4 0 5 1 4 0 17 0 51 6 0 16 0 1 8 0 52 7 0 2 52 5 0 2 17 1 51 9 0 0 0 16 1 52 5 0 2 17 2 16 2 52 1 0 1 33 13 0 20 10 0 18 1 1 3 0 48 2 32 19 0 20 11 0 18 1 1 3 0 1 8 0 16 2 52 12 0 2 48 3 32 1 0 2 5 51 14 0 0 1 18 2 52 13 0 2 5 18 3 48 0 17 0 16 0 52 15 0 1 33 179 0 16 0 52 16 0 1 17 1 16 1 1 3 0 52 17 0 2 6 34 4 0 5 1 4 0 17 2 51 6 0 16 2 1 8 0 52 7 0 2 52 5 0 2 17 3 51 18 0 16 1 52 19 0 1 52 5 0 2 17 4 16 3 19 0 5 16 4 19 2 5 16 3 52 1 0 1 52 0 0 1 33 72 0 20 2 0 18 1 1 3 0 48 2 6 34 4 0 5 1 4 0 17 5 20 11 0 18 1 1 3 0 16 5 6 33 14 0 5 16 5 1 4 0 52 20 0 2 52 0 0 1 33 14 0 16 5 1 8 0 16 2 52 21 0 3 32 2 0 16 2 48 3 32 1 0 2 5 51 22 0 0 1 1 1 16 4 52 13 0 2 5 20 23 0 49 0 32 13 0 52 24 0 0 19 0 5 52 24 0 0 19 2 50)}) :bytecode (52 0 0 0 17 2 52 0 0 0 17 3 20 1 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 17 4 20 4 0 16 0 1 2 0 16 4 52 5 0 1 33 6 0 1 6 0 32 9 0 16 4 1 8 0 52 7 0 2 48 3 5 20 9 0 51 10 0 1 2 1 0 1 3 1 1 49 1 50)} "reactive-fragment" {:upvalue-count 0 :arity 4 :constants ("create-comment" "island-fragment" "list" "effect" {:upvalue-count 4 :arity 0 :constants ("for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)} "list" "dom-child-nodes" "dom-insert-after") :bytecode (51 1 0 18 0 52 0 0 2 5 52 2 0 0 19 0 5 18 1 48 0 33 28 0 18 2 48 0 17 0 20 3 0 16 0 48 1 19 0 5 20 4 0 18 3 16 0 49 2 32 1 0 2 50)}) :bytecode (20 0 0 1 1 0 48 1 17 4 52 2 0 0 17 5 20 3 0 51 4 0 1 5 1 0 1 1 1 4 48 1 5 16 4 50)} "render-list-item" {:upvalue-count 0 :arity 4 :constants ("lambda?" "render-lambda-dom" "list" "render-to-dom" "apply") :bytecode (16 0 52 0 0 1 33 20 0 20 1 0 16 0 16 1 52 2 0 1 16 2 16 3 49 4 32 21 0 20 3 0 16 0 16 1 52 2 0 1 52 4 0 2 16 2 16 3 49 3 50)} "extract-key" {:upvalue-count 0 :arity 2 :constants ("dom-get-attr" "key" "dom-remove-attr" "dom-get-data" "str" "__idx_") :bytecode (20 0 0 16 0 1 1 0 48 2 17 2 16 2 33 16 0 20 2 0 16 0 1 1 0 48 2 5 16 2 32 35 0 20 3 0 16 0 1 1 0 48 2 17 3 16 3 33 9 0 16 3 52 4 0 1 32 9 0 1 5 0 16 1 52 4 0 2 50)} "reactive-list" {:upvalue-count 0 :arity 4 :constants ("create-fragment" "create-comment" "island-list" "dict" "list" "dom-append" "effect" {:upvalue-count 8 :arity 0 :constants ("deref" "dom-parent" "dict" "list" "for-each-indexed" {:upvalue-count 7 :arity 2 :constants ("render-list-item" "extract-key" "not" "starts-with?" "__idx_" "dict-has?" "dict-set!" "dict-get" "append!") :bytecode (20 0 0 18 0 16 1 18 1 18 2 48 4 17 2 20 1 0 16 2 16 0 48 2 17 3 18 3 52 2 0 1 6 33 14 0 5 16 3 1 4 0 52 3 0 2 52 2 0 1 33 6 0 3 19 3 32 1 0 2 5 18 4 16 3 52 5 0 2 33 19 0 18 5 16 3 18 4 16 3 52 7 0 2 52 6 0 3 32 10 0 18 5 16 3 16 2 52 6 0 3 5 18 6 16 3 52 8 0 2 50)} "not" "dom-remove-children-after" "create-fragment" "for-each" {:upvalue-count 2 :arity 1 :constants ("dom-append" "dict-get") :bytecode (20 0 0 18 0 18 1 16 0 52 1 0 2 49 2 50)} "dom-insert-after" {:upvalue-count 2 :arity 1 :constants ("not" "dict-has?" "dom-remove" "dict-get") :bytecode (18 0 16 0 52 1 0 2 52 0 0 1 33 16 0 20 2 0 18 1 16 0 52 3 0 2 49 1 32 1 0 2 50)} {:upvalue-count 2 :arity 1 :constants ("dict-get" "dom-next-sibling" "not" "identical?" "dom-insert-after") :bytecode (18 0 16 0 52 0 0 2 17 1 20 1 0 18 1 48 1 17 2 16 1 16 2 52 3 0 2 52 2 0 1 33 12 0 20 4 0 18 1 16 1 48 2 32 1 0 2 5 16 1 19 1 50)} {:upvalue-count 6 :arity 2 :constants ("render-list-item" "extract-key" "dict-set!" "append!" "dom-append") :bytecode (20 0 0 18 0 16 1 18 1 18 2 48 4 17 2 20 1 0 16 2 16 0 48 2 17 3 18 3 16 3 16 2 52 2 0 3 5 18 4 16 3 52 3 0 2 5 20 4 0 18 5 16 2 49 2 50)}) :bytecode (18 0 52 0 0 1 17 0 20 1 0 18 1 48 1 33 133 0 52 2 0 0 17 1 52 3 0 0 17 2 4 17 3 51 5 0 0 2 0 3 0 4 1 3 0 5 1 1 1 2 16 0 52 4 0 2 5 16 3 52 6 0 1 33 41 0 20 7 0 18 1 48 1 5 20 8 0 48 0 17 4 51 10 0 1 4 1 1 16 2 52 9 0 2 5 20 11 0 18 1 16 4 48 2 32 31 0 51 12 0 1 1 0 5 18 6 52 9 0 2 5 18 1 17 4 51 13 0 1 1 1 4 16 2 52 9 0 2 5 16 1 19 5 5 16 2 19 6 32 21 0 51 14 0 0 2 0 3 0 4 0 5 0 6 0 7 16 0 52 4 0 2 50)}) :bytecode (20 0 0 48 0 17 4 20 1 0 1 2 0 48 1 17 5 52 3 0 0 17 6 52 4 0 0 17 7 20 5 0 16 4 16 5 48 2 5 20 6 0 51 7 0 1 1 1 5 1 0 1 2 1 3 1 6 1 7 1 4 48 1 5 16 4 50)} "bind-input" {:upvalue-count 0 :arity 2 :constants ("lower" "dom-get-attr" "type" "" "=" "checkbox" "radio" "dom-set-prop" "checked" "deref" "value" "str" "effect" {:upvalue-count 3 :arity 0 :constants ("dom-set-prop" "checked" "deref" "str" "!=" "dom-get-prop" "value") :bytecode (18 0 33 19 0 20 0 0 18 1 1 1 0 18 2 52 2 0 1 49 3 32 47 0 18 2 52 2 0 1 52 3 0 1 17 0 20 5 0 18 1 1 6 0 48 2 16 0 52 4 0 2 33 15 0 20 0 0 18 1 1 6 0 16 0 49 3 32 1 0 2 50)} "dom-on" "change" "input" {:upvalue-count 3 :arity 1 :constants ("reset!" "dom-get-prop" "checked" "value") :bytecode (18 0 33 20 0 20 0 0 18 1 20 1 0 18 2 1 2 0 48 2 49 2 32 17 0 20 0 0 18 1 20 1 0 18 2 1 3 0 48 2 49 2 50)}) :bytecode (20 1 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 52 0 0 1 17 2 16 2 1 5 0 52 4 0 2 6 34 10 0 5 16 2 1 6 0 52 4 0 2 17 3 16 3 33 19 0 20 7 0 16 0 1 8 0 16 1 52 9 0 1 48 3 32 20 0 20 7 0 16 0 1 10 0 16 1 52 9 0 1 52 11 0 1 48 3 5 20 12 0 51 13 0 1 3 1 0 1 1 48 1 5 20 14 0 16 0 16 3 33 6 0 1 15 0 32 3 0 1 16 0 51 17 0 1 3 1 1 1 0 49 3 50)} "*use-cek-reactive*" "enable-cek-reactive!" {:upvalue-count 0 :arity 0 :constants ("*use-cek-reactive*") :bytecode (3 21 0 0 50)} "cek-reactive-text" {:upvalue-count 0 :arity 2 :constants ("hydrating?" "hydrate-next-node" "create-text-node" "" {:upvalue-count 1 :arity 1 :constants ("dom-set-text-content" "str") :bytecode (20 0 0 18 0 16 0 52 1 0 1 49 2 50)} "cek-run" "make-cek-state" "list" "make-reactive-reset-frame" "dom-set-text-content" "str") :bytecode (20 0 0 48 0 33 21 0 20 1 0 48 0 6 34 9 0 5 20 2 0 1 3 0 48 1 32 8 0 20 2 0 1 3 0 48 1 17 2 51 4 0 1 2 17 3 20 5 0 20 6 0 16 0 16 1 20 8 0 16 1 16 3 3 48 3 52 7 0 1 48 3 48 1 17 4 20 9 0 16 2 16 4 52 10 0 1 48 2 5 16 2 50)} "cek-reactive-attr" {:upvalue-count 0 :arity 4 :constants ({:upvalue-count 2 :arity 1 :constants ("nil?" "=" "dom-remove-attr" "dom-set-attr" "" "str") :bytecode (16 0 52 0 0 1 6 34 8 0 5 16 0 4 52 1 0 2 33 12 0 20 2 0 18 0 18 1 49 2 32 40 0 16 0 3 52 1 0 2 33 15 0 20 3 0 18 0 18 1 1 4 0 49 3 32 15 0 20 3 0 18 0 18 1 16 0 52 5 0 1 49 3 50)} "dom-get-attr" "data-sx-reactive-attrs" "" "empty?" "str" "," "dom-set-attr" "cek-run" "make-cek-state" "list" "make-reactive-reset-frame" "cek-call") :bytecode (51 0 0 1 0 1 1 17 4 20 1 0 16 0 1 2 0 48 2 6 34 4 0 5 1 3 0 17 5 16 5 52 4 0 1 33 5 0 16 1 32 11 0 16 5 1 6 0 16 1 52 5 0 3 17 6 20 7 0 16 0 1 2 0 16 6 48 3 5 20 8 0 20 9 0 16 2 16 3 20 11 0 16 3 16 4 3 48 3 52 10 0 1 48 3 48 1 17 5 16 4 16 5 52 10 0 1 52 12 0 2 50)} "render-dom-portal" {:upvalue-count 0 :arity 3 :constants ("trampoline" "eval-expr" "first" "dom-query" "dom-ensure-element" "not" "create-comment" "str" "portal: " " (not found)" "create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "rest" "dom-child-nodes" "dom-append" "register-in-scope" {:upvalue-count 1 :arity 0 :constants ("for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove") :bytecode (20 0 0 16 0 49 1 50)}) :bytecode (51 1 0 18 0 52 0 0 2 50)}) :bytecode (16 0 52 2 0 1 16 1 52 1 0 2 52 0 0 1 17 3 20 3 0 16 3 48 1 6 34 8 0 5 20 4 0 16 3 48 1 17 4 16 4 52 5 0 1 33 20 0 20 6 0 1 8 0 16 3 1 9 0 52 7 0 3 49 1 32 75 0 20 6 0 1 8 0 16 3 52 7 0 2 48 1 17 5 20 10 0 48 0 17 6 51 12 0 1 6 1 1 1 2 16 0 52 13 0 1 52 11 0 2 5 20 14 0 16 6 48 1 17 7 20 15 0 16 4 16 6 48 2 5 20 16 0 51 17 0 1 7 48 1 5 16 5 50)} "render-dom-error-boundary" {:upvalue-count 0 :arity 3 :constants (">" "len" 1 "first" "rest" "dom-create-element" "div" "signal" 0 "dom-set-attr" "data-sx-boundary" "true" "effect" {:upvalue-count 6 :arity 0 :constants ("deref" "dom-set-prop" "innerHTML" "" "scope-push!" "sx-island-scope" "try-catch" {:upvalue-count 4 :arity 0 :constants ("create-fragment" "for-each" {:upvalue-count 3 :arity 1 :constants ("dom-append" "render-to-dom") :bytecode (20 0 0 18 0 20 1 0 16 0 18 1 18 2 48 3 49 2 50)} "dom-append" "scope-pop!" "sx-island-scope") :bytecode (20 0 0 48 0 17 0 51 2 0 1 0 0 0 0 1 18 2 52 1 0 2 5 20 3 0 18 3 16 0 48 2 5 1 5 0 52 4 0 1 50)} {:upvalue-count 5 :arity 1 :constants ("scope-pop!" "sx-island-scope" "trampoline" "eval-expr" {:upvalue-count 1 :arity 0 :constants ("swap!" {:upvalue-count 0 :arity 1 :constants ("+" 1) :bytecode (16 0 1 1 0 52 0 0 2 50)}) :bytecode (20 0 0 18 0 51 1 0 49 2 50)} "nil?" "dom-create-element" "div" "dom-set-attr" "class" "sx-render-error" "style" "color:red;font-size:0.875rem;padding:0.5rem;border:1px solid red;border-radius:0.25rem;margin:0.5rem 0;" "dom-set-text-content" "str" "Render error: " "lambda?" "render-lambda-dom" "list" "render-to-dom" "apply" "dom-append") :bytecode (1 1 0 52 0 0 1 5 18 0 18 1 52 3 0 2 52 2 0 1 17 1 51 4 0 0 2 17 2 16 1 52 5 0 1 33 61 0 20 6 0 1 7 0 2 48 2 17 3 20 8 0 16 3 1 9 0 1 10 0 48 3 5 20 8 0 16 3 1 11 0 1 12 0 48 3 5 20 13 0 16 3 1 15 0 16 0 52 14 0 2 48 2 5 16 3 32 54 0 16 1 52 16 0 1 33 22 0 20 17 0 16 1 16 0 16 2 52 18 0 2 18 1 18 3 48 4 32 23 0 20 19 0 16 1 16 0 16 2 52 18 0 2 52 20 0 2 18 1 18 3 48 3 17 3 20 21 0 18 4 16 3 49 2 50)}) :bytecode (18 0 52 0 0 1 5 20 1 0 18 1 1 2 0 1 3 0 48 3 5 1 5 0 2 52 4 0 2 5 51 7 0 0 2 0 3 0 4 0 1 51 8 0 0 5 0 2 0 0 0 3 0 1 52 6 0 2 50)}) :bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 33 9 0 16 0 52 3 0 1 32 1 0 2 17 3 16 0 52 1 0 1 1 2 0 52 0 0 2 33 9 0 16 0 52 4 0 1 32 2 0 16 0 17 4 20 5 0 1 6 0 2 48 2 17 5 20 7 0 1 8 0 48 1 17 6 20 9 0 16 5 1 10 0 1 11 0 48 3 5 20 12 0 51 13 0 1 6 1 5 1 1 1 2 1 4 1 3 48 1 5 16 5 50)} {:library (web adapter-dom) :op "import"}) :bytecode (1 1 0 128 0 0 5 1 3 0 128 2 0 5 51 5 0 128 4 0 5 51 7 0 128 6 0 5 51 9 0 128 8 0 5 51 11 0 128 10 0 5 51 13 0 128 12 0 5 52 15 0 0 128 14 0 5 1 17 0 128 16 0 5 51 19 0 128 18 0 5 51 21 0 128 20 0 5 51 23 0 128 22 0 5 51 25 0 128 24 0 5 51 27 0 128 26 0 5 51 29 0 128 28 0 5 51 31 0 128 30 0 5 51 33 0 128 32 0 5 51 35 0 128 34 0 5 51 37 0 128 36 0 5 1 40 0 1 41 0 1 42 0 1 43 0 1 44 0 1 45 0 1 46 0 1 47 0 1 48 0 1 49 0 1 50 0 1 51 0 1 52 0 1 53 0 1 54 0 1 55 0 1 56 0 1 57 0 1 58 0 1 59 0 1 60 0 1 61 0 1 62 0 52 39 0 23 128 38 0 5 51 64 0 128 63 0 5 51 66 0 128 65 0 5 51 68 0 128 67 0 5 51 70 0 128 69 0 5 51 72 0 128 71 0 5 51 74 0 128 73 0 5 51 76 0 128 75 0 5 51 78 0 128 77 0 5 51 80 0 128 79 0 5 51 82 0 128 81 0 5 51 84 0 128 83 0 5 51 86 0 128 85 0 5 51 88 0 128 87 0 5 51 90 0 128 89 0 5 3 128 91 0 5 51 93 0 128 92 0 5 51 95 0 128 94 0 5 51 97 0 128 96 0 5 51 99 0 128 98 0 5 51 101 0 128 100 0 5 1 102 0 112 50))) diff --git a/shared/static/wasm/sx/boot-helpers.sxbc b/shared/static/wasm/sx/boot-helpers.sxbc index 03a0a062..5c92f211 100644 --- a/shared/static/wasm/sx/boot-helpers.sxbc +++ b/shared/static/wasm/sx/boot-helpers.sxbc @@ -1,3 +1,3 @@ (sxbc 1 "377849ee6503078e" (code - :constants ("_sx-bound-prefix" "_sxBound" "mark-processed!" {:upvalue-count 0 :arity 2 :constants ("host-set!" "str" "_sx-bound-prefix") :bytecode (20 0 0 16 0 20 2 0 16 1 52 1 0 2 3 49 3 50)} "is-processed?" {:upvalue-count 0 :arity 2 :constants ("host-get" "str" "_sx-bound-prefix") :bytecode (20 0 0 16 0 20 2 0 16 1 52 1 0 2 48 2 17 2 16 2 33 4 0 3 32 1 0 4 50)} "clear-processed!" {:upvalue-count 0 :arity 2 :constants ("host-set!" "str" "_sx-bound-prefix") :bytecode (20 0 0 16 0 20 2 0 16 1 52 1 0 2 2 49 3 50)} "callable?" {:upvalue-count 0 :arity 1 :constants ("type-of" "=" "lambda" "function" "continuation") :bytecode (16 0 52 0 0 1 17 1 16 1 1 2 0 52 1 0 2 6 34 24 0 5 16 1 1 3 0 52 1 0 2 6 34 10 0 5 16 1 1 4 0 52 1 0 2 50)} "to-kebab" {:upvalue-count 0 :arity 1 :constants ("Convert camelCase to kebab-case." "list" 0 {:upvalue-count 3 :arity 1 :constants ("<" "len" "nth" ">=" "A" "<=" "Z" ">" 0 "append!" "-" "lower" "+" 1) :bytecode (16 0 18 0 52 1 0 1 52 0 0 2 33 102 0 18 0 16 0 52 2 0 2 17 1 16 1 1 4 0 52 3 0 2 6 33 10 0 5 16 1 1 6 0 52 5 0 2 33 41 0 16 0 1 8 0 52 7 0 2 33 12 0 18 1 1 10 0 52 9 0 2 32 1 0 2 5 18 1 16 1 52 11 0 1 52 9 0 2 32 8 0 18 1 16 1 52 9 0 2 5 18 2 16 0 1 13 0 52 12 0 2 49 1 32 1 0 2 50)} "join" "") :bytecode (1 0 0 5 52 1 0 0 17 1 1 2 0 17 2 2 17 3 51 3 0 1 0 1 1 1 3 17 3 16 3 1 2 0 48 1 5 1 5 0 16 1 52 4 0 2 50)} "sx-load-components" {:upvalue-count 0 :arity 1 :constants ("Parse and evaluate component definitions from text." ">" "len" 0 "sx-parse" "for-each" {:upvalue-count 0 :arity 1 :constants ("cek-eval") :bytecode (20 0 0 16 0 49 1 50)}) :bytecode (1 0 0 5 16 0 6 33 14 0 5 16 0 52 2 0 1 1 3 0 52 1 0 2 33 21 0 20 4 0 16 0 48 1 17 1 51 6 0 16 1 52 5 0 2 32 1 0 2 50)} "call-expr" {:upvalue-count 0 :arity 2 :constants ("Parse and evaluate an SX expression string." "sx-parse" "not" "empty?" "cek-eval" "first") :bytecode (1 0 0 5 20 1 0 16 0 48 1 17 2 16 2 52 3 0 1 52 2 0 1 33 14 0 20 4 0 16 2 52 5 0 1 49 1 32 1 0 2 50)} "base-env" {:upvalue-count 0 :arity 0 :constants ("Return the current global environment." "global-env") :bytecode (1 0 0 5 20 1 0 49 0 50)} "get-render-env" {:upvalue-count 0 :arity 1 :constants ("Get the rendering environment (global env, optionally merged with extra)." "base-env" "not" "nil?" "env-merge") :bytecode (1 0 0 5 20 1 0 48 0 17 1 16 0 6 33 11 0 5 16 0 52 3 0 1 52 2 0 1 33 11 0 16 1 16 0 52 4 0 2 32 2 0 16 1 50)} "merge-envs" {:upvalue-count 0 :arity 2 :constants ("Merge two environments." "env-merge" "global-env") :bytecode (1 0 0 5 16 0 6 33 3 0 5 16 1 33 11 0 16 0 16 1 52 1 0 2 32 19 0 16 0 6 34 13 0 5 16 1 6 34 6 0 5 20 2 0 49 0 50)} "sx-render-with-env" {:upvalue-count 0 :arity 2 :constants ("Parse SX source and render to DOM fragment." "host-global" "document" "host-call" "createDocumentFragment" "sx-parse" "for-each" {:upvalue-count 2 :arity 1 :constants ("render-to-html" ">" "len" 0 "host-call" "createElement" "template" "host-set!" "innerHTML" "appendChild" "host-get" "content") :bytecode (20 0 0 16 0 48 1 17 1 16 1 6 33 14 0 5 16 1 52 2 0 1 1 3 0 52 1 0 2 33 51 0 20 4 0 18 0 1 5 0 1 6 0 48 3 17 2 20 7 0 16 2 1 8 0 16 1 48 3 5 20 4 0 18 1 1 9 0 20 10 0 16 2 1 11 0 48 2 49 3 32 1 0 2 50)}) :bytecode (1 0 0 5 20 1 0 1 2 0 48 1 17 2 20 3 0 16 2 1 4 0 48 2 17 3 20 5 0 16 0 48 1 17 4 51 7 0 1 2 1 3 16 4 52 6 0 2 5 16 3 50)} "parse-env-attr" {:upvalue-count 0 :arity 1 :constants ("Parse data-sx-env attribute (JSON key-value pairs).") :bytecode (1 0 0 5 2 50)} "store-env-attr" {:upvalue-count 0 :arity 3 :constants () :bytecode (2 50)} "resolve-mount-target" {:upvalue-count 0 :arity 1 :constants ("Resolve a CSS selector string to a DOM element." "string?" "dom-query") :bytecode (1 0 0 5 16 0 52 1 0 1 33 10 0 20 2 0 16 0 49 1 32 2 0 16 0 50)} "remove-head-element" {:upvalue-count 0 :arity 1 :constants ("Remove a element matching selector." "dom-query" "dom-remove") :bytecode (1 0 0 5 20 1 0 16 0 48 1 17 1 16 1 33 10 0 20 2 0 16 1 49 1 32 1 0 2 50)} "set-sx-comp-cookie" {:upvalue-count 0 :arity 1 :constants ("set-cookie" "sx-components") :bytecode (1 1 0 16 0 52 0 0 2 50)} "clear-sx-comp-cookie" {:upvalue-count 0 :arity 0 :constants ("set-cookie" "sx-components" "") :bytecode (1 1 0 1 2 0 52 0 0 2 50)} "log-parse-error" {:upvalue-count 0 :arity 3 :constants ("log-error" "str" "Parse error in " ": ") :bytecode (20 0 0 1 2 0 16 0 1 3 0 16 2 52 1 0 4 49 1 50)} "loaded-component-names" {:upvalue-count 0 :arity 0 :constants ("dom-query-all" "dom-body" "script[data-components]" "list" "for-each" {:upvalue-count 1 :arity 1 :constants ("dom-get-attr" "data-components" "" ">" "len" 0 "for-each" {:upvalue-count 1 :arity 1 :constants (">" "len" "trim" 0 "append!") :bytecode (16 0 52 2 0 1 52 1 0 1 1 3 0 52 0 0 2 33 15 0 18 0 16 0 52 2 0 1 52 4 0 2 32 1 0 2 50)} "split" ",") :bytecode (20 0 0 16 0 1 1 0 48 2 6 34 4 0 5 1 2 0 17 1 16 1 52 4 0 1 1 5 0 52 3 0 2 33 21 0 51 7 0 0 0 16 1 1 9 0 52 8 0 2 52 6 0 2 32 1 0 2 50)}) :bytecode (20 0 0 20 1 0 48 0 1 2 0 48 2 17 0 52 3 0 0 17 1 51 5 0 1 1 16 0 52 4 0 2 5 16 1 50)} "csrf-token" {:upvalue-count 0 :arity 0 :constants ("dom-query" "meta[name=\"csrf-token\"]" "dom-get-attr" "content") :bytecode (20 0 0 1 1 0 48 1 17 0 16 0 33 13 0 20 2 0 16 0 1 3 0 49 2 32 1 0 2 50)} "validate-for-request" {:upvalue-count 0 :arity 1 :constants () :bytecode (3 50)} "build-request-body" {:upvalue-count 0 :arity 3 :constants ("upper" "=" "GET" "HEAD" "dom-tag-name" "" "FORM" "host-new" "FormData" "URLSearchParams" "host-call" "toString" "dict" "url" ">" "len" 0 "str" "contains?" "?" "&" "body" "content-type" "dom-get-attr" "enctype" "application/x-www-form-urlencoded" "multipart/form-data") :bytecode (16 1 52 0 0 1 17 3 16 3 1 2 0 52 1 0 2 6 34 10 0 5 16 3 1 3 0 52 1 0 2 33 167 0 16 0 6 33 27 0 5 20 4 0 16 0 48 1 6 34 4 0 5 1 5 0 52 0 0 1 1 6 0 52 1 0 2 33 111 0 20 7 0 1 8 0 16 0 48 2 17 4 20 7 0 1 9 0 16 4 48 2 17 5 20 10 0 16 5 1 11 0 48 2 17 6 1 13 0 16 6 6 33 14 0 5 16 6 52 15 0 1 1 16 0 52 14 0 2 33 32 0 16 2 16 2 1 19 0 52 18 0 2 33 6 0 1 20 0 32 3 0 1 19 0 16 6 52 17 0 3 32 2 0 16 2 1 21 0 2 1 22 0 2 52 12 0 6 32 17 0 1 13 0 16 2 1 21 0 2 1 22 0 2 52 12 0 6 32 173 0 16 0 6 33 27 0 5 20 4 0 16 0 48 1 6 34 4 0 5 1 5 0 52 0 0 1 1 6 0 52 1 0 2 33 120 0 20 23 0 16 0 1 24 0 48 2 6 34 4 0 5 1 25 0 17 4 16 4 1 26 0 52 1 0 2 33 33 0 20 7 0 1 8 0 16 0 48 2 17 5 1 13 0 16 2 1 21 0 16 5 1 22 0 2 52 12 0 6 32 52 0 20 7 0 1 8 0 16 0 48 2 17 5 20 7 0 1 9 0 16 5 48 2 17 6 1 13 0 16 2 1 21 0 20 10 0 16 6 1 11 0 48 2 1 22 0 1 25 0 52 12 0 6 32 17 0 1 13 0 16 2 1 21 0 2 1 22 0 2 52 12 0 6 50)} "abort-previous-target" {:upvalue-count 0 :arity 1 :constants () :bytecode (2 50)} "abort-previous" "track-controller" {:upvalue-count 0 :arity 2 :constants () :bytecode (2 50)} "track-controller-target" "new-abort-controller" {:upvalue-count 0 :arity 0 :constants ("host-new" "AbortController") :bytecode (20 0 0 1 1 0 49 1 50)} "abort-signal" {:upvalue-count 0 :arity 1 :constants ("host-get" "signal") :bytecode (20 0 0 16 0 1 1 0 49 2 50)} "apply-optimistic" "revert-optimistic" "dom-has-attr?" {:upvalue-count 0 :arity 2 :constants ("host-call" "hasAttribute") :bytecode (20 0 0 16 0 1 1 0 16 1 49 3 50)} "show-indicator" {:upvalue-count 0 :arity 1 :constants ("dom-get-attr" "sx-indicator" "dom-query" "dom-remove-class" "hidden" "dom-add-class" "sx-indicator-visible") :bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 33 42 0 20 2 0 16 1 48 1 17 2 16 2 33 24 0 20 3 0 16 2 1 4 0 48 2 5 20 5 0 16 2 1 6 0 48 2 32 1 0 2 32 1 0 2 5 16 1 50)} "disable-elements" {:upvalue-count 0 :arity 1 :constants ("dom-get-attr" "sx-disabled-elt" "dom-query-all" "dom-body" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-set-attr" "disabled" "") :bytecode (20 0 0 16 0 1 1 0 1 2 0 49 3 50)} "list") :bytecode (20 0 0 16 0 1 1 0 48 2 17 1 16 1 33 29 0 20 2 0 20 3 0 48 0 16 1 48 2 17 2 51 5 0 16 2 52 4 0 2 5 16 2 32 4 0 52 6 0 0 50)} "clear-loading-state" {:upvalue-count 0 :arity 3 :constants ("dom-remove-class" "sx-request" "dom-remove-attr" "aria-busy" "dom-query" "dom-add-class" "hidden" "sx-indicator-visible" "for-each" {:upvalue-count 0 :arity 1 :constants ("dom-remove-attr" "disabled") :bytecode (20 0 0 16 0 1 1 0 49 2 50)}) :bytecode (20 0 0 16 0 1 1 0 48 2 5 20 2 0 16 0 1 3 0 48 2 5 16 1 33 42 0 20 4 0 16 1 48 1 17 3 16 3 33 24 0 20 5 0 16 3 1 6 0 48 2 5 20 0 0 16 3 1 7 0 48 2 32 1 0 2 32 1 0 2 5 16 2 33 12 0 51 9 0 16 2 52 8 0 2 32 1 0 2 50)} "abort-error?" {:upvalue-count 0 :arity 1 :constants ("=" "host-get" "name" "AbortError") :bytecode (20 1 0 16 0 1 2 0 48 2 1 3 0 52 0 0 2 50)} "promise-catch" {:upvalue-count 0 :arity 2 :constants ("host-callback" "host-call" "catch") :bytecode (20 0 0 16 1 48 1 17 2 20 1 0 16 0 1 2 0 16 2 49 3 50)} "fetch-request" {:upvalue-count 0 :arity 3 :constants ("get" "url" "method" "GET" "headers" "dict" "body" "signal" "preloaded" 200 {:upvalue-count 0 :arity 1 :constants () :bytecode (2 50)} "host-new" "Headers" "Object" "for-each" {:upvalue-count 2 :arity 1 :constants ("host-call" "set" "get") :bytecode (20 0 0 18 0 1 1 0 16 0 18 1 16 0 52 2 0 2 49 4 50)} "keys" "host-set!" "promise-then" "host-call" "dom-window" "fetch" {:upvalue-count 2 :arity 1 :constants ("host-get" "ok" "status" {:upvalue-count 1 :arity 1 :constants ("host-call" "host-get" "headers" "get") :bytecode (20 0 0 20 1 0 18 0 1 2 0 48 2 1 3 0 16 0 49 3 50)} "promise-then" "host-call" "text" {:upvalue-count 4 :arity 1 :constants () :bytecode (18 0 18 1 18 2 18 3 16 0 49 4 50)}) :bytecode (20 0 0 16 0 1 1 0 48 2 17 1 20 0 0 16 0 1 2 0 48 2 17 2 51 3 0 1 0 17 3 20 4 0 20 5 0 16 0 1 6 0 48 2 51 7 0 0 0 1 1 1 2 1 3 18 1 49 3 50)}) :bytecode (16 0 1 1 0 52 0 0 2 17 3 16 0 1 2 0 52 0 0 2 6 34 4 0 5 1 3 0 17 4 16 0 1 4 0 52 0 0 2 6 34 5 0 5 52 5 0 0 17 5 16 0 1 6 0 52 0 0 2 17 6 16 0 1 7 0 52 0 0 2 17 7 16 0 1 8 0 52 0 0 2 17 8 16 8 33 16 0 16 1 3 1 9 0 51 10 0 16 8 49 4 32 139 0 20 11 0 1 12 0 48 1 17 9 20 11 0 1 13 0 48 1 17 10 51 15 0 1 9 1 5 16 5 52 16 0 1 52 14 0 2 5 20 17 0 16 10 1 2 0 16 4 48 3 5 20 17 0 16 10 1 4 0 16 9 48 3 5 16 6 33 15 0 20 17 0 16 10 1 6 0 16 6 48 3 32 1 0 2 5 16 7 33 15 0 20 17 0 16 10 1 7 0 16 7 48 3 32 1 0 2 5 20 18 0 20 19 0 20 20 0 48 0 1 21 0 16 3 16 10 48 4 51 22 0 1 1 1 2 16 2 49 3 50)} "fetch-location" {:upvalue-count 0 :arity 1 :constants ("dom-query" "[sx-boost]" "#main-panel" "browser-navigate") :bytecode (20 0 0 1 1 0 48 1 6 34 9 0 5 20 0 0 1 2 0 48 1 17 1 16 1 33 10 0 20 3 0 16 0 49 1 32 1 0 2 50)} "fetch-and-restore" {:upvalue-count 0 :arity 4 :constants ("fetch-request" "dict" "url" "method" "GET" "headers" "body" "signal" {:upvalue-count 2 :arity 4 :constants ("content-type" "" "contains?" "text/html" "host-new" "DOMParser" "host-call" "parseFromString" "querySelector" "#sx-content" "dom-set-inner-html" "host-get" "innerHTML" "dom-create-element" "div" "sx-render" "dom-append" "process-oob-swaps" {:upvalue-count 0 :arity 3 :constants ("dispose-islands-in" "swap-dom-nodes" "=" "innerHTML" "children-to-fragment" "post-swap") :bytecode (20 0 0 16 0 48 1 5 20 1 0 16 0 16 2 1 3 0 52 2 0 2 33 10 0 20 4 0 16 1 48 1 32 2 0 16 1 16 2 48 3 5 20 5 0 16 0 49 1 50)} "select-from-container" "dispose-islands-in" "dom-get-inner-html" "post-swap" "dom-window" "scrollTo" 0) :bytecode (16 0 33 1 1 16 2 1 0 0 48 1 6 34 4 0 5 1 1 0 17 4 16 4 1 3 0 52 2 0 2 33 79 0 20 4 0 1 5 0 48 1 17 5 20 6 0 16 5 1 7 0 16 3 1 3 0 48 4 17 6 20 6 0 16 6 1 8 0 1 9 0 48 3 17 7 16 7 33 20 0 20 10 0 18 0 20 11 0 16 7 1 12 0 48 2 48 2 32 9 0 20 10 0 18 0 16 3 48 2 32 119 0 20 13 0 1 14 0 48 1 17 5 20 15 0 16 3 48 1 17 6 16 6 33 94 0 20 16 0 16 5 16 6 48 2 5 20 17 0 16 5 51 18 0 48 2 5 20 19 0 16 5 1 9 0 48 2 17 7 16 7 33 31 0 20 20 0 18 0 48 1 5 20 10 0 18 0 1 1 0 48 2 5 20 16 0 18 0 16 7 48 2 32 22 0 20 20 0 18 0 48 1 5 20 10 0 18 0 20 21 0 16 5 48 1 48 2 32 1 0 2 5 20 22 0 18 0 48 1 5 20 6 0 20 23 0 48 0 1 24 0 1 25 0 18 1 49 4 32 1 0 2 50)} {:upvalue-count 0 :arity 1 :constants ("log-warn" "str" "fetch-and-restore error: ") :bytecode (20 0 0 1 2 0 16 0 52 1 0 2 49 1 50)}) :bytecode (20 0 0 1 2 0 16 1 1 3 0 1 4 0 1 5 0 16 2 1 6 0 2 1 7 0 2 52 1 0 10 51 8 0 1 0 1 3 51 9 0 49 3 50)} "fetch-preload" {:upvalue-count 0 :arity 3 :constants ("fetch-request" "dict" "url" "method" "GET" "headers" "body" "signal" {:upvalue-count 2 :arity 4 :constants ("preload-cache-set") :bytecode (16 0 33 14 0 20 0 0 18 0 18 1 16 3 49 3 32 1 0 2 50)} {:upvalue-count 0 :arity 1 :constants () :bytecode (2 50)}) :bytecode (20 0 0 1 2 0 16 0 1 3 0 1 4 0 1 5 0 16 1 1 6 0 2 1 7 0 2 52 1 0 10 51 8 0 1 2 1 0 51 9 0 49 3 50)} "fetch-streaming" {:upvalue-count 0 :arity 4 :constants ("fetch-and-restore" 0) :bytecode (20 0 0 16 0 16 1 16 2 1 1 0 49 4 50)} "dom-parse-html-document" {:upvalue-count 0 :arity 1 :constants ("host-new" "DOMParser" "host-call" "parseFromString" "text/html") :bytecode (20 0 0 1 1 0 48 1 17 1 20 2 0 16 1 1 3 0 16 0 1 4 0 49 4 50)} "dom-body-inner-html" {:upvalue-count 0 :arity 1 :constants ("host-get" "body" "innerHTML") :bytecode (20 0 0 20 0 0 16 0 1 1 0 48 2 1 2 0 49 2 50)} "create-script-clone" {:upvalue-count 0 :arity 1 :constants ("host-global" "document" "host-call" "createElement" "script" "host-get" "attributes" {:upvalue-count 3 :arity 1 :constants ("<" "host-get" "length" "host-call" "item" "setAttribute" "name" "value" "+" 1) :bytecode (16 0 20 1 0 18 0 1 2 0 48 2 52 0 0 2 33 61 0 20 3 0 18 0 1 4 0 16 0 48 3 17 1 20 3 0 18 1 1 5 0 20 1 0 16 1 1 6 0 48 2 20 1 0 16 1 1 7 0 48 2 48 4 5 18 2 16 0 1 9 0 52 8 0 2 49 1 32 1 0 2 50)} 0 "host-set!" "textContent") :bytecode (20 0 0 1 1 0 48 1 17 1 20 2 0 16 1 1 3 0 1 4 0 48 3 17 2 20 5 0 16 0 1 6 0 48 2 17 3 2 17 4 51 7 0 1 3 1 2 1 4 17 4 16 4 1 8 0 48 1 5 20 9 0 16 2 1 10 0 20 5 0 16 0 1 10 0 48 2 48 3 5 16 2 50)} "cross-origin?" {:upvalue-count 0 :arity 1 :constants ("starts-with?" "http://" "https://" "not" "browser-location-origin") :bytecode (16 0 1 1 0 52 0 0 2 6 34 10 0 5 16 0 1 2 0 52 0 0 2 33 18 0 16 0 20 4 0 48 0 52 0 0 2 52 3 0 1 32 1 0 4 50)} "browser-scroll-to" {:upvalue-count 0 :arity 2 :constants ("host-call" "dom-window" "scrollTo") :bytecode (20 0 0 20 1 0 48 0 1 2 0 16 0 16 1 49 4 50)} "with-transition" {:upvalue-count 0 :arity 2 :constants ("host-get" "host-global" "document" "startViewTransition" "host-call" "host-callback") :bytecode (16 0 6 33 17 0 5 20 0 0 20 1 0 1 2 0 48 1 1 3 0 48 2 33 26 0 20 4 0 20 1 0 1 2 0 48 1 1 3 0 20 5 0 16 1 48 1 49 3 32 4 0 16 1 49 0 50)} "event-source-connect" {:upvalue-count 0 :arity 2 :constants ("host-new" "EventSource" "host-set!" "_sxElement") :bytecode (20 0 0 1 1 0 16 0 48 2 17 2 20 2 0 16 2 1 3 0 16 1 48 3 5 16 2 50)} "event-source-listen" {:upvalue-count 0 :arity 3 :constants ("host-call" "addEventListener" "host-callback" {:upvalue-count 1 :arity 1 :constants () :bytecode (18 0 16 0 49 1 50)}) :bytecode (20 0 0 16 0 1 1 0 16 1 20 2 0 51 3 0 1 2 48 1 49 4 50)} "bind-boost-link" {:upvalue-count 0 :arity 2 :constants ("dom-listen" "click" {:upvalue-count 2 :arity 1 :constants ("not" "event-modifier-key?" "prevent-default" "dom-has-attr?" "sx-get" "dom-set-attr" "sx-push-url" "true" "execute-request") :bytecode (20 1 0 16 0 48 1 52 0 0 1 33 89 0 20 2 0 16 0 48 1 5 20 3 0 18 0 1 4 0 48 2 52 0 0 1 33 15 0 20 5 0 18 0 1 4 0 18 1 48 3 32 1 0 2 5 20 3 0 18 0 1 6 0 48 2 52 0 0 1 33 16 0 20 5 0 18 0 1 6 0 1 7 0 48 3 32 1 0 2 5 20 8 0 18 0 2 2 49 3 32 1 0 2 50)}) :bytecode (20 0 0 16 0 1 1 0 51 2 0 1 0 1 1 49 3 50)} "bind-boost-form" {:upvalue-count 0 :arity 3 :constants ("dom-listen" "submit" {:upvalue-count 1 :arity 1 :constants ("prevent-default" "execute-request") :bytecode (20 0 0 16 0 48 1 5 20 1 0 18 0 2 2 49 3 50)}) :bytecode (20 0 0 16 0 1 1 0 51 2 0 1 0 49 3 50)} "bind-client-route-click" {:upvalue-count 0 :arity 3 :constants ("dom-listen" "click" {:upvalue-count 2 :arity 1 :constants ("not" "event-modifier-key?" "prevent-default" "dom-query" "[sx-boost]" "dom-get-attr" "sx-boost" "=" "true" "#sx-content" "try-client-route" "url-pathname" "save-scroll-position" "browser-push-state" "" "browser-scroll-to" 0 "log-info" "str" "sx:route server fetch " "dom-set-attr" "sx-get" "sx-target" "sx-select" "sx-push-url" "execute-request") :bytecode (20 1 0 16 0 48 1 52 0 0 1 33 203 0 20 2 0 16 0 48 1 5 20 3 0 1 4 0 48 1 17 1 16 1 33 46 0 20 5 0 16 1 1 6 0 48 2 17 2 16 2 6 33 14 0 5 16 2 1 8 0 52 7 0 2 52 0 0 1 33 5 0 16 2 32 3 0 1 9 0 32 3 0 1 9 0 17 2 20 10 0 20 11 0 18 0 48 1 16 2 48 2 33 32 0 20 12 0 48 0 5 20 13 0 2 1 14 0 18 0 48 3 5 20 15 0 1 16 0 1 16 0 49 2 32 77 0 20 17 0 1 19 0 18 0 52 18 0 2 48 1 5 20 20 0 18 1 1 21 0 18 0 48 3 5 20 20 0 18 1 1 22 0 16 2 48 3 5 20 20 0 18 1 1 23 0 16 2 48 3 5 20 20 0 18 1 1 24 0 1 8 0 48 3 5 20 25 0 18 1 2 2 49 3 32 1 0 2 50)}) :bytecode (20 0 0 16 0 1 1 0 51 2 0 1 1 1 0 49 3 50)} "sw-post-message" "try-parse-json" {:upvalue-count 0 :arity 1 :constants ("json-parse") :bytecode (20 0 0 16 0 49 1 50)} "strip-component-scripts" {:upvalue-count 0 :arity 1 :constants ("