From 1884c28763426230b61ded272555dc1196afa609 Mon Sep 17 00:00:00 2001 From: giles Date: Sun, 12 Apr 2026 18:31:34 +0000 Subject: [PATCH] Fix browser compat: sublist replaces 3-arg slice, manual sum replaces reduce - Added sublist helper (portable list extraction, avoids 3-arg slice which fails in browser WASM kernel) - Replaced reduce + 0 lwid with manual sum loop (reduce has browser compat issues with dict-set! error in call stack) - Imperative DOM update via effect for clean paragraph re-rendering on signal changes (clear container, create new spans) - String slice in hyphenate-word kept (works on strings) Co-Authored-By: Claude Opus 4.6 (1M context) --- lib/text-layout.sx | 25 ++++-- shared/static/wasm/sx/hs-parser.sx | 26 +++--- shared/static/wasm/sx/hs-parser.sxbc | 4 +- shared/static/wasm/sx/text-layout.sx | 25 ++++-- shared/static/wasm/sx/text-layout.sxbc | 4 +- sx/sx/pretext-client.sx | 119 ++++++++++++++++--------- 6 files changed, 137 insertions(+), 66 deletions(-) diff --git a/lib/text-layout.sx b/lib/text-layout.sx index 6044f38f..06be2b74 100644 --- a/lib/text-layout.sx +++ b/lib/text-layout.sx @@ -34,6 +34,21 @@ typeset typeset-plain) (begin + (define + sublist + (fn + (lst start end) + (let + loop + ((i 0) (src lst) (acc (list))) + (cond + (>= i end) + (reverse acc) + (empty? src) + (reverse acc) + (>= i start) + (loop (+ i 1) (rest src) (cons (first src) acc)) + :else (loop (+ i 1) (rest src) acc))))) (define measure-text (fn @@ -188,8 +203,8 @@ (end (nth range 1)) (y (+ y0 (* line-idx line-height)))) (let - ((line-words (slice words start end)) - (line-widths (slice widths start end))) + ((line-words (sublist words start end)) + (line-widths (sublist widths start end))) (position-line line-words line-widths space-width x0 y)))) line-ranges))) (define @@ -221,10 +236,10 @@ (let ((start (first range)) (end (nth range 1))) (let - ((lw (slice words start end)) - (lwid (slice widths start end))) + ((lw (sublist words start end)) + (lwid (sublist widths start end))) (let - ((total-w (reduce + 0 lwid)) + ((total-w (let sum-loop ((k 0) (t 0)) (if (>= k (len lwid)) t (sum-loop (+ k 1) (+ t (nth lwid k)))))) (n-gaps (max 1 (- (len lw) 1))) (is-last (= line-idx (- n-lines 1)))) (let diff --git a/shared/static/wasm/sx/hs-parser.sx b/shared/static/wasm/sx/hs-parser.sx index b61639d5..bfe28b30 100644 --- a/shared/static/wasm/sx/hs-parser.sx +++ b/shared/static/wasm/sx/hs-parser.sx @@ -1553,18 +1553,20 @@ cl-collect (fn (acc) - (let - ((cmd (parse-cmd))) - (if - (nil? cmd) - acc - (let - ((acc2 (append acc (list cmd)))) - (cond - ((match-kw "then") (cl-collect acc2)) - ((and (not (at-end?)) (= (tp-type) "keyword") (cmd-kw? (tp-val))) - (cl-collect acc2)) - (true acc2))))))) + (do + (match-kw "then") + (let + ((cmd (parse-cmd))) + (if + (nil? cmd) + acc + (let + ((acc2 (append acc (list cmd)))) + (cond + ((match-kw "then") (cl-collect acc2)) + ((and (not (at-end?)) (= (tp-type) "keyword") (cmd-kw? (tp-val))) + (cl-collect acc2)) + (true acc2)))))))) (let ((cmds (cl-collect (list)))) (cond diff --git a/shared/static/wasm/sx/hs-parser.sxbc b/shared/static/wasm/sx/hs-parser.sxbc index bfdeb86c..7027fa60 100644 --- a/shared/static/wasm/sx/hs-parser.sxbc +++ b/shared/static/wasm/sx/hs-parser.sxbc @@ -1,3 +1,3 @@ -(sxbc 1 "919466450a51fa00" +(sxbc 1 "50a6d0a0eb0f1019" (code - :constants ("hs-parse" {:upvalue-count 0 :arity 2 :constants (0 "len" {:upvalue-count 3 :arity 0 :constants ("<" "nth") :bytecode (18 0 18 1 52 0 0 2 33 11 0 18 2 18 0 52 1 0 2 32 1 0 2 50)} {:upvalue-count 1 :arity 0 :constants ("get" "type" "eof") :bytecode (18 0 48 0 17 0 16 0 33 12 0 16 0 1 1 0 52 0 0 2 32 3 0 1 2 0 50)} {:upvalue-count 1 :arity 0 :constants ("get" "value") :bytecode (18 0 48 0 17 0 16 0 33 12 0 16 0 1 1 0 52 0 0 2 32 1 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("nth" "+" 1) :bytecode (18 0 18 1 52 0 0 2 17 0 18 1 1 2 0 52 1 0 2 19 1 5 16 0 50)} {:upvalue-count 3 :arity 0 :constants (">=" "=" "eof") :bytecode (18 0 18 1 52 0 0 2 6 34 12 0 5 18 2 48 0 1 2 0 52 1 0 2 50)} {:upvalue-count 3 :arity 1 :constants ("=" "keyword") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 11 0 5 18 1 48 0 16 0 52 0 0 2 33 9 0 18 2 48 0 5 3 32 1 0 2 50)} {:upvalue-count 2 :arity 1 :constants ("error" "str" "Expected '" "' at position ") :bytecode (18 0 16 0 48 1 33 4 0 3 32 18 0 1 2 0 16 0 1 3 0 18 1 52 1 0 4 52 0 0 1 50)} {:upvalue-count 0 :arity 1 :constants ("len" ">=" 3 "=" "substring" "-" 2 "ms" "parse-number" 0 "nth" 1 "s" "*" 1000) :bytecode (16 0 52 0 0 1 17 1 16 1 1 2 0 52 1 0 2 6 33 25 0 5 16 0 16 1 1 6 0 52 5 0 2 16 1 52 4 0 3 1 7 0 52 3 0 2 33 25 0 16 0 1 9 0 16 1 1 6 0 52 5 0 2 52 4 0 3 52 8 0 1 32 77 0 16 1 1 6 0 52 1 0 2 6 33 23 0 5 16 0 16 1 1 11 0 52 5 0 2 52 10 0 2 1 12 0 52 3 0 2 33 32 0 1 14 0 16 0 1 9 0 16 1 1 11 0 52 5 0 2 52 4 0 3 52 8 0 1 52 13 0 2 32 6 0 16 0 52 8 0 1 50)} {:upvalue-count 4 :arity 1 :constants ("=" "ident" "keyword" "list" . "attr" attr "class" "get" "value") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 6 34 10 0 5 16 1 1 2 0 52 0 0 2 33 23 0 18 2 48 0 5 18 3 1 4 0 16 0 16 2 52 3 0 3 49 1 32 76 0 16 1 1 5 0 52 0 0 2 33 19 0 18 2 48 0 5 1 6 0 16 2 16 0 52 3 0 3 32 45 0 16 1 1 7 0 52 0 0 2 33 31 0 18 2 48 0 1 9 0 52 8 0 2 17 3 18 3 1 4 0 16 0 16 3 52 3 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 6 :arity 1 :constants ("=" "class" "not" "list" "make-symbol" "." "paren-open" method-call) :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 9 0 5 18 1 48 0 52 2 0 1 33 33 0 18 2 48 0 17 1 18 3 48 0 5 18 4 1 5 0 52 4 0 1 16 0 16 1 52 3 0 3 49 1 32 40 0 18 0 48 0 1 6 0 52 0 0 2 33 24 0 18 5 48 0 17 1 18 4 1 7 0 16 0 16 1 52 3 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 3 :arity 1 :constants ("=" "selector" "list" me "class" "str" "." "id" "#" "*") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 33 23 0 18 2 48 0 5 16 0 16 2 1 3 0 52 2 0 1 52 2 0 3 32 100 0 16 1 1 4 0 52 0 0 2 33 30 0 18 2 48 0 5 16 0 1 6 0 16 2 52 5 0 2 1 3 0 52 2 0 1 52 2 0 3 32 58 0 16 1 1 7 0 52 0 0 2 33 30 0 18 2 48 0 5 16 0 1 8 0 16 2 52 5 0 2 1 3 0 52 2 0 1 52 2 0 3 32 16 0 16 0 1 9 0 1 3 0 52 2 0 1 52 2 0 3 50)} {:upvalue-count 5 :arity 1 :constants ("=" "selector" "class" "str" "." "id" "#" "*" "in" "list") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 33 10 0 18 2 48 0 5 16 2 32 61 0 16 1 1 2 0 52 0 0 2 33 17 0 18 2 48 0 5 1 4 0 16 2 52 3 0 2 32 32 0 16 1 1 5 0 52 0 0 2 33 17 0 18 2 48 0 5 1 6 0 16 2 52 3 0 2 32 3 0 1 7 0 17 3 18 3 1 8 0 48 1 33 15 0 16 0 16 3 18 4 48 0 52 9 0 3 32 8 0 16 0 16 3 52 9 0 2 50)} {:upvalue-count 16 :arity 0 :constants ("=" "number" "string" "template" "list" template "keyword" "true" "false" "null" "nil" null-literal "undefined" "beep" "op" "!" beep! "not" not "no" no "eval" "paren-open" sx-eval "the" "me" me "I" "it" "result" it "event" event "target" "make-symbol" "." "detail" "my" "its" "closest" closest "next" next "previous" previous "first" first "last" last "id" query "str" "#" "selector" "attr" attr "style" style "local" local "class" "ident" ref "paren-close" "brace-open" {:upvalue-count 6 :arity 1 :constants ("=" "brace-close" "string" "local" "true" "false" "null" "list" ref "colon" "comma" "cons") :bytecode (18 0 48 0 6 34 12 0 5 18 1 48 0 1 1 0 52 0 0 2 33 28 0 18 1 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 203 0 18 1 48 0 1 2 0 52 0 0 2 33 16 0 18 3 48 0 17 1 18 2 48 0 5 16 1 32 13 0 18 3 48 0 17 1 18 2 48 0 5 16 1 17 1 18 1 48 0 1 3 0 52 0 0 2 33 71 0 18 3 48 0 17 2 18 2 48 0 5 16 2 1 4 0 52 0 0 2 33 4 0 3 32 41 0 16 2 1 5 0 52 0 0 2 33 4 0 4 32 25 0 16 2 1 6 0 52 0 0 2 33 4 0 2 32 9 0 1 8 0 16 2 52 7 0 2 32 30 0 18 1 48 0 1 9 0 52 0 0 2 33 12 0 18 2 48 0 5 18 4 48 0 32 4 0 18 4 48 0 17 2 18 1 48 0 1 10 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 5 16 1 16 2 52 7 0 2 16 0 52 11 0 2 49 1 50)} object-literal "\\" {:upvalue-count 6 :arity 1 :constants ("=" "op" "-" "<" "+" 1 "len" "get" "nth" "value" ">" "ident" "comma" "append") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 2 0 52 0 0 2 33 76 0 18 2 1 5 0 52 4 0 2 18 3 52 6 0 1 52 3 0 2 6 33 30 0 5 18 3 18 2 1 5 0 52 4 0 2 52 8 0 2 1 9 0 52 7 0 2 1 10 0 52 0 0 2 33 15 0 18 4 48 0 5 18 4 48 0 5 16 0 32 2 0 16 0 32 65 0 18 0 48 0 1 11 0 52 0 0 2 33 49 0 18 1 48 0 17 1 18 4 48 0 5 18 0 48 0 1 12 0 52 0 0 2 33 7 0 18 4 48 0 32 1 0 2 5 18 5 16 0 16 1 52 13 0 2 49 1 32 2 0 16 0 50)} block-literal "bracket-open" "-" - 0 "component" component "some" ">" "len" "+" 1 "get" "nth" "value" "in" "with" some "every" every) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 16 0 1 1 0 52 0 0 2 33 14 0 18 2 48 0 5 18 3 16 1 49 1 32 66 7 16 0 1 2 0 52 0 0 2 33 10 0 18 2 48 0 5 16 1 32 44 7 16 0 1 3 0 52 0 0 2 33 17 0 18 2 48 0 5 1 5 0 16 1 52 4 0 2 32 15 7 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 7 0 52 0 0 2 33 9 0 18 2 48 0 5 3 32 236 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 8 0 52 0 0 2 33 9 0 18 2 48 0 5 4 32 201 6 16 0 1 6 0 52 0 0 2 6 33 24 0 5 16 1 1 9 0 52 0 0 2 6 34 10 0 5 16 1 1 10 0 52 0 0 2 33 15 0 18 2 48 0 5 1 11 0 52 4 0 1 32 146 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 12 0 52 0 0 2 33 15 0 18 2 48 0 5 1 11 0 52 4 0 1 32 105 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 13 0 52 0 0 2 33 58 0 18 2 48 0 5 18 0 48 0 1 14 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 15 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 1 16 0 18 4 48 0 52 4 0 2 32 21 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 17 0 52 0 0 2 33 19 0 18 2 48 0 5 1 18 0 18 4 48 0 52 4 0 2 32 232 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 19 0 52 0 0 2 33 19 0 18 2 48 0 5 1 20 0 18 4 48 0 52 4 0 2 32 187 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 21 0 52 0 0 2 33 47 0 18 2 48 0 5 18 0 48 0 1 22 0 52 0 0 2 33 14 0 1 23 0 18 5 48 0 52 4 0 2 32 11 0 1 23 0 18 4 48 0 52 4 0 2 32 114 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 24 0 52 0 0 2 33 12 0 18 2 48 0 5 18 6 49 0 32 76 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 25 0 52 0 0 2 33 15 0 18 2 48 0 5 1 26 0 52 4 0 1 32 35 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 27 0 52 0 0 2 33 15 0 18 2 48 0 5 1 26 0 52 4 0 1 32 250 4 16 0 1 6 0 52 0 0 2 6 33 24 0 5 16 1 1 28 0 52 0 0 2 6 34 10 0 5 16 1 1 29 0 52 0 0 2 33 15 0 18 2 48 0 5 1 30 0 52 4 0 1 32 195 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 31 0 52 0 0 2 33 15 0 18 2 48 0 5 1 32 0 52 4 0 1 32 154 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 33 0 52 0 0 2 33 29 0 18 2 48 0 5 1 35 0 52 34 0 1 1 32 0 52 4 0 1 1 33 0 52 4 0 3 32 99 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 36 0 52 0 0 2 33 29 0 18 2 48 0 5 1 35 0 52 34 0 1 1 32 0 52 4 0 1 1 36 0 52 4 0 3 32 44 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 37 0 52 0 0 2 33 19 0 18 2 48 0 5 18 7 1 26 0 52 4 0 1 49 1 32 255 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 38 0 52 0 0 2 33 19 0 18 2 48 0 5 18 7 1 30 0 52 4 0 1 49 1 32 210 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 39 0 52 0 0 2 33 15 0 18 2 48 0 5 18 8 1 40 0 49 1 32 169 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 41 0 52 0 0 2 33 15 0 18 2 48 0 5 18 8 1 42 0 49 1 32 128 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 43 0 52 0 0 2 33 15 0 18 2 48 0 5 18 8 1 44 0 49 1 32 87 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 45 0 52 0 0 2 33 15 0 18 2 48 0 5 18 9 1 46 0 49 1 32 46 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 47 0 52 0 0 2 33 15 0 18 2 48 0 5 18 9 1 48 0 49 1 32 5 3 16 0 1 49 0 52 0 0 2 33 24 0 18 2 48 0 5 1 50 0 1 52 0 16 1 52 51 0 2 52 4 0 2 32 225 2 16 0 1 53 0 52 0 0 2 33 17 0 18 2 48 0 5 1 50 0 16 1 52 4 0 2 32 196 2 16 0 1 54 0 52 0 0 2 33 24 0 18 2 48 0 5 1 55 0 16 1 1 26 0 52 4 0 1 52 4 0 3 32 160 2 16 0 1 56 0 52 0 0 2 33 24 0 18 2 48 0 5 1 57 0 16 1 1 26 0 52 4 0 1 52 4 0 3 32 124 2 16 0 1 58 0 52 0 0 2 33 17 0 18 2 48 0 5 1 59 0 16 1 52 4 0 2 32 95 2 16 0 1 60 0 52 0 0 2 33 24 0 18 2 48 0 5 1 50 0 1 35 0 16 1 52 51 0 2 52 4 0 2 32 59 2 16 0 1 61 0 52 0 0 2 33 17 0 18 2 48 0 5 1 62 0 16 1 52 4 0 2 32 30 2 16 0 1 22 0 52 0 0 2 33 39 0 18 2 48 0 5 18 4 48 0 17 2 18 0 48 0 1 63 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 2 32 235 1 16 0 1 64 0 52 0 0 2 33 41 0 18 2 48 0 5 51 65 0 0 10 0 0 0 2 0 1 0 4 1 2 17 2 5 1 66 0 16 2 52 4 0 0 48 1 52 4 0 2 32 182 1 16 0 1 14 0 52 0 0 2 6 33 10 0 5 16 1 1 67 0 52 0 0 2 33 49 0 18 2 48 0 5 51 68 0 0 0 0 1 0 11 0 12 0 2 1 3 17 3 5 16 3 52 4 0 0 48 1 17 4 1 69 0 16 4 18 4 48 0 52 4 0 3 32 107 1 16 0 1 70 0 52 0 0 2 33 12 0 18 2 48 0 5 18 13 49 0 32 83 1 16 0 1 14 0 52 0 0 2 6 33 10 0 5 16 1 1 71 0 52 0 0 2 33 26 0 18 2 48 0 5 18 14 48 0 17 4 1 72 0 1 73 0 16 4 52 4 0 3 32 31 1 16 0 1 74 0 52 0 0 2 33 17 0 18 2 48 0 5 1 75 0 16 1 52 4 0 2 32 2 1 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 76 0 52 0 0 2 33 149 0 18 2 48 0 5 18 0 48 0 1 61 0 52 0 0 2 6 33 54 0 5 18 12 52 78 0 1 18 11 1 80 0 52 79 0 2 52 77 0 2 6 33 30 0 5 18 12 18 11 1 80 0 52 79 0 2 52 82 0 2 1 83 0 52 81 0 2 1 84 0 52 0 0 2 33 51 0 18 1 48 0 17 4 18 2 48 0 5 18 15 1 84 0 48 1 5 18 4 48 0 17 5 18 15 1 85 0 48 1 5 1 86 0 16 4 16 5 18 4 48 0 52 4 0 4 32 18 0 1 18 0 1 20 0 18 4 48 0 52 4 0 2 52 4 0 2 32 83 0 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 87 0 52 0 0 2 33 56 0 18 2 48 0 5 18 1 48 0 17 4 18 2 48 0 5 18 15 1 84 0 48 1 5 18 4 48 0 17 5 18 15 1 85 0 48 1 5 1 88 0 16 4 16 5 18 4 48 0 52 4 0 4 32 1 0 2 50)} {:upvalue-count 8 :arity 1 :constants ("=" "op" "'s" "class" "paren-open" "list" call "bracket-open" ".." "bracket-close" array-slice array-index) :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 2 0 52 0 0 2 33 14 0 18 2 48 0 5 18 3 16 0 49 1 32 74 1 18 0 48 0 1 3 0 52 0 0 2 33 9 0 18 4 16 0 49 1 32 51 1 18 0 48 0 1 4 0 52 0 0 2 33 20 0 18 5 48 0 17 1 1 6 0 16 0 16 1 52 5 0 3 32 17 1 18 0 48 0 1 7 0 52 0 0 2 33 1 1 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 8 0 52 0 0 2 33 53 0 18 2 48 0 5 18 6 48 0 17 1 18 0 48 0 1 9 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 7 1 10 0 16 0 2 16 1 52 5 0 4 49 1 32 166 0 18 6 48 0 17 1 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 8 0 52 0 0 2 33 92 0 18 2 48 0 5 18 0 48 0 1 9 0 52 0 0 2 33 24 0 18 2 48 0 5 18 7 1 10 0 16 0 16 1 2 52 5 0 4 49 1 32 46 0 18 6 48 0 17 2 18 0 48 0 1 9 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 7 1 10 0 16 0 16 1 16 2 52 5 0 4 49 1 32 38 0 18 0 48 0 1 9 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 7 1 11 0 16 0 16 1 52 5 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 7 :arity 1 :constants ("=" "op" "==" "!=" "<" ">" "<=" ">=" "===" "!==" "list" = strict-eq not "keyword" "is" "not" "empty" empty? "in" not-in? "between" "and" and >= <= "really" "equal" "to" "a" "an" "!" type-check-strict type-check "less" "than" "or" < "greater" > in? "ident" "hs-keyword?" prop-is "am" "exists" exists? "starts" "with" starts-with? "ends" ends-with? "matches" matches? "contains" contains? "as" "colon" as "str" ":" "of" "list?" "first" ref "make-symbol" "." "nth" 1 of "does" "exist" "match" "contain" "include" "includes" "equals" "precedes" precedes? "follows" follows?) :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 6 33 108 0 5 16 2 1 2 0 52 0 0 2 6 34 94 0 5 16 2 1 3 0 52 0 0 2 6 34 80 0 5 16 2 1 4 0 52 0 0 2 6 34 66 0 5 16 2 1 5 0 52 0 0 2 6 34 52 0 5 16 2 1 6 0 52 0 0 2 6 34 38 0 5 16 2 1 7 0 52 0 0 2 6 34 24 0 5 16 2 1 8 0 52 0 0 2 6 34 10 0 5 16 2 1 9 0 52 0 0 2 33 109 0 18 2 48 0 5 18 3 48 0 17 3 16 2 1 2 0 52 0 0 2 33 14 0 1 11 0 16 0 16 3 52 10 0 3 32 69 0 16 2 1 8 0 52 0 0 2 33 14 0 1 12 0 16 0 16 3 52 10 0 3 32 43 0 16 2 1 9 0 52 0 0 2 33 21 0 1 13 0 1 12 0 16 0 16 3 52 10 0 3 52 10 0 2 32 10 0 16 2 16 0 16 3 52 10 0 3 32 13 9 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 15 0 52 0 0 2 33 173 3 18 2 48 0 5 18 4 1 16 0 48 1 33 127 1 18 4 1 17 0 48 1 33 19 0 1 13 0 1 18 0 16 0 52 10 0 2 52 10 0 2 32 95 1 18 4 1 19 0 48 1 33 16 0 1 20 0 16 0 18 3 48 0 52 10 0 3 32 69 1 18 4 1 21 0 48 1 33 59 0 18 5 48 0 17 3 18 4 1 22 0 48 1 5 18 5 48 0 17 4 1 13 0 1 23 0 1 24 0 16 0 16 3 52 10 0 3 1 25 0 16 0 16 4 52 10 0 3 52 10 0 3 52 10 0 2 32 0 1 18 4 1 26 0 48 1 33 39 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 13 0 1 12 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 207 0 18 4 1 27 0 48 1 33 31 0 18 4 1 28 0 48 1 5 1 13 0 1 11 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 166 0 18 1 48 0 1 29 0 52 0 0 2 6 34 12 0 5 18 1 48 0 1 30 0 52 0 0 2 6 33 7 0 5 18 2 48 0 5 3 33 101 0 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 31 0 52 0 0 2 17 4 16 4 33 7 0 18 2 48 0 32 1 0 2 5 16 4 33 21 0 1 13 0 1 32 0 16 0 16 3 52 10 0 3 52 10 0 2 32 18 0 1 13 0 1 33 0 16 0 16 3 52 10 0 3 52 10 0 2 32 24 0 18 3 48 0 17 3 1 13 0 1 11 0 16 0 16 3 52 10 0 3 52 10 0 2 32 28 2 18 4 1 17 0 48 1 33 12 0 1 18 0 16 0 52 10 0 2 32 6 2 18 4 1 34 0 48 1 33 66 0 18 4 1 35 0 48 1 5 18 4 1 36 0 48 1 33 32 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 25 0 16 0 18 3 48 0 52 10 0 3 32 13 0 1 37 0 16 0 18 3 48 0 52 10 0 3 32 186 1 18 4 1 38 0 48 1 33 66 0 18 4 1 35 0 48 1 5 18 4 1 36 0 48 1 33 32 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 24 0 16 0 18 3 48 0 52 10 0 3 32 13 0 1 39 0 16 0 18 3 48 0 52 10 0 3 32 110 1 18 4 1 21 0 48 1 33 52 0 18 5 48 0 17 3 18 4 1 22 0 48 1 5 18 5 48 0 17 4 1 23 0 1 24 0 16 0 16 3 52 10 0 3 1 25 0 16 0 16 4 52 10 0 3 52 10 0 3 32 48 1 18 4 1 19 0 48 1 33 16 0 1 40 0 16 0 18 3 48 0 52 10 0 3 32 22 1 18 4 1 26 0 48 1 33 32 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 12 0 16 0 18 3 48 0 52 10 0 3 32 236 0 18 4 1 27 0 48 1 33 24 0 18 4 1 28 0 48 1 5 1 11 0 16 0 18 3 48 0 52 10 0 3 32 202 0 18 1 48 0 1 29 0 52 0 0 2 6 34 12 0 5 18 1 48 0 1 30 0 52 0 0 2 6 33 7 0 5 18 2 48 0 5 3 33 87 0 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 31 0 52 0 0 2 17 4 16 4 33 7 0 18 2 48 0 32 1 0 2 5 16 4 33 14 0 1 32 0 16 0 16 3 52 10 0 3 32 11 0 1 33 0 16 0 16 3 52 10 0 3 32 74 0 18 0 48 0 1 41 0 52 0 0 2 6 33 14 0 5 20 42 0 18 1 48 0 48 1 52 16 0 1 33 25 0 18 1 48 0 17 3 18 2 48 0 5 1 43 0 16 0 16 3 52 10 0 3 32 17 0 18 3 48 0 17 3 1 11 0 16 0 16 3 52 10 0 3 32 70 5 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 44 0 52 0 0 2 33 165 0 18 2 48 0 5 18 4 1 16 0 48 1 33 82 0 18 4 1 19 0 48 1 33 16 0 1 20 0 16 0 18 3 48 0 52 10 0 3 32 53 0 18 4 1 17 0 48 1 33 19 0 1 13 0 1 18 0 16 0 52 10 0 2 52 10 0 2 32 24 0 18 3 48 0 17 3 1 13 0 1 11 0 16 0 16 3 52 10 0 3 52 10 0 2 32 65 0 18 4 1 19 0 48 1 33 16 0 1 40 0 16 0 18 3 48 0 52 10 0 3 32 39 0 18 4 1 17 0 48 1 33 12 0 1 18 0 16 0 52 10 0 2 32 17 0 18 3 48 0 17 3 1 11 0 16 0 16 3 52 10 0 3 32 135 4 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 45 0 52 0 0 2 33 17 0 18 2 48 0 5 1 46 0 16 0 52 10 0 2 32 92 4 16 1 1 14 0 52 0 0 2 6 34 10 0 5 16 1 1 41 0 52 0 0 2 6 33 10 0 5 16 2 1 47 0 52 0 0 2 33 29 0 18 2 48 0 5 18 4 1 48 0 48 1 5 1 49 0 16 0 18 3 48 0 52 10 0 3 32 23 4 16 1 1 14 0 52 0 0 2 6 34 10 0 5 16 1 1 41 0 52 0 0 2 6 33 10 0 5 16 2 1 50 0 52 0 0 2 33 29 0 18 2 48 0 5 18 4 1 48 0 48 1 5 1 51 0 16 0 18 3 48 0 52 10 0 3 32 210 3 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 52 0 52 0 0 2 33 21 0 18 2 48 0 5 1 53 0 16 0 18 3 48 0 52 10 0 3 32 163 3 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 54 0 52 0 0 2 33 21 0 18 2 48 0 5 1 55 0 16 0 18 3 48 0 52 10 0 3 32 116 3 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 56 0 52 0 0 2 33 135 0 18 2 48 0 5 18 1 48 0 1 29 0 52 0 0 2 6 34 12 0 5 18 1 48 0 1 30 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 57 0 52 0 0 2 6 33 9 0 5 18 6 48 0 52 16 0 1 33 39 0 18 2 48 0 5 18 1 48 0 17 4 18 2 48 0 5 1 58 0 16 0 16 3 1 60 0 16 4 52 59 0 3 52 10 0 3 32 11 0 1 58 0 16 0 16 3 52 10 0 3 32 211 2 16 1 1 57 0 52 0 0 2 33 92 0 18 2 48 0 5 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 31 0 52 0 0 2 17 4 16 4 33 7 0 18 2 48 0 32 1 0 2 5 16 4 33 14 0 1 32 0 16 0 16 3 52 10 0 3 32 11 0 1 33 0 16 0 16 3 52 10 0 3 32 107 2 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 61 0 52 0 0 2 33 77 0 18 2 48 0 5 18 3 48 0 17 3 16 0 52 62 0 1 6 33 14 0 5 16 0 52 63 0 1 1 64 0 52 0 0 2 33 25 0 1 66 0 52 65 0 1 16 3 16 0 1 68 0 52 67 0 2 52 10 0 3 32 11 0 1 69 0 16 0 16 3 52 10 0 3 32 4 2 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 19 0 52 0 0 2 33 21 0 18 2 48 0 5 1 40 0 16 0 18 3 48 0 52 10 0 3 32 213 1 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 70 0 52 0 0 2 33 170 0 18 2 48 0 5 18 4 1 16 0 48 1 5 18 4 1 71 0 48 1 33 19 0 1 13 0 1 46 0 16 0 52 10 0 2 52 10 0 2 32 125 0 18 4 1 72 0 48 1 33 23 0 1 13 0 1 53 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 92 0 18 4 1 73 0 48 1 6 34 8 0 5 18 4 1 54 0 48 1 33 23 0 1 13 0 1 55 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 47 0 18 4 1 74 0 48 1 6 34 8 0 5 18 4 1 75 0 48 1 33 23 0 1 13 0 1 55 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 2 0 16 0 32 17 1 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 76 0 52 0 0 2 33 21 0 18 2 48 0 5 1 11 0 16 0 18 3 48 0 52 10 0 3 32 226 0 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 26 0 52 0 0 2 33 29 0 18 2 48 0 5 18 4 1 76 0 48 1 5 1 12 0 16 0 18 3 48 0 52 10 0 3 32 171 0 16 1 1 14 0 52 0 0 2 6 33 38 0 5 16 2 1 73 0 52 0 0 2 6 34 24 0 5 16 2 1 74 0 52 0 0 2 6 34 10 0 5 16 2 1 75 0 52 0 0 2 33 21 0 18 2 48 0 5 1 55 0 16 0 18 3 48 0 52 10 0 3 32 96 0 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 77 0 52 0 0 2 33 21 0 18 2 48 0 5 1 78 0 16 0 18 5 48 0 52 10 0 3 32 49 0 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 79 0 52 0 0 2 33 21 0 18 2 48 0 5 1 80 0 16 0 18 5 48 0 52 10 0 3 32 2 0 16 0 50)} {:upvalue-count 6 :arity 1 :constants ("where" "list" coll-where "sorted" "by" "descending" "not" "ascending" coll-sorted-desc coll-sorted "mapped" "to" coll-mapped "split" coll-split "joined" coll-joined) :bytecode (18 0 1 0 0 48 1 33 36 0 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 2 0 16 0 16 1 52 1 0 3 49 1 32 11 1 18 0 1 3 0 48 1 33 93 0 18 0 1 4 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 0 1 5 0 48 1 17 2 16 2 52 6 0 1 33 10 0 18 0 1 7 0 48 1 32 1 0 2 5 18 5 16 2 33 14 0 1 8 0 16 0 16 1 52 1 0 3 32 11 0 1 9 0 16 0 16 1 52 1 0 3 49 1 32 164 0 18 0 1 10 0 48 1 33 44 0 18 0 1 11 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 12 0 16 0 16 1 52 1 0 3 49 1 32 110 0 18 0 1 13 0 48 1 33 44 0 18 0 1 4 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 14 0 16 0 16 1 52 1 0 3 49 1 32 56 0 18 0 1 15 0 48 1 33 44 0 18 0 1 4 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 16 0 16 0 16 1 52 1 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 7 :arity 1 :constants ("and" "list" and "or" or) :bytecode (18 0 1 0 0 48 1 33 40 0 18 1 18 2 18 3 18 4 18 5 48 0 48 1 48 1 48 1 48 1 17 1 18 6 1 2 0 16 0 16 1 52 1 0 3 49 1 32 52 0 18 0 1 3 0 48 1 33 40 0 18 1 18 2 18 3 18 4 18 5 48 0 48 1 48 1 48 1 48 1 17 1 18 6 1 4 0 16 0 16 1 52 1 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 9 :arity 0 :constants ("nil?" "number?" "=" "ident" "list" string-postfix "not" "then" "end" "else" "otherwise" "op" "%") :bytecode (18 0 48 0 17 0 16 0 52 0 0 1 33 4 0 2 32 242 0 16 0 52 1 0 1 6 33 12 0 5 18 1 48 0 1 3 0 52 2 0 2 33 27 0 18 2 48 0 17 1 18 3 48 0 5 1 5 0 16 0 16 1 52 4 0 3 17 0 32 1 0 2 5 18 4 16 0 48 1 17 1 18 5 16 1 48 1 17 2 18 6 16 2 48 1 17 3 18 7 16 3 48 1 17 4 18 8 16 4 48 1 17 5 16 5 6 33 112 0 5 18 1 48 0 1 3 0 52 2 0 2 6 33 64 0 5 18 2 48 0 1 7 0 52 2 0 2 6 34 44 0 5 18 2 48 0 1 8 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 9 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 10 0 52 2 0 2 52 6 0 1 6 34 28 0 5 18 1 48 0 1 11 0 52 2 0 2 6 33 12 0 5 18 2 48 0 1 12 0 52 2 0 2 33 25 0 18 2 48 0 17 6 18 3 48 0 5 1 5 0 16 5 16 6 52 4 0 3 32 2 0 16 5 50)} {:upvalue-count 2 :arity 2 :constants () :bytecode (18 0 16 0 48 1 33 7 0 18 1 49 0 32 2 0 16 1 50)} {:upvalue-count 3 :arity 0 :constants ("=" "class" "get" "value" "list" {:upvalue-count 4 :arity 0 :constants ("=" "class" "append" "list" "get" "value") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 31 0 18 1 18 2 48 0 1 5 0 52 4 0 2 52 3 0 1 52 2 0 2 19 1 5 18 3 49 0 32 1 0 2 50)} "to" me "empty?" add-class "cons" multi-add-class) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 101 0 18 1 48 0 1 3 0 52 2 0 2 17 0 52 4 0 0 17 1 51 5 0 0 0 1 1 0 1 1 2 17 2 5 16 2 48 0 5 18 2 1 6 0 1 7 0 52 4 0 1 48 2 17 3 16 1 52 8 0 1 33 14 0 1 9 0 16 0 16 3 52 4 0 3 32 21 0 1 11 0 16 3 16 0 16 1 52 10 0 2 52 10 0 2 52 10 0 2 32 1 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("=" "class" "get" "value" "list" {:upvalue-count 4 :arity 0 :constants ("=" "class" "append" "list" "get" "value") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 31 0 18 1 18 2 48 0 1 5 0 52 4 0 2 52 3 0 1 52 2 0 2 19 1 5 18 3 49 0 32 1 0 2 50)} "from" "empty?" remove-class "cons" multi-remove-class "bracket-open" "[" "attr" "]" remove-attr "{" {:upvalue-count 4 :arity 0 :constants ("not" "=" "}" ";" "append" "list" "get" "value") :bytecode (18 0 48 0 1 2 0 52 1 0 2 52 0 0 1 33 76 0 18 0 48 0 1 3 0 52 1 0 2 33 7 0 18 1 48 0 32 1 0 2 5 18 0 48 0 1 2 0 52 1 0 2 52 0 0 1 33 31 0 18 2 18 1 48 0 1 7 0 52 6 0 2 52 5 0 1 52 4 0 2 19 2 5 18 3 49 0 32 1 0 2 32 1 0 2 50)} "}" remove-css remove-element) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 105 0 18 1 48 0 1 3 0 52 2 0 2 17 0 52 4 0 0 17 1 51 5 0 0 0 1 1 0 1 1 2 17 2 5 16 2 48 0 5 18 2 1 6 0 48 1 33 7 0 18 3 48 0 32 1 0 2 17 3 16 1 52 7 0 1 33 14 0 1 8 0 16 0 16 3 52 4 0 3 32 21 0 1 10 0 16 3 16 0 16 1 52 9 0 2 52 9 0 2 52 9 0 2 32 209 0 18 0 48 0 1 11 0 52 0 0 2 6 33 12 0 5 18 4 48 0 1 12 0 52 0 0 2 33 78 0 18 1 48 0 5 18 0 48 0 1 13 0 52 0 0 2 33 55 0 18 1 48 0 1 3 0 52 2 0 2 17 0 18 2 1 14 0 48 1 5 18 2 1 6 0 48 1 33 7 0 18 3 48 0 32 1 0 2 17 1 1 15 0 16 0 16 1 52 4 0 3 32 1 0 2 32 101 0 18 4 48 0 1 16 0 52 0 0 2 33 72 0 18 1 48 0 5 52 4 0 0 17 0 51 17 0 0 4 0 1 1 0 1 1 17 1 5 16 1 48 0 5 18 2 1 18 0 48 1 5 18 2 1 6 0 48 1 33 7 0 18 3 48 0 32 1 0 2 17 2 1 19 0 16 0 16 2 52 4 0 3 32 15 0 18 3 48 0 17 0 1 20 0 16 0 52 4 0 2 50)} {:upvalue-count 7 :arity 0 :constants ("between" "=" "class" "and" "on" "list" me toggle-between toggle-class "style" toggle-style-between toggle-style "attr" toggle-attr-between toggle-attr) :bytecode (18 0 1 0 0 48 1 33 106 0 18 1 48 0 1 2 0 52 1 0 2 33 88 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 4 1 3 0 48 1 5 18 1 48 0 1 2 0 52 1 0 2 33 47 0 18 2 48 0 17 1 18 3 48 0 5 16 1 17 1 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 2 1 7 0 16 0 16 1 16 2 52 5 0 4 32 1 0 2 32 1 0 2 32 50 1 18 1 48 0 1 2 0 52 1 0 2 33 45 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 1 1 8 0 16 0 16 1 52 5 0 3 32 247 0 18 1 48 0 1 9 0 52 1 0 2 33 109 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 0 1 0 0 48 1 33 54 0 18 6 48 0 17 1 18 4 1 3 0 48 1 5 18 6 48 0 17 2 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 3 1 10 0 16 0 16 1 16 2 16 3 52 5 0 5 32 27 0 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 1 1 11 0 16 0 16 1 52 5 0 3 32 124 0 18 1 48 0 1 12 0 52 1 0 2 33 109 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 0 1 0 0 48 1 33 54 0 18 6 48 0 17 1 18 4 1 3 0 48 1 5 18 6 48 0 17 2 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 3 1 13 0 16 0 16 1 16 2 16 3 52 5 0 5 32 27 0 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 1 1 14 0 16 0 16 1 52 5 0 3 32 1 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" set!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 0 48 0 17 1 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 4 :arity 0 :constants ("into" "list" set! "before" put! "after" "at" "start" "of" "end" "error" "str" "Expected start/end after at, position " "Expected into/before/after/at at position ") :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 33 16 0 1 2 0 18 0 48 0 16 0 52 1 0 3 32 171 0 18 1 1 3 0 48 1 33 19 0 1 4 0 16 0 1 3 0 18 0 48 0 52 1 0 4 32 142 0 18 1 1 5 0 48 1 33 19 0 1 4 0 16 0 1 5 0 18 0 48 0 52 1 0 4 32 113 0 18 1 1 6 0 48 1 33 90 0 18 1 1 7 0 48 1 33 27 0 18 2 1 8 0 48 1 5 1 4 0 16 0 1 7 0 18 0 48 0 52 1 0 4 32 50 0 18 1 1 9 0 48 1 33 27 0 18 2 1 8 0 48 1 5 1 4 0 16 0 1 9 0 18 0 48 0 52 1 0 4 32 13 0 1 12 0 18 3 52 11 0 2 52 10 0 1 32 13 0 1 13 0 18 3 52 11 0 2 52 10 0 1 50)} {:upvalue-count 3 :arity 0 :constants ("else" "otherwise" "end" "list" if) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 18 2 1 0 0 48 1 6 34 8 0 5 18 2 1 1 0 48 1 33 7 0 18 1 48 0 32 1 0 2 17 2 18 2 1 2 0 48 1 5 16 2 33 16 0 1 4 0 16 0 16 1 16 2 52 3 0 4 32 11 0 1 4 0 16 0 16 1 52 3 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("for" "from" "list" wait-for "=" "number" wait "get" "value" 0) :bytecode (18 0 1 0 0 48 1 33 65 0 18 1 48 0 17 0 18 2 48 0 5 18 0 1 1 0 48 1 33 7 0 18 3 48 0 32 1 0 2 17 1 16 1 33 17 0 1 3 0 16 0 1 1 0 16 1 52 2 0 4 32 9 0 1 3 0 16 0 52 2 0 2 32 53 0 18 4 48 0 1 5 0 52 4 0 2 33 29 0 18 2 48 0 17 0 1 6 0 18 5 16 0 1 8 0 52 7 0 2 48 1 52 2 0 2 32 10 0 1 6 0 1 9 0 52 2 0 2 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "paren-close" "get" "value" "colon" "comma" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 34 5 0 5 18 1 48 0 33 28 0 18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 83 0 18 2 48 0 1 3 0 52 2 0 2 17 1 18 0 48 0 1 4 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 3 48 0 17 2 18 0 48 0 1 5 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 4 16 0 16 1 16 2 52 7 0 2 52 6 0 2 49 1 50)} "cons" dict "list") :bytecode (18 0 48 0 5 51 0 0 0 1 0 2 0 0 0 3 1 0 17 0 5 1 2 0 16 0 52 3 0 0 48 1 52 1 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("get" "value" "=" "paren-open" "to" "list" me send) :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 48 0 1 3 0 52 2 0 2 33 7 0 18 2 48 0 32 1 0 2 17 1 18 3 1 4 0 1 6 0 52 5 0 1 48 2 17 2 16 1 33 16 0 1 7 0 16 0 16 1 16 2 52 5 0 4 32 11 0 1 7 0 16 0 16 2 52 5 0 3 50)} {:upvalue-count 2 :arity 0 :constants ("get" "value" "on" "list" me trigger) :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 1 2 0 1 4 0 52 3 0 1 48 2 17 1 1 5 0 16 0 16 1 52 3 0 3 50)} {:upvalue-count 1 :arity 0 :constants ("list" log) :bytecode (1 1 0 18 0 48 0 52 0 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("by" 1 "on" "list" me increment!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 33 7 0 18 0 48 0 32 3 0 1 1 0 17 1 18 2 1 2 0 1 4 0 52 3 0 1 48 2 17 2 1 5 0 16 0 16 1 16 2 52 3 0 4 50)} {:upvalue-count 3 :arity 0 :constants ("by" 1 "on" "list" me decrement!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 33 7 0 18 0 48 0 32 3 0 1 1 0 17 1 18 2 1 2 0 1 4 0 52 3 0 1 48 2 17 2 1 5 0 16 0 16 1 16 2 52 3 0 4 50)} {:upvalue-count 6 :arity 0 :constants ("list" me "=" "keyword" "then" "end" "with" "add" "remove" "set" "put" "toggle" "hide" "show" "display" hide) :bytecode (18 0 48 0 33 10 0 1 1 0 52 0 0 1 32 188 0 18 1 48 0 1 3 0 52 2 0 2 6 33 156 0 5 18 2 48 0 1 4 0 52 2 0 2 6 34 140 0 5 18 2 48 0 1 5 0 52 2 0 2 6 34 124 0 5 18 2 48 0 1 6 0 52 2 0 2 6 34 108 0 5 18 2 48 0 1 7 0 52 2 0 2 6 34 92 0 5 18 2 48 0 1 8 0 52 2 0 2 6 34 76 0 5 18 2 48 0 1 9 0 52 2 0 2 6 34 60 0 5 18 2 48 0 1 10 0 52 2 0 2 6 34 44 0 5 18 2 48 0 1 11 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 12 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 13 0 52 2 0 2 33 10 0 1 1 0 52 0 0 1 32 4 0 18 3 48 0 17 0 18 4 1 6 0 48 1 33 29 0 18 0 48 0 33 6 0 1 14 0 32 13 0 18 2 48 0 17 1 18 5 48 0 5 16 1 32 3 0 1 14 0 17 1 1 15 0 16 0 16 1 52 0 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("list" me "=" "keyword" "then" "end" "with" "add" "remove" "set" "put" "toggle" "hide" "show" "display" show) :bytecode (18 0 48 0 33 10 0 1 1 0 52 0 0 1 32 188 0 18 1 48 0 1 3 0 52 2 0 2 6 33 156 0 5 18 2 48 0 1 4 0 52 2 0 2 6 34 140 0 5 18 2 48 0 1 5 0 52 2 0 2 6 34 124 0 5 18 2 48 0 1 6 0 52 2 0 2 6 34 108 0 5 18 2 48 0 1 7 0 52 2 0 2 6 34 92 0 5 18 2 48 0 1 8 0 52 2 0 2 6 34 76 0 5 18 2 48 0 1 9 0 52 2 0 2 6 34 60 0 5 18 2 48 0 1 10 0 52 2 0 2 6 34 44 0 5 18 2 48 0 1 11 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 12 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 13 0 52 2 0 2 33 10 0 1 1 0 52 0 0 1 32 4 0 18 3 48 0 17 0 18 4 1 6 0 48 1 33 29 0 18 0 48 0 33 6 0 1 14 0 32 13 0 18 2 48 0 17 1 18 5 48 0 5 16 1 32 3 0 1 14 0 17 1 1 15 0 16 0 16 1 52 0 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("=" "style" "get" "value" "my" "from" "to" "over" "list" transition-from transition) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 14 0 18 1 48 0 1 3 0 52 2 0 2 32 72 0 18 2 48 0 1 4 0 52 0 0 2 33 47 0 18 1 48 0 5 18 0 48 0 1 1 0 52 0 0 2 33 14 0 18 1 48 0 1 3 0 52 2 0 2 32 11 0 18 1 48 0 1 3 0 52 2 0 2 32 11 0 18 1 48 0 1 3 0 52 2 0 2 17 0 18 3 1 5 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 1 18 5 1 6 0 48 1 5 18 4 48 0 17 2 18 3 1 7 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 3 16 1 33 18 0 1 9 0 16 0 16 1 16 2 16 3 52 8 0 5 32 34 0 16 3 33 17 0 1 10 0 16 0 16 2 16 3 2 52 8 0 5 32 12 0 1 10 0 16 0 16 2 2 52 8 0 4 50)} {:upvalue-count 7 :arity 0 :constants ("=" "keyword" "for" "in" "end" "list" for "it" "forever" forever "while" while "until" until "times" times repeat) :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 2 0 52 0 0 2 33 12 0 18 2 48 0 5 18 3 49 0 32 203 0 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 3 0 52 0 0 2 33 43 0 18 2 48 0 5 18 4 48 0 17 0 18 5 48 0 17 1 18 6 1 4 0 48 1 5 1 6 0 1 7 0 16 0 2 16 1 52 5 0 5 32 130 0 18 6 1 8 0 48 1 33 10 0 1 9 0 52 5 0 1 32 83 0 18 6 1 10 0 48 1 33 14 0 1 11 0 18 4 48 0 52 5 0 2 32 59 0 18 6 1 12 0 48 1 33 14 0 1 13 0 18 4 48 0 52 5 0 2 32 35 0 18 4 48 0 17 0 18 6 1 14 0 48 1 33 12 0 1 15 0 16 0 52 5 0 2 32 7 0 1 9 0 52 5 0 1 17 0 18 5 48 0 17 1 18 6 1 4 0 48 1 5 1 16 0 16 0 16 1 52 5 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("nil?" "as" "json" "list" fetch) :bytecode (18 0 48 0 17 0 16 0 52 0 0 1 33 5 0 16 0 32 10 0 18 1 18 2 16 0 48 1 48 1 17 1 18 3 1 1 0 48 1 33 16 0 18 4 48 0 17 2 18 5 48 0 5 16 2 32 3 0 1 2 0 17 2 1 4 0 16 1 16 2 52 3 0 3 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "paren-close" "comma" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 34 5 0 5 18 1 48 0 33 28 0 18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 45 0 18 3 48 0 17 1 18 0 48 0 1 2 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 4 16 0 16 1 52 4 0 1 52 3 0 2 49 1 50)} "list") :bytecode (18 0 48 0 5 51 0 0 0 1 0 2 0 0 0 3 1 0 17 0 5 16 0 52 1 0 0 49 1 50)} {:upvalue-count 3 :arity 0 :constants ("get" "value" "=" "paren-open" "cons" call "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 48 0 1 3 0 52 2 0 2 33 24 0 18 2 48 0 17 1 1 5 0 16 0 16 1 52 4 0 2 52 4 0 2 32 9 0 1 5 0 16 0 52 6 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("=" "class" "from" "for" "list" take! "attr") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 74 0 18 1 48 0 17 0 18 2 48 0 5 16 0 17 0 18 3 1 2 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 1 18 3 1 3 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 2 1 5 0 1 1 0 16 0 16 1 16 2 52 4 0 5 32 89 0 18 0 48 0 1 6 0 52 0 0 2 33 74 0 18 1 48 0 17 0 18 2 48 0 5 16 0 17 0 18 3 1 2 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 1 18 3 1 3 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 2 1 5 0 1 6 0 16 0 16 1 16 2 52 4 0 5 32 1 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" go) :bytecode (18 0 1 0 0 48 1 5 1 2 0 18 1 48 0 52 1 0 2 50)} {:upvalue-count 6 :arity 1 :constants ("=" "op" "+" "-" "*" "/" "%" "keyword" "mod" + - * / "make-symbol" "nil?" "list") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 6 33 66 0 5 16 2 1 2 0 52 0 0 2 6 34 52 0 5 16 2 1 3 0 52 0 0 2 6 34 38 0 5 16 2 1 4 0 52 0 0 2 6 34 24 0 5 16 2 1 5 0 52 0 0 2 6 34 10 0 5 16 2 1 6 0 52 0 0 2 6 34 24 0 5 16 1 1 7 0 52 0 0 2 6 33 10 0 5 16 2 1 8 0 52 0 0 2 33 161 0 18 2 48 0 5 16 2 1 2 0 52 0 0 2 33 6 0 1 9 0 32 91 0 16 2 1 3 0 52 0 0 2 33 6 0 1 10 0 32 73 0 16 2 1 4 0 52 0 0 2 33 6 0 1 11 0 32 55 0 16 2 1 5 0 52 0 0 2 33 6 0 1 12 0 32 37 0 16 2 1 6 0 52 0 0 2 6 34 10 0 5 16 2 1 8 0 52 0 0 2 33 10 0 1 6 0 52 13 0 1 32 1 0 2 17 3 18 3 48 0 17 4 16 4 52 14 0 1 33 5 0 16 4 32 6 0 18 4 16 4 48 1 17 4 18 5 16 3 16 0 16 4 52 15 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 8 :arity 0 :constants ("=" "ident" "keyword" "of" "list" "make-symbol" "." "result" it "first" first "last" last "closest" closest "next" next "previous" previous ref) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 16 0 1 1 0 52 0 0 2 6 34 10 0 5 16 0 1 2 0 52 0 0 2 33 179 0 18 2 48 0 5 18 3 1 3 0 48 1 33 20 0 1 6 0 52 5 0 1 18 4 48 0 16 1 52 4 0 3 32 141 0 16 1 1 7 0 52 0 0 2 33 10 0 1 8 0 52 4 0 1 32 119 0 16 1 1 9 0 52 0 0 2 33 10 0 18 5 1 10 0 49 1 32 97 0 16 1 1 11 0 52 0 0 2 33 10 0 18 5 1 12 0 49 1 32 75 0 16 1 1 13 0 52 0 0 2 33 10 0 18 6 1 14 0 49 1 32 53 0 16 1 1 15 0 52 0 0 2 33 10 0 18 6 1 16 0 49 1 32 31 0 16 1 1 17 0 52 0 0 2 33 10 0 18 6 1 18 0 49 1 32 9 0 1 19 0 16 1 52 4 0 2 32 4 0 18 7 49 0 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "bracket-close" "comma" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 34 5 0 5 18 1 48 0 33 28 0 18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 45 0 18 3 48 0 17 1 18 0 48 0 1 2 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 4 16 0 16 1 52 4 0 1 52 3 0 2 49 1 50)} "cons" array "list") :bytecode (51 0 0 0 0 0 1 0 2 0 3 1 0 17 0 5 1 2 0 16 0 52 3 0 0 48 1 52 1 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("=" "keyword" "end" "then" "else" "list" return) :bytecode (18 0 48 0 6 34 60 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 44 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 28 0 5 18 2 48 0 1 3 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 4 0 52 0 0 2 33 11 0 1 6 0 2 52 5 0 2 32 11 0 1 6 0 18 3 48 0 52 5 0 2 50)} {:upvalue-count 1 :arity 0 :constants ("list" throw) :bytecode (1 1 0 18 0 48 0 52 0 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" append!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 0 48 0 17 1 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 3 :arity 0 :constants ("then" "end" "list" tell) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 2 48 0 17 1 18 1 1 1 0 48 1 5 1 3 0 16 0 16 1 52 2 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("in" "index" "end" "list" for) :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 1 0 0 48 1 5 18 3 48 0 17 1 18 4 1 1 0 48 1 33 16 0 18 0 48 0 17 2 18 1 48 0 5 16 2 32 1 0 2 17 2 18 5 48 0 17 3 18 4 1 2 0 48 1 5 16 2 33 21 0 1 4 0 16 0 16 1 16 3 1 1 0 16 2 52 3 0 6 32 13 0 1 4 0 16 0 16 1 16 3 52 3 0 4 50)} {:upvalue-count 3 :arity 0 :constants ("=" "a" "called" "list" make) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 1 48 0 32 1 0 2 5 18 0 48 0 17 0 18 1 48 0 5 18 2 1 2 0 48 1 33 16 0 18 0 48 0 17 1 18 1 48 0 5 16 1 32 1 0 2 17 1 16 1 33 14 0 1 4 0 16 0 16 1 52 3 0 3 32 9 0 1 4 0 16 0 52 3 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("=" "paren-open" "cons" install "list") :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 48 0 1 1 0 52 0 0 2 33 24 0 18 3 48 0 17 1 1 3 0 16 0 16 1 52 2 0 2 52 2 0 2 32 9 0 1 3 0 16 0 52 4 0 2 50)} {:upvalue-count 1 :arity 0 :constants ("list" measure "nil?" me) :bytecode (18 0 48 0 17 0 1 1 0 16 0 52 2 0 1 33 10 0 1 3 0 52 0 0 1 32 2 0 16 0 52 0 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("=" "keyword" "then" "end" "list" me "top" "bottom" "left" "right" scroll!) :bytecode (18 0 48 0 6 34 44 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 28 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 3 0 52 0 0 2 33 10 0 1 5 0 52 4 0 1 32 4 0 18 3 48 0 17 0 18 4 1 6 0 48 1 33 6 0 1 6 0 32 51 0 18 4 1 7 0 48 1 33 6 0 1 7 0 32 35 0 18 4 1 8 0 48 1 33 6 0 1 8 0 32 19 0 18 4 1 9 0 48 1 33 6 0 1 9 0 32 3 0 1 6 0 17 1 1 10 0 16 0 16 1 52 4 0 3 50)} {:upvalue-count 4 :arity 0 :constants ("=" "keyword" "then" "end" "list" me select!) :bytecode (18 0 48 0 6 34 44 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 28 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 3 0 52 0 0 2 33 10 0 1 5 0 52 4 0 1 32 4 0 18 3 48 0 17 0 1 6 0 16 0 52 4 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("=" "keyword" "then" "end" "list" me reset!) :bytecode (18 0 48 0 6 34 44 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 28 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 3 0 52 0 0 2 33 10 0 1 5 0 52 4 0 1 32 4 0 18 3 48 0 17 0 1 6 0 16 0 52 4 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" default!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 0 48 0 17 1 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 1 :arity 0 :constants ("the" "event" "default" "list" halt!) :bytecode (18 0 1 0 0 48 1 6 33 20 0 5 18 0 1 1 0 48 1 6 34 8 0 5 18 0 1 2 0 48 1 17 0 1 4 0 16 0 33 6 0 1 1 0 32 3 0 1 2 0 52 3 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("=" "paren-open" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 1 49 0 32 4 0 52 2 0 0 50)} {:upvalue-count 4 :arity 0 :constants ("list" me "=" "keyword" "then" "end" focus!) :bytecode (18 0 48 0 33 10 0 1 1 0 52 0 0 1 32 60 0 18 1 48 0 1 3 0 52 2 0 2 6 33 28 0 5 18 2 48 0 1 4 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 5 0 52 2 0 2 33 10 0 1 1 0 52 0 0 1 32 4 0 18 3 48 0 17 0 1 6 0 16 0 52 0 0 2 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "keyword" "end" "nil?" "append" "list") :bytecode (18 0 48 0 6 34 28 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 2 48 0 1 2 0 52 0 0 2 33 5 0 16 0 32 36 0 18 3 48 0 17 1 16 1 52 3 0 1 33 5 0 16 0 32 16 0 18 4 16 0 16 1 52 5 0 1 52 4 0 2 49 1 50)} "list") :bytecode (51 0 0 0 0 0 1 0 2 0 3 1 0 17 0 5 16 0 52 1 0 0 49 1 50)} {:upvalue-count 5 :arity 0 :constants ("end" "list" def) :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 48 0 17 1 18 3 48 0 17 2 18 4 1 0 0 48 1 5 1 2 0 16 0 16 1 16 2 52 1 0 4 50)} {:upvalue-count 5 :arity 0 :constants ("end" "list" behavior) :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 48 0 17 1 18 3 48 0 17 2 18 4 1 0 0 48 1 5 1 2 0 16 0 16 1 16 2 52 1 0 4 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "local" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 38 0 18 1 48 0 17 1 18 2 48 0 5 18 3 48 0 17 2 18 4 16 0 16 1 16 2 52 3 0 2 52 2 0 2 49 1 32 2 0 16 0 50)} "list") :bytecode (51 0 0 0 0 0 1 0 2 0 3 1 0 17 0 5 16 0 52 1 0 0 49 1 50)} {:upvalue-count 6 :arity 0 :constants ("=" "component" "paren-open" "paren-close" "into" "before" "after" "list" render) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 16 0 18 1 48 0 17 0 18 2 48 0 5 16 0 32 66 0 18 0 48 0 1 2 0 52 0 0 2 33 39 0 18 2 48 0 5 18 3 48 0 17 0 18 0 48 0 1 3 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 13 0 18 1 48 0 17 0 18 2 48 0 5 16 0 17 0 18 4 48 0 17 1 18 5 1 4 0 48 1 33 6 0 1 4 0 32 33 0 18 5 1 5 0 48 1 33 6 0 1 5 0 32 17 0 18 5 1 6 0 48 1 33 6 0 1 6 0 32 1 0 2 17 2 16 2 33 7 0 18 3 48 0 32 1 0 2 17 3 16 2 33 18 0 1 8 0 16 0 16 1 16 2 16 3 52 7 0 5 32 11 0 1 8 0 16 0 16 1 52 7 0 3 50)} {:upvalue-count 5 :arity 0 :constants ("get" "pos" {:upvalue-count 6 :arity 1 :constants ("=" "paren-open" "+" 1 "paren-close" 0 "get" "pos" "-") :bytecode (18 0 48 0 33 5 0 18 1 32 123 0 18 2 48 0 1 1 0 52 0 0 2 33 21 0 18 3 48 0 5 18 4 16 0 1 3 0 52 2 0 2 49 1 32 88 0 18 2 48 0 1 4 0 52 0 0 2 33 63 0 16 0 1 5 0 52 0 0 2 33 30 0 18 5 48 0 1 7 0 52 6 0 2 1 3 0 52 2 0 2 17 1 18 3 48 0 5 16 1 32 18 0 18 3 48 0 5 18 4 16 0 1 3 0 52 8 0 2 49 1 32 11 0 18 3 48 0 5 18 4 16 0 49 1 50)} 0 "substring") :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 48 0 5 51 2 0 0 2 1 0 0 3 0 1 1 1 0 0 17 1 5 16 1 1 3 0 48 1 17 2 18 4 16 0 16 2 52 4 0 3 50)} {:upvalue-count 39 :arity 0 :constants ("=" "keyword" "catch" "finally" "end" "else" "otherwise" "add" "remove" "toggle" "set" "put" "if" "wait" "send" "trigger" "log" "increment" "decrement" "hide" "show" "transition" "repeat" "fetch" "call" "take" "settle" "list" settle "go" "return" "throw" "append" "tell" "for" "make" "install" "measure" "render" "scroll" "select" "reset" "default" "halt" "focus") :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 16 0 1 1 0 52 0 0 2 6 33 66 0 5 16 1 1 2 0 52 0 0 2 6 34 52 0 5 16 1 1 3 0 52 0 0 2 6 34 38 0 5 16 1 1 4 0 52 0 0 2 6 34 24 0 5 16 1 1 5 0 52 0 0 2 6 34 10 0 5 16 1 1 6 0 52 0 0 2 33 4 0 2 32 95 5 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 7 0 52 0 0 2 33 12 0 18 2 48 0 5 18 3 49 0 32 57 5 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 8 0 52 0 0 2 33 12 0 18 2 48 0 5 18 4 49 0 32 19 5 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 9 0 52 0 0 2 33 12 0 18 2 48 0 5 18 5 49 0 32 237 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 10 0 52 0 0 2 33 12 0 18 2 48 0 5 18 6 49 0 32 199 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 11 0 52 0 0 2 33 12 0 18 2 48 0 5 18 7 49 0 32 161 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 12 0 52 0 0 2 33 12 0 18 2 48 0 5 18 8 49 0 32 123 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 13 0 52 0 0 2 33 12 0 18 2 48 0 5 18 9 49 0 32 85 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 14 0 52 0 0 2 33 12 0 18 2 48 0 5 18 10 49 0 32 47 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 15 0 52 0 0 2 33 12 0 18 2 48 0 5 18 11 49 0 32 9 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 16 0 52 0 0 2 33 12 0 18 2 48 0 5 18 12 49 0 32 227 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 17 0 52 0 0 2 33 12 0 18 2 48 0 5 18 13 49 0 32 189 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 18 0 52 0 0 2 33 12 0 18 2 48 0 5 18 14 49 0 32 151 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 19 0 52 0 0 2 33 12 0 18 2 48 0 5 18 15 49 0 32 113 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 20 0 52 0 0 2 33 12 0 18 2 48 0 5 18 16 49 0 32 75 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 21 0 52 0 0 2 33 12 0 18 2 48 0 5 18 17 49 0 32 37 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 22 0 52 0 0 2 33 12 0 18 2 48 0 5 18 18 49 0 32 255 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 23 0 52 0 0 2 33 12 0 18 2 48 0 5 18 19 49 0 32 217 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 24 0 52 0 0 2 33 12 0 18 2 48 0 5 18 20 49 0 32 179 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 25 0 52 0 0 2 33 12 0 18 2 48 0 5 18 21 49 0 32 141 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 26 0 52 0 0 2 33 15 0 18 2 48 0 5 1 28 0 52 27 0 1 32 100 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 29 0 52 0 0 2 33 12 0 18 2 48 0 5 18 22 49 0 32 62 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 30 0 52 0 0 2 33 12 0 18 2 48 0 5 18 23 49 0 32 24 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 31 0 52 0 0 2 33 12 0 18 2 48 0 5 18 24 49 0 32 242 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 32 0 52 0 0 2 33 12 0 18 2 48 0 5 18 25 49 0 32 204 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 33 0 52 0 0 2 33 12 0 18 2 48 0 5 18 26 49 0 32 166 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 34 0 52 0 0 2 33 12 0 18 2 48 0 5 18 27 49 0 32 128 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 35 0 52 0 0 2 33 12 0 18 2 48 0 5 18 28 49 0 32 90 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 36 0 52 0 0 2 33 12 0 18 2 48 0 5 18 29 49 0 32 52 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 37 0 52 0 0 2 33 12 0 18 2 48 0 5 18 30 49 0 32 14 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 38 0 52 0 0 2 33 12 0 18 2 48 0 5 18 31 49 0 32 232 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 39 0 52 0 0 2 33 12 0 18 2 48 0 5 18 32 49 0 32 194 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 40 0 52 0 0 2 33 12 0 18 2 48 0 5 18 33 49 0 32 156 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 41 0 52 0 0 2 33 12 0 18 2 48 0 5 18 34 49 0 32 118 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 42 0 52 0 0 2 33 12 0 18 2 48 0 5 18 35 49 0 32 80 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 43 0 52 0 0 2 33 12 0 18 2 48 0 5 18 36 49 0 32 42 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 44 0 52 0 0 2 33 12 0 18 2 48 0 5 18 37 49 0 32 4 0 18 38 49 0 50)} {:upvalue-count 5 :arity 2 :constants ({:upvalue-count 0 :arity 1 :constants ("=" "add" "remove" "toggle" "set" "put" "if" "wait" "send" "trigger" "log" "increment" "decrement" "hide" "show" "transition" "repeat" "fetch" "call" "take" "settle" "go" "return" "throw" "append" "tell" "for" "make" "install" "measure" "render" "halt" "default" "scroll" "select" "reset" "focus") :bytecode (16 0 1 1 0 52 0 0 2 6 34 230 1 5 16 0 1 2 0 52 0 0 2 6 34 216 1 5 16 0 1 3 0 52 0 0 2 6 34 202 1 5 16 0 1 4 0 52 0 0 2 6 34 188 1 5 16 0 1 5 0 52 0 0 2 6 34 174 1 5 16 0 1 6 0 52 0 0 2 6 34 160 1 5 16 0 1 7 0 52 0 0 2 6 34 146 1 5 16 0 1 8 0 52 0 0 2 6 34 132 1 5 16 0 1 9 0 52 0 0 2 6 34 118 1 5 16 0 1 10 0 52 0 0 2 6 34 104 1 5 16 0 1 11 0 52 0 0 2 6 34 90 1 5 16 0 1 12 0 52 0 0 2 6 34 76 1 5 16 0 1 13 0 52 0 0 2 6 34 62 1 5 16 0 1 14 0 52 0 0 2 6 34 48 1 5 16 0 1 15 0 52 0 0 2 6 34 34 1 5 16 0 1 16 0 52 0 0 2 6 34 20 1 5 16 0 1 17 0 52 0 0 2 6 34 6 1 5 16 0 1 18 0 52 0 0 2 6 34 248 0 5 16 0 1 19 0 52 0 0 2 6 34 234 0 5 16 0 1 20 0 52 0 0 2 6 34 220 0 5 16 0 1 21 0 52 0 0 2 6 34 206 0 5 16 0 1 22 0 52 0 0 2 6 34 192 0 5 16 0 1 23 0 52 0 0 2 6 34 178 0 5 16 0 1 24 0 52 0 0 2 6 34 164 0 5 16 0 1 25 0 52 0 0 2 6 34 150 0 5 16 0 1 26 0 52 0 0 2 6 34 136 0 5 16 0 1 27 0 52 0 0 2 6 34 122 0 5 16 0 1 28 0 52 0 0 2 6 34 108 0 5 16 0 1 29 0 52 0 0 2 6 34 94 0 5 16 0 1 30 0 52 0 0 2 6 34 80 0 5 16 0 1 31 0 52 0 0 2 6 34 66 0 5 16 0 1 32 0 52 0 0 2 6 34 52 0 5 16 0 1 33 0 52 0 0 2 6 34 38 0 5 16 0 1 34 0 52 0 0 2 6 34 24 0 5 16 0 1 35 0 52 0 0 2 6 34 10 0 5 16 0 1 36 0 52 0 0 2 50)} {:upvalue-count 7 :arity 1 :constants ("nil?" "append" "list" "then" "not" "=" "keyword") :bytecode (18 0 48 0 17 1 16 1 52 0 0 1 33 5 0 16 0 32 84 0 16 0 16 1 52 2 0 1 52 1 0 2 17 2 18 1 1 3 0 48 1 33 9 0 18 2 16 2 49 1 32 51 0 18 3 48 0 52 4 0 1 6 33 25 0 5 18 4 48 0 1 6 0 52 5 0 2 6 33 9 0 5 18 5 18 6 48 0 48 1 33 9 0 18 2 16 2 49 1 32 2 0 16 2 50)} "list" "=" "len" 0 1 "first" "cons" do) :bytecode (51 0 0 17 0 5 51 1 0 0 0 0 1 1 1 0 2 0 3 1 0 0 4 17 1 5 16 1 52 2 0 0 48 1 17 2 16 2 52 4 0 1 1 5 0 52 3 0 2 33 4 0 2 32 34 0 16 2 52 4 0 1 1 6 0 52 3 0 2 33 9 0 16 2 52 7 0 1 32 9 0 1 9 0 16 2 52 8 0 2 50)} {:upvalue-count 6 :arity 0 :constants ("every" "=" "bracket-open" "bracket-close" "from" "catch" "list" "finally" "end" on "append" "filter") :bytecode (18 0 1 0 0 48 1 17 0 18 1 48 0 17 1 18 2 48 0 5 16 1 17 1 18 3 48 0 1 2 0 52 1 0 2 33 39 0 18 2 48 0 5 18 4 48 0 17 2 18 3 48 0 1 3 0 52 1 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 2 32 1 0 2 17 2 18 0 1 4 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 3 18 5 48 0 17 4 18 0 1 5 0 48 1 33 32 0 18 1 48 0 17 5 18 2 48 0 5 16 5 17 5 18 5 48 0 17 6 16 5 16 6 52 6 0 2 32 1 0 2 17 5 18 0 1 7 0 48 1 33 7 0 18 5 48 0 32 1 0 2 17 6 18 0 1 8 0 48 1 5 1 9 0 16 1 52 6 0 2 17 7 16 0 33 17 0 16 7 1 0 0 3 52 6 0 2 52 10 0 2 32 2 0 16 7 17 8 16 2 33 18 0 16 8 1 11 0 16 2 52 6 0 2 52 10 0 2 32 2 0 16 8 17 9 16 3 33 18 0 16 9 1 4 0 16 3 52 6 0 2 52 10 0 2 32 2 0 16 9 17 10 16 5 33 18 0 16 10 1 5 0 16 5 52 6 0 2 52 10 0 2 32 2 0 16 10 17 11 16 6 33 18 0 16 11 1 7 0 16 6 52 6 0 2 52 10 0 2 32 2 0 16 11 17 12 16 12 16 4 52 6 0 1 52 10 0 2 17 13 16 13 50)} {:upvalue-count 2 :arity 0 :constants ("end" "list" init) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 1 2 0 16 0 52 1 0 2 50)} {:upvalue-count 7 :arity 0 :constants ("=" "on" "init" "def" "behavior") :bytecode (18 0 48 0 17 0 16 0 1 1 0 52 0 0 2 33 12 0 18 1 48 0 5 18 2 49 0 32 76 0 16 0 1 2 0 52 0 0 2 33 12 0 18 1 48 0 5 18 3 49 0 32 52 0 16 0 1 3 0 52 0 0 2 33 12 0 18 1 48 0 5 18 4 49 0 32 28 0 16 0 1 4 0 52 0 0 2 33 12 0 18 1 48 0 5 18 5 49 0 32 4 0 18 6 49 0 50)} {:upvalue-count 3 :arity 1 :constants ("nil?" "append" "list") :bytecode (18 0 48 0 33 5 0 16 0 32 36 0 18 1 48 0 17 1 16 1 52 0 0 1 33 5 0 16 0 32 16 0 18 2 16 0 16 1 52 2 0 1 52 1 0 2 49 1 50)} "list" "=" 1 "first" "cons" do) :bytecode (1 0 0 17 2 16 0 52 1 0 1 17 3 51 2 0 1 2 1 3 1 0 17 4 5 51 3 0 1 4 17 5 5 51 4 0 1 4 17 6 5 51 5 0 1 0 1 2 17 7 5 51 6 0 1 2 1 3 1 5 17 8 5 51 7 0 1 5 1 6 1 7 17 9 5 51 8 0 1 9 1 2 17 10 5 51 9 0 17 11 5 51 10 0 1 5 1 6 1 7 1 13 17 12 5 51 11 0 1 5 1 8 1 6 1 7 1 13 1 41 17 13 5 51 12 0 1 5 1 6 1 7 17 14 5 51 13 0 1 5 1 6 1 7 1 9 1 21 17 15 5 51 14 0 1 5 1 6 1 7 1 11 1 21 1 68 1 46 1 12 1 14 1 15 1 8 1 2 1 0 1 47 1 16 1 9 17 16 5 51 15 0 1 5 1 6 1 7 1 12 1 13 1 41 1 21 1 17 17 17 5 51 16 0 1 5 1 6 1 7 1 21 1 9 1 16 1 8 17 18 5 51 17 0 1 9 1 18 1 45 1 17 1 16 1 19 17 19 5 51 18 0 1 9 1 19 1 18 1 45 1 17 1 16 1 20 17 20 5 51 19 0 1 16 1 5 1 6 1 7 1 17 1 45 1 18 1 19 1 20 17 21 5 51 20 0 1 9 1 21 17 22 5 51 21 0 1 5 1 7 1 22 17 23 5 51 22 0 1 5 1 7 1 9 1 21 1 6 17 24 5 51 23 0 1 9 1 5 1 6 1 7 1 10 1 22 1 16 17 25 5 51 24 0 1 21 1 10 17 26 5 51 25 0 1 21 1 9 1 10 1 2 17 27 5 51 26 0 1 21 1 70 1 9 17 28 5 51 27 0 1 9 1 6 1 7 1 21 1 5 1 11 17 29 5 51 28 0 1 7 1 5 1 8 1 21 17 30 5 51 29 0 1 7 1 5 1 30 1 22 17 31 5 51 30 0 1 7 1 22 17 32 5 51 31 0 1 21 17 33 5 51 32 0 1 21 1 9 1 22 17 34 5 51 33 0 1 21 1 9 1 22 17 35 5 51 34 0 1 8 1 5 1 6 1 21 1 9 1 7 17 36 5 51 35 0 1 8 1 5 1 6 1 21 1 9 1 7 17 37 5 51 36 0 1 5 1 7 1 6 1 9 1 21 1 10 17 38 5 51 37 0 1 5 1 6 1 7 1 52 1 21 1 70 1 9 17 39 5 51 38 0 1 16 1 45 1 17 1 9 1 6 1 7 17 40 5 51 39 0 1 7 1 5 1 8 1 21 17 41 5 51 40 0 1 7 1 5 1 41 17 42 5 51 41 0 1 5 1 6 1 7 1 9 1 21 17 43 5 51 42 0 1 9 1 21 17 44 5 51 43 0 1 5 1 6 1 7 1 16 1 17 1 45 17 45 5 51 44 0 1 5 1 6 1 7 1 9 1 21 1 15 1 14 1 16 17 46 5 51 45 0 1 5 1 8 1 7 1 21 17 47 5 51 46 0 1 8 1 5 1 6 1 21 17 48 5 51 47 0 1 21 17 49 5 51 48 0 1 21 1 10 17 50 5 51 49 0 1 21 1 9 1 70 17 51 5 51 50 0 1 6 1 7 1 10 1 21 1 9 1 70 17 52 5 51 51 0 1 6 1 7 1 9 17 53 5 51 52 0 1 6 1 7 1 5 1 41 17 54 5 51 53 0 1 21 17 55 5 51 54 0 1 8 1 5 1 6 1 21 1 9 17 56 5 51 55 0 1 8 1 5 1 6 1 21 17 57 5 51 56 0 1 8 1 5 1 6 1 21 17 58 5 51 57 0 1 21 1 10 17 59 5 51 58 0 1 9 17 60 5 51 59 0 1 5 1 41 17 61 5 51 60 0 1 8 1 5 1 6 1 21 17 62 5 51 61 0 1 8 1 5 1 6 1 73 17 63 5 51 62 0 1 6 1 7 1 61 1 70 1 9 17 64 5 51 63 0 1 6 1 7 1 61 1 63 1 9 17 65 5 51 64 0 1 5 1 6 1 7 1 21 17 66 5 51 65 0 1 5 1 6 1 7 1 21 1 66 1 9 17 67 5 51 66 0 1 4 1 7 1 8 1 5 1 1 17 68 5 51 67 0 1 5 1 6 1 7 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 42 1 43 1 44 1 48 1 49 1 50 1 51 1 52 1 53 1 54 1 55 1 67 1 56 1 57 1 58 1 59 1 60 1 62 1 21 17 69 5 51 68 0 1 69 1 9 1 8 1 5 1 6 17 70 5 51 69 0 1 9 1 6 1 7 1 5 1 21 1 70 17 71 5 51 70 0 1 70 1 9 17 72 5 51 71 0 1 6 1 7 1 71 1 72 1 64 1 65 1 70 17 73 5 51 72 0 1 8 1 73 1 74 17 74 5 16 74 52 73 0 0 48 1 17 75 16 75 52 1 0 1 1 75 0 52 74 0 2 33 9 0 16 75 52 76 0 1 32 9 0 1 78 0 16 75 52 77 0 2 50)} "hs-compile" {:upvalue-count 0 :arity 1 :constants ("hs-parse" "hs-tokenize") :bytecode (20 0 0 20 1 0 16 0 48 1 16 0 49 2 50)}) :bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 50))) + :constants ("hs-parse" {:upvalue-count 0 :arity 2 :constants (0 "len" {:upvalue-count 3 :arity 0 :constants ("<" "nth") :bytecode (18 0 18 1 52 0 0 2 33 11 0 18 2 18 0 52 1 0 2 32 1 0 2 50)} {:upvalue-count 1 :arity 0 :constants ("get" "type" "eof") :bytecode (18 0 48 0 17 0 16 0 33 12 0 16 0 1 1 0 52 0 0 2 32 3 0 1 2 0 50)} {:upvalue-count 1 :arity 0 :constants ("get" "value") :bytecode (18 0 48 0 17 0 16 0 33 12 0 16 0 1 1 0 52 0 0 2 32 1 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("nth" "+" 1) :bytecode (18 0 18 1 52 0 0 2 17 0 18 1 1 2 0 52 1 0 2 19 1 5 16 0 50)} {:upvalue-count 3 :arity 0 :constants (">=" "=" "eof") :bytecode (18 0 18 1 52 0 0 2 6 34 12 0 5 18 2 48 0 1 2 0 52 1 0 2 50)} {:upvalue-count 3 :arity 1 :constants ("=" "keyword") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 11 0 5 18 1 48 0 16 0 52 0 0 2 33 9 0 18 2 48 0 5 3 32 1 0 2 50)} {:upvalue-count 2 :arity 1 :constants ("error" "str" "Expected '" "' at position ") :bytecode (18 0 16 0 48 1 33 4 0 3 32 18 0 1 2 0 16 0 1 3 0 18 1 52 1 0 4 52 0 0 1 50)} {:upvalue-count 0 :arity 1 :constants ("len" ">=" 3 "=" "substring" "-" 2 "ms" "parse-number" 0 "nth" 1 "s" "*" 1000) :bytecode (16 0 52 0 0 1 17 1 16 1 1 2 0 52 1 0 2 6 33 25 0 5 16 0 16 1 1 6 0 52 5 0 2 16 1 52 4 0 3 1 7 0 52 3 0 2 33 25 0 16 0 1 9 0 16 1 1 6 0 52 5 0 2 52 4 0 3 52 8 0 1 32 77 0 16 1 1 6 0 52 1 0 2 6 33 23 0 5 16 0 16 1 1 11 0 52 5 0 2 52 10 0 2 1 12 0 52 3 0 2 33 32 0 1 14 0 16 0 1 9 0 16 1 1 11 0 52 5 0 2 52 4 0 3 52 8 0 1 52 13 0 2 32 6 0 16 0 52 8 0 1 50)} {:upvalue-count 4 :arity 1 :constants ("=" "ident" "keyword" "list" . "attr" attr "class" "get" "value") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 6 34 10 0 5 16 1 1 2 0 52 0 0 2 33 23 0 18 2 48 0 5 18 3 1 4 0 16 0 16 2 52 3 0 3 49 1 32 76 0 16 1 1 5 0 52 0 0 2 33 19 0 18 2 48 0 5 1 6 0 16 2 16 0 52 3 0 3 32 45 0 16 1 1 7 0 52 0 0 2 33 31 0 18 2 48 0 1 9 0 52 8 0 2 17 3 18 3 1 4 0 16 0 16 3 52 3 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 6 :arity 1 :constants ("=" "class" "not" "list" "make-symbol" "." "paren-open" method-call) :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 9 0 5 18 1 48 0 52 2 0 1 33 33 0 18 2 48 0 17 1 18 3 48 0 5 18 4 1 5 0 52 4 0 1 16 0 16 1 52 3 0 3 49 1 32 40 0 18 0 48 0 1 6 0 52 0 0 2 33 24 0 18 5 48 0 17 1 18 4 1 7 0 16 0 16 1 52 3 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 3 :arity 1 :constants ("=" "selector" "list" me "class" "str" "." "id" "#" "*") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 33 23 0 18 2 48 0 5 16 0 16 2 1 3 0 52 2 0 1 52 2 0 3 32 100 0 16 1 1 4 0 52 0 0 2 33 30 0 18 2 48 0 5 16 0 1 6 0 16 2 52 5 0 2 1 3 0 52 2 0 1 52 2 0 3 32 58 0 16 1 1 7 0 52 0 0 2 33 30 0 18 2 48 0 5 16 0 1 8 0 16 2 52 5 0 2 1 3 0 52 2 0 1 52 2 0 3 32 16 0 16 0 1 9 0 1 3 0 52 2 0 1 52 2 0 3 50)} {:upvalue-count 5 :arity 1 :constants ("=" "selector" "class" "str" "." "id" "#" "*" "in" "list") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 33 10 0 18 2 48 0 5 16 2 32 61 0 16 1 1 2 0 52 0 0 2 33 17 0 18 2 48 0 5 1 4 0 16 2 52 3 0 2 32 32 0 16 1 1 5 0 52 0 0 2 33 17 0 18 2 48 0 5 1 6 0 16 2 52 3 0 2 32 3 0 1 7 0 17 3 18 3 1 8 0 48 1 33 15 0 16 0 16 3 18 4 48 0 52 9 0 3 32 8 0 16 0 16 3 52 9 0 2 50)} {:upvalue-count 16 :arity 0 :constants ("=" "number" "string" "template" "list" template "keyword" "true" "false" "null" "nil" null-literal "undefined" "beep" "op" "!" beep! "not" not "no" no "eval" "paren-open" sx-eval "the" "me" me "I" "it" "result" it "event" event "target" "make-symbol" "." "detail" "my" "its" "closest" closest "next" next "previous" previous "first" first "last" last "id" query "str" "#" "selector" "attr" attr "style" style "local" local "class" "ident" ref "paren-close" "brace-open" {:upvalue-count 6 :arity 1 :constants ("=" "brace-close" "string" "local" "true" "false" "null" "list" ref "colon" "comma" "cons") :bytecode (18 0 48 0 6 34 12 0 5 18 1 48 0 1 1 0 52 0 0 2 33 28 0 18 1 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 203 0 18 1 48 0 1 2 0 52 0 0 2 33 16 0 18 3 48 0 17 1 18 2 48 0 5 16 1 32 13 0 18 3 48 0 17 1 18 2 48 0 5 16 1 17 1 18 1 48 0 1 3 0 52 0 0 2 33 71 0 18 3 48 0 17 2 18 2 48 0 5 16 2 1 4 0 52 0 0 2 33 4 0 3 32 41 0 16 2 1 5 0 52 0 0 2 33 4 0 4 32 25 0 16 2 1 6 0 52 0 0 2 33 4 0 2 32 9 0 1 8 0 16 2 52 7 0 2 32 30 0 18 1 48 0 1 9 0 52 0 0 2 33 12 0 18 2 48 0 5 18 4 48 0 32 4 0 18 4 48 0 17 2 18 1 48 0 1 10 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 5 16 1 16 2 52 7 0 2 16 0 52 11 0 2 49 1 50)} object-literal "\\" {:upvalue-count 6 :arity 1 :constants ("=" "op" "-" "<" "+" 1 "len" "get" "nth" "value" ">" "ident" "comma" "append") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 2 0 52 0 0 2 33 76 0 18 2 1 5 0 52 4 0 2 18 3 52 6 0 1 52 3 0 2 6 33 30 0 5 18 3 18 2 1 5 0 52 4 0 2 52 8 0 2 1 9 0 52 7 0 2 1 10 0 52 0 0 2 33 15 0 18 4 48 0 5 18 4 48 0 5 16 0 32 2 0 16 0 32 65 0 18 0 48 0 1 11 0 52 0 0 2 33 49 0 18 1 48 0 17 1 18 4 48 0 5 18 0 48 0 1 12 0 52 0 0 2 33 7 0 18 4 48 0 32 1 0 2 5 18 5 16 0 16 1 52 13 0 2 49 1 32 2 0 16 0 50)} block-literal "bracket-open" "-" - 0 "component" component "some" ">" "len" "+" 1 "get" "nth" "value" "in" "with" some "every" every) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 16 0 1 1 0 52 0 0 2 33 14 0 18 2 48 0 5 18 3 16 1 49 1 32 66 7 16 0 1 2 0 52 0 0 2 33 10 0 18 2 48 0 5 16 1 32 44 7 16 0 1 3 0 52 0 0 2 33 17 0 18 2 48 0 5 1 5 0 16 1 52 4 0 2 32 15 7 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 7 0 52 0 0 2 33 9 0 18 2 48 0 5 3 32 236 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 8 0 52 0 0 2 33 9 0 18 2 48 0 5 4 32 201 6 16 0 1 6 0 52 0 0 2 6 33 24 0 5 16 1 1 9 0 52 0 0 2 6 34 10 0 5 16 1 1 10 0 52 0 0 2 33 15 0 18 2 48 0 5 1 11 0 52 4 0 1 32 146 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 12 0 52 0 0 2 33 15 0 18 2 48 0 5 1 11 0 52 4 0 1 32 105 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 13 0 52 0 0 2 33 58 0 18 2 48 0 5 18 0 48 0 1 14 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 15 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 1 16 0 18 4 48 0 52 4 0 2 32 21 6 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 17 0 52 0 0 2 33 19 0 18 2 48 0 5 1 18 0 18 4 48 0 52 4 0 2 32 232 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 19 0 52 0 0 2 33 19 0 18 2 48 0 5 1 20 0 18 4 48 0 52 4 0 2 32 187 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 21 0 52 0 0 2 33 47 0 18 2 48 0 5 18 0 48 0 1 22 0 52 0 0 2 33 14 0 1 23 0 18 5 48 0 52 4 0 2 32 11 0 1 23 0 18 4 48 0 52 4 0 2 32 114 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 24 0 52 0 0 2 33 12 0 18 2 48 0 5 18 6 49 0 32 76 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 25 0 52 0 0 2 33 15 0 18 2 48 0 5 1 26 0 52 4 0 1 32 35 5 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 27 0 52 0 0 2 33 15 0 18 2 48 0 5 1 26 0 52 4 0 1 32 250 4 16 0 1 6 0 52 0 0 2 6 33 24 0 5 16 1 1 28 0 52 0 0 2 6 34 10 0 5 16 1 1 29 0 52 0 0 2 33 15 0 18 2 48 0 5 1 30 0 52 4 0 1 32 195 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 31 0 52 0 0 2 33 15 0 18 2 48 0 5 1 32 0 52 4 0 1 32 154 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 33 0 52 0 0 2 33 29 0 18 2 48 0 5 1 35 0 52 34 0 1 1 32 0 52 4 0 1 1 33 0 52 4 0 3 32 99 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 36 0 52 0 0 2 33 29 0 18 2 48 0 5 1 35 0 52 34 0 1 1 32 0 52 4 0 1 1 36 0 52 4 0 3 32 44 4 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 37 0 52 0 0 2 33 19 0 18 2 48 0 5 18 7 1 26 0 52 4 0 1 49 1 32 255 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 38 0 52 0 0 2 33 19 0 18 2 48 0 5 18 7 1 30 0 52 4 0 1 49 1 32 210 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 39 0 52 0 0 2 33 15 0 18 2 48 0 5 18 8 1 40 0 49 1 32 169 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 41 0 52 0 0 2 33 15 0 18 2 48 0 5 18 8 1 42 0 49 1 32 128 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 43 0 52 0 0 2 33 15 0 18 2 48 0 5 18 8 1 44 0 49 1 32 87 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 45 0 52 0 0 2 33 15 0 18 2 48 0 5 18 9 1 46 0 49 1 32 46 3 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 47 0 52 0 0 2 33 15 0 18 2 48 0 5 18 9 1 48 0 49 1 32 5 3 16 0 1 49 0 52 0 0 2 33 24 0 18 2 48 0 5 1 50 0 1 52 0 16 1 52 51 0 2 52 4 0 2 32 225 2 16 0 1 53 0 52 0 0 2 33 17 0 18 2 48 0 5 1 50 0 16 1 52 4 0 2 32 196 2 16 0 1 54 0 52 0 0 2 33 24 0 18 2 48 0 5 1 55 0 16 1 1 26 0 52 4 0 1 52 4 0 3 32 160 2 16 0 1 56 0 52 0 0 2 33 24 0 18 2 48 0 5 1 57 0 16 1 1 26 0 52 4 0 1 52 4 0 3 32 124 2 16 0 1 58 0 52 0 0 2 33 17 0 18 2 48 0 5 1 59 0 16 1 52 4 0 2 32 95 2 16 0 1 60 0 52 0 0 2 33 24 0 18 2 48 0 5 1 50 0 1 35 0 16 1 52 51 0 2 52 4 0 2 32 59 2 16 0 1 61 0 52 0 0 2 33 17 0 18 2 48 0 5 1 62 0 16 1 52 4 0 2 32 30 2 16 0 1 22 0 52 0 0 2 33 39 0 18 2 48 0 5 18 4 48 0 17 2 18 0 48 0 1 63 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 2 32 235 1 16 0 1 64 0 52 0 0 2 33 41 0 18 2 48 0 5 51 65 0 0 10 0 0 0 2 0 1 0 4 1 2 17 2 5 1 66 0 16 2 52 4 0 0 48 1 52 4 0 2 32 182 1 16 0 1 14 0 52 0 0 2 6 33 10 0 5 16 1 1 67 0 52 0 0 2 33 49 0 18 2 48 0 5 51 68 0 0 0 0 1 0 11 0 12 0 2 1 3 17 3 5 16 3 52 4 0 0 48 1 17 4 1 69 0 16 4 18 4 48 0 52 4 0 3 32 107 1 16 0 1 70 0 52 0 0 2 33 12 0 18 2 48 0 5 18 13 49 0 32 83 1 16 0 1 14 0 52 0 0 2 6 33 10 0 5 16 1 1 71 0 52 0 0 2 33 26 0 18 2 48 0 5 18 14 48 0 17 4 1 72 0 1 73 0 16 4 52 4 0 3 32 31 1 16 0 1 74 0 52 0 0 2 33 17 0 18 2 48 0 5 1 75 0 16 1 52 4 0 2 32 2 1 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 76 0 52 0 0 2 33 149 0 18 2 48 0 5 18 0 48 0 1 61 0 52 0 0 2 6 33 54 0 5 18 12 52 78 0 1 18 11 1 80 0 52 79 0 2 52 77 0 2 6 33 30 0 5 18 12 18 11 1 80 0 52 79 0 2 52 82 0 2 1 83 0 52 81 0 2 1 84 0 52 0 0 2 33 51 0 18 1 48 0 17 4 18 2 48 0 5 18 15 1 84 0 48 1 5 18 4 48 0 17 5 18 15 1 85 0 48 1 5 1 86 0 16 4 16 5 18 4 48 0 52 4 0 4 32 18 0 1 18 0 1 20 0 18 4 48 0 52 4 0 2 52 4 0 2 32 83 0 16 0 1 6 0 52 0 0 2 6 33 10 0 5 16 1 1 87 0 52 0 0 2 33 56 0 18 2 48 0 5 18 1 48 0 17 4 18 2 48 0 5 18 15 1 84 0 48 1 5 18 4 48 0 17 5 18 15 1 85 0 48 1 5 1 88 0 16 4 16 5 18 4 48 0 52 4 0 4 32 1 0 2 50)} {:upvalue-count 8 :arity 1 :constants ("=" "op" "'s" "class" "paren-open" "list" call "bracket-open" ".." "bracket-close" array-slice array-index) :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 2 0 52 0 0 2 33 14 0 18 2 48 0 5 18 3 16 0 49 1 32 74 1 18 0 48 0 1 3 0 52 0 0 2 33 9 0 18 4 16 0 49 1 32 51 1 18 0 48 0 1 4 0 52 0 0 2 33 20 0 18 5 48 0 17 1 1 6 0 16 0 16 1 52 5 0 3 32 17 1 18 0 48 0 1 7 0 52 0 0 2 33 1 1 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 8 0 52 0 0 2 33 53 0 18 2 48 0 5 18 6 48 0 17 1 18 0 48 0 1 9 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 7 1 10 0 16 0 2 16 1 52 5 0 4 49 1 32 166 0 18 6 48 0 17 1 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 8 0 52 0 0 2 33 92 0 18 2 48 0 5 18 0 48 0 1 9 0 52 0 0 2 33 24 0 18 2 48 0 5 18 7 1 10 0 16 0 16 1 2 52 5 0 4 49 1 32 46 0 18 6 48 0 17 2 18 0 48 0 1 9 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 7 1 10 0 16 0 16 1 16 2 52 5 0 4 49 1 32 38 0 18 0 48 0 1 9 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 7 1 11 0 16 0 16 1 52 5 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 7 :arity 1 :constants ("=" "op" "==" "!=" "<" ">" "<=" ">=" "===" "!==" "list" = strict-eq not "keyword" "is" "not" "empty" empty? "in" not-in? "between" "and" and >= <= "really" "equal" "to" "a" "an" "!" type-check-strict type-check "less" "than" "or" < "greater" > in? "ident" "hs-keyword?" prop-is "am" "exists" exists? "starts" "with" starts-with? "ends" ends-with? "matches" matches? "contains" contains? "as" "colon" as "str" ":" "of" "list?" "first" ref "make-symbol" "." "nth" 1 of "does" "exist" "match" "contain" "include" "includes" "equals" "precedes" precedes? "follows" follows?) :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 6 33 108 0 5 16 2 1 2 0 52 0 0 2 6 34 94 0 5 16 2 1 3 0 52 0 0 2 6 34 80 0 5 16 2 1 4 0 52 0 0 2 6 34 66 0 5 16 2 1 5 0 52 0 0 2 6 34 52 0 5 16 2 1 6 0 52 0 0 2 6 34 38 0 5 16 2 1 7 0 52 0 0 2 6 34 24 0 5 16 2 1 8 0 52 0 0 2 6 34 10 0 5 16 2 1 9 0 52 0 0 2 33 109 0 18 2 48 0 5 18 3 48 0 17 3 16 2 1 2 0 52 0 0 2 33 14 0 1 11 0 16 0 16 3 52 10 0 3 32 69 0 16 2 1 8 0 52 0 0 2 33 14 0 1 12 0 16 0 16 3 52 10 0 3 32 43 0 16 2 1 9 0 52 0 0 2 33 21 0 1 13 0 1 12 0 16 0 16 3 52 10 0 3 52 10 0 2 32 10 0 16 2 16 0 16 3 52 10 0 3 32 13 9 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 15 0 52 0 0 2 33 173 3 18 2 48 0 5 18 4 1 16 0 48 1 33 127 1 18 4 1 17 0 48 1 33 19 0 1 13 0 1 18 0 16 0 52 10 0 2 52 10 0 2 32 95 1 18 4 1 19 0 48 1 33 16 0 1 20 0 16 0 18 3 48 0 52 10 0 3 32 69 1 18 4 1 21 0 48 1 33 59 0 18 5 48 0 17 3 18 4 1 22 0 48 1 5 18 5 48 0 17 4 1 13 0 1 23 0 1 24 0 16 0 16 3 52 10 0 3 1 25 0 16 0 16 4 52 10 0 3 52 10 0 3 52 10 0 2 32 0 1 18 4 1 26 0 48 1 33 39 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 13 0 1 12 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 207 0 18 4 1 27 0 48 1 33 31 0 18 4 1 28 0 48 1 5 1 13 0 1 11 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 166 0 18 1 48 0 1 29 0 52 0 0 2 6 34 12 0 5 18 1 48 0 1 30 0 52 0 0 2 6 33 7 0 5 18 2 48 0 5 3 33 101 0 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 31 0 52 0 0 2 17 4 16 4 33 7 0 18 2 48 0 32 1 0 2 5 16 4 33 21 0 1 13 0 1 32 0 16 0 16 3 52 10 0 3 52 10 0 2 32 18 0 1 13 0 1 33 0 16 0 16 3 52 10 0 3 52 10 0 2 32 24 0 18 3 48 0 17 3 1 13 0 1 11 0 16 0 16 3 52 10 0 3 52 10 0 2 32 28 2 18 4 1 17 0 48 1 33 12 0 1 18 0 16 0 52 10 0 2 32 6 2 18 4 1 34 0 48 1 33 66 0 18 4 1 35 0 48 1 5 18 4 1 36 0 48 1 33 32 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 25 0 16 0 18 3 48 0 52 10 0 3 32 13 0 1 37 0 16 0 18 3 48 0 52 10 0 3 32 186 1 18 4 1 38 0 48 1 33 66 0 18 4 1 35 0 48 1 5 18 4 1 36 0 48 1 33 32 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 24 0 16 0 18 3 48 0 52 10 0 3 32 13 0 1 39 0 16 0 18 3 48 0 52 10 0 3 32 110 1 18 4 1 21 0 48 1 33 52 0 18 5 48 0 17 3 18 4 1 22 0 48 1 5 18 5 48 0 17 4 1 23 0 1 24 0 16 0 16 3 52 10 0 3 1 25 0 16 0 16 4 52 10 0 3 52 10 0 3 32 48 1 18 4 1 19 0 48 1 33 16 0 1 40 0 16 0 18 3 48 0 52 10 0 3 32 22 1 18 4 1 26 0 48 1 33 32 0 18 4 1 27 0 48 1 5 18 4 1 28 0 48 1 5 1 12 0 16 0 18 3 48 0 52 10 0 3 32 236 0 18 4 1 27 0 48 1 33 24 0 18 4 1 28 0 48 1 5 1 11 0 16 0 18 3 48 0 52 10 0 3 32 202 0 18 1 48 0 1 29 0 52 0 0 2 6 34 12 0 5 18 1 48 0 1 30 0 52 0 0 2 6 33 7 0 5 18 2 48 0 5 3 33 87 0 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 31 0 52 0 0 2 17 4 16 4 33 7 0 18 2 48 0 32 1 0 2 5 16 4 33 14 0 1 32 0 16 0 16 3 52 10 0 3 32 11 0 1 33 0 16 0 16 3 52 10 0 3 32 74 0 18 0 48 0 1 41 0 52 0 0 2 6 33 14 0 5 20 42 0 18 1 48 0 48 1 52 16 0 1 33 25 0 18 1 48 0 17 3 18 2 48 0 5 1 43 0 16 0 16 3 52 10 0 3 32 17 0 18 3 48 0 17 3 1 11 0 16 0 16 3 52 10 0 3 32 70 5 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 44 0 52 0 0 2 33 165 0 18 2 48 0 5 18 4 1 16 0 48 1 33 82 0 18 4 1 19 0 48 1 33 16 0 1 20 0 16 0 18 3 48 0 52 10 0 3 32 53 0 18 4 1 17 0 48 1 33 19 0 1 13 0 1 18 0 16 0 52 10 0 2 52 10 0 2 32 24 0 18 3 48 0 17 3 1 13 0 1 11 0 16 0 16 3 52 10 0 3 52 10 0 2 32 65 0 18 4 1 19 0 48 1 33 16 0 1 40 0 16 0 18 3 48 0 52 10 0 3 32 39 0 18 4 1 17 0 48 1 33 12 0 1 18 0 16 0 52 10 0 2 32 17 0 18 3 48 0 17 3 1 11 0 16 0 16 3 52 10 0 3 32 135 4 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 45 0 52 0 0 2 33 17 0 18 2 48 0 5 1 46 0 16 0 52 10 0 2 32 92 4 16 1 1 14 0 52 0 0 2 6 34 10 0 5 16 1 1 41 0 52 0 0 2 6 33 10 0 5 16 2 1 47 0 52 0 0 2 33 29 0 18 2 48 0 5 18 4 1 48 0 48 1 5 1 49 0 16 0 18 3 48 0 52 10 0 3 32 23 4 16 1 1 14 0 52 0 0 2 6 34 10 0 5 16 1 1 41 0 52 0 0 2 6 33 10 0 5 16 2 1 50 0 52 0 0 2 33 29 0 18 2 48 0 5 18 4 1 48 0 48 1 5 1 51 0 16 0 18 3 48 0 52 10 0 3 32 210 3 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 52 0 52 0 0 2 33 21 0 18 2 48 0 5 1 53 0 16 0 18 3 48 0 52 10 0 3 32 163 3 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 54 0 52 0 0 2 33 21 0 18 2 48 0 5 1 55 0 16 0 18 3 48 0 52 10 0 3 32 116 3 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 56 0 52 0 0 2 33 135 0 18 2 48 0 5 18 1 48 0 1 29 0 52 0 0 2 6 34 12 0 5 18 1 48 0 1 30 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 57 0 52 0 0 2 6 33 9 0 5 18 6 48 0 52 16 0 1 33 39 0 18 2 48 0 5 18 1 48 0 17 4 18 2 48 0 5 1 58 0 16 0 16 3 1 60 0 16 4 52 59 0 3 52 10 0 3 32 11 0 1 58 0 16 0 16 3 52 10 0 3 32 211 2 16 1 1 57 0 52 0 0 2 33 92 0 18 2 48 0 5 18 1 48 0 17 3 18 2 48 0 5 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 31 0 52 0 0 2 17 4 16 4 33 7 0 18 2 48 0 32 1 0 2 5 16 4 33 14 0 1 32 0 16 0 16 3 52 10 0 3 32 11 0 1 33 0 16 0 16 3 52 10 0 3 32 107 2 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 61 0 52 0 0 2 33 77 0 18 2 48 0 5 18 3 48 0 17 3 16 0 52 62 0 1 6 33 14 0 5 16 0 52 63 0 1 1 64 0 52 0 0 2 33 25 0 1 66 0 52 65 0 1 16 3 16 0 1 68 0 52 67 0 2 52 10 0 3 32 11 0 1 69 0 16 0 16 3 52 10 0 3 32 4 2 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 19 0 52 0 0 2 33 21 0 18 2 48 0 5 1 40 0 16 0 18 3 48 0 52 10 0 3 32 213 1 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 70 0 52 0 0 2 33 170 0 18 2 48 0 5 18 4 1 16 0 48 1 5 18 4 1 71 0 48 1 33 19 0 1 13 0 1 46 0 16 0 52 10 0 2 52 10 0 2 32 125 0 18 4 1 72 0 48 1 33 23 0 1 13 0 1 53 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 92 0 18 4 1 73 0 48 1 6 34 8 0 5 18 4 1 54 0 48 1 33 23 0 1 13 0 1 55 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 47 0 18 4 1 74 0 48 1 6 34 8 0 5 18 4 1 75 0 48 1 33 23 0 1 13 0 1 55 0 16 0 18 3 48 0 52 10 0 3 52 10 0 2 32 2 0 16 0 32 17 1 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 76 0 52 0 0 2 33 21 0 18 2 48 0 5 1 11 0 16 0 18 3 48 0 52 10 0 3 32 226 0 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 26 0 52 0 0 2 33 29 0 18 2 48 0 5 18 4 1 76 0 48 1 5 1 12 0 16 0 18 3 48 0 52 10 0 3 32 171 0 16 1 1 14 0 52 0 0 2 6 33 38 0 5 16 2 1 73 0 52 0 0 2 6 34 24 0 5 16 2 1 74 0 52 0 0 2 6 34 10 0 5 16 2 1 75 0 52 0 0 2 33 21 0 18 2 48 0 5 1 55 0 16 0 18 3 48 0 52 10 0 3 32 96 0 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 77 0 52 0 0 2 33 21 0 18 2 48 0 5 1 78 0 16 0 18 5 48 0 52 10 0 3 32 49 0 16 1 1 14 0 52 0 0 2 6 33 10 0 5 16 2 1 79 0 52 0 0 2 33 21 0 18 2 48 0 5 1 80 0 16 0 18 5 48 0 52 10 0 3 32 2 0 16 0 50)} {:upvalue-count 6 :arity 1 :constants ("where" "list" coll-where "sorted" "by" "descending" "not" "ascending" coll-sorted-desc coll-sorted "mapped" "to" coll-mapped "split" coll-split "joined" coll-joined) :bytecode (18 0 1 0 0 48 1 33 36 0 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 2 0 16 0 16 1 52 1 0 3 49 1 32 11 1 18 0 1 3 0 48 1 33 93 0 18 0 1 4 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 0 1 5 0 48 1 17 2 16 2 52 6 0 1 33 10 0 18 0 1 7 0 48 1 32 1 0 2 5 18 5 16 2 33 14 0 1 8 0 16 0 16 1 52 1 0 3 32 11 0 1 9 0 16 0 16 1 52 1 0 3 49 1 32 164 0 18 0 1 10 0 48 1 33 44 0 18 0 1 11 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 12 0 16 0 16 1 52 1 0 3 49 1 32 110 0 18 0 1 13 0 48 1 33 44 0 18 0 1 4 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 14 0 16 0 16 1 52 1 0 3 49 1 32 56 0 18 0 1 15 0 48 1 33 44 0 18 0 1 4 0 48 1 5 18 1 18 2 18 3 18 4 48 0 48 1 48 1 48 1 17 1 18 5 1 16 0 16 0 16 1 52 1 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 7 :arity 1 :constants ("and" "list" and "or" or) :bytecode (18 0 1 0 0 48 1 33 40 0 18 1 18 2 18 3 18 4 18 5 48 0 48 1 48 1 48 1 48 1 17 1 18 6 1 2 0 16 0 16 1 52 1 0 3 49 1 32 52 0 18 0 1 3 0 48 1 33 40 0 18 1 18 2 18 3 18 4 18 5 48 0 48 1 48 1 48 1 48 1 17 1 18 6 1 4 0 16 0 16 1 52 1 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 9 :arity 0 :constants ("nil?" "number?" "=" "ident" "list" string-postfix "not" "then" "end" "else" "otherwise" "op" "%") :bytecode (18 0 48 0 17 0 16 0 52 0 0 1 33 4 0 2 32 242 0 16 0 52 1 0 1 6 33 12 0 5 18 1 48 0 1 3 0 52 2 0 2 33 27 0 18 2 48 0 17 1 18 3 48 0 5 1 5 0 16 0 16 1 52 4 0 3 17 0 32 1 0 2 5 18 4 16 0 48 1 17 1 18 5 16 1 48 1 17 2 18 6 16 2 48 1 17 3 18 7 16 3 48 1 17 4 18 8 16 4 48 1 17 5 16 5 6 33 112 0 5 18 1 48 0 1 3 0 52 2 0 2 6 33 64 0 5 18 2 48 0 1 7 0 52 2 0 2 6 34 44 0 5 18 2 48 0 1 8 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 9 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 10 0 52 2 0 2 52 6 0 1 6 34 28 0 5 18 1 48 0 1 11 0 52 2 0 2 6 33 12 0 5 18 2 48 0 1 12 0 52 2 0 2 33 25 0 18 2 48 0 17 6 18 3 48 0 5 1 5 0 16 5 16 6 52 4 0 3 32 2 0 16 5 50)} {:upvalue-count 2 :arity 2 :constants () :bytecode (18 0 16 0 48 1 33 7 0 18 1 49 0 32 2 0 16 1 50)} {:upvalue-count 3 :arity 0 :constants ("=" "class" "get" "value" "list" {:upvalue-count 4 :arity 0 :constants ("=" "class" "append" "list" "get" "value") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 31 0 18 1 18 2 48 0 1 5 0 52 4 0 2 52 3 0 1 52 2 0 2 19 1 5 18 3 49 0 32 1 0 2 50)} "to" me "empty?" add-class "cons" multi-add-class) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 101 0 18 1 48 0 1 3 0 52 2 0 2 17 0 52 4 0 0 17 1 51 5 0 0 0 1 1 0 1 1 2 17 2 5 16 2 48 0 5 18 2 1 6 0 1 7 0 52 4 0 1 48 2 17 3 16 1 52 8 0 1 33 14 0 1 9 0 16 0 16 3 52 4 0 3 32 21 0 1 11 0 16 3 16 0 16 1 52 10 0 2 52 10 0 2 52 10 0 2 32 1 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("=" "class" "get" "value" "list" {:upvalue-count 4 :arity 0 :constants ("=" "class" "append" "list" "get" "value") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 31 0 18 1 18 2 48 0 1 5 0 52 4 0 2 52 3 0 1 52 2 0 2 19 1 5 18 3 49 0 32 1 0 2 50)} "from" "empty?" remove-class "cons" multi-remove-class "bracket-open" "[" "attr" "]" remove-attr "{" {:upvalue-count 4 :arity 0 :constants ("not" "=" "}" ";" "append" "list" "get" "value") :bytecode (18 0 48 0 1 2 0 52 1 0 2 52 0 0 1 33 76 0 18 0 48 0 1 3 0 52 1 0 2 33 7 0 18 1 48 0 32 1 0 2 5 18 0 48 0 1 2 0 52 1 0 2 52 0 0 1 33 31 0 18 2 18 1 48 0 1 7 0 52 6 0 2 52 5 0 1 52 4 0 2 19 2 5 18 3 49 0 32 1 0 2 32 1 0 2 50)} "}" remove-css remove-element) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 105 0 18 1 48 0 1 3 0 52 2 0 2 17 0 52 4 0 0 17 1 51 5 0 0 0 1 1 0 1 1 2 17 2 5 16 2 48 0 5 18 2 1 6 0 48 1 33 7 0 18 3 48 0 32 1 0 2 17 3 16 1 52 7 0 1 33 14 0 1 8 0 16 0 16 3 52 4 0 3 32 21 0 1 10 0 16 3 16 0 16 1 52 9 0 2 52 9 0 2 52 9 0 2 32 209 0 18 0 48 0 1 11 0 52 0 0 2 6 33 12 0 5 18 4 48 0 1 12 0 52 0 0 2 33 78 0 18 1 48 0 5 18 0 48 0 1 13 0 52 0 0 2 33 55 0 18 1 48 0 1 3 0 52 2 0 2 17 0 18 2 1 14 0 48 1 5 18 2 1 6 0 48 1 33 7 0 18 3 48 0 32 1 0 2 17 1 1 15 0 16 0 16 1 52 4 0 3 32 1 0 2 32 101 0 18 4 48 0 1 16 0 52 0 0 2 33 72 0 18 1 48 0 5 52 4 0 0 17 0 51 17 0 0 4 0 1 1 0 1 1 17 1 5 16 1 48 0 5 18 2 1 18 0 48 1 5 18 2 1 6 0 48 1 33 7 0 18 3 48 0 32 1 0 2 17 2 1 19 0 16 0 16 2 52 4 0 3 32 15 0 18 3 48 0 17 0 1 20 0 16 0 52 4 0 2 50)} {:upvalue-count 7 :arity 0 :constants ("between" "=" "class" "and" "on" "list" me toggle-between toggle-class "style" toggle-style-between toggle-style "attr" toggle-attr-between toggle-attr) :bytecode (18 0 1 0 0 48 1 33 106 0 18 1 48 0 1 2 0 52 1 0 2 33 88 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 4 1 3 0 48 1 5 18 1 48 0 1 2 0 52 1 0 2 33 47 0 18 2 48 0 17 1 18 3 48 0 5 16 1 17 1 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 2 1 7 0 16 0 16 1 16 2 52 5 0 4 32 1 0 2 32 1 0 2 32 50 1 18 1 48 0 1 2 0 52 1 0 2 33 45 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 1 1 8 0 16 0 16 1 52 5 0 3 32 247 0 18 1 48 0 1 9 0 52 1 0 2 33 109 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 0 1 0 0 48 1 33 54 0 18 6 48 0 17 1 18 4 1 3 0 48 1 5 18 6 48 0 17 2 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 3 1 10 0 16 0 16 1 16 2 16 3 52 5 0 5 32 27 0 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 1 1 11 0 16 0 16 1 52 5 0 3 32 124 0 18 1 48 0 1 12 0 52 1 0 2 33 109 0 18 2 48 0 17 0 18 3 48 0 5 16 0 17 0 18 0 1 0 0 48 1 33 54 0 18 6 48 0 17 1 18 4 1 3 0 48 1 5 18 6 48 0 17 2 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 3 1 13 0 16 0 16 1 16 2 16 3 52 5 0 5 32 27 0 18 5 1 4 0 1 6 0 52 5 0 1 48 2 17 1 1 14 0 16 0 16 1 52 5 0 3 32 1 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" set!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 0 48 0 17 1 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 4 :arity 0 :constants ("into" "list" set! "before" put! "after" "at" "start" "of" "end" "error" "str" "Expected start/end after at, position " "Expected into/before/after/at at position ") :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 33 16 0 1 2 0 18 0 48 0 16 0 52 1 0 3 32 171 0 18 1 1 3 0 48 1 33 19 0 1 4 0 16 0 1 3 0 18 0 48 0 52 1 0 4 32 142 0 18 1 1 5 0 48 1 33 19 0 1 4 0 16 0 1 5 0 18 0 48 0 52 1 0 4 32 113 0 18 1 1 6 0 48 1 33 90 0 18 1 1 7 0 48 1 33 27 0 18 2 1 8 0 48 1 5 1 4 0 16 0 1 7 0 18 0 48 0 52 1 0 4 32 50 0 18 1 1 9 0 48 1 33 27 0 18 2 1 8 0 48 1 5 1 4 0 16 0 1 9 0 18 0 48 0 52 1 0 4 32 13 0 1 12 0 18 3 52 11 0 2 52 10 0 1 32 13 0 1 13 0 18 3 52 11 0 2 52 10 0 1 50)} {:upvalue-count 3 :arity 0 :constants ("else" "otherwise" "end" "list" if) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 18 2 1 0 0 48 1 6 34 8 0 5 18 2 1 1 0 48 1 33 7 0 18 1 48 0 32 1 0 2 17 2 18 2 1 2 0 48 1 5 16 2 33 16 0 1 4 0 16 0 16 1 16 2 52 3 0 4 32 11 0 1 4 0 16 0 16 1 52 3 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("for" "from" "list" wait-for "=" "number" wait "get" "value" 0) :bytecode (18 0 1 0 0 48 1 33 65 0 18 1 48 0 17 0 18 2 48 0 5 18 0 1 1 0 48 1 33 7 0 18 3 48 0 32 1 0 2 17 1 16 1 33 17 0 1 3 0 16 0 1 1 0 16 1 52 2 0 4 32 9 0 1 3 0 16 0 52 2 0 2 32 53 0 18 4 48 0 1 5 0 52 4 0 2 33 29 0 18 2 48 0 17 0 1 6 0 18 5 16 0 1 8 0 52 7 0 2 48 1 52 2 0 2 32 10 0 1 6 0 1 9 0 52 2 0 2 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "paren-close" "get" "value" "colon" "comma" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 34 5 0 5 18 1 48 0 33 28 0 18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 83 0 18 2 48 0 1 3 0 52 2 0 2 17 1 18 0 48 0 1 4 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 3 48 0 17 2 18 0 48 0 1 5 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 4 16 0 16 1 16 2 52 7 0 2 52 6 0 2 49 1 50)} "cons" dict "list") :bytecode (18 0 48 0 5 51 0 0 0 1 0 2 0 0 0 3 1 0 17 0 5 1 2 0 16 0 52 3 0 0 48 1 52 1 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("get" "value" "=" "paren-open" "to" "list" me send) :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 48 0 1 3 0 52 2 0 2 33 7 0 18 2 48 0 32 1 0 2 17 1 18 3 1 4 0 1 6 0 52 5 0 1 48 2 17 2 16 1 33 16 0 1 7 0 16 0 16 1 16 2 52 5 0 4 32 11 0 1 7 0 16 0 16 2 52 5 0 3 50)} {:upvalue-count 2 :arity 0 :constants ("get" "value" "on" "list" me trigger) :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 1 2 0 1 4 0 52 3 0 1 48 2 17 1 1 5 0 16 0 16 1 52 3 0 3 50)} {:upvalue-count 1 :arity 0 :constants ("list" log) :bytecode (1 1 0 18 0 48 0 52 0 0 2 50)} {:upvalue-count 3 :arity 0 :constants ("by" 1 "on" "list" me increment!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 33 7 0 18 0 48 0 32 3 0 1 1 0 17 1 18 2 1 2 0 1 4 0 52 3 0 1 48 2 17 2 1 5 0 16 0 16 1 16 2 52 3 0 4 50)} {:upvalue-count 3 :arity 0 :constants ("by" 1 "on" "list" me decrement!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 33 7 0 18 0 48 0 32 3 0 1 1 0 17 1 18 2 1 2 0 1 4 0 52 3 0 1 48 2 17 2 1 5 0 16 0 16 1 16 2 52 3 0 4 50)} {:upvalue-count 6 :arity 0 :constants ("list" me "=" "keyword" "then" "end" "with" "add" "remove" "set" "put" "toggle" "hide" "show" "display" hide) :bytecode (18 0 48 0 33 10 0 1 1 0 52 0 0 1 32 188 0 18 1 48 0 1 3 0 52 2 0 2 6 33 156 0 5 18 2 48 0 1 4 0 52 2 0 2 6 34 140 0 5 18 2 48 0 1 5 0 52 2 0 2 6 34 124 0 5 18 2 48 0 1 6 0 52 2 0 2 6 34 108 0 5 18 2 48 0 1 7 0 52 2 0 2 6 34 92 0 5 18 2 48 0 1 8 0 52 2 0 2 6 34 76 0 5 18 2 48 0 1 9 0 52 2 0 2 6 34 60 0 5 18 2 48 0 1 10 0 52 2 0 2 6 34 44 0 5 18 2 48 0 1 11 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 12 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 13 0 52 2 0 2 33 10 0 1 1 0 52 0 0 1 32 4 0 18 3 48 0 17 0 18 4 1 6 0 48 1 33 29 0 18 0 48 0 33 6 0 1 14 0 32 13 0 18 2 48 0 17 1 18 5 48 0 5 16 1 32 3 0 1 14 0 17 1 1 15 0 16 0 16 1 52 0 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("list" me "=" "keyword" "then" "end" "with" "add" "remove" "set" "put" "toggle" "hide" "show" "display" show) :bytecode (18 0 48 0 33 10 0 1 1 0 52 0 0 1 32 188 0 18 1 48 0 1 3 0 52 2 0 2 6 33 156 0 5 18 2 48 0 1 4 0 52 2 0 2 6 34 140 0 5 18 2 48 0 1 5 0 52 2 0 2 6 34 124 0 5 18 2 48 0 1 6 0 52 2 0 2 6 34 108 0 5 18 2 48 0 1 7 0 52 2 0 2 6 34 92 0 5 18 2 48 0 1 8 0 52 2 0 2 6 34 76 0 5 18 2 48 0 1 9 0 52 2 0 2 6 34 60 0 5 18 2 48 0 1 10 0 52 2 0 2 6 34 44 0 5 18 2 48 0 1 11 0 52 2 0 2 6 34 28 0 5 18 2 48 0 1 12 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 13 0 52 2 0 2 33 10 0 1 1 0 52 0 0 1 32 4 0 18 3 48 0 17 0 18 4 1 6 0 48 1 33 29 0 18 0 48 0 33 6 0 1 14 0 32 13 0 18 2 48 0 17 1 18 5 48 0 5 16 1 32 3 0 1 14 0 17 1 1 15 0 16 0 16 1 52 0 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("=" "style" "get" "value" "my" "from" "to" "over" "list" transition-from transition) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 14 0 18 1 48 0 1 3 0 52 2 0 2 32 72 0 18 2 48 0 1 4 0 52 0 0 2 33 47 0 18 1 48 0 5 18 0 48 0 1 1 0 52 0 0 2 33 14 0 18 1 48 0 1 3 0 52 2 0 2 32 11 0 18 1 48 0 1 3 0 52 2 0 2 32 11 0 18 1 48 0 1 3 0 52 2 0 2 17 0 18 3 1 5 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 1 18 5 1 6 0 48 1 5 18 4 48 0 17 2 18 3 1 7 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 3 16 1 33 18 0 1 9 0 16 0 16 1 16 2 16 3 52 8 0 5 32 34 0 16 3 33 17 0 1 10 0 16 0 16 2 16 3 2 52 8 0 5 32 12 0 1 10 0 16 0 16 2 2 52 8 0 4 50)} {:upvalue-count 7 :arity 0 :constants ("=" "keyword" "for" "in" "end" "list" for "it" "forever" forever "while" while "until" until "times" times repeat) :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 2 0 52 0 0 2 33 12 0 18 2 48 0 5 18 3 49 0 32 203 0 18 0 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 1 48 0 1 3 0 52 0 0 2 33 43 0 18 2 48 0 5 18 4 48 0 17 0 18 5 48 0 17 1 18 6 1 4 0 48 1 5 1 6 0 1 7 0 16 0 2 16 1 52 5 0 5 32 130 0 18 6 1 8 0 48 1 33 10 0 1 9 0 52 5 0 1 32 83 0 18 6 1 10 0 48 1 33 14 0 1 11 0 18 4 48 0 52 5 0 2 32 59 0 18 6 1 12 0 48 1 33 14 0 1 13 0 18 4 48 0 52 5 0 2 32 35 0 18 4 48 0 17 0 18 6 1 14 0 48 1 33 12 0 1 15 0 16 0 52 5 0 2 32 7 0 1 9 0 52 5 0 1 17 0 18 5 48 0 17 1 18 6 1 4 0 48 1 5 1 16 0 16 0 16 1 52 5 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("nil?" "as" "json" "list" fetch) :bytecode (18 0 48 0 17 0 16 0 52 0 0 1 33 5 0 16 0 32 10 0 18 1 18 2 16 0 48 1 48 1 17 1 18 3 1 1 0 48 1 33 16 0 18 4 48 0 17 2 18 5 48 0 5 16 2 32 3 0 1 2 0 17 2 1 4 0 16 1 16 2 52 3 0 3 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "paren-close" "comma" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 34 5 0 5 18 1 48 0 33 28 0 18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 45 0 18 3 48 0 17 1 18 0 48 0 1 2 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 4 16 0 16 1 52 4 0 1 52 3 0 2 49 1 50)} "list") :bytecode (18 0 48 0 5 51 0 0 0 1 0 2 0 0 0 3 1 0 17 0 5 16 0 52 1 0 0 49 1 50)} {:upvalue-count 3 :arity 0 :constants ("get" "value" "=" "paren-open" "cons" call "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 48 0 1 3 0 52 2 0 2 33 24 0 18 2 48 0 17 1 1 5 0 16 0 16 1 52 4 0 2 52 4 0 2 32 9 0 1 5 0 16 0 52 6 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("=" "class" "from" "for" "list" take! "attr") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 74 0 18 1 48 0 17 0 18 2 48 0 5 16 0 17 0 18 3 1 2 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 1 18 3 1 3 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 2 1 5 0 1 1 0 16 0 16 1 16 2 52 4 0 5 32 89 0 18 0 48 0 1 6 0 52 0 0 2 33 74 0 18 1 48 0 17 0 18 2 48 0 5 16 0 17 0 18 3 1 2 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 1 18 3 1 3 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 2 1 5 0 1 6 0 16 0 16 1 16 2 52 4 0 5 32 1 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" go) :bytecode (18 0 1 0 0 48 1 5 1 2 0 18 1 48 0 52 1 0 2 50)} {:upvalue-count 6 :arity 1 :constants ("=" "op" "+" "-" "*" "/" "%" "keyword" "mod" + - * / "make-symbol" "nil?" "list") :bytecode (18 0 48 0 17 1 18 1 48 0 17 2 16 1 1 1 0 52 0 0 2 6 33 66 0 5 16 2 1 2 0 52 0 0 2 6 34 52 0 5 16 2 1 3 0 52 0 0 2 6 34 38 0 5 16 2 1 4 0 52 0 0 2 6 34 24 0 5 16 2 1 5 0 52 0 0 2 6 34 10 0 5 16 2 1 6 0 52 0 0 2 6 34 24 0 5 16 1 1 7 0 52 0 0 2 6 33 10 0 5 16 2 1 8 0 52 0 0 2 33 161 0 18 2 48 0 5 16 2 1 2 0 52 0 0 2 33 6 0 1 9 0 32 91 0 16 2 1 3 0 52 0 0 2 33 6 0 1 10 0 32 73 0 16 2 1 4 0 52 0 0 2 33 6 0 1 11 0 32 55 0 16 2 1 5 0 52 0 0 2 33 6 0 1 12 0 32 37 0 16 2 1 6 0 52 0 0 2 6 34 10 0 5 16 2 1 8 0 52 0 0 2 33 10 0 1 6 0 52 13 0 1 32 1 0 2 17 3 18 3 48 0 17 4 16 4 52 14 0 1 33 5 0 16 4 32 6 0 18 4 16 4 48 1 17 4 18 5 16 3 16 0 16 4 52 15 0 3 49 1 32 2 0 16 0 50)} {:upvalue-count 8 :arity 0 :constants ("=" "ident" "keyword" "of" "list" "make-symbol" "." "result" it "first" first "last" last "closest" closest "next" next "previous" previous ref) :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 16 0 1 1 0 52 0 0 2 6 34 10 0 5 16 0 1 2 0 52 0 0 2 33 179 0 18 2 48 0 5 18 3 1 3 0 48 1 33 20 0 1 6 0 52 5 0 1 18 4 48 0 16 1 52 4 0 3 32 141 0 16 1 1 7 0 52 0 0 2 33 10 0 1 8 0 52 4 0 1 32 119 0 16 1 1 9 0 52 0 0 2 33 10 0 18 5 1 10 0 49 1 32 97 0 16 1 1 11 0 52 0 0 2 33 10 0 18 5 1 12 0 49 1 32 75 0 16 1 1 13 0 52 0 0 2 33 10 0 18 6 1 14 0 49 1 32 53 0 16 1 1 15 0 52 0 0 2 33 10 0 18 6 1 16 0 49 1 32 31 0 16 1 1 17 0 52 0 0 2 33 10 0 18 6 1 18 0 49 1 32 9 0 1 19 0 16 1 52 4 0 2 32 4 0 18 7 49 0 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "bracket-close" "comma" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 6 34 5 0 5 18 1 48 0 33 28 0 18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 45 0 18 3 48 0 17 1 18 0 48 0 1 2 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 18 4 16 0 16 1 52 4 0 1 52 3 0 2 49 1 50)} "cons" array "list") :bytecode (51 0 0 0 0 0 1 0 2 0 3 1 0 17 0 5 1 2 0 16 0 52 3 0 0 48 1 52 1 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("=" "keyword" "end" "then" "else" "list" return) :bytecode (18 0 48 0 6 34 60 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 44 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 28 0 5 18 2 48 0 1 3 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 4 0 52 0 0 2 33 11 0 1 6 0 2 52 5 0 2 32 11 0 1 6 0 18 3 48 0 52 5 0 2 50)} {:upvalue-count 1 :arity 0 :constants ("list" throw) :bytecode (1 1 0 18 0 48 0 52 0 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" append!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 0 48 0 17 1 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 3 :arity 0 :constants ("then" "end" "list" tell) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 2 48 0 17 1 18 1 1 1 0 48 1 5 1 3 0 16 0 16 1 52 2 0 3 50)} {:upvalue-count 6 :arity 0 :constants ("in" "index" "end" "list" for) :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 1 0 0 48 1 5 18 3 48 0 17 1 18 4 1 1 0 48 1 33 16 0 18 0 48 0 17 2 18 1 48 0 5 16 2 32 1 0 2 17 2 18 5 48 0 17 3 18 4 1 2 0 48 1 5 16 2 33 21 0 1 4 0 16 0 16 1 16 3 1 1 0 16 2 52 3 0 6 32 13 0 1 4 0 16 0 16 1 16 3 52 3 0 4 50)} {:upvalue-count 3 :arity 0 :constants ("=" "a" "called" "list" make) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 1 48 0 32 1 0 2 5 18 0 48 0 17 0 18 1 48 0 5 18 2 1 2 0 48 1 33 16 0 18 0 48 0 17 1 18 1 48 0 5 16 1 32 1 0 2 17 1 16 1 33 14 0 1 4 0 16 0 16 1 52 3 0 3 32 9 0 1 4 0 16 0 52 3 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("=" "paren-open" "cons" install "list") :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 48 0 1 1 0 52 0 0 2 33 24 0 18 3 48 0 17 1 1 3 0 16 0 16 1 52 2 0 2 52 2 0 2 32 9 0 1 3 0 16 0 52 4 0 2 50)} {:upvalue-count 1 :arity 0 :constants ("list" measure "nil?" me) :bytecode (18 0 48 0 17 0 1 1 0 16 0 52 2 0 1 33 10 0 1 3 0 52 0 0 1 32 2 0 16 0 52 0 0 2 50)} {:upvalue-count 5 :arity 0 :constants ("=" "keyword" "then" "end" "list" me "top" "bottom" "left" "right" scroll!) :bytecode (18 0 48 0 6 34 44 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 28 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 3 0 52 0 0 2 33 10 0 1 5 0 52 4 0 1 32 4 0 18 3 48 0 17 0 18 4 1 6 0 48 1 33 6 0 1 6 0 32 51 0 18 4 1 7 0 48 1 33 6 0 1 7 0 32 35 0 18 4 1 8 0 48 1 33 6 0 1 8 0 32 19 0 18 4 1 9 0 48 1 33 6 0 1 9 0 32 3 0 1 6 0 17 1 1 10 0 16 0 16 1 52 4 0 3 50)} {:upvalue-count 4 :arity 0 :constants ("=" "keyword" "then" "end" "list" me select!) :bytecode (18 0 48 0 6 34 44 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 28 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 3 0 52 0 0 2 33 10 0 1 5 0 52 4 0 1 32 4 0 18 3 48 0 17 0 1 6 0 16 0 52 4 0 2 50)} {:upvalue-count 4 :arity 0 :constants ("=" "keyword" "then" "end" "list" me reset!) :bytecode (18 0 48 0 6 34 44 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 28 0 5 18 2 48 0 1 2 0 52 0 0 2 6 34 12 0 5 18 2 48 0 1 3 0 52 0 0 2 33 10 0 1 5 0 52 4 0 1 32 4 0 18 3 48 0 17 0 1 6 0 16 0 52 4 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("to" "list" default!) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 18 0 48 0 17 1 1 2 0 16 0 16 1 52 1 0 3 50)} {:upvalue-count 1 :arity 0 :constants ("the" "event" "default" "list" halt!) :bytecode (18 0 1 0 0 48 1 6 33 20 0 5 18 0 1 1 0 48 1 6 34 8 0 5 18 0 1 2 0 48 1 17 0 1 4 0 16 0 33 6 0 1 1 0 32 3 0 1 2 0 52 3 0 2 50)} {:upvalue-count 2 :arity 0 :constants ("=" "paren-open" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 7 0 18 1 49 0 32 4 0 52 2 0 0 50)} {:upvalue-count 4 :arity 0 :constants ("list" me "=" "keyword" "then" "end" focus!) :bytecode (18 0 48 0 33 10 0 1 1 0 52 0 0 1 32 60 0 18 1 48 0 1 3 0 52 2 0 2 6 33 28 0 5 18 2 48 0 1 4 0 52 2 0 2 6 34 12 0 5 18 2 48 0 1 5 0 52 2 0 2 33 10 0 1 1 0 52 0 0 1 32 4 0 18 3 48 0 17 0 1 6 0 16 0 52 0 0 2 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "keyword" "end" "nil?" "append" "list") :bytecode (18 0 48 0 6 34 28 0 5 18 1 48 0 1 1 0 52 0 0 2 6 33 12 0 5 18 2 48 0 1 2 0 52 0 0 2 33 5 0 16 0 32 36 0 18 3 48 0 17 1 16 1 52 3 0 1 33 5 0 16 0 32 16 0 18 4 16 0 16 1 52 5 0 1 52 4 0 2 49 1 50)} "list") :bytecode (51 0 0 0 0 0 1 0 2 0 3 1 0 17 0 5 16 0 52 1 0 0 49 1 50)} {:upvalue-count 5 :arity 0 :constants ("end" "list" def) :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 48 0 17 1 18 3 48 0 17 2 18 4 1 0 0 48 1 5 1 2 0 16 0 16 1 16 2 52 1 0 4 50)} {:upvalue-count 5 :arity 0 :constants ("end" "list" behavior) :bytecode (18 0 48 0 17 0 18 1 48 0 5 18 2 48 0 17 1 18 3 48 0 17 2 18 4 1 0 0 48 1 5 1 2 0 16 0 16 1 16 2 52 1 0 4 50)} {:upvalue-count 4 :arity 1 :constants ({:upvalue-count 5 :arity 1 :constants ("=" "local" "append" "list") :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 38 0 18 1 48 0 17 1 18 2 48 0 5 18 3 48 0 17 2 18 4 16 0 16 1 16 2 52 3 0 2 52 2 0 2 49 1 32 2 0 16 0 50)} "list") :bytecode (51 0 0 0 0 0 1 0 2 0 3 1 0 17 0 5 16 0 52 1 0 0 49 1 50)} {:upvalue-count 6 :arity 0 :constants ("=" "component" "paren-open" "paren-close" "into" "before" "after" "list" render) :bytecode (18 0 48 0 1 1 0 52 0 0 2 33 16 0 18 1 48 0 17 0 18 2 48 0 5 16 0 32 66 0 18 0 48 0 1 2 0 52 0 0 2 33 39 0 18 2 48 0 5 18 3 48 0 17 0 18 0 48 0 1 3 0 52 0 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 0 32 13 0 18 1 48 0 17 0 18 2 48 0 5 16 0 17 0 18 4 48 0 17 1 18 5 1 4 0 48 1 33 6 0 1 4 0 32 33 0 18 5 1 5 0 48 1 33 6 0 1 5 0 32 17 0 18 5 1 6 0 48 1 33 6 0 1 6 0 32 1 0 2 17 2 16 2 33 7 0 18 3 48 0 32 1 0 2 17 3 16 2 33 18 0 1 8 0 16 0 16 1 16 2 16 3 52 7 0 5 32 11 0 1 8 0 16 0 16 1 52 7 0 3 50)} {:upvalue-count 5 :arity 0 :constants ("get" "pos" {:upvalue-count 6 :arity 1 :constants ("=" "paren-open" "+" 1 "paren-close" 0 "get" "pos" "-") :bytecode (18 0 48 0 33 5 0 18 1 32 123 0 18 2 48 0 1 1 0 52 0 0 2 33 21 0 18 3 48 0 5 18 4 16 0 1 3 0 52 2 0 2 49 1 32 88 0 18 2 48 0 1 4 0 52 0 0 2 33 63 0 16 0 1 5 0 52 0 0 2 33 30 0 18 5 48 0 1 7 0 52 6 0 2 1 3 0 52 2 0 2 17 1 18 3 48 0 5 16 1 32 18 0 18 3 48 0 5 18 4 16 0 1 3 0 52 8 0 2 49 1 32 11 0 18 3 48 0 5 18 4 16 0 49 1 50)} 0 "substring") :bytecode (18 0 48 0 1 1 0 52 0 0 2 17 0 18 1 48 0 5 51 2 0 0 2 1 0 0 3 0 1 1 1 0 0 17 1 5 16 1 1 3 0 48 1 17 2 18 4 16 0 16 2 52 4 0 3 50)} {:upvalue-count 39 :arity 0 :constants ("=" "keyword" "catch" "finally" "end" "else" "otherwise" "add" "remove" "toggle" "set" "put" "if" "wait" "send" "trigger" "log" "increment" "decrement" "hide" "show" "transition" "repeat" "fetch" "call" "take" "settle" "list" settle "go" "return" "throw" "append" "tell" "for" "make" "install" "measure" "render" "scroll" "select" "reset" "default" "halt" "focus") :bytecode (18 0 48 0 17 0 18 1 48 0 17 1 16 0 1 1 0 52 0 0 2 6 33 66 0 5 16 1 1 2 0 52 0 0 2 6 34 52 0 5 16 1 1 3 0 52 0 0 2 6 34 38 0 5 16 1 1 4 0 52 0 0 2 6 34 24 0 5 16 1 1 5 0 52 0 0 2 6 34 10 0 5 16 1 1 6 0 52 0 0 2 33 4 0 2 32 95 5 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 7 0 52 0 0 2 33 12 0 18 2 48 0 5 18 3 49 0 32 57 5 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 8 0 52 0 0 2 33 12 0 18 2 48 0 5 18 4 49 0 32 19 5 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 9 0 52 0 0 2 33 12 0 18 2 48 0 5 18 5 49 0 32 237 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 10 0 52 0 0 2 33 12 0 18 2 48 0 5 18 6 49 0 32 199 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 11 0 52 0 0 2 33 12 0 18 2 48 0 5 18 7 49 0 32 161 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 12 0 52 0 0 2 33 12 0 18 2 48 0 5 18 8 49 0 32 123 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 13 0 52 0 0 2 33 12 0 18 2 48 0 5 18 9 49 0 32 85 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 14 0 52 0 0 2 33 12 0 18 2 48 0 5 18 10 49 0 32 47 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 15 0 52 0 0 2 33 12 0 18 2 48 0 5 18 11 49 0 32 9 4 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 16 0 52 0 0 2 33 12 0 18 2 48 0 5 18 12 49 0 32 227 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 17 0 52 0 0 2 33 12 0 18 2 48 0 5 18 13 49 0 32 189 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 18 0 52 0 0 2 33 12 0 18 2 48 0 5 18 14 49 0 32 151 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 19 0 52 0 0 2 33 12 0 18 2 48 0 5 18 15 49 0 32 113 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 20 0 52 0 0 2 33 12 0 18 2 48 0 5 18 16 49 0 32 75 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 21 0 52 0 0 2 33 12 0 18 2 48 0 5 18 17 49 0 32 37 3 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 22 0 52 0 0 2 33 12 0 18 2 48 0 5 18 18 49 0 32 255 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 23 0 52 0 0 2 33 12 0 18 2 48 0 5 18 19 49 0 32 217 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 24 0 52 0 0 2 33 12 0 18 2 48 0 5 18 20 49 0 32 179 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 25 0 52 0 0 2 33 12 0 18 2 48 0 5 18 21 49 0 32 141 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 26 0 52 0 0 2 33 15 0 18 2 48 0 5 1 28 0 52 27 0 1 32 100 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 29 0 52 0 0 2 33 12 0 18 2 48 0 5 18 22 49 0 32 62 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 30 0 52 0 0 2 33 12 0 18 2 48 0 5 18 23 49 0 32 24 2 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 31 0 52 0 0 2 33 12 0 18 2 48 0 5 18 24 49 0 32 242 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 32 0 52 0 0 2 33 12 0 18 2 48 0 5 18 25 49 0 32 204 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 33 0 52 0 0 2 33 12 0 18 2 48 0 5 18 26 49 0 32 166 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 34 0 52 0 0 2 33 12 0 18 2 48 0 5 18 27 49 0 32 128 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 35 0 52 0 0 2 33 12 0 18 2 48 0 5 18 28 49 0 32 90 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 36 0 52 0 0 2 33 12 0 18 2 48 0 5 18 29 49 0 32 52 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 37 0 52 0 0 2 33 12 0 18 2 48 0 5 18 30 49 0 32 14 1 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 38 0 52 0 0 2 33 12 0 18 2 48 0 5 18 31 49 0 32 232 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 39 0 52 0 0 2 33 12 0 18 2 48 0 5 18 32 49 0 32 194 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 40 0 52 0 0 2 33 12 0 18 2 48 0 5 18 33 49 0 32 156 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 41 0 52 0 0 2 33 12 0 18 2 48 0 5 18 34 49 0 32 118 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 42 0 52 0 0 2 33 12 0 18 2 48 0 5 18 35 49 0 32 80 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 43 0 52 0 0 2 33 12 0 18 2 48 0 5 18 36 49 0 32 42 0 16 0 1 1 0 52 0 0 2 6 33 10 0 5 16 1 1 44 0 52 0 0 2 33 12 0 18 2 48 0 5 18 37 49 0 32 4 0 18 38 49 0 50)} {:upvalue-count 5 :arity 2 :constants ({:upvalue-count 0 :arity 1 :constants ("=" "add" "remove" "toggle" "set" "put" "if" "wait" "send" "trigger" "log" "increment" "decrement" "hide" "show" "transition" "repeat" "fetch" "call" "take" "settle" "go" "return" "throw" "append" "tell" "for" "make" "install" "measure" "render" "halt" "default" "scroll" "select" "reset" "focus") :bytecode (16 0 1 1 0 52 0 0 2 6 34 230 1 5 16 0 1 2 0 52 0 0 2 6 34 216 1 5 16 0 1 3 0 52 0 0 2 6 34 202 1 5 16 0 1 4 0 52 0 0 2 6 34 188 1 5 16 0 1 5 0 52 0 0 2 6 34 174 1 5 16 0 1 6 0 52 0 0 2 6 34 160 1 5 16 0 1 7 0 52 0 0 2 6 34 146 1 5 16 0 1 8 0 52 0 0 2 6 34 132 1 5 16 0 1 9 0 52 0 0 2 6 34 118 1 5 16 0 1 10 0 52 0 0 2 6 34 104 1 5 16 0 1 11 0 52 0 0 2 6 34 90 1 5 16 0 1 12 0 52 0 0 2 6 34 76 1 5 16 0 1 13 0 52 0 0 2 6 34 62 1 5 16 0 1 14 0 52 0 0 2 6 34 48 1 5 16 0 1 15 0 52 0 0 2 6 34 34 1 5 16 0 1 16 0 52 0 0 2 6 34 20 1 5 16 0 1 17 0 52 0 0 2 6 34 6 1 5 16 0 1 18 0 52 0 0 2 6 34 248 0 5 16 0 1 19 0 52 0 0 2 6 34 234 0 5 16 0 1 20 0 52 0 0 2 6 34 220 0 5 16 0 1 21 0 52 0 0 2 6 34 206 0 5 16 0 1 22 0 52 0 0 2 6 34 192 0 5 16 0 1 23 0 52 0 0 2 6 34 178 0 5 16 0 1 24 0 52 0 0 2 6 34 164 0 5 16 0 1 25 0 52 0 0 2 6 34 150 0 5 16 0 1 26 0 52 0 0 2 6 34 136 0 5 16 0 1 27 0 52 0 0 2 6 34 122 0 5 16 0 1 28 0 52 0 0 2 6 34 108 0 5 16 0 1 29 0 52 0 0 2 6 34 94 0 5 16 0 1 30 0 52 0 0 2 6 34 80 0 5 16 0 1 31 0 52 0 0 2 6 34 66 0 5 16 0 1 32 0 52 0 0 2 6 34 52 0 5 16 0 1 33 0 52 0 0 2 6 34 38 0 5 16 0 1 34 0 52 0 0 2 6 34 24 0 5 16 0 1 35 0 52 0 0 2 6 34 10 0 5 16 0 1 36 0 52 0 0 2 50)} {:upvalue-count 7 :arity 1 :constants ("then" "nil?" "append" "list" "not" "=" "keyword") :bytecode (18 0 1 0 0 48 1 5 18 1 48 0 17 1 16 1 52 1 0 1 33 5 0 16 0 32 84 0 16 0 16 1 52 3 0 1 52 2 0 2 17 2 18 0 1 0 0 48 1 33 9 0 18 2 16 2 49 1 32 51 0 18 3 48 0 52 4 0 1 6 33 25 0 5 18 4 48 0 1 6 0 52 5 0 2 6 33 9 0 5 18 5 18 6 48 0 48 1 33 9 0 18 2 16 2 49 1 32 2 0 16 2 50)} "list" "=" "len" 0 1 "first" "cons" do) :bytecode (51 0 0 17 0 5 51 1 0 0 0 0 1 1 1 0 2 0 3 1 0 0 4 17 1 5 16 1 52 2 0 0 48 1 17 2 16 2 52 4 0 1 1 5 0 52 3 0 2 33 4 0 2 32 34 0 16 2 52 4 0 1 1 6 0 52 3 0 2 33 9 0 16 2 52 7 0 1 32 9 0 1 9 0 16 2 52 8 0 2 50)} {:upvalue-count 6 :arity 0 :constants ("every" "=" "bracket-open" "bracket-close" "from" "catch" "list" "finally" "end" on "append" "filter") :bytecode (18 0 1 0 0 48 1 17 0 18 1 48 0 17 1 18 2 48 0 5 16 1 17 1 18 3 48 0 1 2 0 52 1 0 2 33 39 0 18 2 48 0 5 18 4 48 0 17 2 18 3 48 0 1 3 0 52 1 0 2 33 7 0 18 2 48 0 32 1 0 2 5 16 2 32 1 0 2 17 2 18 0 1 4 0 48 1 33 7 0 18 4 48 0 32 1 0 2 17 3 18 5 48 0 17 4 18 0 1 5 0 48 1 33 32 0 18 1 48 0 17 5 18 2 48 0 5 16 5 17 5 18 5 48 0 17 6 16 5 16 6 52 6 0 2 32 1 0 2 17 5 18 0 1 7 0 48 1 33 7 0 18 5 48 0 32 1 0 2 17 6 18 0 1 8 0 48 1 5 1 9 0 16 1 52 6 0 2 17 7 16 0 33 17 0 16 7 1 0 0 3 52 6 0 2 52 10 0 2 32 2 0 16 7 17 8 16 2 33 18 0 16 8 1 11 0 16 2 52 6 0 2 52 10 0 2 32 2 0 16 8 17 9 16 3 33 18 0 16 9 1 4 0 16 3 52 6 0 2 52 10 0 2 32 2 0 16 9 17 10 16 5 33 18 0 16 10 1 5 0 16 5 52 6 0 2 52 10 0 2 32 2 0 16 10 17 11 16 6 33 18 0 16 11 1 7 0 16 6 52 6 0 2 52 10 0 2 32 2 0 16 11 17 12 16 12 16 4 52 6 0 1 52 10 0 2 17 13 16 13 50)} {:upvalue-count 2 :arity 0 :constants ("end" "list" init) :bytecode (18 0 48 0 17 0 18 1 1 0 0 48 1 5 1 2 0 16 0 52 1 0 2 50)} {:upvalue-count 7 :arity 0 :constants ("=" "on" "init" "def" "behavior") :bytecode (18 0 48 0 17 0 16 0 1 1 0 52 0 0 2 33 12 0 18 1 48 0 5 18 2 49 0 32 76 0 16 0 1 2 0 52 0 0 2 33 12 0 18 1 48 0 5 18 3 49 0 32 52 0 16 0 1 3 0 52 0 0 2 33 12 0 18 1 48 0 5 18 4 49 0 32 28 0 16 0 1 4 0 52 0 0 2 33 12 0 18 1 48 0 5 18 5 49 0 32 4 0 18 6 49 0 50)} {:upvalue-count 3 :arity 1 :constants ("nil?" "append" "list") :bytecode (18 0 48 0 33 5 0 16 0 32 36 0 18 1 48 0 17 1 16 1 52 0 0 1 33 5 0 16 0 32 16 0 18 2 16 0 16 1 52 2 0 1 52 1 0 2 49 1 50)} "list" "=" 1 "first" "cons" do) :bytecode (1 0 0 17 2 16 0 52 1 0 1 17 3 51 2 0 1 2 1 3 1 0 17 4 5 51 3 0 1 4 17 5 5 51 4 0 1 4 17 6 5 51 5 0 1 0 1 2 17 7 5 51 6 0 1 2 1 3 1 5 17 8 5 51 7 0 1 5 1 6 1 7 17 9 5 51 8 0 1 9 1 2 17 10 5 51 9 0 17 11 5 51 10 0 1 5 1 6 1 7 1 13 17 12 5 51 11 0 1 5 1 8 1 6 1 7 1 13 1 41 17 13 5 51 12 0 1 5 1 6 1 7 17 14 5 51 13 0 1 5 1 6 1 7 1 9 1 21 17 15 5 51 14 0 1 5 1 6 1 7 1 11 1 21 1 68 1 46 1 12 1 14 1 15 1 8 1 2 1 0 1 47 1 16 1 9 17 16 5 51 15 0 1 5 1 6 1 7 1 12 1 13 1 41 1 21 1 17 17 17 5 51 16 0 1 5 1 6 1 7 1 21 1 9 1 16 1 8 17 18 5 51 17 0 1 9 1 18 1 45 1 17 1 16 1 19 17 19 5 51 18 0 1 9 1 19 1 18 1 45 1 17 1 16 1 20 17 20 5 51 19 0 1 16 1 5 1 6 1 7 1 17 1 45 1 18 1 19 1 20 17 21 5 51 20 0 1 9 1 21 17 22 5 51 21 0 1 5 1 7 1 22 17 23 5 51 22 0 1 5 1 7 1 9 1 21 1 6 17 24 5 51 23 0 1 9 1 5 1 6 1 7 1 10 1 22 1 16 17 25 5 51 24 0 1 21 1 10 17 26 5 51 25 0 1 21 1 9 1 10 1 2 17 27 5 51 26 0 1 21 1 70 1 9 17 28 5 51 27 0 1 9 1 6 1 7 1 21 1 5 1 11 17 29 5 51 28 0 1 7 1 5 1 8 1 21 17 30 5 51 29 0 1 7 1 5 1 30 1 22 17 31 5 51 30 0 1 7 1 22 17 32 5 51 31 0 1 21 17 33 5 51 32 0 1 21 1 9 1 22 17 34 5 51 33 0 1 21 1 9 1 22 17 35 5 51 34 0 1 8 1 5 1 6 1 21 1 9 1 7 17 36 5 51 35 0 1 8 1 5 1 6 1 21 1 9 1 7 17 37 5 51 36 0 1 5 1 7 1 6 1 9 1 21 1 10 17 38 5 51 37 0 1 5 1 6 1 7 1 52 1 21 1 70 1 9 17 39 5 51 38 0 1 16 1 45 1 17 1 9 1 6 1 7 17 40 5 51 39 0 1 7 1 5 1 8 1 21 17 41 5 51 40 0 1 7 1 5 1 41 17 42 5 51 41 0 1 5 1 6 1 7 1 9 1 21 17 43 5 51 42 0 1 9 1 21 17 44 5 51 43 0 1 5 1 6 1 7 1 16 1 17 1 45 17 45 5 51 44 0 1 5 1 6 1 7 1 9 1 21 1 15 1 14 1 16 17 46 5 51 45 0 1 5 1 8 1 7 1 21 17 47 5 51 46 0 1 8 1 5 1 6 1 21 17 48 5 51 47 0 1 21 17 49 5 51 48 0 1 21 1 10 17 50 5 51 49 0 1 21 1 9 1 70 17 51 5 51 50 0 1 6 1 7 1 10 1 21 1 9 1 70 17 52 5 51 51 0 1 6 1 7 1 9 17 53 5 51 52 0 1 6 1 7 1 5 1 41 17 54 5 51 53 0 1 21 17 55 5 51 54 0 1 8 1 5 1 6 1 21 1 9 17 56 5 51 55 0 1 8 1 5 1 6 1 21 17 57 5 51 56 0 1 8 1 5 1 6 1 21 17 58 5 51 57 0 1 21 1 10 17 59 5 51 58 0 1 9 17 60 5 51 59 0 1 5 1 41 17 61 5 51 60 0 1 8 1 5 1 6 1 21 17 62 5 51 61 0 1 8 1 5 1 6 1 73 17 63 5 51 62 0 1 6 1 7 1 61 1 70 1 9 17 64 5 51 63 0 1 6 1 7 1 61 1 63 1 9 17 65 5 51 64 0 1 5 1 6 1 7 1 21 17 66 5 51 65 0 1 5 1 6 1 7 1 21 1 66 1 9 17 67 5 51 66 0 1 4 1 7 1 8 1 5 1 1 17 68 5 51 67 0 1 5 1 6 1 7 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 42 1 43 1 44 1 48 1 49 1 50 1 51 1 52 1 53 1 54 1 55 1 67 1 56 1 57 1 58 1 59 1 60 1 62 1 21 17 69 5 51 68 0 1 9 1 69 1 8 1 5 1 6 17 70 5 51 69 0 1 9 1 6 1 7 1 5 1 21 1 70 17 71 5 51 70 0 1 70 1 9 17 72 5 51 71 0 1 6 1 7 1 71 1 72 1 64 1 65 1 70 17 73 5 51 72 0 1 8 1 73 1 74 17 74 5 16 74 52 73 0 0 48 1 17 75 16 75 52 1 0 1 1 75 0 52 74 0 2 33 9 0 16 75 52 76 0 1 32 9 0 1 78 0 16 75 52 77 0 2 50)} "hs-compile" {:upvalue-count 0 :arity 1 :constants ("hs-parse" "hs-tokenize") :bytecode (20 0 0 20 1 0 16 0 48 1 16 0 49 2 50)}) :bytecode (51 1 0 128 0 0 5 51 3 0 128 2 0 50))) diff --git a/shared/static/wasm/sx/text-layout.sx b/shared/static/wasm/sx/text-layout.sx index 6044f38f..06be2b74 100644 --- a/shared/static/wasm/sx/text-layout.sx +++ b/shared/static/wasm/sx/text-layout.sx @@ -34,6 +34,21 @@ typeset typeset-plain) (begin + (define + sublist + (fn + (lst start end) + (let + loop + ((i 0) (src lst) (acc (list))) + (cond + (>= i end) + (reverse acc) + (empty? src) + (reverse acc) + (>= i start) + (loop (+ i 1) (rest src) (cons (first src) acc)) + :else (loop (+ i 1) (rest src) acc))))) (define measure-text (fn @@ -188,8 +203,8 @@ (end (nth range 1)) (y (+ y0 (* line-idx line-height)))) (let - ((line-words (slice words start end)) - (line-widths (slice widths start end))) + ((line-words (sublist words start end)) + (line-widths (sublist widths start end))) (position-line line-words line-widths space-width x0 y)))) line-ranges))) (define @@ -221,10 +236,10 @@ (let ((start (first range)) (end (nth range 1))) (let - ((lw (slice words start end)) - (lwid (slice widths start end))) + ((lw (sublist words start end)) + (lwid (sublist widths start end))) (let - ((total-w (reduce + 0 lwid)) + ((total-w (let sum-loop ((k 0) (t 0)) (if (>= k (len lwid)) t (sum-loop (+ k 1) (+ t (nth lwid k)))))) (n-gaps (max 1 (- (len lw) 1))) (is-last (= line-idx (- n-lines 1)))) (let diff --git a/shared/static/wasm/sx/text-layout.sxbc b/shared/static/wasm/sx/text-layout.sxbc index fe25c70a..1cd68c38 100644 --- a/shared/static/wasm/sx/text-layout.sxbc +++ b/shared/static/wasm/sx/text-layout.sxbc @@ -1,3 +1,3 @@ -(sxbc 1 "b95b3d6761dd5cd8" +(sxbc 1 "715f229a1855c912" (code - :constants ("measure-text" {:upvalue-count 0 :arity 3 :constants ("list" text-measure) :bytecode (1 1 0 16 0 16 1 16 2 52 0 0 4 112 50)} "line-badness" {:upvalue-count 0 :arity 2 :constants ("-" "<" 0 100000 "/" "*" 1000) :bytecode (16 1 16 0 52 0 0 2 17 2 16 2 1 2 0 52 1 0 2 33 6 0 1 3 0 32 31 0 16 2 16 1 52 4 0 2 17 3 16 3 16 3 52 5 0 2 16 3 1 6 0 52 5 0 2 52 5 0 2 50)} "compute-demerits" {:upvalue-count 0 :arity 2 :constants ("+" 1 "*") :bytecode (1 1 0 16 0 52 0 0 2 17 2 16 2 16 2 52 2 0 2 16 1 16 1 52 2 0 2 52 0 0 2 50)} "sum-widths" {:upvalue-count 0 :arity 4 :constants ({:upvalue-count 5 :arity 2 :constants (">=" "max" 0 "-" 1 "+" "*" "nth") :bytecode (16 0 18 0 52 0 0 2 33 41 0 1 2 0 18 0 18 1 52 3 0 2 1 4 0 52 3 0 2 52 1 0 2 17 2 16 1 16 2 18 2 52 6 0 2 52 5 0 2 32 27 0 18 3 16 0 1 4 0 52 5 0 2 16 1 18 4 16 0 52 7 0 2 52 5 0 2 49 2 50)} 0) :bytecode (2 17 4 51 0 0 1 3 1 2 1 1 1 4 1 0 17 4 16 4 16 2 1 1 0 49 2 50)} "find-breaks" {:upvalue-count 0 :arity 3 :constants ("len" "<=" 0 "list" "map" {:upvalue-count 0 :arity 1 :constants ("=" 0 "list" -1 999999999) :bytecode (16 0 1 1 0 52 0 0 2 33 13 0 1 1 0 1 3 0 52 2 0 2 32 10 0 1 4 0 1 3 0 52 2 0 2 50)} "range" "+" 1 "for-each" {:upvalue-count 5 :arity 1 :constants ("first" "nth" {:upvalue-count 8 :arity 1 :constants ("<" "sum-widths" "+" 1 "<=" "*" 1.15 "line-badness" 0 "compute-demerits" "nth" "first" "map-indexed" {:upvalue-count 3 :arity 2 :constants ("=" "+" 1 "list") :bytecode (16 0 18 0 1 2 0 52 1 0 2 52 0 0 2 33 11 0 18 1 18 2 52 3 0 2 32 2 0 16 1 50)}) :bytecode (16 0 18 0 52 0 0 2 33 147 0 20 1 0 18 1 18 2 18 3 16 0 1 3 0 52 2 0 2 48 4 17 1 16 1 18 4 1 6 0 52 5 0 2 52 4 0 2 33 103 0 20 7 0 16 1 18 4 48 2 17 2 1 8 0 17 3 18 5 20 9 0 16 2 16 3 48 2 52 2 0 2 17 4 18 6 16 0 1 3 0 52 2 0 2 52 10 0 2 17 5 16 4 16 5 52 11 0 1 52 0 0 2 33 20 0 51 13 0 1 0 1 4 0 3 18 6 52 12 0 2 19 6 32 1 0 2 5 18 7 16 0 1 3 0 52 2 0 2 49 1 32 1 0 2 32 1 0 2 50)}) :bytecode (18 0 16 0 52 1 0 2 52 0 0 1 17 1 2 17 2 51 2 0 0 1 0 2 0 3 1 0 0 4 1 1 0 0 1 2 17 2 16 2 16 0 49 1 50)} {:upvalue-count 2 :arity 2 :constants ("nth" 1 "<=" 0 "cons") :bytecode (18 0 16 0 52 0 0 2 1 1 0 52 0 0 2 17 2 16 2 1 3 0 52 2 0 2 33 5 0 16 1 32 14 0 18 1 16 2 16 2 16 1 52 4 0 2 49 2 50)}) :bytecode (16 0 52 0 0 1 17 3 16 3 1 2 0 52 1 0 2 33 7 0 52 3 0 0 32 68 0 51 5 0 16 3 1 8 0 52 7 0 2 52 6 0 1 52 4 0 2 17 4 51 10 0 1 4 1 3 1 0 1 1 1 2 16 3 52 6 0 1 52 9 0 2 5 2 17 5 51 11 0 1 4 1 5 17 5 16 5 16 3 52 3 0 0 49 2 50)} "break-lines" {:upvalue-count 0 :arity 3 :constants ("find-breaks" "len" "=" 0 "list" "cons" "append" "rest" "map-indexed" {:upvalue-count 1 :arity 2 :constants ("list" "nth") :bytecode (16 1 18 0 16 0 52 1 0 2 52 0 0 2 50)}) :bytecode (20 0 0 16 0 16 1 16 2 48 3 17 3 16 0 52 1 0 1 17 4 16 4 1 3 0 52 2 0 2 33 7 0 52 4 0 0 32 40 0 1 3 0 16 3 52 5 0 2 17 5 16 5 52 7 0 1 16 4 52 4 0 1 52 6 0 2 17 6 51 9 0 1 6 16 5 52 8 0 2 50)} "break-lines-greedy" {:upvalue-count 0 :arity 3 :constants ("len" "=" 0 "list" "for-each" {:upvalue-count 6 :arity 1 :constants ("nth" "=" "+" ">" "not" "append" "list") :bytecode (18 0 16 0 52 0 0 2 17 1 16 0 18 1 52 1 0 2 33 5 0 16 1 32 10 0 18 2 18 3 16 1 52 2 0 3 17 2 16 2 18 4 52 3 0 2 6 33 13 0 5 16 0 18 1 52 1 0 2 52 4 0 1 33 33 0 18 5 18 1 16 0 52 6 0 2 52 6 0 1 52 5 0 2 19 5 5 16 0 19 1 5 16 1 19 2 32 4 0 16 2 19 2 50)} "range" "append") :bytecode (16 0 52 0 0 1 17 3 16 3 1 2 0 52 1 0 2 33 7 0 52 3 0 0 32 60 0 52 3 0 0 17 4 1 2 0 17 5 1 2 0 17 6 51 5 0 1 0 1 5 1 6 1 1 1 2 1 4 16 3 52 6 0 1 52 4 0 2 5 16 4 16 5 16 3 52 3 0 2 52 3 0 1 52 7 0 2 50)} "position-line" {:upvalue-count 0 :arity 5 :constants ({:upvalue-count 5 :arity 3 :constants (">=" "len" "reverse" "nth" "+" 1 "cons" "width" "x" "y" "word") :bytecode (16 0 18 0 52 1 0 1 52 0 0 2 33 9 0 16 2 52 2 0 1 32 72 0 18 0 16 0 52 3 0 2 17 3 18 1 16 0 52 3 0 2 17 4 18 2 16 0 1 5 0 52 4 0 2 16 1 16 4 18 3 52 4 0 3 1 7 0 16 4 1 8 0 16 1 1 9 0 18 4 1 10 0 16 3 65 4 0 16 2 52 6 0 2 49 3 50)} 0 "list") :bytecode (2 17 5 51 0 0 1 0 1 1 1 5 1 2 1 4 17 5 16 5 1 1 0 16 3 52 2 0 0 49 3 50)} "position-lines" {:upvalue-count 0 :arity 7 :constants ("map-indexed" {:upvalue-count 6 :arity 2 :constants ("first" "nth" 1 "+" "*" "slice" "position-line") :bytecode (16 1 52 0 0 1 17 2 16 1 1 2 0 52 1 0 2 17 3 18 0 16 0 18 1 52 4 0 2 52 3 0 2 17 4 18 2 16 2 16 3 52 5 0 3 17 5 18 3 16 2 16 3 52 5 0 3 17 6 20 6 0 16 5 16 6 18 4 18 5 16 4 49 5 50)}) :bytecode (51 1 0 1 6 1 4 1 0 1 1 1 3 1 5 16 2 52 0 0 2 50)} "pretext-position-line" {:upvalue-count 0 :arity 3 :constants ({:upvalue-count 4 :arity 3 :constants (">=" "len" "+" 1 "nth" "append" "list" "width" "x" "word") :bytecode (16 0 18 0 52 1 0 1 52 0 0 2 33 5 0 16 2 32 69 0 18 1 16 0 1 3 0 52 2 0 2 16 1 18 2 16 0 52 4 0 2 18 3 52 2 0 3 16 2 1 7 0 18 2 16 0 52 4 0 2 1 8 0 16 1 1 9 0 18 0 16 0 52 4 0 2 65 3 0 52 6 0 1 52 5 0 2 49 3 50)} 0 "list") :bytecode (2 17 3 51 0 0 1 0 1 3 1 1 1 2 17 3 16 3 1 1 0 1 1 0 52 2 0 0 49 3 50)} "pretext-layout-lines" {:upvalue-count 0 :arity 6 :constants ("len" "map" {:upvalue-count 7 :arity 1 :constants ("nth" "*" "first" 1 "slice" "reduce" "+" 0 "max" "-" "len" "=" "/" "y" "words" "pretext-position-line") :bytecode (18 0 16 0 52 0 0 2 17 1 16 0 18 1 52 1 0 2 17 2 16 1 52 2 0 1 17 3 16 1 1 3 0 52 0 0 2 17 4 18 2 16 3 16 4 52 4 0 3 17 5 18 3 16 3 16 4 52 4 0 3 17 6 20 6 0 1 7 0 16 6 52 5 0 3 17 7 1 3 0 16 5 52 10 0 1 1 3 0 52 9 0 2 52 8 0 2 17 8 16 0 18 4 1 3 0 52 9 0 2 52 11 0 2 17 9 16 9 33 5 0 18 5 32 14 0 18 6 16 7 52 9 0 2 16 8 52 12 0 2 17 10 1 13 0 16 2 1 14 0 20 15 0 16 5 16 6 16 10 48 3 65 2 0 50)} "range") :bytecode (16 2 52 0 0 1 17 6 51 2 0 1 2 1 5 1 0 1 1 1 6 1 3 1 4 16 6 52 3 0 1 52 1 0 2 50)} "make-hyphenation-trie" {:upvalue-count 0 :arity 1 :constants ("children" "levels" "list" "for-each" {:upvalue-count 1 :arity 1 :constants ("list" 0 "for-each" {:upvalue-count 3 :arity 1 :constants (">=" "char-code" 48 "<=" 57 "parse-number" "append" "list" 0) :bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 6 33 14 0 5 16 0 52 1 0 1 1 4 0 52 3 0 2 33 11 0 16 0 52 5 0 1 19 0 32 35 0 18 1 16 0 52 7 0 1 52 6 0 2 19 1 5 18 2 18 0 52 7 0 1 52 6 0 2 19 2 5 1 8 0 19 0 50)} "map" {:upvalue-count 1 :arity 1 :constants ("char-at") :bytecode (18 0 16 0 52 0 0 2 50)} "range" "len" "append" {:upvalue-count 3 :arity 2 :constants (">=" "len" "dict-set!" "levels" "nth" "get" "children" "not" "has-key?" "list" "+" 1) :bytecode (16 1 18 0 52 1 0 1 52 0 0 2 33 14 0 16 0 1 3 0 18 1 52 2 0 3 32 86 0 18 0 16 1 52 4 0 2 17 2 16 0 1 6 0 52 5 0 2 17 3 16 3 16 2 52 8 0 2 52 7 0 1 33 27 0 16 3 16 2 1 6 0 65 0 0 1 3 0 52 9 0 0 65 2 0 52 2 0 3 32 1 0 2 5 18 2 16 3 16 2 52 5 0 2 16 1 1 11 0 52 10 0 2 49 2 50)}) :bytecode (52 0 0 0 17 1 52 0 0 0 17 2 1 1 0 17 3 51 3 0 1 3 1 1 1 2 51 5 0 1 0 16 0 52 7 0 1 52 6 0 1 52 4 0 2 52 2 0 2 5 16 2 16 3 52 0 0 1 52 8 0 2 17 2 5 2 17 4 51 9 0 1 1 1 2 1 4 17 4 16 4 18 0 1 1 0 49 2 50)}) :bytecode (1 0 0 65 0 0 1 1 0 52 2 0 0 65 2 0 17 1 51 4 0 1 1 16 0 52 3 0 2 5 16 1 50)} "find-hyphenation-points" {:upvalue-count 0 :arity 2 :constants ("len" "str" "." "+" 2 "map" {:upvalue-count 0 :arity 1 :constants (0) :bytecode (1 0 0 50)} "range" 1 "for-each" {:upvalue-count 5 :arity 1 :constants ({:upvalue-count 6 :arity 2 :constants ("<" "char-at" "get" "children" "has-key?" "not" "empty?" "levels" "for-each" {:upvalue-count 4 :arity 1 :constants ("<" "+" 1 "nth" ">" "map-indexed" {:upvalue-count 3 :arity 2 :constants ("=" "+") :bytecode (16 0 18 0 18 1 52 1 0 2 52 0 0 2 33 5 0 18 2 32 2 0 16 1 50)}) :bytecode (18 0 16 0 52 1 0 2 18 1 1 2 0 52 1 0 2 52 0 0 2 33 61 0 18 2 18 0 16 0 52 1 0 2 52 3 0 2 17 1 18 3 16 0 52 3 0 2 17 2 16 2 16 1 52 4 0 2 33 20 0 51 6 0 0 0 1 0 1 2 18 2 52 5 0 2 19 2 32 1 0 2 32 1 0 2 50)} "range" "len" "+" 1) :bytecode (16 1 18 0 52 0 0 2 33 125 0 18 1 16 1 52 1 0 2 17 2 16 0 1 3 0 52 2 0 2 17 3 16 3 16 2 52 4 0 2 33 89 0 16 3 16 2 52 2 0 2 17 4 16 4 1 7 0 52 2 0 2 52 6 0 1 52 5 0 1 33 39 0 16 4 1 7 0 52 2 0 2 17 5 51 9 0 0 2 0 3 0 4 1 5 16 5 52 11 0 1 52 10 0 1 52 8 0 2 32 1 0 2 5 18 5 16 4 16 1 1 13 0 52 12 0 2 49 2 32 1 0 2 32 1 0 2 50)}) :bytecode (2 17 1 51 0 0 0 0 0 1 1 0 0 2 0 3 1 1 17 1 16 1 18 4 16 0 49 2 50)} "filter" {:upvalue-count 2 :arity 1 :constants (">" 1 "<" "-" "=" "mod" "nth" 2) :bytecode (16 0 1 1 0 52 0 0 2 6 33 43 0 5 16 0 18 0 1 1 0 52 3 0 2 52 2 0 2 6 33 23 0 5 18 1 16 0 52 6 0 2 1 7 0 52 5 0 2 1 1 0 52 4 0 2 50)}) :bytecode (16 1 52 0 0 1 17 2 1 2 0 16 1 1 2 0 52 1 0 3 17 3 16 2 1 4 0 52 3 0 2 17 4 51 6 0 16 2 1 8 0 52 3 0 2 52 7 0 1 52 5 0 2 17 5 51 10 0 1 4 1 3 1 2 1 5 1 0 16 4 52 7 0 1 52 9 0 2 5 51 12 0 1 2 1 5 16 2 1 8 0 52 3 0 2 52 7 0 1 52 11 0 2 50)} "hyphenate-word" {:upvalue-count 0 :arity 2 :constants ("find-hyphenation-points" "empty?" "list" "cons" 0 "append" "len" "map-indexed" {:upvalue-count 2 :arity 2 :constants ("slice" "nth") :bytecode (18 0 16 1 18 1 16 0 52 1 0 2 52 0 0 3 50)}) :bytecode (20 0 0 16 0 16 1 48 2 17 2 16 2 52 1 0 1 33 9 0 16 1 52 2 0 1 32 42 0 1 4 0 16 2 52 3 0 2 17 3 16 2 16 1 52 6 0 1 52 2 0 1 52 5 0 2 17 4 51 8 0 1 1 1 4 16 3 52 7 0 2 50)} "layout-paragraph" {:upvalue-count 0 :arity 5 :constants ("map" {:upvalue-count 2 :arity 1 :constants ("measure-text") :bytecode (20 0 0 18 0 18 1 16 0 49 3 50)} {:upvalue-count 0 :arity 1 :constants ("get" "width") :bytecode (16 0 1 1 0 52 0 0 2 50)} "empty?" "get" "first" "height" "*" 1.4 "measure-text" " " "width" "break-lines" "position-lines" 0 "lines" "line-height" "font-height" "line-ranges" "len") :bytecode (51 1 0 1 1 1 2 16 0 52 0 0 2 17 5 51 2 0 16 5 52 0 0 2 17 6 16 5 52 3 0 1 33 5 0 16 2 32 13 0 16 5 52 5 0 1 1 6 0 52 4 0 2 17 7 16 7 16 4 6 34 4 0 5 1 8 0 52 7 0 2 17 8 20 9 0 16 1 16 2 1 10 0 48 3 17 9 16 9 1 11 0 52 4 0 2 17 10 20 12 0 16 6 16 10 16 3 48 3 17 11 20 13 0 16 0 16 6 20 12 0 16 6 16 10 16 3 48 3 16 10 16 8 1 14 0 1 14 0 48 7 17 12 1 15 0 16 12 1 11 0 16 3 1 16 0 16 8 1 17 0 16 7 1 18 0 16 11 1 6 0 16 11 52 19 0 1 16 8 52 7 0 2 65 6 0 50)} "typeset-plain" {:upvalue-count 0 :arity 4 :constants ("split" " " "layout-paragraph" 1.4) :bytecode (16 0 1 1 0 52 0 0 2 17 4 20 2 0 16 4 16 1 16 2 16 3 1 3 0 49 5 50)} "typeset" {:upvalue-count 0 :arity 5 :constants ("split" " " "serif" 16 600 1.4 "layout-paragraph") :bytecode (16 0 1 1 0 52 0 0 2 17 5 16 1 6 34 4 0 5 1 2 0 17 6 16 2 6 34 4 0 5 1 3 0 17 7 16 3 6 34 4 0 5 1 4 0 17 8 16 4 6 34 4 0 5 1 5 0 17 9 20 6 0 16 5 16 6 16 7 16 8 16 9 49 5 50)} {:library (sx text-layout) :op "import"}) :bytecode (51 1 0 128 0 0 5 51 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 51 15 0 128 14 0 5 51 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 1 34 0 112 50))) + :constants ("sublist" {:upvalue-count 0 :arity 3 :constants ({:upvalue-count 3 :arity 3 :constants (">=" "reverse" "empty?" "+" 1 "rest" "cons" "first") :bytecode (16 0 18 0 52 0 0 2 33 9 0 16 2 52 1 0 1 32 84 0 16 1 52 2 0 1 33 9 0 16 2 52 1 0 1 32 66 0 16 0 18 1 52 0 0 2 33 34 0 18 2 16 0 1 4 0 52 3 0 2 16 1 52 5 0 1 16 1 52 7 0 1 16 2 52 6 0 2 49 3 32 21 0 18 2 16 0 1 4 0 52 3 0 2 16 1 52 5 0 1 16 2 49 3 50)} 0 "list") :bytecode (2 17 3 51 0 0 1 2 1 1 1 3 17 3 16 3 1 1 0 16 0 52 2 0 0 49 3 50)} "measure-text" {:upvalue-count 0 :arity 3 :constants ("list" text-measure) :bytecode (1 1 0 16 0 16 1 16 2 52 0 0 4 112 50)} "line-badness" {:upvalue-count 0 :arity 2 :constants ("-" "<" 0 100000 "/" "*" 1000) :bytecode (16 1 16 0 52 0 0 2 17 2 16 2 1 2 0 52 1 0 2 33 6 0 1 3 0 32 31 0 16 2 16 1 52 4 0 2 17 3 16 3 16 3 52 5 0 2 16 3 1 6 0 52 5 0 2 52 5 0 2 50)} "compute-demerits" {:upvalue-count 0 :arity 2 :constants ("+" 1 "*") :bytecode (1 1 0 16 0 52 0 0 2 17 2 16 2 16 2 52 2 0 2 16 1 16 1 52 2 0 2 52 0 0 2 50)} "sum-widths" {:upvalue-count 0 :arity 4 :constants ({:upvalue-count 5 :arity 2 :constants (">=" "max" 0 "-" 1 "+" "*" "nth") :bytecode (16 0 18 0 52 0 0 2 33 41 0 1 2 0 18 0 18 1 52 3 0 2 1 4 0 52 3 0 2 52 1 0 2 17 2 16 1 16 2 18 2 52 6 0 2 52 5 0 2 32 27 0 18 3 16 0 1 4 0 52 5 0 2 16 1 18 4 16 0 52 7 0 2 52 5 0 2 49 2 50)} 0) :bytecode (2 17 4 51 0 0 1 3 1 2 1 1 1 4 1 0 17 4 16 4 16 2 1 1 0 49 2 50)} "find-breaks" {:upvalue-count 0 :arity 3 :constants ("len" "<=" 0 "list" "map" {:upvalue-count 0 :arity 1 :constants ("=" 0 "list" -1 999999999) :bytecode (16 0 1 1 0 52 0 0 2 33 13 0 1 1 0 1 3 0 52 2 0 2 32 10 0 1 4 0 1 3 0 52 2 0 2 50)} "range" "+" 1 "for-each" {:upvalue-count 5 :arity 1 :constants ("first" "nth" {:upvalue-count 8 :arity 1 :constants ("<" "sum-widths" "+" 1 "<=" "*" 1.15 "line-badness" 0 "compute-demerits" "nth" "first" "map-indexed" {:upvalue-count 3 :arity 2 :constants ("=" "+" 1 "list") :bytecode (16 0 18 0 1 2 0 52 1 0 2 52 0 0 2 33 11 0 18 1 18 2 52 3 0 2 32 2 0 16 1 50)}) :bytecode (16 0 18 0 52 0 0 2 33 147 0 20 1 0 18 1 18 2 18 3 16 0 1 3 0 52 2 0 2 48 4 17 1 16 1 18 4 1 6 0 52 5 0 2 52 4 0 2 33 103 0 20 7 0 16 1 18 4 48 2 17 2 1 8 0 17 3 18 5 20 9 0 16 2 16 3 48 2 52 2 0 2 17 4 18 6 16 0 1 3 0 52 2 0 2 52 10 0 2 17 5 16 4 16 5 52 11 0 1 52 0 0 2 33 20 0 51 13 0 1 0 1 4 0 3 18 6 52 12 0 2 19 6 32 1 0 2 5 18 7 16 0 1 3 0 52 2 0 2 49 1 32 1 0 2 32 1 0 2 50)}) :bytecode (18 0 16 0 52 1 0 2 52 0 0 1 17 1 2 17 2 51 2 0 0 1 0 2 0 3 1 0 0 4 1 1 0 0 1 2 17 2 16 2 16 0 49 1 50)} {:upvalue-count 2 :arity 2 :constants ("nth" 1 "<=" 0 "cons") :bytecode (18 0 16 0 52 0 0 2 1 1 0 52 0 0 2 17 2 16 2 1 3 0 52 2 0 2 33 5 0 16 1 32 14 0 18 1 16 2 16 2 16 1 52 4 0 2 49 2 50)}) :bytecode (16 0 52 0 0 1 17 3 16 3 1 2 0 52 1 0 2 33 7 0 52 3 0 0 32 68 0 51 5 0 16 3 1 8 0 52 7 0 2 52 6 0 1 52 4 0 2 17 4 51 10 0 1 4 1 3 1 0 1 1 1 2 16 3 52 6 0 1 52 9 0 2 5 2 17 5 51 11 0 1 4 1 5 17 5 16 5 16 3 52 3 0 0 49 2 50)} "break-lines" {:upvalue-count 0 :arity 3 :constants ("find-breaks" "len" "=" 0 "list" "cons" "append" "rest" "map-indexed" {:upvalue-count 1 :arity 2 :constants ("list" "nth") :bytecode (16 1 18 0 16 0 52 1 0 2 52 0 0 2 50)}) :bytecode (20 0 0 16 0 16 1 16 2 48 3 17 3 16 0 52 1 0 1 17 4 16 4 1 3 0 52 2 0 2 33 7 0 52 4 0 0 32 40 0 1 3 0 16 3 52 5 0 2 17 5 16 5 52 7 0 1 16 4 52 4 0 1 52 6 0 2 17 6 51 9 0 1 6 16 5 52 8 0 2 50)} "break-lines-greedy" {:upvalue-count 0 :arity 3 :constants ("len" "=" 0 "list" "for-each" {:upvalue-count 6 :arity 1 :constants ("nth" "=" "+" ">" "not" "append" "list") :bytecode (18 0 16 0 52 0 0 2 17 1 16 0 18 1 52 1 0 2 33 5 0 16 1 32 10 0 18 2 18 3 16 1 52 2 0 3 17 2 16 2 18 4 52 3 0 2 6 33 13 0 5 16 0 18 1 52 1 0 2 52 4 0 1 33 33 0 18 5 18 1 16 0 52 6 0 2 52 6 0 1 52 5 0 2 19 5 5 16 0 19 1 5 16 1 19 2 32 4 0 16 2 19 2 50)} "range" "append") :bytecode (16 0 52 0 0 1 17 3 16 3 1 2 0 52 1 0 2 33 7 0 52 3 0 0 32 60 0 52 3 0 0 17 4 1 2 0 17 5 1 2 0 17 6 51 5 0 1 0 1 5 1 6 1 1 1 2 1 4 16 3 52 6 0 1 52 4 0 2 5 16 4 16 5 16 3 52 3 0 2 52 3 0 1 52 7 0 2 50)} "position-line" {:upvalue-count 0 :arity 5 :constants ({:upvalue-count 5 :arity 3 :constants (">=" "len" "reverse" "nth" "+" 1 "cons" "width" "x" "y" "word") :bytecode (16 0 18 0 52 1 0 1 52 0 0 2 33 9 0 16 2 52 2 0 1 32 72 0 18 0 16 0 52 3 0 2 17 3 18 1 16 0 52 3 0 2 17 4 18 2 16 0 1 5 0 52 4 0 2 16 1 16 4 18 3 52 4 0 3 1 7 0 16 4 1 8 0 16 1 1 9 0 18 4 1 10 0 16 3 65 4 0 16 2 52 6 0 2 49 3 50)} 0 "list") :bytecode (2 17 5 51 0 0 1 0 1 1 1 5 1 2 1 4 17 5 16 5 1 1 0 16 3 52 2 0 0 49 3 50)} "position-lines" {:upvalue-count 0 :arity 7 :constants ("map-indexed" {:upvalue-count 6 :arity 2 :constants ("first" "nth" 1 "+" "*" "sublist" "position-line") :bytecode (16 1 52 0 0 1 17 2 16 1 1 2 0 52 1 0 2 17 3 18 0 16 0 18 1 52 4 0 2 52 3 0 2 17 4 20 5 0 18 2 16 2 16 3 48 3 17 5 20 5 0 18 3 16 2 16 3 48 3 17 6 20 6 0 16 5 16 6 18 4 18 5 16 4 49 5 50)}) :bytecode (51 1 0 1 6 1 4 1 0 1 1 1 3 1 5 16 2 52 0 0 2 50)} "pretext-position-line" {:upvalue-count 0 :arity 3 :constants ({:upvalue-count 4 :arity 3 :constants (">=" "len" "+" 1 "nth" "append" "list" "width" "x" "word") :bytecode (16 0 18 0 52 1 0 1 52 0 0 2 33 5 0 16 2 32 69 0 18 1 16 0 1 3 0 52 2 0 2 16 1 18 2 16 0 52 4 0 2 18 3 52 2 0 3 16 2 1 7 0 18 2 16 0 52 4 0 2 1 8 0 16 1 1 9 0 18 0 16 0 52 4 0 2 65 3 0 52 6 0 1 52 5 0 2 49 3 50)} 0 "list") :bytecode (2 17 3 51 0 0 1 0 1 3 1 1 1 2 17 3 16 3 1 1 0 1 1 0 52 2 0 0 49 3 50)} "pretext-layout-lines" {:upvalue-count 0 :arity 6 :constants ("len" "map" {:upvalue-count 7 :arity 1 :constants ("nth" "*" "first" 1 "sublist" {:upvalue-count 2 :arity 2 :constants (">=" "len" "+" 1 "nth") :bytecode (16 0 18 0 52 1 0 1 52 0 0 2 33 5 0 16 1 32 27 0 18 1 16 0 1 3 0 52 2 0 2 16 1 18 0 16 0 52 4 0 2 52 2 0 2 49 2 50)} 0 "max" "-" "len" "=" "/" "y" "words" "pretext-position-line") :bytecode (18 0 16 0 52 0 0 2 17 1 16 0 18 1 52 1 0 2 17 2 16 1 52 2 0 1 17 3 16 1 1 3 0 52 0 0 2 17 4 20 4 0 18 2 16 3 16 4 48 3 17 5 20 4 0 18 3 16 3 16 4 48 3 17 6 2 17 7 51 5 0 1 6 1 7 17 7 16 7 1 6 0 1 6 0 48 2 17 7 1 3 0 16 5 52 9 0 1 1 3 0 52 8 0 2 52 7 0 2 17 8 16 0 18 4 1 3 0 52 8 0 2 52 10 0 2 17 9 16 9 33 5 0 18 5 32 14 0 18 6 16 7 52 8 0 2 16 8 52 11 0 2 17 10 1 12 0 16 2 1 13 0 20 14 0 16 5 16 6 16 10 48 3 65 2 0 50)} "range") :bytecode (16 2 52 0 0 1 17 6 51 2 0 1 2 1 5 1 0 1 1 1 6 1 3 1 4 16 6 52 3 0 1 52 1 0 2 50)} "make-hyphenation-trie" {:upvalue-count 0 :arity 1 :constants ("children" "levels" "list" "for-each" {:upvalue-count 1 :arity 1 :constants ("list" 0 "for-each" {:upvalue-count 3 :arity 1 :constants (">=" "char-code" 48 "<=" 57 "parse-number" "append" "list" 0) :bytecode (16 0 52 1 0 1 1 2 0 52 0 0 2 6 33 14 0 5 16 0 52 1 0 1 1 4 0 52 3 0 2 33 11 0 16 0 52 5 0 1 19 0 32 35 0 18 1 16 0 52 7 0 1 52 6 0 2 19 1 5 18 2 18 0 52 7 0 1 52 6 0 2 19 2 5 1 8 0 19 0 50)} "map" {:upvalue-count 1 :arity 1 :constants ("char-at") :bytecode (18 0 16 0 52 0 0 2 50)} "range" "len" "append" {:upvalue-count 3 :arity 2 :constants (">=" "len" "dict-set!" "levels" "nth" "get" "children" "not" "has-key?" "list" "+" 1) :bytecode (16 1 18 0 52 1 0 1 52 0 0 2 33 14 0 16 0 1 3 0 18 1 52 2 0 3 32 86 0 18 0 16 1 52 4 0 2 17 2 16 0 1 6 0 52 5 0 2 17 3 16 3 16 2 52 8 0 2 52 7 0 1 33 27 0 16 3 16 2 1 6 0 65 0 0 1 3 0 52 9 0 0 65 2 0 52 2 0 3 32 1 0 2 5 18 2 16 3 16 2 52 5 0 2 16 1 1 11 0 52 10 0 2 49 2 50)}) :bytecode (52 0 0 0 17 1 52 0 0 0 17 2 1 1 0 17 3 51 3 0 1 3 1 1 1 2 51 5 0 1 0 16 0 52 7 0 1 52 6 0 1 52 4 0 2 52 2 0 2 5 16 2 16 3 52 0 0 1 52 8 0 2 17 2 5 2 17 4 51 9 0 1 1 1 2 1 4 17 4 16 4 18 0 1 1 0 49 2 50)}) :bytecode (1 0 0 65 0 0 1 1 0 52 2 0 0 65 2 0 17 1 51 4 0 1 1 16 0 52 3 0 2 5 16 1 50)} "find-hyphenation-points" {:upvalue-count 0 :arity 2 :constants ("len" "str" "." "+" 2 "map" {:upvalue-count 0 :arity 1 :constants (0) :bytecode (1 0 0 50)} "range" 1 "for-each" {:upvalue-count 5 :arity 1 :constants ({:upvalue-count 6 :arity 2 :constants ("<" "char-at" "get" "children" "has-key?" "not" "empty?" "levels" "for-each" {:upvalue-count 4 :arity 1 :constants ("<" "+" 1 "nth" ">" "map-indexed" {:upvalue-count 3 :arity 2 :constants ("=" "+") :bytecode (16 0 18 0 18 1 52 1 0 2 52 0 0 2 33 5 0 18 2 32 2 0 16 1 50)}) :bytecode (18 0 16 0 52 1 0 2 18 1 1 2 0 52 1 0 2 52 0 0 2 33 61 0 18 2 18 0 16 0 52 1 0 2 52 3 0 2 17 1 18 3 16 0 52 3 0 2 17 2 16 2 16 1 52 4 0 2 33 20 0 51 6 0 0 0 1 0 1 2 18 2 52 5 0 2 19 2 32 1 0 2 32 1 0 2 50)} "range" "len" "+" 1) :bytecode (16 1 18 0 52 0 0 2 33 125 0 18 1 16 1 52 1 0 2 17 2 16 0 1 3 0 52 2 0 2 17 3 16 3 16 2 52 4 0 2 33 89 0 16 3 16 2 52 2 0 2 17 4 16 4 1 7 0 52 2 0 2 52 6 0 1 52 5 0 1 33 39 0 16 4 1 7 0 52 2 0 2 17 5 51 9 0 0 2 0 3 0 4 1 5 16 5 52 11 0 1 52 10 0 1 52 8 0 2 32 1 0 2 5 18 5 16 4 16 1 1 13 0 52 12 0 2 49 2 32 1 0 2 32 1 0 2 50)}) :bytecode (2 17 1 51 0 0 0 0 0 1 1 0 0 2 0 3 1 1 17 1 16 1 18 4 16 0 49 2 50)} "filter" {:upvalue-count 2 :arity 1 :constants (">" 1 "<" "-" "=" "mod" "nth" 2) :bytecode (16 0 1 1 0 52 0 0 2 6 33 43 0 5 16 0 18 0 1 1 0 52 3 0 2 52 2 0 2 6 33 23 0 5 18 1 16 0 52 6 0 2 1 7 0 52 5 0 2 1 1 0 52 4 0 2 50)}) :bytecode (16 1 52 0 0 1 17 2 1 2 0 16 1 1 2 0 52 1 0 3 17 3 16 2 1 4 0 52 3 0 2 17 4 51 6 0 16 2 1 8 0 52 3 0 2 52 7 0 1 52 5 0 2 17 5 51 10 0 1 4 1 3 1 2 1 5 1 0 16 4 52 7 0 1 52 9 0 2 5 51 12 0 1 2 1 5 16 2 1 8 0 52 3 0 2 52 7 0 1 52 11 0 2 50)} "hyphenate-word" {:upvalue-count 0 :arity 2 :constants ("find-hyphenation-points" "empty?" "list" "cons" 0 "append" "len" "map-indexed" {:upvalue-count 2 :arity 2 :constants ("slice" "nth") :bytecode (18 0 16 1 18 1 16 0 52 1 0 2 52 0 0 3 50)}) :bytecode (20 0 0 16 0 16 1 48 2 17 2 16 2 52 1 0 1 33 9 0 16 1 52 2 0 1 32 42 0 1 4 0 16 2 52 3 0 2 17 3 16 2 16 1 52 6 0 1 52 2 0 1 52 5 0 2 17 4 51 8 0 1 1 1 4 16 3 52 7 0 2 50)} "layout-paragraph" {:upvalue-count 0 :arity 5 :constants ("map" {:upvalue-count 2 :arity 1 :constants ("measure-text") :bytecode (20 0 0 18 0 18 1 16 0 49 3 50)} {:upvalue-count 0 :arity 1 :constants ("get" "width") :bytecode (16 0 1 1 0 52 0 0 2 50)} "empty?" "get" "first" "height" "*" 1.4 "measure-text" " " "width" "break-lines" "position-lines" 0 "lines" "line-height" "font-height" "line-ranges" "len") :bytecode (51 1 0 1 1 1 2 16 0 52 0 0 2 17 5 51 2 0 16 5 52 0 0 2 17 6 16 5 52 3 0 1 33 5 0 16 2 32 13 0 16 5 52 5 0 1 1 6 0 52 4 0 2 17 7 16 7 16 4 6 34 4 0 5 1 8 0 52 7 0 2 17 8 20 9 0 16 1 16 2 1 10 0 48 3 17 9 16 9 1 11 0 52 4 0 2 17 10 20 12 0 16 6 16 10 16 3 48 3 17 11 20 13 0 16 0 16 6 20 12 0 16 6 16 10 16 3 48 3 16 10 16 8 1 14 0 1 14 0 48 7 17 12 1 15 0 16 12 1 11 0 16 3 1 16 0 16 8 1 17 0 16 7 1 18 0 16 11 1 6 0 16 11 52 19 0 1 16 8 52 7 0 2 65 6 0 50)} "typeset-plain" {:upvalue-count 0 :arity 4 :constants ("split" " " "layout-paragraph" 1.4) :bytecode (16 0 1 1 0 52 0 0 2 17 4 20 2 0 16 4 16 1 16 2 16 3 1 3 0 49 5 50)} "typeset" {:upvalue-count 0 :arity 5 :constants ("split" " " "serif" 16 600 1.4 "layout-paragraph") :bytecode (16 0 1 1 0 52 0 0 2 17 5 16 1 6 34 4 0 5 1 2 0 17 6 16 2 6 34 4 0 5 1 3 0 17 7 16 3 6 34 4 0 5 1 4 0 17 8 16 4 6 34 4 0 5 1 5 0 17 9 20 6 0 16 5 16 6 16 7 16 8 16 9 49 5 50)} {:library (sx text-layout) :op "import"}) :bytecode (51 1 0 128 0 0 5 51 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 51 15 0 128 14 0 5 51 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 1 36 0 112 50))) diff --git a/sx/sx/pretext-client.sx b/sx/sx/pretext-client.sx index 8afd1917..bb4ad8af 100644 --- a/sx/sx/pretext-client.sx +++ b/sx/sx/pretext-client.sx @@ -1,5 +1,6 @@ ;; Pretext island — client-side text layout with live controls ;; Uses bytecode-compiled break-lines from text-layout library. +;; Imperative DOM update via effect for clean re-rendering. (defisland ~pretext-demo/live @@ -12,11 +13,81 @@ (use-optimal (signal true)) (doc (host-global "document")) (canvas (host-call doc "createElement" "canvas")) - (ctx (host-call canvas "getContext" "2d"))) + (ctx (host-call canvas "getContext" "2d")) + (container-ref (signal nil)) + (info-ref (signal nil)) + (footer-ref (signal nil))) (let ((mw (fn (word sz) (do (host-set! ctx "font" (str sz "px 'Pretext Serif', DejaVu Serif, serif")) (host-get (host-call ctx "measureText" word) "width"))))) (let - ((layout (computed (fn () (let ((sz (deref font-size)) (mxw (deref max-w)) (opt (deref use-optimal))) (let ((widths (map (fn (w) (mw w sz)) words)) (spw (mw " " sz)) (lh (* sz 1.5))) (let ((ranges (if opt (break-lines widths spw mxw) (break-lines-greedy widths spw mxw)))) (pretext-layout-lines words widths ranges spw mxw lh)))))))) + ((layout (computed (fn () (let ((sz (deref font-size)) (mxw (deref max-w)) (opt (deref use-optimal))) (let ((widths (map (fn (w) (mw w sz)) words)) (spw (mw " " sz)) (lh (* sz 1.5))) (let ((ranges (if opt (break-lines widths spw mxw) (break-lines-greedy widths spw mxw)))) {:lines (pretext-layout-lines words widths ranges spw mxw lh) :lh lh :mxw mxw :sz sz}))))))) + (effect + (fn + () + (let + ((data (deref layout)) + (el (deref container-ref)) + (info-el (deref info-ref)) + (footer-el (deref footer-ref))) + (when + el + (let + ((lines (get data :lines)) + (lh (get data :lh)) + (sz (get data :sz)) + (mxw (get data :mxw))) + (host-set! el "innerHTML" "") + (host-set! + el + "style" + (str + "position:relative;height:" + (* (len lines) lh) + "px;padding:12px 16px;")) + (for-each + (fn + (line) + (let + ((y (get line :y))) + (for-each + (fn + (pw) + (let + ((span (host-call doc "createElement" "span"))) + (host-set! span "textContent" (get pw :word)) + (host-set! + span + "style" + (str + "position:absolute;left:" + (+ (get pw :x) 16) + "px;top:" + (+ y 12) + "px;font-family:'Pretext Serif',serif;font-size:" + sz + "px;line-height:" + lh + "px;white-space:nowrap;")) + (host-call el "appendChild" span))) + (get line :words)))) + lines) + (when + info-el + (host-set! + info-el + "textContent" + (str + "Client-side — " + (len lines) + " lines, " + (len words) + " words"))) + (when + footer-el + (host-set! + footer-el + "textContent" + (str (len lines) " lines — width: " mxw "px")))))))) (div (~tw :tokens "space-y-4") (div @@ -73,44 +144,12 @@ :class "px-4 pt-3 pb-1" (span :class "text-xs font-medium uppercase tracking-wide text-stone-400" - (str - "Client-side — " - (len (deref layout)) - " lines, " - (len words) - " words"))) + :ref (fn (el) (reset! info-ref el)) + "")) + (div :ref (fn (el) (reset! container-ref el)) "") (div - :style (str - "position:relative;height:" - (* (len (deref layout)) (* (deref font-size) 1.5)) - "px;padding:12px 16px;") - (map - (fn - (line) - (let - ((y (get line :y))) - (map - (fn - (pw) - (span - :style (str - "position:absolute;left:" - (+ (get pw :x) 16) - "px;top:" - (+ y 12) - "px;font-family:'Pretext Serif',serif;font-size:" - (deref font-size) - "px;line-height:" - (* (deref font-size) 1.5) - "px;white-space:nowrap;") - (get pw :word))) - (get line :words)))) - (deref layout))) - (div - :class "px-4 py-2 border-t border-stone-100 bg-stone-50 flex justify-between" + :class "px-4 py-2 border-t border-stone-100 bg-stone-50" (span :class "text-xs text-stone-400" - (str (len (deref layout)) " lines")) - (span - :class "text-xs text-stone-400" - (str "width: " (deref max-w) "px"))))))))) + :ref (fn (el) (reset! footer-ref el)) + ""))))))))