(ex:import-libraries-for-run '(((rnrs base) 0)) '(&build~1187093766~1613) 0) (define ex:make-variable-transformer #f) (define ex:identifier? #f) (define ex:bound-identifier=? #f) (define ex:free-identifier=? #f) (define ex:generate-temporaries #f) (define ex:datum->syntax #f) (define ex:syntax->datum #f) (define ex:environment #f) (define ex:environment-bindings #f) (define ex:eval #f) (define ex:syntax-violation #f) (define ex:expand-file #f) (define ex:repl #f) (define ex:expand-r5rs-file #f) (define ex:invalid-form #f) (define ex:register-macro! #f) (define ex:syntax-rename #f) (define ex:map-while #f) (define ex:dotted-length #f) (define ex:dotted-butlast #f) (define ex:dotted-last #f) (define ex:uncompress #f) (define ex:free=? #f) ((lambda (&*toplevel-env*~1187093766~2065) ((lambda (&*usage-env*~1187093766~2068) ((lambda (&*phase*~1187093766~2071) ((lambda (&*color*~1187093766~2074) ((lambda (&*macro-table*~1187093766~2077) ((lambda (&*env-table*~1187093766~2080) ((lambda (&*current-library*~1187093766~2083) ((lambda (&*used*~1187093766~2086) ((lambda (&*trace*~1187093766~2089) ((lambda (&*syntax-reflected*~1187093766~2092) ((lambda (&:identifier~1187093766~2095) ((lambda (&make-identifier~1187093766~2098) ((lambda (&make-library-language~1187093766~2243 &library-language-names~1187093766~2242 &source->syntax~1187093766~2241 &toplevel-template~1187093766~2240 &write-file~1187093766~2239 &read-file~1187093766~2238 &normalize~1187093766~2237 &expand-r5rs-file~1187093766~2236 &expand-file~1187093766~2235 &expand-toplevel-sequence~1187093766~2234 &reset-toplevel!~1187093766~2233 &repl~1187093766~2232 &invalid-form~1187093766~2231 &check~1187093766~2230 &compose~1187093766~2229 &list->string~1187093766~2228 &drop-tail~1187093766~2227 &unionv~1187093766~2226 &check-set?~1187093766~2225 &map-while~1187093766~2224 &dotted-last~1187093766~2223 &dotted-butlast~1187093766~2222 &dotted-length~1187093766~2221 &dotted-map~1187093766~2220 &dotted-memp~1187093766~2219 &sexp-map~1187093766~2218 &flatten~1187093766~2217 &format-mapping~1187093766~2216 &environment-bindings~1187093766~2215 &r6rs-eval~1187093766~2214 &environment~1187093766~2213 &r6rs-environment-env~1187093766~2212 &r6rs-environment-imported-libraries~1187093766~2211 &make-r6rs-environment~1187093766~2210 &eval-template~1187093766~2209 &syntax-debug~1187093766~2208 &syntax-violation~1187093766~2207 &subversion-condition?~1187093766~2206 &subversion-reference?~1187093766~2205 &version-reference?~1187093766~2204 &subversion?~1187093766~2203 &version?~1187093766~2202 &library-ref-helper~1187093766~2201 &library-ref~1187093766~2200 &scan-library-name~1187093766~2199 &unify-imports~1187093766~2198 &compose-levels~1187093766~2197 &scan-levels~1187093766~2196 &scan-import-spec~1187093766~2195 &scan-imports~1187093766~2194 &scan-export-set~1187093766~2193 &scan-exports~1187093766~2192 &import-libraries-for-expand~1187093766~2191 ¤t-builds~1187093766~2190 &env-import!~1187093766~2189 &expand-library-or-program~1187093766~2188 &expand-library~1187093766~2187 &expand-program~1187093766~2186 &check-used~1187093766~2185 &merge-used-with-parent-frame!~1187093766~2184 ®ister-use!~1187093766~2183 &add-fresh-used-frame!~1187093766~2182 &segment-tail~1187093766~2181 &segment-depth~1187093766~2180 &free-meta-variables~1187093766~2179 &process-template~1187093766~2178 &expand-syntax~1187093766~2177 &process-clauses~1187093766~2176 &expand-syntax-case~1187093766~2175 &check-expression-body~1187093766~2174 &check-valid-definition~1187093766~2173 &check-toplevel~1187093766~2172 &check-expression-sequence~1187093766~2171 &parse-local-syntax~1187093766~2170 &parse-definition~1187093766~2169 &emit-body~1187093766~2168 &scan-sequence~1187093766~2167 &wrap-exp~1187093766~2166 &wrap-env~1187093766~2165 &make-wrap~1187093766~2164 &formals?~1187093766~2163 &expand-lambda~1187093766~2162 &expand-or~1187093766~2161 &expand-and~1187093766~2160 &expand-local-syntax~1187093766~2159 &expand-begin~1187093766~2158 &expand-set!~1187093766~2157 &expand-if~1187093766~2156 &expand-quote~1187093766~2155 &check-implicit-import-of-mutable~1187093766~2154 &operator-binding~1187093766~2153 &head-expand~1187093766~2152 &expand~1187093766~2151 &invoke-macro~1187093766~2150 ®ister-macro!~1187093766~2149 &binding->macro~1187093766~2148 &make-user-macro~1187093766~2147 &make-variable-transformer~1187093766~2146 &make-transformer~1187093766~2145 &make-expander~1187093766~2144 ¯o-proc~1187093766~2143 ¯o-type~1187093766~2142 &make-macro~1187093766~2141 &rename~1187093766~2140 &generate-temporaries~1187093766~2139 &syntax->datum~1187093766~2138 &datum->syntax~1187093766~2137 &syntax-rename~1187093766~2136 &syntax-reflect~1187093766~2135 &uncompress~1187093766~2134 &compress~1187093766~2133 &env-reify~1187093766~2132 &env-reflect~1187093766~2131 &duplicate?~1187093766~2130 &env-lookup~1187093766~2129 &env-extend!~1187093766~2128 &env-extend~1187093766~2127 &make-unit-env~1187093766~2126 &make-null-env~1187093766~2125 &check-binding-level~1187093766~2124 &source-level~1187093766~2123 &make-toplevel-mapping~1187093766~2122 &make-local-mapping~1187093766~2121 &binding~1187093766~2120 &binding-mutable-set!~1187093766~2119 &binding-library~1187093766~2118 &binding-dimension~1187093766~2117 &binding-mutable?~1187093766~2116 &binding-levels~1187093766~2115 &binding-name~1187093766~2114 &binding-type~1187093766~2113 &make-binding~1187093766~2112 &generate-color~1187093766~2111 &make-free-name~1187093766~2110 &generate-guid~1187093766~2109 &free=?~1187093766~2108 &free-identifier=?~1187093766~2107 &bound-identifier=?~1187093766~2106 &id-library~1187093766~2105 &id-maybe-library~1187093766~2104 &id-displacement~1187093766~2103 &id-transformer-envs~1187093766~2102 &id-colors~1187093766~2101 &id-name~1187093766~2100 &identifier?~1187093766~2099) (set! &identifier?~1187093766~2099 (record-predicate &:identifier~1187093766~2095)) (set! &id-name~1187093766~2100 (record-accessor &:identifier~1187093766~2095 0)) (set! &id-colors~1187093766~2101 (record-accessor &:identifier~1187093766~2095 1)) (set! &id-transformer-envs~1187093766~2102 (record-accessor &:identifier~1187093766~2095 2)) (set! &id-displacement~1187093766~2103 (record-accessor &:identifier~1187093766~2095 3)) (set! &id-maybe-library~1187093766~2104 (record-accessor &:identifier~1187093766~2095 4)) (set! &id-library~1187093766~2105 (lambda (&id~1187093766~9409) (let ((x (&id-maybe-library~1187093766~2104 &id~1187093766~9409))) (if x x &*current-library*~1187093766~2083)))) (set! &bound-identifier=?~1187093766~2106 (lambda (&x~1187093766~9402 &y~1187093766~9403) (&check~1187093766~2230 &x~1187093766~9402 &identifier?~1187093766~2099 'bound-identifier=?) (&check~1187093766~2230 &y~1187093766~9403 &identifier?~1187093766~2099 'bound-identifier=?) (if (eq? (&id-name~1187093766~2100 &x~1187093766~9402) (&id-name~1187093766~2100 &y~1187093766~9403)) (equal? (&id-colors~1187093766~2101 &x~1187093766~9402) (&id-colors~1187093766~2101 &y~1187093766~9403)) #f))) (set! &free-identifier=?~1187093766~2107 (lambda (&x~1187093766~9378 &y~1187093766~9379) (&check~1187093766~2230 &x~1187093766~9378 &identifier?~1187093766~2099 'free-identifier=?) (&check~1187093766~2230 &y~1187093766~9379 &identifier?~1187093766~2099 'free-identifier=?) ((lambda (&bx~1187093766~9382 &by~1187093766~9383) ((lambda (&result~1187093766~9386) (if &result~1187093766~9386 (if &bx~1187093766~9382 (begin (&check-binding-level~1187093766~2124 &x~1187093766~9378 &bx~1187093766~9382) (&check-binding-level~1187093766~2124 &y~1187093766~9379 &by~1187093766~9383)) #f) #f) (if &result~1187093766~9386 (if (®ister-use!~1187093766~2183 &x~1187093766~9378 &bx~1187093766~9382) (®ister-use!~1187093766~2183 &y~1187093766~9379 &by~1187093766~9383) #f) #f) &result~1187093766~9386) (if &bx~1187093766~9382 (if &by~1187093766~9383 (eq? (&binding-name~1187093766~2114 &bx~1187093766~9382) (&binding-name~1187093766~2114 &by~1187093766~9383)) #f) (if (not &by~1187093766~9383) (eq? (&id-name~1187093766~2100 &x~1187093766~9378) (&id-name~1187093766~2100 &y~1187093766~9379)) #f)))) (&binding~1187093766~2120 &x~1187093766~9378) (&binding~1187093766~2120 &y~1187093766~9379)))) (set! &free=?~1187093766~2108 (lambda (&x~1187093766~9360 &symbol~1187093766~9361) (if (&identifier?~1187093766~2099 &x~1187093766~9360) ((lambda (&bx~1187093766~9366) ((lambda (&result~1187093766~9369) (if &result~1187093766~9369 (if &bx~1187093766~9366 (&check-binding-level~1187093766~2124 &x~1187093766~9360 &bx~1187093766~9366) #f) #f) (if &result~1187093766~9369 (®ister-use!~1187093766~2183 &x~1187093766~9360 &bx~1187093766~9366) #f) &result~1187093766~9369) (if &bx~1187093766~9366 (eq? (&binding-name~1187093766~2114 &bx~1187093766~9366) &symbol~1187093766~9361) #f))) (&binding~1187093766~2120 &x~1187093766~9360)) #f))) (set! &generate-guid~1187093766~2109 ((lambda (&token~1187093766~9354 &ticks~1187093766~9355) (lambda (&symbol~1187093766~9357) (set! &ticks~1187093766~9355 (+ &ticks~1187093766~9355 1)) (string->symbol (string-append ex:guid-prefix (symbol->string &symbol~1187093766~9357) "~" &token~1187093766~9354 "~" (number->string &ticks~1187093766~9355))))) (ex:unique-token) 0)) (set! &make-free-name~1187093766~2110 (lambda (&symbol~1187093766~9351) (string->symbol (string-append ex:free-prefix (symbol->string &symbol~1187093766~9351))))) (set! &generate-color~1187093766~2111 (lambda () (&generate-guid~1187093766~2109 'c))) (set! &make-binding~1187093766~2112 (lambda (&type~1187093766~9343 &name~1187093766~9344 &levels~1187093766~9345 &content~1187093766~9346 &library~1187093766~9347) (list &type~1187093766~9343 &name~1187093766~9344 &levels~1187093766~9345 &content~1187093766~9346 &library~1187093766~9347))) (set! &binding-type~1187093766~2113 (lambda (&b~1187093766~9341) (car &b~1187093766~9341))) (set! &binding-name~1187093766~2114 (lambda (&b~1187093766~9339) (cadr &b~1187093766~9339))) (set! &binding-levels~1187093766~2115 (lambda (&b~1187093766~9337) (caddr &b~1187093766~9337))) (set! &binding-mutable?~1187093766~2116 (lambda (&b~1187093766~9335) (cadddr &b~1187093766~9335))) (set! &binding-dimension~1187093766~2117 (lambda (&b~1187093766~9333) (cadddr &b~1187093766~9333))) (set! &binding-library~1187093766~2118 (lambda (&b~1187093766~9331) (car (cddddr &b~1187093766~9331)))) (set! &binding-mutable-set!~1187093766~2119 (lambda (&b~1187093766~9328 &x~1187093766~9329) (set-car! (cdddr &b~1187093766~9328) &x~1187093766~9329))) (set! &binding~1187093766~2120 (lambda (&id~1187093766~9303) ((lambda (&name~1187093766~9306) (((lambda (&loop~1187093766~9312) ((lambda (&temp~1187093766~9315) (set! &loop~1187093766~9312 &temp~1187093766~9315) ((lambda () &loop~1187093766~9312))) (lambda (&env~1187093766~9320 &envs~1187093766~9321 &colors~1187093766~9322) (let ((x (&env-lookup~1187093766~2129 (cons &name~1187093766~9306 &colors~1187093766~9322) &env~1187093766~9320))) (if x x (if (pair? &envs~1187093766~9321) (&loop~1187093766~9312 (&env-reify~1187093766~2132 (car &envs~1187093766~9321)) (cdr &envs~1187093766~9321) (cdr &colors~1187093766~9322)) #f)))))) &unspecified~1187093766~179) &*usage-env*~1187093766~2068 (&id-transformer-envs~1187093766~2102 &id~1187093766~9303) (&id-colors~1187093766~2101 &id~1187093766~9303))) (&id-name~1187093766~2100 &id~1187093766~9303)))) (set! &make-local-mapping~1187093766~2121 (lambda (&type~1187093766~9299 &id~1187093766~9300 &content~1187093766~9301) (cons (cons (&id-name~1187093766~2100 &id~1187093766~9300) (&id-colors~1187093766~2101 &id~1187093766~9300)) (&make-binding~1187093766~2112 &type~1187093766~9299 (&generate-guid~1187093766~2109 (&id-name~1187093766~2100 &id~1187093766~9300)) (list (&source-level~1187093766~2123 &id~1187093766~9300)) &content~1187093766~9301 &*current-library*~1187093766~2083)))) (set! &make-toplevel-mapping~1187093766~2122 (lambda (&type~1187093766~9293 &id~1187093766~9294 &content~1187093766~9295) (if (null? (&id-colors~1187093766~2101 &id~1187093766~9294)) (cons (cons (&id-name~1187093766~2100 &id~1187093766~9294) (&id-colors~1187093766~2101 &id~1187093766~9294)) (&make-binding~1187093766~2112 &type~1187093766~9293 (&make-free-name~1187093766~2110 (&id-name~1187093766~2100 &id~1187093766~9294)) '(0) &content~1187093766~9295 &*current-library*~1187093766~2083)) (&make-local-mapping~1187093766~2121 &type~1187093766~9293 &id~1187093766~9294 &content~1187093766~9295)))) (set! &source-level~1187093766~2123 (lambda (&id~1187093766~9291) (- &*phase*~1187093766~2071 (&id-displacement~1187093766~2103 &id~1187093766~9291)))) (set! &check-binding-level~1187093766~2124 (lambda (&id~1187093766~9281 &binding~1187093766~9282) (if &binding~1187093766~9282 (let ((x (memv (&source-level~1187093766~2123 &id~1187093766~9281) (&binding-levels~1187093766~2115 &binding~1187093766~9282)))) (if x x (&syntax-violation~1187093766~2207 "invalid reference" (string-append "Attempt to use binding of " (symbol->string (&id-name~1187093766~2100 &id~1187093766~9281)) " in library (" (&list->string~1187093766~2228 (&id-library~1187093766~2105 &id~1187093766~9281) " ") ") at invalid level " (number->string (&source-level~1187093766~2123 &id~1187093766~9281)) ". Binding is only available at levels: " (&list->string~1187093766~2228 (&binding-levels~1187093766~2115 &binding~1187093766~9282) " ")) &id~1187093766~9281))) (let ((x (if (null? (&id-library~1187093766~2105 &id~1187093766~9281)) (= &*phase*~1187093766~2071 0) #f))) (if x x (&syntax-violation~1187093766~2207 "invalid reference" (string-append "No binding available for " (symbol->string (&id-name~1187093766~2100 &id~1187093766~9281)) " in library (" (&list->string~1187093766~2228 (&id-library~1187093766~2105 &id~1187093766~9281) " ") ")") &id~1187093766~9281)))))) (set! &make-null-env~1187093766~2125 (lambda () '())) (set! &make-unit-env~1187093766~2126 (lambda () (&env-extend~1187093766~2127 '() (&make-null-env~1187093766~2125)))) (set! &env-extend~1187093766~2127 (lambda (&mappings~1187093766~9274 &env~1187093766~9275) (cons (list &mappings~1187093766~9274) &env~1187093766~9275))) (set! &env-extend!~1187093766~2128 (lambda (&mappings~1187093766~9268 &env~1187093766~9269) ((lambda (&frame~1187093766~9272) (set-car! &frame~1187093766~9272 (append &mappings~1187093766~9268 (car &frame~1187093766~9272)))) (car &env~1187093766~9269)))) (set! &env-lookup~1187093766~2129 (lambda (&key~1187093766~9254 &env~1187093766~9255) (if (pair? &env~1187093766~9255) (let ((x ((lambda (&probe~1187093766~9261) (if &probe~1187093766~9261 (let ((x (cdr &probe~1187093766~9261))) (if x x (&syntax-violation~1187093766~2207 #f "Out of context reference to identifier" (car &key~1187093766~9254)))) #f)) (assoc &key~1187093766~9254 (caar &env~1187093766~9255))))) (if x x (&env-lookup~1187093766~2129 &key~1187093766~9254 (cdr &env~1187093766~9255)))) #f))) (set! &duplicate?~1187093766~2130 (lambda (&id~1187093766~9251 &env~1187093766~9252) (assoc (cons (&id-name~1187093766~2100 &id~1187093766~9251) (&id-colors~1187093766~2101 &id~1187093766~9251)) (caar &env~1187093766~9252)))) (set! &env-reflect~1187093766~2131 (lambda (&env~1187093766~9238) (if (if (not (null? &*env-table*~1187093766~2080)) (eq? &env~1187093766~9238 (cdar &*env-table*~1187093766~2080)) #f) (begin (caar &*env-table*~1187093766~2080)) (begin ((lambda (&key~1187093766~9247) (set! &*env-table*~1187093766~2080 (cons (cons &key~1187093766~9247 &env~1187093766~9238) &*env-table*~1187093766~2080)) &key~1187093766~9247) (&generate-guid~1187093766~2109 'env)))))) (set! &env-reify~1187093766~2132 (lambda (&key-or-env~1187093766~9235) (if (symbol? &key-or-env~1187093766~9235) (cdr (assq &key-or-env~1187093766~9235 &*env-table*~1187093766~2080)) &key-or-env~1187093766~9235))) (set! &compress~1187093766~2133 (lambda (&env-table~1187093766~9201) ((lambda (&frame-table~1187093766~9204 &count~1187093766~9205) (for-each (lambda (&entry~1187093766~9226) (for-each (lambda (&frame~1187093766~9228) (if (not (assq &frame~1187093766~9228 &frame-table~1187093766~9204)) (begin (set! &frame-table~1187093766~9204 (cons (cons &frame~1187093766~9228 &count~1187093766~9205) &frame-table~1187093766~9204)) (set! &count~1187093766~9205 (+ 1 &count~1187093766~9205))))) (cdr &entry~1187093766~9226))) &env-table~1187093766~9201) (cons (map (lambda (&env-entry~1187093766~9207) (cons (car &env-entry~1187093766~9207) (map (lambda (&frame~1187093766~9209) (cdr (assq &frame~1187093766~9209 &frame-table~1187093766~9204))) (cdr &env-entry~1187093766~9207)))) &env-table~1187093766~9201) (map (lambda (&frame-entry~1187093766~9211) (cons (cdr &frame-entry~1187093766~9211) (list (map (lambda (&mapping~1187093766~9213) (cons (car &mapping~1187093766~9213) ((lambda (&binding~1187093766~9216) ((lambda (&t~1187093766~9220) (if (memv &t~1187093766~9220 '(pattern-variable)) (begin #f) (begin &binding~1187093766~9216))) (&binding-type~1187093766~2113 &binding~1187093766~9216))) (cdr &mapping~1187093766~9213)))) (caar &frame-entry~1187093766~9211))))) &frame-table~1187093766~9204))) '() 0))) (set! &uncompress~1187093766~2134 (lambda (&compressed-env-table~1187093766~9195) (map (lambda (&env-entry~1187093766~9197) (cons (car &env-entry~1187093766~9197) (map (lambda (&frame-abbrev~1187093766~9199) (cdr (assv &frame-abbrev~1187093766~9199 (cdr &compressed-env-table~1187093766~9195)))) (cdr &env-entry~1187093766~9197)))) (car &compressed-env-table~1187093766~9195)))) (set! &syntax-reflect~1187093766~2135 (lambda (&id~1187093766~9186) (set! &*syntax-reflected*~1187093766~2092 #t) (list 'ex:syntax-rename (list 'quote (&id-name~1187093766~2100 &id~1187093766~9186)) (list 'quote (&id-colors~1187093766~2101 &id~1187093766~9186)) (list 'quote (cons (&env-reflect~1187093766~2131 &*usage-env*~1187093766~2068) (&id-transformer-envs~1187093766~2102 &id~1187093766~9186))) (- &*phase*~1187093766~2071 (&id-displacement~1187093766~2103 &id~1187093766~9186) 1) (list 'quote (&id-library~1187093766~2105 &id~1187093766~9186))))) (set! &syntax-rename~1187093766~2136 (lambda (&name~1187093766~9180 &colors~1187093766~9181 &transformer-envs~1187093766~9182 &transformer-phase~1187093766~9183 &source-library~1187093766~9184) (&make-identifier~1187093766~2098 &name~1187093766~9180 (cons &*color*~1187093766~2074 &colors~1187093766~9181) &transformer-envs~1187093766~9182 (- &*phase*~1187093766~2071 &transformer-phase~1187093766~9183) &source-library~1187093766~9184))) (set! &datum->syntax~1187093766~2137 (lambda (&tid~1187093766~9170 &datum~1187093766~9171) (&check~1187093766~2230 &tid~1187093766~9170 &identifier?~1187093766~2099 'datum->syntax) (&sexp-map~1187093766~2218 (lambda (&leaf~1187093766~9173) (if (symbol? &leaf~1187093766~9173) (begin (&make-identifier~1187093766~2098 &leaf~1187093766~9173 (&id-colors~1187093766~2101 &tid~1187093766~9170) (&id-transformer-envs~1187093766~2102 &tid~1187093766~9170) (&id-displacement~1187093766~2103 &tid~1187093766~9170) (&id-maybe-library~1187093766~2104 &tid~1187093766~9170))) (begin &leaf~1187093766~9173))) &datum~1187093766~9171))) (set! &syntax->datum~1187093766~2138 (lambda (&exp~1187093766~9159) (&sexp-map~1187093766~2218 (lambda (&leaf~1187093766~9161) (if (&identifier?~1187093766~2099 &leaf~1187093766~9161) (begin (&id-name~1187093766~2100 &leaf~1187093766~9161)) (if (symbol? &leaf~1187093766~9161) (begin (assertion-violation 'syntax->datum "A symbol is not a valid syntax object" &leaf~1187093766~9161)) (begin &leaf~1187093766~9161)))) &exp~1187093766~9159))) (set! &generate-temporaries~1187093766~2139 (lambda (&ls~1187093766~9153) (&check~1187093766~2230 &ls~1187093766~9153 list? 'generate-temporaries) (map (lambda (&ignore~1187093766~9155) (&make-identifier~1187093766~2098 'temp (list (&generate-color~1187093766~2111)) (list (&make-null-env~1187093766~2125)) &*phase*~1187093766~2071 #f)) &ls~1187093766~9153))) (set! &rename~1187093766~2140 (lambda (&type~1187093766~9147 &symbol~1187093766~9148) (&make-identifier~1187093766~2098 &symbol~1187093766~9148 (list &*color*~1187093766~2074) (list (&env-extend~1187093766~2127 (list (cons (cons &symbol~1187093766~9148 '()) (&make-binding~1187093766~2112 &type~1187093766~9147 &symbol~1187093766~9148 '(0) #f '()))) (&make-null-env~1187093766~2125))) &*phase*~1187093766~2071 #f))) (set! &make-macro~1187093766~2141 (lambda (&type~1187093766~9144 &proc~1187093766~9145) (list &type~1187093766~9144 &proc~1187093766~9145))) (set! ¯o-type~1187093766~2142 car) (set! ¯o-proc~1187093766~2143 cadr) (set! &make-expander~1187093766~2144 (lambda (&proc~1187093766~9141) (&make-macro~1187093766~2141 'expander &proc~1187093766~9141))) (set! &make-transformer~1187093766~2145 (lambda (&proc~1187093766~9138) (&make-macro~1187093766~2141 'transformer &proc~1187093766~9138))) (set! &make-variable-transformer~1187093766~2146 (lambda (&proc~1187093766~9135) (&make-macro~1187093766~2141 'variable-transformer &proc~1187093766~9135))) (set! &make-user-macro~1187093766~2147 (lambda (&procedure-or-macro~1187093766~9132) (if (procedure? &procedure-or-macro~1187093766~9132) (&make-transformer~1187093766~2145 &procedure-or-macro~1187093766~9132) &procedure-or-macro~1187093766~9132))) (set! &binding->macro~1187093766~2148 (lambda (&binding~1187093766~9123 &t~1187093766~9124) ((lambda (&t~1187093766~9128) (if &t~1187093766~9128 (cdr &t~1187093766~9128) (begin (&syntax-violation~1187093766~2207 #f "Reference to macro keyword out of context" &t~1187093766~9124)))) (assq (&binding-name~1187093766~2114 &binding~1187093766~9123) &*macro-table*~1187093766~2077)))) (set! ®ister-macro!~1187093766~2149 (lambda (&binding-name~1187093766~9119 &procedure-or-macro~1187093766~9120) (set! &*macro-table*~1187093766~2077 (cons (cons &binding-name~1187093766~9119 (&make-user-macro~1187093766~2147 &procedure-or-macro~1187093766~9120)) &*macro-table*~1187093766~2077)))) (set! &invoke-macro~1187093766~2150 (lambda (¯o~1187093766~9115 &t~1187093766~9116) (set! &*color*~1187093766~2074 (&generate-color~1187093766~2111)) ((¯o-proc~1187093766~2143 ¯o~1187093766~9115) &t~1187093766~9116))) (set! &expand~1187093766~2151 (lambda (&t~1187093766~9060) ((lambda (&saved~1187093766~9064) (set! &*trace*~1187093766~2089 (cons &t~1187093766~9060 &*trace*~1187093766~2089)) (call-with-values (lambda () ((lambda (&binding~1187093766~9069) (if &binding~1187093766~9069 (begin ((lambda (&t~1187093766~9076) (if (memv &t~1187093766~9076 '(macro)) (begin ((lambda (¯o~1187093766~9082) ((lambda (&expanded-once~1187093766~9085) ((lambda (&t~1187093766~9089) (if (memv &t~1187093766~9089 '(expander)) (begin &expanded-once~1187093766~9085) (begin (&expand~1187093766~2151 &expanded-once~1187093766~9085)))) (¯o-type~1187093766~2142 ¯o~1187093766~9082))) (&invoke-macro~1187093766~2150 ¯o~1187093766~9082 &t~1187093766~9060))) (&binding->macro~1187093766~2148 &binding~1187093766~9069 &t~1187093766~9060))) (if (memv &t~1187093766~9076 '(variable)) (begin (&check-implicit-import-of-mutable~1187093766~2154 &binding~1187093766~9069 &t~1187093766~9060) (if (list? &t~1187093766~9060) (cons (&binding-name~1187093766~2114 &binding~1187093766~9069) (map &expand~1187093766~2151 (cdr &t~1187093766~9060))) (&binding-name~1187093766~2114 &binding~1187093766~9069))) (if (memv &t~1187093766~9076 '(pattern-variable)) (begin (&syntax-violation~1187093766~2207 #f "Pattern variable used outside syntax template" &t~1187093766~9060)))))) (&binding-type~1187093766~2113 &binding~1187093766~9069))) (if (list? &t~1187093766~9060) (begin (map &expand~1187093766~2151 &t~1187093766~9060)) (if (&identifier?~1187093766~2099 &t~1187093766~9060) (begin (&make-free-name~1187093766~2110 (&id-name~1187093766~2100 &t~1187093766~9060))) (if (pair? &t~1187093766~9060) (begin (&syntax-violation~1187093766~2207 #f "Invalid procedure call syntax" &t~1187093766~9060)) (if (symbol? &t~1187093766~9060) (begin (&syntax-violation~1187093766~2207 #f "Symbol may not appear in syntax object" &t~1187093766~9060)) (begin &t~1187093766~9060))))))) (&operator-binding~1187093766~2153 &t~1187093766~9060))) (lambda &results~1187093766~9111 (set! &*trace*~1187093766~2089 &saved~1187093766~9064) (apply values &results~1187093766~9111)))) &*trace*~1187093766~2089))) (set! &head-expand~1187093766~2152 (lambda (&t~1187093766~9022) ((lambda (&saved~1187093766~9026) (set! &*trace*~1187093766~2089 (cons &t~1187093766~9022 &*trace*~1187093766~2089)) (call-with-values (lambda () ((lambda (&binding~1187093766~9031) (if &binding~1187093766~9031 (begin ((lambda (&t~1187093766~9038) (if (memv &t~1187093766~9038 '(macro)) (begin ((lambda (¯o~1187093766~9044) ((lambda (&t~1187093766~9048) (if (memv &t~1187093766~9048 '(expander)) (begin (values &t~1187093766~9022 &binding~1187093766~9031)) (begin (&head-expand~1187093766~2152 (&invoke-macro~1187093766~2150 ¯o~1187093766~9044 &t~1187093766~9022))))) (¯o-type~1187093766~2142 ¯o~1187093766~9044))) (&binding->macro~1187093766~2148 &binding~1187093766~9031 &t~1187093766~9022))) (begin (values &t~1187093766~9022 &binding~1187093766~9031)))) (&binding-type~1187093766~2113 &binding~1187093766~9031))) (begin (values &t~1187093766~9022 &binding~1187093766~9031)))) (&operator-binding~1187093766~2153 &t~1187093766~9022))) (lambda &results~1187093766~9056 (set! &*trace*~1187093766~2089 &saved~1187093766~9026) (apply values &results~1187093766~9056)))) &*trace*~1187093766~2089))) (set! &operator-binding~1187093766~2153 (lambda (&t~1187093766~9011) ((lambda (&operator~1187093766~9014) (if (&identifier?~1187093766~2099 &operator~1187093766~9014) ((lambda (&binding~1187093766~9019) (&check-binding-level~1187093766~2124 &operator~1187093766~9014 &binding~1187093766~9019) (®ister-use!~1187093766~2183 &operator~1187093766~9014 &binding~1187093766~9019) &binding~1187093766~9019) (&binding~1187093766~2120 &operator~1187093766~9014)) #f)) (if (pair? &t~1187093766~9011) (car &t~1187093766~9011) &t~1187093766~9011)))) (set! &check-implicit-import-of-mutable~1187093766~2154 (lambda (&binding~1187093766~9005 &t~1187093766~9006) (let ((x (equal? (&binding-library~1187093766~2118 &binding~1187093766~9005) &*current-library*~1187093766~2083))) (if x x (let ((x (not (&binding-mutable?~1187093766~2116 &binding~1187093766~9005)))) (if x x (&syntax-violation~1187093766~2207 #f (string-append "Attempt to implicitly import variable that is mutable in library (" (&list->string~1187093766~2228 (&binding-library~1187093766~2118 &binding~1187093766~9005) " ") ")") &t~1187093766~9006))))))) (set! &expand-quote~1187093766~2155 (lambda (&exp~1187093766~8959) ((lambda (&x~1187093766~8972 &sk~1187093766~8973 &fk~1187093766~8974) (if (pair? &x~1187093766~8972) ((lambda (&x~1187093766~8977 &sk~1187093766~8978 &fk~1187093766~8979) (&sk~1187093766~8978)) (car &x~1187093766~8972) (lambda () ((lambda (&x~1187093766~8982 &sk~1187093766~8983 &fk~1187093766~8984) (if (pair? &x~1187093766~8982) ((lambda (&x~1187093766~8987 &sk~1187093766~8988 &fk~1187093766~8989) (&sk~1187093766~8988 &x~1187093766~8987)) (car &x~1187093766~8982) (lambda (&datum~1187093766~8991) ((lambda (&x~1187093766~8993 &sk~1187093766~8994 &fk~1187093766~8995) (if (null? &x~1187093766~8993) (&sk~1187093766~8994) (&fk~1187093766~8995))) (cdr &x~1187093766~8982) (lambda () (&sk~1187093766~8983 &datum~1187093766~8991)) &fk~1187093766~8984)) &fk~1187093766~8984) (&fk~1187093766~8984))) (cdr &x~1187093766~8972) (lambda (&datum~1187093766~8999) (&sk~1187093766~8973 &datum~1187093766~8999)) &fk~1187093766~8974)) &fk~1187093766~8974) (&fk~1187093766~8974))) &exp~1187093766~8959 (lambda (&datum~1187093766~9001) (&syntax->datum~1187093766~2138 &exp~1187093766~8959)) (lambda () (invalid-form &exp~1187093766~8959))))) (set! &expand-if~1187093766~2156 (lambda (&exp~1187093766~8808) ((lambda (&x~1187093766~8829 &sk~1187093766~8830 &fk~1187093766~8831) (if (pair? &x~1187093766~8829) ((lambda (&x~1187093766~8834 &sk~1187093766~8835 &fk~1187093766~8836) (&sk~1187093766~8835)) (car &x~1187093766~8829) (lambda () ((lambda (&x~1187093766~8839 &sk~1187093766~8840 &fk~1187093766~8841) (if (pair? &x~1187093766~8839) ((lambda (&x~1187093766~8844 &sk~1187093766~8845 &fk~1187093766~8846) (&sk~1187093766~8845 &x~1187093766~8844)) (car &x~1187093766~8839) (lambda (&e1~1187093766~8848) ((lambda (&x~1187093766~8850 &sk~1187093766~8851 &fk~1187093766~8852) (if (pair? &x~1187093766~8850) ((lambda (&x~1187093766~8855 &sk~1187093766~8856 &fk~1187093766~8857) (&sk~1187093766~8856 &x~1187093766~8855)) (car &x~1187093766~8850) (lambda (&e2~1187093766~8859) ((lambda (&x~1187093766~8861 &sk~1187093766~8862 &fk~1187093766~8863) (if (pair? &x~1187093766~8861) ((lambda (&x~1187093766~8866 &sk~1187093766~8867 &fk~1187093766~8868) (&sk~1187093766~8867 &x~1187093766~8866)) (car &x~1187093766~8861) (lambda (&e3~1187093766~8870) ((lambda (&x~1187093766~8872 &sk~1187093766~8873 &fk~1187093766~8874) (if (null? &x~1187093766~8872) (&sk~1187093766~8873) (&fk~1187093766~8874))) (cdr &x~1187093766~8861) (lambda () (&sk~1187093766~8862 &e3~1187093766~8870)) &fk~1187093766~8863)) &fk~1187093766~8863) (&fk~1187093766~8863))) (cdr &x~1187093766~8850) (lambda (&e3~1187093766~8878) (&sk~1187093766~8851 &e2~1187093766~8859 &e3~1187093766~8878)) &fk~1187093766~8852)) &fk~1187093766~8852) (&fk~1187093766~8852))) (cdr &x~1187093766~8839) (lambda (&e2~1187093766~8880 &e3~1187093766~8881) (&sk~1187093766~8840 &e1~1187093766~8848 &e2~1187093766~8880 &e3~1187093766~8881)) &fk~1187093766~8841)) &fk~1187093766~8841) (&fk~1187093766~8841))) (cdr &x~1187093766~8829) (lambda (&e1~1187093766~8883 &e2~1187093766~8884 &e3~1187093766~8885) (&sk~1187093766~8830 &e1~1187093766~8883 &e2~1187093766~8884 &e3~1187093766~8885)) &fk~1187093766~8831)) &fk~1187093766~8831) (&fk~1187093766~8831))) &exp~1187093766~8808 (lambda (&e1~1187093766~8887 &e2~1187093766~8888 &e3~1187093766~8889) (list 'if (&expand~1187093766~2151 &e1~1187093766~8887) (&expand~1187093766~2151 &e2~1187093766~8888) (&expand~1187093766~2151 &e3~1187093766~8889))) (lambda () ((lambda (&x~1187093766~8909 &sk~1187093766~8910 &fk~1187093766~8911) (if (pair? &x~1187093766~8909) ((lambda (&x~1187093766~8914 &sk~1187093766~8915 &fk~1187093766~8916) (&sk~1187093766~8915)) (car &x~1187093766~8909) (lambda () ((lambda (&x~1187093766~8919 &sk~1187093766~8920 &fk~1187093766~8921) (if (pair? &x~1187093766~8919) ((lambda (&x~1187093766~8924 &sk~1187093766~8925 &fk~1187093766~8926) (&sk~1187093766~8925 &x~1187093766~8924)) (car &x~1187093766~8919) (lambda (&e1~1187093766~8928) ((lambda (&x~1187093766~8930 &sk~1187093766~8931 &fk~1187093766~8932) (if (pair? &x~1187093766~8930) ((lambda (&x~1187093766~8935 &sk~1187093766~8936 &fk~1187093766~8937) (&sk~1187093766~8936 &x~1187093766~8935)) (car &x~1187093766~8930) (lambda (&e2~1187093766~8939) ((lambda (&x~1187093766~8941 &sk~1187093766~8942 &fk~1187093766~8943) (if (null? &x~1187093766~8941) (&sk~1187093766~8942) (&fk~1187093766~8943))) (cdr &x~1187093766~8930) (lambda () (&sk~1187093766~8931 &e2~1187093766~8939)) &fk~1187093766~8932)) &fk~1187093766~8932) (&fk~1187093766~8932))) (cdr &x~1187093766~8919) (lambda (&e2~1187093766~8947) (&sk~1187093766~8920 &e1~1187093766~8928 &e2~1187093766~8947)) &fk~1187093766~8921)) &fk~1187093766~8921) (&fk~1187093766~8921))) (cdr &x~1187093766~8909) (lambda (&e1~1187093766~8949 &e2~1187093766~8950) (&sk~1187093766~8910 &e1~1187093766~8949 &e2~1187093766~8950)) &fk~1187093766~8911)) &fk~1187093766~8911) (&fk~1187093766~8911))) &exp~1187093766~8808 (lambda (&e1~1187093766~8952 &e2~1187093766~8953) (list 'if (&expand~1187093766~2151 &e1~1187093766~8952) (&expand~1187093766~2151 &e2~1187093766~8953))) (lambda () (invalid-form &exp~1187093766~8808))))))) (set! &expand-set!~1187093766~2157 (lambda (&exp~1187093766~8702) ((lambda (&x~1187093766~8721 &sk~1187093766~8722 &fk~1187093766~8723) (if (pair? &x~1187093766~8721) ((lambda (&x~1187093766~8726 &sk~1187093766~8727 &fk~1187093766~8728) (&sk~1187093766~8727)) (car &x~1187093766~8721) (lambda () ((lambda (&x~1187093766~8731 &sk~1187093766~8732 &fk~1187093766~8733) (if (pair? &x~1187093766~8731) ((lambda (&x~1187093766~8736 &sk~1187093766~8737 &fk~1187093766~8738) (if (&identifier?~1187093766~2099 &x~1187093766~8736) ((lambda (&x~1187093766~8741 &sk~1187093766~8742 &fk~1187093766~8743) (&sk~1187093766~8742 &x~1187093766~8741)) &x~1187093766~8736 &sk~1187093766~8737 &fk~1187093766~8738) (&fk~1187093766~8738))) (car &x~1187093766~8731) (lambda (&id~1187093766~8745) ((lambda (&x~1187093766~8747 &sk~1187093766~8748 &fk~1187093766~8749) (if (pair? &x~1187093766~8747) ((lambda (&x~1187093766~8752 &sk~1187093766~8753 &fk~1187093766~8754) (&sk~1187093766~8753 &x~1187093766~8752)) (car &x~1187093766~8747) (lambda (&e~1187093766~8756) ((lambda (&x~1187093766~8758 &sk~1187093766~8759 &fk~1187093766~8760) (if (null? &x~1187093766~8758) (&sk~1187093766~8759) (&fk~1187093766~8760))) (cdr &x~1187093766~8747) (lambda () (&sk~1187093766~8748 &e~1187093766~8756)) &fk~1187093766~8749)) &fk~1187093766~8749) (&fk~1187093766~8749))) (cdr &x~1187093766~8731) (lambda (&e~1187093766~8764) (&sk~1187093766~8732 &id~1187093766~8745 &e~1187093766~8764)) &fk~1187093766~8733)) &fk~1187093766~8733) (&fk~1187093766~8733))) (cdr &x~1187093766~8721) (lambda (&id~1187093766~8766 &e~1187093766~8767) (&sk~1187093766~8722 &id~1187093766~8766 &e~1187093766~8767)) &fk~1187093766~8723)) &fk~1187093766~8723) (&fk~1187093766~8723))) &exp~1187093766~8702 (lambda (&id~1187093766~8769 &e~1187093766~8770) ((lambda (&binding~1187093766~8773) (&check-binding-level~1187093766~2124 &id~1187093766~8769 &binding~1187093766~8773) (®ister-use!~1187093766~2183 &id~1187093766~8769 &binding~1187093766~8773) ((lambda (&t~1187093766~8777) (if (memv &t~1187093766~8777 '(macro)) (begin ((lambda (¯o~1187093766~8783) ((lambda (&t~1187093766~8787) (if (memv &t~1187093766~8787 '(variable-transformer)) (begin (&expand~1187093766~2151 (&invoke-macro~1187093766~2150 ¯o~1187093766~8783 &exp~1187093766~8702))) (begin (&syntax-violation~1187093766~2207 'set! "Keyword being set! is not a variable transformer" &exp~1187093766~8702 &id~1187093766~8769)))) (¯o-type~1187093766~2142 ¯o~1187093766~8783))) (&binding->macro~1187093766~2148 &binding~1187093766~8773 &id~1187093766~8769))) (if (memv &t~1187093766~8777 '(variable)) (begin (let ((x (eq? (&binding-library~1187093766~2118 &binding~1187093766~8773) &*current-library*~1187093766~2083))) (if x x (&syntax-violation~1187093766~2207 'set! "Directly or indirectly imported variable cannot be assigned" &exp~1187093766~8702 &id~1187093766~8769))) (&binding-mutable-set!~1187093766~2119 &binding~1187093766~8773 #t) (list 'set! (&binding-name~1187093766~2114 &binding~1187093766~8773) (&expand~1187093766~2151 &e~1187093766~8770))) (if (memv &t~1187093766~8777 '(pattern-variable)) (begin (&syntax-violation~1187093766~2207 'set! "Pattern variable used outside syntax template" &exp~1187093766~8702 &id~1187093766~8769)))))) (&binding-type~1187093766~2113 &binding~1187093766~8773))) (&binding~1187093766~2120 &id~1187093766~8769))) (lambda () (invalid-form &exp~1187093766~8702))))) (set! &expand-begin~1187093766~2158 (lambda (&exp~1187093766~8609) ((lambda (&x~1187093766~8620 &sk~1187093766~8621 &fk~1187093766~8622) (if (pair? &x~1187093766~8620) ((lambda (&x~1187093766~8625 &sk~1187093766~8626 &fk~1187093766~8627) (&sk~1187093766~8626)) (car &x~1187093766~8620) (lambda () ((lambda (&x~1187093766~8630 &sk~1187093766~8631 &fk~1187093766~8632) (((lambda (&loop~1187093766~8638) ((lambda (&temp~1187093766~8641) (set! &loop~1187093766~8638 &temp~1187093766~8641) ((lambda () &loop~1187093766~8638))) (lambda (&x~1187093766~8646 &result~1187093766~8647) ((lambda (&match-tail~1187093766~8648) (set! &match-tail~1187093766~8648 (lambda () ((lambda (&x~1187093766~8666 &sk~1187093766~8667 &fk~1187093766~8668) (if (null? &x~1187093766~8666) (&sk~1187093766~8667) (&fk~1187093766~8668))) &x~1187093766~8646 (lambda () (apply &sk~1187093766~8631 (if (null? &result~1187093766~8647) (map (lambda (&ignore~1187093766~8673) '()) '(exps)) (apply map list (reverse &result~1187093766~8647))))) (lambda () ((lambda (&x~1187093766~8681 &sk~1187093766~8682 &fk~1187093766~8683) (&sk~1187093766~8682)) &x~1187093766~8646 (lambda () (&fk~1187093766~8632)) (lambda () (invalid-form &x~1187093766~8646))))))) (if (null? &x~1187093766~8646) (begin (&match-tail~1187093766~8648)) (if (pair? &x~1187093766~8646) (begin ((lambda (&x~1187093766~8655 &sk~1187093766~8656 &fk~1187093766~8657) (&sk~1187093766~8656 &x~1187093766~8655)) (car &x~1187093766~8646) (lambda &car-vars~1187093766~8659 (&loop~1187093766~8638 (cdr &x~1187093766~8646) (cons &car-vars~1187093766~8659 &result~1187093766~8647))) &match-tail~1187093766~8648)) (begin (&fk~1187093766~8632))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~8630 '())) (cdr &x~1187093766~8620) (lambda (&exps~1187093766~8689) (&sk~1187093766~8621 &exps~1187093766~8689)) &fk~1187093766~8622)) &fk~1187093766~8622) (&fk~1187093766~8622))) &exp~1187093766~8609 (lambda (&exps~1187093766~8691) (&scan-sequence~1187093766~2167 'expression-sequence #f &exps~1187093766~8691 (lambda (&forms~1187093766~8694 &no-syntax-definitions~1187093766~8695 &no-bound-variables~1187093766~8696) (cons 'begin (map cdr &forms~1187093766~8694))))) (lambda () (invalid-form &exp~1187093766~8609))))) (set! &expand-local-syntax~1187093766~2159 (lambda (&exp~1187093766~8604) (&expand-begin~1187093766~2158 (list (&rename~1187093766~2140 'macro 'begin) &exp~1187093766~8604)))) (set! &expand-and~1187093766~2160 (lambda (&exp~1187093766~8421) ((lambda (&x~1187093766~8430 &sk~1187093766~8431 &fk~1187093766~8432) (if (pair? &x~1187093766~8430) ((lambda (&x~1187093766~8435 &sk~1187093766~8436 &fk~1187093766~8437) (&sk~1187093766~8436 &x~1187093766~8435)) (car &x~1187093766~8430) (lambda (&and~1187093766~8439) ((lambda (&x~1187093766~8441 &sk~1187093766~8442 &fk~1187093766~8443) (if (null? &x~1187093766~8441) (&sk~1187093766~8442) (&fk~1187093766~8443))) (cdr &x~1187093766~8430) (lambda () (&sk~1187093766~8431 &and~1187093766~8439)) &fk~1187093766~8432)) &fk~1187093766~8432) (&fk~1187093766~8432))) &exp~1187093766~8421 (lambda (&and~1187093766~8447) #t) (lambda () ((lambda (&x~1187093766~8461 &sk~1187093766~8462 &fk~1187093766~8463) (if (pair? &x~1187093766~8461) ((lambda (&x~1187093766~8466 &sk~1187093766~8467 &fk~1187093766~8468) (&sk~1187093766~8467 &x~1187093766~8466)) (car &x~1187093766~8461) (lambda (&and~1187093766~8470) ((lambda (&x~1187093766~8472 &sk~1187093766~8473 &fk~1187093766~8474) (if (pair? &x~1187093766~8472) ((lambda (&x~1187093766~8477 &sk~1187093766~8478 &fk~1187093766~8479) (&sk~1187093766~8478 &x~1187093766~8477)) (car &x~1187093766~8472) (lambda (&e~1187093766~8481) ((lambda (&x~1187093766~8483 &sk~1187093766~8484 &fk~1187093766~8485) (if (null? &x~1187093766~8483) (&sk~1187093766~8484) (&fk~1187093766~8485))) (cdr &x~1187093766~8472) (lambda () (&sk~1187093766~8473 &e~1187093766~8481)) &fk~1187093766~8474)) &fk~1187093766~8474) (&fk~1187093766~8474))) (cdr &x~1187093766~8461) (lambda (&e~1187093766~8489) (&sk~1187093766~8462 &and~1187093766~8470 &e~1187093766~8489)) &fk~1187093766~8463)) &fk~1187093766~8463) (&fk~1187093766~8463))) &exp~1187093766~8421 (lambda (&and~1187093766~8491 &e~1187093766~8492) (&expand~1187093766~2151 &e~1187093766~8492)) (lambda () ((lambda (&x~1187093766~8508 &sk~1187093766~8509 &fk~1187093766~8510) (if (pair? &x~1187093766~8508) ((lambda (&x~1187093766~8513 &sk~1187093766~8514 &fk~1187093766~8515) (&sk~1187093766~8514 &x~1187093766~8513)) (car &x~1187093766~8508) (lambda (&and~1187093766~8517) ((lambda (&x~1187093766~8519 &sk~1187093766~8520 &fk~1187093766~8521) (if (pair? &x~1187093766~8519) ((lambda (&x~1187093766~8524 &sk~1187093766~8525 &fk~1187093766~8526) (&sk~1187093766~8525 &x~1187093766~8524)) (car &x~1187093766~8519) (lambda (&e~1187093766~8528) ((lambda (&x~1187093766~8530 &sk~1187093766~8531 &fk~1187093766~8532) (((lambda (&loop~1187093766~8538) ((lambda (&temp~1187093766~8541) (set! &loop~1187093766~8538 &temp~1187093766~8541) ((lambda () &loop~1187093766~8538))) (lambda (&x~1187093766~8546 &result~1187093766~8547) ((lambda (&match-tail~1187093766~8548) (set! &match-tail~1187093766~8548 (lambda () ((lambda (&x~1187093766~8566 &sk~1187093766~8567 &fk~1187093766~8568) (if (null? &x~1187093766~8566) (&sk~1187093766~8567) (&fk~1187093766~8568))) &x~1187093766~8546 (lambda () (apply &sk~1187093766~8531 (if (null? &result~1187093766~8547) (map (lambda (&ignore~1187093766~8573) '()) '(es)) (apply map list (reverse &result~1187093766~8547))))) (lambda () ((lambda (&x~1187093766~8581 &sk~1187093766~8582 &fk~1187093766~8583) (&sk~1187093766~8582)) &x~1187093766~8546 (lambda () (&fk~1187093766~8532)) (lambda () (invalid-form &x~1187093766~8546))))))) (if (null? &x~1187093766~8546) (begin (&match-tail~1187093766~8548)) (if (pair? &x~1187093766~8546) (begin ((lambda (&x~1187093766~8555 &sk~1187093766~8556 &fk~1187093766~8557) (&sk~1187093766~8556 &x~1187093766~8555)) (car &x~1187093766~8546) (lambda &car-vars~1187093766~8559 (&loop~1187093766~8538 (cdr &x~1187093766~8546) (cons &car-vars~1187093766~8559 &result~1187093766~8547))) &match-tail~1187093766~8548)) (begin (&fk~1187093766~8532))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~8530 '())) (cdr &x~1187093766~8519) (lambda (&es~1187093766~8589) (&sk~1187093766~8520 &e~1187093766~8528 &es~1187093766~8589)) &fk~1187093766~8521)) &fk~1187093766~8521) (&fk~1187093766~8521))) (cdr &x~1187093766~8508) (lambda (&e~1187093766~8591 &es~1187093766~8592) (&sk~1187093766~8509 &and~1187093766~8517 &e~1187093766~8591 &es~1187093766~8592)) &fk~1187093766~8510)) &fk~1187093766~8510) (&fk~1187093766~8510))) &exp~1187093766~8421 (lambda (&and~1187093766~8594 &e~1187093766~8595 &es~1187093766~8596) (cons 'if (cons (&expand~1187093766~2151 &e~1187093766~8595) (cons (&expand~1187093766~2151 (cons &and~1187093766~8594 &es~1187093766~8596)) '(#f))))) (lambda () (invalid-form &exp~1187093766~8421))))))))) (set! &expand-or~1187093766~2161 (lambda (&exp~1187093766~8235) ((lambda (&x~1187093766~8244 &sk~1187093766~8245 &fk~1187093766~8246) (if (pair? &x~1187093766~8244) ((lambda (&x~1187093766~8249 &sk~1187093766~8250 &fk~1187093766~8251) (&sk~1187093766~8250 &x~1187093766~8249)) (car &x~1187093766~8244) (lambda (&or~1187093766~8253) ((lambda (&x~1187093766~8255 &sk~1187093766~8256 &fk~1187093766~8257) (if (null? &x~1187093766~8255) (&sk~1187093766~8256) (&fk~1187093766~8257))) (cdr &x~1187093766~8244) (lambda () (&sk~1187093766~8245 &or~1187093766~8253)) &fk~1187093766~8246)) &fk~1187093766~8246) (&fk~1187093766~8246))) &exp~1187093766~8235 (lambda (&or~1187093766~8261) #t) (lambda () ((lambda (&x~1187093766~8275 &sk~1187093766~8276 &fk~1187093766~8277) (if (pair? &x~1187093766~8275) ((lambda (&x~1187093766~8280 &sk~1187093766~8281 &fk~1187093766~8282) (&sk~1187093766~8281 &x~1187093766~8280)) (car &x~1187093766~8275) (lambda (&or~1187093766~8284) ((lambda (&x~1187093766~8286 &sk~1187093766~8287 &fk~1187093766~8288) (if (pair? &x~1187093766~8286) ((lambda (&x~1187093766~8291 &sk~1187093766~8292 &fk~1187093766~8293) (&sk~1187093766~8292 &x~1187093766~8291)) (car &x~1187093766~8286) (lambda (&e~1187093766~8295) ((lambda (&x~1187093766~8297 &sk~1187093766~8298 &fk~1187093766~8299) (if (null? &x~1187093766~8297) (&sk~1187093766~8298) (&fk~1187093766~8299))) (cdr &x~1187093766~8286) (lambda () (&sk~1187093766~8287 &e~1187093766~8295)) &fk~1187093766~8288)) &fk~1187093766~8288) (&fk~1187093766~8288))) (cdr &x~1187093766~8275) (lambda (&e~1187093766~8303) (&sk~1187093766~8276 &or~1187093766~8284 &e~1187093766~8303)) &fk~1187093766~8277)) &fk~1187093766~8277) (&fk~1187093766~8277))) &exp~1187093766~8235 (lambda (&or~1187093766~8305 &e~1187093766~8306) (&expand~1187093766~2151 &e~1187093766~8306)) (lambda () ((lambda (&x~1187093766~8322 &sk~1187093766~8323 &fk~1187093766~8324) (if (pair? &x~1187093766~8322) ((lambda (&x~1187093766~8327 &sk~1187093766~8328 &fk~1187093766~8329) (&sk~1187093766~8328 &x~1187093766~8327)) (car &x~1187093766~8322) (lambda (&or~1187093766~8331) ((lambda (&x~1187093766~8333 &sk~1187093766~8334 &fk~1187093766~8335) (if (pair? &x~1187093766~8333) ((lambda (&x~1187093766~8338 &sk~1187093766~8339 &fk~1187093766~8340) (&sk~1187093766~8339 &x~1187093766~8338)) (car &x~1187093766~8333) (lambda (&e~1187093766~8342) ((lambda (&x~1187093766~8344 &sk~1187093766~8345 &fk~1187093766~8346) (((lambda (&loop~1187093766~8352) ((lambda (&temp~1187093766~8355) (set! &loop~1187093766~8352 &temp~1187093766~8355) ((lambda () &loop~1187093766~8352))) (lambda (&x~1187093766~8360 &result~1187093766~8361) ((lambda (&match-tail~1187093766~8362) (set! &match-tail~1187093766~8362 (lambda () ((lambda (&x~1187093766~8380 &sk~1187093766~8381 &fk~1187093766~8382) (if (null? &x~1187093766~8380) (&sk~1187093766~8381) (&fk~1187093766~8382))) &x~1187093766~8360 (lambda () (apply &sk~1187093766~8345 (if (null? &result~1187093766~8361) (map (lambda (&ignore~1187093766~8387) '()) '(es)) (apply map list (reverse &result~1187093766~8361))))) (lambda () ((lambda (&x~1187093766~8395 &sk~1187093766~8396 &fk~1187093766~8397) (&sk~1187093766~8396)) &x~1187093766~8360 (lambda () (&fk~1187093766~8346)) (lambda () (invalid-form &x~1187093766~8360))))))) (if (null? &x~1187093766~8360) (begin (&match-tail~1187093766~8362)) (if (pair? &x~1187093766~8360) (begin ((lambda (&x~1187093766~8369 &sk~1187093766~8370 &fk~1187093766~8371) (&sk~1187093766~8370 &x~1187093766~8369)) (car &x~1187093766~8360) (lambda &car-vars~1187093766~8373 (&loop~1187093766~8352 (cdr &x~1187093766~8360) (cons &car-vars~1187093766~8373 &result~1187093766~8361))) &match-tail~1187093766~8362)) (begin (&fk~1187093766~8346))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~8344 '())) (cdr &x~1187093766~8333) (lambda (&es~1187093766~8403) (&sk~1187093766~8334 &e~1187093766~8342 &es~1187093766~8403)) &fk~1187093766~8335)) &fk~1187093766~8335) (&fk~1187093766~8335))) (cdr &x~1187093766~8322) (lambda (&e~1187093766~8405 &es~1187093766~8406) (&sk~1187093766~8323 &or~1187093766~8331 &e~1187093766~8405 &es~1187093766~8406)) &fk~1187093766~8324)) &fk~1187093766~8324) (&fk~1187093766~8324))) &exp~1187093766~8235 (lambda (&or~1187093766~8408 &e~1187093766~8409 &es~1187093766~8410) (list 'let (list (list 'x (&expand~1187093766~2151 &e~1187093766~8409))) (list 'if 'x 'x (&expand~1187093766~2151 (cons &or~1187093766~8408 &es~1187093766~8410))))) (lambda () (invalid-form &exp~1187093766~8235))))))))) (set! &expand-lambda~1187093766~2162 (lambda (&exp~1187093766~8080) ((lambda (&x~1187093766~8097 &sk~1187093766~8098 &fk~1187093766~8099) (if (pair? &x~1187093766~8097) ((lambda (&x~1187093766~8102 &sk~1187093766~8103 &fk~1187093766~8104) (&sk~1187093766~8103)) (car &x~1187093766~8097) (lambda () ((lambda (&x~1187093766~8107 &sk~1187093766~8108 &fk~1187093766~8109) (if (pair? &x~1187093766~8107) ((lambda (&x~1187093766~8112 &sk~1187093766~8113 &fk~1187093766~8114) (if (&formals?~1187093766~2163 &x~1187093766~8112) ((lambda (&x~1187093766~8117 &sk~1187093766~8118 &fk~1187093766~8119) (&sk~1187093766~8118 &x~1187093766~8117)) &x~1187093766~8112 &sk~1187093766~8113 &fk~1187093766~8114) (&fk~1187093766~8114))) (car &x~1187093766~8107) (lambda (&formals~1187093766~8121) ((lambda (&x~1187093766~8123 &sk~1187093766~8124 &fk~1187093766~8125) (((lambda (&loop~1187093766~8131) ((lambda (&temp~1187093766~8134) (set! &loop~1187093766~8131 &temp~1187093766~8134) ((lambda () &loop~1187093766~8131))) (lambda (&x~1187093766~8139 &result~1187093766~8140) ((lambda (&match-tail~1187093766~8141) (set! &match-tail~1187093766~8141 (lambda () ((lambda (&x~1187093766~8159 &sk~1187093766~8160 &fk~1187093766~8161) (if (null? &x~1187093766~8159) (&sk~1187093766~8160) (&fk~1187093766~8161))) &x~1187093766~8139 (lambda () (apply &sk~1187093766~8124 (if (null? &result~1187093766~8140) (map (lambda (&ignore~1187093766~8166) '()) '(body)) (apply map list (reverse &result~1187093766~8140))))) (lambda () ((lambda (&x~1187093766~8174 &sk~1187093766~8175 &fk~1187093766~8176) (&sk~1187093766~8175)) &x~1187093766~8139 (lambda () (&fk~1187093766~8125)) (lambda () (invalid-form &x~1187093766~8139))))))) (if (null? &x~1187093766~8139) (begin (&match-tail~1187093766~8141)) (if (pair? &x~1187093766~8139) (begin ((lambda (&x~1187093766~8148 &sk~1187093766~8149 &fk~1187093766~8150) (&sk~1187093766~8149 &x~1187093766~8148)) (car &x~1187093766~8139) (lambda &car-vars~1187093766~8152 (&loop~1187093766~8131 (cdr &x~1187093766~8139) (cons &car-vars~1187093766~8152 &result~1187093766~8140))) &match-tail~1187093766~8141)) (begin (&fk~1187093766~8125))))) ex:undefined)))) &unspecified~1187093766~179) &x~1187093766~8123 '())) (cdr &x~1187093766~8107) (lambda (&body~1187093766~8182) (&sk~1187093766~8108 &formals~1187093766~8121 &body~118709376