create-expo-cljs-app
Version:
Create a react native application with Expo and Shadow-CLJS!
1 lines • 221 kB
JSON
["^ ","~:output",["^ ","~:js","goog.provide('cljs.tools.reader');\n\n\n\n\n\n\ncljs.tools.reader.macro_terminating_QMARK_ = (function cljs$tools$reader$macro_terminating_QMARK_(ch){\nvar G__42406 = ch;\nswitch (G__42406) {\ncase \"\\\"\":\ncase \";\":\ncase \"@\":\ncase \"^\":\ncase \"`\":\ncase \"~\":\ncase \"(\":\ncase \")\":\ncase \"[\":\ncase \"]\":\ncase \"{\":\ncase \"}\":\ncase \"\\\\\":\nreturn true;\n\nbreak;\ndefault:\nreturn false;\n\n}\n});\ncljs.tools.reader.sb = (new goog.string.StringBuffer());\n/**\n * Read in a single logical token from the reader\n */\ncljs.tools.reader.read_token = (function cljs$tools$reader$read_token(rdr,kind,initch){\nif((initch == null)){\nreturn cljs.tools.reader.impl.errors.throw_eof_at_start(rdr,kind);\n} else {\ncljs.tools.reader.sb.clear();\n\nvar ch = initch;\nwhile(true){\nif(((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)) || (cljs.tools.reader.macro_terminating_QMARK_(ch)) || ((ch == null)))){\nif((ch == null)){\n} else {\nrdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n}\n\nreturn cljs.tools.reader.sb.toString();\n} else {\ncljs.tools.reader.sb.append(ch);\n\nvar G__43113 = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nch = G__43113;\ncontinue;\n}\nbreak;\n}\n}\n});\ncljs.tools.reader.read_dispatch = (function cljs$tools$reader$read_dispatch(rdr,_,opts,pending_forms){\nvar temp__5733__auto__ = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5733__auto__)){\nvar ch = temp__5733__auto__;\nvar temp__5733__auto____$1 = (cljs.tools.reader.dispatch_macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.dispatch_macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.dispatch_macros.call(null,ch));\nif(cljs.core.truth_(temp__5733__auto____$1)){\nvar dm = temp__5733__auto____$1;\nreturn (dm.cljs$core$IFn$_invoke$arity$4 ? dm.cljs$core$IFn$_invoke$arity$4(rdr,ch,opts,pending_forms) : dm.call(null,rdr,ch,opts,pending_forms));\n} else {\nvar G__42414 = (function (){var G__42418 = rdr;\nG__42418.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n\nreturn G__42418;\n})();\nvar G__42415 = ch;\nvar G__42416 = opts;\nvar G__42417 = pending_forms;\nreturn (cljs.tools.reader.read_tagged.cljs$core$IFn$_invoke$arity$4 ? cljs.tools.reader.read_tagged.cljs$core$IFn$_invoke$arity$4(G__42414,G__42415,G__42416,G__42417) : cljs.tools.reader.read_tagged.call(null,G__42414,G__42415,G__42416,G__42417));\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_at_dispatch(rdr);\n}\n});\ncljs.tools.reader.read_unmatched_delimiter = (function cljs$tools$reader$read_unmatched_delimiter(rdr,ch,opts,pending_forms){\nreturn cljs.tools.reader.impl.errors.throw_unmatch_delimiter(rdr,ch);\n});\ncljs.tools.reader.read_regex = (function cljs$tools$reader$read_regex(rdr,ch,opts,pending_forms){\nvar sb = (new goog.string.StringBuffer());\nvar ch__$1 = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif((\"\\\"\" === ch__$1)){\nreturn cljs.core.re_pattern(cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb));\n} else {\nif((ch__$1 == null)){\nreturn cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\"regex\",\"regex\",939488856),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sb], 0));\n} else {\nsb.append(ch__$1);\n\nif((\"\\\\\" === ch__$1)){\nvar ch_43119__$2 = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((ch_43119__$2 == null)){\ncljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(rdr,new cljs.core.Keyword(null,\"regex\",\"regex\",939488856),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([sb], 0));\n} else {\n}\n\nsb.append(ch_43119__$2);\n} else {\n}\n\nvar G__43120 = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nch__$1 = G__43120;\ncontinue;\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.read_unicode_char = (function cljs$tools$reader$read_unicode_char(var_args){\nvar G__42428 = arguments.length;\nswitch (G__42428) {\ncase 4:\nreturn cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]));\n\nbreak;\ncase 5:\nreturn cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),(arguments[(3)]),(arguments[(4)]));\n\nbreak;\ndefault:\nthrow (new Error([\"Invalid arity: \",cljs.core.str.cljs$core$IFn$_invoke$arity$1(arguments.length)].join('')));\n\n}\n});\n\n(cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4 = (function (token,offset,length,base){\nvar l = (offset + length);\nif((cljs.core.count(token) === l)){\n} else {\ncljs.tools.reader.impl.errors.throw_invalid_unicode_literal(null,token);\n}\n\nvar i = offset;\nvar uc = (0);\nwhile(true){\nif((i === l)){\nreturn String.fromCharCode(uc);\n} else {\nvar d = cljs.tools.reader.impl.utils.char_code(cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),base);\nif((d === (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit_in_token(null,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(token,i),token);\n} else {\nvar G__43129 = (i + (1));\nvar G__43130 = (d + (uc * base));\ni = G__43129;\nuc = G__43130;\ncontinue;\n}\n}\nbreak;\n}\n}));\n\n(cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5 = (function (rdr,initch,base,length,exact_QMARK_){\nvar i = (1);\nvar uc = cljs.tools.reader.impl.utils.char_code(initch,base);\nwhile(true){\nif((uc === (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,initch);\n} else {\nif((!((i === length)))){\nvar ch = rdr.cljs$tools$reader$reader_types$Reader$peek_char$arity$1(null);\nif(cljs.core.truth_((function (){var or__4126__auto__ = cljs.tools.reader.impl.utils.whitespace_QMARK_(ch);\nif(or__4126__auto__){\nreturn or__4126__auto__;\n} else {\nvar or__4126__auto____$1 = (cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.macros.call(null,ch));\nif(cljs.core.truth_(or__4126__auto____$1)){\nreturn or__4126__auto____$1;\n} else {\nreturn (ch == null);\n}\n}\n})())){\nif(cljs.core.truth_(exact_QMARK_)){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_len(rdr,i,length);\n} else {\nreturn String.fromCharCode(uc);\n}\n} else {\nvar d = cljs.tools.reader.impl.utils.char_code(ch,base);\nrdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\n\nif((d === (-1))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_digit(rdr,ch);\n} else {\nvar G__43132 = (i + (1));\nvar G__43133 = (d + (uc * base));\ni = G__43132;\nuc = G__43133;\ncontinue;\n}\n}\n} else {\nreturn String.fromCharCode(uc);\n}\n}\nbreak;\n}\n}));\n\n(cljs.tools.reader.read_unicode_char.cljs$lang$maxFixedArity = 5);\n\ncljs.tools.reader.upper_limit = \"\\uD7FF\".charCodeAt((0));\ncljs.tools.reader.lower_limit = \"\\uE000\".charCodeAt((0));\ncljs.tools.reader.valid_octal_QMARK_ = (function cljs$tools$reader$valid_octal_QMARK_(token,base){\nreturn (parseInt(token,base) <= (255));\n});\n/**\n * Read in a character literal\n */\ncljs.tools.reader.read_char_STAR_ = (function cljs$tools$reader$read_char_STAR_(rdr,backslash,opts,pending_forms){\nvar ch = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((!((ch == null)))){\nvar token = ((((cljs.tools.reader.macro_terminating_QMARK_(ch)) || (cljs.tools.reader.impl.utils.whitespace_QMARK_(ch))))?cljs.core.str.cljs$core$IFn$_invoke$arity$1(ch):cljs.tools.reader.read_token(rdr,new cljs.core.Keyword(null,\"character\",\"character\",380652989),ch));\nvar token_len = token.length;\nif(((1) === token_len)){\nreturn token.charAt((0));\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\"newline\")){\nreturn \"\\n\";\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\"space\")){\nreturn \" \";\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\"tab\")){\nreturn \"\\t\";\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\"backspace\")){\nreturn \"\\b\";\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\"formfeed\")){\nreturn \"\\f\";\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(token,\"return\")){\nreturn \"\\r\";\n} else {\nif(cljs.core.truth_(goog.string.startsWith(token,\"u\"))){\nvar c = cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4(token,(1),(4),(16));\nvar ic = c.charCodeAt((0));\nif((((ic > cljs.tools.reader.upper_limit)) && ((ic < cljs.tools.reader.lower_limit)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_character_literal(rdr,ic.toString((16)));\n} else {\nreturn c;\n}\n} else {\nif(cljs.core.truth_(goog.string.startsWith(token,\"o\"))){\nvar len = (token_len - (1));\nif((len > (3))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_octal_len(rdr,token);\n} else {\nvar offset = (1);\nvar base = (8);\nvar uc = cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$4(token,offset,len,base);\nif((!(cljs.tools.reader.valid_octal_QMARK_(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(token,offset),base)))){\nreturn cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr);\n} else {\nreturn uc;\n}\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_unsupported_character(rdr,token);\n\n}\n}\n}\n}\n}\n}\n}\n}\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n});\ncljs.tools.reader.starting_line_col_info = (function cljs$tools$reader$starting_line_col_info(rdr){\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rdr.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),((rdr.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null) - (1)) | (0))], null);\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.ending_line_col_info = (function cljs$tools$reader$ending_line_col_info(rdr){\nif(cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr)){\nreturn new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [rdr.cljs$tools$reader$reader_types$IndexingReader$get_line_number$arity$1(null),rdr.cljs$tools$reader$reader_types$IndexingReader$get_column_number$arity$1(null)], null);\n} else {\nreturn null;\n}\n});\nif((typeof cljs !== 'undefined') && (typeof cljs.tools !== 'undefined') && (typeof cljs.tools.reader !== 'undefined') && (typeof cljs.tools.reader.READ_EOF !== 'undefined')){\n} else {\ncljs.tools.reader.READ_EOF = (new Object());\n}\nif((typeof cljs !== 'undefined') && (typeof cljs.tools !== 'undefined') && (typeof cljs.tools.reader !== 'undefined') && (typeof cljs.tools.reader.READ_FINISHED !== 'undefined')){\n} else {\ncljs.tools.reader.READ_FINISHED = (new Object());\n}\ncljs.tools.reader._STAR_read_delim_STAR_ = false;\ncljs.tools.reader.read_delimited_internal = (function cljs$tools$reader$read_delimited_internal(kind,delim,rdr,opts,pending_forms){\nvar vec__42437 = cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42437,(0),null);\nvar start_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42437,(1),null);\nvar delim__$1 = cljs.tools.reader.impl.utils.char$(delim);\nvar a = cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nvar form = (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(rdr,false,cljs.tools.reader.READ_EOF,delim__$1,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,false,cljs.tools.reader.READ_EOF,delim__$1,opts,pending_forms));\nif((form === cljs.tools.reader.READ_FINISHED)){\nreturn cljs.core.persistent_BANG_(a);\n} else {\nif((form === cljs.tools.reader.READ_EOF)){\nreturn cljs.tools.reader.impl.errors.throw_eof_delimited.cljs$core$IFn$_invoke$arity$5(rdr,kind,start_line,start_column,cljs.core.count(a));\n} else {\nvar G__43142 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(a,form);\na = G__43142;\ncontinue;\n}\n}\nbreak;\n}\n});\n/**\n * Reads and returns a collection ended with delim\n */\ncljs.tools.reader.read_delimited = (function cljs$tools$reader$read_delimited(kind,delim,rdr,opts,pending_forms){\nvar _STAR_read_delim_STAR__orig_val__42443 = cljs.tools.reader._STAR_read_delim_STAR_;\nvar _STAR_read_delim_STAR__temp_val__42444 = true;\n(cljs.tools.reader._STAR_read_delim_STAR_ = _STAR_read_delim_STAR__temp_val__42444);\n\ntry{return cljs.tools.reader.read_delimited_internal(kind,delim,rdr,opts,pending_forms);\n}finally {(cljs.tools.reader._STAR_read_delim_STAR_ = _STAR_read_delim_STAR__orig_val__42443);\n}});\n/**\n * Read in a list, including its location if the reader is an indexing reader\n */\ncljs.tools.reader.read_list = (function cljs$tools$reader$read_list(rdr,_,opts,pending_forms){\nvar vec__42446 = cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42446,(0),null);\nvar start_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42446,(1),null);\nvar the_list = cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\"list\",\"list\",765357683),\")\",rdr,opts,pending_forms);\nvar vec__42449 = cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42449,(0),null);\nvar end_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42449,(1),null);\nreturn cljs.core.with_meta(((cljs.core.empty_QMARK_(the_list))?cljs.core.List.EMPTY:cljs.core.apply.cljs$core$IFn$_invoke$arity$2(cljs.core.list,the_list)),(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5735__auto__ = cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5735__auto__)){\nvar file = temp__5735__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"file\",\"file\",-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\"line\",\"line\",212345235),start_line,new cljs.core.Keyword(null,\"column\",\"column\",2078222095),start_column,new cljs.core.Keyword(null,\"end-line\",\"end-line\",1837326455),end_line,new cljs.core.Keyword(null,\"end-column\",\"end-column\",1425389514),end_column], null)], 0)):null));\n});\n/**\n * Read in a vector, including its location if the reader is an indexing reader\n */\ncljs.tools.reader.read_vector = (function cljs$tools$reader$read_vector(rdr,_,opts,pending_forms){\nvar vec__42456 = cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42456,(0),null);\nvar start_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42456,(1),null);\nvar the_vector = cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\"vector\",\"vector\",1902966158),\"]\",rdr,opts,pending_forms);\nvar vec__42459 = cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42459,(0),null);\nvar end_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42459,(1),null);\nreturn cljs.core.with_meta(the_vector,(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5735__auto__ = cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5735__auto__)){\nvar file = temp__5735__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"file\",\"file\",-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\"line\",\"line\",212345235),start_line,new cljs.core.Keyword(null,\"column\",\"column\",2078222095),start_column,new cljs.core.Keyword(null,\"end-line\",\"end-line\",1837326455),end_line,new cljs.core.Keyword(null,\"end-column\",\"end-column\",1425389514),end_column], null)], 0)):null));\n});\n/**\n * Read in a map, including its location if the reader is an indexing reader\n */\ncljs.tools.reader.read_map = (function cljs$tools$reader$read_map(rdr,_,opts,pending_forms){\nvar vec__42463 = cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42463,(0),null);\nvar start_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42463,(1),null);\nvar the_map = cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\"map\",\"map\",1371690461),\"}\",rdr,opts,pending_forms);\nvar map_count = cljs.core.count(the_map);\nvar ks = cljs.core.take_nth.cljs$core$IFn$_invoke$arity$2((2),the_map);\nvar key_set = cljs.core.set(ks);\nvar vec__42466 = cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42466,(0),null);\nvar end_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42466,(1),null);\nif(cljs.core.odd_QMARK_(map_count)){\ncljs.tools.reader.impl.errors.throw_odd_map(rdr,start_line,start_column,the_map);\n} else {\n}\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(key_set),cljs.core.count(ks))){\n} else {\ncljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\"map\",\"map\",1371690461),ks);\n}\n\nreturn cljs.core.with_meta((((map_count <= ((2) * cljs.core.PersistentArrayMap.HASHMAP_THRESHOLD)))?cljs.core.PersistentArrayMap.fromArray(cljs.core.to_array(the_map),true,true):cljs.core.PersistentHashMap.fromArray(cljs.core.to_array(the_map),true)),(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5735__auto__ = cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5735__auto__)){\nvar file = temp__5735__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"file\",\"file\",-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\"line\",\"line\",212345235),start_line,new cljs.core.Keyword(null,\"column\",\"column\",2078222095),start_column,new cljs.core.Keyword(null,\"end-line\",\"end-line\",1837326455),end_line,new cljs.core.Keyword(null,\"end-column\",\"end-column\",1425389514),end_column], null)], 0)):null));\n});\ncljs.tools.reader.read_number = (function cljs$tools$reader$read_number(rdr,initch){\nvar sb = (function (){var G__42472 = (new goog.string.StringBuffer());\nG__42472.append(initch);\n\nreturn G__42472;\n})();\nvar ch = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif(cljs.core.truth_((function (){var or__4126__auto__ = cljs.tools.reader.impl.utils.whitespace_QMARK_(ch);\nif(or__4126__auto__){\nreturn or__4126__auto__;\n} else {\nvar or__4126__auto____$1 = (cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1 ? cljs.tools.reader.macros.cljs$core$IFn$_invoke$arity$1(ch) : cljs.tools.reader.macros.call(null,ch));\nif(cljs.core.truth_(or__4126__auto____$1)){\nreturn or__4126__auto____$1;\n} else {\nreturn (ch == null);\n}\n}\n})())){\nvar s = cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\nrdr.cljs$tools$reader$reader_types$IPushbackReader$unread$arity$2(null,ch);\n\nvar or__4126__auto__ = cljs.tools.reader.impl.commons.match_number(s);\nif(cljs.core.truth_(or__4126__auto__)){\nreturn or__4126__auto__;\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid_number(rdr,s);\n}\n} else {\nvar G__43170 = (function (){var G__42474 = sb;\nG__42474.append(ch);\n\nreturn G__42474;\n})();\nvar G__43171 = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb = G__43170;\nch = G__43171;\ncontinue;\n}\nbreak;\n}\n});\ncljs.tools.reader.escape_char = (function cljs$tools$reader$escape_char(sb,rdr){\nvar ch = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nvar G__42482 = ch;\nswitch (G__42482) {\ncase \"t\":\nreturn \"\\t\";\n\nbreak;\ncase \"r\":\nreturn \"\\r\";\n\nbreak;\ncase \"n\":\nreturn \"\\n\";\n\nbreak;\ncase \"\\\\\":\nreturn \"\\\\\";\n\nbreak;\ncase \"\\\"\":\nreturn \"\\\"\";\n\nbreak;\ncase \"b\":\nreturn \"\\b\";\n\nbreak;\ncase \"f\":\nreturn \"\\f\";\n\nbreak;\ncase \"u\":\nvar ch__$1 = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(((-1) === parseInt((ch__$1 | (0)),(16)))){\nreturn cljs.tools.reader.impl.errors.throw_invalid_unicode_escape(rdr,ch__$1);\n} else {\nreturn cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch__$1,(16),(4),true);\n}\n\nbreak;\ndefault:\nif(cljs.tools.reader.impl.utils.numeric_QMARK_(ch)){\nvar ch__$1 = cljs.tools.reader.read_unicode_char.cljs$core$IFn$_invoke$arity$5(rdr,ch,(8),(3),false);\nif(((ch__$1 | (0)) > (255))){\nreturn cljs.tools.reader.impl.errors.throw_bad_octal_number(rdr);\n} else {\nreturn ch__$1;\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_escape_char(rdr,ch);\n}\n\n}\n});\ncljs.tools.reader.read_string_STAR_ = (function cljs$tools$reader$read_string_STAR_(reader,_,opts,pending_forms){\nvar sb = (new goog.string.StringBuffer());\nvar ch = reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nwhile(true){\nif((ch == null)){\nreturn cljs.tools.reader.impl.errors.throw_eof_reading.cljs$core$IFn$_invoke$arity$variadic(reader,new cljs.core.Keyword(null,\"string\",\"string\",-1989541586),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"\\\"\",sb], 0));\n} else {\nvar G__42484 = ch;\nswitch (G__42484) {\ncase \"\\\\\":\nvar G__43179 = (function (){var G__42485 = sb;\nG__42485.append(cljs.tools.reader.escape_char(sb,reader));\n\nreturn G__42485;\n})();\nvar G__43180 = reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb = G__43179;\nch = G__43180;\ncontinue;\n\nbreak;\ncase \"\\\"\":\nreturn cljs.core.str.cljs$core$IFn$_invoke$arity$1(sb);\n\nbreak;\ndefault:\nvar G__43183 = (function (){var G__42486 = sb;\nG__42486.append(ch);\n\nreturn G__42486;\n})();\nvar G__43184 = reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nsb = G__43183;\nch = G__43184;\ncontinue;\n\n}\n}\nbreak;\n}\n});\ncljs.tools.reader.loc_info = (function cljs$tools$reader$loc_info(rdr,line,column){\nif((line == null)){\nreturn null;\n} else {\nvar file = cljs.tools.reader.reader_types.get_file_name(rdr);\nvar filem = (((file == null))?null:new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"file\",\"file\",-1269645878),file], null));\nvar vec__42488 = cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42488,(0),null);\nvar end_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42488,(1),null);\nvar lcm = new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\"line\",\"line\",212345235),line,new cljs.core.Keyword(null,\"column\",\"column\",2078222095),column,new cljs.core.Keyword(null,\"end-line\",\"end-line\",1837326455),end_line,new cljs.core.Keyword(null,\"end-column\",\"end-column\",1425389514),end_column], null);\nreturn cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([filem,lcm], 0));\n}\n});\ncljs.tools.reader.read_symbol = (function cljs$tools$reader$read_symbol(rdr,initch){\nvar vec__42494 = cljs.tools.reader.starting_line_col_info(rdr);\nvar line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42494,(0),null);\nvar column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42494,(1),null);\nvar token = cljs.tools.reader.read_token(rdr,new cljs.core.Keyword(null,\"symbol\",\"symbol\",-1038572696),initch);\nif((token == null)){\nreturn null;\n} else {\nvar G__42499 = token;\nswitch (G__42499) {\ncase \"nil\":\nreturn null;\n\nbreak;\ncase \"true\":\nreturn true;\n\nbreak;\ncase \"false\":\nreturn false;\n\nbreak;\ncase \"/\":\nreturn new cljs.core.Symbol(null,\"/\",\"/\",-1371932971,null);\n\nbreak;\ndefault:\nvar p = cljs.tools.reader.impl.commons.parse_symbol(token);\nif((!((p == null)))){\nvar sym = cljs.core.symbol.cljs$core$IFn$_invoke$arity$2(p.cljs$core$IIndexed$_nth$arity$2(null,(0)),p.cljs$core$IIndexed$_nth$arity$2(null,(1)));\nreturn sym.cljs$core$IWithMeta$_with_meta$arity$2(null,cljs.tools.reader.loc_info(rdr,line,column));\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(rdr,new cljs.core.Keyword(null,\"symbol\",\"symbol\",-1038572696),token);\n}\n\n}\n}\n});\n/**\n * Map from ns alias to ns, if non-nil, it will be used to resolve read-time\n * ns aliases.\n * \n * Defaults to nil\n */\ncljs.tools.reader._STAR_alias_map_STAR_ = null;\ncljs.tools.reader.resolve_alias = (function cljs$tools$reader$resolve_alias(sym){\nreturn cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader._STAR_alias_map_STAR_,sym);\n});\ncljs.tools.reader.resolve_ns = (function cljs$tools$reader$resolve_ns(sym){\nvar or__4126__auto__ = cljs.tools.reader.resolve_alias(sym);\nif(cljs.core.truth_(or__4126__auto__)){\nreturn or__4126__auto__;\n} else {\nvar temp__5735__auto__ = cljs.core.find_ns(sym);\nif(cljs.core.truth_(temp__5735__auto__)){\nvar ns = temp__5735__auto__;\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.ns_name(ns));\n} else {\nreturn null;\n}\n}\n});\ncljs.tools.reader.read_keyword = (function cljs$tools$reader$read_keyword(reader,initch,opts,pending_forms){\nvar ch = reader.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(ch)))){\nvar token = cljs.tools.reader.read_token(reader,new cljs.core.Keyword(null,\"keyword\",\"keyword\",811389747),ch);\nvar s = cljs.tools.reader.impl.commons.parse_symbol(token);\nif((!((s == null)))){\nvar ns = s.cljs$core$IIndexed$_nth$arity$2(null,(0));\nvar name = s.cljs$core$IIndexed$_nth$arity$2(null,(1));\nif((\":\" === token.charAt((0)))){\nif((!((ns == null)))){\nvar temp__5733__auto__ = cljs.tools.reader.resolve_alias(cljs.core.symbol.cljs$core$IFn$_invoke$arity$1(cljs.core.subs.cljs$core$IFn$_invoke$arity$2(ns,(1))));\nif(cljs.core.truth_(temp__5733__auto__)){\nvar ns__$1 = temp__5733__auto__;\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),name);\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,\"keyword\",\"keyword\",811389747),[\":\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join(''));\n}\n} else {\nvar temp__5733__auto__ = cljs.core._STAR_ns_STAR_;\nif(cljs.core.truth_(temp__5733__auto__)){\nvar ns__$1 = temp__5733__auto__;\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(cljs.core.str.cljs$core$IFn$_invoke$arity$1(ns__$1),cljs.core.subs.cljs$core$IFn$_invoke$arity$2(name,(1)));\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(reader,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"Invalid token: :\",token], 0));\n}\n}\n} else {\nreturn cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(ns,name);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_invalid(reader,new cljs.core.Keyword(null,\"keyword\",\"keyword\",811389747),[\":\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(token)].join(''));\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_single_colon(reader);\n}\n});\n/**\n * Returns a function which wraps a reader in a call to sym\n */\ncljs.tools.reader.wrapping_reader = (function cljs$tools$reader$wrapping_reader(sym){\nreturn (function (rdr,_,opts,pending_forms){\nreturn (new cljs.core.List(null,sym,(new cljs.core.List(null,(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)),null,(1),null)),(2),null));\n});\n});\n/**\n * Read metadata and return the following object with the metadata applied\n */\ncljs.tools.reader.read_meta = (function cljs$tools$reader$read_meta(rdr,_,opts,pending_forms){\nif(((cljs.tools.reader.reader_types.source_logging_reader_QMARK_(rdr)) && ((!(cljs.tools.reader.impl.utils.whitespace_QMARK_(cljs.tools.reader.reader_types.peek_char(rdr))))))){\nreturn cljs.tools.reader.reader_types.log_source_STAR_(rdr,(function (){\nvar vec__42542 = cljs.tools.reader.starting_line_col_info(rdr);\nvar line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42542,(0),null);\nvar column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42542,(1),null);\nvar m = cljs.tools.reader.impl.utils.desugar_meta((cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\nif(cljs.core.map_QMARK_(m)){\n} else {\ncljs.tools.reader.impl.errors.throw_bad_metadata(rdr,m);\n}\n\nvar o = (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((((!((o == null))))?(((((o.cljs$lang$protocol_mask$partition0$ & (131072))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$IMeta$))))?true:false):false)){\nvar m__$1 = (cljs.core.truth_((function (){var and__4115__auto__ = line;\nif(cljs.core.truth_(and__4115__auto__)){\nreturn cljs.core.seq_QMARK_(o);\n} else {\nreturn and__4115__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\"line\",\"line\",212345235),line,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\"column\",\"column\",2078222095),column], 0)):m);\nif((((!((o == null))))?(((((o.cljs$lang$protocol_mask$partition0$ & (262144))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$IWithMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(o,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(o),m__$1], 0)));\n} else {\nreturn cljs.core.reset_meta_BANG_(o,m__$1);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_metadata_target(rdr,o);\n}\n}));\n} else {\nvar vec__42563 = cljs.tools.reader.starting_line_col_info(rdr);\nvar line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42563,(0),null);\nvar column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42563,(1),null);\nvar m = cljs.tools.reader.impl.utils.desugar_meta((cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms)));\nif(cljs.core.map_QMARK_(m)){\n} else {\ncljs.tools.reader.impl.errors.throw_bad_metadata(rdr,m);\n}\n\nvar o = (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nif((((!((o == null))))?(((((o.cljs$lang$protocol_mask$partition0$ & (131072))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$IMeta$))))?true:false):false)){\nvar m__$1 = (cljs.core.truth_((function (){var and__4115__auto__ = line;\nif(cljs.core.truth_(and__4115__auto__)){\nreturn cljs.core.seq_QMARK_(o);\n} else {\nreturn and__4115__auto__;\n}\n})())?cljs.core.assoc.cljs$core$IFn$_invoke$arity$variadic(m,new cljs.core.Keyword(null,\"line\",\"line\",212345235),line,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword(null,\"column\",\"column\",2078222095),column], 0)):m);\nif((((!((o == null))))?(((((o.cljs$lang$protocol_mask$partition0$ & (262144))) || ((cljs.core.PROTOCOL_SENTINEL === o.cljs$core$IWithMeta$))))?true:false):false)){\nreturn cljs.core.with_meta(o,cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.meta(o),m__$1], 0)));\n} else {\nreturn cljs.core.reset_meta_BANG_(o,m__$1);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_bad_metadata_target(rdr,o);\n}\n}\n});\ncljs.tools.reader.read_set = (function cljs$tools$reader$read_set(rdr,_,opts,pending_forms){\nvar vec__42593 = cljs.tools.reader.starting_line_col_info(rdr);\nvar start_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42593,(0),null);\nvar start_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42593,(1),null);\nvar start_column__$1 = (cljs.core.truth_(start_column)?((start_column - (1)) | (0)):null);\nvar coll = cljs.tools.reader.read_delimited(new cljs.core.Keyword(null,\"set\",\"set\",304602554),\"}\",rdr,opts,pending_forms);\nvar the_set = cljs.core.set(coll);\nvar vec__42596 = cljs.tools.reader.ending_line_col_info(rdr);\nvar end_line = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42596,(0),null);\nvar end_column = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__42596,(1),null);\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(cljs.core.count(coll),cljs.core.count(the_set))){\n} else {\ncljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.impl.errors.throw_dup_keys(rdr,new cljs.core.Keyword(null,\"set\",\"set\",304602554),coll)], 0));\n}\n\nreturn cljs.core.with_meta(the_set,(cljs.core.truth_(start_line)?cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([(function (){var temp__5735__auto__ = cljs.tools.reader.reader_types.get_file_name(rdr);\nif(cljs.core.truth_(temp__5735__auto__)){\nvar file = temp__5735__auto__;\nreturn new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"file\",\"file\",-1269645878),file], null);\n} else {\nreturn null;\n}\n})(),new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,\"line\",\"line\",212345235),start_line,new cljs.core.Keyword(null,\"column\",\"column\",2078222095),start_column__$1,new cljs.core.Keyword(null,\"end-line\",\"end-line\",1837326455),end_line,new cljs.core.Keyword(null,\"end-column\",\"end-column\",1425389514),end_column], null)], 0)):null));\n});\n/**\n * Read and discard the first object from rdr\n */\ncljs.tools.reader.read_discard = (function cljs$tools$reader$read_discard(rdr,_,opts,pending_forms){\nvar G__42618 = rdr;\n(cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(G__42618,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,G__42618,true,null,opts,pending_forms));\n\nreturn G__42618;\n});\ncljs.tools.reader.read_symbolic_value = (function cljs$tools$reader$read_symbolic_value(rdr,_,opts,pending_forms){\nvar sym = (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(rdr,true,null,opts,pending_forms) : cljs.tools.reader.read_STAR_.call(null,rdr,true,null,opts,pending_forms));\nvar G__42619 = sym;\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\"NaN\",\"NaN\",666918153,null),G__42619)){\nreturn Number.NaN;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\"-Inf\",\"-Inf\",-2123243689,null),G__42619)){\nreturn Number.NEGATIVE_INFINITY;\n} else {\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Symbol(null,\"Inf\",\"Inf\",647172781,null),G__42619)){\nreturn Number.POSITIVE_INFINITY;\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([[\"Invalid token: ##\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)].join('')], 0));\n\n}\n}\n}\n});\ncljs.tools.reader.RESERVED_FEATURES = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"else\",\"else\",-1508377146),null,new cljs.core.Keyword(null,\"none\",\"none\",1333468478),null], null), null);\ncljs.tools.reader.has_feature_QMARK_ = (function cljs$tools$reader$has_feature_QMARK_(rdr,feature,opts){\nif((feature instanceof cljs.core.Keyword)){\nreturn ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\"default\",\"default\",-1987822328),feature)) || (cljs.core.contains_QMARK_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(opts,new cljs.core.Keyword(null,\"features\",\"features\",-1146962336)),feature)));\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"Feature should be a keyword: \",feature], 0));\n}\n});\ncljs.tools.reader.check_eof_error = (function cljs$tools$reader$check_eof_error(form,rdr,first_line){\nif((form === cljs.tools.reader.READ_EOF)){\nreturn cljs.tools.reader.impl.errors.throw_eof_error(rdr,(((first_line < (0)))?first_line:false));\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.check_reserved_features = (function cljs$tools$reader$check_reserved_features(rdr,form){\nif(cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.RESERVED_FEATURES,form))){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"Feature name \",form,\" is reserved\"], 0));\n} else {\nreturn null;\n}\n});\ncljs.tools.reader.check_invalid_read_cond = (function cljs$tools$reader$check_invalid_read_cond(form,rdr,first_line){\nif((form === cljs.tools.reader.READ_FINISHED)){\nif((first_line < (0))){\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"read-cond requires an even number of forms\"], 0));\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"read-cond starting on line \",first_line,\" requires an even number of forms\"], 0));\n}\n} else {\nreturn null;\n}\n});\n/**\n * Read next form and suppress. Return nil or READ_FINISHED.\n */\ncljs.tools.reader.read_suppress = (function cljs$tools$reader$read_suppress(first_line,rdr,opts,pending_forms){\nvar _STAR_suppress_read_STAR__orig_val__42640 = cljs.tools.reader._STAR_suppress_read_STAR_;\nvar _STAR_suppress_read_STAR__temp_val__42641 = true;\n(cljs.tools.reader._STAR_suppress_read_STAR_ = _STAR_suppress_read_STAR__temp_val__42641);\n\ntry{var form = (function (){var G__42643 = rdr;\nvar G__42644 = false;\nvar G__42645 = cljs.tools.reader.READ_EOF;\nvar G__42646 = \")\";\nvar G__42647 = opts;\nvar G__42648 = pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__42643,G__42644,G__42645,G__42646,G__42647,G__42648) : cljs.tools.reader.read_STAR_.call(null,G__42643,G__42644,G__42645,G__42646,G__42647,G__42648));\n})();\ncljs.tools.reader.check_eof_error(form,rdr,first_line);\n\nif((form === cljs.tools.reader.READ_FINISHED)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nreturn null;\n}\n}finally {(cljs.tools.reader._STAR_suppress_read_STAR_ = _STAR_suppress_read_STAR__orig_val__42640);\n}});\nif((typeof cljs !== 'undefined') && (typeof cljs.tools !== 'undefined') && (typeof cljs.tools.reader !== 'undefined') && (typeof cljs.tools.reader.NO_MATCH !== 'undefined')){\n} else {\ncljs.tools.reader.NO_MATCH = (new Object());\n}\n/**\n * Read next feature. If matched, read next form and return.\n * Otherwise, read and skip next form, returning READ_FINISHED or nil.\n */\ncljs.tools.reader.match_feature = (function cljs$tools$reader$match_feature(first_line,rdr,opts,pending_forms){\nvar feature = (function (){var G__42658 = rdr;\nvar G__42659 = false;\nvar G__42660 = cljs.tools.reader.READ_EOF;\nvar G__42661 = \")\";\nvar G__42662 = opts;\nvar G__42663 = pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__42658,G__42659,G__42660,G__42661,G__42662,G__42663) : cljs.tools.reader.read_STAR_.call(null,G__42658,G__42659,G__42660,G__42661,G__42662,G__42663));\n})();\ncljs.tools.reader.check_eof_error(feature,rdr,first_line);\n\nif(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(feature,cljs.tools.reader.READ_FINISHED)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\ncljs.tools.reader.check_reserved_features(rdr,feature);\n\nif(cljs.tools.reader.has_feature_QMARK_(rdr,feature,opts)){\nvar G__42665 = (function (){var G__42666 = rdr;\nvar G__42667 = false;\nvar G__42668 = cljs.tools.reader.READ_EOF;\nvar G__42669 = \")\";\nvar G__42670 = opts;\nvar G__42671 = pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$6(G__42666,G__42667,G__42668,G__42669,G__42670,G__42671) : cljs.tools.reader.read_STAR_.call(null,G__42666,G__42667,G__42668,G__42669,G__42670,G__42671));\n})();\ncljs.tools.reader.check_eof_error(G__42665,rdr,first_line);\n\ncljs.tools.reader.check_invalid_read_cond(G__42665,rdr,first_line);\n\nreturn G__42665;\n} else {\nvar or__4126__auto__ = cljs.tools.reader.read_suppress(first_line,rdr,opts,pending_forms);\nif(cljs.core.truth_(or__4126__auto__)){\nreturn or__4126__auto__;\n} else {\nreturn cljs.tools.reader.NO_MATCH;\n}\n}\n}\n});\ncljs.tools.reader.read_cond_delimited = (function cljs$tools$reader$read_cond_delimited(rdr,splicing,opts,pending_forms){\nvar first_line = ((cljs.tools.reader.reader_types.indexing_reader_QMARK_(rdr))?cljs.tools.reader.reader_types.get_line_number(rdr):(-1));\nvar result = (function (){var matched = cljs.tools.reader.NO_MATCH;\nvar finished = null;\nwhile(true){\nif((matched === cljs.tools.reader.NO_MATCH)){\nvar match = cljs.tools.reader.match_feature(first_line,rdr,opts,pending_forms);\nif((match === cljs.tools.reader.READ_FINISHED)){\nreturn cljs.tools.reader.READ_FINISHED;\n} else {\nvar G__43259 = match;\nvar G__43260 = null;\nmatched = G__43259;\nfinished = G__43260;\ncontinue;\n}\n} else {\nif((!((finished === cljs.tools.reader.READ_FINISHED)))){\nvar G__43262 = matched;\nvar G__43263 = cljs.tools.reader.read_suppress(first_line,rdr,opts,pending_forms);\nmatched = G__43262;\nfinished = G__43263;\ncontinue;\n} else {\nreturn matched;\n\n}\n}\nbreak;\n}\n})();\nif((result === cljs.tools.reader.READ_FINISHED)){\nreturn rdr;\n} else {\nif(cljs.core.truth_(splicing)){\nif((((!((result == null))))?(((((result.cljs$lang$protocol_mask$partition0$ & (16777216))) || ((cljs.core.PROTOCOL_SENTINEL === result.cljs$core$ISequential$))))?true:false):false)){\ngoog.array.insertArrayAt(pending_forms,cljs.core.to_array(result),(0));\n\nreturn rdr;\n} else {\nreturn cljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"Spliced form list in read-cond-splicing must implement ISequential\"], 0));\n}\n} else {\nreturn result;\n}\n}\n});\ncljs.tools.reader.read_cond = (function cljs$tools$reader$read_cond(rdr,_,opts,pending_forms){\nif(cljs.core.not((function (){var and__4115__auto__ = opts;\nif(cljs.core.truth_(and__4115__auto__)){\nvar G__42695 = new cljs.core.Keyword(null,\"read-cond\",\"read-cond\",1056899244).cljs$core$IFn$_invoke$arity$1(opts);\nvar fexpr__42694 = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,\"preserve\",\"preserve\",1276846509),null,new cljs.core.Keyword(null,\"allow\",\"allow\",-1857325745),null], null), null);\nreturn (fexpr__42694.cljs$core$IFn$_invoke$arity$1 ? fexpr__42694.cljs$core$IFn$_invoke$arity$1(G__42695) : fexpr__42694.call(null,G__42695));\n} else {\nreturn and__4115__auto__;\n}\n})())){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\"Conditional read not allowed\",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"type\",\"type\",1174270348),new cljs.core.Keyword(null,\"runtime-exception\",\"runtime-exception\",-1495664514)], null));\n} else {\n}\n\nvar temp__5733__auto__ = rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null);\nif(cljs.core.truth_(temp__5733__auto__)){\nvar ch = temp__5733__auto__;\nvar splicing = cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(ch,\"@\");\nvar ch__$1 = ((splicing)?rdr.cljs$tools$reader$reader_types$Reader$read_char$arity$1(null):ch);\nif(splicing){\nif(cljs.core.truth_(cljs.tools.reader._STAR_read_delim_STAR_)){\n} else {\ncljs.tools.reader.impl.errors.reader_error.cljs$core$IFn$_invoke$arity$variadic(rdr,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([\"cond-splice not in list\"], 0));\n}\n} else {\n}\n\nvar temp__5733__auto____$1 = ((cljs.tools.reader.impl.utils.whitespace_QMARK_(ch__$1))?cljs.tools.reader.impl.commons.read_past(cljs.tools.reader.impl.utils.whitespace_QMARK_,rdr):ch__$1);\nif(cljs.core.truth_(temp__5733__auto____$1)){\nvar ch__$2 = temp__5733__auto____$1;\nif(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(ch__$2,\"(\")){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\"read-cond body must be a list\",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"type\",\"type\",1174270348),new cljs.core.Keyword(null,\"runtime-exception\",\"runtime-exception\",-1495664514)], null));\n} else {\nvar _STAR_suppress_read_STAR__orig_val__42704 = cljs.tools.reader._STAR_suppress_read_STAR_;\nvar _STAR_suppress_read_STAR__temp_val__42705 = (function (){var or__4126__auto__ = cljs.tools.reader._STAR_suppress_read_STAR_;\nif(cljs.core.truth_(or__4126__auto__)){\nreturn or__4126__auto__;\n} else {\nreturn cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword(null,\"preserve\",\"preserve\",1276846509),new cljs.core.Keyword(null,\"read-cond\",\"read-cond\",1056899244).cljs$core$IFn$_invoke$arity$1(opts));\n}\n})();\n(cljs.tools.reader._STAR_suppress_read_STAR_ = _STAR_suppress_read_STAR__temp_val__42705);\n\ntry{if(cljs.core.truth_(cljs.tools.reader._STAR_suppress_read_STAR_)){\nreturn cljs.tools.reader.impl.utils.reader_conditional(cljs.tools.reader.read_list(rdr,ch__$2,opts,pending_forms),splicing);\n} else {\nreturn cljs.tools.reader.read_cond_delimited(rdr,splicing,opts,pending_forms);\n}\n}finally {(cljs.tools.reader._STAR_suppress_read_STAR_ = _STAR_suppress_read_STAR__orig_val__42704);\n}}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n} else {\nreturn cljs.tools.reader.impl.errors.throw_eof_in_character(rdr);\n}\n});\ncljs.tools.reader.arg_env = null;\n/**\n * Get a symbol for an anonymous ?argument?\n */\ncljs.tools.reader.garg = (function cljs$tools$reader$garg(n){\nreturn cljs.core.symbol.cljs$core$IFn$_invoke$arity$1([((((-1) === n))?\"rest\":[\"p\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(n)].join('')),\"__\",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.tools.reader.impl.utils.next_id()),\"#\"].join(''));\n});\ncljs.tools.reader.read_fn = (function cljs$tools$reader$read_fn(rdr,_,opts,pending_forms){\nif(cljs.core.truth_(cljs.tools.reader.arg_env)){\nthrow cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2(\"Nested #()s are not allowed\",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,\"type\",\"type\",1174270348),new cljs.core.Keyword(null,\"illegal-state\",\"illegal-state\",-1519851182)], null));\n} else {\n}\n\nvar arg_env_orig_val__42725 = cljs.tools.reader.arg_env;\nvar arg_env_temp_val__42726 = cljs.core.sorted_map();\n(cljs.tools.reader.arg_env = arg_env_temp_val__42726);\n\ntry{var form = (function (){var G__42731 = (function (){var G__42737 = rdr;\ncljs.tools.reader.reader_types.unread(G__42737,\"(\");\n\nreturn G__42737;\n})();\nvar G__42732 = true;\nvar G__42733 = null;\nvar G__42734 = opts;\nvar G__42735 = pending_forms;\nreturn (cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5 ? cljs.tools.reader.read_STAR_.cljs$core$IFn$_invoke$arity$5(G__42731,G__42732,G__42733,G__42734,G__42735) : cljs.tools.reader.read_STAR_.call(null,G__42731,G__42732,G__42733,G__42734,G__42735));\n})();\nvar rargs = cljs.core.rseq(cljs.tools.reader.arg_env);\nvar args = ((rargs)?(function (){var higharg = cljs.core.key(cljs.core.first(rargs));\nvar args = (function (){var i = (1);\nvar args = cljs.core.transient$(cljs.core.PersistentVector.EMPTY);\nwhile(true){\nif((i > higharg)){\nreturn cljs.core.persistent_BANG_(args);\n} else {\nvar G__43316 = (i + (1));\nvar G__43317 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(args,(function (){var or__4126__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(cljs.tools.reader.arg_env,i);\nif(cljs.core.truth_(or__4126__auto__)){\nreturn or__4126__auto__;\n} else {\nreturn cljs.tools.reader.garg(i);\n}\n})());\ni = G__43316;\nargs = G__43317;\ncontinue;\n}\nbreak;\n}\n})();\nvar args__$1 = (cljs.core.truth_(cljs.tools.reader.arg_env.call(null,(-1)))?cljs.core.conj.cljs$core$IFn$_invoke$arity$variadic(args,new cljs.core.Symbol(null,\"&\",\"&\",-2144855648,null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.tools.reader.arg_env.call(null,(-1))], 0)):args);\nreturn args__$1;\n})():cljs.core.PersistentVector.EMPTY);\nreturn (new cljs.core.List(null,new cljs.core.Symbol(null,\"fn*\",\"fn*\",-752876845,null),(new cljs.core.List(null,args,(new cljs.core.List(null,form,null,(1),null)),(2),null)),(3),null));\n}finally {(cljs.tools.reader.arg_env = arg_env_orig_val__42725);\n}});\n/**\n * Registers an argument to the arg-env\n */\ncljs.tools.reader.register_arg = (function cljs$tools$reader$register_arg(n){\nif(cljs.core.truth_(cljs.tools.reader.arg_env)){\nvar temp__5733__auto__ = cljs.tools.reader.arg_env.call(null,n);\nif(cljs.core.truth_(temp__5733__auto__)){\nvar ret = temp__5733__auto__;\nreturn ret;\n} else {\nvar g = cljs.tools.reade